@digitaldefiance/i18n-lib 3.8.2 → 3.8.3

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 (502) hide show
  1. package/package.json +6 -5
  2. package/src/{active-context.ts → active-context.d.ts} +1 -0
  3. package/src/active-context.d.ts.map +1 -0
  4. package/src/active-context.js +3 -0
  5. package/src/active-context.js.map +1 -0
  6. package/src/builders/i18n-builder.d.ts +26 -0
  7. package/src/builders/i18n-builder.d.ts.map +1 -0
  8. package/src/builders/i18n-builder.js +70 -0
  9. package/src/builders/i18n-builder.js.map +1 -0
  10. package/src/builders/{index.ts → index.d.ts} +1 -1
  11. package/src/builders/index.d.ts.map +1 -0
  12. package/src/builders/index.js +8 -0
  13. package/src/builders/index.js.map +1 -0
  14. package/src/component-definition.d.ts +12 -0
  15. package/src/component-definition.d.ts.map +1 -0
  16. package/src/component-definition.js +3 -0
  17. package/src/component-definition.js.map +1 -0
  18. package/src/component-registration.d.ts +22 -0
  19. package/src/component-registration.d.ts.map +1 -0
  20. package/src/component-registration.js +3 -0
  21. package/src/component-registration.js.map +1 -0
  22. package/src/component-registry.d.ts +102 -0
  23. package/src/component-registry.d.ts.map +1 -0
  24. package/src/component-registry.js +282 -0
  25. package/src/component-registry.js.map +1 -0
  26. package/src/context-error-type.d.ts +8 -0
  27. package/src/context-error-type.d.ts.map +1 -0
  28. package/src/context-error-type.js +12 -0
  29. package/src/context-error-type.js.map +1 -0
  30. package/src/core/component-store.d.ts +93 -0
  31. package/src/core/component-store.d.ts.map +1 -0
  32. package/src/core/component-store.js +198 -0
  33. package/src/core/component-store.js.map +1 -0
  34. package/src/core/context-manager.d.ts +72 -0
  35. package/src/core/context-manager.d.ts.map +1 -0
  36. package/src/core/context-manager.js +98 -0
  37. package/src/core/context-manager.js.map +1 -0
  38. package/src/core/enum-registry.d.ts +48 -0
  39. package/src/core/enum-registry.d.ts.map +1 -0
  40. package/src/core/enum-registry.js +85 -0
  41. package/src/core/enum-registry.js.map +1 -0
  42. package/src/core/i18n-engine.d.ts +241 -0
  43. package/src/core/i18n-engine.d.ts.map +1 -0
  44. package/src/core/i18n-engine.js +568 -0
  45. package/src/core/i18n-engine.js.map +1 -0
  46. package/src/core/{index.ts → index.d.ts} +1 -4
  47. package/src/core/index.d.ts.map +1 -0
  48. package/src/core/index.js +21 -0
  49. package/src/core/index.js.map +1 -0
  50. package/src/core/language-registry.d.ts +180 -0
  51. package/src/core/language-registry.d.ts.map +1 -0
  52. package/src/core/language-registry.js +298 -0
  53. package/src/core/language-registry.js.map +1 -0
  54. package/src/{core-component-id.ts → core-component-id.d.ts} +2 -1
  55. package/src/core-component-id.d.ts.map +1 -0
  56. package/src/core-component-id.js +9 -0
  57. package/src/core-component-id.js.map +1 -0
  58. package/src/core-i18n.d.ts +69 -0
  59. package/src/core-i18n.d.ts.map +1 -0
  60. package/src/core-i18n.js +219 -0
  61. package/src/core-i18n.js.map +1 -0
  62. package/src/core-plugin-factory.d.ts +28 -0
  63. package/src/core-plugin-factory.d.ts.map +1 -0
  64. package/src/core-plugin-factory.js +80 -0
  65. package/src/core-plugin-factory.js.map +1 -0
  66. package/src/core-string-key.d.ts +52 -0
  67. package/src/core-string-key.d.ts.map +1 -0
  68. package/src/core-string-key.js +61 -0
  69. package/src/core-string-key.js.map +1 -0
  70. package/src/create-translation-adapter.d.ts +33 -0
  71. package/src/create-translation-adapter.d.ts.map +1 -0
  72. package/src/create-translation-adapter.js +72 -0
  73. package/src/create-translation-adapter.js.map +1 -0
  74. package/src/enum-registry.d.ts +65 -0
  75. package/src/enum-registry.d.ts.map +1 -0
  76. package/src/enum-registry.js +123 -0
  77. package/src/enum-registry.js.map +1 -0
  78. package/src/errors/{base.ts → base.d.ts} +1 -1
  79. package/src/errors/base.d.ts.map +1 -0
  80. package/src/errors/base.js +11 -0
  81. package/src/errors/base.js.map +1 -0
  82. package/src/errors/context-error.d.ts +50 -0
  83. package/src/errors/context-error.d.ts.map +1 -0
  84. package/src/errors/context-error.js +93 -0
  85. package/src/errors/context-error.js.map +1 -0
  86. package/src/errors/enhanced-error-base.d.ts +125 -0
  87. package/src/errors/enhanced-error-base.d.ts.map +1 -0
  88. package/src/errors/enhanced-error-base.js +165 -0
  89. package/src/errors/enhanced-error-base.js.map +1 -0
  90. package/src/errors/handleable.d.ts +83 -0
  91. package/src/errors/handleable.d.ts.map +1 -0
  92. package/src/errors/handleable.js +136 -0
  93. package/src/errors/handleable.js.map +1 -0
  94. package/src/errors/i18n-error.d.ts +211 -0
  95. package/src/errors/i18n-error.d.ts.map +1 -0
  96. package/src/errors/i18n-error.js +358 -0
  97. package/src/errors/i18n-error.js.map +1 -0
  98. package/src/errors/{index.ts → index.d.ts} +1 -4
  99. package/src/errors/index.d.ts.map +1 -0
  100. package/src/errors/index.js +17 -0
  101. package/src/errors/index.js.map +1 -0
  102. package/src/errors/simple-typed-error.d.ts +53 -0
  103. package/src/errors/simple-typed-error.d.ts.map +1 -0
  104. package/src/errors/simple-typed-error.js +51 -0
  105. package/src/errors/simple-typed-error.js.map +1 -0
  106. package/src/errors/{translatable-exports.ts → translatable-exports.d.ts} +1 -1
  107. package/src/errors/translatable-exports.d.ts.map +1 -0
  108. package/src/errors/translatable-exports.js +15 -0
  109. package/src/errors/translatable-exports.js.map +1 -0
  110. package/src/errors/translatable-generic.d.ts +87 -0
  111. package/src/errors/translatable-generic.d.ts.map +1 -0
  112. package/src/errors/translatable-generic.js +139 -0
  113. package/src/errors/translatable-generic.js.map +1 -0
  114. package/src/errors/translatable-handleable-generic.d.ts +116 -0
  115. package/src/errors/translatable-handleable-generic.d.ts.map +1 -0
  116. package/src/errors/translatable-handleable-generic.js +121 -0
  117. package/src/errors/translatable-handleable-generic.js.map +1 -0
  118. package/src/errors/translatable.d.ts +63 -0
  119. package/src/errors/translatable.d.ts.map +1 -0
  120. package/src/errors/translatable.js +85 -0
  121. package/src/errors/translatable.js.map +1 -0
  122. package/src/errors/typed-handleable.d.ts +62 -0
  123. package/src/errors/typed-handleable.d.ts.map +1 -0
  124. package/src/errors/typed-handleable.js +108 -0
  125. package/src/errors/typed-handleable.js.map +1 -0
  126. package/src/errors/typed.d.ts +206 -0
  127. package/src/errors/typed.d.ts.map +1 -0
  128. package/src/errors/typed.js +458 -0
  129. package/src/errors/typed.js.map +1 -0
  130. package/src/gender/{gender-categories.ts → gender-categories.d.ts} +2 -6
  131. package/src/gender/gender-categories.d.ts.map +1 -0
  132. package/src/gender/gender-categories.js +15 -0
  133. package/src/gender/gender-categories.js.map +1 -0
  134. package/src/gender/gender-resolver.d.ts +14 -0
  135. package/src/gender/gender-resolver.d.ts.map +1 -0
  136. package/src/gender/gender-resolver.js +35 -0
  137. package/src/gender/gender-resolver.js.map +1 -0
  138. package/src/gender/{index.ts → index.d.ts} +1 -0
  139. package/src/gender/index.d.ts.map +1 -0
  140. package/src/gender/index.js +6 -0
  141. package/src/gender/index.js.map +1 -0
  142. package/src/global-active-context.d.ts +50 -0
  143. package/src/global-active-context.d.ts.map +1 -0
  144. package/src/global-active-context.js +185 -0
  145. package/src/global-active-context.js.map +1 -0
  146. package/src/icu/ast.d.ts +48 -0
  147. package/src/icu/ast.d.ts.map +1 -0
  148. package/src/icu/ast.js +16 -0
  149. package/src/icu/ast.js.map +1 -0
  150. package/src/icu/compiler.d.ts +16 -0
  151. package/src/icu/compiler.d.ts.map +1 -0
  152. package/src/icu/compiler.js +87 -0
  153. package/src/icu/compiler.js.map +1 -0
  154. package/src/icu/formatter-registry.d.ts +10 -0
  155. package/src/icu/formatter-registry.d.ts.map +1 -0
  156. package/src/icu/formatter-registry.js +34 -0
  157. package/src/icu/formatter-registry.js.map +1 -0
  158. package/src/icu/formatters/base-formatter.d.ts +8 -0
  159. package/src/icu/formatters/base-formatter.d.ts.map +1 -0
  160. package/src/icu/formatters/base-formatter.js +3 -0
  161. package/src/icu/formatters/base-formatter.js.map +1 -0
  162. package/src/icu/formatters/date-formatter.d.ts +5 -0
  163. package/src/icu/formatters/date-formatter.d.ts.map +1 -0
  164. package/src/icu/formatters/date-formatter.js +31 -0
  165. package/src/icu/formatters/date-formatter.js.map +1 -0
  166. package/src/icu/formatters/number-formatter.d.ts +5 -0
  167. package/src/icu/formatters/number-formatter.d.ts.map +1 -0
  168. package/src/icu/formatters/number-formatter.js +33 -0
  169. package/src/icu/formatters/number-formatter.js.map +1 -0
  170. package/src/icu/formatters/plural-formatter.d.ts +5 -0
  171. package/src/icu/formatters/plural-formatter.d.ts.map +1 -0
  172. package/src/icu/formatters/plural-formatter.js +15 -0
  173. package/src/icu/formatters/plural-formatter.js.map +1 -0
  174. package/src/icu/formatters/select-formatter.d.ts +5 -0
  175. package/src/icu/formatters/select-formatter.d.ts.map +1 -0
  176. package/src/icu/formatters/select-formatter.js +10 -0
  177. package/src/icu/formatters/select-formatter.js.map +1 -0
  178. package/src/icu/formatters/selectordinal-formatter.d.ts +5 -0
  179. package/src/icu/formatters/selectordinal-formatter.d.ts.map +1 -0
  180. package/src/icu/formatters/selectordinal-formatter.js +22 -0
  181. package/src/icu/formatters/selectordinal-formatter.js.map +1 -0
  182. package/src/icu/formatters/time-formatter.d.ts +5 -0
  183. package/src/icu/formatters/time-formatter.d.ts.map +1 -0
  184. package/src/icu/formatters/time-formatter.js +31 -0
  185. package/src/icu/formatters/time-formatter.js.map +1 -0
  186. package/src/icu/helpers.d.ts +9 -0
  187. package/src/icu/helpers.d.ts.map +1 -0
  188. package/src/icu/helpers.js +31 -0
  189. package/src/icu/helpers.js.map +1 -0
  190. package/src/icu/parser.d.ts +31 -0
  191. package/src/icu/parser.d.ts.map +1 -0
  192. package/src/icu/parser.js +203 -0
  193. package/src/icu/parser.js.map +1 -0
  194. package/src/icu/runtime.d.ts +10 -0
  195. package/src/icu/runtime.d.ts.map +1 -0
  196. package/src/icu/runtime.js +33 -0
  197. package/src/icu/runtime.js.map +1 -0
  198. package/src/icu/tokenizer.d.ts +37 -0
  199. package/src/icu/tokenizer.d.ts.map +1 -0
  200. package/src/icu/tokenizer.js +187 -0
  201. package/src/icu/tokenizer.js.map +1 -0
  202. package/src/icu/validator.d.ts +11 -0
  203. package/src/icu/validator.d.ts.map +1 -0
  204. package/src/icu/validator.js +140 -0
  205. package/src/icu/validator.js.map +1 -0
  206. package/src/{index.ts → index.d.ts} +6 -38
  207. package/src/index.d.ts.map +1 -0
  208. package/src/index.js +76 -0
  209. package/src/index.js.map +1 -0
  210. package/src/interfaces/active-context.interface.d.ts +36 -0
  211. package/src/interfaces/active-context.interface.d.ts.map +1 -0
  212. package/src/interfaces/active-context.interface.js +3 -0
  213. package/src/interfaces/active-context.interface.js.map +1 -0
  214. package/src/interfaces/component-config.interface.d.ts +16 -0
  215. package/src/interfaces/component-config.interface.d.ts.map +1 -0
  216. package/src/interfaces/component-config.interface.js +6 -0
  217. package/src/interfaces/component-config.interface.js.map +1 -0
  218. package/src/interfaces/engine-config.interface.d.ts +22 -0
  219. package/src/interfaces/engine-config.interface.d.ts.map +1 -0
  220. package/src/interfaces/engine-config.interface.js +6 -0
  221. package/src/interfaces/engine-config.interface.js.map +1 -0
  222. package/src/interfaces/global-active-context.d.ts +23 -0
  223. package/src/interfaces/global-active-context.d.ts.map +1 -0
  224. package/src/interfaces/global-active-context.js +3 -0
  225. package/src/interfaces/global-active-context.js.map +1 -0
  226. package/src/interfaces/handleable-error-options.d.ts +14 -0
  227. package/src/interfaces/handleable-error-options.d.ts.map +1 -0
  228. package/src/interfaces/handleable-error-options.js +3 -0
  229. package/src/interfaces/handleable-error-options.js.map +1 -0
  230. package/src/interfaces/handleable.d.ts +21 -0
  231. package/src/interfaces/handleable.d.ts.map +1 -0
  232. package/src/interfaces/handleable.js +3 -0
  233. package/src/interfaces/handleable.js.map +1 -0
  234. package/src/interfaces/i18n-engine.interface.d.ts +46 -0
  235. package/src/interfaces/i18n-engine.interface.d.ts.map +1 -0
  236. package/src/interfaces/i18n-engine.interface.js +6 -0
  237. package/src/interfaces/i18n-engine.interface.js.map +1 -0
  238. package/src/interfaces/{index.ts → index.d.ts} +1 -1
  239. package/src/interfaces/index.d.ts.map +1 -0
  240. package/src/interfaces/index.js +7 -0
  241. package/src/interfaces/index.js.map +1 -0
  242. package/src/interfaces/language-definition.interface.d.ts +17 -0
  243. package/src/interfaces/language-definition.interface.d.ts.map +1 -0
  244. package/src/interfaces/language-definition.interface.js +6 -0
  245. package/src/interfaces/language-definition.interface.js.map +1 -0
  246. package/src/interfaces/translation-options.interface.d.ts +15 -0
  247. package/src/interfaces/translation-options.interface.d.ts.map +1 -0
  248. package/src/interfaces/translation-options.interface.js +6 -0
  249. package/src/interfaces/translation-options.interface.js.map +1 -0
  250. package/src/interfaces/validation-result.interface.d.ts +24 -0
  251. package/src/interfaces/validation-result.interface.d.ts.map +1 -0
  252. package/src/interfaces/validation-result.interface.js +6 -0
  253. package/src/interfaces/validation-result.interface.js.map +1 -0
  254. package/src/language-codes.d.ts +28 -0
  255. package/src/language-codes.d.ts.map +1 -0
  256. package/src/language-codes.js +32 -0
  257. package/src/language-codes.js.map +1 -0
  258. package/src/language-definition.d.ts +14 -0
  259. package/src/language-definition.d.ts.map +1 -0
  260. package/src/language-definition.js +3 -0
  261. package/src/language-definition.js.map +1 -0
  262. package/src/plugin-i18n-engine.d.ts +164 -0
  263. package/src/plugin-i18n-engine.d.ts.map +1 -0
  264. package/src/plugin-i18n-engine.js +493 -0
  265. package/src/plugin-i18n-engine.js.map +1 -0
  266. package/src/pluralization/{index.ts → index.d.ts} +1 -1
  267. package/src/pluralization/index.d.ts.map +1 -0
  268. package/src/pluralization/index.js +10 -0
  269. package/src/pluralization/index.js.map +1 -0
  270. package/src/pluralization/language-plural-map.d.ts +29 -0
  271. package/src/pluralization/language-plural-map.d.ts.map +1 -0
  272. package/src/pluralization/language-plural-map.js +155 -0
  273. package/src/pluralization/language-plural-map.js.map +1 -0
  274. package/src/pluralization/{plural-categories.ts → plural-categories.d.ts} +3 -5
  275. package/src/pluralization/plural-categories.d.ts.map +1 -0
  276. package/src/pluralization/plural-categories.js +8 -0
  277. package/src/pluralization/plural-categories.js.map +1 -0
  278. package/src/pluralization/plural-rules.d.ts +102 -0
  279. package/src/pluralization/plural-rules.d.ts.map +1 -0
  280. package/src/pluralization/plural-rules.js +263 -0
  281. package/src/pluralization/plural-rules.js.map +1 -0
  282. package/src/registry-config.d.ts +16 -0
  283. package/src/registry-config.d.ts.map +1 -0
  284. package/src/registry-config.js +3 -0
  285. package/src/registry-config.js.map +1 -0
  286. package/src/registry-error-type.d.ts +20 -0
  287. package/src/registry-error-type.d.ts.map +1 -0
  288. package/src/registry-error-type.js +24 -0
  289. package/src/registry-error-type.js.map +1 -0
  290. package/src/registry-error.d.ts +25 -0
  291. package/src/registry-error.d.ts.map +1 -0
  292. package/src/registry-error.js +63 -0
  293. package/src/registry-error.js.map +1 -0
  294. package/src/strict-types.d.ts +19 -0
  295. package/src/strict-types.d.ts.map +1 -0
  296. package/src/strict-types.js +18 -0
  297. package/src/strict-types.js.map +1 -0
  298. package/src/strings/de.d.ts +3 -0
  299. package/src/strings/de.d.ts.map +1 -0
  300. package/src/strings/de.js +57 -0
  301. package/src/strings/de.js.map +1 -0
  302. package/src/strings/en-GB.d.ts +3 -0
  303. package/src/strings/en-GB.d.ts.map +1 -0
  304. package/src/strings/en-GB.js +57 -0
  305. package/src/strings/en-GB.js.map +1 -0
  306. package/src/strings/en-US.d.ts +3 -0
  307. package/src/strings/en-US.d.ts.map +1 -0
  308. package/src/strings/en-US.js +57 -0
  309. package/src/strings/en-US.js.map +1 -0
  310. package/src/strings/es.d.ts +3 -0
  311. package/src/strings/es.d.ts.map +1 -0
  312. package/src/strings/es.js +57 -0
  313. package/src/strings/es.js.map +1 -0
  314. package/src/strings/fr.d.ts +3 -0
  315. package/src/strings/fr.d.ts.map +1 -0
  316. package/src/strings/fr.js +57 -0
  317. package/src/strings/fr.js.map +1 -0
  318. package/src/strings/ja.d.ts +3 -0
  319. package/src/strings/ja.d.ts.map +1 -0
  320. package/src/strings/ja.js +57 -0
  321. package/src/strings/ja.js.map +1 -0
  322. package/src/strings/uk.d.ts +3 -0
  323. package/src/strings/uk.d.ts.map +1 -0
  324. package/src/strings/uk.js +57 -0
  325. package/src/strings/uk.js.map +1 -0
  326. package/src/strings/zh-CN.d.ts +3 -0
  327. package/src/strings/zh-CN.d.ts.map +1 -0
  328. package/src/strings/zh-CN.js +57 -0
  329. package/src/strings/zh-CN.js.map +1 -0
  330. package/src/template.d.ts +13 -0
  331. package/src/template.d.ts.map +1 -0
  332. package/src/template.js +40 -0
  333. package/src/template.js.map +1 -0
  334. package/src/translation-engine.d.ts +9 -0
  335. package/src/translation-engine.d.ts.map +1 -0
  336. package/src/translation-engine.js +3 -0
  337. package/src/translation-engine.js.map +1 -0
  338. package/src/translation-request.d.ts +10 -0
  339. package/src/translation-request.d.ts.map +1 -0
  340. package/src/translation-request.js +3 -0
  341. package/src/translation-request.js.map +1 -0
  342. package/src/translation-response.d.ts +9 -0
  343. package/src/translation-response.d.ts.map +1 -0
  344. package/src/translation-response.js +3 -0
  345. package/src/translation-response.js.map +1 -0
  346. package/src/types/engine.d.ts +47 -0
  347. package/src/types/engine.d.ts.map +1 -0
  348. package/src/types/engine.js +8 -0
  349. package/src/types/engine.js.map +1 -0
  350. package/src/types/{index.ts → index.d.ts} +1 -1
  351. package/src/types/index.d.ts.map +1 -0
  352. package/src/types/index.js +9 -0
  353. package/src/types/index.js.map +1 -0
  354. package/src/types/{plural-types.ts → plural-types.d.ts} +3 -29
  355. package/src/types/plural-types.d.ts.map +1 -0
  356. package/src/types/plural-types.js +39 -0
  357. package/src/types/plural-types.js.map +1 -0
  358. package/src/{types.ts → types.d.ts} +21 -72
  359. package/src/types.d.ts.map +1 -0
  360. package/src/types.js +23 -0
  361. package/src/types.js.map +1 -0
  362. package/src/utils/currency.d.ts +81 -0
  363. package/src/utils/currency.d.ts.map +1 -0
  364. package/src/utils/currency.js +99 -0
  365. package/src/utils/currency.js.map +1 -0
  366. package/src/utils/html-escape.d.ts +22 -0
  367. package/src/utils/html-escape.d.ts.map +1 -0
  368. package/src/utils/html-escape.js +53 -0
  369. package/src/utils/html-escape.js.map +1 -0
  370. package/src/utils/{index.ts → index.d.ts} +1 -0
  371. package/src/utils/index.d.ts.map +1 -0
  372. package/src/utils/index.js +12 -0
  373. package/src/utils/index.js.map +1 -0
  374. package/src/utils/lru-cache.d.ts +42 -0
  375. package/src/utils/lru-cache.d.ts.map +1 -0
  376. package/src/utils/lru-cache.js +73 -0
  377. package/src/utils/lru-cache.js.map +1 -0
  378. package/src/utils/{plural-helpers.ts → plural-helpers.d.ts} +4 -14
  379. package/src/utils/plural-helpers.d.ts.map +1 -0
  380. package/src/utils/plural-helpers.js +35 -0
  381. package/src/utils/plural-helpers.js.map +1 -0
  382. package/src/utils/safe-object.d.ts +39 -0
  383. package/src/utils/safe-object.d.ts.map +1 -0
  384. package/src/utils/{safe-object.ts → safe-object.js} +34 -37
  385. package/src/utils/safe-object.js.map +1 -0
  386. package/src/utils/string-utils.d.ts +28 -0
  387. package/src/utils/string-utils.d.ts.map +1 -0
  388. package/src/utils/string-utils.js +63 -0
  389. package/src/utils/string-utils.js.map +1 -0
  390. package/src/utils/timezone.d.ts +50 -0
  391. package/src/utils/timezone.d.ts.map +1 -0
  392. package/src/utils/timezone.js +74 -0
  393. package/src/utils/timezone.js.map +1 -0
  394. package/src/utils/validation.d.ts +40 -0
  395. package/src/utils/validation.d.ts.map +1 -0
  396. package/src/utils/validation.js +69 -0
  397. package/src/utils/validation.js.map +1 -0
  398. package/src/utils.d.ts +65 -0
  399. package/src/utils.d.ts.map +1 -0
  400. package/src/utils.js +129 -0
  401. package/src/utils.js.map +1 -0
  402. package/src/validation/{index.ts → index.d.ts} +1 -0
  403. package/src/validation/index.d.ts.map +1 -0
  404. package/src/validation/index.js +5 -0
  405. package/src/validation/index.js.map +1 -0
  406. package/src/validation/plural-validator.d.ts +46 -0
  407. package/src/validation/plural-validator.d.ts.map +1 -0
  408. package/src/validation/plural-validator.js +123 -0
  409. package/src/validation/plural-validator.js.map +1 -0
  410. package/src/validation-config.d.ts +12 -0
  411. package/src/validation-config.d.ts.map +1 -0
  412. package/src/validation-config.js +3 -0
  413. package/src/validation-config.js.map +1 -0
  414. package/src/validation-result.d.ts +13 -0
  415. package/src/validation-result.d.ts.map +1 -0
  416. package/src/validation-result.js +3 -0
  417. package/src/validation-result.js.map +1 -0
  418. package/LICENSE +0 -21
  419. package/src/builders/i18n-builder.ts +0 -82
  420. package/src/component-definition.ts +0 -11
  421. package/src/component-registration.ts +0 -29
  422. package/src/component-registry.ts +0 -432
  423. package/src/context-error-type.ts +0 -7
  424. package/src/core/component-store.ts +0 -241
  425. package/src/core/context-manager.ts +0 -113
  426. package/src/core/enum-registry.ts +0 -106
  427. package/src/core/i18n-engine.ts +0 -710
  428. package/src/core/language-registry.ts +0 -345
  429. package/src/core-i18n.ts +0 -270
  430. package/src/core-plugin-factory.ts +0 -111
  431. package/src/core-string-key.ts +0 -59
  432. package/src/create-translation-adapter.ts +0 -93
  433. package/src/enum-registry.ts +0 -152
  434. package/src/errors/context-error.ts +0 -122
  435. package/src/errors/enhanced-error-base.ts +0 -260
  436. package/src/errors/handleable.ts +0 -152
  437. package/src/errors/i18n-error.ts +0 -494
  438. package/src/errors/simple-typed-error.ts +0 -81
  439. package/src/errors/translatable-generic.ts +0 -245
  440. package/src/errors/translatable-handleable-generic.ts +0 -222
  441. package/src/errors/translatable.ts +0 -138
  442. package/src/errors/typed-handleable.ts +0 -138
  443. package/src/errors/typed.ts +0 -617
  444. package/src/gender/gender-resolver.ts +0 -40
  445. package/src/global-active-context.ts +0 -266
  446. package/src/icu/ast.ts +0 -56
  447. package/src/icu/compiler.ts +0 -96
  448. package/src/icu/formatter-registry.ts +0 -36
  449. package/src/icu/formatters/base-formatter.ts +0 -8
  450. package/src/icu/formatters/date-formatter.ts +0 -30
  451. package/src/icu/formatters/number-formatter.ts +0 -32
  452. package/src/icu/formatters/plural-formatter.ts +0 -12
  453. package/src/icu/formatters/select-formatter.ts +0 -7
  454. package/src/icu/formatters/selectordinal-formatter.ts +0 -17
  455. package/src/icu/formatters/time-formatter.ts +0 -30
  456. package/src/icu/helpers.ts +0 -34
  457. package/src/icu/parser.ts +0 -242
  458. package/src/icu/runtime.ts +0 -37
  459. package/src/icu/tokenizer.ts +0 -212
  460. package/src/icu/validator.ts +0 -163
  461. package/src/interfaces/active-context.interface.ts +0 -41
  462. package/src/interfaces/component-config.interface.ts +0 -17
  463. package/src/interfaces/engine-config.interface.ts +0 -22
  464. package/src/interfaces/global-active-context.ts +0 -39
  465. package/src/interfaces/handleable-error-options.ts +0 -13
  466. package/src/interfaces/handleable.ts +0 -20
  467. package/src/interfaces/i18n-engine.interface.ts +0 -57
  468. package/src/interfaces/language-definition.interface.ts +0 -17
  469. package/src/interfaces/translation-options.interface.ts +0 -15
  470. package/src/interfaces/validation-result.interface.ts +0 -24
  471. package/src/language-codes.ts +0 -40
  472. package/src/language-definition.ts +0 -13
  473. package/src/plugin-i18n-engine.ts +0 -707
  474. package/src/pluralization/language-plural-map.ts +0 -186
  475. package/src/pluralization/plural-rules.ts +0 -228
  476. package/src/registry-config.ts +0 -16
  477. package/src/registry-error-type.ts +0 -19
  478. package/src/registry-error.ts +0 -100
  479. package/src/strict-types.ts +0 -35
  480. package/src/strings/de.ts +0 -75
  481. package/src/strings/en-GB.ts +0 -74
  482. package/src/strings/en-US.ts +0 -74
  483. package/src/strings/es.ts +0 -74
  484. package/src/strings/fr.ts +0 -75
  485. package/src/strings/ja.ts +0 -73
  486. package/src/strings/uk.ts +0 -73
  487. package/src/strings/zh-CN.ts +0 -72
  488. package/src/template.ts +0 -72
  489. package/src/translation-engine.ts +0 -18
  490. package/src/translation-request.ts +0 -12
  491. package/src/translation-response.ts +0 -8
  492. package/src/types/engine.ts +0 -55
  493. package/src/utils/currency.ts +0 -141
  494. package/src/utils/html-escape.ts +0 -55
  495. package/src/utils/lru-cache.ts +0 -76
  496. package/src/utils/string-utils.ts +0 -77
  497. package/src/utils/timezone.ts +0 -76
  498. package/src/utils/validation.ts +0 -66
  499. package/src/utils.ts +0 -215
  500. package/src/validation/plural-validator.ts +0 -168
  501. package/src/validation-config.ts +0 -11
  502. package/src/validation-result.ts +0 -12
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Static language registry (no generics)
3
+ */
4
+ import { LanguageDefinition } from '../interfaces';
5
+ /**
6
+ * Class representing a static registry for language definitions.
7
+ */
8
+ export declare class LanguageRegistry {
9
+ private static languages;
10
+ private static defaultLanguageId;
11
+ /**
12
+ * Registers a new language definition.
13
+ * @param language - The language definition to register.
14
+ * @throws {I18nError} If the language ID or code is already registered.
15
+ */
16
+ static register(language: LanguageDefinition): void;
17
+ /**
18
+ * Checks if a language ID is registered.
19
+ * @param languageId - The language ID to check.
20
+ * @returns True if the language ID is registered, false otherwise.
21
+ */
22
+ static has(languageId: string): boolean;
23
+ /**
24
+ * Retrieves a language definition by its ID.
25
+ * @param languageId - The language ID to retrieve.
26
+ * @returns The language definition.
27
+ * @throws {I18nError} If the language ID is not found.
28
+ */
29
+ static get(languageId: string): LanguageDefinition;
30
+ /**
31
+ * Retrieves all registered language definitions.
32
+ * @returns An array of all language definitions.
33
+ */
34
+ static getAll(): readonly LanguageDefinition[];
35
+ /**
36
+ * Retrieves all registered language IDs.
37
+ * @returns An array of all language IDs.
38
+ */
39
+ static getIds(): readonly string[];
40
+ /**
41
+ * Retrieves all registered language codes.
42
+ * @returns An array of all language codes.
43
+ */
44
+ static getCodes(): readonly string[];
45
+ /**
46
+ * Retrieves an array of objects mapping language codes to their labels.
47
+ * @returns An array of objects with code and label properties.
48
+ */
49
+ static getCodeLabelMap(): {
50
+ code: string;
51
+ label: string;
52
+ }[];
53
+ /**
54
+ * Retrieves the default language definition.
55
+ * @returns The default language definition or null if none is set.
56
+ */
57
+ static getDefault(): LanguageDefinition | null;
58
+ /**
59
+ * Retrieves a language definition by its code.
60
+ * @param code - The language code to retrieve.
61
+ * @returns The language definition or undefined if not found.
62
+ */
63
+ static getByCode(code: string): LanguageDefinition | undefined;
64
+ /**
65
+ * Determines the best matching language code based on requested and user default codes.
66
+ * @param requestedCode - The requested language code.
67
+ * @param userDefaultCode - The user's default language code.
68
+ * @returns The best matching language code.
69
+ * @throws {I18nError} If no default language is configured.
70
+ */
71
+ static getMatchingCode(requestedCode?: string, userDefaultCode?: string): string;
72
+ /**
73
+ * Clears all registered languages and resets the default language.
74
+ */
75
+ static clear(): void;
76
+ /**
77
+ * Checks if a language ID is registered (V1 compatibility).
78
+ * @param languageId - The language ID to check.
79
+ * @returns True if the language ID is registered, false otherwise.
80
+ */
81
+ static hasLanguage(languageId: string): boolean;
82
+ /**
83
+ * Registers a new language definition (V1 compatibility).
84
+ * @param language - The language definition to register.
85
+ */
86
+ static registerLanguage(language: LanguageDefinition): void;
87
+ /**
88
+ * Registers multiple language definitions (V1 compatibility).
89
+ * @param languages - An array of language definitions to register.
90
+ */
91
+ static registerLanguages(languages: readonly LanguageDefinition[]): void;
92
+ /**
93
+ * Retrieves all registered language IDs (V1 compatibility).
94
+ * @returns An array of all language IDs.
95
+ */
96
+ static getLanguageIds(): readonly string[];
97
+ /**
98
+ * Retrieves all registered language definitions (V1 compatibility).
99
+ * @returns An array of all language definitions.
100
+ */
101
+ static getAllLanguages(): readonly LanguageDefinition[];
102
+ /**
103
+ * Retrieves a language definition by its code (V1 compatibility).
104
+ * @param code - The language code to retrieve.
105
+ * @returns The language definition or undefined if not found.
106
+ */
107
+ static getLanguageByCode(code: string): LanguageDefinition | undefined;
108
+ /**
109
+ * Retrieves a language definition by its ID (V1 compatibility).
110
+ * @param languageId - The language ID to retrieve.
111
+ * @returns The language definition or undefined if not found.
112
+ */
113
+ static getLanguage(languageId: string): LanguageDefinition | undefined;
114
+ /**
115
+ * Checks if a language code is registered.
116
+ * @param code - The language code to check.
117
+ * @returns True if the language code is registered, false otherwise.
118
+ */
119
+ static hasLanguageCode(code: string): boolean;
120
+ /**
121
+ * Retrieves the default language ID.
122
+ * @returns The default language ID or null if none is set.
123
+ */
124
+ static getDefaultLanguageId(): string | null;
125
+ /**
126
+ * Retrieves the count of registered languages.
127
+ * @returns The number of registered languages.
128
+ */
129
+ static getLanguageCount(): number;
130
+ /**
131
+ * Retrieves the default language definition.
132
+ * @returns The default language definition or null if none is set.
133
+ */
134
+ static getDefaultLanguage(): LanguageDefinition | null;
135
+ /**
136
+ * Sets the default language by its ID.
137
+ * @param languageId - The language ID to set as default.
138
+ * @throws {I18nError} If the language ID is not registered.
139
+ */
140
+ static setDefaultLanguage(languageId: string): void;
141
+ /**
142
+ * Validates that all required languages are registered.
143
+ * @param requiredLanguages - An array of required language IDs.
144
+ * @returns An object containing validation results, missing languages, and errors.
145
+ */
146
+ static validateRequiredLanguages(requiredLanguages: readonly string[]): {
147
+ isValid: boolean;
148
+ missingLanguages: readonly string[];
149
+ errors: readonly string[];
150
+ };
151
+ /**
152
+ * Retrieves a mapping of language IDs to their display names.
153
+ * @returns An object mapping language IDs to display names.
154
+ */
155
+ static getLanguageDisplayNames(): Record<string, string>;
156
+ /**
157
+ * Retrieves a mapping of language IDs to their codes.
158
+ * @returns An object mapping language IDs to language codes.
159
+ */
160
+ static getLanguageCodeMapping(): Record<string, string>;
161
+ /**
162
+ * Finds languages whose names include the given partial name (case-insensitive).
163
+ * @param partialName - The partial name to search for.
164
+ * @returns An array of matching language definitions.
165
+ */
166
+ static findLanguagesByName(partialName: string): readonly LanguageDefinition[];
167
+ /**
168
+ * Retrieves all registered language codes.
169
+ * @returns An array of all language codes.
170
+ */
171
+ static getLanguageCodes(): readonly string[];
172
+ /**
173
+ * Determines the best matching language code based on requested and user default codes.
174
+ * @param requestedCode - The requested language code.
175
+ * @param userDefaultCode - The user's default language code.
176
+ * @returns The best matching language code.
177
+ */
178
+ static getMatchingLanguageCode(requestedCode?: string, userDefaultCode?: string): string;
179
+ }
180
+ //# sourceMappingURL=language-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-registry.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/language-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ /**
3
+ * Static language registry (no generics)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LanguageRegistry = void 0;
7
+ const i18n_error_1 = require("../errors/i18n-error");
8
+ /**
9
+ * Class representing a static registry for language definitions.
10
+ */
11
+ class LanguageRegistry {
12
+ static languages = new Map();
13
+ static defaultLanguageId = null;
14
+ /**
15
+ * Registers a new language definition.
16
+ * @param language - The language definition to register.
17
+ * @throws {I18nError} If the language ID or code is already registered.
18
+ */
19
+ static register(language) {
20
+ if (this.languages.has(language.id)) {
21
+ throw i18n_error_1.I18nError.duplicateLanguage(language.id);
22
+ }
23
+ const existing = this.getByCode(language.code);
24
+ if (existing) {
25
+ throw i18n_error_1.I18nError.duplicateLanguage(language.id);
26
+ }
27
+ this.languages.set(language.id, language);
28
+ if (language.isDefault || !this.defaultLanguageId) {
29
+ this.defaultLanguageId = language.id;
30
+ }
31
+ }
32
+ /**
33
+ * Checks if a language ID is registered.
34
+ * @param languageId - The language ID to check.
35
+ * @returns True if the language ID is registered, false otherwise.
36
+ */
37
+ static has(languageId) {
38
+ return this.languages.has(languageId);
39
+ }
40
+ /**
41
+ * Retrieves a language definition by its ID.
42
+ * @param languageId - The language ID to retrieve.
43
+ * @returns The language definition.
44
+ * @throws {I18nError} If the language ID is not found.
45
+ */
46
+ static get(languageId) {
47
+ const lang = this.languages.get(languageId);
48
+ if (!lang) {
49
+ throw i18n_error_1.I18nError.languageNotFound(languageId);
50
+ }
51
+ return lang;
52
+ }
53
+ /**
54
+ * Retrieves all registered language definitions.
55
+ * @returns An array of all language definitions.
56
+ */
57
+ static getAll() {
58
+ return Array.from(this.languages.values());
59
+ }
60
+ /**
61
+ * Retrieves all registered language IDs.
62
+ * @returns An array of all language IDs.
63
+ */
64
+ static getIds() {
65
+ return Array.from(this.languages.keys());
66
+ }
67
+ /**
68
+ * Retrieves all registered language codes.
69
+ * @returns An array of all language codes.
70
+ */
71
+ static getCodes() {
72
+ return Array.from(this.languages.values()).map((l) => l.code);
73
+ }
74
+ /**
75
+ * Retrieves an array of objects mapping language codes to their labels.
76
+ * @returns An array of objects with code and label properties.
77
+ */
78
+ static getCodeLabelMap() {
79
+ return Array.from(this.languages.values()).map((l) => ({
80
+ code: l.code,
81
+ label: l.name,
82
+ }));
83
+ }
84
+ /**
85
+ * Retrieves the default language definition.
86
+ * @returns The default language definition or null if none is set.
87
+ */
88
+ static getDefault() {
89
+ if (!this.defaultLanguageId) {
90
+ return null;
91
+ }
92
+ return this.get(this.defaultLanguageId);
93
+ }
94
+ /**
95
+ * Retrieves a language definition by its code.
96
+ * @param code - The language code to retrieve.
97
+ * @returns The language definition or undefined if not found.
98
+ */
99
+ static getByCode(code) {
100
+ return Array.from(this.languages.values()).find((l) => l.code === code);
101
+ }
102
+ /**
103
+ * Determines the best matching language code based on requested and user default codes.
104
+ * @param requestedCode - The requested language code.
105
+ * @param userDefaultCode - The user's default language code.
106
+ * @returns The best matching language code.
107
+ * @throws {I18nError} If no default language is configured.
108
+ */
109
+ static getMatchingCode(requestedCode, userDefaultCode) {
110
+ const trimmedRequested = requestedCode?.trim();
111
+ const trimmedUserDefault = userDefaultCode?.trim();
112
+ if (trimmedRequested && this.getByCode(trimmedRequested)) {
113
+ return trimmedRequested;
114
+ }
115
+ if (trimmedUserDefault && this.getByCode(trimmedUserDefault)) {
116
+ return trimmedUserDefault;
117
+ }
118
+ const defaultLang = this.getDefault();
119
+ if (!defaultLang) {
120
+ throw i18n_error_1.I18nError.invalidConfig('No default language configured');
121
+ }
122
+ return defaultLang.code;
123
+ }
124
+ /**
125
+ * Clears all registered languages and resets the default language.
126
+ */
127
+ static clear() {
128
+ this.languages.clear();
129
+ this.defaultLanguageId = null;
130
+ }
131
+ // V1 compatibility methods
132
+ /**
133
+ * Checks if a language ID is registered (V1 compatibility).
134
+ * @param languageId - The language ID to check.
135
+ * @returns True if the language ID is registered, false otherwise.
136
+ */
137
+ static hasLanguage(languageId) {
138
+ return this.has(languageId);
139
+ }
140
+ /**
141
+ * Registers a new language definition (V1 compatibility).
142
+ * @param language - The language definition to register.
143
+ */
144
+ static registerLanguage(language) {
145
+ this.register(language);
146
+ }
147
+ /**
148
+ * Registers multiple language definitions (V1 compatibility).
149
+ * @param languages - An array of language definitions to register.
150
+ */
151
+ static registerLanguages(languages) {
152
+ languages.forEach((lang) => this.register(lang));
153
+ }
154
+ /**
155
+ * Retrieves all registered language IDs (V1 compatibility).
156
+ * @returns An array of all language IDs.
157
+ */
158
+ static getLanguageIds() {
159
+ return this.getIds();
160
+ }
161
+ /**
162
+ * Retrieves all registered language definitions (V1 compatibility).
163
+ * @returns An array of all language definitions.
164
+ */
165
+ static getAllLanguages() {
166
+ return this.getAll();
167
+ }
168
+ /**
169
+ * Retrieves a language definition by its code (V1 compatibility).
170
+ * @param code - The language code to retrieve.
171
+ * @returns The language definition or undefined if not found.
172
+ */
173
+ static getLanguageByCode(code) {
174
+ return this.getByCode(code);
175
+ }
176
+ /**
177
+ * Retrieves a language definition by its ID (V1 compatibility).
178
+ * @param languageId - The language ID to retrieve.
179
+ * @returns The language definition or undefined if not found.
180
+ */
181
+ static getLanguage(languageId) {
182
+ try {
183
+ return this.get(languageId);
184
+ }
185
+ catch {
186
+ return undefined;
187
+ }
188
+ }
189
+ /**
190
+ * Checks if a language code is registered.
191
+ * @param code - The language code to check.
192
+ * @returns True if the language code is registered, false otherwise.
193
+ */
194
+ static hasLanguageCode(code) {
195
+ return this.getByCode(code) !== undefined;
196
+ }
197
+ /**
198
+ * Retrieves the default language ID.
199
+ * @returns The default language ID or null if none is set.
200
+ */
201
+ static getDefaultLanguageId() {
202
+ return this.defaultLanguageId;
203
+ }
204
+ /**
205
+ * Retrieves the count of registered languages.
206
+ * @returns The number of registered languages.
207
+ */
208
+ static getLanguageCount() {
209
+ return this.languages.size;
210
+ }
211
+ /**
212
+ * Retrieves the default language definition.
213
+ * @returns The default language definition or null if none is set.
214
+ */
215
+ static getDefaultLanguage() {
216
+ return this.getDefault();
217
+ }
218
+ /**
219
+ * Sets the default language by its ID.
220
+ * @param languageId - The language ID to set as default.
221
+ * @throws {I18nError} If the language ID is not registered.
222
+ */
223
+ static setDefaultLanguage(languageId) {
224
+ if (!this.has(languageId)) {
225
+ throw i18n_error_1.I18nError.languageNotFound(languageId);
226
+ }
227
+ this.defaultLanguageId = languageId;
228
+ }
229
+ /**
230
+ * Validates that all required languages are registered.
231
+ * @param requiredLanguages - An array of required language IDs.
232
+ * @returns An object containing validation results, missing languages, and errors.
233
+ */
234
+ static validateRequiredLanguages(requiredLanguages) {
235
+ const missingLanguages = [];
236
+ const errors = [];
237
+ for (const languageId of requiredLanguages) {
238
+ if (!this.has(languageId)) {
239
+ missingLanguages.push(languageId);
240
+ errors.push(`Required language '${languageId}' is not registered`);
241
+ }
242
+ }
243
+ return {
244
+ isValid: missingLanguages.length === 0,
245
+ missingLanguages,
246
+ errors,
247
+ };
248
+ }
249
+ /**
250
+ * Retrieves a mapping of language IDs to their display names.
251
+ * @returns An object mapping language IDs to display names.
252
+ */
253
+ static getLanguageDisplayNames() {
254
+ const result = {};
255
+ for (const [languageId, language] of this.languages) {
256
+ result[languageId] = language.name;
257
+ }
258
+ return result;
259
+ }
260
+ /**
261
+ * Retrieves a mapping of language IDs to their codes.
262
+ * @returns An object mapping language IDs to language codes.
263
+ */
264
+ static getLanguageCodeMapping() {
265
+ const result = {};
266
+ for (const [languageId, language] of this.languages) {
267
+ result[languageId] = language.code;
268
+ }
269
+ return result;
270
+ }
271
+ /**
272
+ * Finds languages whose names include the given partial name (case-insensitive).
273
+ * @param partialName - The partial name to search for.
274
+ * @returns An array of matching language definitions.
275
+ */
276
+ static findLanguagesByName(partialName) {
277
+ const searchTerm = partialName.toLowerCase();
278
+ return Array.from(this.languages.values()).filter((language) => language.name.toLowerCase().includes(searchTerm));
279
+ }
280
+ /**
281
+ * Retrieves all registered language codes.
282
+ * @returns An array of all language codes.
283
+ */
284
+ static getLanguageCodes() {
285
+ return this.getCodes();
286
+ }
287
+ /**
288
+ * Determines the best matching language code based on requested and user default codes.
289
+ * @param requestedCode - The requested language code.
290
+ * @param userDefaultCode - The user's default language code.
291
+ * @returns The best matching language code.
292
+ */
293
+ static getMatchingLanguageCode(requestedCode, userDefaultCode) {
294
+ return this.getMatchingCode(requestedCode, userDefaultCode);
295
+ }
296
+ }
297
+ exports.LanguageRegistry = LanguageRegistry;
298
+ //# sourceMappingURL=language-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-registry.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/language-registry.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@
2
2
  * Core component ID constant
3
3
  * Extracted to separate file to avoid circular dependencies
4
4
  */
5
- export const CoreI18nComponentId = 'core';
5
+ export declare const CoreI18nComponentId = "core";
6
+ //# sourceMappingURL=core-component-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-component-id.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-component-id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreI18nComponentId = void 0;
4
+ /**
5
+ * Core component ID constant
6
+ * Extracted to separate file to avoid circular dependencies
7
+ */
8
+ exports.CoreI18nComponentId = 'core';
9
+ //# sourceMappingURL=core-component-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-component-id.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-component-id.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Core I18n component with default languages and system strings
3
+ */
4
+ import { ComponentDefinition } from './component-definition';
5
+ import { ComponentRegistration } from './component-registration';
6
+ import { CoreI18nComponentId } from './core-component-id';
7
+ import { CoreStringKey } from './core-string-key';
8
+ import { I18nEngine } from './core/i18n-engine';
9
+ import { ComponentConfig } from './interfaces';
10
+ import { LanguageCodes } from './language-codes';
11
+ import { LanguageDefinition } from './language-definition';
12
+ export { CoreI18nComponentId };
13
+ /**
14
+ * Core language code type - union of supported language codes
15
+ * Provides compile-time type safety for core languages
16
+ * For custom languages, extend this type or use string
17
+ */
18
+ export type CoreLanguageCode = (typeof LanguageCodes)[keyof typeof LanguageCodes];
19
+ /**
20
+ * Flexible language code type - use when you want runtime-only validation
21
+ * Alias for string to indicate it's a language code
22
+ */
23
+ export type FlexibleLanguageCode = string;
24
+ /**
25
+ * Create default language definitions
26
+ */
27
+ export declare function createDefaultLanguages(): LanguageDefinition[];
28
+ /**
29
+ * Core component definition
30
+ */
31
+ export declare const CoreComponentDefinition: ComponentDefinition<CoreStringKey>;
32
+ /**
33
+ * Core component strings for all default languages
34
+ */
35
+ export declare function createCoreComponentStrings(): import("./strict-types").CompleteComponentLanguageStrings<CoreStringKey, string>;
36
+ /**
37
+ * Create core component registration (for PluginI18nEngine)
38
+ */
39
+ export declare function createCoreComponentRegistration(): ComponentRegistration<CoreStringKey, string>;
40
+ /**
41
+ * Create core component config (for I18nEngine)
42
+ */
43
+ export declare function createCoreComponentConfig(): ComponentConfig;
44
+ /**
45
+ * Get core language codes as array (for Mongoose enums, etc.)
46
+ */
47
+ export declare function getCoreLanguageCodes(): string[];
48
+ /**
49
+ * Get core language definitions
50
+ */
51
+ export declare function getCoreLanguageDefinitions(): LanguageDefinition[];
52
+ export declare function getCoreI18nEngine(): I18nEngine;
53
+ /**
54
+ * Proxy for backward compatibility
55
+ */
56
+ export declare const coreI18nEngine: I18nEngine;
57
+ /**
58
+ * Reset function for tests
59
+ */
60
+ export declare function resetCoreI18nEngine(): void;
61
+ /**
62
+ * Helper to translate Core strings
63
+ */
64
+ export declare function getCoreTranslation(stringKey: CoreStringKey, variables?: Record<string, string | number>, language?: string): string;
65
+ /**
66
+ * Safe translation with fallback
67
+ */
68
+ export declare function safeCoreTranslation(stringKey: CoreStringKey, variables?: Record<string, string | number>, language?: string): string;
69
+ //# sourceMappingURL=core-i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-i18n.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-i18n.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAgB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAY3D,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAqB/B;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,EAAE,CA4C7D;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,CAAC,aAAa,CAItE,CAAC;AAEF;;GAEG;AACH,wBAAgB,0BAA0B,qFAWzC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,qBAAqB,CACtE,aAAa,EACb,MAAM,CACP,CAKA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAM3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,kBAAkB,EAAE,CAEjE;AAmCD,wBAAgB,iBAAiB,IAAI,UAAU,CAmB9C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,YAIzB,CAAC;AAEH;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,aAAa,EACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,aAAa,EACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAMR"}