@digitaldefiance/i18n-lib 2.0.3 → 2.1.1

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.
Files changed (67) hide show
  1. package/README.md +170 -4
  2. package/package.json +1 -1
  3. package/src/builders/i18n-builder.d.ts +2 -0
  4. package/src/builders/i18n-builder.d.ts.map +1 -1
  5. package/src/builders/i18n-builder.js +8 -0
  6. package/src/builders/i18n-builder.js.map +1 -1
  7. package/src/core/i18n-engine.d.ts +7 -0
  8. package/src/core/i18n-engine.d.ts.map +1 -1
  9. package/src/core/i18n-engine.js +171 -10
  10. package/src/core/i18n-engine.js.map +1 -1
  11. package/src/errors/handleable.d.ts.map +1 -1
  12. package/src/errors/handleable.js +1 -0
  13. package/src/errors/handleable.js.map +1 -1
  14. package/src/errors/i18n-error.d.ts +2 -0
  15. package/src/errors/i18n-error.d.ts.map +1 -1
  16. package/src/errors/i18n-error.js +4 -0
  17. package/src/errors/i18n-error.js.map +1 -1
  18. package/src/errors/index.d.ts +4 -4
  19. package/src/errors/index.d.ts.map +1 -1
  20. package/src/errors/index.js +4 -4
  21. package/src/errors/index.js.map +1 -1
  22. package/src/errors/{plugin-translatable-generic.d.ts → translatable-generic.d.ts} +4 -4
  23. package/src/errors/translatable-generic.d.ts.map +1 -0
  24. package/src/errors/{plugin-translatable-generic.js → translatable-generic.js} +8 -8
  25. package/src/errors/translatable-generic.js.map +1 -0
  26. package/src/errors/{plugin-translatable-handleable-generic.d.ts → translatable-handleable-generic.d.ts} +3 -3
  27. package/src/errors/translatable-handleable-generic.d.ts.map +1 -0
  28. package/src/errors/{plugin-translatable-handleable-generic.js → translatable-handleable-generic.js} +6 -5
  29. package/src/errors/translatable-handleable-generic.js.map +1 -0
  30. package/src/errors/translatable.d.ts +2 -2
  31. package/src/errors/translatable.d.ts.map +1 -1
  32. package/src/errors/translatable.js +4 -4
  33. package/src/errors/translatable.js.map +1 -1
  34. package/src/errors/typed-handleable.d.ts +2 -1
  35. package/src/errors/typed-handleable.d.ts.map +1 -1
  36. package/src/errors/typed-handleable.js +13 -4
  37. package/src/errors/typed-handleable.js.map +1 -1
  38. package/src/errors/typed.d.ts +19 -2
  39. package/src/errors/typed.d.ts.map +1 -1
  40. package/src/errors/typed.js +88 -30
  41. package/src/errors/typed.js.map +1 -1
  42. package/src/global-active-context.d.ts.map +1 -1
  43. package/src/global-active-context.js +6 -0
  44. package/src/global-active-context.js.map +1 -1
  45. package/src/index.d.ts +0 -5
  46. package/src/index.d.ts.map +1 -1
  47. package/src/index.js +0 -5
  48. package/src/index.js.map +1 -1
  49. package/src/utils/currency.d.ts +1 -0
  50. package/src/utils/currency.d.ts.map +1 -1
  51. package/src/utils/currency.js +4 -1
  52. package/src/utils/currency.js.map +1 -1
  53. package/src/utils/string-utils.d.ts.map +1 -1
  54. package/src/utils/string-utils.js +14 -2
  55. package/src/utils/string-utils.js.map +1 -1
  56. package/src/utils/timezone.d.ts +1 -0
  57. package/src/utils/timezone.d.ts.map +1 -1
  58. package/src/utils/timezone.js +3 -0
  59. package/src/utils/timezone.js.map +1 -1
  60. package/src/errors/plugin-translatable-generic.d.ts.map +0 -1
  61. package/src/errors/plugin-translatable-generic.js.map +0 -1
  62. package/src/errors/plugin-translatable-handleable-generic.d.ts.map +0 -1
  63. package/src/errors/plugin-translatable-handleable-generic.js.map +0 -1
  64. package/src/errors/plugin-typed-handleable.d.ts +0 -14
  65. package/src/errors/plugin-typed-handleable.d.ts.map +0 -1
  66. package/src/errors/plugin-typed-handleable.js +0 -51
  67. package/src/errors/plugin-typed-handleable.js.map +0 -1
package/README.md CHANGED
@@ -6,12 +6,20 @@ A production-ready TypeScript internationalization library with component-based
6
6
 
7
7
  - **Component-Based Architecture**: Register translation components with full type safety
8
8
  - **8 Built-in Languages**: English (US/UK), French, Spanish, German, Chinese, Japanese, Ukrainian
9
- - **Template Processing**: Support for variable substitution and component references
9
+ - **Advanced Template Processing**:
10
+ - Component references: `{{Component.key}}`
11
+ - Alias resolution: `{{Alias.key}}`
12
+ - Enum name resolution: `{{EnumName.value}}`
13
+ - Variable substitution: `{variable}`
14
+ - Context variables: `{currency}`, `{timezone}`, `{language}`
15
+ - **Context Integration**: Automatic injection of currency, timezone, and language from GlobalActiveContext
16
+ - **Smart Object Handling**: CurrencyCode and Timezone objects automatically extract values
10
17
  - **Multiple Instances**: Create isolated i18n engines for different contexts
18
+ - **Fluent Builder**: I18nBuilder for clean, chainable engine configuration
11
19
  - **Core System Strings**: Pre-built translations for common UI elements and errors
12
20
  - **Type Safety**: Full TypeScript support with generic types
13
21
  - **Error Handling**: Comprehensive error classes with translation support
14
- - **Zero Dependencies**: Lightweight with no external runtime dependencies
22
+ - **91.81% Test Coverage**: 714 tests covering all features
15
23
 
16
24
  ## Installation
17
25
 
@@ -126,11 +134,80 @@ const safe = engine.safeTranslate('missing', 'key'); // Returns "[missing.key]"
126
134
  // Component references: {{componentId.stringKey}}
127
135
  engine.t('Click {{auth.login}} to continue');
128
136
 
137
+ // Alias resolution: {{alias.stringKey}}
138
+ engine.registerComponent({
139
+ component: { id: 'authentication', /* ... */ },
140
+ aliases: ['auth', 'AuthModule']
141
+ });
142
+ engine.t('{{auth.login}}'); // Resolves via alias
143
+
129
144
  // Variables: {variableName}
130
145
  engine.t('Hello, {username}!', { username: 'Alice' });
131
146
 
132
- // Mixed
133
- engine.t('{{auth.login}}: {username}', { username: 'admin' });
147
+ // Context variables (automatic injection)
148
+ engine.t('Price in {currency}'); // Uses context currency
149
+ engine.t('Time: {timezone}'); // Uses context timezone
150
+ engine.t('Language: {language}'); // Uses current language
151
+
152
+ // CurrencyCode and Timezone objects
153
+ const currency = new CurrencyCode('EUR');
154
+ const timezone = new Timezone('America/New_York');
155
+ engine.t('Price: {amount} {currency}', { amount: 100, currency });
156
+ // Output: "Price: 100 EUR"
157
+
158
+ // Variable priority: provided > context > constants
159
+ engine.t('{AppName}'); // Uses constant
160
+ engine.t('{currency}'); // Uses context
161
+ engine.t('{currency}', { currency: 'GBP' }); // Uses provided (overrides context)
162
+
163
+ // Mixed patterns
164
+ engine.t('{{auth.login}}: {username} ({currency})', { username: 'admin' });
165
+ ```
166
+
167
+ ### Builder Pattern
168
+
169
+ ```typescript
170
+ import { I18nBuilder } from '@digitaldefiance/i18n-lib';
171
+
172
+ const engine = I18nBuilder.create()
173
+ .withLanguages([
174
+ { id: 'en-US', name: 'English', code: 'en-US', isDefault: true },
175
+ { id: 'fr', name: 'French', code: 'fr' }
176
+ ])
177
+ .withDefaultLanguage('en-US')
178
+ .withFallbackLanguage('en-US')
179
+ .withConstants({
180
+ AppName: 'MyApp',
181
+ Version: '1.0.0'
182
+ })
183
+ .withValidation({
184
+ requireCompleteStrings: false,
185
+ allowPartialRegistration: true
186
+ })
187
+ .withInstanceKey('myapp')
188
+ .withRegisterInstance(true)
189
+ .withSetAsDefault(true)
190
+ .build();
191
+ ```
192
+
193
+ ### Context Integration
194
+
195
+ ```typescript
196
+ import { GlobalActiveContext, CurrencyCode, Timezone } from '@digitaldefiance/i18n-lib';
197
+
198
+ // Set context variables
199
+ const context = GlobalActiveContext.getInstance();
200
+ context.setCurrencyCode(new CurrencyCode('EUR'));
201
+ context.setUserTimezone(new Timezone('Europe/Paris'));
202
+ context.setUserLanguage('fr');
203
+
204
+ // Context variables automatically available in translations
205
+ engine.t('Price in {currency}'); // "Price in EUR"
206
+ engine.t('Timezone: {timezone}'); // "Timezone: Europe/Paris"
207
+ engine.t('Language: {language}'); // "Language: fr"
208
+
209
+ // Override context with provided variables
210
+ engine.t('Price in {currency}', { currency: 'USD' }); // "Price in USD"
134
211
  ```
135
212
 
136
213
  ### Language Management
@@ -405,6 +482,95 @@ Contributions welcome! Please:
405
482
 
406
483
  ## ChangeLog
407
484
 
485
+ ### Version 2.1.1
486
+
487
+ - Minor fix, set this.name in errors
488
+
489
+ ### Version 2.1.0 (December 2025)
490
+
491
+ **Moderate Feature Release** - Enhanced I18nEngine with context variables, comprehensive testing, and improved architecture
492
+
493
+ **New Features:**
494
+
495
+ - **Context Variable Injection**: Automatic injection of timezone, currency, and language from GlobalActiveContext
496
+ - `t()` function now supports `{currency}`, `{timezone}`, `{language}`, `{adminLanguage}`, etc.
497
+ - CurrencyCode and Timezone objects automatically extract their values
498
+ - Variable priority: provided variables > context variables > constants
499
+ - **Enhanced t() Function**: Complete template processing with multiple resolution strategies
500
+ - `{{Component.key}}` - Component reference resolution
501
+ - `{{Alias.key}}` - Alias resolution for components
502
+ - `{{EnumName.key}}` - Enum name resolution
503
+ - `{variable}` - Variable substitution with context awareness
504
+ - Mixed patterns supported in single template
505
+ - **Object Value Extraction**: Smart handling of wrapper objects
506
+ - CurrencyCode objects: `.value` and `.code` getters
507
+ - Timezone objects: `.value` and `.name` getters
508
+ - Generic objects with `.value` property automatically extracted
509
+ - **I18nBuilder**: Fluent builder pattern for engine creation
510
+ - `withLanguages()`, `withConstants()`, `withValidation()`
511
+ - `withInstanceKey()`, `withRegisterInstance()`, `withSetAsDefault()`
512
+ - Method chaining for clean configuration
513
+ - **Renamed Classes**: Removed "Plugin" prefix for clarity
514
+ - `PluginTypedError` → `ComponentTypedError` (with backward compatibility alias)
515
+ - `createPluginTypedError()` → `createComponentTypedError()`
516
+ - Old names deprecated but still functional
517
+
518
+ **Improved:**
519
+
520
+ - **Test Coverage**: Increased from 87.81% to 91.81% overall
521
+ - string-utils: 0% → 100%
522
+ - typed.ts: 48.68% → 83.17%
523
+ - i18n-builder: 61.53% → 86.66%
524
+ - 714 total tests (all passing)
525
+ - **Error Translation**: All error classes now properly translate messages
526
+ - TypedError, TypedHandleableError, TranslatableError
527
+ - Multi-language support with template variables
528
+ - Context-aware language selection
529
+ - **Type Safety**: Enhanced generic types throughout
530
+ - Better inference for component IDs and string keys
531
+ - Stricter validation at compile time
532
+ - **Documentation**: Comprehensive test examples for all features
533
+ - t() function special cases
534
+ - Context variable integration
535
+ - Error translation patterns
536
+ - Builder pattern usage
537
+
538
+ **Fixed:**
539
+
540
+ - TranslatableError now requires componentId as first parameter (breaking change)
541
+ - I18nError.stringKeyNotFound() method added
542
+ - CurrencyCode error now uses correct TranslatableError signature
543
+ - Variable substitution in templates now works with all object types
544
+ - Context variables properly override constants
545
+
546
+ **Testing:**
547
+
548
+ - Added comprehensive test suites:
549
+ - `t-function.spec.ts` - All t() function capabilities
550
+ - `error-translation.spec.ts` - Error class translation
551
+ - `context-integration.spec.ts` - Context variable injection
552
+ - `string-utils.spec.ts` - String utility functions
553
+ - `i18n-builder.spec.ts` - Builder pattern
554
+ - `typed-helpers.spec.ts` - Typed error helpers
555
+
556
+ **Migration Notes:**
557
+
558
+ ```typescript
559
+ // Old TranslatableError signature
560
+ new TranslatableError(stringKey, variables, language);
561
+
562
+ // New signature (v2.1.0)
563
+ new TranslatableError(componentId, stringKey, variables, language);
564
+
565
+ // Context variables now automatically available in t()
566
+ engine.t('Price: {currency}'); // Uses context currency
567
+ engine.t('Price: {currency}', { currency: 'EUR' }); // Override with provided
568
+
569
+ // CurrencyCode and Timezone objects work seamlessly
570
+ const currency = new CurrencyCode('USD');
571
+ engine.translate('app', 'price', { currency }); // Extracts 'USD'
572
+ ```
573
+
408
574
  ### Version 2.0.3
409
575
 
410
576
  - Export error classes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/i18n-lib",
3
- "version": "2.0.3",
3
+ "version": "2.1.1",
4
4
  "description": "i18n library with enum translation support",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -17,6 +17,8 @@ export declare class I18nBuilder {
17
17
  withConstants(constants: Record<string, any>): this;
18
18
  withValidation(validation: EngineConfig['validation']): this;
19
19
  withInstanceKey(key: string): this;
20
+ withRegisterInstance(register: boolean): this;
21
+ withSetAsDefault(setDefault: boolean): this;
20
22
  isolated(): this;
21
23
  asDefault(): this;
22
24
  build(): I18nEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/builders/i18n-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO;IAEP,MAAM,CAAC,MAAM,IAAI,WAAW;IAI5B,aAAa,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI;IAK7D,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK7C,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK9C,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKnD,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI;IAK5D,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKlC,QAAQ,IAAI,IAAI;IAKhB,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,UAAU;CAWpB"}
1
+ {"version":3,"file":"i18n-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/builders/i18n-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO;IAEP,MAAM,CAAC,MAAM,IAAI,WAAW;IAI5B,aAAa,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI;IAK7D,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK7C,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK9C,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKnD,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI;IAK5D,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKlC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK7C,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAK3C,QAAQ,IAAI,IAAI;IAKhB,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,UAAU;CAWpB"}
@@ -39,6 +39,14 @@ class I18nBuilder {
39
39
  this.instanceKey = key;
40
40
  return this;
41
41
  }
42
+ withRegisterInstance(register) {
43
+ this.registerInstance = register;
44
+ return this;
45
+ }
46
+ withSetAsDefault(setDefault) {
47
+ this.setAsDefault = setDefault;
48
+ return this;
49
+ }
42
50
  isolated() {
43
51
  this.registerInstance = false;
44
52
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/builders/i18n-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,qDAAiD;AAEjD,MAAa,WAAW;IACd,SAAS,GAAyB,EAAE,CAAC;IACrC,MAAM,GAAiB,EAAE,CAAC;IAC1B,WAAW,CAAU;IACrB,gBAAgB,GAAG,IAAI,CAAC;IACxB,YAAY,GAAG,IAAI,CAAC;IAE5B,gBAAuB,CAAC;IAExB,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,SAAwC;QACpD,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,UAAkB;QACpC,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,UAAkB;QACrC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,SAA8B;QAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,UAAsC;QACnD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,wBAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACjD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AAhED,kCAgEC"}
1
+ {"version":3,"file":"i18n-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/builders/i18n-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,qDAAiD;AAEjD,MAAa,WAAW;IACd,SAAS,GAAyB,EAAE,CAAC;IACrC,MAAM,GAAiB,EAAE,CAAC;IAC1B,WAAW,CAAU;IACrB,gBAAgB,GAAG,IAAI,CAAC;IACxB,YAAY,GAAG,IAAI,CAAC;IAE5B,gBAAuB,CAAC;IAExB,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,SAAwC;QACpD,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,UAAkB;QACpC,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,UAAkB;QACrC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,SAA8B;QAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,UAAsC;QACnD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,QAAiB;QACpC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,wBAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACjD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AA1ED,kCA0EC"}
@@ -11,18 +11,25 @@ export declare class I18nEngine implements II18nEngine {
11
11
  private readonly enumRegistry;
12
12
  private readonly instanceKey;
13
13
  private readonly config;
14
+ private readonly aliasToComponent;
15
+ private readonly componentKeyLookup;
14
16
  constructor(languages: readonly LanguageDefinition[], config?: EngineConfig, options?: {
15
17
  instanceKey?: string;
16
18
  registerInstance?: boolean;
17
19
  setAsDefault?: boolean;
18
20
  });
19
21
  register(config: ComponentConfig): ValidationResult;
22
+ private registerComponentMetadata;
23
+ private normalizeLegacyKey;
24
+ private resolveComponentAndKey;
20
25
  updateStrings(componentId: string, strings: Record<string, Record<string, string>>): ValidationResult;
21
26
  hasComponent(componentId: string): boolean;
22
27
  getComponents(): readonly ComponentConfig[];
23
28
  translate(componentId: string, key: string, variables?: Record<string, any>, language?: string): string;
24
29
  safeTranslate(componentId: string, key: string, variables?: Record<string, any>, language?: string): string;
25
30
  t(template: string, variables?: Record<string, any>, language?: string): string;
31
+ private buildCombinedVariables;
32
+ private extractValue;
26
33
  registerLanguage(language: LanguageDefinition): void;
27
34
  setLanguage(language: string): void;
28
35
  setAdminLanguage(language: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-engine.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n-engine.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ const component_store_1 = require("./component-store");
10
10
  const context_manager_1 = require("./context-manager");
11
11
  const enum_registry_1 = require("./enum-registry");
12
12
  const language_registry_1 = require("./language-registry");
13
+ const currency_1 = require("../utils/currency");
14
+ const timezone_1 = require("../utils/timezone");
13
15
  class I18nEngine {
14
16
  static instances = new Map();
15
17
  static defaultKey = null;
@@ -19,6 +21,8 @@ class I18nEngine {
19
21
  enumRegistry;
20
22
  instanceKey;
21
23
  config;
24
+ aliasToComponent = new Map();
25
+ componentKeyLookup = new Map();
22
26
  constructor(languages, config = {}, options) {
23
27
  // Register languages
24
28
  for (const lang of languages) {
@@ -56,8 +60,86 @@ class I18nEngine {
56
60
  }
57
61
  // Component management
58
62
  register(config) {
63
+ this.registerComponentMetadata(config);
59
64
  return this.componentStore.register(config);
60
65
  }
66
+ registerComponentMetadata(config) {
67
+ const componentId = config.id;
68
+ const aliases = config.aliases || [];
69
+ const enumName = config.enumName;
70
+ const enumObject = config.enumObject;
71
+ const aliasSet = new Set();
72
+ if (componentId)
73
+ aliasSet.add(componentId);
74
+ if (enumName)
75
+ aliasSet.add(enumName);
76
+ aliases.forEach((alias) => {
77
+ if (alias)
78
+ aliasSet.add(alias);
79
+ });
80
+ aliasSet.forEach((alias) => {
81
+ const trimmed = alias.trim();
82
+ if (trimmed.length > 0) {
83
+ this.aliasToComponent.set(trimmed, componentId);
84
+ }
85
+ });
86
+ if (!this.componentKeyLookup.has(componentId)) {
87
+ this.componentKeyLookup.set(componentId, new Map());
88
+ }
89
+ const keyMap = this.componentKeyLookup.get(componentId);
90
+ const addKeyVariant = (aliasKey, canonicalKey) => {
91
+ if (!aliasKey || !canonicalKey)
92
+ return;
93
+ keyMap.set(aliasKey, canonicalKey);
94
+ const normalized = this.normalizeLegacyKey(aliasKey);
95
+ if (normalized && normalized !== aliasKey) {
96
+ keyMap.set(normalized, canonicalKey);
97
+ }
98
+ };
99
+ // Get string keys from the strings object
100
+ const firstLang = Object.keys(config.strings)[0];
101
+ if (firstLang) {
102
+ Object.keys(config.strings[firstLang]).forEach((key) => {
103
+ addKeyVariant(key, key);
104
+ });
105
+ }
106
+ if (enumObject) {
107
+ Object.entries(enumObject).forEach(([enumKey, enumValue]) => {
108
+ if (typeof enumValue === 'string') {
109
+ addKeyVariant(enumKey, enumValue);
110
+ }
111
+ });
112
+ }
113
+ }
114
+ normalizeLegacyKey(rawKey) {
115
+ if (!rawKey)
116
+ return null;
117
+ const normalized = rawKey
118
+ .replace(/[-\s]+/g, '_')
119
+ .replace(/([a-z0-9])([A-Z])/g, '$1_$2')
120
+ .replace(/__+/g, '_')
121
+ .toLowerCase();
122
+ return normalized.length > 0 ? normalized : null;
123
+ }
124
+ resolveComponentAndKey(prefix, rawKey) {
125
+ const componentId = this.aliasToComponent.get(prefix) ?? prefix;
126
+ const keyLookup = this.componentKeyLookup.get(componentId);
127
+ if (!keyLookup) {
128
+ return { componentId, stringKey: rawKey };
129
+ }
130
+ const directMatch = keyLookup.get(rawKey);
131
+ if (directMatch) {
132
+ return { componentId, stringKey: directMatch };
133
+ }
134
+ const normalized = this.normalizeLegacyKey(rawKey);
135
+ if (normalized) {
136
+ const normalizedMatch = keyLookup.get(normalized);
137
+ if (normalizedMatch) {
138
+ return { componentId, stringKey: normalizedMatch };
139
+ }
140
+ }
141
+ return { componentId, stringKey: rawKey };
142
+ }
61
143
  updateStrings(componentId, strings) {
62
144
  return this.componentStore.update(componentId, strings);
63
145
  }
@@ -70,30 +152,109 @@ class I18nEngine {
70
152
  // Translation
71
153
  translate(componentId, key, variables, language) {
72
154
  const lang = language || I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
73
- return this.componentStore.translate(componentId, key, variables, lang);
155
+ const combinedVars = this.buildCombinedVariables(variables);
156
+ return this.componentStore.translate(componentId, key, combinedVars, lang);
74
157
  }
75
158
  safeTranslate(componentId, key, variables, language) {
76
159
  const lang = language || I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
77
- return this.componentStore.safeTranslate(componentId, key, variables, lang);
160
+ const combinedVars = this.buildCombinedVariables(variables);
161
+ return this.componentStore.safeTranslate(componentId, key, combinedVars, lang);
78
162
  }
79
163
  t(template, variables, language) {
80
164
  const lang = language || I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
81
- // Replace {{component.key}} patterns
165
+ // Build combined variables: constants + context + provided (provided overrides all)
166
+ const combinedVars = this.buildCombinedVariables(variables);
167
+ // Replace {{component.key}} or {{EnumName.key}} patterns with alias support
82
168
  let result = template.replace(/\{\{([^}]+)\}\}/g, (match, pattern) => {
83
169
  const parts = pattern.split('.');
84
170
  if (parts.length === 2) {
85
- const [componentId, key] = parts.map((p) => p.trim());
86
- return this.safeTranslate(componentId, key, variables, lang);
171
+ const [rawPrefix, rawKey] = parts;
172
+ const prefix = rawPrefix.trim();
173
+ const key = rawKey.trim();
174
+ // Always pass combined variables to translations
175
+ // The translation will use them if the string has placeholders
176
+ // Resolve aliases and enum names to actual component IDs
177
+ const { componentId, stringKey } = this.resolveComponentAndKey(prefix, key);
178
+ return this.safeTranslate(componentId, stringKey, combinedVars, lang);
87
179
  }
88
180
  return match;
89
181
  });
90
- // Replace {variable} patterns
182
+ // Replace {variable} patterns with combined variables
183
+ result = result.replace(/\{(\w+)\}/g, (match, varName) => {
184
+ return combinedVars[varName] !== undefined ? String(combinedVars[varName]) : match;
185
+ });
186
+ return result;
187
+ }
188
+ buildCombinedVariables(variables) {
189
+ const combined = {};
190
+ // 1. Start with constants from config
191
+ if (this.config.constants) {
192
+ // Extract values from any wrapper objects in constants
193
+ for (const [key, value] of Object.entries(this.config.constants)) {
194
+ combined[key] = this.extractValue(value);
195
+ }
196
+ }
197
+ // 2. Add context variables (timezone, currency, language, etc.)
198
+ // GlobalActiveContext is optional and may not be available in all environments
199
+ try {
200
+ // Check if GlobalActiveContext is available in global scope
201
+ const GlobalActiveContext = globalThis.GlobalActiveContext;
202
+ if (GlobalActiveContext && typeof GlobalActiveContext.getInstance === 'function') {
203
+ const globalContext = GlobalActiveContext.getInstance();
204
+ const context = globalContext?.context;
205
+ if (context) {
206
+ // Add context variables
207
+ combined.language = context.language;
208
+ combined.adminLanguage = context.adminLanguage;
209
+ combined.currentContext = context.currentContext;
210
+ if (context.currencyCode) {
211
+ // Extract value from CurrencyCode object
212
+ const currencyValue = this.extractValue(context.currencyCode);
213
+ combined.currencyCode = currencyValue;
214
+ combined.currency = currencyValue;
215
+ }
216
+ if (context.timezone) {
217
+ // Extract value from Timezone object
218
+ const timezoneValue = this.extractValue(context.timezone);
219
+ combined.timezone = timezoneValue;
220
+ combined.userTimezone = timezoneValue;
221
+ }
222
+ if (context.adminTimezone) {
223
+ // Extract value from Timezone object
224
+ combined.adminTimezone = this.extractValue(context.adminTimezone);
225
+ }
226
+ }
227
+ }
228
+ }
229
+ catch (error) {
230
+ // GlobalActiveContext not available or not initialized - continue without context vars
231
+ }
232
+ // 3. Override with provided variables (highest priority)
233
+ // Also extract values from any CurrencyCode or Timezone objects
91
234
  if (variables) {
92
- result = result.replace(/\{(\w+)\}/g, (match, varName) => {
93
- return variables[varName] !== undefined ? String(variables[varName]) : match;
94
- });
235
+ const processedVars = {};
236
+ for (const [key, value] of Object.entries(variables)) {
237
+ processedVars[key] = this.extractValue(value);
238
+ }
239
+ Object.assign(combined, processedVars);
95
240
  }
96
- return result;
241
+ return combined;
242
+ }
243
+ extractValue(value) {
244
+ // Handle CurrencyCode objects
245
+ if (value instanceof currency_1.CurrencyCode) {
246
+ return value.value;
247
+ }
248
+ // Handle Timezone objects
249
+ if (value instanceof timezone_1.Timezone) {
250
+ return value.value;
251
+ }
252
+ // Handle objects with a 'value' property (duck typing for cross-context compatibility)
253
+ if (value && typeof value === 'object' && 'value' in value && typeof value.value !== 'function') {
254
+ return value.value;
255
+ }
256
+ // Return as-is for primitives and other objects
257
+ return value;
97
258
  }
98
259
  // Language management
99
260
  registerLanguage(language) {
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-engine.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n-engine.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleable.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/handleable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAMhF,qBAAa,eAAgB,SAAQ,KAAM,YAAW,WAAW;IAC/D,SAAyB,KAAK,CAAC,EAAE,KAAK,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAqB3D,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,OAAO,EAEhC;IAED,OAAO,CAAC,cAAc;IAuBf,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAazC"}
1
+ {"version":3,"file":"handleable.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/handleable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAMhF,qBAAa,eAAgB,SAAQ,KAAM,YAAW,WAAW;IAC/D,SAAyB,KAAK,CAAC,EAAE,KAAK,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAsB3D,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,OAAO,EAEhC;IAED,OAAO,CAAC,cAAc;IAuBf,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAazC"}
@@ -13,6 +13,7 @@ class HandleableError extends Error {
13
13
  this.statusCode = options?.statusCode ?? 500;
14
14
  this._handled = options?.handled ?? false;
15
15
  this.sourceData = options?.sourceData;
16
+ this.name = 'HandleableError';
16
17
  // Capture stack trace - prioritize source stack, then capture new one
17
18
  if (source.stack) {
18
19
  this.stack = source.stack;
@@ -1 +1 @@
1
- {"version":3,"file":"handleable.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/handleable.ts"],"names":[],"mappings":";;;AAOA,MAAa,eAAgB,SAAQ,KAAK;IACf,KAAK,CAAS;IACvB,UAAU,CAAS;IACnB,UAAU,CAAW;IAC7B,QAAQ,CAAU;IAE1B,YAAY,MAAa,EAAE,OAAgC;QACzD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QAEtC,sEAAsE;QACtE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,CAAC;aAAM,IAAK,KAAmC,CAAC,iBAAiB,EAAE,CAAC;YACjE,KAAmC,CAAC,iBAAiB,EAAE,CACtD,IAAI,EACJ,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,KAAc;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAEO,cAAc,CAAC,KAAc;QACnC,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,UAAU;gBACjB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;CACF;AAvED,0CAuEC"}
1
+ {"version":3,"file":"handleable.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/handleable.ts"],"names":[],"mappings":";;;AAOA,MAAa,eAAgB,SAAQ,KAAK;IACf,KAAK,CAAS;IACvB,UAAU,CAAS;IACnB,UAAU,CAAW;IAC7B,QAAQ,CAAU;IAE1B,YAAY,MAAa,EAAE,OAAgC;QACzD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAE9B,sEAAsE;QACtE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,CAAC;aAAM,IAAK,KAAmC,CAAC,iBAAiB,EAAE,CAAC;YACjE,KAAmC,CAAC,iBAAiB,EAAE,CACtD,IAAI,EACJ,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,KAAc;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAEO,cAAc,CAAC,KAAc;QACnC,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,UAAU;gBACjB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;CACF;AAxED,0CAwEC"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export declare const I18nErrorCode: {
5
5
  readonly COMPONENT_NOT_FOUND: "COMPONENT_NOT_FOUND";
6
+ readonly STRING_KEY_NOT_FOUND: "STRING_KEY_NOT_FOUND";
6
7
  readonly LANGUAGE_NOT_FOUND: "LANGUAGE_NOT_FOUND";
7
8
  readonly TRANSLATION_MISSING: "TRANSLATION_MISSING";
8
9
  readonly INVALID_CONFIG: "INVALID_CONFIG";
@@ -19,6 +20,7 @@ export declare class I18nError extends Error {
19
20
  readonly metadata?: Record<string, any> | undefined;
20
21
  constructor(code: I18nErrorCode, message: string, metadata?: Record<string, any> | undefined);
21
22
  static componentNotFound(componentId: string): I18nError;
23
+ static stringKeyNotFound(componentId: string, stringKey: string): I18nError;
22
24
  static languageNotFound(language: string): I18nError;
23
25
  static translationMissing(componentId: string, stringKey: string, language: string): I18nError;
24
26
  static invalidConfig(reason: string): I18nError;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;CAWhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,qBAAa,SAAU,SAAQ,KAAK;aAEhB,IAAI,EAAE,aAAa;aAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAF9B,IAAI,EAAE,aAAa,EACnC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;IAOhD,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAQxD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQpD,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,SAAS;IAQZ,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAI/C,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAQzD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQrD,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS;IAQpD,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ/C,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ7C,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;CAOrD"}
1
+ {"version":3,"file":"i18n-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,qBAAa,SAAU,SAAQ,KAAK;aAEhB,IAAI,EAAE,aAAa;aAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAF9B,IAAI,EAAE,aAAa,EACnC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;IAOhD,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAQxD,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS;IAQ3E,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQpD,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,SAAS;IAQZ,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAI/C,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAQzD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQrD,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS;IAQpD,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ/C,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ7C,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;CAOrD"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.I18nError = exports.I18nErrorCode = void 0;
7
7
  exports.I18nErrorCode = {
8
8
  COMPONENT_NOT_FOUND: 'COMPONENT_NOT_FOUND',
9
+ STRING_KEY_NOT_FOUND: 'STRING_KEY_NOT_FOUND',
9
10
  LANGUAGE_NOT_FOUND: 'LANGUAGE_NOT_FOUND',
10
11
  TRANSLATION_MISSING: 'TRANSLATION_MISSING',
11
12
  INVALID_CONFIG: 'INVALID_CONFIG',
@@ -29,6 +30,9 @@ class I18nError extends Error {
29
30
  static componentNotFound(componentId) {
30
31
  return new I18nError(exports.I18nErrorCode.COMPONENT_NOT_FOUND, `Component '${componentId}' not found`, { componentId });
31
32
  }
33
+ static stringKeyNotFound(componentId, stringKey) {
34
+ return new I18nError(exports.I18nErrorCode.STRING_KEY_NOT_FOUND, `String key '${stringKey}' not found in component '${componentId}'`, { componentId, stringKey });
35
+ }
32
36
  static languageNotFound(language) {
33
37
  return new I18nError(exports.I18nErrorCode.LANGUAGE_NOT_FOUND, `Language '${language}' not found`, { language });
34
38
  }