@digitaldefiance/i18n-lib 1.3.15 → 1.3.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,19 +24,19 @@ A comprehensive, production-ready TypeScript internationalization (i18n) library
24
24
  - **Configuration Validation**: Automatic validation ensures all languages have complete string collections
25
25
  - **Localized Error Messages**: Error messages translated using the engine's own translation system
26
26
  - **Enum Translation Registry**: Translate enum values with complete type safety and automatic validation
27
- - **Advanced Template Processing**:
28
- - Component-based patterns: `{{componentId.stringKey}}`
27
+ - **Advanced Template Processing**:
28
+ - Component-based patterns: `{{componentId.stringKey}}` (supports component IDs, registered aliases, or enum-name prefixes such as `{{SuiteCoreStringKey.User_Login}}`)
29
29
  - Legacy enum patterns: `{{EnumName.EnumKey}}`
30
30
  - Variable replacement: `{variableName}`
31
31
  - Nested template support with multiple variable objects
32
- - **Context Management**:
32
+ - **Context Management**:
33
33
  - Admin vs user translation contexts
34
34
  - Automatic language switching based on context
35
35
  - Per-instance context isolation
36
36
  - Global context with named instance support
37
37
  - **Currency Formatting**: Built-in currency formatting utilities with locale-aware symbol positioning
38
38
  - **Timezone Support**: Validated timezone handling with moment-timezone integration
39
- - **Intelligent Fallback System**:
39
+ - **Intelligent Fallback System**:
40
40
  - Graceful degradation when translations are missing
41
41
  - Fallback to default language with tracking
42
42
  - Placeholder generation for missing keys: `[componentId.stringKey]`
@@ -45,17 +45,17 @@ A comprehensive, production-ready TypeScript internationalization (i18n) library
45
45
 
46
46
  ### Plugin System Features
47
47
 
48
- - **Component Registry**:
48
+ - **Component Registry**:
49
49
  - Manage translation components with automatic validation
50
50
  - Component isolation with independent string key namespaces
51
51
  - Dynamic component registration and updates
52
52
  - Comprehensive validation reporting
53
- - **Language Registry**:
53
+ - **Language Registry**:
54
54
  - Dynamic language registration with metadata (name, code, default flag)
55
55
  - BCP 47 language code support
56
56
  - Language lookup by ID or ISO code
57
57
  - Display name mapping for UI rendering
58
- - **Type-Safe Registration**:
58
+ - **Type-Safe Registration**:
59
59
  - Compile-time guarantees for translation completeness
60
60
  - Strict type helpers for enforcing complete translations
61
61
  - Partial registration support with fallback generation
@@ -72,24 +72,24 @@ A comprehensive, production-ready TypeScript internationalization (i18n) library
72
72
 
73
73
  ### Advanced Features
74
74
 
75
- - **Translatable Errors**:
75
+ - **Translatable Errors**:
76
76
  - Generic translatable error class for any component
77
77
  - Automatic translation with fallback support
78
78
  - Error retranslation for dynamic language switching
79
79
  - Metadata attachment for debugging
80
- - **Translation Adapters**:
80
+ - **Translation Adapters**:
81
81
  - Generic adapter creation for PluginI18nEngine
82
82
  - Seamless integration with error classes
83
83
  - Zero-overhead delegation pattern
84
- - **Context Change Monitoring**:
84
+ - **Context Change Monitoring**:
85
85
  - Reactive context proxies with change listeners
86
86
  - Property-level change notifications
87
87
  - Error-safe listener execution
88
- - **Strict Type Enforcement**:
88
+ - **Strict Type Enforcement**:
89
89
  - Compile-time completeness checking
90
90
  - Helper functions for strict translation maps
91
91
  - Type utilities for extracting string keys and languages
92
- - **Testing Utilities**:
92
+ - **Testing Utilities**:
93
93
  - Instance cleanup methods
94
94
  - Component registry reset
95
95
  - Global engine reset for test isolation
@@ -219,6 +219,7 @@ const registration: ComponentRegistration<MyStringKeys, Languages> = {
219
219
  ```
220
220
 
221
221
  **Key Features:**
222
+
222
223
  - Component isolation with independent string key namespaces
223
224
  - Automatic validation of translation completeness
224
225
  - Dynamic component registration and updates
@@ -261,6 +262,7 @@ const defaultCode = registry.getMatchingLanguageCode();
261
262
  ```
262
263
 
263
264
  **Key Features:**
265
+
264
266
  - BCP 47 language code support
265
267
  - Language lookup by ID or ISO code
266
268
  - Display name mapping for UI rendering
@@ -299,12 +301,14 @@ registry.getMatchingLanguageCode('', ''); // Returns: 'en-US' (empty st
299
301
  ```
300
302
 
301
303
  **Use Cases:**
304
+
302
305
  - HTTP Accept-Language header processing
303
306
  - User preference resolution
304
307
  - Browser language detection with fallback
305
308
  - Multi-tenant applications with per-user defaults
306
309
 
307
310
  **Error Handling:**
311
+
308
312
  ```typescript
309
313
  try {
310
314
  const emptyRegistry = new LanguageRegistry();
@@ -347,6 +351,7 @@ const translated = enumRegistry.translate(Status, Status.Active, 'fr'); // 'Acti
347
351
  ```
348
352
 
349
353
  **Key Features:**
354
+
350
355
  - Complete enum coverage validation
351
356
  - Numeric and string enum support
352
357
  - Automatic key resolution for numeric enums
@@ -377,6 +382,7 @@ console.log(context.adminLanguage); // 'en-US'
377
382
  ```
378
383
 
379
384
  **Key Features:**
385
+
380
386
  - Per-instance context isolation
381
387
  - User and admin language separation
382
388
  - Currency code management
@@ -411,6 +417,7 @@ reactiveContext.language = 'fr'; // Logs: "language changed from en to fr"
411
417
  ```
412
418
 
413
419
  **Key Features:**
420
+
414
421
  - Property-level change notifications
415
422
  - Multiple listener support
416
423
  - Error-safe listener execution
@@ -524,6 +531,7 @@ Provides essential system strings in 8 languages:
524
531
  - English (US/UK), French, Spanish, German, Chinese (Simplified), Japanese, Ukrainian
525
532
 
526
533
  **Language Codes**: Use `LanguageCodes` constants or define your own:
534
+
527
535
  ```typescript
528
536
  import { LanguageCodes } from '@digitaldefiance/i18n-lib';
529
537
 
@@ -617,6 +625,7 @@ const error = new MyError(ErrorType.NotFound, adapter);
617
625
  ```
618
626
 
619
627
  **Key Features:**
628
+
620
629
  - Zero-overhead delegation to PluginI18nEngine
621
630
  - Maintains full type safety
622
631
  - Graceful error handling with fallback to key strings
@@ -666,6 +675,7 @@ try {
666
675
  ```
667
676
 
668
677
  **Key Features:**
678
+
669
679
  - Works with any registered component
670
680
  - Uses safeTranslate for consistent fallback behavior
671
681
  - Stores error context for retranslation
@@ -714,6 +724,7 @@ class DatabaseError extends BaseTypedError<typeof DatabaseErrorType, DatabaseErr
714
724
  ```
715
725
 
716
726
  **Key Features:**
727
+
717
728
  - Complete enum coverage enforcement
718
729
  - Translation engine integration
719
730
  - Simple and translated error creation
@@ -754,6 +765,7 @@ const message3 = engine.t(
754
765
  ```
755
766
 
756
767
  **Pattern Types:**
768
+
757
769
  - `{{componentId.stringKey}}`: Component-based translation
758
770
  - `{variableName}`: Variable replacement
759
771
  - Template strings automatically use first variable object
@@ -792,6 +804,7 @@ console.log(CurrencyCode.values); // Array of all valid ISO 4217 codes
792
804
  ```
793
805
 
794
806
  **Key Features:**
807
+
795
808
  - ISO 4217 currency code validation
796
809
  - Locale-aware symbol positioning
797
810
  - Group and decimal separator detection
@@ -822,6 +835,7 @@ try {
822
835
  ```
823
836
 
824
837
  **Key Features:**
838
+
825
839
  - Moment-timezone validation
826
840
  - Immutable timezone values
827
841
  - Validation utilities
@@ -1162,6 +1176,7 @@ throw new TranslatableGenericError(
1162
1176
  ```
1163
1177
 
1164
1178
  **Key Features:**
1179
+
1165
1180
  - Works with any registered component and string keys
1166
1181
  - Uses `safeTranslate` for consistent fallback behavior (`[componentId.stringKey]`)
1167
1182
  - Stores error context: stringKey, componentId, language, variables, metadata
@@ -1432,18 +1447,21 @@ const displayNames = LanguageRegistry.getLanguageDisplayNames();
1432
1447
  The core component provides 40+ system strings organized by category:
1433
1448
 
1434
1449
  ### Common Strings
1450
+
1435
1451
  - `Common_Yes`, `Common_No`, `Common_Cancel`, `Common_OK`
1436
1452
  - `Common_Save`, `Common_Delete`, `Common_Edit`, `Common_Create`, `Common_Update`
1437
1453
  - `Common_Loading`, `Common_Error`, `Common_Success`, `Common_Warning`, `Common_Info`
1438
1454
  - `Common_Disposed`
1439
1455
 
1440
1456
  ### Error Messages
1457
+
1441
1458
  - `Error_InvalidInput`, `Error_NetworkError`, `Error_NotFound`
1442
1459
  - `Error_AccessDenied`, `Error_InternalServer`, `Error_ValidationFailed`
1443
1460
  - `Error_RequiredField`, `Error_InvalidContextTemplate`
1444
1461
  - `Error_MissingTranslationKeyTemplate`
1445
1462
 
1446
1463
  ### Registry Error Templates
1464
+
1447
1465
  - `Error_ComponentNotFoundTemplate`
1448
1466
  - `Error_LanguageNotFoundTemplate`
1449
1467
  - `Error_StringKeyNotFoundTemplate`
@@ -1453,6 +1471,7 @@ The core component provides 40+ system strings organized by category:
1453
1471
  - `Error_ValidationFailedTemplate`
1454
1472
 
1455
1473
  ### System Messages
1474
+
1456
1475
  - `System_Welcome`, `System_Goodbye`, `System_PleaseWait`
1457
1476
  - `System_ProcessingRequest`, `System_OperationComplete`
1458
1477
  - `System_NoDataAvailable`
@@ -1831,6 +1850,7 @@ try {
1831
1850
  ```
1832
1851
 
1833
1852
  **Error Types:**
1853
+
1834
1854
  - `ComponentNotFound`: Component ID not registered
1835
1855
  - `LanguageNotFound`: Language not registered
1836
1856
  - `StringKeyNotFound`: Translation key not found
@@ -2232,6 +2252,7 @@ export default i18nPlugin;
2232
2252
  ### Common Issues
2233
2253
 
2234
2254
  **Issue: "Instance with key 'X' not found"**
2255
+
2235
2256
  ```typescript
2236
2257
  // Solution: Create instance before using
2237
2258
  const engine = PluginI18nEngine.createInstance('myapp', languages);
@@ -2240,6 +2261,7 @@ const engine = PluginI18nEngine.getInstance(); // Uses 'default' key
2240
2261
  ```
2241
2262
 
2242
2263
  **Issue: "Component 'X' not found"**
2264
+
2243
2265
  ```typescript
2244
2266
  // Solution: Register component before translating
2245
2267
  engine.registerComponent(myComponentRegistration);
@@ -2247,6 +2269,7 @@ const text = engine.translate('my-component', 'key');
2247
2269
  ```
2248
2270
 
2249
2271
  **Issue: "Language 'X' not found"**
2272
+
2250
2273
  ```typescript
2251
2274
  // Solution: Register language before using
2252
2275
  engine.registerLanguage(createLanguageDefinition('fr', 'Français', 'fr'));
@@ -2254,6 +2277,7 @@ engine.setLanguage('fr');
2254
2277
  ```
2255
2278
 
2256
2279
  **Issue: Missing translations in production**
2280
+
2257
2281
  ```typescript
2258
2282
  // Solution: Use validation to catch missing translations
2259
2283
  const validation = engine.validateAllComponents();
@@ -2264,6 +2288,7 @@ if (!validation.isValid) {
2264
2288
  ```
2265
2289
 
2266
2290
  **Issue: Type errors with string keys**
2291
+
2267
2292
  ```typescript
2268
2293
  // Solution: Use enum values, not strings
2269
2294
  enum MyKeys {
@@ -2315,12 +2340,19 @@ yarn build
2315
2340
  ## Support
2316
2341
 
2317
2342
  For issues, questions, or contributions:
2318
- - GitHub Issues: https://github.com/Digital-Defiance/DigitalBurnbag/issues
2343
+
2344
+ - GitHub Issues: <https://github.com/Digital-Defiance/DigitalBurnbag/issues>
2319
2345
  - Documentation: See README.md and inline code documentation
2320
2346
  - Examples: See `examples/` directory in repository
2321
2347
 
2322
2348
  ## ChangeLog
2323
2349
 
2350
+ ### Version 1.3.17
2351
+
2352
+ - Skip 1.3.16 for homogenization
2353
+ - Add component registration aliases for t() func
2354
+ - Update readme
2355
+
2324
2356
  ### Version 1.3.15
2325
2357
 
2326
2358
  - Improve constructor for default instances
@@ -2396,6 +2428,7 @@ For issues, questions, or contributions:
2396
2428
  - Sat Oct 25 2025 15:0100 GMT-0700 (Pacific Daylight Time)
2397
2429
 
2398
2430
  #### Added
2431
+
2399
2432
  - **`createTranslationAdapter`** - Generic utility function to adapt `PluginI18nEngine` instances to the `TranslationEngine` interface, enabling seamless integration with error classes and other components expecting the simpler interface
2400
2433
  - Maintains full type safety with generic string key and language types
2401
2434
  - Provides graceful error handling with fallback to key strings
@@ -2403,12 +2436,15 @@ For issues, questions, or contributions:
2403
2436
  - Comprehensive test coverage (19 tests)
2404
2437
 
2405
2438
  #### Benefits
2439
+
2406
2440
  - Eliminates need for custom adapter implementations in consuming packages
2407
2441
  - Standardizes translation engine integration across the monorepo
2408
2442
  - Simplifies error class constructors that require translation engines
2409
2443
 
2410
2444
  #### Migration
2445
+
2411
2446
  Packages using custom translation adapters can now replace them with:
2447
+
2412
2448
  ```typescript
2413
2449
  import { createTranslationAdapter } from '@digitaldefiance/i18n-lib';
2414
2450
  const adapter = createTranslationAdapter(pluginEngine, 'component-id');
@@ -2503,10 +2539,12 @@ const myEngine = PluginI18nEngine.createInstance<MyLanguageCodes>('custom', lang
2503
2539
 
2504
2540
  - Wed Oct 15 2025 16:13:00 GMT-0700 (Pacific Daylight Time)
2505
2541
  **Fixed:**
2506
- - Corrected safeCoreTranslation fallback format to use
2542
+ - Corrected safeCoreTranslation fallback format to use
2543
+
2507
2544
  ```plaintext
2508
2545
  [CoreStringKey.${stringKey}]
2509
2546
  ```
2547
+
2510
2548
  - Fixed import issues with DefaultInstanceKey
2511
2549
  **Added:**
2512
2550
  - New TranslatableGenericError class for generic translatable errors across any component
@@ -2514,10 +2552,12 @@ const myEngine = PluginI18nEngine.createInstance<MyLanguageCodes>('custom', lang
2514
2552
  - 130+ new tests for comprehensive coverage
2515
2553
  - Complete usage documentation
2516
2554
  **Changed:**
2517
- - Standardized all fallback formats to use square brackets
2555
+ - Standardized all fallback formats to use square brackets
2556
+
2518
2557
  ```plaintext
2519
2558
  [componentId.stringKey]
2520
2559
  ```
2560
+
2521
2561
  - Refactored to use CoreI18nComponentId constant
2522
2562
  All tests pass and backward compatibility is maintained.
2523
2563
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/i18n-lib",
3
- "version": "1.3.15",
3
+ "version": "1.3.17",
4
4
  "description": "i18n library with enum translation support",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -6,5 +6,8 @@ import { PartialComponentLanguageStrings } from './types';
6
6
  export interface ComponentRegistration<TStringKeys extends string, TLanguages extends string> {
7
7
  readonly component: ComponentDefinition<TStringKeys>;
8
8
  readonly strings: PartialComponentLanguageStrings<TStringKeys, TLanguages>;
9
+ readonly enumName?: string;
10
+ readonly enumObject?: Record<string, TStringKeys>;
11
+ readonly aliases?: readonly string[];
9
12
  }
10
13
  //# sourceMappingURL=component-registration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-registration.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/component-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,qBAAqB,CACpC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM;IAEzB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;CAC5E"}
1
+ {"version":3,"file":"component-registration.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/component-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,qBAAqB,CACpC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM;IAEzB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC"}
@@ -18,6 +18,8 @@ export declare class PluginI18nEngine<TLanguages extends string> {
18
18
  private readonly enumRegistry;
19
19
  private readonly config;
20
20
  private contextKey;
21
+ private readonly aliasToComponent;
22
+ private readonly componentKeyLookup;
21
23
  /**
22
24
  * Default template processor instance
23
25
  */
@@ -33,6 +35,9 @@ export declare class PluginI18nEngine<TLanguages extends string> {
33
35
  registerInstance?: boolean;
34
36
  setAsDefault?: boolean;
35
37
  });
38
+ private resolveComponentAndKey;
39
+ private registerComponentMetadata;
40
+ private normalizeLegacyKey;
36
41
  /**
37
42
  * Create a new instance with a specific key
38
43
  */
@@ -1 +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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"}
1
+ {"version":3,"file":"plugin-i18n-engine.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/plugin-i18n-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,qBAAa,gBAAgB,CAAC,UAAU,SAAS,MAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA0C;IAE7E;;OAEG;IACH,SAAgB,CAAC,EAAE,CACjB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,UAAU,EACrB,GAAG,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,KAC5C,MAAM,CAAC;IAIZ;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU,CAA4C;IACrE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAuB;IACjD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,aAAa;gBAGvD,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,EAC/C,MAAM,GAAE,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAM,EAChD,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB;IAqGH,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,yBAAyB;IAmDjC,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;WACW,cAAc,CAAC,MAAM,SAAS,MAAM,EAChD,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,EAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GACvC,gBAAgB,CAAC,MAAM,CAAC;IAoC3B;;OAEG;WACW,WAAW,CAAC,MAAM,SAAS,MAAM,EAC7C,GAAG,CAAC,EAAE,MAAM,GACX,gBAAgB,CAAC,MAAM,CAAC;IAkB3B;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAU3D;;OAEG;IACI,iBAAiB,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI;IAMxE;;OAEG;IACI,iBAAiB,CAAC,WAAW,SAAS,MAAM,EACjD,YAAY,EAAE,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC;IAO9D;;OAEG;IACI,sBAAsB,CAAC,WAAW,SAAS,MAAM,EACtD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,UAAU,CACjB,iBAAiB,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,CACxD,CAAC,CAAC,CAAC;IAKN;;OAEG;IACI,YAAY,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,YAAY,EAAE,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,EACxD,QAAQ,EAAE,MAAM,GACf,IAAI;IAIP;;OAEG;IACI,SAAS,CAAC,WAAW,SAAS,MAAM,EACzC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,UAAU,GACpB,MAAM;IAYT;;OAEG;IACI,aAAa,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,UAAU,GACpB,MAAM;IAST;;OAEG;IACI,aAAa,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAChD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,UAAU,GACpB,MAAM;IAQT;;OAEG;IACI,qBAAqB,CAAC,WAAW,SAAS,MAAM,EACrD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,UAAU,GACpB,mBAAmB;IAWtB;;OAEG;IACI,UAAU,IAAI,cAAc,CAAC,UAAU,CAAC;IAK/C;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI;IAWxE;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IAY9C;;OAEG;IACI,YAAY,IAAI,SAAS,kBAAkB,EAAE;IAIpD;;OAEG;IACI,aAAa,IAAI,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAI/D;;OAEG;IACI,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIjD;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO;IAIjD;;OAEG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAItE;;OAEG;IACI,oBAAoB,IAAI,iBAAiB,CAAC,UAAU,CAAC;IAI5D;;OAEG;IACI,eAAe,IAAI,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC;IAIrE;;OAEG;IACI,qBAAqB,IAAI;QAC9B,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB;IA2CD;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAMjC;;OAEG;WACW,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO;IAYnD;;OAEG;WACW,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO;IAKhD;;;OAGG;WACW,QAAQ,IAAI,IAAI;CAU/B"}
@@ -20,6 +20,8 @@ class PluginI18nEngine {
20
20
  enumRegistry;
21
21
  config;
22
22
  contextKey;
23
+ aliasToComponent = new Map();
24
+ componentKeyLookup = new Map();
23
25
  /**
24
26
  * Default template processor instance
25
27
  */
@@ -74,11 +76,14 @@ class PluginI18nEngine {
74
76
  let result = str.replace(/\{\{([^}]+)\}\}/g, (match, pattern) => {
75
77
  const parts = pattern.split('.');
76
78
  if (parts.length === 2) {
77
- const [componentId, stringKey] = parts;
79
+ const [rawPrefix, rawKey] = parts;
80
+ const prefix = rawPrefix.trim();
81
+ const key = rawKey.trim();
78
82
  // For template strings, use the first variable object if available
79
- const isTemplate = stringKey.toLowerCase().endsWith('template');
83
+ const isTemplate = key.toLowerCase().endsWith('template');
80
84
  const vars = isTemplate && otherVars.length > 0 ? otherVars[0] : {};
81
- return this.safeTranslate(componentId.trim(), stringKey.trim(), vars, language);
85
+ const { componentId, stringKey } = this.resolveComponentAndKey(prefix, key);
86
+ return this.safeTranslate(componentId, stringKey, vars, language);
82
87
  }
83
88
  return match; // Return original if pattern doesn't match expected format
84
89
  });
@@ -102,6 +107,79 @@ class PluginI18nEngine {
102
107
  }
103
108
  }
104
109
  }
110
+ resolveComponentAndKey(prefix, rawKey) {
111
+ const componentId = this.aliasToComponent.get(prefix) ?? prefix;
112
+ const keyLookup = this.componentKeyLookup.get(componentId);
113
+ if (!keyLookup) {
114
+ return { componentId, stringKey: rawKey };
115
+ }
116
+ const directMatch = keyLookup.get(rawKey);
117
+ if (directMatch) {
118
+ return { componentId, stringKey: directMatch };
119
+ }
120
+ const normalized = this.normalizeLegacyKey(rawKey);
121
+ if (normalized) {
122
+ const normalizedMatch = keyLookup.get(normalized);
123
+ if (normalizedMatch) {
124
+ return { componentId, stringKey: normalizedMatch };
125
+ }
126
+ }
127
+ return { componentId, stringKey: rawKey };
128
+ }
129
+ registerComponentMetadata(registration) {
130
+ const { component, enumName, enumObject, aliases } = registration;
131
+ const componentId = component.id;
132
+ const aliasSet = new Set();
133
+ if (componentId) {
134
+ aliasSet.add(componentId);
135
+ }
136
+ if (enumName) {
137
+ aliasSet.add(enumName);
138
+ }
139
+ aliases?.forEach((alias) => {
140
+ if (alias)
141
+ aliasSet.add(alias);
142
+ });
143
+ aliasSet.forEach((alias) => {
144
+ const trimmed = alias.trim();
145
+ if (trimmed.length > 0) {
146
+ this.aliasToComponent.set(trimmed, componentId);
147
+ }
148
+ });
149
+ if (!this.componentKeyLookup.has(componentId)) {
150
+ this.componentKeyLookup.set(componentId, new Map());
151
+ }
152
+ const keyMap = this.componentKeyLookup.get(componentId);
153
+ const addKeyVariant = (aliasKey, canonicalKey) => {
154
+ if (!aliasKey || !canonicalKey)
155
+ return;
156
+ keyMap.set(aliasKey, canonicalKey);
157
+ const normalized = this.normalizeLegacyKey(aliasKey);
158
+ if (normalized && normalized !== aliasKey) {
159
+ keyMap.set(normalized, canonicalKey);
160
+ }
161
+ };
162
+ component.stringKeys.forEach((key) => {
163
+ addKeyVariant(key, key);
164
+ });
165
+ if (enumObject) {
166
+ Object.entries(enumObject).forEach(([enumKey, enumValue]) => {
167
+ if (typeof enumValue === 'string') {
168
+ addKeyVariant(enumKey, enumValue);
169
+ }
170
+ });
171
+ }
172
+ }
173
+ normalizeLegacyKey(rawKey) {
174
+ if (!rawKey)
175
+ return null;
176
+ const normalized = rawKey
177
+ .replace(/[-\s]+/g, '_')
178
+ .replace(/([a-z0-9])([A-Z])/g, '$1_$2')
179
+ .replace(/__+/g, '_')
180
+ .toLowerCase();
181
+ return normalized.length > 0 ? normalized : null;
182
+ }
105
183
  /**
106
184
  * Create a new instance with a specific key
107
185
  */
@@ -161,7 +239,9 @@ class PluginI18nEngine {
161
239
  * Register a component with its translations
162
240
  */
163
241
  registerComponent(registration) {
164
- return this.componentRegistry.registerComponent(registration);
242
+ const validationResult = this.componentRegistry.registerComponent(registration);
243
+ this.registerComponentMetadata(registration);
244
+ return validationResult;
165
245
  }
166
246
  /**
167
247
  * Update strings for an existing component
@@ -341,6 +421,8 @@ class PluginI18nEngine {
341
421
  */
342
422
  clearAllComponents() {
343
423
  this.componentRegistry.clearAllComponents();
424
+ this.aliasToComponent.clear();
425
+ this.componentKeyLookup.clear();
344
426
  }
345
427
  /**
346
428
  * Remove a specific named instance
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-i18n-engine.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/plugin-i18n-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-i18n-engine.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/plugin-i18n-engine.ts"],"names":[],"mappings":"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"}