@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,23 @@
|
|
|
1
|
+
import type { LanguageContextSpace } from '../types';
|
|
2
|
+
import type { CurrencyCode } from '../utils/currency';
|
|
3
|
+
import type { Timezone } from '../utils/timezone';
|
|
4
|
+
import type { IActiveContext } from './active-context.interface';
|
|
5
|
+
export interface IGlobalActiveContext<TLanguage extends string, TActiveContext extends IActiveContext<TLanguage>> {
|
|
6
|
+
context: TActiveContext;
|
|
7
|
+
userLanguage: TLanguage;
|
|
8
|
+
currencyCode: CurrencyCode;
|
|
9
|
+
adminLanguage: TLanguage;
|
|
10
|
+
languageContextSpace: LanguageContextSpace;
|
|
11
|
+
userTimezone: Timezone;
|
|
12
|
+
adminTimezone: Timezone;
|
|
13
|
+
createContext(defaultLanguage: TLanguage, defaultAdminLanguage?: TLanguage, key?: string): TActiveContext;
|
|
14
|
+
getContext(key?: string): TActiveContext;
|
|
15
|
+
setUserLanguage(language: TLanguage, key?: string): void;
|
|
16
|
+
setCurrencyCode(code: CurrencyCode, key?: string): void;
|
|
17
|
+
setAdminLanguage(language: TLanguage, key?: string): void;
|
|
18
|
+
setLanguageContextSpace(context: LanguageContextSpace, key?: string): void;
|
|
19
|
+
getLanguageContextSpace(key?: string): LanguageContextSpace;
|
|
20
|
+
setUserTimezone(tz: Timezone, key?: string): void;
|
|
21
|
+
setAdminTimezone(tz: Timezone, key?: string): void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=global-active-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-active-context.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/global-active-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,oBAAoB,CACnC,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,cAAc,CAAC,SAAS,CAAC;IAEhD,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,SAAS,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,YAAY,EAAE,QAAQ,CAAC;IACvB,aAAa,EAAE,QAAQ,CAAC;IAExB,aAAa,CACX,eAAe,EAAE,SAAS,EAC1B,oBAAoB,CAAC,EAAE,SAAS,EAChC,GAAG,CAAC,EAAE,MAAM,GACX,cAAc,CAAC;IAElB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAEzC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzD,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExD,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3E,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAE5D,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-active-context.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/global-active-context.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for creating a HandleableError.
|
|
3
|
+
*/
|
|
4
|
+
export interface HandleableErrorOptions {
|
|
5
|
+
/** The original error that caused this error */
|
|
6
|
+
cause?: Error;
|
|
7
|
+
/** Whether this error has been handled */
|
|
8
|
+
handled?: boolean;
|
|
9
|
+
/** HTTP status code associated with this error */
|
|
10
|
+
statusCode?: number;
|
|
11
|
+
/** Optional source data related to the error */
|
|
12
|
+
sourceData?: unknown;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=handleable-error-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleable-error-options.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/handleable-error-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleable-error-options.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/handleable-error-options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for errors that can be marked as handled and serialized to JSON.
|
|
3
|
+
*/
|
|
4
|
+
export interface IHandleable {
|
|
5
|
+
/**
|
|
6
|
+
* Converts the error to a JSON-serializable object.
|
|
7
|
+
* @returns A plain object representation of the error
|
|
8
|
+
*/
|
|
9
|
+
toJSON(): Record<string, unknown>;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the handled state of this error.
|
|
12
|
+
* @returns True if the error has been handled, false otherwise
|
|
13
|
+
*/
|
|
14
|
+
get handled(): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the handled state of this error.
|
|
17
|
+
* @param value - The new handled state
|
|
18
|
+
*/
|
|
19
|
+
set handled(value: boolean);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=handleable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleable.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/handleable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;;OAGG;IACH,IAAI,OAAO,IAAI,OAAO,CAAC;IACvB;;;OAGG;IACH,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleable.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/handleable.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core I18n Engine interface
|
|
3
|
+
*/
|
|
4
|
+
import { ComponentConfig } from './component-config.interface';
|
|
5
|
+
import { LanguageDefinition } from './language-definition.interface';
|
|
6
|
+
import { ValidationResult } from './validation-result.interface';
|
|
7
|
+
/**
|
|
8
|
+
* Main interface for the I18n engine, defining all translation and management operations.
|
|
9
|
+
*/
|
|
10
|
+
export interface II18nEngine {
|
|
11
|
+
/** Registers a new component with its translations */
|
|
12
|
+
register(config: ComponentConfig): ValidationResult;
|
|
13
|
+
/** Registers a component only if it doesn't already exist */
|
|
14
|
+
registerIfNotExists(config: ComponentConfig): ValidationResult;
|
|
15
|
+
/** Updates strings for an existing component */
|
|
16
|
+
updateStrings(componentId: string, strings: Record<string, Record<string, string>>): ValidationResult;
|
|
17
|
+
/** Checks if a component is registered */
|
|
18
|
+
hasComponent(componentId: string): boolean;
|
|
19
|
+
/** Gets all registered components */
|
|
20
|
+
getComponents(): readonly ComponentConfig[];
|
|
21
|
+
/** Translates a string key for a component */
|
|
22
|
+
translate(componentId: string, key: string, variables?: Record<string, any>, language?: string): string;
|
|
23
|
+
/** Safely translates a string key, returning a fallback on error */
|
|
24
|
+
safeTranslate(componentId: string, key: string, variables?: Record<string, any>, language?: string): string;
|
|
25
|
+
/** Template processor that handles embedded component.key patterns */
|
|
26
|
+
t(template: string, variables?: Record<string, any>, language?: string): string;
|
|
27
|
+
/** Registers a new language */
|
|
28
|
+
registerLanguage(language: LanguageDefinition): void;
|
|
29
|
+
/** Sets the current user-facing language */
|
|
30
|
+
setLanguage(language: string): void;
|
|
31
|
+
/** Sets the administrative language */
|
|
32
|
+
setAdminLanguage(language: string): void;
|
|
33
|
+
/** Gets all registered languages */
|
|
34
|
+
getLanguages(): readonly LanguageDefinition[];
|
|
35
|
+
/** Checks if a language is registered */
|
|
36
|
+
hasLanguage(language: string): boolean;
|
|
37
|
+
/** Switches to admin context */
|
|
38
|
+
switchToAdmin(): void;
|
|
39
|
+
/** Switches to user context */
|
|
40
|
+
switchToUser(): void;
|
|
41
|
+
/** Gets the currently active language based on context */
|
|
42
|
+
getCurrentLanguage(): string;
|
|
43
|
+
/** Validates all registered components */
|
|
44
|
+
validate(): ValidationResult;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=i18n-engine.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-engine.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-engine.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAE1B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAC;IACpD,6DAA6D;IAC7D,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAC/D,gDAAgD;IAChD,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,gBAAgB,CAAC;IACtG,0CAA0C;IAC1C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,qCAAqC;IACrC,aAAa,IAAI,SAAS,eAAe,EAAE,CAAC;IAG5C,8CAA8C;IAC9C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxG,oEAAoE;IACpE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5G,sEAAsE;IACtE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGhF,+BAA+B;IAC/B,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrD,4CAA4C;IAC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uCAAuC;IACvC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,oCAAoC;IACpC,YAAY,IAAI,SAAS,kBAAkB,EAAE,CAAC;IAC9C,yCAAyC;IACzC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAGvC,gCAAgC;IAChC,aAAa,IAAI,IAAI,CAAC;IACtB,+BAA+B;IAC/B,YAAY,IAAI,IAAI,CAAC;IACrB,0DAA0D;IAC1D,kBAAkB,IAAI,MAAM,CAAC;IAG7B,0CAA0C;IAC1C,QAAQ,IAAI,gBAAgB,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-engine.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-engine.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Interface exports
|
|
3
3
|
* Using type-only exports to prevent runtime circular dependencies
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
export type * from './active-context.interface';
|
|
7
6
|
export type * from './component-config.interface';
|
|
8
7
|
export type * from './engine-config.interface';
|
|
@@ -11,3 +10,4 @@ export type * from './i18n-engine.interface';
|
|
|
11
10
|
export type * from './language-definition.interface';
|
|
12
11
|
export type * from './translation-options.interface';
|
|
13
12
|
export type * from './validation-result.interface';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mBAAmB,4BAA4B,CAAC;AAChD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/index.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language definition interface
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Defines a language with its metadata.
|
|
6
|
+
*/
|
|
7
|
+
export interface LanguageDefinition {
|
|
8
|
+
/** Unique identifier for the language (e.g., 'en-US') */
|
|
9
|
+
readonly id: string;
|
|
10
|
+
/** Display name in the native language */
|
|
11
|
+
readonly name: string;
|
|
12
|
+
/** ISO language code */
|
|
13
|
+
readonly code: string;
|
|
14
|
+
/** Whether this is the default/fallback language */
|
|
15
|
+
readonly isDefault?: boolean;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=language-definition.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-definition.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/language-definition.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-definition.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/language-definition.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Translation options interface
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Options that can be passed when requesting a translation.
|
|
6
|
+
*/
|
|
7
|
+
export interface TranslationOptions {
|
|
8
|
+
/** Variables to replace in template strings */
|
|
9
|
+
readonly variables?: Record<string, any>;
|
|
10
|
+
/** Language code to use for the translation */
|
|
11
|
+
readonly language?: string;
|
|
12
|
+
/** Fallback value to return if translation fails */
|
|
13
|
+
readonly fallback?: string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=translation-options.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-options.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/translation-options.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-options.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/translation-options.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation result interface
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Result of validating a component registration or the entire engine.
|
|
6
|
+
*/
|
|
7
|
+
export interface ValidationResult {
|
|
8
|
+
/** Whether the validation passed */
|
|
9
|
+
readonly isValid: boolean;
|
|
10
|
+
/** Array of validation errors */
|
|
11
|
+
readonly errors: readonly string[];
|
|
12
|
+
/** Array of validation warnings */
|
|
13
|
+
readonly warnings: readonly string[];
|
|
14
|
+
/** Detailed information about missing translation keys */
|
|
15
|
+
readonly missingKeys?: readonly {
|
|
16
|
+
/** The language ID where the key is missing */
|
|
17
|
+
languageId: string;
|
|
18
|
+
/** The component ID where the key is missing */
|
|
19
|
+
componentId: string;
|
|
20
|
+
/** The string key that is missing */
|
|
21
|
+
stringKey: string;
|
|
22
|
+
}[];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=validation-result.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-result.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/validation-result.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS;QAC9B,+CAA+C;QAC/C,UAAU,EAAE,MAAM,CAAC;QACnB,gDAAgD;QAChD,WAAW,EAAE,MAAM,CAAC;QACpB,qCAAqC;QACrC,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-result.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/validation-result.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common language codes following BCP 47 standard.
|
|
3
|
+
* These are provided as constants for convenience, but any string can be used as a language code.
|
|
4
|
+
* Site builders can use these or define their own custom language codes.
|
|
5
|
+
*/
|
|
6
|
+
export declare const LanguageCodes: {
|
|
7
|
+
readonly EN_US: "en-US";
|
|
8
|
+
readonly EN_GB: "en-GB";
|
|
9
|
+
readonly FR: "fr";
|
|
10
|
+
readonly ES: "es";
|
|
11
|
+
readonly DE: "de";
|
|
12
|
+
readonly ZH_CN: "zh-CN";
|
|
13
|
+
readonly JA: "ja";
|
|
14
|
+
readonly UK: "uk";
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Type representing any language code (string)
|
|
18
|
+
*/
|
|
19
|
+
export type LanguageCode = string;
|
|
20
|
+
/**
|
|
21
|
+
* Type representing the common language codes provided by this library
|
|
22
|
+
*/
|
|
23
|
+
export type CommonLanguageCode = (typeof LanguageCodes)[keyof typeof LanguageCodes];
|
|
24
|
+
/**
|
|
25
|
+
* Helper to get display names for common language codes
|
|
26
|
+
*/
|
|
27
|
+
export declare const LanguageDisplayNames: Record<CommonLanguageCode, string>;
|
|
28
|
+
//# sourceMappingURL=language-codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-codes.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/language-codes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;CAShB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CASnE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LanguageDisplayNames = exports.LanguageCodes = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Common language codes following BCP 47 standard.
|
|
6
|
+
* These are provided as constants for convenience, but any string can be used as a language code.
|
|
7
|
+
* Site builders can use these or define their own custom language codes.
|
|
8
|
+
*/
|
|
9
|
+
exports.LanguageCodes = {
|
|
10
|
+
EN_US: 'en-US',
|
|
11
|
+
EN_GB: 'en-GB',
|
|
12
|
+
FR: 'fr',
|
|
13
|
+
ES: 'es',
|
|
14
|
+
DE: 'de',
|
|
15
|
+
ZH_CN: 'zh-CN',
|
|
16
|
+
JA: 'ja',
|
|
17
|
+
UK: 'uk',
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Helper to get display names for common language codes
|
|
21
|
+
*/
|
|
22
|
+
exports.LanguageDisplayNames = {
|
|
23
|
+
[exports.LanguageCodes.EN_US]: 'English (US)',
|
|
24
|
+
[exports.LanguageCodes.EN_GB]: 'English (UK)',
|
|
25
|
+
[exports.LanguageCodes.FR]: 'Français',
|
|
26
|
+
[exports.LanguageCodes.ES]: 'Español',
|
|
27
|
+
[exports.LanguageCodes.DE]: 'Deutsch',
|
|
28
|
+
[exports.LanguageCodes.ZH_CN]: '中文',
|
|
29
|
+
[exports.LanguageCodes.JA]: '日本語',
|
|
30
|
+
[exports.LanguageCodes.UK]: 'Українська',
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=language-codes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-codes.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/language-codes.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACA,CAAC;AAaX;;GAEG;AACU,QAAA,oBAAoB,GAAuC;IACtE,CAAC,qBAAa,CAAC,KAAK,CAAC,EAAE,cAAc;IACrC,CAAC,qBAAa,CAAC,KAAK,CAAC,EAAE,cAAc;IACrC,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,UAAU;IAC9B,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,SAAS;IAC7B,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,SAAS;IAC7B,CAAC,qBAAa,CAAC,KAAK,CAAC,EAAE,IAAI;IAC3B,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,KAAK;IACzB,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,YAAY;CACjC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language definition with its properties
|
|
3
|
+
*/
|
|
4
|
+
export interface LanguageDefinition {
|
|
5
|
+
/** Unique identifier for the language */
|
|
6
|
+
readonly id: string;
|
|
7
|
+
/** Display name in the native language */
|
|
8
|
+
readonly name: string;
|
|
9
|
+
/** ISO language code (e.g., 'en', 'fr', 'zh-CN') */
|
|
10
|
+
readonly code: string;
|
|
11
|
+
/** Whether this is the fallback/default language */
|
|
12
|
+
readonly isDefault?: boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=language-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-definition.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/language-definition.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-definition.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/language-definition.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin-based internationalization engine with component and language registration
|
|
3
|
+
*/
|
|
4
|
+
import { ComponentDefinition } from './component-definition';
|
|
5
|
+
import { ComponentRegistration } from './component-registration';
|
|
6
|
+
import { ComponentRegistry } from './component-registry';
|
|
7
|
+
import { EnumTranslationRegistry } from './enum-registry';
|
|
8
|
+
import type { IActiveContext } from './interfaces/active-context.interface';
|
|
9
|
+
import { LanguageDefinition } from './language-definition';
|
|
10
|
+
import { RegistryConfig } from './registry-config';
|
|
11
|
+
import { TranslationResponse } from './translation-response';
|
|
12
|
+
import { EnumLanguageTranslation } from './types';
|
|
13
|
+
/**
|
|
14
|
+
* Plugin-based I18n Engine with registration capabilities
|
|
15
|
+
*/
|
|
16
|
+
export declare class PluginI18nEngine<TLanguages extends string> {
|
|
17
|
+
private readonly componentRegistry;
|
|
18
|
+
private readonly enumRegistry;
|
|
19
|
+
private readonly config;
|
|
20
|
+
private contextKey;
|
|
21
|
+
private readonly aliasToComponent;
|
|
22
|
+
private readonly componentKeyLookup;
|
|
23
|
+
/**
|
|
24
|
+
* Default template processor instance
|
|
25
|
+
*/
|
|
26
|
+
readonly t: (str: string, language?: TLanguages, ...otherVars: Record<string, string | number>[]) => string;
|
|
27
|
+
/**
|
|
28
|
+
* Static instances for semi-singleton pattern
|
|
29
|
+
*/
|
|
30
|
+
private static _instances;
|
|
31
|
+
private static _defaultKey;
|
|
32
|
+
protected static readonly DefaultInstanceKey = "default";
|
|
33
|
+
constructor(initialLanguages: readonly LanguageDefinition[], config?: Partial<RegistryConfig<TLanguages>>, options?: {
|
|
34
|
+
instanceKey?: string;
|
|
35
|
+
registerInstance?: boolean;
|
|
36
|
+
setAsDefault?: boolean;
|
|
37
|
+
});
|
|
38
|
+
private resolveComponentAndKey;
|
|
39
|
+
private registerComponentMetadata;
|
|
40
|
+
private normalizeLegacyKey;
|
|
41
|
+
/**
|
|
42
|
+
* Create a new instance with a specific key
|
|
43
|
+
*/
|
|
44
|
+
static createInstance<TLangs extends string>(key: string, initialLanguages: readonly LanguageDefinition[], config?: Partial<RegistryConfig<TLangs>>): PluginI18nEngine<TLangs>;
|
|
45
|
+
/**
|
|
46
|
+
* Get an existing instance by key
|
|
47
|
+
*/
|
|
48
|
+
static getInstance<TLangs extends string>(key?: string): PluginI18nEngine<TLangs>;
|
|
49
|
+
/**
|
|
50
|
+
* Register a new language (updates static registry)
|
|
51
|
+
*/
|
|
52
|
+
registerLanguage(language: LanguageDefinition): void;
|
|
53
|
+
/**
|
|
54
|
+
* Register multiple languages (updates static registry)
|
|
55
|
+
*/
|
|
56
|
+
registerLanguages(languages: readonly LanguageDefinition[]): void;
|
|
57
|
+
/**
|
|
58
|
+
* Register a component with its translations
|
|
59
|
+
*/
|
|
60
|
+
registerComponent<TStringKeys extends string>(registration: ComponentRegistration<TStringKeys, TLanguages>): import("./validation-result").ValidationResult;
|
|
61
|
+
/**
|
|
62
|
+
* Register a component only if it doesn't already exist
|
|
63
|
+
*/
|
|
64
|
+
registerComponentIfNotExists<TStringKeys extends string>(registration: ComponentRegistration<TStringKeys, TLanguages>): import("./validation-result").ValidationResult | {
|
|
65
|
+
isValid: boolean;
|
|
66
|
+
errors: never[];
|
|
67
|
+
warnings: never[];
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Update strings for an existing component
|
|
71
|
+
*/
|
|
72
|
+
updateComponentStrings<TStringKeys extends string>(componentId: string, strings: Parameters<ComponentRegistry<TLanguages>['updateComponentStrings']>[1]): import("./validation-result").ValidationResult;
|
|
73
|
+
/**
|
|
74
|
+
* Register an enum with translations
|
|
75
|
+
*/
|
|
76
|
+
registerEnum<TEnum extends string | number>(enumObj: Record<string, TEnum>, translations: EnumLanguageTranslation<TEnum, TLanguages>, enumName: string): void;
|
|
77
|
+
/**
|
|
78
|
+
* Translate a string for a component
|
|
79
|
+
*/
|
|
80
|
+
translate<TStringKeys extends string>(componentId: string, stringKey: TStringKeys, variables?: Record<string, string | number>, language?: TLanguages): string;
|
|
81
|
+
/**
|
|
82
|
+
* Safe translate that returns a placeholder if translation fails
|
|
83
|
+
*/
|
|
84
|
+
safeTranslate(componentId: string, stringKey: string, variables?: Record<string, string | number>, language?: TLanguages): string;
|
|
85
|
+
/**
|
|
86
|
+
* Translate an enum value
|
|
87
|
+
*/
|
|
88
|
+
translateEnum<TEnum extends string | number>(enumObj: Record<string, TEnum>, value: TEnum, language?: TLanguages): string;
|
|
89
|
+
/**
|
|
90
|
+
* Get detailed translation response
|
|
91
|
+
*/
|
|
92
|
+
getTranslationDetails<TStringKeys extends string>(componentId: string, stringKey: TStringKeys, variables?: Record<string, string | number>, language?: TLanguages): TranslationResponse;
|
|
93
|
+
/**
|
|
94
|
+
* Get current context
|
|
95
|
+
*/
|
|
96
|
+
getContext(): IActiveContext<TLanguages>;
|
|
97
|
+
/**
|
|
98
|
+
* Update context
|
|
99
|
+
*/
|
|
100
|
+
updateContext(updates: Partial<IActiveContext<TLanguages>>): void;
|
|
101
|
+
/**
|
|
102
|
+
* Get current language from global context
|
|
103
|
+
* Respects language context space (admin vs user)
|
|
104
|
+
*/
|
|
105
|
+
private getCurrentLanguage;
|
|
106
|
+
/**
|
|
107
|
+
* Set current language
|
|
108
|
+
*/
|
|
109
|
+
setLanguage(language: TLanguages): void;
|
|
110
|
+
/**
|
|
111
|
+
* Get available languages from static registry
|
|
112
|
+
*/
|
|
113
|
+
getLanguages(): readonly LanguageDefinition[];
|
|
114
|
+
/**
|
|
115
|
+
* Get registered components
|
|
116
|
+
*/
|
|
117
|
+
getComponents(): ReadonlyArray<ComponentDefinition<any>>;
|
|
118
|
+
/**
|
|
119
|
+
* Check if a component is registered
|
|
120
|
+
*/
|
|
121
|
+
hasComponent(componentId: string): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Check if a language is registered in static registry
|
|
124
|
+
*/
|
|
125
|
+
hasLanguage(language: TLanguages): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Get language by code from static registry
|
|
128
|
+
*/
|
|
129
|
+
getLanguageByCode(code: string): LanguageDefinition | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* Get component registry for direct access
|
|
132
|
+
*/
|
|
133
|
+
getComponentRegistry(): ComponentRegistry<TLanguages>;
|
|
134
|
+
/**
|
|
135
|
+
* Get enum registry for direct access
|
|
136
|
+
*/
|
|
137
|
+
getEnumRegistry(): EnumTranslationRegistry<string, TLanguages>;
|
|
138
|
+
/**
|
|
139
|
+
* Validate that all components have complete translations
|
|
140
|
+
*/
|
|
141
|
+
validateAllComponents(): {
|
|
142
|
+
isValid: boolean;
|
|
143
|
+
errors: string[];
|
|
144
|
+
warnings: string[];
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Clear all component registrations for this instance (useful for testing)
|
|
148
|
+
*/
|
|
149
|
+
clearAllComponents(): void;
|
|
150
|
+
/**
|
|
151
|
+
* Remove a specific named instance
|
|
152
|
+
*/
|
|
153
|
+
static removeInstance(key?: string): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Check if an instance exists
|
|
156
|
+
*/
|
|
157
|
+
static hasInstance(key?: string): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Reset all plugin engines and clear component registrations
|
|
160
|
+
* Useful for test cleanup
|
|
161
|
+
*/
|
|
162
|
+
static resetAll(): void;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=plugin-i18n-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-i18n-engine.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/plugin-i18n-engine.ts"],"names":[],"mappings":"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"}
|