@intlayer/docs 8.12.5-canary.0 → 9.0.0-canary.2

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 (411) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +320 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +320 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +16 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/cli/doc-review.md +110 -4
  8. package/docs/ar/cli/index.md +1 -1
  9. package/docs/ar/cli/scan.md +1 -1
  10. package/docs/ar/configuration.md +36 -3
  11. package/docs/ar/dictionary/condition.md +167 -5
  12. package/docs/ar/dictionary/enumeration.md +540 -6
  13. package/docs/ar/dictionary/file.md +151 -1
  14. package/docs/ar/dictionary/gender.md +168 -7
  15. package/docs/ar/dictionary/nesting.md +173 -65
  16. package/docs/ar/dictionary/plurial.md +174 -5
  17. package/docs/ar/dictionary/translation.md +156 -2
  18. package/docs/ar/dynamic_dictionaries/collections.md +1 -1
  19. package/docs/ar/dynamic_dictionaries/dynamic_content.md +1 -1
  20. package/docs/ar/dynamic_dictionaries/index.md +1 -1
  21. package/docs/ar/dynamic_dictionaries/variants.md +1 -1
  22. package/docs/ar/intlayer_with_vite+react.md +31 -31
  23. package/docs/ar/releases/v8.md +187 -1
  24. package/docs/ar/releases/v9.md +232 -0
  25. package/docs/bn/cli/index.md +1 -1
  26. package/docs/bn/cli/scan.md +1 -1
  27. package/docs/bn/configuration.md +36 -3
  28. package/docs/cs/cli/index.md +1 -1
  29. package/docs/cs/cli/scan.md +1 -1
  30. package/docs/cs/configuration.md +35 -2
  31. package/docs/de/cli/doc-review.md +110 -4
  32. package/docs/de/cli/index.md +1 -1
  33. package/docs/de/cli/scan.md +1 -1
  34. package/docs/de/configuration.md +35 -2
  35. package/docs/de/dictionary/condition.md +167 -5
  36. package/docs/de/dictionary/enumeration.md +777 -7
  37. package/docs/de/dictionary/file.md +151 -1
  38. package/docs/de/dictionary/gender.md +168 -7
  39. package/docs/de/dictionary/nesting.md +173 -65
  40. package/docs/de/dictionary/plurial.md +347 -7
  41. package/docs/de/dictionary/translation.md +156 -2
  42. package/docs/de/dynamic_dictionaries/collections.md +1 -1
  43. package/docs/de/dynamic_dictionaries/dynamic_content.md +1 -1
  44. package/docs/de/dynamic_dictionaries/index.md +1 -1
  45. package/docs/de/dynamic_dictionaries/variants.md +1 -1
  46. package/docs/de/intlayer_with_vite+react.md +48 -48
  47. package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
  48. package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
  49. package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
  50. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  51. package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
  52. package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
  53. package/docs/de/releases/v8.md +197 -1
  54. package/docs/de/releases/v9.md +232 -0
  55. package/docs/en/CI_CD.md +7 -7
  56. package/docs/en/cli/ci.md +62 -8
  57. package/docs/en/cli/doc-review.md +110 -4
  58. package/docs/en/cli/index.md +1 -1
  59. package/docs/en/cli/scan.md +1 -1
  60. package/docs/en/compat/i18n-js.md +44 -0
  61. package/docs/en/compat/i18next.md +59 -0
  62. package/docs/en/compat/index.md +51 -0
  63. package/docs/en/compat/lingui.md +44 -0
  64. package/docs/en/compat/next-i18next.md +57 -0
  65. package/docs/en/compat/next-intl.md +59 -0
  66. package/docs/en/compat/next-translate.md +45 -0
  67. package/docs/en/compat/ngx-translate.md +45 -0
  68. package/docs/en/compat/nuxtjs-i18n.md +46 -0
  69. package/docs/en/compat/polyglot.md +45 -0
  70. package/docs/en/compat/react-i18next.md +58 -0
  71. package/docs/en/compat/react-intl.md +55 -0
  72. package/docs/en/compat/svelte-i18n.md +47 -0
  73. package/docs/en/compat/transloco.md +45 -0
  74. package/docs/en/compat/vue-i18n.md +58 -0
  75. package/docs/en/configuration.md +35 -2
  76. package/docs/en/dictionary/condition.md +163 -1
  77. package/docs/en/dictionary/enumeration.md +309 -7
  78. package/docs/en/dictionary/file.md +151 -1
  79. package/docs/en/dictionary/gender.md +162 -1
  80. package/docs/en/dictionary/nesting.md +173 -9
  81. package/docs/en/dictionary/plurial.md +155 -10
  82. package/docs/en/dictionary/translation.md +145 -52
  83. package/docs/en/dynamic_dictionaries/collections.md +1 -1
  84. package/docs/en/dynamic_dictionaries/dynamic_content.md +1 -1
  85. package/docs/en/dynamic_dictionaries/index.md +1 -1
  86. package/docs/en/dynamic_dictionaries/variants.md +1 -1
  87. package/docs/en/migration_from_i18next_to_intlayer.md +1 -1
  88. package/docs/en/migration_from_next-i18next_to_intlayer.md +1 -1
  89. package/docs/en/migration_from_next-intl_to_intlayer.md +1 -1
  90. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  91. package/docs/en/migration_from_react-i18next_to_intlayer.md +1 -1
  92. package/docs/en/migration_from_vue-i18n_to_intlayer.md +1 -1
  93. package/docs/en/releases/v8.md +187 -1
  94. package/docs/en/releases/v9.md +220 -0
  95. package/docs/en-GB/cli/doc-review.md +110 -4
  96. package/docs/en-GB/cli/index.md +1 -1
  97. package/docs/en-GB/cli/scan.md +1 -1
  98. package/docs/en-GB/configuration.md +35 -2
  99. package/docs/en-GB/dictionary/condition.md +364 -1
  100. package/docs/en-GB/dictionary/enumeration.md +577 -5
  101. package/docs/en-GB/dictionary/file.md +317 -1
  102. package/docs/en-GB/dictionary/gender.md +375 -2
  103. package/docs/en-GB/dictionary/nesting.md +368 -71
  104. package/docs/en-GB/dictionary/plurial.md +347 -7
  105. package/docs/en-GB/dictionary/translation.md +320 -32
  106. package/docs/en-GB/dynamic_dictionaries/collections.md +1 -1
  107. package/docs/en-GB/dynamic_dictionaries/dynamic_content.md +1 -1
  108. package/docs/en-GB/dynamic_dictionaries/index.md +1 -1
  109. package/docs/en-GB/dynamic_dictionaries/variants.md +1 -1
  110. package/docs/en-GB/releases/v8.md +1 -1
  111. package/docs/en-GB/releases/v9.md +220 -0
  112. package/docs/es/cli/doc-review.md +110 -4
  113. package/docs/es/cli/index.md +1 -1
  114. package/docs/es/cli/scan.md +1 -1
  115. package/docs/es/configuration.md +36 -3
  116. package/docs/es/dictionary/condition.md +167 -5
  117. package/docs/es/dictionary/enumeration.md +537 -12
  118. package/docs/es/dictionary/file.md +151 -1
  119. package/docs/es/dictionary/gender.md +168 -7
  120. package/docs/es/dictionary/nesting.md +173 -65
  121. package/docs/es/dictionary/plurial.md +347 -7
  122. package/docs/es/dictionary/translation.md +156 -2
  123. package/docs/es/dynamic_dictionaries/collections.md +1 -1
  124. package/docs/es/dynamic_dictionaries/dynamic_content.md +1 -1
  125. package/docs/es/dynamic_dictionaries/index.md +1 -1
  126. package/docs/es/dynamic_dictionaries/variants.md +1 -1
  127. package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
  128. package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
  129. package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
  130. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  131. package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
  132. package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
  133. package/docs/es/releases/v8.md +187 -1
  134. package/docs/es/releases/v9.md +228 -0
  135. package/docs/fr/cli/doc-review.md +110 -4
  136. package/docs/fr/cli/index.md +1 -1
  137. package/docs/fr/cli/scan.md +1 -1
  138. package/docs/fr/configuration.md +49 -16
  139. package/docs/fr/dictionary/condition.md +369 -6
  140. package/docs/fr/dictionary/enumeration.md +540 -6
  141. package/docs/fr/dictionary/file.md +151 -1
  142. package/docs/fr/dictionary/gender.md +168 -7
  143. package/docs/fr/dictionary/nesting.md +357 -86
  144. package/docs/fr/dictionary/plurial.md +174 -5
  145. package/docs/fr/dictionary/translation.md +156 -2
  146. package/docs/fr/dynamic_dictionaries/collections.md +1 -1
  147. package/docs/fr/dynamic_dictionaries/dynamic_content.md +1 -1
  148. package/docs/fr/dynamic_dictionaries/index.md +1 -1
  149. package/docs/fr/dynamic_dictionaries/variants.md +1 -1
  150. package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
  151. package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
  152. package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
  153. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  154. package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
  155. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
  156. package/docs/fr/releases/v8.md +187 -1
  157. package/docs/fr/releases/v9.md +220 -0
  158. package/docs/hi/cli/doc-review.md +110 -4
  159. package/docs/hi/cli/index.md +1 -1
  160. package/docs/hi/cli/scan.md +1 -1
  161. package/docs/hi/configuration.md +49 -16
  162. package/docs/hi/dictionary/condition.md +167 -5
  163. package/docs/hi/dictionary/enumeration.md +540 -6
  164. package/docs/hi/dictionary/file.md +151 -1
  165. package/docs/hi/dictionary/gender.md +168 -7
  166. package/docs/hi/dictionary/nesting.md +173 -65
  167. package/docs/hi/dictionary/plurial.md +174 -5
  168. package/docs/hi/dictionary/translation.md +155 -5
  169. package/docs/hi/dynamic_dictionaries/collections.md +1 -1
  170. package/docs/hi/dynamic_dictionaries/dynamic_content.md +1 -1
  171. package/docs/hi/dynamic_dictionaries/index.md +1 -1
  172. package/docs/hi/dynamic_dictionaries/variants.md +1 -1
  173. package/docs/hi/releases/v8.md +188 -2
  174. package/docs/hi/releases/v9.md +232 -0
  175. package/docs/id/cli/doc-review.md +110 -4
  176. package/docs/id/cli/index.md +1 -1
  177. package/docs/id/cli/scan.md +1 -1
  178. package/docs/id/configuration.md +35 -2
  179. package/docs/id/dictionary/condition.md +167 -5
  180. package/docs/id/dictionary/enumeration.md +540 -6
  181. package/docs/id/dictionary/file.md +318 -2
  182. package/docs/id/dictionary/gender.md +381 -8
  183. package/docs/id/dictionary/nesting.md +357 -86
  184. package/docs/id/dictionary/plurial.md +174 -5
  185. package/docs/id/dictionary/translation.md +156 -2
  186. package/docs/id/dynamic_dictionaries/collections.md +1 -1
  187. package/docs/id/dynamic_dictionaries/dynamic_content.md +1 -1
  188. package/docs/id/dynamic_dictionaries/index.md +1 -1
  189. package/docs/id/dynamic_dictionaries/variants.md +1 -1
  190. package/docs/id/releases/v8.md +191 -2
  191. package/docs/id/releases/v9.md +232 -0
  192. package/docs/it/cli/doc-review.md +110 -4
  193. package/docs/it/cli/index.md +1 -1
  194. package/docs/it/cli/scan.md +1 -1
  195. package/docs/it/configuration.md +49 -16
  196. package/docs/it/dictionary/condition.md +167 -5
  197. package/docs/it/dictionary/enumeration.md +540 -6
  198. package/docs/it/dictionary/file.md +318 -2
  199. package/docs/it/dictionary/gender.md +168 -7
  200. package/docs/it/dictionary/nesting.md +173 -65
  201. package/docs/it/dictionary/plurial.md +347 -7
  202. package/docs/it/dictionary/translation.md +156 -2
  203. package/docs/it/dynamic_dictionaries/collections.md +1 -1
  204. package/docs/it/dynamic_dictionaries/dynamic_content.md +1 -1
  205. package/docs/it/dynamic_dictionaries/index.md +1 -1
  206. package/docs/it/dynamic_dictionaries/variants.md +1 -1
  207. package/docs/it/intlayer_with_vite+react.md +0 -48
  208. package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
  209. package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
  210. package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
  211. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  212. package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
  213. package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
  214. package/docs/it/releases/v8.md +200 -2
  215. package/docs/it/releases/v9.md +232 -0
  216. package/docs/ja/cli/doc-review.md +110 -4
  217. package/docs/ja/cli/index.md +1 -1
  218. package/docs/ja/cli/scan.md +1 -1
  219. package/docs/ja/configuration.md +50 -17
  220. package/docs/ja/dictionary/condition.md +167 -5
  221. package/docs/ja/dictionary/enumeration.md +540 -6
  222. package/docs/ja/dictionary/file.md +151 -1
  223. package/docs/ja/dictionary/gender.md +168 -7
  224. package/docs/ja/dictionary/nesting.md +173 -65
  225. package/docs/ja/dictionary/plurial.md +174 -5
  226. package/docs/ja/dictionary/translation.md +169 -8
  227. package/docs/ja/dynamic_dictionaries/collections.md +1 -1
  228. package/docs/ja/dynamic_dictionaries/dynamic_content.md +1 -1
  229. package/docs/ja/dynamic_dictionaries/index.md +1 -1
  230. package/docs/ja/dynamic_dictionaries/variants.md +1 -1
  231. package/docs/ja/intlayer_with_vite+react.md +290 -0
  232. package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
  233. package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
  234. package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
  235. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  236. package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
  237. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
  238. package/docs/ja/releases/v8.md +193 -4
  239. package/docs/ja/releases/v9.md +232 -0
  240. package/docs/ko/cli/doc-review.md +110 -4
  241. package/docs/ko/cli/index.md +1 -1
  242. package/docs/ko/cli/scan.md +1 -1
  243. package/docs/ko/configuration.md +49 -16
  244. package/docs/ko/dictionary/condition.md +167 -5
  245. package/docs/ko/dictionary/enumeration.md +540 -6
  246. package/docs/ko/dictionary/file.md +151 -1
  247. package/docs/ko/dictionary/gender.md +168 -7
  248. package/docs/ko/dictionary/nesting.md +173 -65
  249. package/docs/ko/dictionary/plurial.md +174 -5
  250. package/docs/ko/dictionary/translation.md +169 -8
  251. package/docs/ko/dynamic_dictionaries/collections.md +1 -1
  252. package/docs/ko/dynamic_dictionaries/dynamic_content.md +1 -1
  253. package/docs/ko/dynamic_dictionaries/index.md +1 -1
  254. package/docs/ko/dynamic_dictionaries/variants.md +1 -1
  255. package/docs/ko/intlayer_with_vite+react.md +48 -490
  256. package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
  257. package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
  258. package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
  259. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  260. package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
  261. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
  262. package/docs/ko/releases/v8.md +192 -1
  263. package/docs/ko/releases/v9.md +232 -0
  264. package/docs/nl/cli/index.md +1 -1
  265. package/docs/nl/cli/scan.md +1 -1
  266. package/docs/nl/configuration.md +36 -3
  267. package/docs/pl/cli/doc-review.md +110 -4
  268. package/docs/pl/cli/index.md +1 -1
  269. package/docs/pl/cli/scan.md +1 -1
  270. package/docs/pl/configuration.md +35 -2
  271. package/docs/pl/dictionary/condition.md +167 -5
  272. package/docs/pl/dictionary/enumeration.md +540 -6
  273. package/docs/pl/dictionary/file.md +318 -2
  274. package/docs/pl/dictionary/gender.md +168 -7
  275. package/docs/pl/dictionary/nesting.md +173 -65
  276. package/docs/pl/dictionary/plurial.md +174 -5
  277. package/docs/pl/dictionary/translation.md +156 -2
  278. package/docs/pl/dynamic_dictionaries/collections.md +1 -1
  279. package/docs/pl/dynamic_dictionaries/dynamic_content.md +1 -1
  280. package/docs/pl/dynamic_dictionaries/index.md +1 -1
  281. package/docs/pl/dynamic_dictionaries/variants.md +1 -1
  282. package/docs/pl/releases/v8.md +188 -2
  283. package/docs/pl/releases/v9.md +232 -0
  284. package/docs/pt/cli/doc-review.md +110 -4
  285. package/docs/pt/cli/index.md +1 -1
  286. package/docs/pt/cli/scan.md +1 -1
  287. package/docs/pt/configuration.md +49 -16
  288. package/docs/pt/dictionary/condition.md +167 -5
  289. package/docs/pt/dictionary/enumeration.md +540 -6
  290. package/docs/pt/dictionary/file.md +151 -1
  291. package/docs/pt/dictionary/gender.md +168 -7
  292. package/docs/pt/dictionary/nesting.md +173 -65
  293. package/docs/pt/dictionary/plurial.md +347 -7
  294. package/docs/pt/dictionary/translation.md +156 -2
  295. package/docs/pt/dynamic_dictionaries/collections.md +1 -1
  296. package/docs/pt/dynamic_dictionaries/dynamic_content.md +1 -1
  297. package/docs/pt/dynamic_dictionaries/index.md +1 -1
  298. package/docs/pt/dynamic_dictionaries/variants.md +1 -1
  299. package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
  300. package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
  301. package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
  302. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  303. package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
  304. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
  305. package/docs/pt/releases/v8.md +187 -1
  306. package/docs/pt/releases/v9.md +232 -0
  307. package/docs/ru/cli/doc-review.md +110 -4
  308. package/docs/ru/cli/index.md +1 -1
  309. package/docs/ru/cli/scan.md +1 -1
  310. package/docs/ru/configuration.md +35 -2
  311. package/docs/ru/dictionary/condition.md +366 -39
  312. package/docs/ru/dictionary/enumeration.md +777 -7
  313. package/docs/ru/dictionary/file.md +318 -2
  314. package/docs/ru/dictionary/gender.md +168 -7
  315. package/docs/ru/dictionary/nesting.md +368 -71
  316. package/docs/ru/dictionary/plurial.md +347 -7
  317. package/docs/ru/dictionary/translation.md +321 -33
  318. package/docs/ru/dynamic_dictionaries/collections.md +1 -1
  319. package/docs/ru/dynamic_dictionaries/dynamic_content.md +1 -1
  320. package/docs/ru/dynamic_dictionaries/index.md +1 -1
  321. package/docs/ru/dynamic_dictionaries/variants.md +1 -1
  322. package/docs/ru/intlayer_with_vite+react.md +48 -47
  323. package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
  324. package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
  325. package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
  326. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  327. package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
  328. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
  329. package/docs/ru/releases/v8.md +194 -2
  330. package/docs/ru/releases/v9.md +232 -0
  331. package/docs/tr/cli/doc-review.md +110 -4
  332. package/docs/tr/cli/index.md +1 -1
  333. package/docs/tr/cli/scan.md +1 -1
  334. package/docs/tr/configuration.md +35 -2
  335. package/docs/tr/dictionary/condition.md +167 -5
  336. package/docs/tr/dictionary/enumeration.md +540 -6
  337. package/docs/tr/dictionary/file.md +151 -1
  338. package/docs/tr/dictionary/gender.md +168 -7
  339. package/docs/tr/dictionary/nesting.md +173 -65
  340. package/docs/tr/dictionary/plurial.md +174 -5
  341. package/docs/tr/dictionary/translation.md +156 -2
  342. package/docs/tr/dynamic_dictionaries/collections.md +1 -1
  343. package/docs/tr/dynamic_dictionaries/dynamic_content.md +1 -1
  344. package/docs/tr/dynamic_dictionaries/index.md +1 -1
  345. package/docs/tr/dynamic_dictionaries/variants.md +1 -1
  346. package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
  347. package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
  348. package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
  349. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  350. package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
  351. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
  352. package/docs/tr/releases/v8.md +187 -1
  353. package/docs/tr/releases/v9.md +232 -0
  354. package/docs/uk/cli/doc-review.md +110 -4
  355. package/docs/uk/cli/index.md +1 -1
  356. package/docs/uk/cli/scan.md +1 -1
  357. package/docs/uk/configuration.md +35 -2
  358. package/docs/uk/dictionary/condition.md +167 -5
  359. package/docs/uk/dictionary/enumeration.md +540 -6
  360. package/docs/uk/dictionary/file.md +318 -2
  361. package/docs/uk/dictionary/gender.md +381 -8
  362. package/docs/uk/dictionary/nesting.md +173 -65
  363. package/docs/uk/dictionary/plurial.md +174 -5
  364. package/docs/uk/dictionary/translation.md +156 -2
  365. package/docs/uk/dynamic_dictionaries/collections.md +1 -1
  366. package/docs/uk/dynamic_dictionaries/dynamic_content.md +1 -1
  367. package/docs/uk/dynamic_dictionaries/index.md +1 -1
  368. package/docs/uk/dynamic_dictionaries/variants.md +1 -1
  369. package/docs/uk/releases/v8.md +191 -3
  370. package/docs/uk/releases/v9.md +232 -0
  371. package/docs/ur/cli/index.md +1 -1
  372. package/docs/ur/cli/scan.md +1 -1
  373. package/docs/ur/configuration.md +36 -3
  374. package/docs/vi/cli/doc-review.md +110 -4
  375. package/docs/vi/cli/index.md +1 -1
  376. package/docs/vi/cli/scan.md +1 -1
  377. package/docs/vi/configuration.md +50 -17
  378. package/docs/vi/dictionary/condition.md +167 -5
  379. package/docs/vi/dictionary/enumeration.md +591 -14
  380. package/docs/vi/dictionary/file.md +318 -2
  381. package/docs/vi/dictionary/gender.md +168 -7
  382. package/docs/vi/dictionary/nesting.md +357 -86
  383. package/docs/vi/dictionary/plurial.md +174 -5
  384. package/docs/vi/dictionary/translation.md +156 -2
  385. package/docs/vi/dynamic_dictionaries/collections.md +1 -1
  386. package/docs/vi/dynamic_dictionaries/dynamic_content.md +1 -1
  387. package/docs/vi/dynamic_dictionaries/index.md +1 -1
  388. package/docs/vi/dynamic_dictionaries/variants.md +1 -1
  389. package/docs/vi/releases/v8.md +190 -1
  390. package/docs/vi/releases/v9.md +232 -0
  391. package/docs/zh/cli/doc-review.md +110 -4
  392. package/docs/zh/cli/index.md +1 -1
  393. package/docs/zh/cli/scan.md +1 -1
  394. package/docs/zh/configuration.md +49 -16
  395. package/docs/zh/dictionary/condition.md +167 -5
  396. package/docs/zh/dictionary/enumeration.md +540 -6
  397. package/docs/zh/dictionary/file.md +151 -1
  398. package/docs/zh/dictionary/gender.md +168 -7
  399. package/docs/zh/dictionary/nesting.md +173 -65
  400. package/docs/zh/dictionary/plurial.md +174 -5
  401. package/docs/zh/dictionary/translation.md +169 -8
  402. package/docs/zh/dynamic_dictionaries/collections.md +1 -1
  403. package/docs/zh/dynamic_dictionaries/dynamic_content.md +1 -1
  404. package/docs/zh/dynamic_dictionaries/index.md +1 -1
  405. package/docs/zh/dynamic_dictionaries/variants.md +1 -1
  406. package/docs/zh/intlayer_with_vite+react.md +48 -288
  407. package/docs/zh/releases/v8.md +1 -1
  408. package/docs/zh/releases/v9.md +220 -0
  409. package/package.json +7 -7
  410. package/src/generated/docs.entry.ts +320 -0
  411. package/dist/esm/_virtual/_rolldown/runtime.mjs +0 -8
@@ -31,89 +31,197 @@ W Intlayer zagnieżdżanie realizowane jest za pomocą funkcji `nest`, która po
31
31
 
32
32
  ## Konfiguracja zagnieżdżania
33
33
 
34
- Aby skonfigurować zagnieżdżanie w swoim projekcie Intlayer, najpierw definiujesz bazową treść, którą chcesz ponownie wykorzystać. Następnie, w osobnym module treści, używasz funkcji `nest`, aby zaimportować tę treść.
34
+ <Tabs group="framework">
35
+ <Tab label="React" value="react">
35
36
 
36
- ### Bazowy słownik
37
+ To use nested content in a React component, leverage the `useIntlayer` hook from the `react-intlayer` package. This hook retrieves the correct content based on the specified key. Here's an example of how to use it:
37
38
 
38
- Poniżej znajduje się przykład bazowego słownika do zagnieżdżenia w innym słowniku:
39
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
40
+ import type { FC } from "react";
41
+ import { useIntlayer } from "react-intlayer";
39
42
 
40
- ```typescript fileName="firstDictionary.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
41
- import { type Dictionary } from "intlayer";
43
+ const NestComponent: FC = () => {
44
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
45
+ "key_of_my_second_dictionary"
46
+ );
42
47
 
43
- const firstDictionary = {
44
- key: "key_of_my_first_dictionary",
45
- content: {
46
- content: "content",
47
- subContent: {
48
- contentNumber: 0,
49
- contentString: "string",
50
- },
51
- },
52
- } satisfies Dictionary;
48
+ return (
49
+ <div>
50
+ <p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
51
+ <p>Partial Nested Value: {partialNestedContent}</p>
52
+ </div>
53
+ );
54
+ };
53
55
 
54
- export default firstDictionary;
56
+ export default NestComponent;
55
57
  ```
56
58
 
57
- ```json fileName="firstDictionary.content.json" contentDeclarationFormat="json"
58
- {
59
- "$schema": "https://intlayer.org/schema.json",
60
- "key": "key_of_my_first_dictionary",
61
- "content": {
62
- "content": "content",
63
- "subContent": {
64
- "contentNumber": 0,
65
- "contentString": "string"
66
- }
67
- }
68
- }
59
+ </Tab>
60
+ <Tab label="Next.js" value="nextjs">
61
+
62
+ To use nested content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
63
+
64
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
65
+ "use client";
66
+
67
+ import type { FC } from "react";
68
+ import { useIntlayer } from "next-intlayer";
69
+
70
+ const NestComponent: FC = () => {
71
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
72
+ "key_of_my_second_dictionary"
73
+ );
74
+
75
+ return (
76
+ <div>
77
+ <p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
78
+ <p>Partial Nested Value: {partialNestedContent}</p>
79
+ </div>
80
+ );
81
+ };
82
+
83
+ export default NestComponent;
69
84
  ```
70
85
 
71
- ### Odwołania za pomocą Nest
86
+ </Tab>
87
+ <Tab label="Vue" value="vue">
72
88
 
73
- Teraz utwórz inny moduł zawartości, który używa funkcji `nest` do odwołania się do powyższej zawartości. Możesz odwołać się do całej zawartości lub do konkretnej zagnieżdżonej wartości:
89
+ To use nested content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
74
90
 
75
- ```typescript fileName="secondDictionary.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
76
- import { nest, type Dictionary } from "intlayer";
91
+ ```vue fileName="**/*.vue"
92
+ <script setup lang="ts">
93
+ import { useIntlayer } from "vue-intlayer";
77
94
 
78
- const myNestingContent = {
79
- key: "key_of_my_second_dictionary",
80
- content: {
81
- // Odwołuje się do całego słownika:
82
- fullNestedContent: nest("key_of_my_first_dictionary"),
83
- // Odwołuje się do konkretnej zagnieżdżonej wartości:
84
- partialNestedContent: nest(
85
- "key_of_my_first_dictionary",
86
- "subContent.contentNumber"
87
- ),
88
- },
89
- } satisfies Dictionary;
95
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
96
+ "key_of_my_second_dictionary"
97
+ );
98
+ </script>
90
99
 
91
- export default myNestingContent;
100
+ <template>
101
+ <div>
102
+ <p>Full Nested Content: {{ JSON.stringify(fullNestedContent) }}</p>
103
+ <p>Partial Nested Value: {{ partialNestedContent }}</p>
104
+ </div>
105
+ </template>
92
106
  ```
93
107
 
94
- ```json fileName="secondDictionary.content.json" contentDeclarationFormat="json"
95
- {
96
- "$schema": "https://intlayer.org/schema.json",
97
- "key": "key_of_my_second_dictionary",
98
- "content": {
99
- "fullNestedContent": {
100
- "nodeType": "nested",
101
- "nested": {
102
- "dictionaryKey": "key_of_my_first_dictionary"
103
- }
104
- },
105
- "partialNestedContent": {
106
- "nodeType": "nested",
107
- "nested": {
108
- "dictionaryKey": "key_of_my_first_dictionary",
109
- "path": "subContent.contentNumber"
110
- }
111
- }
112
- }
108
+ </Tab>
109
+ <Tab label="Svelte" value="svelte">
110
+
111
+ To use nested content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
112
+
113
+ ```svelte fileName="**/*.svelte"
114
+ <script lang="ts">
115
+ import { useIntlayer } from "svelte-intlayer";
116
+
117
+ const content = useIntlayer("key_of_my_second_dictionary");
118
+ </script>
119
+
120
+ <div>
121
+ <p>Full Nested Content: {JSON.stringify($content.fullNestedContent)}</p>
122
+ <p>Partial Nested Value: {$content.partialNestedContent}</p>
123
+ </div>
124
+ ```
125
+
126
+ </Tab>
127
+ <Tab label="Preact" value="preact">
128
+
129
+ To use nested content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
130
+
131
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
132
+ import type { FC } from "preact";
133
+ import { useIntlayer } from "preact-intlayer";
134
+
135
+ const NestComponent: FC = () => {
136
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
137
+ "key_of_my_second_dictionary"
138
+ );
139
+
140
+ return (
141
+ <div>
142
+ <p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
143
+ <p>Partial Nested Value: {partialNestedContent}</p>
144
+ </div>
145
+ );
146
+ };
147
+
148
+ export default NestComponent;
149
+ ```
150
+
151
+ </Tab>
152
+ <Tab label="Solid" value="solid">
153
+
154
+ To use nested content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
155
+
156
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
157
+ import type { Component } from "solid-js";
158
+ import { useIntlayer } from "solid-intlayer";
159
+
160
+ const NestComponent: Component = () => {
161
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
162
+ "key_of_my_second_dictionary"
163
+ );
164
+
165
+ return (
166
+ <div>
167
+ <p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
168
+ <p>Partial Nested Value: {partialNestedContent}</p>
169
+ </div>
170
+ );
171
+ };
172
+
173
+ export default NestComponent;
174
+ ```
175
+
176
+ </Tab>
177
+ <Tab label="Angular" value="angular">
178
+
179
+ To use nested content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
180
+
181
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
182
+ import { Component } from "@angular/core";
183
+ import { useIntlayer } from "angular-intlayer";
184
+
185
+ @Component({
186
+ selector: "app-nest",
187
+ template: `
188
+ <div>
189
+ <p>
190
+ Full Nested Content: {{ JSON.stringify(content().fullNestedContent) }}
191
+ </p>
192
+ <p>Partial Nested Value: {{ content().partialNestedContent }}</p>
193
+ </div>
194
+ `,
195
+ })
196
+ export class NestComponent {
197
+ content = useIntlayer("key_of_my_second_dictionary");
198
+ JSON = JSON;
113
199
  }
114
200
  ```
115
201
 
116
- Jako drugi parametr możesz określić ścieżkę do zagnieżdżonej wartości w ramach tej zawartości. Jeśli ścieżka nie zostanie podana, zwracana jest cała zawartość odwołującego się słownika.
202
+ </Tab>
203
+ <Tab label="Vanilla JS" value="vanilla">
204
+
205
+ To use nested content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
206
+
207
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
208
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
209
+
210
+ installIntlayer();
211
+
212
+ const content = useIntlayer("key_of_my_second_dictionary").onChange(
213
+ (newContent) => {
214
+ document.getElementById("nested")!.textContent =
215
+ newContent.partialNestedContent;
216
+ }
217
+ );
218
+
219
+ // Initial render
220
+ document.getElementById("nested")!.textContent = content.partialNestedContent;
221
+ ```
222
+
223
+ </Tab>
224
+ </Tabs>
117
225
 
118
226
  ## Używanie zagnieżdżenia z React Intlayer
119
227
 
@@ -35,12 +35,181 @@ W przeciwieństwie do [`enu`](https://github.com/aymericzip/intlayer/blob/main/d
35
35
 
36
36
  ## Kiedy używać `plural` vs `enu`
37
37
 
38
- | Przypadek użycia | Pomocnik |
39
- | ----------------------------------------------------------------------------------------- | -------- |
40
- | Formy gramatyczne liczby mnogiej zależne od języka (jedno jabłko / dwa jabłka / 5 jabłek) | `plural` |
41
- | Niestandardowe zakresy liczbowe (`<5`, `>=10`) lub przedziały spoza CLDR | `enu` |
38
+ <Tabs group="framework">
39
+ <Tab label="React" value="react">
42
40
 
43
- Jeśli Twoim celem jest tylko język angielski (który ma tylko `one` / `other`), oba rozwiązania zadziałają. Dla każdego języka z rozróżnieniem na `few` / `many` / `two`, preferuj `plural`.
41
+ To use plural content inside a React component, retrieve it via the `useIntlayer` hook and call it with a count. The active locale and the count are combined to pick the matching CLDR category.
42
+
43
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
44
+ import type { FC } from "react";
45
+ import { useIntlayer } from "react-intlayer";
46
+
47
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
48
+ const { totalOpenings } = useIntlayer("total_openings");
49
+
50
+ return (
51
+ <div>
52
+ <p>{totalOpenings(count)}</p>
53
+ </div>
54
+ );
55
+ };
56
+
57
+ export default OpeningsComponent;
58
+ ```
59
+
60
+ </Tab>
61
+ <Tab label="Next.js" value="nextjs">
62
+
63
+ To use plural content in Next.js Client Components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
64
+
65
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
66
+ "use client";
67
+
68
+ import type { FC } from "react";
69
+ import { useIntlayer } from "next-intlayer";
70
+
71
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
72
+ const { totalOpenings } = useIntlayer("total_openings");
73
+
74
+ return (
75
+ <div>
76
+ <p>{totalOpenings(count)}</p>
77
+ </div>
78
+ );
79
+ };
80
+
81
+ export default OpeningsComponent;
82
+ ```
83
+
84
+ </Tab>
85
+ <Tab label="Vue" value="vue">
86
+
87
+ To use plural content in Vue components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
88
+
89
+ ```vue fileName="**/*.vue"
90
+ <script setup lang="ts">
91
+ import { useIntlayer } from "vue-intlayer";
92
+
93
+ defineProps<{ count: number }>();
94
+
95
+ const { totalOpenings } = useIntlayer("total_openings");
96
+ </script>
97
+
98
+ <template>
99
+ <div>
100
+ <p>{{ totalOpenings(count) }}</p>
101
+ </div>
102
+ </template>
103
+ ```
104
+
105
+ </Tab>
106
+ <Tab label="Svelte" value="svelte">
107
+
108
+ To use plural content in Svelte components, retrieve it via the `useIntlayer` hook and call it with a count. The store is accessed with `$`. Here's an example:
109
+
110
+ ```svelte fileName="**/*.svelte"
111
+ <script lang="ts">
112
+ import { useIntlayer } from "svelte-intlayer";
113
+
114
+ export let count: number;
115
+
116
+ const content = useIntlayer("total_openings");
117
+ </script>
118
+
119
+ <div>
120
+ <p>{$content.totalOpenings(count)}</p>
121
+ </div>
122
+ ```
123
+
124
+ </Tab>
125
+ <Tab label="Preact" value="preact">
126
+
127
+ To use plural content in Preact components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
128
+
129
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
130
+ import type { FC } from "preact";
131
+ import { useIntlayer } from "preact-intlayer";
132
+
133
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
134
+ const { totalOpenings } = useIntlayer("total_openings");
135
+
136
+ return (
137
+ <div>
138
+ <p>{totalOpenings(count)}</p>
139
+ </div>
140
+ );
141
+ };
142
+
143
+ export default OpeningsComponent;
144
+ ```
145
+
146
+ </Tab>
147
+ <Tab label="Solid" value="solid">
148
+
149
+ To use plural content in SolidJS components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
150
+
151
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
152
+ import type { Component } from "solid-js";
153
+ import { useIntlayer } from "solid-intlayer";
154
+
155
+ const OpeningsComponent: Component<{ count: number }> = (props) => {
156
+ const { totalOpenings } = useIntlayer("total_openings");
157
+
158
+ return (
159
+ <div>
160
+ <p>{totalOpenings(props.count)}</p>
161
+ </div>
162
+ );
163
+ };
164
+
165
+ export default OpeningsComponent;
166
+ ```
167
+
168
+ </Tab>
169
+ <Tab label="Angular" value="angular">
170
+
171
+ To use plural content in Angular components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
172
+
173
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
174
+ import { Component, Input } from "@angular/core";
175
+ import { useIntlayer } from "angular-intlayer";
176
+
177
+ @Component({
178
+ selector: "app-openings",
179
+ template: `
180
+ <div>
181
+ <p>{{ content().totalOpenings(count) }}</p>
182
+ </div>
183
+ `,
184
+ })
185
+ export class OpeningsComponent {
186
+ @Input() count!: number;
187
+
188
+ content = useIntlayer("total_openings");
189
+ }
190
+ ```
191
+
192
+ </Tab>
193
+ <Tab label="Vanilla JS" value="vanilla">
194
+
195
+ To use plural content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
196
+
197
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
198
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
199
+
200
+ installIntlayer();
201
+
202
+ const content = useIntlayer("total_openings").onChange((newContent) => {
203
+ document.getElementById("openings")!.textContent =
204
+ newContent.totalOpenings(5);
205
+ });
206
+
207
+ // Initial render
208
+ document.getElementById("openings")!.textContent = content.totalOpenings(5);
209
+ ```
210
+
211
+ </Tab>
212
+ </Tabs>
44
213
 
45
214
  ## Konfigurowanie treści w liczbie mnogiej
46
215
 
@@ -85,7 +85,10 @@ export default config;
85
85
 
86
86
  ## Używanie tłumaczeń w komponentach React
87
87
 
88
- Dzięki `react-intlayer` możesz używać tłumaczeń w komponentach React. Oto przykład:
88
+ <Tabs group="framework">
89
+ <Tab label="React" value="react">
90
+
91
+ With `react-intlayer`, you can use translations in React components. Here's an example:
89
92
 
90
93
  ```jsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
91
94
  import type { FC } from "react";
@@ -104,7 +107,158 @@ const MyComponent: FC = () => {
104
107
  export default MyComponent;
105
108
  ```
106
109
 
107
- Ten komponent pobiera odpowiednie tłumaczenie na podstawie aktualnie ustawionego języka w Twojej aplikacji.
110
+ This component fetches the corresponding translation based on the current locale set in your application.
111
+
112
+ </Tab>
113
+ <Tab label="Next.js" value="nextjs">
114
+
115
+ With `next-intlayer`, you can use translations in React Server Components or Client Components. Here's an example in a Client Component:
116
+
117
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
118
+ "use client";
119
+
120
+ import type { FC } from "react";
121
+ import { useIntlayer } from "next-intlayer";
122
+
123
+ const MyComponent: FC = () => {
124
+ const content = useIntlayer("multi_lang");
125
+
126
+ return (
127
+ <div>
128
+ <p>{content.welcomeMessage}</p>
129
+ </div>
130
+ );
131
+ };
132
+
133
+ export default MyComponent;
134
+ ```
135
+
136
+ </Tab>
137
+ <Tab label="Vue" value="vue">
138
+
139
+ With `vue-intlayer`, you can use translations in Vue components. Here's an example:
140
+
141
+ ```vue fileName="**/*.vue"
142
+ <script setup lang="ts">
143
+ import { useIntlayer } from "vue-intlayer";
144
+
145
+ const content = useIntlayer("multi_lang");
146
+ </script>
147
+
148
+ <template>
149
+ <div>
150
+ <p>{{ content.welcomeMessage }}</p>
151
+ </div>
152
+ </template>
153
+ ```
154
+
155
+ </Tab>
156
+ <Tab label="Svelte" value="svelte">
157
+
158
+ With `svelte-intlayer`, you can use translations in Svelte components. The hook returns a Svelte store. Here's an example:
159
+
160
+ ```svelte fileName="**/*.svelte"
161
+ <script lang="ts">
162
+ import { useIntlayer } from "svelte-intlayer";
163
+
164
+ const content = useIntlayer("multi_lang");
165
+ </script>
166
+
167
+ <div>
168
+ <p>{$content.welcomeMessage}</p>
169
+ </div>
170
+ ```
171
+
172
+ </Tab>
173
+ <Tab label="Preact" value="preact">
174
+
175
+ With `preact-intlayer`, you can use translations in Preact components. Here's an example:
176
+
177
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
178
+ import type { FC } from "preact";
179
+ import { useIntlayer } from "preact-intlayer";
180
+
181
+ const MyComponent: FC = () => {
182
+ const content = useIntlayer("multi_lang");
183
+
184
+ return (
185
+ <div>
186
+ <p>{content.welcomeMessage}</p>
187
+ </div>
188
+ );
189
+ };
190
+
191
+ export default MyComponent;
192
+ ```
193
+
194
+ </Tab>
195
+ <Tab label="Solid" value="solid">
196
+
197
+ With `solid-intlayer`, you can use translations in SolidJS components. Here's an example:
198
+
199
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
200
+ import type { Component } from "solid-js";
201
+ import { useIntlayer } from "solid-intlayer";
202
+
203
+ const MyComponent: Component = () => {
204
+ const content = useIntlayer("multi_lang");
205
+
206
+ return (
207
+ <div>
208
+ <p>{content.welcomeMessage}</p>
209
+ </div>
210
+ );
211
+ };
212
+
213
+ export default MyComponent;
214
+ ```
215
+
216
+ </Tab>
217
+ <Tab label="Angular" value="angular">
218
+
219
+ With `angular-intlayer`, you can use translations in Angular components. Here's an example:
220
+
221
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
222
+ import { Component } from "@angular/core";
223
+ import { useIntlayer } from "angular-intlayer";
224
+
225
+ @Component({
226
+ selector: "app-my-component",
227
+ template: `
228
+ <div>
229
+ <p>{{ content().welcomeMessage }}</p>
230
+ </div>
231
+ `,
232
+ })
233
+ export class MyComponent {
234
+ content = useIntlayer("multi_lang");
235
+ }
236
+ ```
237
+
238
+ </Tab>
239
+ <Tab label="Vanilla JS" value="vanilla">
240
+
241
+ With `vanilla-intlayer`, you can use translations by subscribing to content changes. Here's an example:
242
+
243
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
244
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
245
+
246
+ installIntlayer();
247
+
248
+ const content = useIntlayer("multi_lang").onChange((newContent) => {
249
+ document.getElementById("welcome-message")!.textContent = String(
250
+ newContent.welcomeMessage
251
+ );
252
+ });
253
+
254
+ // Initial render
255
+ document.getElementById("welcome-message")!.textContent = String(
256
+ content.welcomeMessage
257
+ );
258
+ ```
259
+
260
+ </Tab>
261
+ </Tabs>
108
262
 
109
263
  ## Niestandardowe obiekty treści
110
264
 
@@ -14,7 +14,7 @@ slugs:
14
14
  - concept
15
15
  - collections
16
16
  history:
17
- - version: 8.13.0
17
+ - version: 9.0.0
18
18
  date: 2026-06-12
19
19
  changes: "Wydanie funkcji słowników kolekcji"
20
20
  author: aymericzip
@@ -15,7 +15,7 @@ slugs:
15
15
  - concept
16
16
  - dynamic-records
17
17
  history:
18
- - version: 8.13.0
18
+ - version: 9.0.0
19
19
  date: 2026-06-12
20
20
  changes: "Wydanie funkcji dynamicznej zawartości"
21
21
  author: aymericzip
@@ -15,7 +15,7 @@ slugs:
15
15
  - concept
16
16
  - dynamic-dictionaries
17
17
  history:
18
- - version: 8.13.0
18
+ - version: 9.0.0
19
19
  date: 2026-06-12
20
20
  changes: "Wydanie funkcji słowników dynamicznych"
21
21
  author: aymericzip
@@ -15,7 +15,7 @@ slugs:
15
15
  - concept
16
16
  - variants
17
17
  history:
18
- - version: 8.13.0
18
+ - version: 9.0.0
19
19
  date: 2026-06-12
20
20
  changes: "Wydanie funkcji wariantów słowników"
21
21
  author: aymericzip