@svelstack/translator 0.9.2 → 0.9.4
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 +10 -1
- package/package.json +1 -1
- package/src/types.d.ts +21 -0
package/dist/index.js
CHANGED
|
@@ -402,6 +402,9 @@ var Translator = class {
|
|
|
402
402
|
parameters
|
|
403
403
|
});
|
|
404
404
|
}
|
|
405
|
+
transMessage(message) {
|
|
406
|
+
return this.trans(message.domain, message.key, message.parameters);
|
|
407
|
+
}
|
|
405
408
|
/**
|
|
406
409
|
* Loads translations for a specified language.
|
|
407
410
|
* @private
|
|
@@ -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;
|
|
@@ -70,6 +89,8 @@ export class PluralMessageFormatter implements MessageFormatter {
|
|
|
70
89
|
|
|
71
90
|
export class ParameterMessageFormatter implements MessageFormatter {
|
|
72
91
|
|
|
92
|
+
constructor(settings: { parameterPlaceholder: { start: string; end: string } });
|
|
93
|
+
|
|
73
94
|
format(message: string, options: MessageFormatterOptions): string;
|
|
74
95
|
|
|
75
96
|
}
|