@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 +55 -15
- package/package.json +1 -1
- package/src/component-registration.d.ts +3 -0
- package/src/component-registration.d.ts.map +1 -1
- package/src/plugin-i18n-engine.d.ts +5 -0
- package/src/plugin-i18n-engine.d.ts.map +1 -1
- package/src/plugin-i18n-engine.js +86 -4
- package/src/plugin-i18n-engine.js.map +1 -1
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
|
-
|
|
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
|
@@ -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;
|
|
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":"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;
|
|
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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"}
|
|
@@ -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 [
|
|
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 =
|
|
83
|
+
const isTemplate = key.toLowerCase().endsWith('template');
|
|
80
84
|
const vars = isTemplate && otherVars.length > 0 ? otherVars[0] : {};
|
|
81
|
-
|
|
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
|
-
|
|
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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"}
|