@digitaldefiance/i18n-lib 1.3.13 → 1.3.14
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/README.md +4 -0
- package/package.json +4 -3
- package/src/active-context.d.ts +30 -0
- package/src/active-context.d.ts.map +1 -0
- package/src/active-context.js +3 -0
- package/src/active-context.js.map +1 -0
- package/src/component-definition.d.ts +12 -0
- package/src/component-definition.d.ts.map +1 -0
- package/src/component-definition.js +3 -0
- package/src/component-definition.js.map +1 -0
- package/src/component-registration.d.ts +10 -0
- package/src/component-registration.d.ts.map +1 -0
- package/src/component-registration.js +3 -0
- package/src/component-registration.js.map +1 -0
- package/src/component-registry.d.ts +69 -0
- package/src/component-registry.d.ts.map +1 -0
- package/src/component-registry.js +248 -0
- package/src/component-registry.js.map +1 -0
- package/src/context-error-type.d.ts +4 -0
- package/src/context-error-type.d.ts.map +1 -0
- package/src/context-error-type.js +8 -0
- package/src/context-error-type.js.map +1 -0
- package/src/context-error.d.ts +7 -0
- package/src/context-error.d.ts.map +1 -0
- package/src/context-error.js +18 -0
- package/src/context-error.js.map +1 -0
- package/src/context-manager.d.ts +34 -0
- package/src/context-manager.d.ts.map +1 -0
- package/src/context-manager.js +60 -0
- package/src/context-manager.js.map +1 -0
- package/src/context.d.ts +45 -0
- package/src/context.d.ts.map +1 -0
- package/src/context.js +70 -0
- package/src/context.js.map +1 -0
- package/src/core-i18n.d.ts +63 -0
- package/src/core-i18n.d.ts.map +1 -0
- package/src/core-i18n.js +478 -0
- package/src/core-i18n.js.map +1 -0
- package/src/core-string-key.d.ts +43 -0
- package/src/core-string-key.d.ts.map +1 -0
- package/src/core-string-key.js +51 -0
- package/src/core-string-key.js.map +1 -0
- package/src/create-translation-adapter.d.ts +21 -0
- package/src/create-translation-adapter.d.ts.map +1 -0
- package/src/create-translation-adapter.js +37 -0
- package/src/create-translation-adapter.js.map +1 -0
- package/src/currency-code.d.ts +20 -0
- package/src/currency-code.d.ts.map +1 -0
- package/src/currency-code.js +37 -0
- package/src/currency-code.js.map +1 -0
- package/src/{currency-format.ts → currency-format.d.ts} +5 -5
- package/src/currency-format.d.ts.map +1 -0
- package/src/currency-format.js +3 -0
- package/src/currency-format.js.map +1 -0
- package/src/currency.d.ts +12 -0
- package/src/currency.d.ts.map +1 -0
- package/src/currency.js +49 -0
- package/src/currency.js.map +1 -0
- package/src/default-config.d.ts +33 -0
- package/src/default-config.d.ts.map +1 -0
- package/src/default-config.js +102 -0
- package/src/default-config.js.map +1 -0
- package/src/enum-registry.d.ts +45 -0
- package/src/enum-registry.d.ts.map +1 -0
- package/src/enum-registry.js +103 -0
- package/src/enum-registry.js.map +1 -0
- package/src/global-active-context.d.ts +51 -0
- package/src/global-active-context.d.ts.map +1 -0
- package/src/global-active-context.js +179 -0
- package/src/global-active-context.js.map +1 -0
- package/src/handleable.d.ts +14 -0
- package/src/handleable.d.ts.map +1 -0
- package/src/handleable.js +66 -0
- package/src/handleable.js.map +1 -0
- package/src/i-global-active-context.d.ts +23 -0
- package/src/i-global-active-context.d.ts.map +1 -0
- package/src/i-global-active-context.js +3 -0
- package/src/i-global-active-context.js.map +1 -0
- package/src/i-handleable-error-options.d.ts +7 -0
- package/src/i-handleable-error-options.d.ts.map +1 -0
- package/src/i-handleable-error-options.js +3 -0
- package/src/i-handleable-error-options.js.map +1 -0
- package/src/i-handleable.d.ts +6 -0
- package/src/i-handleable.d.ts.map +1 -0
- package/src/i-handleable.js +3 -0
- package/src/i-handleable.js.map +1 -0
- package/src/i18n-config.d.ts +21 -0
- package/src/i18n-config.d.ts.map +1 -0
- package/src/i18n-config.js +3 -0
- package/src/i18n-config.js.map +1 -0
- package/src/{i18n-context.ts → i18n-context.d.ts} +7 -7
- package/src/i18n-context.d.ts.map +1 -0
- package/src/i18n-context.js +3 -0
- package/src/i18n-context.js.map +1 -0
- package/src/i18n-engine.d.ts +179 -0
- package/src/i18n-engine.d.ts.map +1 -0
- package/src/i18n-engine.js +355 -0
- package/src/i18n-engine.js.map +1 -0
- package/src/{index.ts → index.d.ts} +2 -10
- package/src/index.d.ts.map +1 -0
- package/src/index.js +71 -0
- package/src/index.js.map +1 -0
- package/src/{language-codes.ts → language-codes.d.ts} +12 -23
- package/src/language-codes.d.ts.map +1 -0
- package/src/language-codes.js +32 -0
- package/src/language-codes.js.map +1 -0
- package/src/language-definition.d.ts +14 -0
- package/src/language-definition.d.ts.map +1 -0
- package/src/language-definition.js +3 -0
- package/src/language-definition.js.map +1 -0
- package/src/language-registry.d.ts +114 -0
- package/src/language-registry.d.ts.map +1 -0
- package/src/language-registry.js +217 -0
- package/src/language-registry.js.map +1 -0
- package/src/plugin-i18n-engine.d.ts +147 -0
- package/src/plugin-i18n-engine.d.ts.map +1 -0
- package/src/plugin-i18n-engine.js +369 -0
- package/src/plugin-i18n-engine.js.map +1 -0
- package/src/plugin-translatable-generic-error.d.ts +30 -0
- package/src/plugin-translatable-generic-error.d.ts.map +1 -0
- package/src/plugin-translatable-generic-error.js +72 -0
- package/src/plugin-translatable-generic-error.js.map +1 -0
- package/src/plugin-translatable-handleable-generic.d.ts +29 -0
- package/src/plugin-translatable-handleable-generic.d.ts.map +1 -0
- package/src/plugin-translatable-handleable-generic.js +44 -0
- package/src/plugin-translatable-handleable-generic.js.map +1 -0
- package/src/plugin-typed-handleable.d.ts +15 -0
- package/src/plugin-typed-handleable.d.ts.map +1 -0
- package/src/plugin-typed-handleable.js +51 -0
- package/src/plugin-typed-handleable.js.map +1 -0
- package/src/registry-config.d.ts +15 -0
- package/src/registry-config.d.ts.map +1 -0
- package/src/registry-config.js +3 -0
- package/src/registry-config.js.map +1 -0
- package/src/registry-error-type.d.ts +13 -0
- package/src/registry-error-type.d.ts.map +1 -0
- package/src/registry-error-type.js +17 -0
- package/src/registry-error-type.js.map +1 -0
- package/src/registry-error.d.ts +19 -0
- package/src/registry-error.d.ts.map +1 -0
- package/src/registry-error.js +48 -0
- package/src/registry-error.js.map +1 -0
- package/src/strict-types.d.ts +19 -0
- package/src/strict-types.d.ts.map +1 -0
- package/src/strict-types.js +18 -0
- package/src/strict-types.js.map +1 -0
- package/src/template.d.ts +13 -0
- package/src/template.d.ts.map +1 -0
- package/src/template.js +31 -0
- package/src/template.js.map +1 -0
- package/src/timezone.d.ts +12 -0
- package/src/timezone.d.ts.map +1 -0
- package/src/timezone.js +24 -0
- package/src/timezone.js.map +1 -0
- package/src/translatable.d.ts +6 -0
- package/src/translatable.d.ts.map +1 -0
- package/src/translatable.js +12 -0
- package/src/translatable.js.map +1 -0
- package/src/translation-engine.d.ts +9 -0
- package/src/translation-engine.d.ts.map +1 -0
- package/src/translation-engine.js +3 -0
- package/src/translation-engine.js.map +1 -0
- package/src/translation-request.d.ts +10 -0
- package/src/translation-request.d.ts.map +1 -0
- package/src/translation-request.js +3 -0
- package/src/translation-request.js.map +1 -0
- package/src/translation-response.d.ts +9 -0
- package/src/translation-response.d.ts.map +1 -0
- package/src/translation-response.js +3 -0
- package/src/translation-response.js.map +1 -0
- package/src/typed-error.d.ts +73 -0
- package/src/typed-error.d.ts.map +1 -0
- package/src/typed-error.js +267 -0
- package/src/typed-error.js.map +1 -0
- package/src/typed-handleable.d.ts +15 -0
- package/src/typed-handleable.d.ts.map +1 -0
- package/src/typed-handleable.js +46 -0
- package/src/typed-handleable.js.map +1 -0
- package/src/{types.ts → types.d.ts} +21 -75
- package/src/types.d.ts.map +1 -0
- package/src/types.js +19 -0
- package/src/types.js.map +1 -0
- package/src/unified-translator.d.ts +31 -0
- package/src/unified-translator.d.ts.map +1 -0
- package/src/unified-translator.js +71 -0
- package/src/unified-translator.js.map +1 -0
- package/src/utils.d.ts +65 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +129 -0
- package/src/utils.js.map +1 -0
- package/src/validation-config.d.ts +12 -0
- package/src/validation-config.d.ts.map +1 -0
- package/src/validation-config.js +3 -0
- package/src/validation-config.js.map +1 -0
- package/src/validation-result.d.ts +13 -0
- package/src/validation-result.d.ts.map +1 -0
- package/src/validation-result.js +3 -0
- package/src/validation-result.js.map +1 -0
- package/LICENSE +0 -21
- package/src/active-context.ts +0 -30
- package/src/component-definition.ts +0 -11
- package/src/component-registration.ts +0 -13
- package/src/component-registry.ts +0 -392
- package/src/context-error-type.ts +0 -3
- package/src/context-error.ts +0 -16
- package/src/context-manager.ts +0 -71
- package/src/context.ts +0 -90
- package/src/core-i18n.ts +0 -609
- package/src/core-string-key.ts +0 -49
- package/src/create-translation-adapter.ts +0 -47
- package/src/currency-code.ts +0 -35
- package/src/currency.ts +0 -52
- package/src/default-config.ts +0 -199
- package/src/enum-registry.ts +0 -138
- package/src/global-active-context.ts +0 -255
- package/src/handleable.ts +0 -79
- package/src/i-global-active-context.ts +0 -59
- package/src/i-handleable-error-options.ts +0 -6
- package/src/i-handleable.ts +0 -5
- package/src/i18n-config.ts +0 -29
- package/src/i18n-engine.ts +0 -491
- package/src/language-definition.ts +0 -13
- package/src/language-registry.ts +0 -292
- package/src/plugin-i18n-engine.ts +0 -520
- package/src/plugin-translatable-generic-error.ts +0 -106
- package/src/plugin-translatable-handleable-generic.ts +0 -60
- package/src/plugin-typed-handleable.ts +0 -77
- package/src/registry-config.ts +0 -15
- package/src/registry-error-type.ts +0 -12
- package/src/registry-error.ts +0 -74
- package/src/strict-types.ts +0 -35
- package/src/template.ts +0 -63
- package/src/timezone.ts +0 -20
- package/src/translatable.ts +0 -15
- package/src/translation-engine.ts +0 -8
- package/src/translation-request.ts +0 -12
- package/src/translation-response.ts +0 -8
- package/src/typed-error.ts +0 -384
- package/src/typed-handleable.ts +0 -70
- package/src/unified-translator.ts +0 -96
- package/src/utils.ts +0 -213
- package/src/validation-config.ts +0 -11
- package/src/validation-result.ts +0 -12
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PluginI18nEngine } from './plugin-i18n-engine';
|
|
2
|
+
import { TranslationEngine } from './translation-engine';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a TranslationEngine adapter from a PluginI18nEngine for a specific component.
|
|
5
|
+
* This allows PluginI18nEngine to be used where TranslationEngine interface is expected.
|
|
6
|
+
*
|
|
7
|
+
* @param pluginEngine - The PluginI18nEngine instance to wrap
|
|
8
|
+
* @param componentId - The component ID to use for translations
|
|
9
|
+
* @returns A TranslationEngine that delegates to the PluginI18nEngine
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const pluginEngine = getMyPluginI18nEngine();
|
|
14
|
+
* const adapter = createTranslationAdapter(pluginEngine, 'my-component');
|
|
15
|
+
*
|
|
16
|
+
* // Now can be used where TranslationEngine is expected
|
|
17
|
+
* const error = new MyError(errorType, adapter);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function createTranslationAdapter<TStringKey extends string, TLanguage extends string>(pluginEngine: PluginI18nEngine<TLanguage>, componentId: string): TranslationEngine<TStringKey>;
|
|
21
|
+
//# sourceMappingURL=create-translation-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-translation-adapter.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/create-translation-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,EAC1F,YAAY,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACzC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,UAAU,CAAC,CAuB/B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTranslationAdapter = createTranslationAdapter;
|
|
4
|
+
/**
|
|
5
|
+
* Creates a TranslationEngine adapter from a PluginI18nEngine for a specific component.
|
|
6
|
+
* This allows PluginI18nEngine to be used where TranslationEngine interface is expected.
|
|
7
|
+
*
|
|
8
|
+
* @param pluginEngine - The PluginI18nEngine instance to wrap
|
|
9
|
+
* @param componentId - The component ID to use for translations
|
|
10
|
+
* @returns A TranslationEngine that delegates to the PluginI18nEngine
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const pluginEngine = getMyPluginI18nEngine();
|
|
15
|
+
* const adapter = createTranslationAdapter(pluginEngine, 'my-component');
|
|
16
|
+
*
|
|
17
|
+
* // Now can be used where TranslationEngine is expected
|
|
18
|
+
* const error = new MyError(errorType, adapter);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
function createTranslationAdapter(pluginEngine, componentId) {
|
|
22
|
+
return {
|
|
23
|
+
translate: (key, vars, lang) => {
|
|
24
|
+
try {
|
|
25
|
+
return pluginEngine.translate(componentId, key, vars, lang);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
// Fallback to key if translation fails
|
|
29
|
+
return String(key);
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
safeTranslate: (key, vars, lang) => {
|
|
33
|
+
return pluginEngine.safeTranslate(componentId, key, vars, lang);
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=create-translation-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-translation-adapter.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/create-translation-adapter.ts"],"names":[],"mappings":";;AAoBA,4DA0BC;AA3CD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,wBAAwB,CACtC,YAAyC,EACzC,WAAmB;IAEnB,OAAO;QACL,SAAS,EAAE,CACT,GAAe,EACf,IAAsC,EACtC,IAAgB,EACR,EAAE;YACV,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uCAAuC;gBACvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,aAAa,EAAE,CACb,GAAe,EACf,IAAsC,EACtC,IAAgB,EACR,EAAE;YACV,OAAO,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class representing a validated currency code.
|
|
3
|
+
*/
|
|
4
|
+
export declare class CurrencyCode {
|
|
5
|
+
private _value;
|
|
6
|
+
/**
|
|
7
|
+
* Gets the currency code value.
|
|
8
|
+
*/
|
|
9
|
+
get value(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Sets the currency code value after validating it.
|
|
12
|
+
*/
|
|
13
|
+
set value(value: string);
|
|
14
|
+
/**
|
|
15
|
+
* Gets the list of all valid currency codes.
|
|
16
|
+
*/
|
|
17
|
+
static get values(): string[];
|
|
18
|
+
constructor(value?: string);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=currency-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency-code.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/currency-code.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA+B;IAC7C;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD;;OAEG;IACH,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAK7B;IAED;;OAEG;IACH,WAAkB,MAAM,IAAI,MAAM,EAAE,CAEnC;gBAEW,KAAK,GAAE,MAA4B;CAGhD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CurrencyCode = void 0;
|
|
4
|
+
const currency_codes_1 = require("currency-codes");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
/**
|
|
7
|
+
* Class representing a validated currency code.
|
|
8
|
+
*/
|
|
9
|
+
class CurrencyCode {
|
|
10
|
+
_value = types_1.DefaultCurrencyCode;
|
|
11
|
+
/**
|
|
12
|
+
* Gets the currency code value.
|
|
13
|
+
*/
|
|
14
|
+
get value() {
|
|
15
|
+
return this._value;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Sets the currency code value after validating it.
|
|
19
|
+
*/
|
|
20
|
+
set value(value) {
|
|
21
|
+
if (!CurrencyCode.values.includes(value)) {
|
|
22
|
+
throw new Error('Invalid currency code');
|
|
23
|
+
}
|
|
24
|
+
this._value = value;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Gets the list of all valid currency codes.
|
|
28
|
+
*/
|
|
29
|
+
static get values() {
|
|
30
|
+
return (0, currency_codes_1.codes)();
|
|
31
|
+
}
|
|
32
|
+
constructor(value = types_1.DefaultCurrencyCode) {
|
|
33
|
+
this.value = value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.CurrencyCode = CurrencyCode;
|
|
37
|
+
//# sourceMappingURL=currency-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency-code.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/currency-code.ts"],"names":[],"mappings":";;;AAAA,mDAAuC;AACvC,mCAA8C;AAE9C;;GAEG;AACH,MAAa,YAAY;IACf,MAAM,GAAW,2BAAmB,CAAC;IAC7C;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD;;OAEG;IACH,IAAW,KAAK,CAAC,KAAa;QAC5B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,IAAA,sBAAK,GAAE,CAAC;IACjB,CAAC;IAED,YAAY,QAAgB,2BAAmB;QAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AA5BD,oCA4BC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { CurrencyPosition } from './types';
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* Represents the format details for a specific currency in a given locale.
|
|
5
4
|
*/
|
|
6
5
|
export interface CurrencyFormat {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
symbol: string;
|
|
7
|
+
position: CurrencyPosition;
|
|
8
|
+
groupSeparator: string;
|
|
9
|
+
decimalSeparator: string;
|
|
11
10
|
}
|
|
11
|
+
//# sourceMappingURL=currency-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency-format.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/currency-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency-format.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/currency-format.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Currency formatting utilities
|
|
3
|
+
*/
|
|
4
|
+
import { CurrencyFormat } from './currency-format';
|
|
5
|
+
/**
|
|
6
|
+
* Get currency format details for a given locale and currency code.
|
|
7
|
+
* @param locale The locale string (e.g., 'en-US')
|
|
8
|
+
* @param currencyCode The ISO 4217 currency code (e.g., 'USD')
|
|
9
|
+
* @returns The currency format details
|
|
10
|
+
*/
|
|
11
|
+
export declare function getCurrencyFormat(locale: string, currencyCode: string): CurrencyFormat;
|
|
12
|
+
//# sourceMappingURL=currency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/currency.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,cAAc,CAmChB"}
|
package/src/currency.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Currency formatting utilities
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getCurrencyFormat = getCurrencyFormat;
|
|
7
|
+
/**
|
|
8
|
+
* Get currency format details for a given locale and currency code.
|
|
9
|
+
* @param locale The locale string (e.g., 'en-US')
|
|
10
|
+
* @param currencyCode The ISO 4217 currency code (e.g., 'USD')
|
|
11
|
+
* @returns The currency format details
|
|
12
|
+
*/
|
|
13
|
+
function getCurrencyFormat(locale, currencyCode) {
|
|
14
|
+
const formatter = new Intl.NumberFormat(locale, {
|
|
15
|
+
style: 'currency',
|
|
16
|
+
currency: currencyCode,
|
|
17
|
+
});
|
|
18
|
+
const parts = formatter.formatToParts(1234567.89);
|
|
19
|
+
const symbol = parts.find((part) => part.type === 'currency')?.value || '';
|
|
20
|
+
const symbolIndex = parts.findIndex((part) => part.type === 'currency');
|
|
21
|
+
const decimalIndex = parts.findIndex((part) => part.type === 'decimal');
|
|
22
|
+
const integerIndex = parts.findIndex((part) => part.type === 'integer');
|
|
23
|
+
let position;
|
|
24
|
+
if (decimalIndex === -1) {
|
|
25
|
+
// No decimal separator
|
|
26
|
+
if (symbolIndex < integerIndex) {
|
|
27
|
+
position = 'prefix';
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
position = 'postfix';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (symbolIndex < decimalIndex && symbolIndex < integerIndex) {
|
|
34
|
+
position = 'prefix';
|
|
35
|
+
}
|
|
36
|
+
else if (symbolIndex > decimalIndex) {
|
|
37
|
+
position = 'postfix';
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
position = 'infix';
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
symbol,
|
|
44
|
+
position,
|
|
45
|
+
groupSeparator: parts.find((part) => part.type === 'group')?.value || ',',
|
|
46
|
+
decimalSeparator: parts.find((part) => part.type === 'decimal')?.value || '.',
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=currency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/currency.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAWH,8CAsCC;AA5CD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,MAAc,EACd,YAAoB;IAEpB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QAC9C,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;IAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAExE,IAAI,QAA0B,CAAC;IAC/B,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,uBAAuB;QACvB,IAAI,WAAW,GAAG,YAAY,EAAE,CAAC;YAC/B,QAAQ,GAAG,QAAQ,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,GAAG,YAAY,IAAI,WAAW,GAAG,YAAY,EAAE,CAAC;QACpE,QAAQ,GAAG,QAAQ,CAAC;IACtB,CAAC;SAAM,IAAI,WAAW,GAAG,YAAY,EAAE,CAAC;QACtC,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ;QACR,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,KAAK,IAAI,GAAG;QACzE,gBAAgB,EACd,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,KAAK,IAAI,GAAG;KAC9D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { I18nContext } from './i18n-context';
|
|
2
|
+
import { I18nEngine } from './i18n-engine';
|
|
3
|
+
import { LanguageCodes } from './language-codes';
|
|
4
|
+
import { Timezone } from './timezone';
|
|
5
|
+
import { LanguageCodeCollection } from './types';
|
|
6
|
+
export declare enum DefaultStringKey {
|
|
7
|
+
Common_Test = "common_test",
|
|
8
|
+
Error_InstanceAlreadyExistsTemplate = "error_instanceAlreadyExistsTemplate",
|
|
9
|
+
Error_InstanceNotFoundTemplate = "error_instanceNotFoundTemplate",
|
|
10
|
+
Error_MissingStringCollectionTemplate = "error_missingStringCollectionTemplate",
|
|
11
|
+
Error_MissingTranslationTemplate = "error_missingTranslationTemplate",
|
|
12
|
+
Error_DefaultLanguageNoCollectionTemplate = "error_defaultLanguageNoCollectionTemplate",
|
|
13
|
+
Error_MissingTranslationKeyTemplate = "error_missingTranslationKeyTemplate"
|
|
14
|
+
}
|
|
15
|
+
export type DefaultLanguageCode = typeof LanguageCodes.EN_US | typeof LanguageCodes.EN_GB | typeof LanguageCodes.FR | typeof LanguageCodes.ES | typeof LanguageCodes.ZH_CN | typeof LanguageCodes.UK;
|
|
16
|
+
export declare const DefaultLanguageCodes: LanguageCodeCollection<DefaultLanguageCode>;
|
|
17
|
+
declare global {
|
|
18
|
+
namespace I18n {
|
|
19
|
+
interface Config {
|
|
20
|
+
StringKey: DefaultStringKey;
|
|
21
|
+
Language: DefaultLanguageCode;
|
|
22
|
+
LanguageCodes: LanguageCodeCollection<DefaultLanguageCode>;
|
|
23
|
+
engine: I18nEngine<I18n.Config['StringKey'], I18n.Config['Language'], Record<any, any>>;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export type StringKey = I18n.Config['StringKey'];
|
|
28
|
+
export type Language = I18n.Config['Language'];
|
|
29
|
+
export type Engine = I18n.Config['engine'];
|
|
30
|
+
export type DefaultLanguageCodesType = I18n.Config['LanguageCodes'];
|
|
31
|
+
export declare const getI18nEngine: () => Engine;
|
|
32
|
+
export declare const getDefaultI18nEngine: <TConstants extends Record<string, any>, TContext extends I18nContext<DefaultLanguageCode>>(constants: TConstants, timezone?: Timezone, adminTimezone?: Timezone) => I18nEngine<DefaultStringKey, DefaultLanguageCode, TConstants, TContext>;
|
|
33
|
+
//# sourceMappingURL=default-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/default-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAEL,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAGjB,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,mCAAmC,wCAAwC;IAC3E,8BAA8B,mCAAmC;IACjE,qCAAqC,0CAA0C;IAC/E,gCAAgC,qCAAqC;IACrE,yCAAyC,8CAA8C;IACvF,mCAAmC,wCAAwC;CAC5E;AAGD,MAAM,MAAM,mBAAmB,GAC3B,OAAO,aAAa,CAAC,KAAK,GAC1B,OAAO,aAAa,CAAC,KAAK,GAC1B,OAAO,aAAa,CAAC,EAAE,GACvB,OAAO,aAAa,CAAC,EAAE,GACvB,OAAO,aAAa,CAAC,KAAK,GAC1B,OAAO,aAAa,CAAC,EAAE,CAAC;AAE5B,eAAO,MAAM,oBAAoB,EAAE,sBAAsB,CAAC,mBAAmB,CAO5E,CAAC;AAGF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,IAAI,CAAC;QACb,UAAU,MAAM;YACd,SAAS,EAAE,gBAAgB,CAAC;YAC5B,QAAQ,EAAE,mBAAmB,CAAC;YAC9B,aAAa,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,EAAE,UAAU,CAChB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EACxB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EACvB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CACjB,CAAC;SACH;KACF;CACF;AAGD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC/C,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC3C,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAGpE,eAAO,MAAM,aAAa,QAAO,MAA4C,CAAC;AAkH9E,eAAO,MAAM,oBAAoB,GAC/B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtC,QAAQ,SAAS,WAAW,CAAC,mBAAmB,CAAC,EAEjD,WAAW,UAAU,EACrB,WAAW,QAAQ,EACnB,gBAAgB,QAAQ,4EAcvB,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDefaultI18nEngine = exports.getI18nEngine = exports.DefaultLanguageCodes = exports.DefaultStringKey = void 0;
|
|
4
|
+
const currency_code_1 = require("./currency-code");
|
|
5
|
+
const i18n_engine_1 = require("./i18n-engine");
|
|
6
|
+
const language_codes_1 = require("./language-codes");
|
|
7
|
+
const timezone_1 = require("./timezone");
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
// Default enum types that can be augmented by consumers
|
|
10
|
+
var DefaultStringKey;
|
|
11
|
+
(function (DefaultStringKey) {
|
|
12
|
+
DefaultStringKey["Common_Test"] = "common_test";
|
|
13
|
+
DefaultStringKey["Error_InstanceAlreadyExistsTemplate"] = "error_instanceAlreadyExistsTemplate";
|
|
14
|
+
DefaultStringKey["Error_InstanceNotFoundTemplate"] = "error_instanceNotFoundTemplate";
|
|
15
|
+
DefaultStringKey["Error_MissingStringCollectionTemplate"] = "error_missingStringCollectionTemplate";
|
|
16
|
+
DefaultStringKey["Error_MissingTranslationTemplate"] = "error_missingTranslationTemplate";
|
|
17
|
+
DefaultStringKey["Error_DefaultLanguageNoCollectionTemplate"] = "error_defaultLanguageNoCollectionTemplate";
|
|
18
|
+
DefaultStringKey["Error_MissingTranslationKeyTemplate"] = "error_missingTranslationKeyTemplate";
|
|
19
|
+
})(DefaultStringKey || (exports.DefaultStringKey = DefaultStringKey = {}));
|
|
20
|
+
exports.DefaultLanguageCodes = {
|
|
21
|
+
[language_codes_1.LanguageCodes.EN_US]: 'en-US',
|
|
22
|
+
[language_codes_1.LanguageCodes.EN_GB]: 'en-GB',
|
|
23
|
+
[language_codes_1.LanguageCodes.FR]: 'fr',
|
|
24
|
+
[language_codes_1.LanguageCodes.ES]: 'es',
|
|
25
|
+
[language_codes_1.LanguageCodes.ZH_CN]: 'zh-CN',
|
|
26
|
+
[language_codes_1.LanguageCodes.UK]: 'uk',
|
|
27
|
+
};
|
|
28
|
+
// Singleton instance that uses the augmented types
|
|
29
|
+
const getI18nEngine = () => i18n_engine_1.I18nEngine.getInstance();
|
|
30
|
+
exports.getI18nEngine = getI18nEngine;
|
|
31
|
+
const getConfig = (constants, timezone, adminTimezone) => ({
|
|
32
|
+
strings: {
|
|
33
|
+
[language_codes_1.LanguageCodes.EN_US]: {
|
|
34
|
+
[DefaultStringKey.Common_Test]: 'Test',
|
|
35
|
+
[DefaultStringKey.Error_InstanceAlreadyExistsTemplate]: "Instance with key '{key}' already exists",
|
|
36
|
+
[DefaultStringKey.Error_InstanceNotFoundTemplate]: "Instance with key '{key}' not found",
|
|
37
|
+
[DefaultStringKey.Error_MissingStringCollectionTemplate]: 'Missing string collection for language: {language}',
|
|
38
|
+
[DefaultStringKey.Error_MissingTranslationTemplate]: "Missing translation for key '{key}' in language '{language}'",
|
|
39
|
+
[DefaultStringKey.Error_DefaultLanguageNoCollectionTemplate]: "Default language '{language}' has no string collection",
|
|
40
|
+
[DefaultStringKey.Error_MissingTranslationKeyTemplate]: 'Missing translation key for type: {type}',
|
|
41
|
+
},
|
|
42
|
+
[language_codes_1.LanguageCodes.EN_GB]: {
|
|
43
|
+
[DefaultStringKey.Common_Test]: 'Test',
|
|
44
|
+
[DefaultStringKey.Error_InstanceAlreadyExistsTemplate]: "Instance with key '{key}' already exists",
|
|
45
|
+
[DefaultStringKey.Error_InstanceNotFoundTemplate]: "Instance with key '{key}' not found",
|
|
46
|
+
[DefaultStringKey.Error_MissingStringCollectionTemplate]: 'Missing string collection for language: {language}',
|
|
47
|
+
[DefaultStringKey.Error_MissingTranslationTemplate]: "Missing translation for key '{key}' in language '{language}'",
|
|
48
|
+
[DefaultStringKey.Error_DefaultLanguageNoCollectionTemplate]: "Default language '{language}' has no string collection",
|
|
49
|
+
[DefaultStringKey.Error_MissingTranslationKeyTemplate]: 'Missing translation key for type: {type}',
|
|
50
|
+
},
|
|
51
|
+
[language_codes_1.LanguageCodes.FR]: {
|
|
52
|
+
[DefaultStringKey.Common_Test]: 'Test',
|
|
53
|
+
[DefaultStringKey.Error_InstanceAlreadyExistsTemplate]: "Instance avec clé '{key}' existe déjà",
|
|
54
|
+
[DefaultStringKey.Error_InstanceNotFoundTemplate]: "Instance avec clé '{key}' introuvable",
|
|
55
|
+
[DefaultStringKey.Error_MissingStringCollectionTemplate]: 'Collection de chaînes manquante pour la langue: {language}',
|
|
56
|
+
[DefaultStringKey.Error_MissingTranslationTemplate]: "Traduction manquante pour la clé '{key}' dans la langue '{language}'",
|
|
57
|
+
[DefaultStringKey.Error_DefaultLanguageNoCollectionTemplate]: "La langue par défaut '{language}' n'a pas de collection de chaînes",
|
|
58
|
+
[DefaultStringKey.Error_MissingTranslationKeyTemplate]: 'Clé de traduction manquante pour le type: {type}',
|
|
59
|
+
},
|
|
60
|
+
[language_codes_1.LanguageCodes.ZH_CN]: {
|
|
61
|
+
[DefaultStringKey.Common_Test]: '测试',
|
|
62
|
+
[DefaultStringKey.Error_InstanceAlreadyExistsTemplate]: "键为'{key}'的实例已存在",
|
|
63
|
+
[DefaultStringKey.Error_InstanceNotFoundTemplate]: "未找到键为'{key}'的实例",
|
|
64
|
+
[DefaultStringKey.Error_MissingStringCollectionTemplate]: '缺少语言的字符串集合: {language}',
|
|
65
|
+
[DefaultStringKey.Error_MissingTranslationTemplate]: "在语言'{language}'中缺少键'{key}'的翻译",
|
|
66
|
+
[DefaultStringKey.Error_DefaultLanguageNoCollectionTemplate]: "默认语言'{language}'没有字符串集合",
|
|
67
|
+
[DefaultStringKey.Error_MissingTranslationKeyTemplate]: '类型缺少翻译键: {type}',
|
|
68
|
+
},
|
|
69
|
+
[language_codes_1.LanguageCodes.ES]: {
|
|
70
|
+
[DefaultStringKey.Common_Test]: 'Prueba',
|
|
71
|
+
[DefaultStringKey.Error_InstanceAlreadyExistsTemplate]: "La instancia con clave '{key}' ya existe",
|
|
72
|
+
[DefaultStringKey.Error_InstanceNotFoundTemplate]: "Instancia con clave '{key}' no encontrada",
|
|
73
|
+
[DefaultStringKey.Error_MissingStringCollectionTemplate]: 'Falta colección de cadenas para el idioma: {language}',
|
|
74
|
+
[DefaultStringKey.Error_MissingTranslationTemplate]: "Falta traducción para la clave '{key}' en el idioma '{language}'",
|
|
75
|
+
[DefaultStringKey.Error_DefaultLanguageNoCollectionTemplate]: "El idioma predeterminado '{language}' no tiene colección de cadenas",
|
|
76
|
+
[DefaultStringKey.Error_MissingTranslationKeyTemplate]: 'Falta clave de traducción para el tipo: {type}',
|
|
77
|
+
},
|
|
78
|
+
[language_codes_1.LanguageCodes.UK]: {
|
|
79
|
+
[DefaultStringKey.Common_Test]: 'Тест',
|
|
80
|
+
[DefaultStringKey.Error_InstanceAlreadyExistsTemplate]: "Екземпляр з ключем '{key}' вже існує",
|
|
81
|
+
[DefaultStringKey.Error_InstanceNotFoundTemplate]: "Екземпляр з ключем '{key}' не знайдено",
|
|
82
|
+
[DefaultStringKey.Error_MissingStringCollectionTemplate]: 'Відсутня колекція рядків для мови: {language}',
|
|
83
|
+
[DefaultStringKey.Error_MissingTranslationTemplate]: "Відсутній переклад для ключа '{key}' в мові '{language}'",
|
|
84
|
+
[DefaultStringKey.Error_DefaultLanguageNoCollectionTemplate]: "Мова за замовчуванням '{language}' не має колекції рядків",
|
|
85
|
+
[DefaultStringKey.Error_MissingTranslationKeyTemplate]: 'Відсутній ключ перекладу для типу: {type}',
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
stringNames: Object.values(DefaultStringKey),
|
|
89
|
+
defaultLanguage: language_codes_1.LanguageCodes.EN_US,
|
|
90
|
+
defaultTranslationContext: 'user',
|
|
91
|
+
defaultCurrencyCode: new currency_code_1.CurrencyCode(types_1.DefaultCurrencyCode),
|
|
92
|
+
languageCodes: exports.DefaultLanguageCodes,
|
|
93
|
+
languages: [language_codes_1.LanguageCodes.EN_US, language_codes_1.LanguageCodes.EN_GB, language_codes_1.LanguageCodes.FR, language_codes_1.LanguageCodes.ES, language_codes_1.LanguageCodes.ZH_CN, language_codes_1.LanguageCodes.UK],
|
|
94
|
+
constants: constants,
|
|
95
|
+
enumName: 'DefaultStringKey',
|
|
96
|
+
enumObj: DefaultStringKey,
|
|
97
|
+
timezone: timezone ?? new timezone_1.Timezone('UTC'),
|
|
98
|
+
adminTimezone: adminTimezone ?? new timezone_1.Timezone('UTC'),
|
|
99
|
+
});
|
|
100
|
+
const getDefaultI18nEngine = (constants, timezone, adminTimezone) => new i18n_engine_1.I18nEngine(getConfig(constants, timezone, adminTimezone), 'user');
|
|
101
|
+
exports.getDefaultI18nEngine = getDefaultI18nEngine;
|
|
102
|
+
//# sourceMappingURL=default-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/default-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { EnumLanguageTranslation } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Registry for managing enum translations across multiple languages.
|
|
4
|
+
*/
|
|
5
|
+
export declare class EnumTranslationRegistry<TStringKey extends string, TLanguage extends string> {
|
|
6
|
+
protected translations: Map<any, Partial<{ [L in TLanguage]: import("./types").EnumTranslation<any>; }>>;
|
|
7
|
+
protected enumNames: WeakMap<any, string>;
|
|
8
|
+
protected availableLanguages: Set<TLanguage>;
|
|
9
|
+
protected translateFn?: (key: TStringKey, vars?: Record<string, any>) => string;
|
|
10
|
+
constructor(availableLanguages: TLanguage[], translateFn?: (key: TStringKey, vars?: Record<string, any>) => string);
|
|
11
|
+
/**
|
|
12
|
+
* Registers an enumeration with its translations and a name.
|
|
13
|
+
* @param enumObj The enumeration object
|
|
14
|
+
* @param translations The translations for the enumeration
|
|
15
|
+
* @param enumName The name of the enumeration
|
|
16
|
+
*/
|
|
17
|
+
register<TEnum extends string | number>(enumObj: Record<string, TEnum>, translations: EnumLanguageTranslation<TEnum, TLanguage>, enumName: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Translates a value from the given enumeration to the specified language.
|
|
20
|
+
* @param enumObj The enumeration object
|
|
21
|
+
* @param value The value to translate
|
|
22
|
+
* @param language The target language for translation
|
|
23
|
+
* @returns The translated string
|
|
24
|
+
*/
|
|
25
|
+
translate<TEnum extends string | number>(enumObj: Record<string, TEnum>, value: TEnum, language: TLanguage): string;
|
|
26
|
+
/**
|
|
27
|
+
* Gets the name of the enumeration.
|
|
28
|
+
* @param enumObj The enumeration object
|
|
29
|
+
* @returns The name of the enumeration
|
|
30
|
+
*/
|
|
31
|
+
private getEnumName;
|
|
32
|
+
/**
|
|
33
|
+
* Checks if the registry has translations for the given enumeration.
|
|
34
|
+
* @param enumObj The enumeration object
|
|
35
|
+
* @returns True if translations exist, false otherwise
|
|
36
|
+
*/
|
|
37
|
+
has(enumObj: any): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Validates that enum translations only contain available languages.
|
|
40
|
+
* @param translations The translations to validate
|
|
41
|
+
* @param enumName The name of the enumeration for error messages
|
|
42
|
+
*/
|
|
43
|
+
private validateTranslations;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=enum-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/enum-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,qBAAa,uBAAuB,CAClC,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM;IAExB,SAAS,CAAC,YAAY,mFAGlB;IACJ,SAAS,CAAC,SAAS,uBAA8B;IACjD,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,WAAW,CAAC,EAAE,CACtB,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACvB,MAAM,CAAC;gBAGV,kBAAkB,EAAE,SAAS,EAAE,EAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM;IAMvE;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,YAAY,EAAE,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,EACvD,QAAQ,EAAE,MAAM,GACf,IAAI;IAMP;;;;;;OAMG;IACI,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,SAAS,GAClB,MAAM;IA2CT;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAgB7B"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnumTranslationRegistry = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Registry for managing enum translations across multiple languages.
|
|
6
|
+
*/
|
|
7
|
+
class EnumTranslationRegistry {
|
|
8
|
+
translations = new Map();
|
|
9
|
+
enumNames = new WeakMap();
|
|
10
|
+
availableLanguages;
|
|
11
|
+
translateFn;
|
|
12
|
+
constructor(availableLanguages, translateFn) {
|
|
13
|
+
this.availableLanguages = new Set(availableLanguages);
|
|
14
|
+
this.translateFn = translateFn;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Registers an enumeration with its translations and a name.
|
|
18
|
+
* @param enumObj The enumeration object
|
|
19
|
+
* @param translations The translations for the enumeration
|
|
20
|
+
* @param enumName The name of the enumeration
|
|
21
|
+
*/
|
|
22
|
+
register(enumObj, translations, enumName) {
|
|
23
|
+
this.validateTranslations(translations, enumName);
|
|
24
|
+
this.translations.set(enumObj, translations);
|
|
25
|
+
this.enumNames.set(enumObj, enumName);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Translates a value from the given enumeration to the specified language.
|
|
29
|
+
* @param enumObj The enumeration object
|
|
30
|
+
* @param value The value to translate
|
|
31
|
+
* @param language The target language for translation
|
|
32
|
+
* @returns The translated string
|
|
33
|
+
*/
|
|
34
|
+
translate(enumObj, value, language) {
|
|
35
|
+
const translations = this.translations.get(enumObj);
|
|
36
|
+
if (!translations) {
|
|
37
|
+
const message = this.translateFn
|
|
38
|
+
? this.translateFn('Error_EnumNotFoundTemplate', {
|
|
39
|
+
enumName: this.getEnumName(enumObj),
|
|
40
|
+
})
|
|
41
|
+
: `No translations found for enum: ${this.getEnumName(enumObj)}`;
|
|
42
|
+
throw new Error(message);
|
|
43
|
+
}
|
|
44
|
+
const langTranslations = translations[language];
|
|
45
|
+
if (!langTranslations) {
|
|
46
|
+
const message = this.translateFn
|
|
47
|
+
? this.translateFn('Error_EnumLanguageNotFoundTemplate', {
|
|
48
|
+
language,
|
|
49
|
+
})
|
|
50
|
+
: `No translations found for language: ${language}`;
|
|
51
|
+
throw new Error(message);
|
|
52
|
+
}
|
|
53
|
+
let result = langTranslations[value];
|
|
54
|
+
if (!result && typeof value === 'number') {
|
|
55
|
+
const stringKey = Object.keys(enumObj).find((key) => enumObj[key] === value);
|
|
56
|
+
if (stringKey) {
|
|
57
|
+
result = langTranslations[stringKey];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (!result) {
|
|
61
|
+
const message = this.translateFn
|
|
62
|
+
? this.translateFn('Error_EnumValueNotFoundTemplate', {
|
|
63
|
+
value: String(value),
|
|
64
|
+
})
|
|
65
|
+
: `No translation found for value: ${String(value)}`;
|
|
66
|
+
throw new Error(message);
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Gets the name of the enumeration.
|
|
72
|
+
* @param enumObj The enumeration object
|
|
73
|
+
* @returns The name of the enumeration
|
|
74
|
+
*/
|
|
75
|
+
getEnumName(enumObj) {
|
|
76
|
+
return this.enumNames.get(enumObj) || 'UnknownEnum';
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Checks if the registry has translations for the given enumeration.
|
|
80
|
+
* @param enumObj The enumeration object
|
|
81
|
+
* @returns True if translations exist, false otherwise
|
|
82
|
+
*/
|
|
83
|
+
has(enumObj) {
|
|
84
|
+
return this.translations.has(enumObj);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Validates that enum translations only contain available languages.
|
|
88
|
+
* @param translations The translations to validate
|
|
89
|
+
* @param enumName The name of the enumeration for error messages
|
|
90
|
+
*/
|
|
91
|
+
validateTranslations(translations, enumName) {
|
|
92
|
+
for (const language of Object.keys(translations)) {
|
|
93
|
+
if (!this.availableLanguages.has(language)) {
|
|
94
|
+
const message = this.translateFn
|
|
95
|
+
? this.translateFn('Error_EnumLanguageNotAvailableTemplate', { language, enumName })
|
|
96
|
+
: `Language '${language}' in enum '${enumName}' is not available in this engine instance`;
|
|
97
|
+
throw new Error(message);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.EnumTranslationRegistry = EnumTranslationRegistry;
|
|
103
|
+
//# sourceMappingURL=enum-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-registry.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/enum-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { IActiveContext } from './active-context';
|
|
2
|
+
import { CurrencyCode } from './currency-code';
|
|
3
|
+
import { DefaultLanguageCode } from './default-config';
|
|
4
|
+
import { IGlobalActiveContext } from './i-global-active-context';
|
|
5
|
+
import { Timezone } from './timezone';
|
|
6
|
+
import { LanguageContextSpace } from './types';
|
|
7
|
+
export declare class GlobalActiveContext<TLanguage extends string, TActiveContext extends IActiveContext<TLanguage>> implements IGlobalActiveContext<TLanguage, TActiveContext> {
|
|
8
|
+
protected static _contextMap: Map<string, IActiveContext<any>>;
|
|
9
|
+
static readonly defaultContextKey = "default";
|
|
10
|
+
static readonly defaultLanguage: DefaultLanguageCode;
|
|
11
|
+
private static _instance;
|
|
12
|
+
static get instance(): GlobalActiveContext<any, any>;
|
|
13
|
+
static getInstance<TLanguage extends string, TActiveContext extends IActiveContext<TLanguage>>(): GlobalActiveContext<TLanguage, TActiveContext>;
|
|
14
|
+
static overrideInstance(instance: GlobalActiveContext<any, any>): void;
|
|
15
|
+
createContext(defaultLanguage: TLanguage, defaultAdminLanguage?: TLanguage, key?: string): TActiveContext;
|
|
16
|
+
getContext(key?: string): TActiveContext;
|
|
17
|
+
get context(): TActiveContext;
|
|
18
|
+
set context(ctx: TActiveContext);
|
|
19
|
+
setUserLanguage(language: TLanguage, key?: string): void;
|
|
20
|
+
get userLanguage(): TLanguage;
|
|
21
|
+
set userLanguage(lang: TLanguage);
|
|
22
|
+
setCurrencyCode(code: CurrencyCode, key?: string): void;
|
|
23
|
+
get currencyCode(): CurrencyCode;
|
|
24
|
+
set currencyCode(code: CurrencyCode);
|
|
25
|
+
/**
|
|
26
|
+
* Sets the admin language for console operations
|
|
27
|
+
* @param language The language to set for admin operations
|
|
28
|
+
*/
|
|
29
|
+
setAdminLanguage(language: TLanguage, key?: string): void;
|
|
30
|
+
get adminLanguage(): TLanguage;
|
|
31
|
+
set adminLanguage(lang: TLanguage);
|
|
32
|
+
/**
|
|
33
|
+
* Sets the language context for the current context
|
|
34
|
+
* @param context The language context to set
|
|
35
|
+
*/
|
|
36
|
+
setLanguageContextSpace(context: LanguageContextSpace, key?: string): void;
|
|
37
|
+
getLanguageContextSpace(key?: string): LanguageContextSpace;
|
|
38
|
+
get languageContextSpace(): LanguageContextSpace;
|
|
39
|
+
set languageContextSpace(context: LanguageContextSpace);
|
|
40
|
+
setUserTimezone(tz: Timezone, key?: string): void;
|
|
41
|
+
get userTimezone(): Timezone;
|
|
42
|
+
set userTimezone(tz: Timezone);
|
|
43
|
+
setAdminTimezone(tz: Timezone, key?: string): void;
|
|
44
|
+
get adminTimezone(): Timezone;
|
|
45
|
+
set adminTimezone(tz: Timezone);
|
|
46
|
+
/**
|
|
47
|
+
* Clear all contexts (useful for testing)
|
|
48
|
+
*/
|
|
49
|
+
static clearAll(): void;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=global-active-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-active-context.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/global-active-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAGL,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,qBAAa,mBAAmB,CAAC,SAAS,SAAS,MAAM,EAAE,cAAc,SAAS,cAAc,CAAC,SAAS,CAAC,CAAE,YAAW,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC;IACrK,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAa;IAC3E,gBAAuB,iBAAiB,aAAa;IACrD,gBAAuB,eAAe,EAAE,mBAAmB,CAAW;IAEtE,OAAO,CAAC,MAAM,CAAC,SAAS,CAA4C;IACpE,WAAkB,QAAQ,IAAI,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAM1D;WACa,WAAW,CAAC,SAAS,SAAS,MAAM,EAAE,cAAc,SAAS,cAAc,CAAC,SAAS,CAAC,KAAK,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC;WAOzI,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAItE,aAAa,CAClB,eAAe,EAAE,SAAS,EAC1B,oBAAoB,GAAE,SAA2B,EACjD,GAAG,GAAE,MAA8C,GAClD,cAAc;IA6BV,UAAU,CACf,GAAG,GAAE,MAA8C,GAClD,cAAc;IAUjB,IAAW,OAAO,IAAI,cAAc,CAInC;IAED,IAAW,OAAO,CAAC,GAAG,EAAE,cAAc,EAKrC;IAEM,eAAe,CACpB,QAAQ,EAAE,SAAS,EACnB,GAAG,GAAE,MAA8C,GAClD,IAAI;IAWP,IAAW,YAAY,IAAI,SAAS,CAEnC;IAED,IAAW,YAAY,CAAC,IAAI,EAAE,SAAS,EAEtC;IAEM,eAAe,CACpB,IAAI,EAAE,YAAY,EAClB,GAAG,GAAE,MAA8C,GAClD,IAAI;IAWP,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED,IAAW,YAAY,CAAC,IAAI,EAAE,YAAY,EAEzC;IAED;;;OAGG;IACI,gBAAgB,CACrB,QAAQ,EAAE,SAAS,EACnB,GAAG,GAAE,MAA8C,GAClD,IAAI;IAWP,IAAW,aAAa,IAAI,SAAS,CAEpC;IAED,IAAW,aAAa,CAAC,IAAI,EAAE,SAAS,EAEvC;IAED;;;OAGG;IACI,uBAAuB,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,GAAG,GAAE,MAA8C,GAClD,IAAI;IAWA,uBAAuB,CAC5B,GAAG,GAAE,MAA8C,GAClD,oBAAoB;IAUvB,IAAW,oBAAoB,IAAI,oBAAoB,CAEtD;IAED,IAAW,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAE5D;IAEM,eAAe,CACpB,EAAE,EAAE,QAAQ,EACZ,GAAG,GAAE,MAA8C,GAClD,IAAI;IAWP,IAAW,YAAY,IAAI,QAAQ,CAElC;IAED,IAAW,YAAY,CAAC,EAAE,EAAE,QAAQ,EAEnC;IAEM,gBAAgB,CACrB,EAAE,EAAE,QAAQ,EACZ,GAAG,GAAE,MAA8C,GAClD,IAAI;IAWP,IAAW,aAAa,IAAI,QAAQ,CAEnC;IAED,IAAW,aAAa,CAAC,EAAE,EAAE,QAAQ,EAEpC;IAED;;OAEG;WACW,QAAQ,IAAI,IAAI;CAI/B"}
|