@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
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-05-12
3
+ updatedAt: 2026-06-17
4
4
  title: Configuration
5
5
  description: Apprenez à configurer Intlayer pour votre application. Comprenez les différents paramètres et options disponibles pour personnaliser Intlayer selon vos besoins.
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.10.0
18
+ date: 2026-06-17
19
+ changes: "Ajout de l'option `format` à la configuration du dictionnaire"
17
20
  - version: 8.9.4
18
21
  date: 2026-05-12
19
22
  changes: "Ajout du support pour le fournisseur LM Studio"
@@ -135,6 +138,7 @@ Intlayer accepte les formats de fichiers de configuration JSON, JS, MJS et TS :
135
138
  ````typescript fileName="intlayer.config.ts" codeFormat="typescript"
136
139
  import { Locales, type IntlayerConfig } from "intlayer";
137
140
  import { nextjsRewrite } from "intlayer/routing";
141
+ import { syncJSON } from "@intlayer/sync-json-plugin";
138
142
  import { z } from "zod";
139
143
 
140
144
  /**
@@ -585,10 +589,38 @@ const config: IntlayerConfig = {
585
589
  }),
586
590
  },
587
591
 
592
+ /**
593
+ * Configuration du dictionnaire.
594
+ */
595
+ dictionary: {
596
+ /**
597
+ * Contrôle la manière dont les dictionnaires sont importés.
598
+ * - "static": Importé statiquement à la compilation.
599
+ * - "dynamic": Importé dynamiquement avec Suspense.
600
+ * - "fetch": Récupéré dynamiquement via l'API de synchronisation en direct.
601
+ */
602
+ importMode: "static",
603
+
604
+ /**
605
+ * Le format de message par défaut pour tous les dictionnaires du projet.
606
+ * - 'intlayer': Format intlayer natif (par défaut).
607
+ * - 'icu': Format de message ICU.
608
+ * - 'i18next': Format i18next.
609
+ * - 'vue-i18n': Format Vue I18n.
610
+ * - 'po': Format GNU Gettext PO.
611
+ */
612
+ format: "icu",
613
+ },
614
+
588
615
  /**
589
616
  * Configuration des plugins.
590
617
  */
591
- plugins: [],
618
+ plugins: [
619
+ syncJSON({
620
+ format: "icu",
621
+ source: ({ locale }) => `./messages/${locale}.json`,
622
+ }),
623
+ ],
592
624
  };
593
625
 
594
626
  export default config;
@@ -857,20 +889,21 @@ Paramètres relatifs au traitement du contenu dans l'application (noms de réper
857
889
 
858
890
  Paramètres contrôlant les opérations de dictionnaire, y compris le comportement de remplissage automatique et la génération de contenu.
859
891
 
860
- | Champ | Description | Type | Par défaut | Exemple | Note |
861
- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
862
- | `fill` | Contrôle la manière dont les fichiers de sortie de remplissage automatique (traduction par IA) sont générés. | `boolean` &#124; <br/> `FilePathPattern` &#124; <br/> `Partial<Record<Locale, boolean &#124; FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: chemin par défaut (même fichier que la source).<br/>• `false`: désactiver.<br/>• Le modèle string/fonction génère des fichiers par locale.<br/>• Objet par locale : chaque locale correspond à son propre modèle ; `false` ignore cette locale.<br/>• L'inclusion de `{{locale}}` déclenche la génération par locale.<br/>• Le `fill` au niveau du dictionnaire a toujours la priorité sur cette configuration globale. |
863
- | `description` | Aide à comprendre l'objectif du dictionnaire dans l'éditeur et le CMS. Également utilisé comme contexte pour la génération de traductions par IA. | `string` | `undefined` | `'User profile section'` | |
864
- | `locale` | Transforme le dictionnaire en un format par locale. Chaque champ déclaré devient un nœud de traduction. Si absent, le dictionnaire est traité comme multilingue. | `LocalesValues` | `undefined` | `'en'` | Utilisez ceci lorsque le dictionnaire est spécifique à une seule locale plutôt que de contenir des traductions pour plusieurs locales. |
865
- | `contentAutoTransformation` | Transforme automatiquement les chaînes de contenu en nœuds typés (markdown, HTML ou insertion). | `boolean` &#124; <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')`.<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')`.<br/>• Insertion : `Hello {{name}}` → `insert('Hello {{name}}')`. |
866
- | `location` | Indique où les fichiers de dictionnaire sont stockés et leur mode de synchronisation avec le CMS. | `'local'` &#124; <br/> `'remote'` &#124; <br/> `'hybrid'` &#124; <br/> `'plugin'` &#124; <br/> `string` | `'local'` | `'hybrid'` | • `'local'` : géré localement uniquement.<br/>• `'remote'` : géré à distance uniquement (CMS).<br/>• `'hybrid'` : géré à la fois localement et à distance.<br/>• `'plugin'` ou chaîne personnalisée : géré par un plugin ou une source personnalisée. |
867
- | `importMode` | Contrôle la manière dont les dictionnaires sont importés. | `'static'` &#124; <br/> `'dynamic'` &#124; <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: importé statiquement (remplace `useIntlayer` par `useDictionary`).<br/>• `'dynamic'`: importé dynamiquement via Suspense (remplace par `useDictionaryDynamic`).<br/>• `'fetch'`: récupéré via l'API live sync ; retombe sur `'dynamic'` en cas d'échec.<br/>• Repose sur les plugins `@intlayer/babel` et `@intlayer/swc`.<br/>• Les clés doivent être déclarées statiquement.<br/>• Ignoré si `optimize` est désactivé.<br/>• N'affecte pas `getIntlayer`, `getDictionary`, etc. |
868
- | `priority` | Priorité du dictionnaire. Les valeurs les plus élevées l'emportent sur les plus basses lors de la résolution des conflits entre dictionnaires. | `number` | `undefined` | `1` | |
869
- | `live` | Déprécié - utilisez plutôt `importMode: 'fetch'`. Indiquait si le contenu du dictionnaire était récupéré dynamiquement via l'API live sync. | `boolean` | `undefined` | | Renommé en `importMode: 'fetch'` dans la v8.0.0. |
870
- | `schema` | Généré automatiquement par Intlayer pour la validation du schéma JSON. | `'https://intlayer.org/schema.json'` | auto-généré | | Ne pas modifier manuellement. |
871
- | `title` | Aide à identifier le dictionnaire dans l'éditeur et le CMS. | `string` | `undefined` | `'User Profile'` | |
872
- | `tags` | Catégorise les dictionnaires et fournit du contexte ou des instructions pour l'éditeur et l'IA. | `string[]` | `undefined` | `['user', 'profile']` | |
873
- | `version` | Version du dictionnaire distant ; aide à suivre la version actuellement utilisée. | `string` | `undefined` | `'1.0.0'` | • Gérable sur le CMS.<br/>• Ne pas modifier localement. |
892
+ | Champ | Description | Type | Par défaut | Exemple | Note |
893
+ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
894
+ | `fill` | Contrôle la manière dont les fichiers de sortie de remplissage automatique (traduction par IA) sont générés. | `boolean` &#124; <br/> `FilePathPattern` &#124; <br/> `Partial<Record<Locale, boolean &#124; FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: chemin par défaut (même fichier que la source).<br/>• `false`: désactiver.<br/>• Le modèle string/fonction génère des fichiers par locale.<br/>• Objet par locale : chaque locale correspond à son propre modèle ; `false` ignore cette locale.<br/>• L'inclusion de `{{locale}}` déclenche la génération par locale.<br/>• Le `fill` au niveau du dictionnaire a toujours la priorité sur cette configuration globale. |
895
+ | `description` | Aide à comprendre l'objectif du dictionnaire dans l'éditeur et le CMS. Également utilisé comme contexte pour la génération de traductions par IA. | `string` | `undefined` | `'User profile section'` | |
896
+ | `locale` | Transforme le dictionnaire en un format par locale. Chaque champ déclaré devient un nœud de traduction. Si absent, le dictionnaire est traité comme multilingue. | `LocalesValues` | `undefined` | `'en'` | Utilisez ceci lorsque le dictionnaire est spécifique à une seule locale plutôt que de contenir des traductions pour plusieurs locales. |
897
+ | `contentAutoTransformation` | Transforme automatiquement les chaînes de contenu en nœuds typés (markdown, HTML ou insertion). | `boolean` &#124; <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')`.<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')`.<br/>• Insertion : `Hello {{name}}` → `insert('Hello {{name}}')`. |
898
+ | `location` | Indique où les fichiers de dictionnaire sont stockés et leur mode de synchronisation avec le CMS. | `'local'` &#124; <br/> `'remote'` &#124; <br/> `'hybrid'` &#124; <br/> `'plugin'` &#124; <br/> `string` | `'local'` | `'hybrid'` | • `'local'` : géré localement uniquement.<br/>• `'remote'` : géré à distance uniquement (CMS).<br/>• `'hybrid'` : géré à la fois localement et à distance.<br/>• `'plugin'` ou chaîne personnalisée : géré par un plugin ou une source personnalisée. |
899
+ | `importMode` | Contrôle la manière dont les dictionnaires sont importés. | `'static'` &#124; <br/> `'dynamic'` &#124; <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: importé statiquement (remplace `useIntlayer` par `useDictionary`).<br/>• `'dynamic'`: importé dynamiquement via Suspense (remplace par `useDictionaryDynamic`).<br/>• `'fetch'`: récupéré via l'API live sync ; retombe sur `'dynamic'` en cas d'échec.<br/>• Repose sur les plugins `@intlayer/babel` et `@intlayer/swc`.<br/>• Les clés doivent être déclarées statiquement.<br/>• Ignoré si `optimize` est désactivé.<br/>• N'affecte pas `getIntlayer`, `getDictionary`, etc. |
900
+ | `format` | Le format de message par défaut pour tous les dictionnaires du projet. | `'intlayer'` &#124; <br/> `'icu'` &#124; <br/> `'i18next'` &#124; <br/> `'vue-i18n'` &#124; <br/> `'po'` | `'intlayer'` | `'icu'` | `'intlayer'`: Format intlayer natif.<br/>• `'icu'`: Format de message ICU.<br/>• `'i18next'`: Format i18next.<br/>• `'vue-i18n'`: Format Vue I18n.<br/>• `'po'`: Format GNU Gettext PO. |
901
+ | `priority` | Priorité du dictionnaire. Les valeurs les plus élevées l'emportent sur les plus basses lors de la résolution des conflits entre dictionnaires. | `number` | `undefined` | `1` | |
902
+ | `live` | Déprécié - utilisez plutôt `importMode: 'fetch'`. Indiquait si le contenu du dictionnaire était récupéré dynamiquement via l'API live sync. | `boolean` | `undefined` | | Renommé en `importMode: 'fetch'` dans la v8.0.0. |
903
+ | `schema` | Généré automatiquement par Intlayer pour la validation du schéma JSON. | `'https://intlayer.org/schema.json'` | auto-généré | | Ne pas modifier manuellement. |
904
+ | `title` | Aide à identifier le dictionnaire dans l'éditeur et le CMS. | `string` | `undefined` | `'User Profile'` | |
905
+ | `tags` | Catégorise les dictionnaires et fournit du contexte ou des instructions pour l'éditeur et l'IA. | `string[]` | `undefined` | `['user', 'profile']` | |
906
+ | `version` | Version du dictionnaire distant ; aide à suivre la version actuellement utilisée. | `string` | `undefined` | `'1.0.0'` | • Gérable sur le CMS.<br/>• Ne pas modifier localement. |
874
907
 
875
908
  **Exemple de `fill`** :
876
909
 
@@ -23,8 +23,209 @@ author: aymericzip
23
23
 
24
24
  ## Comment Fonctionne la Condition
25
25
 
26
- Dans Intlayer, le contenu conditionnel est réalisé via la fonction `cond`, qui associe des conditions spécifiques (généralement des valeurs booléennes) à leur contenu correspondant. Cette approche vous permet de sélectionner dynamiquement le contenu en fonction d'une condition donnée. Lorsqu'il est intégré à React Intlayer ou Next Intlayer, le contenu approprié est automatiquement choisi en fonction de la condition fournie au moment de l'exécution.
26
+ <Tabs group="framework">
27
+ <Tab label="React" value="react">
27
28
 
29
+ To utilize conditional content within a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This hook fetches the content for the specified key and allows you to pass in a condition to select the appropriate output.
30
+
31
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
32
+ import type { FC } from "react";
33
+ import { useIntlayer } from "react-intlayer";
34
+
35
+ const ConditionalComponent: FC = () => {
36
+ const { myCondition } = useIntlayer("my_key");
37
+
38
+ return (
39
+ <div>
40
+ <p>
41
+ {
42
+ /* Output: my content when it's true */
43
+ myCondition(true)
44
+ }
45
+ </p>
46
+ <p>
47
+ {
48
+ /* Output: my content when it's false */
49
+ myCondition(false)
50
+ }
51
+ </p>
52
+ <p>
53
+ {
54
+ /* Output: my content when the condition fails */
55
+ myCondition("")
56
+ }
57
+ </p>
58
+ <p>
59
+ {
60
+ /* Output: my content when the condition fails */
61
+ myCondition(undefined)
62
+ }
63
+ </p>
64
+ </div>
65
+ );
66
+ };
67
+
68
+ export default ConditionalComponent;
69
+ ```
70
+
71
+ </Tab>
72
+ <Tab label="Next.js" value="nextjs">
73
+
74
+ To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
75
+
76
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
77
+ "use client";
78
+
79
+ import type { FC } from "react";
80
+ import { useIntlayer } from "next-intlayer";
81
+
82
+ const ConditionalComponent: FC = () => {
83
+ const { myCondition } = useIntlayer("my_key");
84
+
85
+ return (
86
+ <div>
87
+ <p>{myCondition(true)}</p>
88
+ <p>{myCondition(false)}</p>
89
+ </div>
90
+ );
91
+ };
92
+
93
+ export default ConditionalComponent;
94
+ ```
95
+
96
+ </Tab>
97
+ <Tab label="Vue" value="vue">
98
+
99
+ To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
100
+
101
+ ```vue fileName="**/*.vue"
102
+ <script setup lang="ts">
103
+ import { useIntlayer } from "vue-intlayer";
104
+
105
+ const { myCondition } = useIntlayer("my_key");
106
+ </script>
107
+
108
+ <template>
109
+ <div>
110
+ <p>{{ myCondition(true) }}</p>
111
+ <p>{{ myCondition(false) }}</p>
112
+ </div>
113
+ </template>
114
+ ```
115
+
116
+ </Tab>
117
+ <Tab label="Svelte" value="svelte">
118
+
119
+ To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
120
+
121
+ ```svelte fileName="**/*.svelte"
122
+ <script lang="ts">
123
+ import { useIntlayer } from "svelte-intlayer";
124
+
125
+ const content = useIntlayer("my_key");
126
+ </script>
127
+
128
+ <div>
129
+ <p>{$content.myCondition(true)}</p>
130
+ <p>{$content.myCondition(false)}</p>
131
+ </div>
132
+ ```
133
+
134
+ </Tab>
135
+ <Tab label="Preact" value="preact">
136
+
137
+ To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
138
+
139
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
140
+ import type { FC } from "preact";
141
+ import { useIntlayer } from "preact-intlayer";
142
+
143
+ const ConditionalComponent: FC = () => {
144
+ const { myCondition } = useIntlayer("my_key");
145
+
146
+ return (
147
+ <div>
148
+ <p>{myCondition(true)}</p>
149
+ <p>{myCondition(false)}</p>
150
+ </div>
151
+ );
152
+ };
153
+
154
+ export default ConditionalComponent;
155
+ ```
156
+
157
+ </Tab>
158
+ <Tab label="Solid" value="solid">
159
+
160
+ To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
161
+
162
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
163
+ import type { Component } from "solid-js";
164
+ import { useIntlayer } from "solid-intlayer";
165
+
166
+ const ConditionalComponent: Component = () => {
167
+ const { myCondition } = useIntlayer("my_key");
168
+
169
+ return (
170
+ <div>
171
+ <p>{myCondition(true)}</p>
172
+ <p>{myCondition(false)}</p>
173
+ </div>
174
+ );
175
+ };
176
+
177
+ export default ConditionalComponent;
178
+ ```
179
+
180
+ </Tab>
181
+ <Tab label="Angular" value="angular">
182
+
183
+ To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
184
+
185
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
186
+ import { Component } from "@angular/core";
187
+ import { useIntlayer } from "angular-intlayer";
188
+
189
+ @Component({
190
+ selector: "app-conditional",
191
+ template: `
192
+ <div>
193
+ <p>{{ content().myCondition(true) }}</p>
194
+ <p>{{ content().myCondition(false) }}</p>
195
+ </div>
196
+ `,
197
+ })
198
+ export class ConditionalComponent {
199
+ content = useIntlayer("my_key");
200
+ }
201
+ ```
202
+
203
+ </Tab>
204
+ <Tab label="Vanilla JS" value="vanilla">
205
+
206
+ To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
207
+
208
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
209
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
210
+
211
+ installIntlayer();
212
+
213
+ const content = useIntlayer("my_key").onChange((newContent) => {
214
+ document.getElementById("true-content")!.textContent =
215
+ newContent.myCondition(true);
216
+ document.getElementById("false-content")!.textContent =
217
+ newContent.myCondition(false);
218
+ });
219
+
220
+ // Initial render
221
+ document.getElementById("true-content")!.textContent =
222
+ content.myCondition(true);
223
+ document.getElementById("false-content")!.textContent =
224
+ content.myCondition(false);
225
+ ```
226
+
227
+ </Tab>
228
+ </Tabs>
28
229
  ## Configuration du Contenu Conditionnel
29
230
 
30
231
  Pour configurer le contenu conditionnel dans votre projet Intlayer, créez un module de contenu qui inclut vos définitions conditionnelles. Voici des exemples dans différents formats.
@@ -67,7 +268,10 @@ export default myConditionalContent;
67
268
 
68
269
  ## Utilisation du Contenu Conditionnel avec React Intlayer
69
270
 
70
- Pour utiliser le contenu conditionnel dans un composant React, importez et utilisez le hook `useIntlayer` du package `react-intlayer`. Ce hook récupère le contenu pour la clé spécifiée et vous permet de passer une condition pour sélectionner la sortie appropriée.
271
+ <Tabs group="framework">
272
+ <Tab label="React" value="react">
273
+
274
+ To utilize conditional content within a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This hook fetches the content for the specified key and allows you to pass in a condition to select the appropriate output.
71
275
 
72
276
  ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
73
277
  import type { FC } from "react";
@@ -80,25 +284,25 @@ const ConditionalComponent: FC = () => {
80
284
  <div>
81
285
  <p>
82
286
  {
83
- /* Sortie : mon contenu lorsque c'est vrai */
287
+ /* Output: my content when it's true */
84
288
  myCondition(true)
85
289
  }
86
290
  </p>
87
291
  <p>
88
292
  {
89
- /* Sortie : mon contenu lorsque c'est faux */
293
+ /* Output: my content when it's false */
90
294
  myCondition(false)
91
295
  }
92
296
  </p>
93
297
  <p>
94
298
  {
95
- /* Sortie : mon contenu lorsque la condition échoue */
299
+ /* Output: my content when the condition fails */
96
300
  myCondition("")
97
301
  }
98
302
  </p>
99
303
  <p>
100
304
  {
101
- /* Sortie : mon contenu lorsque la condition échoue */
305
+ /* Output: my content when the condition fails */
102
306
  myCondition(undefined)
103
307
  }
104
308
  </p>
@@ -109,6 +313,165 @@ const ConditionalComponent: FC = () => {
109
313
  export default ConditionalComponent;
110
314
  ```
111
315
 
316
+ </Tab>
317
+ <Tab label="Next.js" value="nextjs">
318
+
319
+ To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
320
+
321
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
322
+ "use client";
323
+
324
+ import type { FC } from "react";
325
+ import { useIntlayer } from "next-intlayer";
326
+
327
+ const ConditionalComponent: FC = () => {
328
+ const { myCondition } = useIntlayer("my_key");
329
+
330
+ return (
331
+ <div>
332
+ <p>{myCondition(true)}</p>
333
+ <p>{myCondition(false)}</p>
334
+ </div>
335
+ );
336
+ };
337
+
338
+ export default ConditionalComponent;
339
+ ```
340
+
341
+ </Tab>
342
+ <Tab label="Vue" value="vue">
343
+
344
+ To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
345
+
346
+ ```vue fileName="**/*.vue"
347
+ <script setup lang="ts">
348
+ import { useIntlayer } from "vue-intlayer";
349
+
350
+ const { myCondition } = useIntlayer("my_key");
351
+ </script>
352
+
353
+ <template>
354
+ <div>
355
+ <p>{{ myCondition(true) }}</p>
356
+ <p>{{ myCondition(false) }}</p>
357
+ </div>
358
+ </template>
359
+ ```
360
+
361
+ </Tab>
362
+ <Tab label="Svelte" value="svelte">
363
+
364
+ To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
365
+
366
+ ```svelte fileName="**/*.svelte"
367
+ <script lang="ts">
368
+ import { useIntlayer } from "svelte-intlayer";
369
+
370
+ const content = useIntlayer("my_key");
371
+ </script>
372
+
373
+ <div>
374
+ <p>{$content.myCondition(true)}</p>
375
+ <p>{$content.myCondition(false)}</p>
376
+ </div>
377
+ ```
378
+
379
+ </Tab>
380
+ <Tab label="Preact" value="preact">
381
+
382
+ To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
383
+
384
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
385
+ import type { FC } from "preact";
386
+ import { useIntlayer } from "preact-intlayer";
387
+
388
+ const ConditionalComponent: FC = () => {
389
+ const { myCondition } = useIntlayer("my_key");
390
+
391
+ return (
392
+ <div>
393
+ <p>{myCondition(true)}</p>
394
+ <p>{myCondition(false)}</p>
395
+ </div>
396
+ );
397
+ };
398
+
399
+ export default ConditionalComponent;
400
+ ```
401
+
402
+ </Tab>
403
+ <Tab label="Solid" value="solid">
404
+
405
+ To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
406
+
407
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
408
+ import type { Component } from "solid-js";
409
+ import { useIntlayer } from "solid-intlayer";
410
+
411
+ const ConditionalComponent: Component = () => {
412
+ const { myCondition } = useIntlayer("my_key");
413
+
414
+ return (
415
+ <div>
416
+ <p>{myCondition(true)}</p>
417
+ <p>{myCondition(false)}</p>
418
+ </div>
419
+ );
420
+ };
421
+
422
+ export default ConditionalComponent;
423
+ ```
424
+
425
+ </Tab>
426
+ <Tab label="Angular" value="angular">
427
+
428
+ To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
429
+
430
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
431
+ import { Component } from "@angular/core";
432
+ import { useIntlayer } from "angular-intlayer";
433
+
434
+ @Component({
435
+ selector: "app-conditional",
436
+ template: `
437
+ <div>
438
+ <p>{{ content().myCondition(true) }}</p>
439
+ <p>{{ content().myCondition(false) }}</p>
440
+ </div>
441
+ `,
442
+ })
443
+ export class ConditionalComponent {
444
+ content = useIntlayer("my_key");
445
+ }
446
+ ```
447
+
448
+ </Tab>
449
+ <Tab label="Vanilla JS" value="vanilla">
450
+
451
+ To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
452
+
453
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
454
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
455
+
456
+ installIntlayer();
457
+
458
+ const content = useIntlayer("my_key").onChange((newContent) => {
459
+ document.getElementById("true-content")!.textContent =
460
+ newContent.myCondition(true);
461
+ document.getElementById("false-content")!.textContent =
462
+ newContent.myCondition(false);
463
+ });
464
+
465
+ // Initial render
466
+ document.getElementById("true-content")!.textContent =
467
+ content.myCondition(true);
468
+ document.getElementById("false-content")!.textContent =
469
+ content.myCondition(false);
470
+ ```
471
+
472
+ </Tab>
473
+ </Tabs>
474
+
112
475
  ## Ressources Supplémentaires
113
476
 
114
477
  Pour plus d'informations détaillées sur la configuration et l'utilisation, consultez les ressources suivantes :