@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
package/src/core-i18n.js
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core I18n component with default languages and system strings
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.coreI18nEngine = exports.CoreComponentDefinition = exports.CoreI18nComponentId = void 0;
|
|
7
|
+
exports.createDefaultLanguages = createDefaultLanguages;
|
|
8
|
+
exports.createCoreComponentStrings = createCoreComponentStrings;
|
|
9
|
+
exports.createCoreComponentRegistration = createCoreComponentRegistration;
|
|
10
|
+
exports.createCoreComponentConfig = createCoreComponentConfig;
|
|
11
|
+
exports.getCoreLanguageCodes = getCoreLanguageCodes;
|
|
12
|
+
exports.getCoreLanguageDefinitions = getCoreLanguageDefinitions;
|
|
13
|
+
exports.getCoreI18nEngine = getCoreI18nEngine;
|
|
14
|
+
exports.resetCoreI18nEngine = resetCoreI18nEngine;
|
|
15
|
+
exports.getCoreTranslation = getCoreTranslation;
|
|
16
|
+
exports.safeCoreTranslation = safeCoreTranslation;
|
|
17
|
+
const core_component_id_1 = require("./core-component-id");
|
|
18
|
+
Object.defineProperty(exports, "CoreI18nComponentId", { enumerable: true, get: function () { return core_component_id_1.CoreI18nComponentId; } });
|
|
19
|
+
const core_string_key_1 = require("./core-string-key");
|
|
20
|
+
const i18n_engine_1 = require("./core/i18n-engine");
|
|
21
|
+
const language_codes_1 = require("./language-codes");
|
|
22
|
+
const strict_types_1 = require("./strict-types");
|
|
23
|
+
const de_1 = require("./strings/de");
|
|
24
|
+
const en_GB_1 = require("./strings/en-GB");
|
|
25
|
+
const en_US_1 = require("./strings/en-US");
|
|
26
|
+
const es_1 = require("./strings/es");
|
|
27
|
+
const fr_1 = require("./strings/fr");
|
|
28
|
+
const ja_1 = require("./strings/ja");
|
|
29
|
+
const uk_1 = require("./strings/uk");
|
|
30
|
+
const zh_CN_1 = require("./strings/zh-CN");
|
|
31
|
+
/**
|
|
32
|
+
* Helper function to create multiple language definitions
|
|
33
|
+
*/
|
|
34
|
+
function createLanguageDefinitions(languages) {
|
|
35
|
+
return languages.map((lang) => ({
|
|
36
|
+
id: lang.id,
|
|
37
|
+
name: lang.name,
|
|
38
|
+
code: lang.code,
|
|
39
|
+
isDefault: lang.isDefault || false,
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Create default language definitions
|
|
44
|
+
*/
|
|
45
|
+
function createDefaultLanguages() {
|
|
46
|
+
return createLanguageDefinitions([
|
|
47
|
+
{
|
|
48
|
+
id: language_codes_1.LanguageCodes.EN_US,
|
|
49
|
+
name: 'English (US)',
|
|
50
|
+
code: 'en-US',
|
|
51
|
+
isDefault: true,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: language_codes_1.LanguageCodes.EN_GB,
|
|
55
|
+
name: 'English (UK)',
|
|
56
|
+
code: 'en-GB',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: language_codes_1.LanguageCodes.FR,
|
|
60
|
+
name: 'Français',
|
|
61
|
+
code: 'fr',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: language_codes_1.LanguageCodes.ES,
|
|
65
|
+
name: 'Español',
|
|
66
|
+
code: 'es',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: language_codes_1.LanguageCodes.DE,
|
|
70
|
+
name: 'Deutsch',
|
|
71
|
+
code: 'de',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: language_codes_1.LanguageCodes.ZH_CN,
|
|
75
|
+
name: '中文 (简体)',
|
|
76
|
+
code: 'zh-CN',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: language_codes_1.LanguageCodes.JA,
|
|
80
|
+
name: '日本語',
|
|
81
|
+
code: 'ja',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: language_codes_1.LanguageCodes.UK,
|
|
85
|
+
name: 'Українська',
|
|
86
|
+
code: 'uk',
|
|
87
|
+
},
|
|
88
|
+
]);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Core component definition
|
|
92
|
+
*/
|
|
93
|
+
exports.CoreComponentDefinition = {
|
|
94
|
+
id: core_component_id_1.CoreI18nComponentId,
|
|
95
|
+
name: 'Core I18n System',
|
|
96
|
+
stringKeys: Object.values(core_string_key_1.CoreStringKey),
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Core component strings for all default languages
|
|
100
|
+
*/
|
|
101
|
+
function createCoreComponentStrings() {
|
|
102
|
+
return (0, strict_types_1.createCompleteComponentStrings)({
|
|
103
|
+
[language_codes_1.LanguageCodes.EN_US]: en_US_1.americanEnglishString,
|
|
104
|
+
[language_codes_1.LanguageCodes.EN_GB]: en_GB_1.BritishEnglishStrings,
|
|
105
|
+
[language_codes_1.LanguageCodes.FR]: fr_1.frenchStrings,
|
|
106
|
+
[language_codes_1.LanguageCodes.ES]: es_1.spanishStrings,
|
|
107
|
+
[language_codes_1.LanguageCodes.DE]: de_1.germanStrings,
|
|
108
|
+
[language_codes_1.LanguageCodes.ZH_CN]: zh_CN_1.mandarinStrings,
|
|
109
|
+
[language_codes_1.LanguageCodes.JA]: ja_1.japaneseStrings,
|
|
110
|
+
[language_codes_1.LanguageCodes.UK]: uk_1.ukrainianStrings,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Create core component registration (for PluginI18nEngine)
|
|
115
|
+
*/
|
|
116
|
+
function createCoreComponentRegistration() {
|
|
117
|
+
return {
|
|
118
|
+
component: exports.CoreComponentDefinition,
|
|
119
|
+
strings: createCoreComponentStrings(),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create core component config (for I18nEngine)
|
|
124
|
+
*/
|
|
125
|
+
function createCoreComponentConfig() {
|
|
126
|
+
return {
|
|
127
|
+
id: core_component_id_1.CoreI18nComponentId,
|
|
128
|
+
strings: createCoreComponentStrings(),
|
|
129
|
+
aliases: ['CoreStringKey'],
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get core language codes as array (for Mongoose enums, etc.)
|
|
134
|
+
*/
|
|
135
|
+
function getCoreLanguageCodes() {
|
|
136
|
+
return Object.values(language_codes_1.LanguageCodes);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Get core language definitions
|
|
140
|
+
*/
|
|
141
|
+
function getCoreLanguageDefinitions() {
|
|
142
|
+
return createDefaultLanguages();
|
|
143
|
+
}
|
|
144
|
+
// 1.x definitions moved to core-plugin-factory.ts to break circular dependency
|
|
145
|
+
// Import these from './core-plugin-factory' or from the main index
|
|
146
|
+
// 2.x definitions
|
|
147
|
+
//------------------------------
|
|
148
|
+
/**
|
|
149
|
+
* Create Core i18n engine instance
|
|
150
|
+
* Uses i18n 2.0 pattern with runtime validation
|
|
151
|
+
* IMPORTANT: Uses 'default' as instance key so TypedHandleableError can find it
|
|
152
|
+
*/
|
|
153
|
+
function createInstance(config) {
|
|
154
|
+
const engine = i18n_engine_1.I18nEngine.registerIfNotExists('default', createDefaultLanguages(), config);
|
|
155
|
+
// Register core component if not already registered
|
|
156
|
+
const coreReg = createCoreComponentRegistration();
|
|
157
|
+
engine.registerIfNotExists({
|
|
158
|
+
id: coreReg.component.id,
|
|
159
|
+
strings: coreReg.strings,
|
|
160
|
+
});
|
|
161
|
+
return engine;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Lazy initialization with Proxy (like core-i18n.ts pattern)
|
|
165
|
+
*/
|
|
166
|
+
let _coreEngine;
|
|
167
|
+
function getCoreI18nEngine() {
|
|
168
|
+
// Lazy initialization on first access
|
|
169
|
+
if (!_coreEngine) {
|
|
170
|
+
// Check if instance exists before creating
|
|
171
|
+
if (i18n_engine_1.I18nEngine.hasInstance('default')) {
|
|
172
|
+
_coreEngine = i18n_engine_1.I18nEngine.getInstance('default');
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
_coreEngine = createInstance();
|
|
176
|
+
}
|
|
177
|
+
return _coreEngine;
|
|
178
|
+
}
|
|
179
|
+
// Lazy re-initialization if instance was cleared
|
|
180
|
+
if (i18n_engine_1.I18nEngine.hasInstance('default')) {
|
|
181
|
+
return _coreEngine;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
_coreEngine = createInstance();
|
|
185
|
+
return _coreEngine;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Proxy for backward compatibility
|
|
190
|
+
*/
|
|
191
|
+
exports.coreI18nEngine = new Proxy({}, {
|
|
192
|
+
get(target, prop) {
|
|
193
|
+
return getCoreI18nEngine()[prop];
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
/**
|
|
197
|
+
* Reset function for tests
|
|
198
|
+
*/
|
|
199
|
+
function resetCoreI18nEngine() {
|
|
200
|
+
_coreEngine = undefined;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Helper to translate Core strings
|
|
204
|
+
*/
|
|
205
|
+
function getCoreTranslation(stringKey, variables, language) {
|
|
206
|
+
return getCoreI18nEngine().translate(core_component_id_1.CoreI18nComponentId, stringKey, variables, language);
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Safe translation with fallback
|
|
210
|
+
*/
|
|
211
|
+
function safeCoreTranslation(stringKey, variables, language) {
|
|
212
|
+
try {
|
|
213
|
+
return getCoreTranslation(stringKey, variables, language);
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
return `[${stringKey}]`;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=core-i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-i18n.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-i18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory for creating core plugin I18n engine instances
|
|
3
|
+
* This file breaks the circular dependency between core-i18n.ts and plugin-i18n-engine.ts
|
|
4
|
+
*/
|
|
5
|
+
import { PluginI18nEngine } from './plugin-i18n-engine';
|
|
6
|
+
import { RegistryConfig } from './registry-config';
|
|
7
|
+
/**
|
|
8
|
+
* Create a pre-configured I18n engine with core components
|
|
9
|
+
* Returns engine with string type - use registry for language validation
|
|
10
|
+
*/
|
|
11
|
+
export declare function createCorePluginI18nEngine(instanceKey?: string, config?: Partial<RegistryConfig<string>>): PluginI18nEngine<string>;
|
|
12
|
+
export declare function getCorePluginI18nEngine(): PluginI18nEngine<string>;
|
|
13
|
+
export declare const corePluginI18nEngine: PluginI18nEngine<string>;
|
|
14
|
+
export declare function resetCorePluginI18nEngine(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Type alias for easier usage
|
|
17
|
+
*/
|
|
18
|
+
export type CorePluginI18nEngine = PluginI18nEngine<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Helper function to get core translation
|
|
21
|
+
* Uses the core engine instance to ensure core strings are available
|
|
22
|
+
*/
|
|
23
|
+
export declare function getCorePluginTranslation(stringKey: string, variables?: Record<string, string | number>, language?: string, instanceKey?: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Helper function to safely get core translation with fallback
|
|
26
|
+
*/
|
|
27
|
+
export declare function safeCorePluginTranslation(stringKey: string, variables?: Record<string, string | number>, language?: string, instanceKey?: string): string;
|
|
28
|
+
//# sourceMappingURL=core-plugin-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-plugin-factory.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-plugin-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,GAAE,MAA2B,EACxC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GACvC,gBAAgB,CAAC,MAAM,CAAC,CAS1B;AAMD,wBAAgB,uBAAuB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAelE;AAGD,eAAO,MAAM,oBAAoB,0BAK/B,CAAC;AAGH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAWR"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Factory for creating core plugin I18n engine instances
|
|
4
|
+
* This file breaks the circular dependency between core-i18n.ts and plugin-i18n-engine.ts
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.corePluginI18nEngine = void 0;
|
|
8
|
+
exports.createCorePluginI18nEngine = createCorePluginI18nEngine;
|
|
9
|
+
exports.getCorePluginI18nEngine = getCorePluginI18nEngine;
|
|
10
|
+
exports.resetCorePluginI18nEngine = resetCorePluginI18nEngine;
|
|
11
|
+
exports.getCorePluginTranslation = getCorePluginTranslation;
|
|
12
|
+
exports.safeCorePluginTranslation = safeCorePluginTranslation;
|
|
13
|
+
const core_i18n_1 = require("./core-i18n");
|
|
14
|
+
const plugin_i18n_engine_1 = require("./plugin-i18n-engine");
|
|
15
|
+
const DefaultInstanceKey = 'default';
|
|
16
|
+
/**
|
|
17
|
+
* Create a pre-configured I18n engine with core components
|
|
18
|
+
* Returns engine with string type - use registry for language validation
|
|
19
|
+
*/
|
|
20
|
+
function createCorePluginI18nEngine(instanceKey = DefaultInstanceKey, config) {
|
|
21
|
+
const languages = (0, core_i18n_1.createDefaultLanguages)();
|
|
22
|
+
const engine = plugin_i18n_engine_1.PluginI18nEngine.createInstance(instanceKey, languages, config);
|
|
23
|
+
engine.registerComponent((0, core_i18n_1.createCoreComponentRegistration)());
|
|
24
|
+
return engine;
|
|
25
|
+
}
|
|
26
|
+
// Note: Lazy initialization to avoid circular dependency issues
|
|
27
|
+
// Tests should call resetCorePluginI18nEngine() after PluginI18nEngine.resetAll()
|
|
28
|
+
let _corePluginI18nEngine;
|
|
29
|
+
function getCorePluginI18nEngine() {
|
|
30
|
+
// Lazy initialization on first access
|
|
31
|
+
if (!_corePluginI18nEngine) {
|
|
32
|
+
_corePluginI18nEngine = createCorePluginI18nEngine();
|
|
33
|
+
return _corePluginI18nEngine;
|
|
34
|
+
}
|
|
35
|
+
// Lazy re-initialization if instance was cleared
|
|
36
|
+
try {
|
|
37
|
+
plugin_i18n_engine_1.PluginI18nEngine.getInstance(DefaultInstanceKey);
|
|
38
|
+
return _corePluginI18nEngine;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
_corePluginI18nEngine = createCorePluginI18nEngine();
|
|
42
|
+
return _corePluginI18nEngine;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Getter for direct reference - lazily initialized
|
|
46
|
+
exports.corePluginI18nEngine = new Proxy({}, {
|
|
47
|
+
get(_target, prop) {
|
|
48
|
+
const engine = getCorePluginI18nEngine();
|
|
49
|
+
return engine[prop];
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
// Reset function for tests
|
|
53
|
+
function resetCorePluginI18nEngine() {
|
|
54
|
+
_corePluginI18nEngine = undefined;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Helper function to get core translation
|
|
58
|
+
* Uses the core engine instance to ensure core strings are available
|
|
59
|
+
*/
|
|
60
|
+
function getCorePluginTranslation(stringKey, variables, language, instanceKey) {
|
|
61
|
+
// Use string literal to avoid circular dependency
|
|
62
|
+
const coreComponentId = 'core';
|
|
63
|
+
// Use core engine if no instance key specified, otherwise use specified instance
|
|
64
|
+
const engine = instanceKey
|
|
65
|
+
? plugin_i18n_engine_1.PluginI18nEngine.getInstance(instanceKey)
|
|
66
|
+
: getCorePluginI18nEngine();
|
|
67
|
+
return engine.translate(coreComponentId, stringKey, variables, language);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Helper function to safely get core translation with fallback
|
|
71
|
+
*/
|
|
72
|
+
function safeCorePluginTranslation(stringKey, variables, language, instanceKey) {
|
|
73
|
+
try {
|
|
74
|
+
return getCorePluginTranslation(stringKey, variables, language, instanceKey);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return `[CoreStringKey.${stringKey}]`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=core-plugin-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-plugin-factory.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-plugin-factory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAeH,gEAYC;AAMD,0DAeC;AAWD,8DAEC;AAWD,4DAcC;AAKD,8DAgBC;AAzGD,2CAGqB;AACrB,6DAAwD;AAGxD,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAErC;;;GAGG;AACH,SAAgB,0BAA0B,CACxC,cAAsB,kBAAkB,EACxC,MAAwC;IAExC,MAAM,SAAS,GAAG,IAAA,kCAAsB,GAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,qCAAgB,CAAC,cAAc,CAC5C,WAAW,EACX,SAAS,EACT,MAAM,CACP,CAAC;IACF,MAAM,CAAC,iBAAiB,CAAC,IAAA,2CAA+B,GAAE,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,kFAAkF;AAClF,IAAI,qBAA2D,CAAC;AAEhE,SAAgB,uBAAuB;IACrC,sCAAsC;IACtC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG,0BAA0B,EAAE,CAAC;QACrD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC;QACH,qCAAgB,CAAC,WAAW,CAAS,kBAAkB,CAAC,CAAC;QACzD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB,GAAG,0BAA0B,EAAE,CAAC;QACrD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,mDAAmD;AACtC,QAAA,oBAAoB,GAAG,IAAI,KAAK,CAAC,EAA8B,EAAE;IAC5E,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,IAAsC,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC;AAEH,2BAA2B;AAC3B,SAAgB,yBAAyB;IACvC,qBAAqB,GAAG,SAAS,CAAC;AACpC,CAAC;AAOD;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,SAAiB,EACjB,SAA2C,EAC3C,QAAiB,EACjB,WAAoB;IAEpB,kDAAkD;IAClD,MAAM,eAAe,GAAG,MAAM,CAAC;IAE/B,iFAAiF;IACjF,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAC,qCAAgB,CAAC,WAAW,CAAS,WAAW,CAAC;QACnD,CAAC,CAAC,uBAAuB,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CACvC,SAAiB,EACjB,SAA2C,EAC3C,QAAiB,EACjB,WAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,wBAAwB,CAC7B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,CACZ,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,kBAAkB,SAAS,GAAG,CAAC;IACxC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core system string keys
|
|
3
|
+
*/
|
|
4
|
+
export declare enum CoreStringKey {
|
|
5
|
+
Common_Yes = "common_yes",
|
|
6
|
+
Common_No = "common_no",
|
|
7
|
+
Common_Cancel = "common_cancel",
|
|
8
|
+
Common_OK = "common_ok",
|
|
9
|
+
Common_Save = "common_save",
|
|
10
|
+
Common_Delete = "common_delete",
|
|
11
|
+
Common_Edit = "common_edit",
|
|
12
|
+
Common_Create = "common_create",
|
|
13
|
+
Common_Update = "common_update",
|
|
14
|
+
Common_Loading = "common_loading",
|
|
15
|
+
Common_Error = "common_error",
|
|
16
|
+
Common_Success = "common_success",
|
|
17
|
+
Common_Warning = "common_warning",
|
|
18
|
+
Common_Info = "common_info",
|
|
19
|
+
Common_Disposed = "common_disposed",
|
|
20
|
+
Common_Test = "common_test",
|
|
21
|
+
Error_InvalidInput = "error_invalidInput",
|
|
22
|
+
Error_NetworkError = "error_networkError",
|
|
23
|
+
Error_NotFound = "error_notFound",
|
|
24
|
+
Error_AccessDenied = "error_accessDenied",
|
|
25
|
+
Error_InternalServer = "error_internalServer",
|
|
26
|
+
Error_ValidationFailed = "error_validationFailed",
|
|
27
|
+
Error_RequiredField = "error_requiredField",
|
|
28
|
+
Error_InvalidContext = "error_invalidContext",
|
|
29
|
+
Error_InvalidContextTemplate = "error_invalidContextTemplate",
|
|
30
|
+
Error_InvalidCurrencyCodeTemplate = "error_invalidCurrencyCodeTemplate",
|
|
31
|
+
Error_ComponentNotFoundTemplate = "error_componentNotFoundTemplate",
|
|
32
|
+
Error_LanguageNotFoundTemplate = "error_languageNotFoundTemplate",
|
|
33
|
+
Error_StringKeyNotFoundTemplate = "error_stringKeyNotFoundTemplate",
|
|
34
|
+
Error_IncompleteRegistrationTemplate = "error_incompleteRegistrationTemplate",
|
|
35
|
+
Error_DuplicateComponentTemplate = "error_duplicateComponentTemplate",
|
|
36
|
+
Error_DuplicateLanguageTemplate = "error_duplicateLanguageTemplate",
|
|
37
|
+
Error_ValidationFailedTemplate = "error_validationFailedTemplate",
|
|
38
|
+
Error_MissingTranslationKeyTemplate = "error_missingTranslationKeyTemplate",
|
|
39
|
+
System_Welcome = "system_welcome",
|
|
40
|
+
System_Goodbye = "system_goodbye",
|
|
41
|
+
System_PleaseWait = "system_pleaseWait",
|
|
42
|
+
System_ProcessingRequest = "system_processingRequest",
|
|
43
|
+
System_OperationComplete = "system_operationComplete",
|
|
44
|
+
System_NoDataAvailable = "system_noDataAvailable",
|
|
45
|
+
Error_InstanceAlreadyExistsTemplate = "error_instanceAlreadyExistsTemplate",
|
|
46
|
+
Error_InstanceNotFoundTemplate = "error_instanceNotFoundTemplate",
|
|
47
|
+
Error_MissingStringCollectionTemplate = "error_missingStringCollectionTemplate",
|
|
48
|
+
Error_MissingTranslationTemplate = "error_missingTranslationTemplate",
|
|
49
|
+
Error_DefaultLanguageNoCollectionTemplate = "error_defaultLanguageNoCollectionTemplate",
|
|
50
|
+
Error_MissingTranslationKeyForTypeTemplate = "error_missingTranslationKeyForTypeTemplate"
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=core-string-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-string-key.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-string-key.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,aAAa;IAEvB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAE3B,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,iCAAiC,sCAAsC;IAGvE,+BAA+B,oCAAoC;IACnE,8BAA8B,mCAAmC;IACjE,+BAA+B,oCAAoC;IACnE,oCAAoC,yCAAyC;IAC7E,gCAAgC,qCAAqC;IACrE,+BAA+B,oCAAoC;IACnE,8BAA8B,mCAAmC;IACjE,mCAAmC,wCAAwC;IAG3E,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,sBAAsB,2BAA2B;IAGjD,mCAAmC,wCAAwC;IAC3E,8BAA8B,mCAAmC;IACjE,qCAAqC,0CAA0C;IAC/E,gCAAgC,qCAAqC;IACrE,yCAAyC,8CAA8C;IACvF,0CAA0C,+CAA+C;CAC1F"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoreStringKey = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Core system string keys
|
|
6
|
+
*/
|
|
7
|
+
var CoreStringKey;
|
|
8
|
+
(function (CoreStringKey) {
|
|
9
|
+
// Common/General
|
|
10
|
+
CoreStringKey["Common_Yes"] = "common_yes";
|
|
11
|
+
CoreStringKey["Common_No"] = "common_no";
|
|
12
|
+
CoreStringKey["Common_Cancel"] = "common_cancel";
|
|
13
|
+
CoreStringKey["Common_OK"] = "common_ok";
|
|
14
|
+
CoreStringKey["Common_Save"] = "common_save";
|
|
15
|
+
CoreStringKey["Common_Delete"] = "common_delete";
|
|
16
|
+
CoreStringKey["Common_Edit"] = "common_edit";
|
|
17
|
+
CoreStringKey["Common_Create"] = "common_create";
|
|
18
|
+
CoreStringKey["Common_Update"] = "common_update";
|
|
19
|
+
CoreStringKey["Common_Loading"] = "common_loading";
|
|
20
|
+
CoreStringKey["Common_Error"] = "common_error";
|
|
21
|
+
CoreStringKey["Common_Success"] = "common_success";
|
|
22
|
+
CoreStringKey["Common_Warning"] = "common_warning";
|
|
23
|
+
CoreStringKey["Common_Info"] = "common_info";
|
|
24
|
+
CoreStringKey["Common_Disposed"] = "common_disposed";
|
|
25
|
+
CoreStringKey["Common_Test"] = "common_test";
|
|
26
|
+
// Error Messages
|
|
27
|
+
CoreStringKey["Error_InvalidInput"] = "error_invalidInput";
|
|
28
|
+
CoreStringKey["Error_NetworkError"] = "error_networkError";
|
|
29
|
+
CoreStringKey["Error_NotFound"] = "error_notFound";
|
|
30
|
+
CoreStringKey["Error_AccessDenied"] = "error_accessDenied";
|
|
31
|
+
CoreStringKey["Error_InternalServer"] = "error_internalServer";
|
|
32
|
+
CoreStringKey["Error_ValidationFailed"] = "error_validationFailed";
|
|
33
|
+
CoreStringKey["Error_RequiredField"] = "error_requiredField";
|
|
34
|
+
CoreStringKey["Error_InvalidContext"] = "error_invalidContext";
|
|
35
|
+
CoreStringKey["Error_InvalidContextTemplate"] = "error_invalidContextTemplate";
|
|
36
|
+
CoreStringKey["Error_InvalidCurrencyCodeTemplate"] = "error_invalidCurrencyCodeTemplate";
|
|
37
|
+
// Registry Errors (templates support variables)
|
|
38
|
+
CoreStringKey["Error_ComponentNotFoundTemplate"] = "error_componentNotFoundTemplate";
|
|
39
|
+
CoreStringKey["Error_LanguageNotFoundTemplate"] = "error_languageNotFoundTemplate";
|
|
40
|
+
CoreStringKey["Error_StringKeyNotFoundTemplate"] = "error_stringKeyNotFoundTemplate";
|
|
41
|
+
CoreStringKey["Error_IncompleteRegistrationTemplate"] = "error_incompleteRegistrationTemplate";
|
|
42
|
+
CoreStringKey["Error_DuplicateComponentTemplate"] = "error_duplicateComponentTemplate";
|
|
43
|
+
CoreStringKey["Error_DuplicateLanguageTemplate"] = "error_duplicateLanguageTemplate";
|
|
44
|
+
CoreStringKey["Error_ValidationFailedTemplate"] = "error_validationFailedTemplate";
|
|
45
|
+
CoreStringKey["Error_MissingTranslationKeyTemplate"] = "error_missingTranslationKeyTemplate";
|
|
46
|
+
// System Messages
|
|
47
|
+
CoreStringKey["System_Welcome"] = "system_welcome";
|
|
48
|
+
CoreStringKey["System_Goodbye"] = "system_goodbye";
|
|
49
|
+
CoreStringKey["System_PleaseWait"] = "system_pleaseWait";
|
|
50
|
+
CoreStringKey["System_ProcessingRequest"] = "system_processingRequest";
|
|
51
|
+
CoreStringKey["System_OperationComplete"] = "system_operationComplete";
|
|
52
|
+
CoreStringKey["System_NoDataAvailable"] = "system_noDataAvailable";
|
|
53
|
+
// DefaultStringKey
|
|
54
|
+
CoreStringKey["Error_InstanceAlreadyExistsTemplate"] = "error_instanceAlreadyExistsTemplate";
|
|
55
|
+
CoreStringKey["Error_InstanceNotFoundTemplate"] = "error_instanceNotFoundTemplate";
|
|
56
|
+
CoreStringKey["Error_MissingStringCollectionTemplate"] = "error_missingStringCollectionTemplate";
|
|
57
|
+
CoreStringKey["Error_MissingTranslationTemplate"] = "error_missingTranslationTemplate";
|
|
58
|
+
CoreStringKey["Error_DefaultLanguageNoCollectionTemplate"] = "error_defaultLanguageNoCollectionTemplate";
|
|
59
|
+
CoreStringKey["Error_MissingTranslationKeyForTypeTemplate"] = "error_missingTranslationKeyForTypeTemplate";
|
|
60
|
+
})(CoreStringKey || (exports.CoreStringKey = CoreStringKey = {}));
|
|
61
|
+
//# sourceMappingURL=core-string-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-string-key.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-string-key.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,aAuDX;AAvDD,WAAY,aAAa;IACvB,iBAAiB;IACjB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,gDAA+B,CAAA;IAC/B,wCAAuB,CAAA;IACvB,4CAA2B,CAAA;IAC3B,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kDAAiC,CAAA;IACjC,8CAA6B,CAAA;IAC7B,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,4CAA2B,CAAA;IAC3B,oDAAmC,CAAA;IACnC,4CAA2B,CAAA;IAC3B,iBAAiB;IACjB,0DAAyC,CAAA;IACzC,0DAAyC,CAAA;IACzC,kDAAiC,CAAA;IACjC,0DAAyC,CAAA;IACzC,8DAA6C,CAAA;IAC7C,kEAAiD,CAAA;IACjD,4DAA2C,CAAA;IAC3C,8DAA6C,CAAA;IAC7C,8EAA6D,CAAA;IAC7D,wFAAuE,CAAA;IAEvE,gDAAgD;IAChD,oFAAmE,CAAA;IACnE,kFAAiE,CAAA;IACjE,oFAAmE,CAAA;IACnE,8FAA6E,CAAA;IAC7E,sFAAqE,CAAA;IACrE,oFAAmE,CAAA;IACnE,kFAAiE,CAAA;IACjE,4FAA2E,CAAA;IAE3E,kBAAkB;IAClB,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;IACvC,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IACrD,kEAAiD,CAAA;IAEjD,mBAAmB;IACnB,4FAA2E,CAAA;IAC3E,kFAAiE,CAAA;IACjE,gGAA+E,CAAA;IAC/E,sFAAqE,CAAA;IACrE,wGAAuF,CAAA;IACvF,0GAAyF,CAAA;AAC3F,CAAC,EAvDW,aAAa,6BAAb,aAAa,QAuDxB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
* The adapter supports both calling conventions:
|
|
8
|
+
* - Full TranslationEngine interface: `translate(componentId, key, vars, lang)`
|
|
9
|
+
* - Simplified interface: `translate(key, vars, lang)` (componentId is bound)
|
|
10
|
+
*
|
|
11
|
+
* @param pluginEngine - The PluginI18nEngine instance to wrap
|
|
12
|
+
* @param componentId - The component ID to use for translations
|
|
13
|
+
* @returns A TranslationEngine that delegates to the PluginI18nEngine
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const pluginEngine = getMyPluginI18nEngine();
|
|
18
|
+
* const adapter = createTranslationAdapter(pluginEngine, 'my-component');
|
|
19
|
+
*
|
|
20
|
+
* // Simplified interface (componentId is bound)
|
|
21
|
+
* const text1 = adapter.translate('key');
|
|
22
|
+
* const text2 = adapter.translate('key', { var: 'value' });
|
|
23
|
+
* const text3 = adapter.translate('key', { var: 'value' }, 'fr');
|
|
24
|
+
*
|
|
25
|
+
* // Full TranslationEngine interface
|
|
26
|
+
* const text4 = adapter.translate('other-component', 'key', { var: 'value' }, 'fr');
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function createTranslationAdapter<TStringKey extends string, TLanguage extends string>(pluginEngine: PluginI18nEngine<TLanguage>, componentId: string): TranslationEngine<TStringKey> & {
|
|
30
|
+
translate(key: TStringKey, vars?: Record<string, string | number>, lang?: TLanguage): string;
|
|
31
|
+
safeTranslate(key: TStringKey, vars?: Record<string, string | number>, lang?: TLanguage): string;
|
|
32
|
+
};
|
|
33
|
+
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM,EAExB,YAAY,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACzC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,UAAU,CAAC,GAAG;IACjC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7F,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAClG,CAsDA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
* The adapter supports both calling conventions:
|
|
9
|
+
* - Full TranslationEngine interface: `translate(componentId, key, vars, lang)`
|
|
10
|
+
* - Simplified interface: `translate(key, vars, lang)` (componentId is bound)
|
|
11
|
+
*
|
|
12
|
+
* @param pluginEngine - The PluginI18nEngine instance to wrap
|
|
13
|
+
* @param componentId - The component ID to use for translations
|
|
14
|
+
* @returns A TranslationEngine that delegates to the PluginI18nEngine
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const pluginEngine = getMyPluginI18nEngine();
|
|
19
|
+
* const adapter = createTranslationAdapter(pluginEngine, 'my-component');
|
|
20
|
+
*
|
|
21
|
+
* // Simplified interface (componentId is bound)
|
|
22
|
+
* const text1 = adapter.translate('key');
|
|
23
|
+
* const text2 = adapter.translate('key', { var: 'value' });
|
|
24
|
+
* const text3 = adapter.translate('key', { var: 'value' }, 'fr');
|
|
25
|
+
*
|
|
26
|
+
* // Full TranslationEngine interface
|
|
27
|
+
* const text4 = adapter.translate('other-component', 'key', { var: 'value' }, 'fr');
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
function createTranslationAdapter(pluginEngine, componentId) {
|
|
31
|
+
const adapter = {
|
|
32
|
+
translate: (keyOrComponentId, varsOrKey, langOrVars, maybeLang) => {
|
|
33
|
+
let actualKey;
|
|
34
|
+
let actualVars;
|
|
35
|
+
let actualLang;
|
|
36
|
+
if (arguments.length >= 4 || (typeof varsOrKey === 'string')) {
|
|
37
|
+
actualKey = varsOrKey;
|
|
38
|
+
actualVars = langOrVars;
|
|
39
|
+
actualLang = maybeLang;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
actualKey = keyOrComponentId;
|
|
43
|
+
actualVars = varsOrKey;
|
|
44
|
+
actualLang = langOrVars;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
return pluginEngine.translate(componentId, actualKey, actualVars, actualLang);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return String(actualKey);
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
safeTranslate: (keyOrComponentId, varsOrKey, langOrVars, maybeLang) => {
|
|
54
|
+
let actualKey;
|
|
55
|
+
let actualVars;
|
|
56
|
+
let actualLang;
|
|
57
|
+
if (arguments.length >= 4 || (typeof varsOrKey === 'string')) {
|
|
58
|
+
actualKey = varsOrKey;
|
|
59
|
+
actualVars = langOrVars;
|
|
60
|
+
actualLang = maybeLang;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
actualKey = keyOrComponentId;
|
|
64
|
+
actualVars = varsOrKey;
|
|
65
|
+
actualLang = langOrVars;
|
|
66
|
+
}
|
|
67
|
+
return pluginEngine.safeTranslate(componentId, actualKey, actualVars, actualLang);
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
return adapter;
|
|
71
|
+
}
|
|
72
|
+
//# 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":";;AA6BA,4DA+DC;AAzFD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,wBAAwB,CAItC,YAAyC,EACzC,WAAmB;IAKnB,MAAM,OAAO,GAAQ;QACnB,SAAS,EAAE,CACT,gBAAqC,EACrC,SAAwD,EACxD,UAAwD,EACxD,SAAqB,EACb,EAAE;YACV,IAAI,SAAqB,CAAC;YAC1B,IAAI,UAAuD,CAAC;YAC5D,IAAI,UAAiC,CAAC;YAEtC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7D,SAAS,GAAG,SAAuB,CAAC;gBACpC,UAAU,GAAG,UAAyD,CAAC;gBACvE,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,gBAA8B,CAAC;gBAC3C,UAAU,GAAG,SAAwD,CAAC;gBACtE,UAAU,GAAG,UAAmC,CAAC;YACnD,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAChF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,aAAa,EAAE,CACb,gBAAqC,EACrC,SAAwD,EACxD,UAAwD,EACxD,SAAqB,EACb,EAAE;YACV,IAAI,SAAqB,CAAC;YAC1B,IAAI,UAAuD,CAAC;YAC5D,IAAI,UAAiC,CAAC;YAEtC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7D,SAAS,GAAG,SAAuB,CAAC;gBACpC,UAAU,GAAG,UAAyD,CAAC;gBACvE,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,gBAA8B,CAAC;gBAC3C,UAAU,GAAG,SAAwD,CAAC;gBACtE,UAAU,GAAG,UAAmC,CAAC;YACnD,CAAC;YAED,OAAO,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACpF,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { EnumLanguageTranslation } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Registry for managing translations of enum values across multiple languages.
|
|
4
|
+
*
|
|
5
|
+
* @template TStringKey Type of translation key used in error messages.
|
|
6
|
+
* @template TLanguage Type of supported language codes.
|
|
7
|
+
*/
|
|
8
|
+
export declare class EnumTranslationRegistry<TStringKey extends string, TLanguage extends string> {
|
|
9
|
+
protected translations: Map<any, Partial<{ [L in TLanguage]: import("./types").EnumTranslation<any>; }>>;
|
|
10
|
+
protected enumNames: WeakMap<any, string>;
|
|
11
|
+
protected availableLanguages: Set<TLanguage>;
|
|
12
|
+
protected translateFn?: (key: TStringKey, vars?: Record<string, any>) => string;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new EnumTranslationRegistry.
|
|
15
|
+
*
|
|
16
|
+
* @param availableLanguages Array of supported language codes.
|
|
17
|
+
* @param translateFn Optional translation function for error templates.
|
|
18
|
+
*/
|
|
19
|
+
constructor(availableLanguages: TLanguage[], translateFn?: (key: TStringKey, vars?: Record<string, any>) => string);
|
|
20
|
+
/**
|
|
21
|
+
* Registers an enum and its language-specific translations.
|
|
22
|
+
*
|
|
23
|
+
* @template TEnum Enum value type (string or number).
|
|
24
|
+
* @param enumObj The enum object to register.
|
|
25
|
+
* @param translations Mapping of language codes to value-to-string translations.
|
|
26
|
+
* @param enumName Human-readable name of the enum (used in errors).
|
|
27
|
+
* @throws {Error} If translations contain languages not in availableLanguages.
|
|
28
|
+
*/
|
|
29
|
+
register<TEnum extends string | number>(enumObj: Record<string, TEnum>, translations: EnumLanguageTranslation<TEnum, TLanguage>, enumName: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Translates a specific enum value into the target language.
|
|
32
|
+
*
|
|
33
|
+
* @template TEnum Enum value type.
|
|
34
|
+
* @param enumObj The enum object registered previously.
|
|
35
|
+
* @param value The enum value to translate.
|
|
36
|
+
* @param language The target language code.
|
|
37
|
+
* @returns The translated string.
|
|
38
|
+
* @throws {Error} If the enum or language or value is not found.
|
|
39
|
+
*/
|
|
40
|
+
translate<TEnum extends string | number>(enumObj: Record<string, TEnum>, value: TEnum, language: TLanguage): string;
|
|
41
|
+
/**
|
|
42
|
+
* Checks whether translations exist for the given enum object.
|
|
43
|
+
*
|
|
44
|
+
* @param enumObj The enum object to check.
|
|
45
|
+
* @returns True if registered, false otherwise.
|
|
46
|
+
*/
|
|
47
|
+
has(enumObj: any): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Internal: Retrieves the human-readable name of the enum.
|
|
50
|
+
*
|
|
51
|
+
* @param enumObj The enum object.
|
|
52
|
+
* @returns Registered enum name or 'UnknownEnum' if not set.
|
|
53
|
+
*/
|
|
54
|
+
private getEnumName;
|
|
55
|
+
/**
|
|
56
|
+
* Internal: Validates that translation entries only use available languages.
|
|
57
|
+
*
|
|
58
|
+
* @template TEnum Enum value type.
|
|
59
|
+
* @param translations Mapping of language codes to translations.
|
|
60
|
+
* @param enumName Enum name for error reporting.
|
|
61
|
+
* @throws {Error} If a translation language is not available.
|
|
62
|
+
*/
|
|
63
|
+
private validateTranslations;
|
|
64
|
+
}
|
|
65
|
+
//# 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;;;;;GAKG;AACH,qBAAa,uBAAuB,CAClC,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM;IAExB,SAAS,CAAC,YAAY,mFAA2D;IACjF,SAAS,CAAC,SAAS,uBAA8B;IACjD,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAEhF;;;;;OAKG;gBAED,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;;;;;;;;OAQG;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;;;;;;;;;OASG;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;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAIjC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;CAgB7B"}
|