@digitaldefiance/i18n-lib 3.8.2 → 3.8.3
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/package.json +6 -5
- package/src/{active-context.ts → active-context.d.ts} +1 -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/builders/i18n-builder.d.ts +26 -0
- package/src/builders/i18n-builder.d.ts.map +1 -0
- package/src/builders/i18n-builder.js +70 -0
- package/src/builders/i18n-builder.js.map +1 -0
- package/src/builders/{index.ts → index.d.ts} +1 -1
- package/src/builders/index.d.ts.map +1 -0
- package/src/builders/index.js +8 -0
- package/src/builders/index.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 +22 -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 +102 -0
- package/src/component-registry.d.ts.map +1 -0
- package/src/component-registry.js +282 -0
- package/src/component-registry.js.map +1 -0
- package/src/context-error-type.d.ts +8 -0
- package/src/context-error-type.d.ts.map +1 -0
- package/src/context-error-type.js +12 -0
- package/src/context-error-type.js.map +1 -0
- package/src/core/component-store.d.ts +93 -0
- package/src/core/component-store.d.ts.map +1 -0
- package/src/core/component-store.js +198 -0
- package/src/core/component-store.js.map +1 -0
- package/src/core/context-manager.d.ts +72 -0
- package/src/core/context-manager.d.ts.map +1 -0
- package/src/core/context-manager.js +98 -0
- package/src/core/context-manager.js.map +1 -0
- package/src/core/enum-registry.d.ts +48 -0
- package/src/core/enum-registry.d.ts.map +1 -0
- package/src/core/enum-registry.js +85 -0
- package/src/core/enum-registry.js.map +1 -0
- package/src/core/i18n-engine.d.ts +241 -0
- package/src/core/i18n-engine.d.ts.map +1 -0
- package/src/core/i18n-engine.js +568 -0
- package/src/core/i18n-engine.js.map +1 -0
- package/src/core/{index.ts → index.d.ts} +1 -4
- package/src/core/index.d.ts.map +1 -0
- package/src/core/index.js +21 -0
- package/src/core/index.js.map +1 -0
- package/src/core/language-registry.d.ts +180 -0
- package/src/core/language-registry.d.ts.map +1 -0
- package/src/core/language-registry.js +298 -0
- package/src/core/language-registry.js.map +1 -0
- package/src/{core-component-id.ts → core-component-id.d.ts} +2 -1
- package/src/core-component-id.d.ts.map +1 -0
- package/src/core-component-id.js +9 -0
- package/src/core-component-id.js.map +1 -0
- package/src/core-i18n.d.ts +69 -0
- package/src/core-i18n.d.ts.map +1 -0
- package/src/core-i18n.js +219 -0
- package/src/core-i18n.js.map +1 -0
- package/src/core-plugin-factory.d.ts +28 -0
- package/src/core-plugin-factory.d.ts.map +1 -0
- package/src/core-plugin-factory.js +80 -0
- package/src/core-plugin-factory.js.map +1 -0
- package/src/core-string-key.d.ts +52 -0
- package/src/core-string-key.d.ts.map +1 -0
- package/src/core-string-key.js +61 -0
- package/src/core-string-key.js.map +1 -0
- package/src/create-translation-adapter.d.ts +33 -0
- package/src/create-translation-adapter.d.ts.map +1 -0
- package/src/create-translation-adapter.js +72 -0
- package/src/create-translation-adapter.js.map +1 -0
- package/src/enum-registry.d.ts +65 -0
- package/src/enum-registry.d.ts.map +1 -0
- package/src/enum-registry.js +123 -0
- package/src/enum-registry.js.map +1 -0
- package/src/errors/{base.ts → base.d.ts} +1 -1
- package/src/errors/base.d.ts.map +1 -0
- package/src/errors/base.js +11 -0
- package/src/errors/base.js.map +1 -0
- package/src/errors/context-error.d.ts +50 -0
- package/src/errors/context-error.d.ts.map +1 -0
- package/src/errors/context-error.js +93 -0
- package/src/errors/context-error.js.map +1 -0
- package/src/errors/enhanced-error-base.d.ts +125 -0
- package/src/errors/enhanced-error-base.d.ts.map +1 -0
- package/src/errors/enhanced-error-base.js +165 -0
- package/src/errors/enhanced-error-base.js.map +1 -0
- package/src/errors/handleable.d.ts +83 -0
- package/src/errors/handleable.d.ts.map +1 -0
- package/src/errors/handleable.js +136 -0
- package/src/errors/handleable.js.map +1 -0
- package/src/errors/i18n-error.d.ts +211 -0
- package/src/errors/i18n-error.d.ts.map +1 -0
- package/src/errors/i18n-error.js +358 -0
- package/src/errors/i18n-error.js.map +1 -0
- package/src/errors/{index.ts → index.d.ts} +1 -4
- package/src/errors/index.d.ts.map +1 -0
- package/src/errors/index.js +17 -0
- package/src/errors/index.js.map +1 -0
- package/src/errors/simple-typed-error.d.ts +53 -0
- package/src/errors/simple-typed-error.d.ts.map +1 -0
- package/src/errors/simple-typed-error.js +51 -0
- package/src/errors/simple-typed-error.js.map +1 -0
- package/src/errors/{translatable-exports.ts → translatable-exports.d.ts} +1 -1
- package/src/errors/translatable-exports.d.ts.map +1 -0
- package/src/errors/translatable-exports.js +15 -0
- package/src/errors/translatable-exports.js.map +1 -0
- package/src/errors/translatable-generic.d.ts +87 -0
- package/src/errors/translatable-generic.d.ts.map +1 -0
- package/src/errors/translatable-generic.js +139 -0
- package/src/errors/translatable-generic.js.map +1 -0
- package/src/errors/translatable-handleable-generic.d.ts +116 -0
- package/src/errors/translatable-handleable-generic.d.ts.map +1 -0
- package/src/errors/translatable-handleable-generic.js +121 -0
- package/src/errors/translatable-handleable-generic.js.map +1 -0
- package/src/errors/translatable.d.ts +63 -0
- package/src/errors/translatable.d.ts.map +1 -0
- package/src/errors/translatable.js +85 -0
- package/src/errors/translatable.js.map +1 -0
- package/src/errors/typed-handleable.d.ts +62 -0
- package/src/errors/typed-handleable.d.ts.map +1 -0
- package/src/errors/typed-handleable.js +108 -0
- package/src/errors/typed-handleable.js.map +1 -0
- package/src/errors/typed.d.ts +206 -0
- package/src/errors/typed.d.ts.map +1 -0
- package/src/errors/typed.js +458 -0
- package/src/errors/typed.js.map +1 -0
- package/src/gender/{gender-categories.ts → gender-categories.d.ts} +2 -6
- package/src/gender/gender-categories.d.ts.map +1 -0
- package/src/gender/gender-categories.js +15 -0
- package/src/gender/gender-categories.js.map +1 -0
- package/src/gender/gender-resolver.d.ts +14 -0
- package/src/gender/gender-resolver.d.ts.map +1 -0
- package/src/gender/gender-resolver.js +35 -0
- package/src/gender/gender-resolver.js.map +1 -0
- package/src/gender/{index.ts → index.d.ts} +1 -0
- package/src/gender/index.d.ts.map +1 -0
- package/src/gender/index.js +6 -0
- package/src/gender/index.js.map +1 -0
- package/src/global-active-context.d.ts +50 -0
- package/src/global-active-context.d.ts.map +1 -0
- package/src/global-active-context.js +185 -0
- package/src/global-active-context.js.map +1 -0
- package/src/icu/ast.d.ts +48 -0
- package/src/icu/ast.d.ts.map +1 -0
- package/src/icu/ast.js +16 -0
- package/src/icu/ast.js.map +1 -0
- package/src/icu/compiler.d.ts +16 -0
- package/src/icu/compiler.d.ts.map +1 -0
- package/src/icu/compiler.js +87 -0
- package/src/icu/compiler.js.map +1 -0
- package/src/icu/formatter-registry.d.ts +10 -0
- package/src/icu/formatter-registry.d.ts.map +1 -0
- package/src/icu/formatter-registry.js +34 -0
- package/src/icu/formatter-registry.js.map +1 -0
- package/src/icu/formatters/base-formatter.d.ts +8 -0
- package/src/icu/formatters/base-formatter.d.ts.map +1 -0
- package/src/icu/formatters/base-formatter.js +3 -0
- package/src/icu/formatters/base-formatter.js.map +1 -0
- package/src/icu/formatters/date-formatter.d.ts +5 -0
- package/src/icu/formatters/date-formatter.d.ts.map +1 -0
- package/src/icu/formatters/date-formatter.js +31 -0
- package/src/icu/formatters/date-formatter.js.map +1 -0
- package/src/icu/formatters/number-formatter.d.ts +5 -0
- package/src/icu/formatters/number-formatter.d.ts.map +1 -0
- package/src/icu/formatters/number-formatter.js +33 -0
- package/src/icu/formatters/number-formatter.js.map +1 -0
- package/src/icu/formatters/plural-formatter.d.ts +5 -0
- package/src/icu/formatters/plural-formatter.d.ts.map +1 -0
- package/src/icu/formatters/plural-formatter.js +15 -0
- package/src/icu/formatters/plural-formatter.js.map +1 -0
- package/src/icu/formatters/select-formatter.d.ts +5 -0
- package/src/icu/formatters/select-formatter.d.ts.map +1 -0
- package/src/icu/formatters/select-formatter.js +10 -0
- package/src/icu/formatters/select-formatter.js.map +1 -0
- package/src/icu/formatters/selectordinal-formatter.d.ts +5 -0
- package/src/icu/formatters/selectordinal-formatter.d.ts.map +1 -0
- package/src/icu/formatters/selectordinal-formatter.js +22 -0
- package/src/icu/formatters/selectordinal-formatter.js.map +1 -0
- package/src/icu/formatters/time-formatter.d.ts +5 -0
- package/src/icu/formatters/time-formatter.d.ts.map +1 -0
- package/src/icu/formatters/time-formatter.js +31 -0
- package/src/icu/formatters/time-formatter.js.map +1 -0
- package/src/icu/helpers.d.ts +9 -0
- package/src/icu/helpers.d.ts.map +1 -0
- package/src/icu/helpers.js +31 -0
- package/src/icu/helpers.js.map +1 -0
- package/src/icu/parser.d.ts +31 -0
- package/src/icu/parser.d.ts.map +1 -0
- package/src/icu/parser.js +203 -0
- package/src/icu/parser.js.map +1 -0
- package/src/icu/runtime.d.ts +10 -0
- package/src/icu/runtime.d.ts.map +1 -0
- package/src/icu/runtime.js +33 -0
- package/src/icu/runtime.js.map +1 -0
- package/src/icu/tokenizer.d.ts +37 -0
- package/src/icu/tokenizer.d.ts.map +1 -0
- package/src/icu/tokenizer.js +187 -0
- package/src/icu/tokenizer.js.map +1 -0
- package/src/icu/validator.d.ts +11 -0
- package/src/icu/validator.d.ts.map +1 -0
- package/src/icu/validator.js +140 -0
- package/src/icu/validator.js.map +1 -0
- package/src/{index.ts → index.d.ts} +6 -38
- package/src/index.d.ts.map +1 -0
- package/src/index.js +76 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/active-context.interface.d.ts +36 -0
- package/src/interfaces/active-context.interface.d.ts.map +1 -0
- package/src/interfaces/active-context.interface.js +3 -0
- package/src/interfaces/active-context.interface.js.map +1 -0
- package/src/interfaces/component-config.interface.d.ts +16 -0
- package/src/interfaces/component-config.interface.d.ts.map +1 -0
- package/src/interfaces/component-config.interface.js +6 -0
- package/src/interfaces/component-config.interface.js.map +1 -0
- package/src/interfaces/engine-config.interface.d.ts +22 -0
- package/src/interfaces/engine-config.interface.d.ts.map +1 -0
- package/src/interfaces/engine-config.interface.js +6 -0
- package/src/interfaces/engine-config.interface.js.map +1 -0
- package/src/interfaces/global-active-context.d.ts +23 -0
- package/src/interfaces/global-active-context.d.ts.map +1 -0
- package/src/interfaces/global-active-context.js +3 -0
- package/src/interfaces/global-active-context.js.map +1 -0
- package/src/interfaces/handleable-error-options.d.ts +14 -0
- package/src/interfaces/handleable-error-options.d.ts.map +1 -0
- package/src/interfaces/handleable-error-options.js +3 -0
- package/src/interfaces/handleable-error-options.js.map +1 -0
- package/src/interfaces/handleable.d.ts +21 -0
- package/src/interfaces/handleable.d.ts.map +1 -0
- package/src/interfaces/handleable.js +3 -0
- package/src/interfaces/handleable.js.map +1 -0
- package/src/interfaces/i18n-engine.interface.d.ts +46 -0
- package/src/interfaces/i18n-engine.interface.d.ts.map +1 -0
- package/src/interfaces/i18n-engine.interface.js +6 -0
- package/src/interfaces/i18n-engine.interface.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -1
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +7 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/language-definition.interface.d.ts +17 -0
- package/src/interfaces/language-definition.interface.d.ts.map +1 -0
- package/src/interfaces/language-definition.interface.js +6 -0
- package/src/interfaces/language-definition.interface.js.map +1 -0
- package/src/interfaces/translation-options.interface.d.ts +15 -0
- package/src/interfaces/translation-options.interface.d.ts.map +1 -0
- package/src/interfaces/translation-options.interface.js +6 -0
- package/src/interfaces/translation-options.interface.js.map +1 -0
- package/src/interfaces/validation-result.interface.d.ts +24 -0
- package/src/interfaces/validation-result.interface.d.ts.map +1 -0
- package/src/interfaces/validation-result.interface.js +6 -0
- package/src/interfaces/validation-result.interface.js.map +1 -0
- package/src/language-codes.d.ts +28 -0
- 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/plugin-i18n-engine.d.ts +164 -0
- package/src/plugin-i18n-engine.d.ts.map +1 -0
- package/src/plugin-i18n-engine.js +493 -0
- package/src/plugin-i18n-engine.js.map +1 -0
- package/src/pluralization/{index.ts → index.d.ts} +1 -1
- package/src/pluralization/index.d.ts.map +1 -0
- package/src/pluralization/index.js +10 -0
- package/src/pluralization/index.js.map +1 -0
- package/src/pluralization/language-plural-map.d.ts +29 -0
- package/src/pluralization/language-plural-map.d.ts.map +1 -0
- package/src/pluralization/language-plural-map.js +155 -0
- package/src/pluralization/language-plural-map.js.map +1 -0
- package/src/pluralization/{plural-categories.ts → plural-categories.d.ts} +3 -5
- package/src/pluralization/plural-categories.d.ts.map +1 -0
- package/src/pluralization/plural-categories.js +8 -0
- package/src/pluralization/plural-categories.js.map +1 -0
- package/src/pluralization/plural-rules.d.ts +102 -0
- package/src/pluralization/plural-rules.d.ts.map +1 -0
- package/src/pluralization/plural-rules.js +263 -0
- package/src/pluralization/plural-rules.js.map +1 -0
- package/src/registry-config.d.ts +16 -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 +20 -0
- package/src/registry-error-type.d.ts.map +1 -0
- package/src/registry-error-type.js +24 -0
- package/src/registry-error-type.js.map +1 -0
- package/src/registry-error.d.ts +25 -0
- package/src/registry-error.d.ts.map +1 -0
- package/src/registry-error.js +63 -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/strings/de.d.ts +3 -0
- package/src/strings/de.d.ts.map +1 -0
- package/src/strings/de.js +57 -0
- package/src/strings/de.js.map +1 -0
- package/src/strings/en-GB.d.ts +3 -0
- package/src/strings/en-GB.d.ts.map +1 -0
- package/src/strings/en-GB.js +57 -0
- package/src/strings/en-GB.js.map +1 -0
- package/src/strings/en-US.d.ts +3 -0
- package/src/strings/en-US.d.ts.map +1 -0
- package/src/strings/en-US.js +57 -0
- package/src/strings/en-US.js.map +1 -0
- package/src/strings/es.d.ts +3 -0
- package/src/strings/es.d.ts.map +1 -0
- package/src/strings/es.js +57 -0
- package/src/strings/es.js.map +1 -0
- package/src/strings/fr.d.ts +3 -0
- package/src/strings/fr.d.ts.map +1 -0
- package/src/strings/fr.js +57 -0
- package/src/strings/fr.js.map +1 -0
- package/src/strings/ja.d.ts +3 -0
- package/src/strings/ja.d.ts.map +1 -0
- package/src/strings/ja.js +57 -0
- package/src/strings/ja.js.map +1 -0
- package/src/strings/uk.d.ts +3 -0
- package/src/strings/uk.d.ts.map +1 -0
- package/src/strings/uk.js +57 -0
- package/src/strings/uk.js.map +1 -0
- package/src/strings/zh-CN.d.ts +3 -0
- package/src/strings/zh-CN.d.ts.map +1 -0
- package/src/strings/zh-CN.js +57 -0
- package/src/strings/zh-CN.js.map +1 -0
- package/src/template.d.ts +13 -0
- package/src/template.d.ts.map +1 -0
- package/src/template.js +40 -0
- package/src/template.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/types/engine.d.ts +47 -0
- package/src/types/engine.d.ts.map +1 -0
- package/src/types/engine.js +8 -0
- package/src/types/engine.js.map +1 -0
- package/src/types/{index.ts → index.d.ts} +1 -1
- package/src/types/index.d.ts.map +1 -0
- package/src/types/index.js +9 -0
- package/src/types/index.js.map +1 -0
- package/src/types/{plural-types.ts → plural-types.d.ts} +3 -29
- package/src/types/plural-types.d.ts.map +1 -0
- package/src/types/plural-types.js +39 -0
- package/src/types/plural-types.js.map +1 -0
- package/src/{types.ts → types.d.ts} +21 -72
- package/src/types.d.ts.map +1 -0
- package/src/types.js +23 -0
- package/src/types.js.map +1 -0
- package/src/utils/currency.d.ts +81 -0
- package/src/utils/currency.d.ts.map +1 -0
- package/src/utils/currency.js +99 -0
- package/src/utils/currency.js.map +1 -0
- package/src/utils/html-escape.d.ts +22 -0
- package/src/utils/html-escape.d.ts.map +1 -0
- package/src/utils/html-escape.js +53 -0
- package/src/utils/html-escape.js.map +1 -0
- package/src/utils/{index.ts → index.d.ts} +1 -0
- package/src/utils/index.d.ts.map +1 -0
- package/src/utils/index.js +12 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/lru-cache.d.ts +42 -0
- package/src/utils/lru-cache.d.ts.map +1 -0
- package/src/utils/lru-cache.js +73 -0
- package/src/utils/lru-cache.js.map +1 -0
- package/src/utils/{plural-helpers.ts → plural-helpers.d.ts} +4 -14
- package/src/utils/plural-helpers.d.ts.map +1 -0
- package/src/utils/plural-helpers.js +35 -0
- package/src/utils/plural-helpers.js.map +1 -0
- package/src/utils/safe-object.d.ts +39 -0
- package/src/utils/safe-object.d.ts.map +1 -0
- package/src/utils/{safe-object.ts → safe-object.js} +34 -37
- package/src/utils/safe-object.js.map +1 -0
- package/src/utils/string-utils.d.ts +28 -0
- package/src/utils/string-utils.d.ts.map +1 -0
- package/src/utils/string-utils.js +63 -0
- package/src/utils/string-utils.js.map +1 -0
- package/src/utils/timezone.d.ts +50 -0
- package/src/utils/timezone.d.ts.map +1 -0
- package/src/utils/timezone.js +74 -0
- package/src/utils/timezone.js.map +1 -0
- package/src/utils/validation.d.ts +40 -0
- package/src/utils/validation.d.ts.map +1 -0
- package/src/utils/validation.js +69 -0
- package/src/utils/validation.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/{index.ts → index.d.ts} +1 -0
- package/src/validation/index.d.ts.map +1 -0
- package/src/validation/index.js +5 -0
- package/src/validation/index.js.map +1 -0
- package/src/validation/plural-validator.d.ts +46 -0
- package/src/validation/plural-validator.d.ts.map +1 -0
- package/src/validation/plural-validator.js +123 -0
- package/src/validation/plural-validator.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/builders/i18n-builder.ts +0 -82
- package/src/component-definition.ts +0 -11
- package/src/component-registration.ts +0 -29
- package/src/component-registry.ts +0 -432
- package/src/context-error-type.ts +0 -7
- package/src/core/component-store.ts +0 -241
- package/src/core/context-manager.ts +0 -113
- package/src/core/enum-registry.ts +0 -106
- package/src/core/i18n-engine.ts +0 -710
- package/src/core/language-registry.ts +0 -345
- package/src/core-i18n.ts +0 -270
- package/src/core-plugin-factory.ts +0 -111
- package/src/core-string-key.ts +0 -59
- package/src/create-translation-adapter.ts +0 -93
- package/src/enum-registry.ts +0 -152
- package/src/errors/context-error.ts +0 -122
- package/src/errors/enhanced-error-base.ts +0 -260
- package/src/errors/handleable.ts +0 -152
- package/src/errors/i18n-error.ts +0 -494
- package/src/errors/simple-typed-error.ts +0 -81
- package/src/errors/translatable-generic.ts +0 -245
- package/src/errors/translatable-handleable-generic.ts +0 -222
- package/src/errors/translatable.ts +0 -138
- package/src/errors/typed-handleable.ts +0 -138
- package/src/errors/typed.ts +0 -617
- package/src/gender/gender-resolver.ts +0 -40
- package/src/global-active-context.ts +0 -266
- package/src/icu/ast.ts +0 -56
- package/src/icu/compiler.ts +0 -96
- package/src/icu/formatter-registry.ts +0 -36
- package/src/icu/formatters/base-formatter.ts +0 -8
- package/src/icu/formatters/date-formatter.ts +0 -30
- package/src/icu/formatters/number-formatter.ts +0 -32
- package/src/icu/formatters/plural-formatter.ts +0 -12
- package/src/icu/formatters/select-formatter.ts +0 -7
- package/src/icu/formatters/selectordinal-formatter.ts +0 -17
- package/src/icu/formatters/time-formatter.ts +0 -30
- package/src/icu/helpers.ts +0 -34
- package/src/icu/parser.ts +0 -242
- package/src/icu/runtime.ts +0 -37
- package/src/icu/tokenizer.ts +0 -212
- package/src/icu/validator.ts +0 -163
- package/src/interfaces/active-context.interface.ts +0 -41
- package/src/interfaces/component-config.interface.ts +0 -17
- package/src/interfaces/engine-config.interface.ts +0 -22
- package/src/interfaces/global-active-context.ts +0 -39
- package/src/interfaces/handleable-error-options.ts +0 -13
- package/src/interfaces/handleable.ts +0 -20
- package/src/interfaces/i18n-engine.interface.ts +0 -57
- package/src/interfaces/language-definition.interface.ts +0 -17
- package/src/interfaces/translation-options.interface.ts +0 -15
- package/src/interfaces/validation-result.interface.ts +0 -24
- package/src/language-codes.ts +0 -40
- package/src/language-definition.ts +0 -13
- package/src/plugin-i18n-engine.ts +0 -707
- package/src/pluralization/language-plural-map.ts +0 -186
- package/src/pluralization/plural-rules.ts +0 -228
- package/src/registry-config.ts +0 -16
- package/src/registry-error-type.ts +0 -19
- package/src/registry-error.ts +0 -100
- package/src/strict-types.ts +0 -35
- package/src/strings/de.ts +0 -75
- package/src/strings/en-GB.ts +0 -74
- package/src/strings/en-US.ts +0 -74
- package/src/strings/es.ts +0 -74
- package/src/strings/fr.ts +0 -75
- package/src/strings/ja.ts +0 -73
- package/src/strings/uk.ts +0 -73
- package/src/strings/zh-CN.ts +0 -72
- package/src/template.ts +0 -72
- package/src/translation-engine.ts +0 -18
- package/src/translation-request.ts +0 -12
- package/src/translation-response.ts +0 -8
- package/src/types/engine.ts +0 -55
- package/src/utils/currency.ts +0 -141
- package/src/utils/html-escape.ts +0 -55
- package/src/utils/lru-cache.ts +0 -76
- package/src/utils/string-utils.ts +0 -77
- package/src/utils/timezone.ts +0 -76
- package/src/utils/validation.ts +0 -66
- package/src/utils.ts +0 -215
- package/src/validation/plural-validator.ts +0 -168
- package/src/validation-config.ts +0 -11
- package/src/validation-result.ts +0 -12
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Main I18n Engine (no generics)
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.I18nEngine = void 0;
|
|
7
|
+
const core_component_id_1 = require("../core-component-id");
|
|
8
|
+
const i18n_error_1 = require("../errors/i18n-error");
|
|
9
|
+
const currency_1 = require("../utils/currency");
|
|
10
|
+
const safe_object_1 = require("../utils/safe-object");
|
|
11
|
+
const timezone_1 = require("../utils/timezone");
|
|
12
|
+
const validation_1 = require("../utils/validation");
|
|
13
|
+
const component_store_1 = require("./component-store");
|
|
14
|
+
const context_manager_1 = require("./context-manager");
|
|
15
|
+
const enum_registry_1 = require("./enum-registry");
|
|
16
|
+
const language_registry_1 = require("./language-registry");
|
|
17
|
+
/**
|
|
18
|
+
* I18nEngine implements the II18nEngine interface, providing translation,
|
|
19
|
+
* component registration, enum translation, and context management.
|
|
20
|
+
*/
|
|
21
|
+
class I18nEngine {
|
|
22
|
+
static instances = new Map();
|
|
23
|
+
static defaultKey = null;
|
|
24
|
+
static DEFAULT_KEY = 'default';
|
|
25
|
+
static contextManager = new context_manager_1.ContextManager();
|
|
26
|
+
componentStore;
|
|
27
|
+
enumRegistry;
|
|
28
|
+
instanceKey;
|
|
29
|
+
config;
|
|
30
|
+
aliasToComponent = new Map();
|
|
31
|
+
componentKeyLookup = new Map();
|
|
32
|
+
/**
|
|
33
|
+
* Constructs an I18nEngine instance, registering languages, setting defaults,
|
|
34
|
+
* and optionally registering and setting this instance as default.
|
|
35
|
+
*
|
|
36
|
+
* @param languages - Array of language definitions to register.
|
|
37
|
+
* @param config - Engine configuration options.
|
|
38
|
+
* @param options - Optional creation options.
|
|
39
|
+
* @param options.instanceKey - Key to identify this instance.
|
|
40
|
+
* @param options.registerInstance - Whether to add this instance to the registry.
|
|
41
|
+
* @param options.setAsDefault - Whether to set this instance as the default.
|
|
42
|
+
* @throws {I18nError} If an instance with the same key already exists.
|
|
43
|
+
*/
|
|
44
|
+
constructor(languages, config = {}, options) {
|
|
45
|
+
// Register languages
|
|
46
|
+
for (const lang of languages) {
|
|
47
|
+
if (!language_registry_1.LanguageRegistry.has(lang.id)) {
|
|
48
|
+
language_registry_1.LanguageRegistry.register(lang);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Set defaults
|
|
52
|
+
const defaultLang = languages.find((l) => l.isDefault) || languages[0];
|
|
53
|
+
this.config = {
|
|
54
|
+
defaultLanguage: config.defaultLanguage || defaultLang.id,
|
|
55
|
+
fallbackLanguage: config.fallbackLanguage || defaultLang.id,
|
|
56
|
+
constants: config.constants || {},
|
|
57
|
+
validation: {
|
|
58
|
+
requireCompleteStrings: false,
|
|
59
|
+
allowPartialRegistration: true,
|
|
60
|
+
...config.validation,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
this.componentStore = new component_store_1.ComponentStore(this.config.constants);
|
|
64
|
+
this.enumRegistry = new enum_registry_1.EnumRegistry((key, vars) => this.safeTranslate(core_component_id_1.CoreI18nComponentId, key, vars));
|
|
65
|
+
this.instanceKey = options?.instanceKey || I18nEngine.DEFAULT_KEY;
|
|
66
|
+
// Create context
|
|
67
|
+
I18nEngine.contextManager.create(this.instanceKey, this.config.defaultLanguage);
|
|
68
|
+
// Register instance
|
|
69
|
+
if (options?.registerInstance !== false) {
|
|
70
|
+
if (I18nEngine.instances.has(this.instanceKey)) {
|
|
71
|
+
throw i18n_error_1.I18nError.instanceExists(this.instanceKey);
|
|
72
|
+
}
|
|
73
|
+
I18nEngine.instances.set(this.instanceKey, this);
|
|
74
|
+
if (options?.setAsDefault !== false || !I18nEngine.defaultKey) {
|
|
75
|
+
I18nEngine.defaultKey = this.instanceKey;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Registers a translation component configuration.
|
|
81
|
+
* @param config - Component configuration object.
|
|
82
|
+
* @returns ValidationResult containing any warnings or errors.
|
|
83
|
+
*/
|
|
84
|
+
register(config) {
|
|
85
|
+
(0, validation_1.validateComponentId)(config.id);
|
|
86
|
+
this.registerComponentMetadata(config);
|
|
87
|
+
return this.componentStore.register(config);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Registers a component if not already registered.
|
|
91
|
+
* @param config - Component configuration object.
|
|
92
|
+
* @returns ValidationResult containing any warnings or errors.
|
|
93
|
+
*/
|
|
94
|
+
registerIfNotExists(config) {
|
|
95
|
+
if (this.hasComponent(config.id)) {
|
|
96
|
+
return { isValid: true, errors: [], warnings: [] };
|
|
97
|
+
}
|
|
98
|
+
return this.register(config);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Internal: Builds metadata lookup maps from component config.
|
|
102
|
+
* @param config - Component configuration object.
|
|
103
|
+
*/
|
|
104
|
+
registerComponentMetadata(config) {
|
|
105
|
+
const componentId = config.id;
|
|
106
|
+
const aliases = config.aliases || [];
|
|
107
|
+
// These properties may exist on extended config types
|
|
108
|
+
// Use type-safe property access with index signature
|
|
109
|
+
const configWithOptional = config;
|
|
110
|
+
const enumName = configWithOptional.enumName;
|
|
111
|
+
const enumObject = configWithOptional.enumObject;
|
|
112
|
+
const aliasSet = new Set();
|
|
113
|
+
if (componentId)
|
|
114
|
+
aliasSet.add(componentId);
|
|
115
|
+
if (enumName)
|
|
116
|
+
aliasSet.add(enumName);
|
|
117
|
+
aliases.forEach((alias) => {
|
|
118
|
+
if (alias)
|
|
119
|
+
aliasSet.add(alias);
|
|
120
|
+
});
|
|
121
|
+
aliasSet.forEach((alias) => {
|
|
122
|
+
const trimmed = alias.trim();
|
|
123
|
+
if (trimmed.length > 0) {
|
|
124
|
+
this.aliasToComponent.set(trimmed, componentId);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
if (!this.componentKeyLookup.has(componentId)) {
|
|
128
|
+
this.componentKeyLookup.set(componentId, new Map());
|
|
129
|
+
}
|
|
130
|
+
const keyMap = this.componentKeyLookup.get(componentId);
|
|
131
|
+
const addKeyVariant = (aliasKey, canonicalKey) => {
|
|
132
|
+
if (!aliasKey || !canonicalKey)
|
|
133
|
+
return;
|
|
134
|
+
keyMap.set(aliasKey, canonicalKey);
|
|
135
|
+
const normalized = this.normalizeLegacyKey(aliasKey);
|
|
136
|
+
if (normalized && normalized !== aliasKey) {
|
|
137
|
+
keyMap.set(normalized, canonicalKey);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
// Get string keys from the strings object
|
|
141
|
+
const firstLang = Object.keys(config.strings)[0];
|
|
142
|
+
if (firstLang) {
|
|
143
|
+
Object.keys(config.strings[firstLang]).forEach((key) => {
|
|
144
|
+
addKeyVariant(key, key);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (enumObject) {
|
|
148
|
+
Object.entries(enumObject).forEach(([enumKey, enumValue]) => {
|
|
149
|
+
if (typeof enumValue === 'string') {
|
|
150
|
+
addKeyVariant(enumKey, enumValue);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Internal: Normalizes legacy keys into snake_case lowercased.
|
|
157
|
+
* @param rawKey - The raw key string to normalize.
|
|
158
|
+
* @returns Normalized key or null if empty.
|
|
159
|
+
*/
|
|
160
|
+
normalizeLegacyKey(rawKey) {
|
|
161
|
+
if (!rawKey)
|
|
162
|
+
return null;
|
|
163
|
+
const normalized = rawKey
|
|
164
|
+
.replace(/[-\s]+/g, '_')
|
|
165
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1_$2')
|
|
166
|
+
.replace(/__+/g, '_')
|
|
167
|
+
.toLowerCase();
|
|
168
|
+
return normalized.length > 0 ? normalized : null;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Internal: Resolves the component prefix and key to actual IDs.
|
|
172
|
+
* @param prefix - Component or enum alias.
|
|
173
|
+
* @param rawKey - Raw translation key.
|
|
174
|
+
* @returns Object containing resolved componentId and stringKey.
|
|
175
|
+
*/
|
|
176
|
+
resolveComponentAndKey(prefix, rawKey) {
|
|
177
|
+
const componentId = this.aliasToComponent.get(prefix) ?? prefix;
|
|
178
|
+
const keyLookup = this.componentKeyLookup.get(componentId);
|
|
179
|
+
if (!keyLookup) {
|
|
180
|
+
return { componentId, stringKey: rawKey };
|
|
181
|
+
}
|
|
182
|
+
const directMatch = keyLookup.get(rawKey);
|
|
183
|
+
if (directMatch) {
|
|
184
|
+
return { componentId, stringKey: directMatch };
|
|
185
|
+
}
|
|
186
|
+
const normalized = this.normalizeLegacyKey(rawKey);
|
|
187
|
+
if (normalized) {
|
|
188
|
+
const normalizedMatch = keyLookup.get(normalized);
|
|
189
|
+
if (normalizedMatch) {
|
|
190
|
+
return { componentId, stringKey: normalizedMatch };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return { componentId, stringKey: rawKey };
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Updates translation strings for a component.
|
|
197
|
+
* @param componentId - ID of the component to update.
|
|
198
|
+
* @param strings - Language-keyed string records.
|
|
199
|
+
* @returns ValidationResult containing any warnings or errors.
|
|
200
|
+
*/
|
|
201
|
+
updateStrings(componentId, strings) {
|
|
202
|
+
return this.componentStore.update(componentId, strings);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Checks if a component is registered.
|
|
206
|
+
* @param componentId - ID of the component.
|
|
207
|
+
* @returns True if the component exists.
|
|
208
|
+
*/
|
|
209
|
+
hasComponent(componentId) {
|
|
210
|
+
return this.componentStore.has(componentId);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Retrieves all registered component configs.
|
|
214
|
+
* @returns Array of ComponentConfig.
|
|
215
|
+
*/
|
|
216
|
+
getComponents() {
|
|
217
|
+
return this.componentStore.getAll();
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Translates a key for a component in a given or current language.
|
|
221
|
+
* @param componentId - ID of the component.
|
|
222
|
+
* @param key - Translation key.
|
|
223
|
+
* @param variables - Optional variables for template.
|
|
224
|
+
* @param language - Language code to translate into.
|
|
225
|
+
* @returns Translated string.
|
|
226
|
+
*/
|
|
227
|
+
translate(componentId, key, variables, language) {
|
|
228
|
+
const lang = language ||
|
|
229
|
+
I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
|
|
230
|
+
const combinedVars = this.buildCombinedVariables(variables);
|
|
231
|
+
return this.componentStore.translate(componentId, key, combinedVars, lang);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Safely translates a key, returning a placeholder for missing translations.
|
|
235
|
+
* @param componentId - ID of the component.
|
|
236
|
+
* @param key - Translation key.
|
|
237
|
+
* @param variables - Optional variables for template.
|
|
238
|
+
* @param language - Language code to translate into.
|
|
239
|
+
* @returns Safe translated string.
|
|
240
|
+
*/
|
|
241
|
+
safeTranslate(componentId, key, variables, language) {
|
|
242
|
+
const lang = language ||
|
|
243
|
+
I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
|
|
244
|
+
const combinedVars = this.buildCombinedVariables(variables);
|
|
245
|
+
return this.componentStore.safeTranslate(componentId, key, combinedVars, lang);
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Processes a translation template, replacing component and variable placeholders.
|
|
249
|
+
* @param template - Template string containing {{component.key}} and {variable}.
|
|
250
|
+
* @param variables - Optional variables for substitution.
|
|
251
|
+
* @param language - Language code to translate into.
|
|
252
|
+
* @returns Processed template string.
|
|
253
|
+
* @throws {I18nError} If template length exceeds limits.
|
|
254
|
+
*/
|
|
255
|
+
t(template, variables, language) {
|
|
256
|
+
(0, validation_1.validateTemplateLength)(template);
|
|
257
|
+
const lang = language ||
|
|
258
|
+
I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
|
|
259
|
+
// Build combined variables: constants + context + provided (provided overrides all)
|
|
260
|
+
const combinedVars = this.buildCombinedVariables(variables);
|
|
261
|
+
// Replace {{component.key}} or {{EnumName.key}} patterns with alias support
|
|
262
|
+
// Limited pattern to prevent ReDoS: max 100 chars between braces
|
|
263
|
+
let result = template.replace(/\{\{([^}]{1,100})\}\}/g, (match, pattern) => {
|
|
264
|
+
const parts = pattern.split('.');
|
|
265
|
+
if (parts.length === 2) {
|
|
266
|
+
const [rawPrefix, rawKey] = parts;
|
|
267
|
+
const prefix = rawPrefix.trim();
|
|
268
|
+
const key = rawKey.trim();
|
|
269
|
+
// Always pass combined variables to translations
|
|
270
|
+
// The translation will use them if the string has placeholders
|
|
271
|
+
// Resolve aliases and enum names to actual component IDs
|
|
272
|
+
const { componentId, stringKey } = this.resolveComponentAndKey(prefix, key);
|
|
273
|
+
return this.safeTranslate(componentId, stringKey, combinedVars, lang);
|
|
274
|
+
}
|
|
275
|
+
return match;
|
|
276
|
+
});
|
|
277
|
+
// Replace {variable} patterns with combined variables
|
|
278
|
+
// Limited pattern to prevent ReDoS: max 50 chars for variable names
|
|
279
|
+
result = result.replace(/\{(\w{1,50})\}/g, (match, varName) => {
|
|
280
|
+
return combinedVars[varName] !== undefined
|
|
281
|
+
? String(combinedVars[varName])
|
|
282
|
+
: match;
|
|
283
|
+
});
|
|
284
|
+
return result;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Internal: Combines constants, context, and provided variables for translation.
|
|
288
|
+
* @param variables - Optional overrides for context and constants.
|
|
289
|
+
* @returns Combined variables record.
|
|
290
|
+
*/
|
|
291
|
+
buildCombinedVariables(variables) {
|
|
292
|
+
if (variables) {
|
|
293
|
+
(0, safe_object_1.validateObjectKeys)(variables);
|
|
294
|
+
}
|
|
295
|
+
const combined = (0, safe_object_1.createSafeObject)();
|
|
296
|
+
// 1. Start with constants from config
|
|
297
|
+
if (this.config.constants) {
|
|
298
|
+
// Extract values from any wrapper objects in constants
|
|
299
|
+
for (const [key, value] of Object.entries(this.config.constants)) {
|
|
300
|
+
combined[key] = this.extractValue(value);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
// 2. Add context variables (timezone, currency, language, etc.)
|
|
304
|
+
// GlobalActiveContext is optional and may not be available in all environments
|
|
305
|
+
try {
|
|
306
|
+
// Check if GlobalActiveContext is available in global scope
|
|
307
|
+
const GlobalActiveContext = globalThis.GlobalActiveContext;
|
|
308
|
+
if (GlobalActiveContext &&
|
|
309
|
+
typeof GlobalActiveContext.getInstance === 'function') {
|
|
310
|
+
const context = GlobalActiveContext.getInstance()?.context;
|
|
311
|
+
if (context) {
|
|
312
|
+
// Add context variables
|
|
313
|
+
combined['language'] = context.language;
|
|
314
|
+
combined['adminLanguage'] = context.adminLanguage;
|
|
315
|
+
combined['currentContext'] = context.currentContext;
|
|
316
|
+
if (context.currencyCode) {
|
|
317
|
+
// Extract value from CurrencyCode object
|
|
318
|
+
const currencyValue = this.extractValue(context.currencyCode);
|
|
319
|
+
combined['currencyCode'] = currencyValue;
|
|
320
|
+
combined['currency'] = currencyValue;
|
|
321
|
+
}
|
|
322
|
+
if (context.timezone) {
|
|
323
|
+
// Extract value from Timezone object
|
|
324
|
+
const timezoneValue = this.extractValue(context.timezone);
|
|
325
|
+
combined['timezone'] = timezoneValue;
|
|
326
|
+
combined['userTimezone'] = timezoneValue;
|
|
327
|
+
}
|
|
328
|
+
if (context.adminTimezone) {
|
|
329
|
+
// Extract value from Timezone object
|
|
330
|
+
combined['adminTimezone'] = this.extractValue(context.adminTimezone);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
catch (error) {
|
|
336
|
+
// GlobalActiveContext not available or not initialized - continue without context vars
|
|
337
|
+
}
|
|
338
|
+
// 3. Override with provided variables (highest priority)
|
|
339
|
+
// Also extract values from any CurrencyCode or Timezone objects
|
|
340
|
+
if (variables) {
|
|
341
|
+
for (const [key, value] of Object.entries(variables)) {
|
|
342
|
+
if (!['__proto__', 'constructor', 'prototype'].includes(key)) {
|
|
343
|
+
combined[key] = this.extractValue(value);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
return combined;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Internal: Extracts primitive or object 'value' fields, handling CurrencyCode and Timezone.
|
|
351
|
+
* @param value - Value or wrapper object.
|
|
352
|
+
* @returns Extracted primitive value.
|
|
353
|
+
*/
|
|
354
|
+
extractValue(value) {
|
|
355
|
+
if (value instanceof currency_1.CurrencyCode)
|
|
356
|
+
return value.value;
|
|
357
|
+
if (value instanceof timezone_1.Timezone)
|
|
358
|
+
return value.value;
|
|
359
|
+
if (value &&
|
|
360
|
+
typeof value === 'object' &&
|
|
361
|
+
'value' in value &&
|
|
362
|
+
typeof value.value !== 'function') {
|
|
363
|
+
return value.value;
|
|
364
|
+
}
|
|
365
|
+
// Return as-is for primitives and other objects
|
|
366
|
+
return value;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Registers a language in the global LanguageRegistry.
|
|
370
|
+
* @param language - LanguageDefinition to register.
|
|
371
|
+
*/
|
|
372
|
+
registerLanguage(language) {
|
|
373
|
+
language_registry_1.LanguageRegistry.register(language);
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Sets the current translation language for this instance.
|
|
377
|
+
* @param language - Language code to set.
|
|
378
|
+
* @throws {I18nError} If the language is not registered.
|
|
379
|
+
*/
|
|
380
|
+
setLanguage(language) {
|
|
381
|
+
if (!language_registry_1.LanguageRegistry.has(language)) {
|
|
382
|
+
throw i18n_error_1.I18nError.languageNotFound(language);
|
|
383
|
+
}
|
|
384
|
+
I18nEngine.contextManager.setLanguage(this.instanceKey, language);
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Sets the current admin translation language for this instance.
|
|
388
|
+
* @param language - Language code to set.
|
|
389
|
+
* @throws {I18nError} If the language is not registered.
|
|
390
|
+
*/
|
|
391
|
+
setAdminLanguage(language) {
|
|
392
|
+
if (!language_registry_1.LanguageRegistry.has(language)) {
|
|
393
|
+
throw i18n_error_1.I18nError.languageNotFound(language);
|
|
394
|
+
}
|
|
395
|
+
I18nEngine.contextManager.setAdminLanguage(this.instanceKey, language);
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Retrieves all registered languages.
|
|
399
|
+
* @returns Array of LanguageDefinition.
|
|
400
|
+
*/
|
|
401
|
+
getLanguages() {
|
|
402
|
+
return language_registry_1.LanguageRegistry.getAll();
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Checks if a language is registered in the global registry.
|
|
406
|
+
* @param language - Language code to check.
|
|
407
|
+
* @returns True if the language exists.
|
|
408
|
+
*/
|
|
409
|
+
hasLanguage(language) {
|
|
410
|
+
return language_registry_1.LanguageRegistry.has(language);
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Merges new constants into existing config constants.
|
|
414
|
+
* @param constants - Key-value constants to merge.
|
|
415
|
+
*/
|
|
416
|
+
mergeConstants(constants) {
|
|
417
|
+
(0, safe_object_1.validateObjectKeys)(constants);
|
|
418
|
+
(0, safe_object_1.safeAssign)(this.config.constants, constants);
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Updates config constants and componentStore constants to new values.
|
|
422
|
+
* @param constants - New constants record.
|
|
423
|
+
*/
|
|
424
|
+
updateConstants(constants) {
|
|
425
|
+
(0, safe_object_1.validateObjectKeys)(constants);
|
|
426
|
+
this.config.constants = constants;
|
|
427
|
+
this.componentStore.setConstants(constants);
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Switches translation context to admin.
|
|
431
|
+
*/
|
|
432
|
+
switchToAdmin() {
|
|
433
|
+
I18nEngine.contextManager.switchToAdmin(this.instanceKey);
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Switches translation context to user.
|
|
437
|
+
*/
|
|
438
|
+
switchToUser() {
|
|
439
|
+
I18nEngine.contextManager.switchToUser(this.instanceKey);
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Retrieves the current language for this instance.
|
|
443
|
+
* @returns Current language code.
|
|
444
|
+
*/
|
|
445
|
+
getCurrentLanguage() {
|
|
446
|
+
return I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Registers an enum for translation.
|
|
450
|
+
* @param enumObj - Enum object to register.
|
|
451
|
+
* @param translations - Language keyed translations for enum values.
|
|
452
|
+
* @param enumName - Name to identify the enum in templates.
|
|
453
|
+
*/
|
|
454
|
+
registerEnum(enumObj, translations, enumName) {
|
|
455
|
+
this.enumRegistry.register(enumObj, translations, enumName);
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Translates an enum value for the current or specified language.
|
|
459
|
+
* @param enumObj - Enum object.
|
|
460
|
+
* @param value - Enum value to translate.
|
|
461
|
+
* @param language - Optional language code.
|
|
462
|
+
* @returns Translated enum string.
|
|
463
|
+
*/
|
|
464
|
+
translateEnum(enumObj, value, language) {
|
|
465
|
+
const lang = language || this.getCurrentLanguage();
|
|
466
|
+
return this.enumRegistry.translate(enumObj, value, lang);
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Checks if an enum is registered.
|
|
470
|
+
* @param enumObj - Enum object to check.
|
|
471
|
+
* @returns True if the enum is registered.
|
|
472
|
+
*/
|
|
473
|
+
hasEnum(enumObj) {
|
|
474
|
+
return this.enumRegistry.has(enumObj);
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Validates all registered components for missing translations or warnings.
|
|
478
|
+
* @returns ValidationResult containing errors and warnings.
|
|
479
|
+
*/
|
|
480
|
+
validate() {
|
|
481
|
+
const errors = [];
|
|
482
|
+
const warnings = [];
|
|
483
|
+
for (const component of this.componentStore.getAll()) {
|
|
484
|
+
const result = this.componentStore.register(component);
|
|
485
|
+
errors.push(...result.errors);
|
|
486
|
+
warnings.push(...result.warnings);
|
|
487
|
+
}
|
|
488
|
+
return {
|
|
489
|
+
isValid: errors.length === 0,
|
|
490
|
+
errors,
|
|
491
|
+
warnings,
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Creates a new engine instance with the given key, languages, and config.
|
|
496
|
+
* @param key - Unique key for the new instance.
|
|
497
|
+
* @param languages - Array of language definitions to register.
|
|
498
|
+
* @param config - Optional engine configuration.
|
|
499
|
+
* @returns Newly created I18nEngine instance.
|
|
500
|
+
*/
|
|
501
|
+
static createInstance(key, languages, config) {
|
|
502
|
+
return new I18nEngine(languages, config, {
|
|
503
|
+
instanceKey: key,
|
|
504
|
+
registerInstance: true,
|
|
505
|
+
setAsDefault: false,
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Registers or retrieves an existing engine instance by key.
|
|
510
|
+
* @param key - Unique key for the instance.
|
|
511
|
+
* @param languages - Array of language definitions.
|
|
512
|
+
* @param config - Optional engine configuration.
|
|
513
|
+
* @returns Existing or newly created I18nEngine instance.
|
|
514
|
+
*/
|
|
515
|
+
static registerIfNotExists(key, languages, config) {
|
|
516
|
+
if (I18nEngine.hasInstance(key)) {
|
|
517
|
+
return I18nEngine.getInstance(key);
|
|
518
|
+
}
|
|
519
|
+
return I18nEngine.createInstance(key, languages, config);
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* Retrieves an engine instance by key or default if none provided.
|
|
523
|
+
* @param key - Optional instance key.
|
|
524
|
+
* @returns I18nEngine instance.
|
|
525
|
+
* @throws {I18nError} If instance not found.
|
|
526
|
+
*/
|
|
527
|
+
static getInstance(key) {
|
|
528
|
+
const instanceKey = key || I18nEngine.defaultKey || I18nEngine.DEFAULT_KEY;
|
|
529
|
+
const instance = I18nEngine.instances.get(instanceKey);
|
|
530
|
+
if (!instance) {
|
|
531
|
+
throw i18n_error_1.I18nError.instanceNotFound(instanceKey);
|
|
532
|
+
}
|
|
533
|
+
return instance;
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* Checks if an engine instance exists.
|
|
537
|
+
* @param key - Optional instance key.
|
|
538
|
+
* @returns True if instance exists.
|
|
539
|
+
*/
|
|
540
|
+
static hasInstance(key) {
|
|
541
|
+
const instanceKey = key || I18nEngine.DEFAULT_KEY;
|
|
542
|
+
return I18nEngine.instances.has(instanceKey);
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Removes an engine instance by key.
|
|
546
|
+
* @param key - Optional instance key.
|
|
547
|
+
* @returns True if the instance was removed.
|
|
548
|
+
*/
|
|
549
|
+
static removeInstance(key) {
|
|
550
|
+
const instanceKey = key || I18nEngine.DEFAULT_KEY;
|
|
551
|
+
const removed = I18nEngine.instances.delete(instanceKey);
|
|
552
|
+
if (removed && I18nEngine.defaultKey === instanceKey) {
|
|
553
|
+
I18nEngine.defaultKey = null;
|
|
554
|
+
}
|
|
555
|
+
return removed;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Resets all engine instances and clears global registries.
|
|
559
|
+
*/
|
|
560
|
+
static resetAll() {
|
|
561
|
+
I18nEngine.instances.clear();
|
|
562
|
+
I18nEngine.defaultKey = null;
|
|
563
|
+
I18nEngine.contextManager.clear();
|
|
564
|
+
language_registry_1.LanguageRegistry.clear();
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
exports.I18nEngine = I18nEngine;
|
|
568
|
+
//# sourceMappingURL=i18n-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-engine.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,10 @@
|
|
|
4
4
|
* Note: Using regular exports for classes and type-only exports for interfaces
|
|
5
5
|
* to minimize runtime circular dependencies while maintaining type availability.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
// Export classes (runtime dependencies)
|
|
9
7
|
export { ComponentStore } from './component-store';
|
|
10
8
|
export { ContextManager } from './context-manager';
|
|
11
9
|
export { EnumRegistry } from './enum-registry';
|
|
12
10
|
export { I18nEngine } from './i18n-engine';
|
|
13
11
|
export { LanguageRegistry } from './language-registry';
|
|
14
|
-
|
|
15
|
-
// Export types only (no runtime dependency)
|
|
16
12
|
export type { Context } from './context-manager';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core exports
|
|
4
|
+
*
|
|
5
|
+
* Note: Using regular exports for classes and type-only exports for interfaces
|
|
6
|
+
* to minimize runtime circular dependencies while maintaining type availability.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.LanguageRegistry = exports.I18nEngine = exports.EnumRegistry = exports.ContextManager = exports.ComponentStore = void 0;
|
|
10
|
+
// Export classes (runtime dependencies)
|
|
11
|
+
var component_store_1 = require("./component-store");
|
|
12
|
+
Object.defineProperty(exports, "ComponentStore", { enumerable: true, get: function () { return component_store_1.ComponentStore; } });
|
|
13
|
+
var context_manager_1 = require("./context-manager");
|
|
14
|
+
Object.defineProperty(exports, "ContextManager", { enumerable: true, get: function () { return context_manager_1.ContextManager; } });
|
|
15
|
+
var enum_registry_1 = require("./enum-registry");
|
|
16
|
+
Object.defineProperty(exports, "EnumRegistry", { enumerable: true, get: function () { return enum_registry_1.EnumRegistry; } });
|
|
17
|
+
var i18n_engine_1 = require("./i18n-engine");
|
|
18
|
+
Object.defineProperty(exports, "I18nEngine", { enumerable: true, get: function () { return i18n_engine_1.I18nEngine; } });
|
|
19
|
+
var language_registry_1 = require("./language-registry");
|
|
20
|
+
Object.defineProperty(exports, "LanguageRegistry", { enumerable: true, get: function () { return language_registry_1.LanguageRegistry; } });
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wCAAwC;AACxC,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA"}
|