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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) 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/plugins/sync-json.md +222 -49
  24. package/docs/ar/releases/v8.md +187 -1
  25. package/docs/ar/releases/v9.md +232 -0
  26. package/docs/bn/cli/index.md +1 -1
  27. package/docs/bn/cli/scan.md +1 -1
  28. package/docs/bn/configuration.md +36 -3
  29. package/docs/cs/cli/index.md +1 -1
  30. package/docs/cs/cli/scan.md +1 -1
  31. package/docs/cs/configuration.md +35 -2
  32. package/docs/de/cli/doc-review.md +110 -4
  33. package/docs/de/cli/index.md +1 -1
  34. package/docs/de/cli/scan.md +1 -1
  35. package/docs/de/configuration.md +35 -2
  36. package/docs/de/dictionary/condition.md +167 -5
  37. package/docs/de/dictionary/enumeration.md +777 -7
  38. package/docs/de/dictionary/file.md +151 -1
  39. package/docs/de/dictionary/gender.md +168 -7
  40. package/docs/de/dictionary/nesting.md +173 -65
  41. package/docs/de/dictionary/plurial.md +347 -7
  42. package/docs/de/dictionary/translation.md +156 -2
  43. package/docs/de/dynamic_dictionaries/collections.md +1 -1
  44. package/docs/de/dynamic_dictionaries/dynamic_content.md +1 -1
  45. package/docs/de/dynamic_dictionaries/index.md +1 -1
  46. package/docs/de/dynamic_dictionaries/variants.md +1 -1
  47. package/docs/de/intlayer_with_vite+react.md +48 -48
  48. package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
  49. package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
  50. package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
  51. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  52. package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
  53. package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
  54. package/docs/de/plugins/sync-json.md +222 -49
  55. package/docs/de/releases/v8.md +197 -1
  56. package/docs/de/releases/v9.md +232 -0
  57. package/docs/en/CI_CD.md +7 -7
  58. package/docs/en/cli/ci.md +62 -8
  59. package/docs/en/cli/doc-review.md +110 -4
  60. package/docs/en/cli/index.md +1 -1
  61. package/docs/en/cli/scan.md +1 -1
  62. package/docs/en/compat/i18n-js.md +44 -0
  63. package/docs/en/compat/i18next.md +59 -0
  64. package/docs/en/compat/index.md +51 -0
  65. package/docs/en/compat/lingui.md +44 -0
  66. package/docs/en/compat/next-i18next.md +57 -0
  67. package/docs/en/compat/next-intl.md +59 -0
  68. package/docs/en/compat/next-translate.md +45 -0
  69. package/docs/en/compat/ngx-translate.md +45 -0
  70. package/docs/en/compat/nuxtjs-i18n.md +46 -0
  71. package/docs/en/compat/polyglot.md +45 -0
  72. package/docs/en/compat/react-i18next.md +58 -0
  73. package/docs/en/compat/react-intl.md +55 -0
  74. package/docs/en/compat/svelte-i18n.md +47 -0
  75. package/docs/en/compat/transloco.md +45 -0
  76. package/docs/en/compat/vue-i18n.md +58 -0
  77. package/docs/en/configuration.md +35 -2
  78. package/docs/en/dictionary/condition.md +163 -1
  79. package/docs/en/dictionary/enumeration.md +309 -7
  80. package/docs/en/dictionary/file.md +151 -1
  81. package/docs/en/dictionary/gender.md +162 -1
  82. package/docs/en/dictionary/nesting.md +173 -9
  83. package/docs/en/dictionary/plurial.md +155 -10
  84. package/docs/en/dictionary/translation.md +145 -52
  85. package/docs/en/dynamic_dictionaries/collections.md +1 -1
  86. package/docs/en/dynamic_dictionaries/dynamic_content.md +1 -1
  87. package/docs/en/dynamic_dictionaries/index.md +1 -1
  88. package/docs/en/dynamic_dictionaries/variants.md +1 -1
  89. package/docs/en/migration_from_i18next_to_intlayer.md +1 -1
  90. package/docs/en/migration_from_next-i18next_to_intlayer.md +1 -1
  91. package/docs/en/migration_from_next-intl_to_intlayer.md +1 -1
  92. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  93. package/docs/en/migration_from_react-i18next_to_intlayer.md +1 -1
  94. package/docs/en/migration_from_vue-i18n_to_intlayer.md +1 -1
  95. package/docs/en/plugins/sync-json.md +56 -2
  96. package/docs/en/releases/v8.md +187 -1
  97. package/docs/en/releases/v9.md +220 -0
  98. package/docs/en-GB/cli/doc-review.md +110 -4
  99. package/docs/en-GB/cli/index.md +1 -1
  100. package/docs/en-GB/cli/scan.md +1 -1
  101. package/docs/en-GB/configuration.md +35 -2
  102. package/docs/en-GB/dictionary/condition.md +364 -1
  103. package/docs/en-GB/dictionary/enumeration.md +577 -5
  104. package/docs/en-GB/dictionary/file.md +317 -1
  105. package/docs/en-GB/dictionary/gender.md +375 -2
  106. package/docs/en-GB/dictionary/nesting.md +368 -71
  107. package/docs/en-GB/dictionary/plurial.md +347 -7
  108. package/docs/en-GB/dictionary/translation.md +320 -32
  109. package/docs/en-GB/dynamic_dictionaries/collections.md +1 -1
  110. package/docs/en-GB/dynamic_dictionaries/dynamic_content.md +1 -1
  111. package/docs/en-GB/dynamic_dictionaries/index.md +1 -1
  112. package/docs/en-GB/dynamic_dictionaries/variants.md +1 -1
  113. package/docs/en-GB/plugins/sync-json.md +245 -13
  114. package/docs/en-GB/releases/v8.md +1 -1
  115. package/docs/en-GB/releases/v9.md +220 -0
  116. package/docs/es/cli/doc-review.md +110 -4
  117. package/docs/es/cli/index.md +1 -1
  118. package/docs/es/cli/scan.md +1 -1
  119. package/docs/es/configuration.md +36 -3
  120. package/docs/es/dictionary/condition.md +167 -5
  121. package/docs/es/dictionary/enumeration.md +537 -12
  122. package/docs/es/dictionary/file.md +151 -1
  123. package/docs/es/dictionary/gender.md +168 -7
  124. package/docs/es/dictionary/nesting.md +173 -65
  125. package/docs/es/dictionary/plurial.md +347 -7
  126. package/docs/es/dictionary/translation.md +156 -2
  127. package/docs/es/dynamic_dictionaries/collections.md +1 -1
  128. package/docs/es/dynamic_dictionaries/dynamic_content.md +1 -1
  129. package/docs/es/dynamic_dictionaries/index.md +1 -1
  130. package/docs/es/dynamic_dictionaries/variants.md +1 -1
  131. package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
  132. package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
  133. package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
  134. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  135. package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
  136. package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
  137. package/docs/es/plugins/sync-json.md +222 -49
  138. package/docs/es/releases/v8.md +187 -1
  139. package/docs/es/releases/v9.md +228 -0
  140. package/docs/fr/cli/doc-review.md +110 -4
  141. package/docs/fr/cli/index.md +1 -1
  142. package/docs/fr/cli/scan.md +1 -1
  143. package/docs/fr/configuration.md +49 -16
  144. package/docs/fr/dictionary/condition.md +369 -6
  145. package/docs/fr/dictionary/enumeration.md +540 -6
  146. package/docs/fr/dictionary/file.md +151 -1
  147. package/docs/fr/dictionary/gender.md +168 -7
  148. package/docs/fr/dictionary/nesting.md +357 -86
  149. package/docs/fr/dictionary/plurial.md +174 -5
  150. package/docs/fr/dictionary/translation.md +156 -2
  151. package/docs/fr/dynamic_dictionaries/collections.md +1 -1
  152. package/docs/fr/dynamic_dictionaries/dynamic_content.md +1 -1
  153. package/docs/fr/dynamic_dictionaries/index.md +1 -1
  154. package/docs/fr/dynamic_dictionaries/variants.md +1 -1
  155. package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
  156. package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
  157. package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
  158. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  159. package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
  160. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
  161. package/docs/fr/plugins/sync-json.md +244 -12
  162. package/docs/fr/releases/v8.md +187 -1
  163. package/docs/fr/releases/v9.md +220 -0
  164. package/docs/hi/cli/doc-review.md +110 -4
  165. package/docs/hi/cli/index.md +1 -1
  166. package/docs/hi/cli/scan.md +1 -1
  167. package/docs/hi/configuration.md +49 -16
  168. package/docs/hi/dictionary/condition.md +167 -5
  169. package/docs/hi/dictionary/enumeration.md +540 -6
  170. package/docs/hi/dictionary/file.md +151 -1
  171. package/docs/hi/dictionary/gender.md +168 -7
  172. package/docs/hi/dictionary/nesting.md +173 -65
  173. package/docs/hi/dictionary/plurial.md +174 -5
  174. package/docs/hi/dictionary/translation.md +155 -5
  175. package/docs/hi/dynamic_dictionaries/collections.md +1 -1
  176. package/docs/hi/dynamic_dictionaries/dynamic_content.md +1 -1
  177. package/docs/hi/dynamic_dictionaries/index.md +1 -1
  178. package/docs/hi/dynamic_dictionaries/variants.md +1 -1
  179. package/docs/hi/plugins/sync-json.md +221 -48
  180. package/docs/hi/releases/v8.md +188 -2
  181. package/docs/hi/releases/v9.md +232 -0
  182. package/docs/id/cli/doc-review.md +110 -4
  183. package/docs/id/cli/index.md +1 -1
  184. package/docs/id/cli/scan.md +1 -1
  185. package/docs/id/configuration.md +35 -2
  186. package/docs/id/dictionary/condition.md +167 -5
  187. package/docs/id/dictionary/enumeration.md +540 -6
  188. package/docs/id/dictionary/file.md +318 -2
  189. package/docs/id/dictionary/gender.md +381 -8
  190. package/docs/id/dictionary/nesting.md +357 -86
  191. package/docs/id/dictionary/plurial.md +174 -5
  192. package/docs/id/dictionary/translation.md +156 -2
  193. package/docs/id/dynamic_dictionaries/collections.md +1 -1
  194. package/docs/id/dynamic_dictionaries/dynamic_content.md +1 -1
  195. package/docs/id/dynamic_dictionaries/index.md +1 -1
  196. package/docs/id/dynamic_dictionaries/variants.md +1 -1
  197. package/docs/id/plugins/sync-json.md +222 -49
  198. package/docs/id/releases/v8.md +191 -2
  199. package/docs/id/releases/v9.md +232 -0
  200. package/docs/it/cli/doc-review.md +110 -4
  201. package/docs/it/cli/index.md +1 -1
  202. package/docs/it/cli/scan.md +1 -1
  203. package/docs/it/configuration.md +49 -16
  204. package/docs/it/dictionary/condition.md +167 -5
  205. package/docs/it/dictionary/enumeration.md +540 -6
  206. package/docs/it/dictionary/file.md +318 -2
  207. package/docs/it/dictionary/gender.md +168 -7
  208. package/docs/it/dictionary/nesting.md +173 -65
  209. package/docs/it/dictionary/plurial.md +347 -7
  210. package/docs/it/dictionary/translation.md +156 -2
  211. package/docs/it/dynamic_dictionaries/collections.md +1 -1
  212. package/docs/it/dynamic_dictionaries/dynamic_content.md +1 -1
  213. package/docs/it/dynamic_dictionaries/index.md +1 -1
  214. package/docs/it/dynamic_dictionaries/variants.md +1 -1
  215. package/docs/it/intlayer_with_vite+react.md +0 -48
  216. package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
  217. package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
  218. package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
  219. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  220. package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
  221. package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
  222. package/docs/it/plugins/sync-json.md +224 -51
  223. package/docs/it/releases/v8.md +200 -2
  224. package/docs/it/releases/v9.md +232 -0
  225. package/docs/ja/cli/doc-review.md +110 -4
  226. package/docs/ja/cli/index.md +1 -1
  227. package/docs/ja/cli/scan.md +1 -1
  228. package/docs/ja/configuration.md +50 -17
  229. package/docs/ja/dictionary/condition.md +167 -5
  230. package/docs/ja/dictionary/enumeration.md +540 -6
  231. package/docs/ja/dictionary/file.md +151 -1
  232. package/docs/ja/dictionary/gender.md +168 -7
  233. package/docs/ja/dictionary/nesting.md +173 -65
  234. package/docs/ja/dictionary/plurial.md +174 -5
  235. package/docs/ja/dictionary/translation.md +169 -8
  236. package/docs/ja/dynamic_dictionaries/collections.md +1 -1
  237. package/docs/ja/dynamic_dictionaries/dynamic_content.md +1 -1
  238. package/docs/ja/dynamic_dictionaries/index.md +1 -1
  239. package/docs/ja/dynamic_dictionaries/variants.md +1 -1
  240. package/docs/ja/intlayer_with_vite+react.md +290 -0
  241. package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
  242. package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
  243. package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
  244. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  245. package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
  246. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
  247. package/docs/ja/plugins/sync-json.md +222 -49
  248. package/docs/ja/releases/v8.md +193 -4
  249. package/docs/ja/releases/v9.md +232 -0
  250. package/docs/ko/cli/doc-review.md +110 -4
  251. package/docs/ko/cli/index.md +1 -1
  252. package/docs/ko/cli/scan.md +1 -1
  253. package/docs/ko/configuration.md +49 -16
  254. package/docs/ko/dictionary/condition.md +167 -5
  255. package/docs/ko/dictionary/enumeration.md +540 -6
  256. package/docs/ko/dictionary/file.md +151 -1
  257. package/docs/ko/dictionary/gender.md +168 -7
  258. package/docs/ko/dictionary/nesting.md +173 -65
  259. package/docs/ko/dictionary/plurial.md +174 -5
  260. package/docs/ko/dictionary/translation.md +169 -8
  261. package/docs/ko/dynamic_dictionaries/collections.md +1 -1
  262. package/docs/ko/dynamic_dictionaries/dynamic_content.md +1 -1
  263. package/docs/ko/dynamic_dictionaries/index.md +1 -1
  264. package/docs/ko/dynamic_dictionaries/variants.md +1 -1
  265. package/docs/ko/intlayer_with_vite+react.md +48 -490
  266. package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
  267. package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
  268. package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
  269. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  270. package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
  271. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
  272. package/docs/ko/plugins/sync-json.md +223 -50
  273. package/docs/ko/releases/v8.md +192 -1
  274. package/docs/ko/releases/v9.md +232 -0
  275. package/docs/nl/cli/index.md +1 -1
  276. package/docs/nl/cli/scan.md +1 -1
  277. package/docs/nl/configuration.md +36 -3
  278. package/docs/pl/cli/doc-review.md +110 -4
  279. package/docs/pl/cli/index.md +1 -1
  280. package/docs/pl/cli/scan.md +1 -1
  281. package/docs/pl/configuration.md +35 -2
  282. package/docs/pl/dictionary/condition.md +167 -5
  283. package/docs/pl/dictionary/enumeration.md +540 -6
  284. package/docs/pl/dictionary/file.md +318 -2
  285. package/docs/pl/dictionary/gender.md +168 -7
  286. package/docs/pl/dictionary/nesting.md +173 -65
  287. package/docs/pl/dictionary/plurial.md +174 -5
  288. package/docs/pl/dictionary/translation.md +156 -2
  289. package/docs/pl/dynamic_dictionaries/collections.md +1 -1
  290. package/docs/pl/dynamic_dictionaries/dynamic_content.md +1 -1
  291. package/docs/pl/dynamic_dictionaries/index.md +1 -1
  292. package/docs/pl/dynamic_dictionaries/variants.md +1 -1
  293. package/docs/pl/plugins/sync-json.md +246 -14
  294. package/docs/pl/releases/v8.md +188 -2
  295. package/docs/pl/releases/v9.md +232 -0
  296. package/docs/pt/cli/doc-review.md +110 -4
  297. package/docs/pt/cli/index.md +1 -1
  298. package/docs/pt/cli/scan.md +1 -1
  299. package/docs/pt/configuration.md +49 -16
  300. package/docs/pt/dictionary/condition.md +167 -5
  301. package/docs/pt/dictionary/enumeration.md +540 -6
  302. package/docs/pt/dictionary/file.md +151 -1
  303. package/docs/pt/dictionary/gender.md +168 -7
  304. package/docs/pt/dictionary/nesting.md +173 -65
  305. package/docs/pt/dictionary/plurial.md +347 -7
  306. package/docs/pt/dictionary/translation.md +156 -2
  307. package/docs/pt/dynamic_dictionaries/collections.md +1 -1
  308. package/docs/pt/dynamic_dictionaries/dynamic_content.md +1 -1
  309. package/docs/pt/dynamic_dictionaries/index.md +1 -1
  310. package/docs/pt/dynamic_dictionaries/variants.md +1 -1
  311. package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
  312. package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
  313. package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
  314. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  315. package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
  316. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
  317. package/docs/pt/plugins/sync-json.md +222 -49
  318. package/docs/pt/releases/v8.md +187 -1
  319. package/docs/pt/releases/v9.md +232 -0
  320. package/docs/ru/cli/doc-review.md +110 -4
  321. package/docs/ru/cli/index.md +1 -1
  322. package/docs/ru/cli/scan.md +1 -1
  323. package/docs/ru/configuration.md +35 -2
  324. package/docs/ru/dictionary/condition.md +366 -39
  325. package/docs/ru/dictionary/enumeration.md +777 -7
  326. package/docs/ru/dictionary/file.md +318 -2
  327. package/docs/ru/dictionary/gender.md +168 -7
  328. package/docs/ru/dictionary/nesting.md +368 -71
  329. package/docs/ru/dictionary/plurial.md +347 -7
  330. package/docs/ru/dictionary/translation.md +321 -33
  331. package/docs/ru/dynamic_dictionaries/collections.md +1 -1
  332. package/docs/ru/dynamic_dictionaries/dynamic_content.md +1 -1
  333. package/docs/ru/dynamic_dictionaries/index.md +1 -1
  334. package/docs/ru/dynamic_dictionaries/variants.md +1 -1
  335. package/docs/ru/intlayer_with_vite+react.md +48 -47
  336. package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
  337. package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
  338. package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
  339. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  340. package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
  341. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
  342. package/docs/ru/plugins/sync-json.md +269 -95
  343. package/docs/ru/releases/v8.md +194 -2
  344. package/docs/ru/releases/v9.md +232 -0
  345. package/docs/tr/cli/doc-review.md +110 -4
  346. package/docs/tr/cli/index.md +1 -1
  347. package/docs/tr/cli/scan.md +1 -1
  348. package/docs/tr/configuration.md +35 -2
  349. package/docs/tr/dictionary/condition.md +167 -5
  350. package/docs/tr/dictionary/enumeration.md +540 -6
  351. package/docs/tr/dictionary/file.md +151 -1
  352. package/docs/tr/dictionary/gender.md +168 -7
  353. package/docs/tr/dictionary/nesting.md +173 -65
  354. package/docs/tr/dictionary/plurial.md +174 -5
  355. package/docs/tr/dictionary/translation.md +156 -2
  356. package/docs/tr/dynamic_dictionaries/collections.md +1 -1
  357. package/docs/tr/dynamic_dictionaries/dynamic_content.md +1 -1
  358. package/docs/tr/dynamic_dictionaries/index.md +1 -1
  359. package/docs/tr/dynamic_dictionaries/variants.md +1 -1
  360. package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
  361. package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
  362. package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
  363. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  364. package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
  365. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
  366. package/docs/tr/plugins/sync-json.md +222 -50
  367. package/docs/tr/releases/v8.md +187 -1
  368. package/docs/tr/releases/v9.md +232 -0
  369. package/docs/uk/cli/doc-review.md +110 -4
  370. package/docs/uk/cli/index.md +1 -1
  371. package/docs/uk/cli/scan.md +1 -1
  372. package/docs/uk/configuration.md +35 -2
  373. package/docs/uk/dictionary/condition.md +167 -5
  374. package/docs/uk/dictionary/enumeration.md +540 -6
  375. package/docs/uk/dictionary/file.md +318 -2
  376. package/docs/uk/dictionary/gender.md +381 -8
  377. package/docs/uk/dictionary/nesting.md +173 -65
  378. package/docs/uk/dictionary/plurial.md +174 -5
  379. package/docs/uk/dictionary/translation.md +156 -2
  380. package/docs/uk/dynamic_dictionaries/collections.md +1 -1
  381. package/docs/uk/dynamic_dictionaries/dynamic_content.md +1 -1
  382. package/docs/uk/dynamic_dictionaries/index.md +1 -1
  383. package/docs/uk/dynamic_dictionaries/variants.md +1 -1
  384. package/docs/uk/plugins/sync-json.md +56 -2
  385. package/docs/uk/releases/v8.md +191 -3
  386. package/docs/uk/releases/v9.md +232 -0
  387. package/docs/ur/cli/index.md +1 -1
  388. package/docs/ur/cli/scan.md +1 -1
  389. package/docs/ur/configuration.md +36 -3
  390. package/docs/vi/cli/doc-review.md +110 -4
  391. package/docs/vi/cli/index.md +1 -1
  392. package/docs/vi/cli/scan.md +1 -1
  393. package/docs/vi/configuration.md +50 -17
  394. package/docs/vi/dictionary/condition.md +167 -5
  395. package/docs/vi/dictionary/enumeration.md +591 -14
  396. package/docs/vi/dictionary/file.md +318 -2
  397. package/docs/vi/dictionary/gender.md +168 -7
  398. package/docs/vi/dictionary/nesting.md +357 -86
  399. package/docs/vi/dictionary/plurial.md +174 -5
  400. package/docs/vi/dictionary/translation.md +156 -2
  401. package/docs/vi/dynamic_dictionaries/collections.md +1 -1
  402. package/docs/vi/dynamic_dictionaries/dynamic_content.md +1 -1
  403. package/docs/vi/dynamic_dictionaries/index.md +1 -1
  404. package/docs/vi/dynamic_dictionaries/variants.md +1 -1
  405. package/docs/vi/plugins/sync-json.md +230 -57
  406. package/docs/vi/releases/v8.md +190 -1
  407. package/docs/vi/releases/v9.md +232 -0
  408. package/docs/zh/cli/doc-review.md +110 -4
  409. package/docs/zh/cli/index.md +1 -1
  410. package/docs/zh/cli/scan.md +1 -1
  411. package/docs/zh/configuration.md +49 -16
  412. package/docs/zh/dictionary/condition.md +167 -5
  413. package/docs/zh/dictionary/enumeration.md +540 -6
  414. package/docs/zh/dictionary/file.md +151 -1
  415. package/docs/zh/dictionary/gender.md +168 -7
  416. package/docs/zh/dictionary/nesting.md +173 -65
  417. package/docs/zh/dictionary/plurial.md +174 -5
  418. package/docs/zh/dictionary/translation.md +169 -8
  419. package/docs/zh/dynamic_dictionaries/collections.md +1 -1
  420. package/docs/zh/dynamic_dictionaries/dynamic_content.md +1 -1
  421. package/docs/zh/dynamic_dictionaries/index.md +1 -1
  422. package/docs/zh/dynamic_dictionaries/variants.md +1 -1
  423. package/docs/zh/intlayer_with_vite+react.md +48 -288
  424. package/docs/zh/plugins/sync-json.md +223 -50
  425. package/docs/zh/releases/v8.md +1 -1
  426. package/docs/zh/releases/v9.md +220 -0
  427. package/package.json +7 -7
  428. package/src/generated/docs.entry.ts +320 -0
  429. package/dist/esm/_virtual/_rolldown/runtime.mjs +0 -8
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-22
3
- updatedAt: 2026-01-26
3
+ updatedAt: 2026-06-14
4
4
  title: New Intlayer v8 - What's new?
5
5
  description: Discover what's new in Intlayer v8. Major improvements in developer experience, content validation, and dictionary management.
6
6
  keywords:
@@ -409,6 +409,16 @@ For more details, see the [HTML Content Documentation](https://github.com/aymeri
409
409
 
410
410
  ---
411
411
 
412
+ ## YAML & Markdown Content Files (v8.10.0)
413
+
414
+ You can now declare content directly using the `.content.md` and `.content.yaml` file extensions. This is perfect for long-form content, blogs, documentation, and privacy policies.
415
+
416
+ These files are fully editable from the Visual Editor, providing a streamlined workflow for non-technical team members.
417
+
418
+ For more details, see the [YAML Content Files Documentation](https://intlayer.org/doc/concept/content#yaml-content-file) and [Markdown Content Files Documentation](https://intlayer.org/doc/concept/content/markdown).
419
+
420
+ ---
421
+
412
422
  ## Custom URL Rewrites
413
423
 
414
424
  Intlayer v8 introduces support for **Custom URL Rewrites**, allowing you to define locale-specific paths that differ from the standard `/locale/path` structure. This is a powerful feature for improving local SEO and providing a more natural user experience for non-English speakers.
@@ -753,6 +763,58 @@ export default {
753
763
  </Tab>
754
764
  </Tabs>
755
765
 
766
+ ## Unicode CLDR Plural Rules (v8.8.0)
767
+
768
+ A new `plural` node helper has been introduced based on the plural rules defined by the Unicode CLDR Project, improving support for complex languages.
769
+
770
+ ```typescript fileName="src/openings.content.ts"
771
+ import { plural, t, type Dictionary } from "intlayer";
772
+
773
+ const openingsContent = {
774
+ key: "total_openings",
775
+ content: {
776
+ totalOpenings: t({
777
+ en: plural({
778
+ one: "{{count}} opening",
779
+ other: "{{count}} openings",
780
+ }),
781
+ fr: plural({
782
+ one: "{{count}} offre",
783
+ other: "{{count}} offres",
784
+ }),
785
+ }),
786
+ },
787
+ } satisfies Dictionary;
788
+
789
+ export default openingsContent;
790
+ ```
791
+
792
+ You can then pass the count dynamically in your framework component:
793
+
794
+ ```tsx
795
+ import type { FC } from "react";
796
+ import { useIntlayer } from "react-intlayer";
797
+
798
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
799
+ const { totalOpenings } = useIntlayer("total_openings");
800
+
801
+ return (
802
+ <div>
803
+ {/* In English: */}
804
+ {/* count=0 → "0 openings" (other) */}
805
+ {/* count=1 → "1 opening" (one) */}
806
+ {/* count=2 → "2 openings" (other) */}
807
+ {/* count=21 → "21 openings" (other) */}
808
+ <p>{totalOpenings(count)}</p>
809
+ </div>
810
+ );
811
+ };
812
+ ```
813
+
814
+ For more information, see the [Pluralization Documentation](https://intlayer.org/doc/concept/content/plural).
815
+
816
+ ---
817
+
756
818
  ## Content Schema Validation
757
819
 
758
820
  Intlayer v8 introduces schema validation for dictionaries. You can now define reusable validation schemas in your configuration using Zod and apply them to your content files. This ensures your content always adheres to the expected structure, catching errors at build time.
@@ -797,6 +859,34 @@ If the content doesn't match the schema (e.g., title is too short), the build pr
797
859
 
798
860
  ---
799
861
 
862
+ ## TypeScript: IntlayerNode Primitive Accessors
863
+
864
+ The `IntlayerNode` type has been updated to allow calling primitive JavaScript methods directly on content nodes. This makes it possible to interact with your localized content directly as if it were a standard string, number, boolean, or array primitive.
865
+
866
+ Supported across React, Preact, Solid, Svelte, Vue, and Angular.
867
+
868
+ ### String Example
869
+
870
+ ```typescript
871
+ content.placeholder; // Returns IntlayerNode<string>
872
+ content.placeholder.value; // Returns string
873
+ content.placeholder.toString(); // Returns string
874
+ content.placeholder.toLowerCase(); // Returns string
875
+ String(content.placeholder); // Returns string
876
+ content.placeholder.toUpperCase(); // Returns uppercased string
877
+ content.placeholder.replace("a", "b"); // Returns modified string
878
+ ```
879
+
880
+ ### Array Example
881
+
882
+ ```typescript
883
+ content.myArrayOfString // Returns IntlayerNode<Array<string>>
884
+ content.myArrayOfString.find(...) // Returns element
885
+ content.myArrayOfString.join(', ') // Returns joined string
886
+ ```
887
+
888
+ ---
889
+
800
890
  ### Enhanced Automatic Content Detection
801
891
 
802
892
  In v8, Intlayer intelligently detects Markdown syntax, HTML tags, and variable insertions in your content strings. This means you can often omit helper functions like `md()`, `html()`, or `insert()`.
@@ -1002,6 +1092,17 @@ The Intlayer VSCode extension receives major updates in v8 to streamline your in
1002
1092
 
1003
1093
  ---
1004
1094
 
1095
+ ## Tooling: C++ Watcher & OXC-based LSP (v8.12.0)
1096
+
1097
+ Intlayer v8.12.0 brings major improvements to the developer experience:
1098
+
1099
+ - **Parcel Watcher**: The content watcher has been migrated from `chokidar` to `@parcel/watcher`, leveraging native C++ file watching to provide faster updates and significantly lower memory consumption.
1100
+ - **New Language Server Protocol (LSP)**: A brand new LSP is now available. Built with OXC-based parsing, it helps your IDE and AI agents seamlessly link `useIntlayer('my-key')` calls with their corresponding `.content` files, and vice versa.
1101
+
1102
+ For more details, see the [LSP Documentation](https://intlayer.org/doc/lsp).
1103
+
1104
+ ---
1105
+
1005
1106
  ## Compiler Optimizations
1006
1107
 
1007
1108
  Intlayer v8 includes a new caching layer for the Markdown and HTML compiler. This ensures that identical content strings with the same configuration are only parsed once, significantly reducing the overhead during re-renders or when using the same content in multiple places.
@@ -1057,6 +1158,48 @@ Intlayer v8 includes a new caching layer for the Markdown and HTML compiler. Thi
1057
1158
 
1058
1159
  ---
1059
1160
 
1161
+ ## Experimental Build Optimizations: Minify & Purge (v8.7.0)
1162
+
1163
+ Intlayer v8.7.0 introduces new experimental build features in your `intlayer.config.ts` designed to optimize your production bundle:
1164
+
1165
+ - **Dictionary Minification**: Minifies dictionary files to decrease size.
1166
+ - **Unused Key Purging**: Scans and removes unused translation keys from dictionaries, renaming active keys to short characters (e.g. `"products" -> "a"`, `"pricing" -> "b"`). This reduces bundle size by up to 5%.
1167
+ - **Disable TypeScript Checks**: Speed up builds by disabling TypeScript typechecking during the compilation step.
1168
+
1169
+ ```typescript fileName="intlayer.config.ts"
1170
+ import { Locales, type IntlayerConfig } from "intlayer";
1171
+
1172
+ const config: IntlayerConfig = {
1173
+ internationalization: {
1174
+ locales: [Locales.ENGLISH, Locales.FRENCH],
1175
+ defaultLocale: Locales.ENGLISH,
1176
+ },
1177
+ dictionary: {
1178
+ importMode: "dynamic",
1179
+ },
1180
+ build: {
1181
+ /**
1182
+ * Minify the dictionaries to reduce the bundle size.
1183
+ */
1184
+ minify: true,
1185
+
1186
+ /**
1187
+ * Purge the unused keys in dictionaries
1188
+ */
1189
+ purge: true,
1190
+
1191
+ /**
1192
+ * Indicates if the build should check TypeScript types
1193
+ */
1194
+ checkTypes: false,
1195
+ },
1196
+ };
1197
+
1198
+ export default config;
1199
+ ```
1200
+
1201
+ ---
1202
+
1060
1203
  ## Flexibility: Unified Import Mode
1061
1204
 
1062
1205
  The `live` boolean property has been deprecated in favor of a more comprehensive `importMode` property. This allows for explicit definition of how dictionaries should be loaded: statically, dynamically, or via live sync.
@@ -1204,6 +1347,49 @@ Markdown and HTML content in Svelte now automatically parse to HTML when stringi
1204
1347
 
1205
1348
  ---
1206
1349
 
1350
+ ## Angular Support: Vite Bundler (v8.11.0)
1351
+
1352
+ For Angular users, Intlayer now natively supports the Vite bundler through a new custom esbuild plugin, speeding up development and build times.
1353
+
1354
+ For details on configuration, see the [Angular Environment Documentation](https://intlayer.org/doc/environment/angular).
1355
+
1356
+ ---
1357
+
1358
+ ## Sitemap Generation (v8.6.0)
1359
+
1360
+ Intlayer now generates sitemaps automatically based on your locales and routing mode. This is particularly useful for SEO optimization in router architectures like TanStack Router:
1361
+
1362
+ ```typescript fileName="src/routes/sitemap.xml.ts"
1363
+ import { createFileRoute } from "@tanstack/react-router";
1364
+ import { generateSitemap } from "intlayer";
1365
+
1366
+ const SITE_URL = (
1367
+ import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
1368
+ ).replace(/\/$/, "");
1369
+
1370
+ export const Route = createFileRoute("/sitemap.xml")({
1371
+ server: {
1372
+ handlers: {
1373
+ GET: async () => {
1374
+ const sitemap = generateSitemap(
1375
+ [
1376
+ { path: "/", changefreq: "daily", priority: 1.0 },
1377
+ { path: "/about", changefreq: "monthly", priority: 0.8 },
1378
+ ],
1379
+ { siteUrl: SITE_URL }
1380
+ );
1381
+
1382
+ return new Response(sitemap, {
1383
+ headers: { "Content-Type": "application/xml" },
1384
+ });
1385
+ },
1386
+ },
1387
+ },
1388
+ });
1389
+ ```
1390
+
1391
+ ---
1392
+
1207
1393
  ## Migration notes from v7
1208
1394
 
1209
1395
  ### Configuration Changes
@@ -0,0 +1,220 @@
1
+ ---
2
+ createdAt: 2026-06-14
3
+ updatedAt: 2026-06-14
4
+ title: New Intlayer v9 - What's new?
5
+ description: Discover what's new in Intlayer v9. Introducing drop-in compatibility packages for popular i18n libraries and support for Collections, Variants, and Dynamic Records.
6
+ keywords:
7
+ - Intlayer
8
+ - Compatibility
9
+ - Migration
10
+ - Collections
11
+ - Variants
12
+ - Dynamic Records
13
+ - i18next
14
+ - next-intl
15
+ - vue-i18n
16
+ slugs:
17
+ - doc
18
+ - releases
19
+ - v9
20
+ author: aymericzip
21
+ ---
22
+
23
+ # New Intlayer v9 - What's new?
24
+
25
+ Welcome to Intlayer v9! This major release marks a huge milestone in simplifying the migration path to Intlayer with **Compat Adapter Packages** for major i18n libraries (`react-i18next`, `next-intl`, `vue-i18n`, etc.) and adds support for rich content structures: **Collections**, **Variants**, and **Dynamic Records**.
26
+
27
+ ## Table of contents
28
+
29
+ <TOC levels={[2]} maxDepth={1} />
30
+
31
+ ---
32
+
33
+ ## Compat Adapter Packages
34
+
35
+ Migrating to Intlayer from popular i18n libraries is now easier than ever. We have created five compat packages that expose the **exact same public APIs** as standard i18n libraries but delegate all translation work to Intlayer at runtime.
36
+
37
+ ### Expose Same Public API with Strict Typing
38
+
39
+ By replacing imports, you get all the benefits of Intlayer (including compile-time type safety against your actual dictionaries) with minimal code changes:
40
+
41
+ - `@intlayer/i18next`
42
+ - `@intlayer/react-i18next`
43
+ - `@intlayer/next-intl`
44
+ - `@intlayer/next-i18next`
45
+ - `@intlayer/vue-i18n`
46
+
47
+ For example, simply change:
48
+
49
+ ```ts
50
+ import { useTranslation } from "react-i18next";
51
+ ```
52
+
53
+ to:
54
+
55
+ ```ts
56
+ import { useTranslation } from "@intlayer/react-i18next";
57
+ ```
58
+
59
+ Your keys will now be **strictly typed** against your Intlayer dictionaries, offering full dot-path auto-completion in your IDE!
60
+
61
+ ### Bundler Alias Plugins (Vite, Next.js, Turbopack)
62
+
63
+ To allow migrating without rewriting all your import statements manually, each compat adapter package includes a **custom bundler plugin** (Vite or Next.js) under the `/plugin` subpath.
64
+
65
+ These plugins automatically rewrite existing imports (e.g. `react-i18next` or `next-intl`) to their `@intlayer/*` equivalents at build time.
66
+
67
+ #### Next.js (Webpack / Turbopack) Example
68
+
69
+ Instead of `withIntlayer`, wrap your Next.js configuration with the compat plugin:
70
+
71
+ ```ts fileName="next.config.ts"
72
+ import { createNextI18nPlugin } from "@intlayer/next-i18next/plugin";
73
+ import type { NextConfig } from "next";
74
+
75
+ const withIntlayer = createNextI18nPlugin();
76
+ const nextConfig: NextConfig = {};
77
+
78
+ export default withIntlayer(nextConfig);
79
+ ```
80
+
81
+ #### Vite (React, Vue, Solid, Svelte) Example
82
+
83
+ ```ts fileName="vite.config.ts"
84
+ import vueI18nVitePlugin from "@intlayer/vue-i18n/plugin";
85
+
86
+ export default defineConfig({
87
+ plugins: [vueI18nVitePlugin()],
88
+ });
89
+ ```
90
+
91
+ ---
92
+
93
+ ## Mutualized Runtime Resolver
94
+
95
+ All compat adapters now route translation resolution through a single, highly optimized runtime parser: `@intlayer/core/messageFormat`.
96
+
97
+ - **Interpolate Message**: Resolves standard `{{var}}` (whitespace & dot-paths), ICU formatted args (`{v, number, percent}` etc.), and bare `{var}` templates.
98
+ - **Message Node Resolver**: Resolves nested nodes: `insert()`, `plural()` (CLDR plural rules), `enu()` (enumeration), `gender()`, HTML tags, arrays, and callable function nodes.
99
+ - **Tokenized Tag Parser**: Supports inline XML/HTML tags and numbered tags (e.g., `<1>children</1>`) to power rich-text rendering out of the box.
100
+
101
+ ---
102
+
103
+ ## Feature Spec: Collections, Variants & Dynamic Records
104
+
105
+ Intlayer v9 expands beyond static key-value objects, allowing dictionaries to declare dynamic layout structures that are fully typed end-to-end.
106
+
107
+ ### 1. Collections
108
+
109
+ Define a CMS-managed list of ordered items (e.g. FAQs, products, or blog lists):
110
+
111
+ ```ts fileName="faq.content.ts"
112
+ import { t, type Dictionary } from "intlayer";
113
+
114
+ export default {
115
+ key: "faq",
116
+ content: [
117
+ {
118
+ question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
119
+ answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
120
+ },
121
+ ],
122
+ } satisfies Dictionary;
123
+ ```
124
+
125
+ #### Usage:
126
+
127
+ ```ts
128
+ // Fetch all items
129
+ const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
130
+
131
+ // Fetch single item by index
132
+ const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
133
+ ```
134
+
135
+ ### 2. Variants
136
+
137
+ Deliver A/B tests, seasonal headers, feature flags, or custom landing pages:
138
+
139
+ ```ts fileName="hero.content.ts"
140
+ import { t, type Dictionary } from "intlayer";
141
+
142
+ export default {
143
+ key: "hero-banner",
144
+ variant: "default",
145
+ content: {
146
+ control: t({ en: "Welcome", fr: "Bienvenue" }),
147
+ black_friday: t({ en: "Shop now", fr: "Acheter maintenant" }),
148
+ },
149
+ } satisfies Dictionary;
150
+ ```
151
+
152
+ #### Usage:
153
+
154
+ ```ts
155
+ const banner = useIntlayer("hero-banner", { variant: "black_friday" });
156
+ ```
157
+
158
+ ### 3. Dynamic Records
159
+
160
+ Define dictionaries whose entries are loaded dynamically at runtime via query IDs:
161
+
162
+ ```ts fileName="product.content.ts"
163
+ import { t, type Dictionary } from "intlayer";
164
+
165
+ export default {
166
+ key: "product-copy",
167
+ meta: {
168
+ id: "prod_123",
169
+ category: "books",
170
+ },
171
+ content: {
172
+ title: t({ en: "Clean Code", fr: "Code Propre" }),
173
+ },
174
+ } satisfies Dictionary;
175
+ ```
176
+
177
+ #### Usage:
178
+
179
+ ```ts
180
+ // Fetches only the requested item dynamically (requires Suspense)
181
+ const product = useIntlayer("product-copy", {
182
+ id: "prod_123",
183
+ category: "books",
184
+ });
185
+ ```
186
+
187
+ ---
188
+
189
+ ## Dynamic Loading & Bundle Size Optimizations
190
+
191
+ To keep bundles extremely small, Intlayer v9 supports dynamic lazy loading.
192
+
193
+ In your configuration, set `importMode` to `'dynamic'` or `'fetch'`:
194
+
195
+ ```ts fileName="intlayer.config.ts"
196
+ export default {
197
+ dictionary: {
198
+ importMode: "dynamic", // "static" | "dynamic" | "fetch"
199
+ },
200
+ };
201
+ ```
202
+
203
+ At build time, `@intlayer/swc` and `@intlayer/babel` scan your files and replace `useIntlayer` / `getIntlayer` calls with tree-shakeable wrappers (`useDictionary` / `useDictionaryDynamic`). Only the content required for the selected collection item, variant, or locale is loaded, preventing your production bundle from containing unused translations.
204
+
205
+ ---
206
+
207
+ ## Migration notes from v8
208
+
209
+ If you are upgrading from v8, note that the v9 does not include breaking changes. But here are the key changes:
210
+
211
+ - **Locales & Dialects**: If using external i18n dependencies, add their respective compat adapter plugins in your configuration or bundler setup to automatically rewrite imports.
212
+ - **Custom Selectors**: When calling `useIntlayer`, the second parameter is now reserved for an option object containing `{ locale, item, variant, id }`. If you previously passed a locale string directly, you can still do so, but using the options object is recommended for advanced selections.
213
+
214
+ ---
215
+
216
+ ## Useful links
217
+
218
+ - [Compat Adapter Packages Guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md)
219
+ - [Dynamic Dictionaries - Collections, Variants & Dynamic Records](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dynamic_dictionaries/index.md)
220
+ - [Configuration Reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-06-17
4
4
  title: Review Document
5
5
  description: Learn how to review documentation files for quality, consistency, and completeness across different locales.
6
6
  keywords:
@@ -15,6 +15,10 @@ slugs:
15
15
  - concept
16
16
  - cli
17
17
  - doc-review
18
+ history:
19
+ - version: 9.0.0
20
+ date: 2026-06-17
21
+ changes: "Add --log option"
18
22
  author: aymericzip
19
23
  ---
20
24
 
@@ -55,8 +59,110 @@ For most use cases,
55
59
 
56
60
  ## Arguments:
57
61
 
58
- The `doc review` command accepts the same arguments as `doc translate`, allowing you to review specific documentation files and apply quality checks.
62
+ **File list options:**
59
63
 
60
- If you have activated one of the git options, the command will only review the parts of the files that are being changed. The script will process by chunking the file and reviewing each chunk. If there are no changes in the chunk, the script will skip it to speed up the review process and limit the AI Provider API cost.
64
+ - **`--doc-pattern [docPattern...]`**: Glob patterns to match documentation files to review.
61
65
 
62
- For a complete list of arguments, see the [Translate Document](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/doc-translate.md) command documentation.
66
+ > Example: `npx intlayer doc review --doc-pattern "docs/**/*.md" "src/**/*.mdx"`
67
+
68
+ - **`--excluded-glob-pattern [excludedGlobPattern...]`**: Glob patterns to exclude from review.
69
+
70
+ > Example: `npx intlayer doc review --excluded-glob-pattern "docs/internal/**"`
71
+
72
+ - **`--skip-if-modified-before [skipIfModifiedBefore]`**: Skip the file if it has been modified before the specified time.
73
+ - Can be an absolute time such as "2025-12-05" (string or Date)
74
+ - Can be a relative time in ms `1 * 60 * 60 * 1000` (1 hour)
75
+ - This option checks the update time of the file using the `fs.stat` method. Therefore, it could be affected by Git or other tools that modify the file.
76
+
77
+ > Example: `npx intlayer doc review --skip-if-modified-before "2025-12-05"`
78
+
79
+ - **`--skip-if-modified-after [skipIfModifiedAfter]`**: Skip the file if it has been modified within the specified time.
80
+ - Can be an absolute time such as "2025-12-05" (string or Date)
81
+ - Can be a relative time in ms `1 * 60 * 60 * 1000` (1 hour)
82
+ - This option checks the update time of the file using the `fs.stat` method. Therefore, it could be affected by Git or other tools that modify the file.
83
+
84
+ > Example: `npx intlayer doc review --skip-if-modified-after "2025-12-05"`
85
+
86
+ - **`--skip-if-exists`**: Skip the file if it already exists.
87
+
88
+ > Example: `npx intlayer doc review --skip-if-exists`
89
+
90
+ **Review mode options:**
91
+
92
+ - **`--log`**: Log-only mode. Do not translate with AI; instead log the blocks that need attention (with line numbers and content) for the base and target locales, to help another agent generate the translations.
93
+
94
+ > Example: `npx intlayer doc review --log`
95
+
96
+ **Entry output options:**
97
+
98
+ - **`--locales [locales...]`**: Target locales to review documentation for.
99
+
100
+ > Example: `npx intlayer doc review --locales fr es de`
101
+
102
+ - **`--base-locale [baseLocale]`**: Source locale (base document) to compare with.
103
+
104
+ > Example: `npx intlayer doc review --base-locale en`
105
+
106
+ **File processing options:**
107
+
108
+ - **`--nb-simultaneous-file-processed [nbSimultaneousFileProcessed]`**: Number of files to process simultaneously for review.
109
+
110
+ > Example: `npx intlayer doc review --nb-simultaneous-file-processed 5`
111
+
112
+ **AI options:**
113
+
114
+ - **`--model [model]`**: The AI model to use for review (e.g., `gpt-3.5-turbo`).
115
+ - **`--provider [provider]`**: The AI provider to use for review.
116
+ - **`--temperature [temperature]`**: Temperature setting for the AI model.
117
+ - **`--api-key [apiKey]`**: Provide your own API key for the AI service.
118
+ - **`--application-context [applicationContext]`**: Provide additional context for the AI review.
119
+ - **`--data-serialization [dataSerialization]`**: The data serialization format to use for the AI features of Intlayer. Options: `json` (standard, reliable), `toon` (fewer tokens, less consistent).
120
+ - **`--custom-prompt [prompt]`**: Customise the base prompt used for review. (Note: For most use cases, the `--custom-instructions` option is recommended instead.)
121
+
122
+ > Example: `npx intlayer doc review --model deepseek-chat --provider deepseek --temperature 0.5 --api-key sk-1234567890 --application-context "My application is a cat store"`
123
+
124
+ **Environment variables options:**
125
+
126
+ - **`--env`**: Specify the environment (e.g., `development`, `production`).
127
+ - **`--env-file [envFile]`**: Provide a custom environment file to load variables from.
128
+ - **`--base-dir`**: Specify the base directory for the project.
129
+ - **`--no-cache`**: Disable the cache.
130
+
131
+ > Example: `npx intlayer doc review --base-dir ./docs --env-file .env.production.local`
132
+
133
+ **Log options:**
134
+
135
+ - **`--verbose`**: Enable verbose logging for debugging. (defaults to true when using CLI)
136
+
137
+ > Example: `npx intlayer doc review --verbose`
138
+
139
+ **Custom instructions options:**
140
+
141
+ - **`--custom-instructions [customInstructions]`**: Custom instructions added to the prompt. Useful for applying specific rules regarding formatting, URL translation, etc.
142
+
143
+ > Example: `npx intlayer doc review --custom-instructions "Avoid translating URLs, and keep the markdown format"`
144
+
145
+ > Example: `npx intlayer doc review --custom-instructions "$(cat ./instructions.md)"`
146
+
147
+ **Git options:**
148
+
149
+ - **`--git-diff`**: Only run on files that include changes from base (default `origin/main`) to current branch (default: `HEAD`).
150
+ - **`--git-diff-base`**: Specify the base reference for git diff (default `origin/main`).
151
+ - **`--git-diff-current`**: Specify the current reference for git diff (default: `HEAD`).
152
+ - **`--uncommitted`**: Include uncommitted changes.
153
+ - **`--unpushed`**: Include unpushed changes.
154
+ - **`--untracked`**: Include untracked files.
155
+
156
+ > Example: `npx intlayer doc review --git-diff --git-diff-base origin/main --git-diff-current HEAD`
157
+
158
+ > Example: `npx intlayer doc review --uncommitted --unpushed --untracked`
159
+
160
+ > Note that the output file path will be determined by replacing the following patterns:
161
+ >
162
+ > - `/{{baseLocale}}/` with `/{{locale}}/` (Unix)
163
+ > - `\{{baseLocale}}\` with `\{{locale}}\` (Windows)
164
+ > - `_{{baseLocale}}.` with `_{{locale}}.`
165
+ > - `{{baseLocale}}_` with `{{locale}}_`
166
+ > - `.{{baseLocaleName}}.` with `.{{localeName}}.`
167
+ >
168
+ > If the pattern is not found, the output file will add `.{{locale}}` to the file extension. For example, `./my/file.md` will be reviewed and updated to `./my/file.fr.md` for the French locale.
@@ -17,7 +17,7 @@ slugs:
17
17
  - concept
18
18
  - cli
19
19
  history:
20
- - version: 8.13.0
20
+ - version: 9.0.0
21
21
  date: 2026-06-11
22
22
  changes: "Added scan command"
23
23
  - version: 8.6.4
@@ -18,7 +18,7 @@ slugs:
18
18
  - cli
19
19
  - scan
20
20
  history:
21
- - version: 8.13.0
21
+ - version: 9.0.0
22
22
  date: 2026-06-11
23
23
  changes: "Added scan command"
24
24
  author: aymericzip