@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
package/src/strings/uk.js DELETED
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ukrainianStrings = void 0;
4
- const core_string_key_1 = require("../core-string-key");
5
- exports.ukrainianStrings = {
6
- // Common/General
7
- [core_string_key_1.CoreStringKey.Common_Yes]: 'Так',
8
- [core_string_key_1.CoreStringKey.Common_No]: 'Ні',
9
- [core_string_key_1.CoreStringKey.Common_Cancel]: 'Скасувати',
10
- [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
11
- [core_string_key_1.CoreStringKey.Common_Save]: 'Зберегти',
12
- [core_string_key_1.CoreStringKey.Common_Delete]: 'Видалити',
13
- [core_string_key_1.CoreStringKey.Common_Edit]: 'Редагувати',
14
- [core_string_key_1.CoreStringKey.Common_Create]: 'Створити',
15
- [core_string_key_1.CoreStringKey.Common_Update]: 'Оновити',
16
- [core_string_key_1.CoreStringKey.Common_Loading]: 'Завантаження...',
17
- [core_string_key_1.CoreStringKey.Common_Error]: 'Помилка',
18
- [core_string_key_1.CoreStringKey.Common_Success]: 'Успіх',
19
- [core_string_key_1.CoreStringKey.Common_Warning]: 'Попередження',
20
- [core_string_key_1.CoreStringKey.Common_Info]: 'Інформація',
21
- [core_string_key_1.CoreStringKey.Common_Disposed]: "Об'єкт було звільнено",
22
- [core_string_key_1.CoreStringKey.Common_Test]: 'Тест',
23
- // Error Messages
24
- [core_string_key_1.CoreStringKey.Error_InvalidInput]: 'Надано неправильний ввід',
25
- [core_string_key_1.CoreStringKey.Error_NetworkError]: "Помилка мережевого з'єднання",
26
- [core_string_key_1.CoreStringKey.Error_NotFound]: 'Ресурс не знайдено',
27
- [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'Доступ заборонено',
28
- [core_string_key_1.CoreStringKey.Error_InternalServer]: 'Внутрішня помилка сервера',
29
- [core_string_key_1.CoreStringKey.Error_ValidationFailed]: 'Перевірка не вдалася',
30
- [core_string_key_1.CoreStringKey.Error_RequiredField]: "Це поле є обов'язковим",
31
- [core_string_key_1.CoreStringKey.Error_InvalidContext]: 'Неправильний контекст',
32
- [core_string_key_1.CoreStringKey.Error_InvalidContextTemplate]: 'Неправильний контекст: {contextKey}',
33
- [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyTemplate]: 'Відсутній ключ перекладу: {stringKey}',
34
- [core_string_key_1.CoreStringKey.Error_InvalidCurrencyCodeTemplate]: 'Неправильний код валюти: {value}',
35
- // Registry Error Templates
36
- [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'Компонент "{componentId}" не знайдено',
37
- [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: 'Мову "{language}" не знайдено',
38
- [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'Ключ рядка "{stringKey}" не знайдено для компонента "{componentId}"',
39
- [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'Неповна реєстрація для компонента "{componentId}": не вистачає {missingCount} рядків',
40
- [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'Компонент "{componentId}" вже зареєстровано',
41
- [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: 'Мову "{languageId}" вже зареєстровано',
42
- [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'Перевірка не вдалася для компонента "{componentId}": {errorCount} помилок',
43
- // System Messages
44
- [core_string_key_1.CoreStringKey.System_Welcome]: 'Ласкаво просимо',
45
- [core_string_key_1.CoreStringKey.System_Goodbye]: 'До побачення',
46
- [core_string_key_1.CoreStringKey.System_PleaseWait]: 'Будь ласка, зачекайте...',
47
- [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'Обробка вашого запиту...',
48
- [core_string_key_1.CoreStringKey.System_OperationComplete]: 'Операція успішно завершена',
49
- [core_string_key_1.CoreStringKey.System_NoDataAvailable]: 'Дані недоступні',
50
- [core_string_key_1.CoreStringKey.Error_InstanceAlreadyExistsTemplate]: "Екземпляр з ключем '{key}' вже існує",
51
- [core_string_key_1.CoreStringKey.Error_InstanceNotFoundTemplate]: "Екземпляр з ключем '{key}' не знайдено",
52
- [core_string_key_1.CoreStringKey.Error_MissingStringCollectionTemplate]: 'Відсутня колекція рядків для мови: {language}',
53
- [core_string_key_1.CoreStringKey.Error_MissingTranslationTemplate]: "Відсутній переклад для ключа '{key}' в мові '{language}'",
54
- [core_string_key_1.CoreStringKey.Error_DefaultLanguageNoCollectionTemplate]: "Мова за замовчуванням '{language}' не має колекції рядків",
55
- [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyForTypeTemplate]: 'Відсутній ключ перекладу для типу: {type}',
56
- };
57
- //# sourceMappingURL=uk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uk.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/strings/uk.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { CoreStringKey } from '../core-string-key';
2
- export declare const mandarinStrings: Record<CoreStringKey, string>;
3
- //# sourceMappingURL=zh-CN.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/strings/zh-CN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAqErD,CAAC"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mandarinStrings = void 0;
4
- const core_string_key_1 = require("../core-string-key");
5
- exports.mandarinStrings = {
6
- // Common/General
7
- [core_string_key_1.CoreStringKey.Common_Yes]: '是',
8
- [core_string_key_1.CoreStringKey.Common_No]: '否',
9
- [core_string_key_1.CoreStringKey.Common_Cancel]: '取消',
10
- [core_string_key_1.CoreStringKey.Common_OK]: '确定',
11
- [core_string_key_1.CoreStringKey.Common_Save]: '保存',
12
- [core_string_key_1.CoreStringKey.Common_Delete]: '删除',
13
- [core_string_key_1.CoreStringKey.Common_Edit]: '编辑',
14
- [core_string_key_1.CoreStringKey.Common_Create]: '创建',
15
- [core_string_key_1.CoreStringKey.Common_Update]: '更新',
16
- [core_string_key_1.CoreStringKey.Common_Loading]: '加载中...',
17
- [core_string_key_1.CoreStringKey.Common_Error]: '错误',
18
- [core_string_key_1.CoreStringKey.Common_Success]: '成功',
19
- [core_string_key_1.CoreStringKey.Common_Warning]: '警告',
20
- [core_string_key_1.CoreStringKey.Common_Info]: '信息',
21
- [core_string_key_1.CoreStringKey.Common_Disposed]: '对象已被释放',
22
- [core_string_key_1.CoreStringKey.Common_Test]: '测试',
23
- // Error Messages
24
- [core_string_key_1.CoreStringKey.Error_InvalidInput]: '提供的输入无效',
25
- [core_string_key_1.CoreStringKey.Error_NetworkError]: '网络连接错误',
26
- [core_string_key_1.CoreStringKey.Error_NotFound]: '未找到资源',
27
- [core_string_key_1.CoreStringKey.Error_AccessDenied]: '访问被拒绝',
28
- [core_string_key_1.CoreStringKey.Error_InternalServer]: '内部服务器错误',
29
- [core_string_key_1.CoreStringKey.Error_ValidationFailed]: '验证失败',
30
- [core_string_key_1.CoreStringKey.Error_RequiredField]: '此字段为必填项',
31
- [core_string_key_1.CoreStringKey.Error_InvalidContext]: '无效的上下文',
32
- [core_string_key_1.CoreStringKey.Error_InvalidContextTemplate]: '无效的上下文:{contextKey}',
33
- [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyTemplate]: '缺少翻译键:{stringKey}',
34
- [core_string_key_1.CoreStringKey.Error_InvalidCurrencyCodeTemplate]: '无效的货币代码:{value}',
35
- // Registry Error Templates
36
- [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: '未找到组件 "{componentId}"',
37
- [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: '未找到语言 "{language}"',
38
- [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: '组件 "{componentId}" 未找到字符串键 "{stringKey}"',
39
- [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: '组件 "{componentId}" 注册不完整:缺少 {missingCount} 个字符串',
40
- [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: '组件 "{componentId}" 已注册',
41
- [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: '语言 "{languageId}" 已注册',
42
- [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: '组件 "{componentId}" 验证失败:{errorCount} 个错误',
43
- // System Messages
44
- [core_string_key_1.CoreStringKey.System_Welcome]: '欢迎',
45
- [core_string_key_1.CoreStringKey.System_Goodbye]: '再见',
46
- [core_string_key_1.CoreStringKey.System_PleaseWait]: '请稍候...',
47
- [core_string_key_1.CoreStringKey.System_ProcessingRequest]: '正在处理您的请求...',
48
- [core_string_key_1.CoreStringKey.System_OperationComplete]: '操作成功完成',
49
- [core_string_key_1.CoreStringKey.System_NoDataAvailable]: '无可用数据',
50
- [core_string_key_1.CoreStringKey.Error_InstanceAlreadyExistsTemplate]: "键为'{key}'的实例已存在",
51
- [core_string_key_1.CoreStringKey.Error_InstanceNotFoundTemplate]: "未找到键为'{key}'的实例",
52
- [core_string_key_1.CoreStringKey.Error_MissingStringCollectionTemplate]: '缺少语言的字符串集合: {language}',
53
- [core_string_key_1.CoreStringKey.Error_MissingTranslationTemplate]: "在语言'{language}'中缺少键'{key}'的翻译",
54
- [core_string_key_1.CoreStringKey.Error_DefaultLanguageNoCollectionTemplate]: "默认语言'{language}'没有字符串集合",
55
- [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyForTypeTemplate]: '类型缺少翻译键: {type}',
56
- };
57
- //# sourceMappingURL=zh-CN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/strings/zh-CN.ts"],"names":[],"mappings":"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"}
package/src/template.d.ts DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * Template processing utilities for i18n
3
- */
4
- export type EnumKeys<T> = keyof T;
5
- /**
6
- * Recursive type to validate that all enum keys in the template string exist in the provided enum type
7
- */
8
- export type IsValidEnumTemplate<T extends string, TEnum> = T extends `${string}{{${string}.${infer Key}}}${infer Rest}` ? Key extends EnumKeys<TEnum> ? IsValidEnumTemplate<Rest, TEnum> : false : true;
9
- /**
10
- * Template function that processes {{EnumName.EnumKey}} patterns
11
- */
12
- export declare function createTemplateProcessor<TEnum extends Record<string, string>, TLanguage extends string>(enumObj: TEnum, translateFn: (key: TEnum[keyof TEnum], vars?: Record<string, string | number>, language?: TLanguage) => string, enumName: string): <T extends string>(str: IsValidEnumTemplate<T, TEnum> extends true ? T : never, language?: TLanguage, ...otherVars: Record<string, string | number>[]) => string;
13
- //# sourceMappingURL=template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/template.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,MAAM,EAChB,KAAK,IACH,CAAC,SAAS,GAAG,MAAM,KAAK,MAAM,IAAI,MAAM,GAAG,KAAK,MAAM,IAAI,EAAE,GAC5D,GAAG,SAAS,QAAQ,CAAC,KAAK,CAAC,GACzB,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,GAChC,KAAK,GACP,IAAI,CAAC;AAET;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,SAAS,SAAS,MAAM,EAExB,OAAO,EAAE,KAAK,EACd,WAAW,EAAE,CACX,GAAG,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACtC,QAAQ,CAAC,EAAE,SAAS,KACjB,MAAM,EACX,QAAQ,EAAE,MAAM,IAEE,CAAC,SAAS,MAAM,EAChC,KAAK,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,EAC3D,WAAW,SAAS,EACpB,GAAG,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,KAC9C,MAAM,CAmCV"}
package/src/template.js DELETED
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTemplateProcessor = createTemplateProcessor;
4
- /**
5
- * Template function that processes {{EnumName.EnumKey}} patterns
6
- */
7
- function createTemplateProcessor(enumObj, translateFn, enumName) {
8
- return function t(str, language, ...otherVars) {
9
- let varIndex = 0;
10
- // Limited pattern to prevent ReDoS
11
- const pattern = new RegExp(`\\{\\{${enumName}\\.(\\w{1,50})\\}\\}`, 'g');
12
- // First replace enum patterns
13
- let result = str.replace(pattern, (match, enumKey) => {
14
- const enumValue = enumObj[enumKey];
15
- if (!enumValue) {
16
- return match; // Return original if enum key not found
17
- }
18
- const needsVars = enumValue
19
- .toLowerCase()
20
- .endsWith('template');
21
- const vars = needsVars ? (otherVars[varIndex++] ?? {}) : {};
22
- return translateFn(enumValue, vars, language);
23
- });
24
- // Then replace any remaining variables from all otherVars
25
- const allVars = {};
26
- for (const vars of otherVars) {
27
- for (const [key, value] of Object.entries(vars)) {
28
- if (!['__proto__', 'constructor', 'prototype'].includes(key)) {
29
- allVars[key] = value;
30
- }
31
- }
32
- }
33
- // Limited pattern to prevent ReDoS
34
- result = result.replace(/\{(\w{1,50})\}/g, (match, varName) => {
35
- return allVars[varName] !== undefined ? String(allVars[varName]) : match;
36
- });
37
- return result;
38
- };
39
- }
40
- //# sourceMappingURL=template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/template.ts"],"names":[],"mappings":";;AAoBA,0DAmDC;AAtDD;;GAEG;AACH,SAAgB,uBAAuB,CAIrC,OAAc,EACd,WAIW,EACX,QAAgB;IAEhB,OAAO,SAAS,CAAC,CACf,GAA2D,EAC3D,QAAoB,EACpB,GAAG,SAA4C;QAE/C,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,mCAAmC;QACnC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,SAAS,QAAQ,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAEzE,8BAA8B;QAC9B,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAsB,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC,CAAC,wCAAwC;YACxD,CAAC;YAED,MAAM,SAAS,GAAI,SAAoB;iBACpC,WAAW,EAAE;iBACb,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,MAAM,OAAO,GAAoC,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QACD,mCAAmC;QACnC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5D,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Minimal interface for translation engines
3
- * Allows flexibility in what can be used as a translation engine
4
- */
5
- export interface TranslationEngine<TStringKey extends string = string> {
6
- translate: (componentId: string, key: TStringKey, vars?: Record<string, string | number>, lang?: any) => string;
7
- safeTranslate: (componentId: string, key: TStringKey, vars?: Record<string, string | number>, lang?: any) => string;
8
- }
9
- //# sourceMappingURL=translation-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-engine.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM;IACnE,SAAS,EAAE,CACT,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACtC,IAAI,CAAC,EAAE,GAAG,KACP,MAAM,CAAC;IACZ,aAAa,EAAE,CACb,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACtC,IAAI,CAAC,EAAE,GAAG,KACP,MAAM,CAAC;CACb"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=translation-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-engine.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-engine.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- /**
2
- * Translation request interface
3
- */
4
- export interface TranslationRequest<TStringKeys extends string, TLanguages extends string> {
5
- readonly componentId: string;
6
- readonly stringKey: TStringKeys;
7
- readonly language?: TLanguages;
8
- readonly variables?: Record<string, string | number>;
9
- }
10
- //# sourceMappingURL=translation-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-request.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB,CACjC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM;IAEzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACtD"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=translation-request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-request.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-request.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- /**
2
- * Translation response interface
3
- */
4
- export interface TranslationResponse {
5
- readonly translation: string;
6
- readonly actualLanguage: string;
7
- readonly wasFallback: boolean;
8
- }
9
- //# sourceMappingURL=translation-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-response.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=translation-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-response.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-response.ts"],"names":[],"mappings":""}
@@ -1,47 +0,0 @@
1
- /**
2
- * I18n Engine type definitions
3
- *
4
- * This file provides type-safe interfaces for i18n engine implementations.
5
- */
6
- /**
7
- * Generic I18n Engine interface with type-safe string key constraints
8
- *
9
- * This interface defines the core methods that any i18n engine implementation
10
- * should provide, with proper generic constraints for string keys.
11
- *
12
- * @template TStringKeys - Union type of valid string keys for translation
13
- */
14
- export interface II18nEngine<TStringKeys extends string = string> {
15
- /**
16
- * Translate a string key with optional variables
17
- * @param key - The translation key
18
- * @param params - Optional parameters for interpolation
19
- * @returns The translated string
20
- */
21
- translate(key: TStringKeys, params?: Record<string, unknown>): string;
22
- /**
23
- * Translate an enum value to a string
24
- * @template T - The enum type
25
- * @param enumObj - The enum object
26
- * @param value - The enum value to translate
27
- * @param language - Optional language override
28
- * @returns The translated enum value
29
- */
30
- translateEnum<T extends Record<string, string | number>>(enumObj: T, value: T[keyof T], language?: string): string;
31
- /**
32
- * Set the current language for translations
33
- * @param language - The language code to set
34
- */
35
- setLanguage(language: string): void;
36
- /**
37
- * Get the current language
38
- * @returns The current language code
39
- */
40
- getLanguage(): string;
41
- }
42
- /**
43
- * Re-export the main II18nEngine interface from interfaces
44
- * This provides a centralized location for engine type imports
45
- */
46
- export type { II18nEngine as IMainI18nEngine } from '../interfaces/i18n-engine.interface';
47
- //# sourceMappingURL=engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IAC9D;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAEtE;;;;;;;OAOG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrD,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC;IAEV;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC;;;OAGG;IACH,WAAW,IAAI,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,YAAY,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- /**
3
- * I18n Engine type definitions
4
- *
5
- * This file provides type-safe interfaces for i18n engine implementations.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- //# sourceMappingURL=engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/engine.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- /**
3
- * Type exports
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const tslib_1 = require("tslib");
7
- tslib_1.__exportStar(require("./engine"), exports);
8
- tslib_1.__exportStar(require("./plural-types"), exports);
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mDAAyB;AACzB,yDAA+B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"plural-types.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/plural-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAElF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,cAAc,GACvB,MAAM,GAAG,SAAS,CAkBpB"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- /**
3
- * Type definitions for pluralization support
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isPluralString = isPluralString;
7
- exports.resolvePluralString = resolvePluralString;
8
- /**
9
- * Check if a value is a plural string object (not a simple string).
10
- * @param value - The value to check
11
- * @returns True if the value is a plural string object, false if it's a simple string
12
- */
13
- function isPluralString(value) {
14
- return typeof value === 'object' && value !== null && !Array.isArray(value);
15
- }
16
- /**
17
- * Get the appropriate plural form from a PluralString based on the category.
18
- * Falls back to 'other' if the exact category is not found, then to the first available form.
19
- * @param value - The PluralString to resolve (either a string or plural forms object)
20
- * @param category - The plural category to retrieve
21
- * @returns The resolved string, or undefined if no suitable form is found
22
- */
23
- function resolvePluralString(value, category) {
24
- if (typeof value === 'string') {
25
- return value;
26
- }
27
- // Try exact match first
28
- if (value[category]) {
29
- return value[category];
30
- }
31
- // Fallback to 'other'
32
- if (value.other) {
33
- return value.other;
34
- }
35
- // Fallback to first available form
36
- const forms = Object.values(value);
37
- return forms.length > 0 ? forms[0] : undefined;
38
- }
39
- //# sourceMappingURL=plural-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plural-types.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/plural-types.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAeH,wCAEC;AASD,kDAqBC;AArCD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,KAAmB,EACnB,QAAwB;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wBAAwB;IACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,mCAAmC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC"}
package/src/types.d.ts DELETED
@@ -1,96 +0,0 @@
1
- import { ComponentDefinition } from './component-definition';
2
- import { ComponentRegistration } from './component-registration';
3
- import { LanguageDefinition } from './language-definition';
4
- /**
5
- * Standard language context spaces
6
- */
7
- export type LanguageContextSpace = 'admin' | 'user';
8
- /**
9
- * Default currency code
10
- */
11
- export declare const DefaultCurrencyCode: string;
12
- /**
13
- * Default timezone
14
- */
15
- export declare const DefaultTimezone: string;
16
- /**
17
- * Default language code
18
- */
19
- export declare const DefaultLanguageCode: string;
20
- /**
21
- * Currency position type
22
- */
23
- export type CurrencyPosition = 'prefix' | 'postfix' | 'infix';
24
- /**
25
- * Collection of localized strings for a specific language
26
- */
27
- export type StringsCollection<TStringKey extends string> = Partial<Record<TStringKey, string>>;
28
- /**
29
- * Mapping of languages to their respective string collections
30
- */
31
- export type MasterStringsCollection<TStringKey extends string, TLanguage extends string> = Partial<Record<TLanguage, StringsCollection<TStringKey>>>;
32
- /**
33
- * Mapping of language codes to their respective languages
34
- */
35
- export type LanguageCodeCollection<TLanguage extends string> = Partial<Record<TLanguage, string>>;
36
- /**
37
- * Mapping of enumeration values to their translations in multiple languages
38
- */
39
- export type EnumTranslationMap<TEnum extends string | number, TLanguage extends string> = Partial<Record<TLanguage, Partial<Record<TEnum, string>>>>;
40
- /**
41
- * String collection for a specific language and component
42
- */
43
- export type ComponentStrings<TStringKeys extends string> = {
44
- [K in TStringKeys]: string;
45
- };
46
- /**
47
- * Partial string collection (used during registration before validation)
48
- */
49
- export type PartialComponentStrings<TStringKeys extends string> = {
50
- [K in TStringKeys]?: string;
51
- };
52
- /**
53
- * Language strings for a component across all registered languages
54
- */
55
- export type ComponentLanguageStrings<TStringKeys extends string, TLanguages extends string> = {
56
- [L in TLanguages]: ComponentStrings<TStringKeys>;
57
- };
58
- /**
59
- * Partial language strings (used during registration before validation)
60
- */
61
- export type PartialComponentLanguageStrings<TStringKeys extends string, TLanguages extends string> = {
62
- [L in TLanguages]?: PartialComponentStrings<TStringKeys>;
63
- };
64
- /**
65
- * Generic translation type for any enumeration
66
- */
67
- export type EnumTranslation<T extends string | number> = {
68
- [K in T]: string;
69
- };
70
- /**
71
- * Generic language translation type for any enumeration
72
- */
73
- export type EnumLanguageTranslation<T extends string | number, TLanguage extends string = string> = Partial<{
74
- [L in TLanguage]: EnumTranslation<T>;
75
- }>;
76
- /**
77
- * Type utility to extract string keys from a component definition
78
- */
79
- export type ExtractStringKeys<T> = T extends ComponentDefinition<infer K> ? K : never;
80
- /**
81
- * Type utility to extract languages from registry
82
- */
83
- export type ExtractLanguages<T> = T extends LanguageDefinition ? T['id'] : never;
84
- /**
85
- * Type utility to create a strongly typed component registration
86
- */
87
- export type CreateComponentRegistration<TComponent extends ComponentDefinition<any>, TLanguages extends string> = ComponentRegistration<ExtractStringKeys<TComponent>, TLanguages>;
88
- /**
89
- * Utility type to ensure all string keys are provided for all languages
90
- */
91
- export type CompleteComponentStrings<TStringKeys extends string, TLanguages extends string> = ComponentLanguageStrings<TStringKeys, TLanguages>;
92
- /**
93
- * Helper function to create typed translations for an enumeration
94
- */
95
- export declare function createTranslations<T extends string | number, TLanguage extends string>(translations: EnumLanguageTranslation<T, TLanguage>): EnumLanguageTranslation<T, TLanguage>;
96
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/types.ts"],"names":[],"mappings":"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"}
package/src/types.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultLanguageCode = exports.DefaultTimezone = exports.DefaultCurrencyCode = void 0;
4
- exports.createTranslations = createTranslations;
5
- /**
6
- * Default currency code
7
- */
8
- exports.DefaultCurrencyCode = 'USD';
9
- /**
10
- * Default timezone
11
- */
12
- exports.DefaultTimezone = 'UTC';
13
- /**
14
- * Default language code
15
- */
16
- exports.DefaultLanguageCode = 'en-US';
17
- /**
18
- * Helper function to create typed translations for an enumeration
19
- */
20
- function createTranslations(translations) {
21
- return translations;
22
- }
23
- //# sourceMappingURL=types.js.map
package/src/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/types.ts"],"names":[],"mappings":";;;AA+IA,gDAOC;AA7ID;;GAEG;AACU,QAAA,mBAAmB,GAAW,KAAK,CAAC;AAEjD;;GAEG;AACU,QAAA,eAAe,GAAW,KAAK,CAAC;AAE7C;;GAEG;AACU,QAAA,mBAAmB,GAAW,OAAO,CAAC;AAsHnD;;GAEG;AACH,SAAgB,kBAAkB,CAIhC,YAAmD;IAEnD,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1,81 +0,0 @@
1
- /**
2
- * Currency utilities (v2)
3
- */
4
- /**
5
- * Position of the currency symbol relative to the amount.
6
- */
7
- export type CurrencyPosition = 'prefix' | 'postfix' | 'infix';
8
- /**
9
- * Configuration for formatting currency values in a specific locale.
10
- */
11
- export interface CurrencyFormat {
12
- /** The currency symbol (e.g., "$", "€") */
13
- symbol: string;
14
- /** Position of the symbol relative to the amount */
15
- position: CurrencyPosition;
16
- /** Character used to separate thousands (e.g., ",") */
17
- groupSeparator: string;
18
- /** Character used to separate decimal places (e.g., ".") */
19
- decimalSeparator: string;
20
- }
21
- /**
22
- * Detailed information about a currency.
23
- */
24
- export interface CurrencyData {
25
- /** ISO 4217 currency code (e.g., "USD") */
26
- code: string;
27
- /** Numeric currency code */
28
- number: string;
29
- /** Number of decimal digits */
30
- digits: number;
31
- /** Currency name */
32
- currency: string;
33
- /** Countries using this currency */
34
- countries: string[];
35
- }
36
- /**
37
- * Represents a valid ISO 4217 currency code with validation.
38
- */
39
- export declare class CurrencyCode {
40
- private _value;
41
- /**
42
- * Creates a new CurrencyCode instance.
43
- * @param value - The ISO 4217 currency code (defaults to 'USD')
44
- * @throws {TranslatableError} If the currency code is invalid
45
- */
46
- constructor(value?: string);
47
- /**
48
- * Gets the currency code value.
49
- * @returns The ISO 4217 currency code
50
- */
51
- get value(): string;
52
- /**
53
- * Gets the currency code (alias for value).
54
- * @returns The ISO 4217 currency code
55
- */
56
- get code(): string;
57
- /**
58
- * Checks if a currency code is valid according to ISO 4217.
59
- * @param code - The currency code to validate
60
- * @returns True if the code is valid, false otherwise
61
- */
62
- static isValid(code: string): boolean;
63
- /**
64
- * Gets all valid ISO 4217 currency codes.
65
- * @returns Array of currency codes
66
- */
67
- static getAll(): string[];
68
- /**
69
- * Gets detailed information for all currencies.
70
- * @returns Array of currency data objects
71
- */
72
- static getAllData(): CurrencyData[];
73
- }
74
- /**
75
- * Gets the currency formatting rules for a specific locale and currency.
76
- * @param locale - The locale code (e.g., 'en-US', 'fr-FR')
77
- * @param currencyCode - The ISO 4217 currency code
78
- * @returns Currency format configuration including symbol, position, and separators
79
- */
80
- export declare function getCurrencyFormat(locale: string, currencyCode: string): CurrencyFormat;
81
- //# sourceMappingURL=currency.d.ts.map