@svelstack/translator 0.9.3 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +11 -2
- package/package.json +1 -1
- package/src/types.d.ts +19 -0
package/dist/index.js
CHANGED
|
@@ -362,6 +362,7 @@ var Translator = class {
|
|
|
362
362
|
if (this._language !== val) {
|
|
363
363
|
await this.load(val);
|
|
364
364
|
this._language = val;
|
|
365
|
+
this.changed();
|
|
365
366
|
}
|
|
366
367
|
}
|
|
367
368
|
/**
|
|
@@ -402,6 +403,9 @@ var Translator = class {
|
|
|
402
403
|
parameters
|
|
403
404
|
});
|
|
404
405
|
}
|
|
406
|
+
transMessage(message) {
|
|
407
|
+
return this.trans(message.domain, message.key, message.parameters);
|
|
408
|
+
}
|
|
405
409
|
/**
|
|
406
410
|
* Loads translations for a specified language.
|
|
407
411
|
* @private
|
|
@@ -417,7 +421,6 @@ var Translator = class {
|
|
|
417
421
|
} else {
|
|
418
422
|
this.translations = dictionary;
|
|
419
423
|
}
|
|
420
|
-
this.changed();
|
|
421
424
|
}
|
|
422
425
|
/**
|
|
423
426
|
* Determines the appropriate language to use.
|
|
@@ -435,9 +438,15 @@ var Translator = class {
|
|
|
435
438
|
changed() {
|
|
436
439
|
}
|
|
437
440
|
};
|
|
441
|
+
function createTranslatableMessageFactory() {
|
|
442
|
+
return (domain, key, parameters) => {
|
|
443
|
+
return { domain, key, parameters };
|
|
444
|
+
};
|
|
445
|
+
}
|
|
438
446
|
export {
|
|
439
447
|
ChainMessageFormatter,
|
|
440
448
|
ParameterMessageFormatter,
|
|
441
449
|
PluralMessageFormatter,
|
|
442
|
-
Translator
|
|
450
|
+
Translator,
|
|
451
|
+
createTranslatableMessageFactory
|
|
443
452
|
};
|
package/package.json
CHANGED
package/src/types.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ export class Translator {
|
|
|
27
27
|
|
|
28
28
|
trans(domain: string, key: string, parameters?: Record<string, string|number>): string;
|
|
29
29
|
|
|
30
|
+
transMessage(message: TranslatableMessage): string;
|
|
31
|
+
|
|
30
32
|
protected changed(): void;
|
|
31
33
|
}
|
|
32
34
|
|
|
@@ -40,6 +42,23 @@ export interface TypesafeTranslator<Mapping extends Record<string, Record<string
|
|
|
40
42
|
|
|
41
43
|
}
|
|
42
44
|
|
|
45
|
+
export type TranslatableMessage = {
|
|
46
|
+
domain: string;
|
|
47
|
+
key: string;
|
|
48
|
+
parameters?: Record<string, string|number>;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export function createTranslatableMessageFactory<Mapping extends Record<string, Record<string, string>>>(): <
|
|
52
|
+
Domain extends keyof Mapping,
|
|
53
|
+
Key extends keyof Mapping[Domain]
|
|
54
|
+
>(
|
|
55
|
+
domain: Domain,
|
|
56
|
+
key: Key,
|
|
57
|
+
...rest: Mapping[Domain][Key] extends never
|
|
58
|
+
? [parameters?: undefined]
|
|
59
|
+
: [parameters: Record<Mapping[Domain][Key], string>]
|
|
60
|
+
) => { domain: Domain, key: Key, parameters: Mapping[Domain][Key] extends never ? undefined : Record<Mapping[Domain][Key], string> };
|
|
61
|
+
|
|
43
62
|
export interface MessageFormatter {
|
|
44
63
|
|
|
45
64
|
format(message: string, options: MessageFormatterOptions): string;
|