@digitaldefiance/i18n-lib 1.0.33 → 1.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 (51) hide show
  1. package/README.md +477 -4
  2. package/dist/component-definition.d.ts +11 -0
  3. package/dist/component-definition.js +2 -0
  4. package/dist/component-registration.d.ts +9 -0
  5. package/dist/component-registration.js +2 -0
  6. package/dist/component-registry.d.ts +64 -0
  7. package/dist/component-registry.js +238 -0
  8. package/dist/context.d.ts +2 -1
  9. package/dist/core-i18n.d.ts +41 -0
  10. package/dist/core-i18n.js +436 -0
  11. package/dist/core-language.d.ts +13 -0
  12. package/dist/core-language.js +17 -0
  13. package/dist/core-string-key.d.ts +39 -0
  14. package/dist/core-string-key.js +47 -0
  15. package/dist/default-config.d.ts +2 -1
  16. package/dist/default-config.js +24 -24
  17. package/dist/i18n-config.d.ts +20 -0
  18. package/dist/i18n-config.js +2 -0
  19. package/dist/i18n-context.d.ts +14 -0
  20. package/dist/i18n-context.js +2 -0
  21. package/dist/i18n-engine.d.ts +3 -1
  22. package/dist/index.d.ts +21 -1
  23. package/dist/index.js +25 -2
  24. package/dist/language-definition.d.ts +13 -0
  25. package/dist/language-definition.js +2 -0
  26. package/dist/language-registry.d.ts +106 -0
  27. package/dist/language-registry.js +194 -0
  28. package/dist/plugin-i18n-engine.d.ts +126 -0
  29. package/dist/plugin-i18n-engine.js +266 -0
  30. package/dist/registry-config.d.ts +14 -0
  31. package/dist/registry-config.js +2 -0
  32. package/dist/registry-context.d.ts +12 -0
  33. package/dist/registry-context.js +2 -0
  34. package/dist/registry-error-type.d.ts +12 -0
  35. package/dist/registry-error-type.js +16 -0
  36. package/dist/registry-error.d.ts +19 -0
  37. package/dist/registry-error.js +44 -0
  38. package/dist/strict-types.d.ts +18 -0
  39. package/dist/strict-types.js +17 -0
  40. package/dist/translation-request.d.ts +9 -0
  41. package/dist/translation-request.js +2 -0
  42. package/dist/translation-response.d.ts +8 -0
  43. package/dist/translation-response.js +2 -0
  44. package/dist/typed-error.d.ts +63 -3
  45. package/dist/typed-error.js +230 -2
  46. package/dist/types.d.ts +42 -29
  47. package/dist/validation-config.d.ts +11 -0
  48. package/dist/validation-config.js +2 -0
  49. package/dist/validation-result.d.ts +12 -0
  50. package/dist/validation-result.js +2 -0
  51. package/package.json +2 -1
@@ -0,0 +1,436 @@
1
+ "use strict";
2
+ /**
3
+ * Core I18n component with default languages and system strings
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CoreComponentDefinition = void 0;
7
+ exports.createDefaultLanguages = createDefaultLanguages;
8
+ exports.createCoreComponentStrings = createCoreComponentStrings;
9
+ exports.createCoreComponentRegistration = createCoreComponentRegistration;
10
+ exports.createCoreI18nEngine = createCoreI18nEngine;
11
+ exports.getCoreTranslation = getCoreTranslation;
12
+ exports.safeCoreTranslation = safeCoreTranslation;
13
+ const core_language_1 = require("./core-language");
14
+ const core_string_key_1 = require("./core-string-key");
15
+ const language_registry_1 = require("./language-registry");
16
+ const plugin_i18n_engine_1 = require("./plugin-i18n-engine");
17
+ const strict_types_1 = require("./strict-types");
18
+ /**
19
+ * Create default language definitions
20
+ */
21
+ function createDefaultLanguages() {
22
+ return (0, language_registry_1.createLanguageDefinitions)([
23
+ {
24
+ id: core_language_1.CoreLanguage.EnglishUS,
25
+ name: 'English (US)',
26
+ code: 'en-US',
27
+ isDefault: true,
28
+ },
29
+ {
30
+ id: core_language_1.CoreLanguage.EnglishUK,
31
+ name: 'English (UK)',
32
+ code: 'en-GB',
33
+ },
34
+ {
35
+ id: core_language_1.CoreLanguage.French,
36
+ name: 'Français',
37
+ code: 'fr',
38
+ },
39
+ {
40
+ id: core_language_1.CoreLanguage.Spanish,
41
+ name: 'Español',
42
+ code: 'es',
43
+ },
44
+ {
45
+ id: core_language_1.CoreLanguage.German,
46
+ name: 'Deutsch',
47
+ code: 'de',
48
+ },
49
+ {
50
+ id: core_language_1.CoreLanguage.MandarinChinese,
51
+ name: '中文 (简体)',
52
+ code: 'zh-CN',
53
+ },
54
+ {
55
+ id: core_language_1.CoreLanguage.Japanese,
56
+ name: '日本語',
57
+ code: 'ja',
58
+ },
59
+ {
60
+ id: core_language_1.CoreLanguage.Ukrainian,
61
+ name: 'Українська',
62
+ code: 'uk',
63
+ },
64
+ ]);
65
+ }
66
+ /**
67
+ * Core component definition
68
+ */
69
+ exports.CoreComponentDefinition = {
70
+ id: 'core',
71
+ name: 'Core I18n System',
72
+ stringKeys: Object.values(core_string_key_1.CoreStringKey),
73
+ };
74
+ /**
75
+ * Core component strings for all default languages
76
+ */
77
+ function createCoreComponentStrings() {
78
+ return (0, strict_types_1.createCompleteComponentStrings)({
79
+ [core_language_1.CoreLanguage.EnglishUS]: {
80
+ // Common/General
81
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'Yes',
82
+ [core_string_key_1.CoreStringKey.Common_No]: 'No',
83
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'Cancel',
84
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
85
+ [core_string_key_1.CoreStringKey.Common_Save]: 'Save',
86
+ [core_string_key_1.CoreStringKey.Common_Delete]: 'Delete',
87
+ [core_string_key_1.CoreStringKey.Common_Edit]: 'Edit',
88
+ [core_string_key_1.CoreStringKey.Common_Create]: 'Create',
89
+ [core_string_key_1.CoreStringKey.Common_Update]: 'Update',
90
+ [core_string_key_1.CoreStringKey.Common_Loading]: 'Loading...',
91
+ [core_string_key_1.CoreStringKey.Common_Error]: 'Error',
92
+ [core_string_key_1.CoreStringKey.Common_Success]: 'Success',
93
+ [core_string_key_1.CoreStringKey.Common_Warning]: 'Warning',
94
+ [core_string_key_1.CoreStringKey.Common_Info]: 'Information',
95
+ // Error Messages
96
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: 'Invalid input provided',
97
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: 'Network connection error',
98
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'Resource not found',
99
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'Access denied',
100
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: 'Internal server error',
101
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: 'Validation failed',
102
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: 'This field is required',
103
+ // Registry Error Templates
104
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'Component "{componentId}" not found',
105
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: 'Language "{language}" not found',
106
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'String key "{stringKey}" not found for component "{componentId}"',
107
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'Incomplete registration for component "{componentId}": missing {missingCount} strings',
108
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'Component "{componentId}" is already registered',
109
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: 'Language "{languageId}" is already registered',
110
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'Validation failed for component "{componentId}": {errorCount} errors',
111
+ // System Messages
112
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'Welcome',
113
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'Goodbye',
114
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'Please wait...',
115
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'Processing your request...',
116
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: 'Operation completed successfully',
117
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: 'No data available',
118
+ },
119
+ [core_language_1.CoreLanguage.EnglishUK]: {
120
+ // Common/General (mostly same as US English)
121
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'Yes',
122
+ [core_string_key_1.CoreStringKey.Common_No]: 'No',
123
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'Cancel',
124
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
125
+ [core_string_key_1.CoreStringKey.Common_Save]: 'Save',
126
+ [core_string_key_1.CoreStringKey.Common_Delete]: 'Delete',
127
+ [core_string_key_1.CoreStringKey.Common_Edit]: 'Edit',
128
+ [core_string_key_1.CoreStringKey.Common_Create]: 'Create',
129
+ [core_string_key_1.CoreStringKey.Common_Update]: 'Update',
130
+ [core_string_key_1.CoreStringKey.Common_Loading]: 'Loading...',
131
+ [core_string_key_1.CoreStringKey.Common_Error]: 'Error',
132
+ [core_string_key_1.CoreStringKey.Common_Success]: 'Success',
133
+ [core_string_key_1.CoreStringKey.Common_Warning]: 'Warning',
134
+ [core_string_key_1.CoreStringKey.Common_Info]: 'Information',
135
+ // Error Messages
136
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: 'Invalid input provided',
137
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: 'Network connection error',
138
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'Resource not found',
139
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'Access denied',
140
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: 'Internal server error',
141
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: 'Validation failed',
142
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: 'This field is required',
143
+ // Registry Error Templates
144
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'Component "{componentId}" not found',
145
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: 'Language "{language}" not found',
146
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'String key "{stringKey}" not found for component "{componentId}"',
147
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'Incomplete registration for component "{componentId}": missing {missingCount} strings',
148
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'Component "{componentId}" is already registered',
149
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: 'Language "{languageId}" is already registered',
150
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'Validation failed for component "{componentId}": {errorCount} errors',
151
+ // System Messages
152
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'Welcome',
153
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'Goodbye',
154
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'Please wait...',
155
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'Processing your request...',
156
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: 'Operation completed successfully',
157
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: 'No data available',
158
+ },
159
+ [core_language_1.CoreLanguage.French]: {
160
+ // Common/General
161
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'Oui',
162
+ [core_string_key_1.CoreStringKey.Common_No]: 'Non',
163
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'Annuler',
164
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
165
+ [core_string_key_1.CoreStringKey.Common_Save]: 'Enregistrer',
166
+ [core_string_key_1.CoreStringKey.Common_Delete]: 'Supprimer',
167
+ [core_string_key_1.CoreStringKey.Common_Edit]: 'Modifier',
168
+ [core_string_key_1.CoreStringKey.Common_Create]: 'Créer',
169
+ [core_string_key_1.CoreStringKey.Common_Update]: 'Mettre à jour',
170
+ [core_string_key_1.CoreStringKey.Common_Loading]: 'Chargement...',
171
+ [core_string_key_1.CoreStringKey.Common_Error]: 'Erreur',
172
+ [core_string_key_1.CoreStringKey.Common_Success]: 'Succès',
173
+ [core_string_key_1.CoreStringKey.Common_Warning]: 'Avertissement',
174
+ [core_string_key_1.CoreStringKey.Common_Info]: 'Information',
175
+ // Error Messages
176
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: 'Entrée invalide fournie',
177
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: 'Erreur de connexion réseau',
178
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'Ressource non trouvée',
179
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'Accès refusé',
180
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: 'Erreur interne du serveur',
181
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: 'Échec de la validation',
182
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: 'Ce champ est obligatoire',
183
+ // Registry Error Templates
184
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'Composant "{componentId}" non trouvé',
185
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: 'Langue "{language}" non trouvée',
186
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'Clé de chaîne "{stringKey}" non trouvée pour le composant "{componentId}"',
187
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'Enregistrement incomplet pour le composant "{componentId}": {missingCount} chaînes manquantes',
188
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'Le composant "{componentId}" est déjà enregistré',
189
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: 'La langue "{languageId}" est déjà enregistrée',
190
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'Échec de la validation pour le composant "{componentId}": {errorCount} erreurs',
191
+ // System Messages
192
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'Bienvenue',
193
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'Au revoir',
194
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'Veuillez patienter...',
195
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'Traitement de votre demande...',
196
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: 'Opération terminée avec succès',
197
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: 'Aucune donnée disponible',
198
+ },
199
+ [core_language_1.CoreLanguage.Spanish]: {
200
+ // Common/General
201
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'Sí',
202
+ [core_string_key_1.CoreStringKey.Common_No]: 'No',
203
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'Cancelar',
204
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
205
+ [core_string_key_1.CoreStringKey.Common_Save]: 'Guardar',
206
+ [core_string_key_1.CoreStringKey.Common_Delete]: 'Eliminar',
207
+ [core_string_key_1.CoreStringKey.Common_Edit]: 'Editar',
208
+ [core_string_key_1.CoreStringKey.Common_Create]: 'Crear',
209
+ [core_string_key_1.CoreStringKey.Common_Update]: 'Actualizar',
210
+ [core_string_key_1.CoreStringKey.Common_Loading]: 'Cargando...',
211
+ [core_string_key_1.CoreStringKey.Common_Error]: 'Error',
212
+ [core_string_key_1.CoreStringKey.Common_Success]: 'Éxito',
213
+ [core_string_key_1.CoreStringKey.Common_Warning]: 'Advertencia',
214
+ [core_string_key_1.CoreStringKey.Common_Info]: 'Información',
215
+ // Error Messages
216
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: 'Entrada inválida proporcionada',
217
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: 'Error de conexión de red',
218
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'Recurso no encontrado',
219
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'Acceso denegado',
220
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: 'Error interno del servidor',
221
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: 'Error de validación',
222
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: 'Este campo es obligatorio',
223
+ // Registry Error Templates
224
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'Componente "{componentId}" no encontrado',
225
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: 'Idioma "{language}" no encontrado',
226
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'Clave de cadena "{stringKey}" no encontrada para el componente "{componentId}"',
227
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'Registro incompleto para el componente "{componentId}": faltan {missingCount} cadenas',
228
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'El componente "{componentId}" ya está registrado',
229
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: 'El idioma "{languageId}" ya está registrado',
230
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'Error de validación para el componente "{componentId}": {errorCount} errores',
231
+ // System Messages
232
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'Bienvenido',
233
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'Adiós',
234
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'Por favor espere...',
235
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'Procesando su solicitud...',
236
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: 'Operación completada exitosamente',
237
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: 'No hay datos disponibles',
238
+ },
239
+ [core_language_1.CoreLanguage.German]: {
240
+ // Common/General
241
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'Ja',
242
+ [core_string_key_1.CoreStringKey.Common_No]: 'Nein',
243
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'Abbrechen',
244
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
245
+ [core_string_key_1.CoreStringKey.Common_Save]: 'Speichern',
246
+ [core_string_key_1.CoreStringKey.Common_Delete]: 'Löschen',
247
+ [core_string_key_1.CoreStringKey.Common_Edit]: 'Bearbeiten',
248
+ [core_string_key_1.CoreStringKey.Common_Create]: 'Erstellen',
249
+ [core_string_key_1.CoreStringKey.Common_Update]: 'Aktualisieren',
250
+ [core_string_key_1.CoreStringKey.Common_Loading]: 'Lädt...',
251
+ [core_string_key_1.CoreStringKey.Common_Error]: 'Fehler',
252
+ [core_string_key_1.CoreStringKey.Common_Success]: 'Erfolg',
253
+ [core_string_key_1.CoreStringKey.Common_Warning]: 'Warnung',
254
+ [core_string_key_1.CoreStringKey.Common_Info]: 'Information',
255
+ // Error Messages
256
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: 'Ungültige Eingabe bereitgestellt',
257
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: 'Netzwerkverbindungsfehler',
258
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'Ressource nicht gefunden',
259
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'Zugriff verweigert',
260
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: 'Interner Serverfehler',
261
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: 'Validierung fehlgeschlagen',
262
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: 'Dieses Feld ist erforderlich',
263
+ // Registry Error Templates
264
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'Komponente "{componentId}" nicht gefunden',
265
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: 'Sprache "{language}" nicht gefunden',
266
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'String-Schlüssel "{stringKey}" für Komponente "{componentId}" nicht gefunden',
267
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'Unvollständige Registrierung für Komponente "{componentId}": {missingCount} Strings fehlen',
268
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'Komponente "{componentId}" ist bereits registriert',
269
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: 'Sprache "{languageId}" ist bereits registriert',
270
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'Validierung für Komponente "{componentId}" fehlgeschlagen: {errorCount} Fehler',
271
+ // System Messages
272
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'Willkommen',
273
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'Auf Wiedersehen',
274
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'Bitte warten...',
275
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'Ihre Anfrage wird bearbeitet...',
276
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: 'Vorgang erfolgreich abgeschlossen',
277
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: 'Keine Daten verfügbar',
278
+ },
279
+ [core_language_1.CoreLanguage.MandarinChinese]: {
280
+ // Common/General
281
+ [core_string_key_1.CoreStringKey.Common_Yes]: '是',
282
+ [core_string_key_1.CoreStringKey.Common_No]: '否',
283
+ [core_string_key_1.CoreStringKey.Common_Cancel]: '取消',
284
+ [core_string_key_1.CoreStringKey.Common_OK]: '确定',
285
+ [core_string_key_1.CoreStringKey.Common_Save]: '保存',
286
+ [core_string_key_1.CoreStringKey.Common_Delete]: '删除',
287
+ [core_string_key_1.CoreStringKey.Common_Edit]: '编辑',
288
+ [core_string_key_1.CoreStringKey.Common_Create]: '创建',
289
+ [core_string_key_1.CoreStringKey.Common_Update]: '更新',
290
+ [core_string_key_1.CoreStringKey.Common_Loading]: '加载中...',
291
+ [core_string_key_1.CoreStringKey.Common_Error]: '错误',
292
+ [core_string_key_1.CoreStringKey.Common_Success]: '成功',
293
+ [core_string_key_1.CoreStringKey.Common_Warning]: '警告',
294
+ [core_string_key_1.CoreStringKey.Common_Info]: '信息',
295
+ // Error Messages
296
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: '提供的输入无效',
297
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: '网络连接错误',
298
+ [core_string_key_1.CoreStringKey.Error_NotFound]: '未找到资源',
299
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: '访问被拒绝',
300
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: '内部服务器错误',
301
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: '验证失败',
302
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: '此字段为必填项',
303
+ // Registry Error Templates
304
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: '未找到组件 "{componentId}"',
305
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: '未找到语言 "{language}"',
306
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: '组件 "{componentId}" 未找到字符串键 "{stringKey}"',
307
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: '组件 "{componentId}" 注册不完整:缺少 {missingCount} 个字符串',
308
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: '组件 "{componentId}" 已注册',
309
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: '语言 "{languageId}" 已注册',
310
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: '组件 "{componentId}" 验证失败:{errorCount} 个错误',
311
+ // System Messages
312
+ [core_string_key_1.CoreStringKey.System_Welcome]: '欢迎',
313
+ [core_string_key_1.CoreStringKey.System_Goodbye]: '再见',
314
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: '请稍候...',
315
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: '正在处理您的请求...',
316
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: '操作成功完成',
317
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: '无可用数据',
318
+ },
319
+ [core_language_1.CoreLanguage.Japanese]: {
320
+ // Common/General
321
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'はい',
322
+ [core_string_key_1.CoreStringKey.Common_No]: 'いいえ',
323
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'キャンセル',
324
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
325
+ [core_string_key_1.CoreStringKey.Common_Save]: '保存',
326
+ [core_string_key_1.CoreStringKey.Common_Delete]: '削除',
327
+ [core_string_key_1.CoreStringKey.Common_Edit]: '編集',
328
+ [core_string_key_1.CoreStringKey.Common_Create]: '作成',
329
+ [core_string_key_1.CoreStringKey.Common_Update]: '更新',
330
+ [core_string_key_1.CoreStringKey.Common_Loading]: '読み込み中...',
331
+ [core_string_key_1.CoreStringKey.Common_Error]: 'エラー',
332
+ [core_string_key_1.CoreStringKey.Common_Success]: '成功',
333
+ [core_string_key_1.CoreStringKey.Common_Warning]: '警告',
334
+ [core_string_key_1.CoreStringKey.Common_Info]: '情報',
335
+ // Error Messages
336
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: '無効な入力が提供されました',
337
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: 'ネットワーク接続エラー',
338
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'リソースが見つかりません',
339
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'アクセスが拒否されました',
340
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: '内部サーバーエラー',
341
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: '検証に失敗しました',
342
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: 'このフィールドは必須です',
343
+ // Registry Error Templates
344
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'コンポーネント "{componentId}" が見つかりません',
345
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: '言語 "{language}" が見つかりません',
346
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'コンポーネント "{componentId}" の文字列キー "{stringKey}" が見つかりません',
347
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'コンポーネント "{componentId}" の登録が不完全です:{missingCount} 個の文字列が不足しています',
348
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'コンポーネント "{componentId}" は既に登録されています',
349
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: '言語 "{languageId}" は既に登録されています',
350
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'コンポーネント "{componentId}" の検証に失敗しました:{errorCount} 個のエラー',
351
+ // System Messages
352
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'ようこそ',
353
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'さようなら',
354
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'お待ちください...',
355
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'リクエストを処理中...',
356
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: '操作が正常に完了しました',
357
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: '利用可能なデータがありません',
358
+ },
359
+ [core_language_1.CoreLanguage.Ukrainian]: {
360
+ // Common/General
361
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'Так',
362
+ [core_string_key_1.CoreStringKey.Common_No]: 'Ні',
363
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'Скасувати',
364
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
365
+ [core_string_key_1.CoreStringKey.Common_Save]: 'Зберегти',
366
+ [core_string_key_1.CoreStringKey.Common_Delete]: 'Видалити',
367
+ [core_string_key_1.CoreStringKey.Common_Edit]: 'Редагувати',
368
+ [core_string_key_1.CoreStringKey.Common_Create]: 'Створити',
369
+ [core_string_key_1.CoreStringKey.Common_Update]: 'Оновити',
370
+ [core_string_key_1.CoreStringKey.Common_Loading]: 'Завантаження...',
371
+ [core_string_key_1.CoreStringKey.Common_Error]: 'Помилка',
372
+ [core_string_key_1.CoreStringKey.Common_Success]: 'Успіх',
373
+ [core_string_key_1.CoreStringKey.Common_Warning]: 'Попередження',
374
+ [core_string_key_1.CoreStringKey.Common_Info]: 'Інформація',
375
+ // Error Messages
376
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: 'Надано неправильний ввід',
377
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: "Помилка мережевого з'єднання",
378
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'Ресурс не знайдено',
379
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'Доступ заборонено',
380
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: 'Внутрішня помилка сервера',
381
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: 'Перевірка не вдалася',
382
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: "Це поле є обов'язковим",
383
+ // Registry Error Templates
384
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'Компонент "{componentId}" не знайдено',
385
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: 'Мову "{language}" не знайдено',
386
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'Ключ рядка "{stringKey}" не знайдено для компонента "{componentId}"',
387
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'Неповна реєстрація для компонента "{componentId}": не вистачає {missingCount} рядків',
388
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'Компонент "{componentId}" вже зареєстровано',
389
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: 'Мову "{languageId}" вже зареєстровано',
390
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'Перевірка не вдалася для компонента "{componentId}": {errorCount} помилок',
391
+ // System Messages
392
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'Ласкаво просимо',
393
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'До побачення',
394
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'Будь ласка, зачекайте...',
395
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'Обробка вашого запиту...',
396
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: 'Операція успішно завершена',
397
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: 'Дані недоступні',
398
+ },
399
+ });
400
+ }
401
+ /**
402
+ * Create core component registration
403
+ */
404
+ function createCoreComponentRegistration() {
405
+ return {
406
+ component: exports.CoreComponentDefinition,
407
+ strings: createCoreComponentStrings(),
408
+ };
409
+ }
410
+ /**
411
+ * Create a pre-configured I18n engine with core components
412
+ */
413
+ function createCoreI18nEngine(instanceKey = 'default') {
414
+ const languages = createDefaultLanguages();
415
+ const engine = plugin_i18n_engine_1.PluginI18nEngine.createInstance(instanceKey, languages);
416
+ engine.registerComponent(createCoreComponentRegistration());
417
+ return engine;
418
+ }
419
+ /**
420
+ * Helper function to get core translation
421
+ */
422
+ function getCoreTranslation(stringKey, variables, language, instanceKey) {
423
+ const engine = plugin_i18n_engine_1.PluginI18nEngine.getInstance(instanceKey);
424
+ return engine.translate('core', stringKey, variables, language);
425
+ }
426
+ /**
427
+ * Helper function to safely get core translation with fallback
428
+ */
429
+ function safeCoreTranslation(stringKey, variables, language, instanceKey) {
430
+ try {
431
+ return getCoreTranslation(stringKey, variables, language, instanceKey);
432
+ }
433
+ catch {
434
+ return `[core.${stringKey}]`;
435
+ }
436
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Default languages supported by the core I18n system
3
+ */
4
+ export declare enum CoreLanguage {
5
+ EnglishUS = "en-US",
6
+ EnglishUK = "en-UK",
7
+ French = "fr",
8
+ Spanish = "es",
9
+ German = "de",
10
+ MandarinChinese = "zh-CN",
11
+ Japanese = "ja",
12
+ Ukrainian = "uk"
13
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreLanguage = void 0;
4
+ /**
5
+ * Default languages supported by the core I18n system
6
+ */
7
+ var CoreLanguage;
8
+ (function (CoreLanguage) {
9
+ CoreLanguage["EnglishUS"] = "en-US";
10
+ CoreLanguage["EnglishUK"] = "en-UK";
11
+ CoreLanguage["French"] = "fr";
12
+ CoreLanguage["Spanish"] = "es";
13
+ CoreLanguage["German"] = "de";
14
+ CoreLanguage["MandarinChinese"] = "zh-CN";
15
+ CoreLanguage["Japanese"] = "ja";
16
+ CoreLanguage["Ukrainian"] = "uk";
17
+ })(CoreLanguage || (exports.CoreLanguage = CoreLanguage = {}));
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Core system string keys
3
+ */
4
+ export declare enum CoreStringKey {
5
+ Common_Yes = "common_yes",
6
+ Common_No = "common_no",
7
+ Common_Cancel = "common_cancel",
8
+ Common_OK = "common_ok",
9
+ Common_Save = "common_save",
10
+ Common_Delete = "common_delete",
11
+ Common_Edit = "common_edit",
12
+ Common_Create = "common_create",
13
+ Common_Update = "common_update",
14
+ Common_Loading = "common_loading",
15
+ Common_Error = "common_error",
16
+ Common_Success = "common_success",
17
+ Common_Warning = "common_warning",
18
+ Common_Info = "common_info",
19
+ Error_InvalidInput = "error_invalidInput",
20
+ Error_NetworkError = "error_networkError",
21
+ Error_NotFound = "error_notFound",
22
+ Error_AccessDenied = "error_accessDenied",
23
+ Error_InternalServer = "error_internalServer",
24
+ Error_ValidationFailed = "error_validationFailed",
25
+ Error_RequiredField = "error_requiredField",
26
+ Error_ComponentNotFoundTemplate = "error_componentNotFoundTemplate",
27
+ Error_LanguageNotFoundTemplate = "error_languageNotFoundTemplate",
28
+ Error_StringKeyNotFoundTemplate = "error_stringKeyNotFoundTemplate",
29
+ Error_IncompleteRegistrationTemplate = "error_incompleteRegistrationTemplate",
30
+ Error_DuplicateComponentTemplate = "error_duplicateComponentTemplate",
31
+ Error_DuplicateLanguageTemplate = "error_duplicateLanguageTemplate",
32
+ Error_ValidationFailedTemplate = "error_validationFailedTemplate",
33
+ System_Welcome = "system_welcome",
34
+ System_Goodbye = "system_goodbye",
35
+ System_PleaseWait = "system_pleaseWait",
36
+ System_ProcessingRequest = "system_processingRequest",
37
+ System_OperationComplete = "system_operationComplete",
38
+ System_NoDataAvailable = "system_noDataAvailable"
39
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreStringKey = void 0;
4
+ /**
5
+ * Core system string keys
6
+ */
7
+ var CoreStringKey;
8
+ (function (CoreStringKey) {
9
+ // Common/General
10
+ CoreStringKey["Common_Yes"] = "common_yes";
11
+ CoreStringKey["Common_No"] = "common_no";
12
+ CoreStringKey["Common_Cancel"] = "common_cancel";
13
+ CoreStringKey["Common_OK"] = "common_ok";
14
+ CoreStringKey["Common_Save"] = "common_save";
15
+ CoreStringKey["Common_Delete"] = "common_delete";
16
+ CoreStringKey["Common_Edit"] = "common_edit";
17
+ CoreStringKey["Common_Create"] = "common_create";
18
+ CoreStringKey["Common_Update"] = "common_update";
19
+ CoreStringKey["Common_Loading"] = "common_loading";
20
+ CoreStringKey["Common_Error"] = "common_error";
21
+ CoreStringKey["Common_Success"] = "common_success";
22
+ CoreStringKey["Common_Warning"] = "common_warning";
23
+ CoreStringKey["Common_Info"] = "common_info";
24
+ // Error Messages
25
+ CoreStringKey["Error_InvalidInput"] = "error_invalidInput";
26
+ CoreStringKey["Error_NetworkError"] = "error_networkError";
27
+ CoreStringKey["Error_NotFound"] = "error_notFound";
28
+ CoreStringKey["Error_AccessDenied"] = "error_accessDenied";
29
+ CoreStringKey["Error_InternalServer"] = "error_internalServer";
30
+ CoreStringKey["Error_ValidationFailed"] = "error_validationFailed";
31
+ CoreStringKey["Error_RequiredField"] = "error_requiredField";
32
+ // Registry Errors (templates support variables)
33
+ CoreStringKey["Error_ComponentNotFoundTemplate"] = "error_componentNotFoundTemplate";
34
+ CoreStringKey["Error_LanguageNotFoundTemplate"] = "error_languageNotFoundTemplate";
35
+ CoreStringKey["Error_StringKeyNotFoundTemplate"] = "error_stringKeyNotFoundTemplate";
36
+ CoreStringKey["Error_IncompleteRegistrationTemplate"] = "error_incompleteRegistrationTemplate";
37
+ CoreStringKey["Error_DuplicateComponentTemplate"] = "error_duplicateComponentTemplate";
38
+ CoreStringKey["Error_DuplicateLanguageTemplate"] = "error_duplicateLanguageTemplate";
39
+ CoreStringKey["Error_ValidationFailedTemplate"] = "error_validationFailedTemplate";
40
+ // System Messages
41
+ CoreStringKey["System_Welcome"] = "system_welcome";
42
+ CoreStringKey["System_Goodbye"] = "system_goodbye";
43
+ CoreStringKey["System_PleaseWait"] = "system_pleaseWait";
44
+ CoreStringKey["System_ProcessingRequest"] = "system_processingRequest";
45
+ CoreStringKey["System_OperationComplete"] = "system_operationComplete";
46
+ CoreStringKey["System_NoDataAvailable"] = "system_noDataAvailable";
47
+ })(CoreStringKey || (exports.CoreStringKey = CoreStringKey = {}));
@@ -1,6 +1,7 @@
1
+ import { I18nContext } from './i18n-context';
1
2
  import { I18nEngine } from './i18n-engine';
2
3
  import { Timezone } from './timezone';
3
- import { I18nContext, LanguageCodeCollection } from './types';
4
+ import { LanguageCodeCollection } from './types';
4
5
  export declare enum DefaultStringKey {
5
6
  Common_Test = "common_test",
6
7
  Error_InstanceAlreadyExistsTemplate = "error_instanceAlreadyExistsTemplate",