@digitaldefiance/i18n-lib 3.7.5 → 3.8.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 (490) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +261 -0
  3. package/package.json +12 -4
  4. package/src/active-context.ts +4 -0
  5. package/src/builders/i18n-builder.ts +82 -0
  6. package/src/builders/{index.d.ts → index.ts} +1 -1
  7. package/src/component-definition.ts +11 -0
  8. package/src/component-registration.ts +29 -0
  9. package/src/component-registry.ts +432 -0
  10. package/src/context-error-type.ts +7 -0
  11. package/src/core/component-store.ts +241 -0
  12. package/src/core/context-manager.ts +113 -0
  13. package/src/core/enum-registry.ts +106 -0
  14. package/src/core/i18n-engine.ts +710 -0
  15. package/src/core/index.ts +16 -0
  16. package/src/core/language-registry.ts +345 -0
  17. package/src/core-component-id.ts +5 -0
  18. package/src/core-i18n.ts +270 -0
  19. package/src/core-plugin-factory.ts +111 -0
  20. package/src/core-string-key.ts +59 -0
  21. package/src/create-translation-adapter.ts +93 -0
  22. package/src/enum-registry.ts +152 -0
  23. package/src/errors/base.ts +8 -0
  24. package/src/errors/context-error.ts +122 -0
  25. package/src/errors/enhanced-error-base.ts +260 -0
  26. package/src/errors/handleable.ts +152 -0
  27. package/src/errors/i18n-error.ts +494 -0
  28. package/src/errors/index.ts +15 -0
  29. package/src/errors/simple-typed-error.ts +81 -0
  30. package/src/errors/{index.d.ts → translatable-exports.ts} +3 -5
  31. package/src/errors/translatable-generic.ts +245 -0
  32. package/src/errors/translatable-handleable-generic.ts +222 -0
  33. package/src/errors/translatable.ts +138 -0
  34. package/src/errors/typed-handleable.ts +138 -0
  35. package/src/errors/typed.ts +617 -0
  36. package/src/gender/{gender-categories.d.ts → gender-categories.ts} +6 -2
  37. package/src/gender/gender-resolver.ts +40 -0
  38. package/src/gender/{index.d.ts → index.ts} +0 -1
  39. package/src/global-active-context.ts +266 -0
  40. package/src/icu/ast.ts +56 -0
  41. package/src/icu/compiler.ts +96 -0
  42. package/src/icu/formatter-registry.ts +36 -0
  43. package/src/icu/formatters/base-formatter.ts +8 -0
  44. package/src/icu/formatters/date-formatter.ts +30 -0
  45. package/src/icu/formatters/number-formatter.ts +32 -0
  46. package/src/icu/formatters/plural-formatter.ts +12 -0
  47. package/src/icu/formatters/select-formatter.ts +7 -0
  48. package/src/icu/formatters/selectordinal-formatter.ts +17 -0
  49. package/src/icu/formatters/time-formatter.ts +30 -0
  50. package/src/icu/helpers.ts +34 -0
  51. package/src/icu/parser.ts +242 -0
  52. package/src/icu/runtime.ts +37 -0
  53. package/src/icu/tokenizer.ts +212 -0
  54. package/src/icu/validator.ts +163 -0
  55. package/src/{index.d.ts → index.ts} +46 -14
  56. package/src/interfaces/active-context.interface.ts +41 -0
  57. package/src/interfaces/component-config.interface.ts +17 -0
  58. package/src/interfaces/engine-config.interface.ts +22 -0
  59. package/src/interfaces/global-active-context.ts +39 -0
  60. package/src/interfaces/handleable-error-options.ts +13 -0
  61. package/src/interfaces/handleable.ts +20 -0
  62. package/src/interfaces/i18n-engine.interface.ts +57 -0
  63. package/src/interfaces/index.ts +13 -0
  64. package/src/interfaces/language-definition.interface.ts +17 -0
  65. package/src/interfaces/translation-options.interface.ts +15 -0
  66. package/src/interfaces/validation-result.interface.ts +24 -0
  67. package/src/language-codes.ts +40 -0
  68. package/src/language-definition.ts +13 -0
  69. package/src/plugin-i18n-engine.ts +707 -0
  70. package/src/pluralization/{index.d.ts → index.ts} +1 -1
  71. package/src/pluralization/language-plural-map.ts +186 -0
  72. package/src/pluralization/{plural-categories.d.ts → plural-categories.ts} +5 -3
  73. package/src/pluralization/plural-rules.ts +228 -0
  74. package/src/registry-config.ts +16 -0
  75. package/src/registry-error-type.ts +19 -0
  76. package/src/registry-error.ts +100 -0
  77. package/src/strict-types.ts +35 -0
  78. package/src/strings/de.ts +75 -0
  79. package/src/strings/en-GB.ts +74 -0
  80. package/src/strings/en-US.ts +74 -0
  81. package/src/strings/es.ts +74 -0
  82. package/src/strings/fr.ts +75 -0
  83. package/src/strings/ja.ts +73 -0
  84. package/src/strings/uk.ts +73 -0
  85. package/src/strings/zh-CN.ts +72 -0
  86. package/src/template.ts +72 -0
  87. package/src/translation-engine.ts +18 -0
  88. package/src/translation-request.ts +12 -0
  89. package/src/translation-response.ts +8 -0
  90. package/src/types/engine.ts +55 -0
  91. package/src/types/{index.d.ts → index.ts} +1 -1
  92. package/src/types/{plural-types.d.ts → plural-types.ts} +29 -3
  93. package/src/types.ts +142 -0
  94. package/src/utils/currency.ts +141 -0
  95. package/src/utils/html-escape.ts +55 -0
  96. package/src/utils/{index.d.ts → index.ts} +0 -1
  97. package/src/utils/lru-cache.ts +76 -0
  98. package/src/utils/{plural-helpers.d.ts → plural-helpers.ts} +14 -4
  99. package/src/utils/{safe-object.js → safe-object.ts} +37 -34
  100. package/src/utils/string-utils.ts +77 -0
  101. package/src/utils/timezone.ts +76 -0
  102. package/src/utils/validation.ts +66 -0
  103. package/src/utils.ts +215 -0
  104. package/src/validation/{index.d.ts → index.ts} +0 -1
  105. package/src/validation/plural-validator.ts +168 -0
  106. package/src/validation-config.ts +11 -0
  107. package/src/validation-result.ts +12 -0
  108. package/src/active-context.d.ts +0 -36
  109. package/src/active-context.d.ts.map +0 -1
  110. package/src/active-context.js +0 -3
  111. package/src/active-context.js.map +0 -1
  112. package/src/builders/i18n-builder.d.ts +0 -26
  113. package/src/builders/i18n-builder.d.ts.map +0 -1
  114. package/src/builders/i18n-builder.js +0 -70
  115. package/src/builders/i18n-builder.js.map +0 -1
  116. package/src/builders/index.d.ts.map +0 -1
  117. package/src/builders/index.js +0 -8
  118. package/src/builders/index.js.map +0 -1
  119. package/src/component-definition.d.ts +0 -12
  120. package/src/component-definition.d.ts.map +0 -1
  121. package/src/component-definition.js +0 -3
  122. package/src/component-definition.js.map +0 -1
  123. package/src/component-registration.d.ts +0 -13
  124. package/src/component-registration.d.ts.map +0 -1
  125. package/src/component-registration.js +0 -3
  126. package/src/component-registration.js.map +0 -1
  127. package/src/component-registry.d.ts +0 -102
  128. package/src/component-registry.d.ts.map +0 -1
  129. package/src/component-registry.js +0 -282
  130. package/src/component-registry.js.map +0 -1
  131. package/src/context-error-type.d.ts +0 -8
  132. package/src/context-error-type.d.ts.map +0 -1
  133. package/src/context-error-type.js +0 -12
  134. package/src/context-error-type.js.map +0 -1
  135. package/src/core/component-store.d.ts +0 -93
  136. package/src/core/component-store.d.ts.map +0 -1
  137. package/src/core/component-store.js +0 -198
  138. package/src/core/component-store.js.map +0 -1
  139. package/src/core/context-manager.d.ts +0 -72
  140. package/src/core/context-manager.d.ts.map +0 -1
  141. package/src/core/context-manager.js +0 -98
  142. package/src/core/context-manager.js.map +0 -1
  143. package/src/core/enum-registry.d.ts +0 -48
  144. package/src/core/enum-registry.d.ts.map +0 -1
  145. package/src/core/enum-registry.js +0 -85
  146. package/src/core/enum-registry.js.map +0 -1
  147. package/src/core/i18n-engine.d.ts +0 -241
  148. package/src/core/i18n-engine.d.ts.map +0 -1
  149. package/src/core/i18n-engine.js +0 -568
  150. package/src/core/i18n-engine.js.map +0 -1
  151. package/src/core/index.d.ts +0 -9
  152. package/src/core/index.d.ts.map +0 -1
  153. package/src/core/index.js +0 -12
  154. package/src/core/index.js.map +0 -1
  155. package/src/core/language-registry.d.ts +0 -180
  156. package/src/core/language-registry.d.ts.map +0 -1
  157. package/src/core/language-registry.js +0 -295
  158. package/src/core/language-registry.js.map +0 -1
  159. package/src/core-i18n.d.ts +0 -91
  160. package/src/core-i18n.d.ts.map +0 -1
  161. package/src/core-i18n.js +0 -287
  162. package/src/core-i18n.js.map +0 -1
  163. package/src/core-string-key.d.ts +0 -52
  164. package/src/core-string-key.d.ts.map +0 -1
  165. package/src/core-string-key.js +0 -61
  166. package/src/core-string-key.js.map +0 -1
  167. package/src/create-translation-adapter.d.ts +0 -33
  168. package/src/create-translation-adapter.d.ts.map +0 -1
  169. package/src/create-translation-adapter.js +0 -72
  170. package/src/create-translation-adapter.js.map +0 -1
  171. package/src/enum-registry.d.ts +0 -65
  172. package/src/enum-registry.d.ts.map +0 -1
  173. package/src/enum-registry.js +0 -123
  174. package/src/enum-registry.js.map +0 -1
  175. package/src/errors/context-error.d.ts +0 -50
  176. package/src/errors/context-error.d.ts.map +0 -1
  177. package/src/errors/context-error.js +0 -75
  178. package/src/errors/context-error.js.map +0 -1
  179. package/src/errors/enhanced-error-base.d.ts +0 -125
  180. package/src/errors/enhanced-error-base.d.ts.map +0 -1
  181. package/src/errors/enhanced-error-base.js +0 -165
  182. package/src/errors/enhanced-error-base.js.map +0 -1
  183. package/src/errors/handleable.d.ts +0 -83
  184. package/src/errors/handleable.d.ts.map +0 -1
  185. package/src/errors/handleable.js +0 -136
  186. package/src/errors/handleable.js.map +0 -1
  187. package/src/errors/i18n-error.d.ts +0 -211
  188. package/src/errors/i18n-error.d.ts.map +0 -1
  189. package/src/errors/i18n-error.js +0 -358
  190. package/src/errors/i18n-error.js.map +0 -1
  191. package/src/errors/index.d.ts.map +0 -1
  192. package/src/errors/index.js +0 -17
  193. package/src/errors/index.js.map +0 -1
  194. package/src/errors/simple-typed-error.d.ts +0 -53
  195. package/src/errors/simple-typed-error.d.ts.map +0 -1
  196. package/src/errors/simple-typed-error.js +0 -51
  197. package/src/errors/simple-typed-error.js.map +0 -1
  198. package/src/errors/translatable-generic.d.ts +0 -84
  199. package/src/errors/translatable-generic.d.ts.map +0 -1
  200. package/src/errors/translatable-generic.js +0 -134
  201. package/src/errors/translatable-generic.js.map +0 -1
  202. package/src/errors/translatable-handleable-generic.d.ts +0 -116
  203. package/src/errors/translatable-handleable-generic.d.ts.map +0 -1
  204. package/src/errors/translatable-handleable-generic.js +0 -121
  205. package/src/errors/translatable-handleable-generic.js.map +0 -1
  206. package/src/errors/translatable.d.ts +0 -59
  207. package/src/errors/translatable.d.ts.map +0 -1
  208. package/src/errors/translatable.js +0 -80
  209. package/src/errors/translatable.js.map +0 -1
  210. package/src/errors/typed-handleable.d.ts +0 -62
  211. package/src/errors/typed-handleable.d.ts.map +0 -1
  212. package/src/errors/typed-handleable.js +0 -106
  213. package/src/errors/typed-handleable.js.map +0 -1
  214. package/src/errors/typed.d.ts +0 -206
  215. package/src/errors/typed.d.ts.map +0 -1
  216. package/src/errors/typed.js +0 -452
  217. package/src/errors/typed.js.map +0 -1
  218. package/src/gender/gender-categories.d.ts.map +0 -1
  219. package/src/gender/gender-categories.js +0 -15
  220. package/src/gender/gender-categories.js.map +0 -1
  221. package/src/gender/gender-resolver.d.ts +0 -14
  222. package/src/gender/gender-resolver.d.ts.map +0 -1
  223. package/src/gender/gender-resolver.js +0 -35
  224. package/src/gender/gender-resolver.js.map +0 -1
  225. package/src/gender/index.d.ts.map +0 -1
  226. package/src/gender/index.js +0 -6
  227. package/src/gender/index.js.map +0 -1
  228. package/src/global-active-context.d.ts +0 -50
  229. package/src/global-active-context.d.ts.map +0 -1
  230. package/src/global-active-context.js +0 -185
  231. package/src/global-active-context.js.map +0 -1
  232. package/src/icu/ast.d.ts +0 -48
  233. package/src/icu/ast.d.ts.map +0 -1
  234. package/src/icu/ast.js +0 -16
  235. package/src/icu/ast.js.map +0 -1
  236. package/src/icu/compiler.d.ts +0 -16
  237. package/src/icu/compiler.d.ts.map +0 -1
  238. package/src/icu/compiler.js +0 -87
  239. package/src/icu/compiler.js.map +0 -1
  240. package/src/icu/formatter-registry.d.ts +0 -10
  241. package/src/icu/formatter-registry.d.ts.map +0 -1
  242. package/src/icu/formatter-registry.js +0 -34
  243. package/src/icu/formatter-registry.js.map +0 -1
  244. package/src/icu/formatters/base-formatter.d.ts +0 -8
  245. package/src/icu/formatters/base-formatter.d.ts.map +0 -1
  246. package/src/icu/formatters/base-formatter.js +0 -3
  247. package/src/icu/formatters/base-formatter.js.map +0 -1
  248. package/src/icu/formatters/date-formatter.d.ts +0 -5
  249. package/src/icu/formatters/date-formatter.d.ts.map +0 -1
  250. package/src/icu/formatters/date-formatter.js +0 -31
  251. package/src/icu/formatters/date-formatter.js.map +0 -1
  252. package/src/icu/formatters/number-formatter.d.ts +0 -5
  253. package/src/icu/formatters/number-formatter.d.ts.map +0 -1
  254. package/src/icu/formatters/number-formatter.js +0 -33
  255. package/src/icu/formatters/number-formatter.js.map +0 -1
  256. package/src/icu/formatters/plural-formatter.d.ts +0 -5
  257. package/src/icu/formatters/plural-formatter.d.ts.map +0 -1
  258. package/src/icu/formatters/plural-formatter.js +0 -15
  259. package/src/icu/formatters/plural-formatter.js.map +0 -1
  260. package/src/icu/formatters/select-formatter.d.ts +0 -5
  261. package/src/icu/formatters/select-formatter.d.ts.map +0 -1
  262. package/src/icu/formatters/select-formatter.js +0 -10
  263. package/src/icu/formatters/select-formatter.js.map +0 -1
  264. package/src/icu/formatters/selectordinal-formatter.d.ts +0 -5
  265. package/src/icu/formatters/selectordinal-formatter.d.ts.map +0 -1
  266. package/src/icu/formatters/selectordinal-formatter.js +0 -22
  267. package/src/icu/formatters/selectordinal-formatter.js.map +0 -1
  268. package/src/icu/formatters/time-formatter.d.ts +0 -5
  269. package/src/icu/formatters/time-formatter.d.ts.map +0 -1
  270. package/src/icu/formatters/time-formatter.js +0 -31
  271. package/src/icu/formatters/time-formatter.js.map +0 -1
  272. package/src/icu/helpers.d.ts +0 -9
  273. package/src/icu/helpers.d.ts.map +0 -1
  274. package/src/icu/helpers.js +0 -31
  275. package/src/icu/helpers.js.map +0 -1
  276. package/src/icu/parser.d.ts +0 -31
  277. package/src/icu/parser.d.ts.map +0 -1
  278. package/src/icu/parser.js +0 -203
  279. package/src/icu/parser.js.map +0 -1
  280. package/src/icu/runtime.d.ts +0 -10
  281. package/src/icu/runtime.d.ts.map +0 -1
  282. package/src/icu/runtime.js +0 -33
  283. package/src/icu/runtime.js.map +0 -1
  284. package/src/icu/tokenizer.d.ts +0 -37
  285. package/src/icu/tokenizer.d.ts.map +0 -1
  286. package/src/icu/tokenizer.js +0 -187
  287. package/src/icu/tokenizer.js.map +0 -1
  288. package/src/icu/validator.d.ts +0 -11
  289. package/src/icu/validator.d.ts.map +0 -1
  290. package/src/icu/validator.js +0 -140
  291. package/src/icu/validator.js.map +0 -1
  292. package/src/index.d.ts.map +0 -1
  293. package/src/index.js +0 -76
  294. package/src/index.js.map +0 -1
  295. package/src/interfaces/component-config.interface.d.ts +0 -16
  296. package/src/interfaces/component-config.interface.d.ts.map +0 -1
  297. package/src/interfaces/component-config.interface.js +0 -6
  298. package/src/interfaces/component-config.interface.js.map +0 -1
  299. package/src/interfaces/engine-config.interface.d.ts +0 -22
  300. package/src/interfaces/engine-config.interface.d.ts.map +0 -1
  301. package/src/interfaces/engine-config.interface.js +0 -6
  302. package/src/interfaces/engine-config.interface.js.map +0 -1
  303. package/src/interfaces/global-active-context.d.ts +0 -23
  304. package/src/interfaces/global-active-context.d.ts.map +0 -1
  305. package/src/interfaces/global-active-context.js +0 -3
  306. package/src/interfaces/global-active-context.js.map +0 -1
  307. package/src/interfaces/handleable-error-options.d.ts +0 -14
  308. package/src/interfaces/handleable-error-options.d.ts.map +0 -1
  309. package/src/interfaces/handleable-error-options.js +0 -3
  310. package/src/interfaces/handleable-error-options.js.map +0 -1
  311. package/src/interfaces/handleable.d.ts +0 -21
  312. package/src/interfaces/handleable.d.ts.map +0 -1
  313. package/src/interfaces/handleable.js +0 -3
  314. package/src/interfaces/handleable.js.map +0 -1
  315. package/src/interfaces/i18n-engine.interface.d.ts +0 -46
  316. package/src/interfaces/i18n-engine.interface.d.ts.map +0 -1
  317. package/src/interfaces/i18n-engine.interface.js +0 -6
  318. package/src/interfaces/i18n-engine.interface.js.map +0 -1
  319. package/src/interfaces/index.d.ts +0 -11
  320. package/src/interfaces/index.d.ts.map +0 -1
  321. package/src/interfaces/index.js +0 -14
  322. package/src/interfaces/index.js.map +0 -1
  323. package/src/interfaces/language-definition.interface.d.ts +0 -17
  324. package/src/interfaces/language-definition.interface.d.ts.map +0 -1
  325. package/src/interfaces/language-definition.interface.js +0 -6
  326. package/src/interfaces/language-definition.interface.js.map +0 -1
  327. package/src/interfaces/translation-options.interface.d.ts +0 -15
  328. package/src/interfaces/translation-options.interface.d.ts.map +0 -1
  329. package/src/interfaces/translation-options.interface.js +0 -6
  330. package/src/interfaces/translation-options.interface.js.map +0 -1
  331. package/src/interfaces/validation-result.interface.d.ts +0 -24
  332. package/src/interfaces/validation-result.interface.d.ts.map +0 -1
  333. package/src/interfaces/validation-result.interface.js +0 -6
  334. package/src/interfaces/validation-result.interface.js.map +0 -1
  335. package/src/language-codes.d.ts +0 -28
  336. package/src/language-codes.d.ts.map +0 -1
  337. package/src/language-codes.js +0 -32
  338. package/src/language-codes.js.map +0 -1
  339. package/src/language-definition.d.ts +0 -14
  340. package/src/language-definition.d.ts.map +0 -1
  341. package/src/language-definition.js +0 -3
  342. package/src/language-definition.js.map +0 -1
  343. package/src/plugin-i18n-engine.d.ts +0 -164
  344. package/src/plugin-i18n-engine.d.ts.map +0 -1
  345. package/src/plugin-i18n-engine.js +0 -489
  346. package/src/plugin-i18n-engine.js.map +0 -1
  347. package/src/pluralization/index.d.ts.map +0 -1
  348. package/src/pluralization/index.js +0 -10
  349. package/src/pluralization/index.js.map +0 -1
  350. package/src/pluralization/language-plural-map.d.ts +0 -29
  351. package/src/pluralization/language-plural-map.d.ts.map +0 -1
  352. package/src/pluralization/language-plural-map.js +0 -155
  353. package/src/pluralization/language-plural-map.js.map +0 -1
  354. package/src/pluralization/plural-categories.d.ts.map +0 -1
  355. package/src/pluralization/plural-categories.js +0 -8
  356. package/src/pluralization/plural-categories.js.map +0 -1
  357. package/src/pluralization/plural-rules.d.ts +0 -102
  358. package/src/pluralization/plural-rules.d.ts.map +0 -1
  359. package/src/pluralization/plural-rules.js +0 -263
  360. package/src/pluralization/plural-rules.js.map +0 -1
  361. package/src/registry-config.d.ts +0 -16
  362. package/src/registry-config.d.ts.map +0 -1
  363. package/src/registry-config.js +0 -3
  364. package/src/registry-config.js.map +0 -1
  365. package/src/registry-error-type.d.ts +0 -20
  366. package/src/registry-error-type.d.ts.map +0 -1
  367. package/src/registry-error-type.js +0 -24
  368. package/src/registry-error-type.js.map +0 -1
  369. package/src/registry-error.d.ts +0 -19
  370. package/src/registry-error.d.ts.map +0 -1
  371. package/src/registry-error.js +0 -49
  372. package/src/registry-error.js.map +0 -1
  373. package/src/strict-types.d.ts +0 -19
  374. package/src/strict-types.d.ts.map +0 -1
  375. package/src/strict-types.js +0 -18
  376. package/src/strict-types.js.map +0 -1
  377. package/src/strings/de.d.ts +0 -3
  378. package/src/strings/de.d.ts.map +0 -1
  379. package/src/strings/de.js +0 -57
  380. package/src/strings/de.js.map +0 -1
  381. package/src/strings/en-GB.d.ts +0 -3
  382. package/src/strings/en-GB.d.ts.map +0 -1
  383. package/src/strings/en-GB.js +0 -57
  384. package/src/strings/en-GB.js.map +0 -1
  385. package/src/strings/en-US.d.ts +0 -3
  386. package/src/strings/en-US.d.ts.map +0 -1
  387. package/src/strings/en-US.js +0 -57
  388. package/src/strings/en-US.js.map +0 -1
  389. package/src/strings/es.d.ts +0 -3
  390. package/src/strings/es.d.ts.map +0 -1
  391. package/src/strings/es.js +0 -57
  392. package/src/strings/es.js.map +0 -1
  393. package/src/strings/fr.d.ts +0 -3
  394. package/src/strings/fr.d.ts.map +0 -1
  395. package/src/strings/fr.js +0 -57
  396. package/src/strings/fr.js.map +0 -1
  397. package/src/strings/ja.d.ts +0 -3
  398. package/src/strings/ja.d.ts.map +0 -1
  399. package/src/strings/ja.js +0 -57
  400. package/src/strings/ja.js.map +0 -1
  401. package/src/strings/uk.d.ts +0 -3
  402. package/src/strings/uk.d.ts.map +0 -1
  403. package/src/strings/uk.js +0 -57
  404. package/src/strings/uk.js.map +0 -1
  405. package/src/strings/zh-CN.d.ts +0 -3
  406. package/src/strings/zh-CN.d.ts.map +0 -1
  407. package/src/strings/zh-CN.js +0 -57
  408. package/src/strings/zh-CN.js.map +0 -1
  409. package/src/template.d.ts +0 -13
  410. package/src/template.d.ts.map +0 -1
  411. package/src/template.js +0 -40
  412. package/src/template.js.map +0 -1
  413. package/src/translation-engine.d.ts +0 -9
  414. package/src/translation-engine.d.ts.map +0 -1
  415. package/src/translation-engine.js +0 -3
  416. package/src/translation-engine.js.map +0 -1
  417. package/src/translation-request.d.ts +0 -10
  418. package/src/translation-request.d.ts.map +0 -1
  419. package/src/translation-request.js +0 -3
  420. package/src/translation-request.js.map +0 -1
  421. package/src/translation-response.d.ts +0 -9
  422. package/src/translation-response.d.ts.map +0 -1
  423. package/src/translation-response.js +0 -3
  424. package/src/translation-response.js.map +0 -1
  425. package/src/types/engine.d.ts +0 -47
  426. package/src/types/engine.d.ts.map +0 -1
  427. package/src/types/engine.js +0 -8
  428. package/src/types/engine.js.map +0 -1
  429. package/src/types/index.d.ts.map +0 -1
  430. package/src/types/index.js +0 -9
  431. package/src/types/index.js.map +0 -1
  432. package/src/types/plural-types.d.ts.map +0 -1
  433. package/src/types/plural-types.js +0 -39
  434. package/src/types/plural-types.js.map +0 -1
  435. package/src/types.d.ts +0 -96
  436. package/src/types.d.ts.map +0 -1
  437. package/src/types.js +0 -23
  438. package/src/types.js.map +0 -1
  439. package/src/utils/currency.d.ts +0 -81
  440. package/src/utils/currency.d.ts.map +0 -1
  441. package/src/utils/currency.js +0 -101
  442. package/src/utils/currency.js.map +0 -1
  443. package/src/utils/html-escape.d.ts +0 -22
  444. package/src/utils/html-escape.d.ts.map +0 -1
  445. package/src/utils/html-escape.js +0 -53
  446. package/src/utils/html-escape.js.map +0 -1
  447. package/src/utils/index.d.ts.map +0 -1
  448. package/src/utils/index.js +0 -12
  449. package/src/utils/index.js.map +0 -1
  450. package/src/utils/lru-cache.d.ts +0 -42
  451. package/src/utils/lru-cache.d.ts.map +0 -1
  452. package/src/utils/lru-cache.js +0 -73
  453. package/src/utils/lru-cache.js.map +0 -1
  454. package/src/utils/plural-helpers.d.ts.map +0 -1
  455. package/src/utils/plural-helpers.js +0 -35
  456. package/src/utils/plural-helpers.js.map +0 -1
  457. package/src/utils/safe-object.d.ts +0 -39
  458. package/src/utils/safe-object.d.ts.map +0 -1
  459. package/src/utils/safe-object.js.map +0 -1
  460. package/src/utils/string-utils.d.ts +0 -28
  461. package/src/utils/string-utils.d.ts.map +0 -1
  462. package/src/utils/string-utils.js +0 -63
  463. package/src/utils/string-utils.js.map +0 -1
  464. package/src/utils/timezone.d.ts +0 -50
  465. package/src/utils/timezone.d.ts.map +0 -1
  466. package/src/utils/timezone.js +0 -74
  467. package/src/utils/timezone.js.map +0 -1
  468. package/src/utils/validation.d.ts +0 -40
  469. package/src/utils/validation.d.ts.map +0 -1
  470. package/src/utils/validation.js +0 -69
  471. package/src/utils/validation.js.map +0 -1
  472. package/src/utils.d.ts +0 -65
  473. package/src/utils.d.ts.map +0 -1
  474. package/src/utils.js +0 -129
  475. package/src/utils.js.map +0 -1
  476. package/src/validation/index.d.ts.map +0 -1
  477. package/src/validation/index.js +0 -5
  478. package/src/validation/index.js.map +0 -1
  479. package/src/validation/plural-validator.d.ts +0 -46
  480. package/src/validation/plural-validator.d.ts.map +0 -1
  481. package/src/validation/plural-validator.js +0 -123
  482. package/src/validation/plural-validator.js.map +0 -1
  483. package/src/validation-config.d.ts +0 -12
  484. package/src/validation-config.d.ts.map +0 -1
  485. package/src/validation-config.js +0 -3
  486. package/src/validation-config.js.map +0 -1
  487. package/src/validation-result.d.ts +0 -13
  488. package/src/validation-result.d.ts.map +0 -1
  489. package/src/validation-result.js +0 -3
  490. package/src/validation-result.js.map +0 -1
@@ -1,46 +0,0 @@
1
- /**
2
- * Core I18n Engine interface
3
- */
4
- import { ComponentConfig } from './component-config.interface';
5
- import { LanguageDefinition } from './language-definition.interface';
6
- import { ValidationResult } from './validation-result.interface';
7
- /**
8
- * Main interface for the I18n engine, defining all translation and management operations.
9
- */
10
- export interface II18nEngine {
11
- /** Registers a new component with its translations */
12
- register(config: ComponentConfig): ValidationResult;
13
- /** Registers a component only if it doesn't already exist */
14
- registerIfNotExists(config: ComponentConfig): ValidationResult;
15
- /** Updates strings for an existing component */
16
- updateStrings(componentId: string, strings: Record<string, Record<string, string>>): ValidationResult;
17
- /** Checks if a component is registered */
18
- hasComponent(componentId: string): boolean;
19
- /** Gets all registered components */
20
- getComponents(): readonly ComponentConfig[];
21
- /** Translates a string key for a component */
22
- translate(componentId: string, key: string, variables?: Record<string, any>, language?: string): string;
23
- /** Safely translates a string key, returning a fallback on error */
24
- safeTranslate(componentId: string, key: string, variables?: Record<string, any>, language?: string): string;
25
- /** Template processor that handles embedded component.key patterns */
26
- t(template: string, variables?: Record<string, any>, language?: string): string;
27
- /** Registers a new language */
28
- registerLanguage(language: LanguageDefinition): void;
29
- /** Sets the current user-facing language */
30
- setLanguage(language: string): void;
31
- /** Sets the administrative language */
32
- setAdminLanguage(language: string): void;
33
- /** Gets all registered languages */
34
- getLanguages(): readonly LanguageDefinition[];
35
- /** Checks if a language is registered */
36
- hasLanguage(language: string): boolean;
37
- /** Switches to admin context */
38
- switchToAdmin(): void;
39
- /** Switches to user context */
40
- switchToUser(): void;
41
- /** Gets the currently active language based on context */
42
- getCurrentLanguage(): string;
43
- /** Validates all registered components */
44
- validate(): ValidationResult;
45
- }
46
- //# sourceMappingURL=i18n-engine.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n-engine.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-engine.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAE1B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAC;IACpD,6DAA6D;IAC7D,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAC/D,gDAAgD;IAChD,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,gBAAgB,CAAC;IACtG,0CAA0C;IAC1C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,qCAAqC;IACrC,aAAa,IAAI,SAAS,eAAe,EAAE,CAAC;IAG5C,8CAA8C;IAC9C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxG,oEAAoE;IACpE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5G,sEAAsE;IACtE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGhF,+BAA+B;IAC/B,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrD,4CAA4C;IAC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uCAAuC;IACvC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,oCAAoC;IACpC,YAAY,IAAI,SAAS,kBAAkB,EAAE,CAAC;IAC9C,yCAAyC;IACzC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAGvC,gCAAgC;IAChC,aAAa,IAAI,IAAI,CAAC;IACtB,+BAA+B;IAC/B,YAAY,IAAI,IAAI,CAAC;IACrB,0DAA0D;IAC1D,kBAAkB,IAAI,MAAM,CAAC;IAG7B,0CAA0C;IAC1C,QAAQ,IAAI,gBAAgB,CAAC;CAC9B"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Core I18n Engine interface
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=i18n-engine.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n-engine.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-engine.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Interface exports
3
- */
4
- export * from './component-config.interface';
5
- export * from './engine-config.interface';
6
- export * from './global-active-context';
7
- export * from './i18n-engine.interface';
8
- export * from './language-definition.interface';
9
- export * from './translation-options.interface';
10
- export * from './validation-result.interface';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- /**
3
- * Interface exports
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const tslib_1 = require("tslib");
7
- tslib_1.__exportStar(require("./component-config.interface"), exports);
8
- tslib_1.__exportStar(require("./engine-config.interface"), exports);
9
- tslib_1.__exportStar(require("./global-active-context"), exports);
10
- tslib_1.__exportStar(require("./i18n-engine.interface"), exports);
11
- tslib_1.__exportStar(require("./language-definition.interface"), exports);
12
- tslib_1.__exportStar(require("./translation-options.interface"), exports);
13
- tslib_1.__exportStar(require("./validation-result.interface"), exports);
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uEAA6C;AAC7C,oEAA0C;AAC1C,kEAAwC;AACxC,kEAAwC;AACxC,0EAAgD;AAChD,0EAAgD;AAChD,wEAA8C"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Language definition interface
3
- */
4
- /**
5
- * Defines a language with its metadata.
6
- */
7
- export interface LanguageDefinition {
8
- /** Unique identifier for the language (e.g., 'en-US') */
9
- readonly id: string;
10
- /** Display name in the native language */
11
- readonly name: string;
12
- /** ISO language code */
13
- readonly code: string;
14
- /** Whether this is the default/fallback language */
15
- readonly isDefault?: boolean;
16
- }
17
- //# sourceMappingURL=language-definition.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-definition.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/language-definition.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Language definition interface
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=language-definition.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-definition.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/language-definition.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Translation options interface
3
- */
4
- /**
5
- * Options that can be passed when requesting a translation.
6
- */
7
- export interface TranslationOptions {
8
- /** Variables to replace in template strings */
9
- readonly variables?: Record<string, any>;
10
- /** Language code to use for the translation */
11
- readonly language?: string;
12
- /** Fallback value to return if translation fails */
13
- readonly fallback?: string;
14
- }
15
- //# sourceMappingURL=translation-options.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-options.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/translation-options.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Translation options interface
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=translation-options.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-options.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/translation-options.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Validation result interface
3
- */
4
- /**
5
- * Result of validating a component registration or the entire engine.
6
- */
7
- export interface ValidationResult {
8
- /** Whether the validation passed */
9
- readonly isValid: boolean;
10
- /** Array of validation errors */
11
- readonly errors: readonly string[];
12
- /** Array of validation warnings */
13
- readonly warnings: readonly string[];
14
- /** Detailed information about missing translation keys */
15
- readonly missingKeys?: readonly {
16
- /** The language ID where the key is missing */
17
- languageId: string;
18
- /** The component ID where the key is missing */
19
- componentId: string;
20
- /** The string key that is missing */
21
- stringKey: string;
22
- }[];
23
- }
24
- //# sourceMappingURL=validation-result.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-result.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/validation-result.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS;QAC9B,+CAA+C;QAC/C,UAAU,EAAE,MAAM,CAAC;QACnB,gDAAgD;QAChD,WAAW,EAAE,MAAM,CAAC;QACpB,qCAAqC;QACrC,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACL"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Validation result interface
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=validation-result.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-result.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/validation-result.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Common language codes following BCP 47 standard.
3
- * These are provided as constants for convenience, but any string can be used as a language code.
4
- * Site builders can use these or define their own custom language codes.
5
- */
6
- export declare const LanguageCodes: {
7
- readonly EN_US: "en-US";
8
- readonly EN_GB: "en-GB";
9
- readonly FR: "fr";
10
- readonly ES: "es";
11
- readonly DE: "de";
12
- readonly ZH_CN: "zh-CN";
13
- readonly JA: "ja";
14
- readonly UK: "uk";
15
- };
16
- /**
17
- * Type representing any language code (string)
18
- */
19
- export type LanguageCode = string;
20
- /**
21
- * Type representing the common language codes provided by this library
22
- */
23
- export type CommonLanguageCode = (typeof LanguageCodes)[keyof typeof LanguageCodes];
24
- /**
25
- * Helper to get display names for common language codes
26
- */
27
- export declare const LanguageDisplayNames: Record<CommonLanguageCode, string>;
28
- //# sourceMappingURL=language-codes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-codes.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/language-codes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;CAShB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CASnE,CAAC"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LanguageDisplayNames = exports.LanguageCodes = void 0;
4
- /**
5
- * Common language codes following BCP 47 standard.
6
- * These are provided as constants for convenience, but any string can be used as a language code.
7
- * Site builders can use these or define their own custom language codes.
8
- */
9
- exports.LanguageCodes = {
10
- EN_US: 'en-US',
11
- EN_GB: 'en-GB',
12
- FR: 'fr',
13
- ES: 'es',
14
- DE: 'de',
15
- ZH_CN: 'zh-CN',
16
- JA: 'ja',
17
- UK: 'uk',
18
- };
19
- /**
20
- * Helper to get display names for common language codes
21
- */
22
- exports.LanguageDisplayNames = {
23
- [exports.LanguageCodes.EN_US]: 'English (US)',
24
- [exports.LanguageCodes.EN_GB]: 'English (UK)',
25
- [exports.LanguageCodes.FR]: 'Français',
26
- [exports.LanguageCodes.ES]: 'Español',
27
- [exports.LanguageCodes.DE]: 'Deutsch',
28
- [exports.LanguageCodes.ZH_CN]: '中文',
29
- [exports.LanguageCodes.JA]: '日本語',
30
- [exports.LanguageCodes.UK]: 'Українська',
31
- };
32
- //# sourceMappingURL=language-codes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-codes.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/language-codes.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACA,CAAC;AAaX;;GAEG;AACU,QAAA,oBAAoB,GAAuC;IACtE,CAAC,qBAAa,CAAC,KAAK,CAAC,EAAE,cAAc;IACrC,CAAC,qBAAa,CAAC,KAAK,CAAC,EAAE,cAAc;IACrC,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,UAAU;IAC9B,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,SAAS;IAC7B,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,SAAS;IAC7B,CAAC,qBAAa,CAAC,KAAK,CAAC,EAAE,IAAI;IAC3B,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,KAAK;IACzB,CAAC,qBAAa,CAAC,EAAE,CAAC,EAAE,YAAY;CACjC,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Language definition with its properties
3
- */
4
- export interface LanguageDefinition {
5
- /** Unique identifier for the language */
6
- readonly id: string;
7
- /** Display name in the native language */
8
- readonly name: string;
9
- /** ISO language code (e.g., 'en', 'fr', 'zh-CN') */
10
- readonly code: string;
11
- /** Whether this is the fallback/default language */
12
- readonly isDefault?: boolean;
13
- }
14
- //# sourceMappingURL=language-definition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-definition.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/language-definition.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=language-definition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-definition.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/language-definition.ts"],"names":[],"mappings":""}
@@ -1,164 +0,0 @@
1
- /**
2
- * Plugin-based internationalization engine with component and language registration
3
- */
4
- import { IActiveContext } from './active-context';
5
- import { ComponentDefinition } from './component-definition';
6
- import { ComponentRegistration } from './component-registration';
7
- import { ComponentRegistry } from './component-registry';
8
- import { EnumTranslationRegistry } from './enum-registry';
9
- import { LanguageDefinition } from './language-definition';
10
- import { RegistryConfig } from './registry-config';
11
- import { TranslationResponse } from './translation-response';
12
- import { EnumLanguageTranslation } from './types';
13
- /**
14
- * Plugin-based I18n Engine with registration capabilities
15
- */
16
- export declare class PluginI18nEngine<TLanguages extends string> {
17
- private readonly componentRegistry;
18
- private readonly enumRegistry;
19
- private readonly config;
20
- private contextKey;
21
- private readonly aliasToComponent;
22
- private readonly componentKeyLookup;
23
- /**
24
- * Default template processor instance
25
- */
26
- readonly t: (str: string, language?: TLanguages, ...otherVars: Record<string, string | number>[]) => string;
27
- /**
28
- * Static instances for semi-singleton pattern
29
- */
30
- private static _instances;
31
- private static _defaultKey;
32
- protected static readonly DefaultInstanceKey = "default";
33
- constructor(initialLanguages: readonly LanguageDefinition[], config?: Partial<RegistryConfig<TLanguages>>, options?: {
34
- instanceKey?: string;
35
- registerInstance?: boolean;
36
- setAsDefault?: boolean;
37
- });
38
- private resolveComponentAndKey;
39
- private registerComponentMetadata;
40
- private normalizeLegacyKey;
41
- /**
42
- * Create a new instance with a specific key
43
- */
44
- static createInstance<TLangs extends string>(key: string, initialLanguages: readonly LanguageDefinition[], config?: Partial<RegistryConfig<TLangs>>): PluginI18nEngine<TLangs>;
45
- /**
46
- * Get an existing instance by key
47
- */
48
- static getInstance<TLangs extends string>(key?: string): PluginI18nEngine<TLangs>;
49
- /**
50
- * Register a new language (updates static registry)
51
- */
52
- registerLanguage(language: LanguageDefinition): void;
53
- /**
54
- * Register multiple languages (updates static registry)
55
- */
56
- registerLanguages(languages: readonly LanguageDefinition[]): void;
57
- /**
58
- * Register a component with its translations
59
- */
60
- registerComponent<TStringKeys extends string>(registration: ComponentRegistration<TStringKeys, TLanguages>): import("./validation-result").ValidationResult;
61
- /**
62
- * Register a component only if it doesn't already exist
63
- */
64
- registerComponentIfNotExists<TStringKeys extends string>(registration: ComponentRegistration<TStringKeys, TLanguages>): import("./validation-result").ValidationResult | {
65
- isValid: boolean;
66
- errors: never[];
67
- warnings: never[];
68
- };
69
- /**
70
- * Update strings for an existing component
71
- */
72
- updateComponentStrings<TStringKeys extends string>(componentId: string, strings: Parameters<ComponentRegistry<TLanguages>['updateComponentStrings']>[1]): import("./validation-result").ValidationResult;
73
- /**
74
- * Register an enum with translations
75
- */
76
- registerEnum<TEnum extends string | number>(enumObj: Record<string, TEnum>, translations: EnumLanguageTranslation<TEnum, TLanguages>, enumName: string): void;
77
- /**
78
- * Translate a string for a component
79
- */
80
- translate<TStringKeys extends string>(componentId: string, stringKey: TStringKeys, variables?: Record<string, string | number>, language?: TLanguages): string;
81
- /**
82
- * Safe translate that returns a placeholder if translation fails
83
- */
84
- safeTranslate(componentId: string, stringKey: string, variables?: Record<string, string | number>, language?: TLanguages): string;
85
- /**
86
- * Translate an enum value
87
- */
88
- translateEnum<TEnum extends string | number>(enumObj: Record<string, TEnum>, value: TEnum, language?: TLanguages): string;
89
- /**
90
- * Get detailed translation response
91
- */
92
- getTranslationDetails<TStringKeys extends string>(componentId: string, stringKey: TStringKeys, variables?: Record<string, string | number>, language?: TLanguages): TranslationResponse;
93
- /**
94
- * Get current context
95
- */
96
- getContext(): IActiveContext<TLanguages>;
97
- /**
98
- * Update context
99
- */
100
- updateContext(updates: Partial<IActiveContext<TLanguages>>): void;
101
- /**
102
- * Get current language from global context
103
- * Respects language context space (admin vs user)
104
- */
105
- private getCurrentLanguage;
106
- /**
107
- * Set current language
108
- */
109
- setLanguage(language: TLanguages): void;
110
- /**
111
- * Get available languages from static registry
112
- */
113
- getLanguages(): readonly LanguageDefinition[];
114
- /**
115
- * Get registered components
116
- */
117
- getComponents(): ReadonlyArray<ComponentDefinition<any>>;
118
- /**
119
- * Check if a component is registered
120
- */
121
- hasComponent(componentId: string): boolean;
122
- /**
123
- * Check if a language is registered in static registry
124
- */
125
- hasLanguage(language: TLanguages): boolean;
126
- /**
127
- * Get language by code from static registry
128
- */
129
- getLanguageByCode(code: string): LanguageDefinition | undefined;
130
- /**
131
- * Get component registry for direct access
132
- */
133
- getComponentRegistry(): ComponentRegistry<TLanguages>;
134
- /**
135
- * Get enum registry for direct access
136
- */
137
- getEnumRegistry(): EnumTranslationRegistry<string, TLanguages>;
138
- /**
139
- * Validate that all components have complete translations
140
- */
141
- validateAllComponents(): {
142
- isValid: boolean;
143
- errors: string[];
144
- warnings: string[];
145
- };
146
- /**
147
- * Clear all component registrations for this instance (useful for testing)
148
- */
149
- clearAllComponents(): void;
150
- /**
151
- * Remove a specific named instance
152
- */
153
- static removeInstance(key?: string): boolean;
154
- /**
155
- * Check if an instance exists
156
- */
157
- static hasInstance(key?: string): boolean;
158
- /**
159
- * Reset all plugin engines and clear component registrations
160
- * Useful for test cleanup
161
- */
162
- static resetAll(): void;
163
- }
164
- //# sourceMappingURL=plugin-i18n-engine.d.ts.map
@@ -1 +0,0 @@
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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"}