@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: Intlayer v8 Baru - Apa yang Baru?
5
5
  description: Temukan apa yang baru di Intlayer v8. Peningkatan besar pada pengalaman pengembang, validasi konten, dan pengelolaan kamus.
6
6
  keywords:
@@ -405,7 +405,17 @@ Kami telah memperkenalkan fungsi renderer dan komponen mandiri baru untuk member
405
405
  </Tab>
406
406
  </Tabs>
407
407
 
408
- Untuk detail lebih lanjut, lihat [Dokumentasi Konten HTML](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/dictionary/html.md) dan [Dokumentasi Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/dictionary/markdown.md).
408
+ Untuk detail lebih lanjut, lihat [Dokumentasi Konten HTML](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/dictionary/html.md) and [Dokumentasi Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/dictionary/markdown.md).
409
+
410
+ ---
411
+
412
+ ## File Konten YAML & Markdown (v8.10.0)
413
+
414
+ Anda sekarang dapat mendeklarasikan konten secara langsung menggunakan ekstensi file `.content.md` dan `.content.yaml`. Ini sangat cocok untuk konten panjang, blog, dokumentasi, dan kebijakan privasi.
415
+
416
+ File-file ini sepenuhnya dapat diedit dari Visual Editor, menyediakan alur kerja yang efisien untuk anggota tim non-teknis.
417
+
418
+ Untuk detail lebih lanjut, lihat [Dokumentasi File Konten YAML](https://intlayer.org/doc/concept/content#yaml-content-file) dan [Dokumentasi File Konten Markdown](https://intlayer.org/doc/concept/content/markdown).
409
419
 
410
420
  ---
411
421
 
@@ -753,6 +763,61 @@ export default {
753
763
  </Tab>
754
764
  </Tabs>
755
765
 
766
+ ## Aturan Jamak Unicode CLDR (v8.8.0)
767
+
768
+ Helper node `plural` baru telah diperkenalkan berdasarkan aturan jamak yang didefinisikan oleh Unicode CLDR Project, meningkatkan dukungan untuk bahasa yang kompleks.
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
+ id: plural({
778
+ other: "{{count}} lowongan",
779
+ }),
780
+ en: plural({
781
+ one: "{{count}} opening",
782
+ other: "{{count}} openings",
783
+ }),
784
+ fr: plural({
785
+ one: "{{count}} offre",
786
+ other: "{{count}} offres",
787
+ }),
788
+ }),
789
+ },
790
+ } satisfies Dictionary;
791
+
792
+ export default openingsContent;
793
+ ```
794
+
795
+ Anda kemudian dapat meneruskan jumlah (count) secara dinamis dalam komponen framework Anda:
796
+
797
+ ```tsx
798
+ import type { FC } from "react";
799
+ import { useIntlayer } from "react-intlayer";
800
+
801
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
802
+ const { totalOpenings } = useIntlayer("total_openings");
803
+
804
+ return (
805
+ <div>
806
+ {/* Dalam bahasa Inggris: */}
807
+ {/* count=0 → "0 openings" (other) */}
808
+ {/* count=1 → "1 opening" (one) */}
809
+ {/* count=2 → "2 openings" (other) */}
810
+ {/* count=21 → "21 openings" (other) */}
811
+ <p>{totalOpenings(count)}</p>
812
+ </div>
813
+ );
814
+ };
815
+ ```
816
+
817
+ Untuk informasi lebih lanjut, lihat [Dokumentasi Pluralisasi](https://intlayer.org/doc/concept/content/plural).
818
+
819
+ ---
820
+
756
821
  ## Validasi Skema Konten
757
822
 
758
823
  Intlayer v8 memperkenalkan validasi skema untuk dictionaries. Sekarang Anda dapat mendefinisikan skema validasi yang dapat digunakan ulang dalam konfigurasi Anda menggunakan Zod dan menerapkannya pada file konten Anda. Ini memastikan konten Anda selalu sesuai dengan struktur yang diharapkan, sehingga menangkap kesalahan saat proses build.
@@ -797,6 +862,34 @@ Jika konten tidak cocok dengan skema (mis. judul terlalu pendek), proses build a
797
862
 
798
863
  ---
799
864
 
865
+ ## TypeScript: Aksesor Primitif IntlayerNode
866
+
867
+ Tipe `IntlayerNode` telah diperbarui untuk memungkinkan pemanggilan metode JavaScript primitif secara langsung pada node konten. Ini memungkinkan Anda untuk berinteraksi dengan konten yang dilokalkan secara langsung seolah-olah itu adalah string, angka, boolean, atau array primitif standar.
868
+
869
+ Didukung di React, Preact, Solid, Svelte, Vue, dan Angular.
870
+
871
+ ### Contoh String
872
+
873
+ ```typescript
874
+ content.placeholder; // Mengembalikan IntlayerNode<string>
875
+ content.placeholder.value; // Mengembalikan string
876
+ content.placeholder.toString(); // Mengembalikan string
877
+ content.placeholder.toLowerCase(); // Mengembalikan string
878
+ String(content.placeholder); // Mengembalikan string
879
+ content.placeholder.toUpperCase(); // Mengembalikan string yang diubah menjadi huruf besar
880
+ content.placeholder.replace("a", "b"); // Mengembalikan string yang dimodifikasi
881
+ ```
882
+
883
+ ### Contoh Array
884
+
885
+ ```typescript
886
+ content.myArrayOfString // Mengembalikan IntlayerNode<Array<string>>
887
+ content.myArrayOfString.find(...) // Mengembalikan elemen
888
+ content.myArrayOfString.join(', ') // Mengembalikan string yang digabungkan
889
+ ```
890
+
891
+ ---
892
+
800
893
  ### Pendeteksian Konten Otomatis yang Ditingkatkan
801
894
 
802
895
  Di v8, Intlayer secara cerdas mendeteksi sintaks Markdown, tag HTML, dan penyisipan variabel dalam string konten Anda. Ini berarti Anda sering dapat menghilangkan fungsi pembantu seperti `md()`, `html()`, atau `insert()`.
@@ -1002,6 +1095,17 @@ Ekstensi Intlayer untuk VSCode menerima pembaruan besar di v8 untuk menyederhana
1002
1095
 
1003
1096
  ---
1004
1097
 
1098
+ ## Tooling: C++ Watcher & LSP Berbasis OXC (v8.12.0)
1099
+
1100
+ Intlayer v8.12.0 membawa peningkatan besar pada pengalaman pengembang:
1101
+
1102
+ - **Parcel Watcher**: Pemantau konten (content watcher) telah dimigrasikan dari `chokidar` ke `@parcel/watcher`, memanfaatkan pemantauan file C++ asli untuk memberikan pembaruan yang lebih cepat dan konsumsi memori yang jauh lebih rendah.
1103
+ - **Language Server Protocol (LSP) Baru**: LSP yang benar-benar baru kini telah tersedia. Dibangun dengan parsing berbasis OXC, ini membantu IDE dan agen AI Anda menghubungkan panggilan `useIntlayer('my-key')` secara mulus dengan file `.content` yang sesuai, dan sebaliknya.
1104
+
1105
+ Untuk detail lebih lanjut, lihat [Dokumentasi LSP](https://intlayer.org/doc/lsp).
1106
+
1107
+ ---
1108
+
1005
1109
  ## Optimisasi Kompiler
1006
1110
 
1007
1111
  Intlayer v8 menyertakan lapisan caching baru untuk compiler Markdown dan HTML. Ini memastikan bahwa string konten yang identik dengan konfigurasi yang sama hanya diparse sekali, secara signifikan mengurangi overhead selama re-render atau saat menggunakan konten yang sama di beberapa tempat.
@@ -1057,6 +1161,48 @@ Intlayer v8 menyertakan lapisan caching baru untuk compiler Markdown dan HTML. I
1057
1161
 
1058
1162
  ---
1059
1163
 
1164
+ ## Optimisasi Build Eksperimental: Minify & Purge (v8.7.0)
1165
+
1166
+ Intlayer v8.7.0 memperkenalkan fitur build eksperimental baru di `intlayer.config.ts` Anda yang dirancang untuk mengoptimalkan bundle produksi Anda:
1167
+
1168
+ - **Minifikasi Kamus (Dictionary Minification)**: Meminimalkan file kamus untuk memperkecil ukuran.
1169
+ - **Pembersihan Kunci yang Tidak Digunakan (Unused Key Purging)**: Memindai dan menghapus kunci terjemahan yang tidak digunakan dari kamus, mengubah nama kunci aktif menjadi karakter pendek (mis. `"products" -> "a"`, `"pricing" -> "b"`). Ini mengurangi ukuran bundle hingga 5%.
1170
+ - **Menonaktifkan Pemeriksaan TypeScript**: Mempercepat proses build dengan menonaktifkan typechecking TypeScript selama langkah kompilasi.
1171
+
1172
+ ```typescript fileName="intlayer.config.ts"
1173
+ import { Locales, type IntlayerConfig } from "intlayer";
1174
+
1175
+ const config: IntlayerConfig = {
1176
+ internationalization: {
1177
+ locales: [Locales.ENGLISH, Locales.FRENCH],
1178
+ defaultLocale: Locales.ENGLISH,
1179
+ },
1180
+ dictionary: {
1181
+ importMode: "dynamic",
1182
+ },
1183
+ build: {
1184
+ /**
1185
+ * Minifikasi kamus untuk mengurangi ukuran bundle.
1186
+ */
1187
+ minify: true,
1188
+
1189
+ /**
1190
+ * Bersihkan kunci yang tidak digunakan dalam kamus
1191
+ */
1192
+ purge: true,
1193
+
1194
+ /**
1195
+ * Menunjukkan apakah build harus memeriksa tipe TypeScript
1196
+ */
1197
+ checkTypes: false,
1198
+ },
1199
+ };
1200
+
1201
+ export default config;
1202
+ ```
1203
+
1204
+ ---
1205
+
1060
1206
  ## Fleksibilitas: Mode Impor Terpadu
1061
1207
 
1062
1208
  Properti boolean `live` telah usang (deprecated) digantikan oleh properti `importMode` yang lebih komprehensif. Ini memungkinkan definisi eksplisit tentang bagaimana dictionary harus dimuat: secara statis, dinamis, atau melalui sinkronisasi langsung.
@@ -1204,6 +1350,49 @@ Konten Markdown dan HTML di Svelte sekarang secara otomatis di-parse menjadi HTM
1204
1350
 
1205
1351
  ---
1206
1352
 
1353
+ ## Dukungan Angular: Vite Bundler (v8.11.0)
1354
+
1355
+ Untuk pengguna Angular, Intlayer sekarang secara native mendukung bundler Vite melalui plugin esbuild kustom baru, mempercepat waktu pengembangan dan build.
1356
+
1357
+ Untuk detail tentang konfigurasi, lihat [Dokumentasi Lingkungan Angular](https://intlayer.org/doc/environment/angular).
1358
+
1359
+ ---
1360
+
1361
+ ## Pembuatan Sitemap (v8.6.0)
1362
+
1363
+ Intlayer sekarang menghasilkan sitemap secara otomatis berdasarkan locale dan mode routing Anda. Ini sangat berguna untuk optimisasi SEO dalam arsitektur router seperti TanStack Router:
1364
+
1365
+ ```typescript fileName="src/routes/sitemap.xml.ts"
1366
+ import { createFileRoute } from "@tanstack/react-router";
1367
+ import { generateSitemap } from "intlayer";
1368
+
1369
+ const SITE_URL = (
1370
+ import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
1371
+ ).replace(/\/$/, "");
1372
+
1373
+ export const Route = createFileRoute("/sitemap.xml")({
1374
+ server: {
1375
+ handlers: {
1376
+ GET: async () => {
1377
+ const sitemap = generateSitemap(
1378
+ [
1379
+ { path: "/", changefreq: "daily", priority: 1.0 },
1380
+ { path: "/about", changefreq: "monthly", priority: 0.8 },
1381
+ ],
1382
+ { siteUrl: SITE_URL }
1383
+ );
1384
+
1385
+ return new Response(sitemap, {
1386
+ headers: { "Content-Type": "application/xml" },
1387
+ });
1388
+ },
1389
+ },
1390
+ },
1391
+ });
1392
+ ```
1393
+
1394
+ ---
1395
+
1207
1396
  ## Catatan migrasi dari v7
1208
1397
 
1209
1398
  ### Perubahan Konfigurasi
@@ -0,0 +1,232 @@
1
+ ---
2
+ createdAt: 2026-06-14
3
+ updatedAt: 2026-06-14
4
+ title: Intlayer v9 Baru - Apa yang baru?
5
+ description: Temukan apa yang baru di Intlayer v9. Memperkenalkan paket kompatibilitas drop-in untuk pustaka i18n populer dan dukungan untuk Collections, Variants, dan Dynamic Records.
6
+ keywords:
7
+ - Intlayer
8
+ - Kompatibilitas
9
+ - Migrasi
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
+ # Intlayer v9 Baru - Apa yang baru?
24
+
25
+ Selamat datang di Intlayer v9! Rilis besar ini menandai tonggak sejarah besar dalam menyederhanakan jalur migrasi ke Intlayer dengan **Compat Adapter Packages** untuk pustaka i18n utama (`react-i18next`, `next-intl`, `vue-i18n`, dll.) dan menambahkan dukungan untuk struktur konten yang kaya: **Collections**, **Variants**, dan **Dynamic Records**.
26
+
27
+ ## Daftar Isi
28
+
29
+ <TOC levels={[2]} maxDepth={1} />
30
+
31
+ ---
32
+
33
+ ## Compat Adapter Packages
34
+
35
+ Migrasi ke Intlayer dari pustaka i18n populer kini lebih mudah dari sebelumnya. Kami telah membuat lima paket kompatibilitas (compat packages) yang mengekspos **API publik yang persis sama** dengan pustaka i18n standar tetapi mendelegasikan semua pekerjaan penerjemahan ke Intlayer pada saat runtime.
36
+
37
+ ### Mengekspos API Publik yang Sama dengan Strict Typing
38
+
39
+ Dengan mengganti impor, Anda mendapatkan semua manfaat Intlayer (termasuk type safety pada saat compile-time terhadap dictionary Anda yang sebenarnya) dengan perubahan kode yang minimal:
40
+
41
+ - `@intlayer/i18next`
42
+ - `@intlayer/react-i18next`
43
+ - `@intlayer/next-intl`
44
+ - `@intlayer/next-i18next`
45
+ - `@intlayer/vue-i18n`
46
+
47
+ Sebagai contoh, cukup ubah:
48
+
49
+ ```ts
50
+ import { useTranslation } from "react-i18next";
51
+ ```
52
+
53
+ menjadi:
54
+
55
+ ```ts
56
+ import { useTranslation } from "@intlayer/react-i18next";
57
+ ```
58
+
59
+ Key Anda sekarang akan bertipe ketat (**strictly typed**) terhadap dictionary Intlayer Anda, menawarkan auto-completion dot-path lengkap di IDE Anda!
60
+
61
+ ### Plugin Alias Bundler (Vite, Next.js, Turbopack)
62
+
63
+ Untuk memungkinkan migrasi tanpa menulis ulang semua pernyataan impor Anda secara manual, setiap paket compat adapter menyertakan **plugin bundler kustom** (Vite atau Next.js) di bawah subpath `/plugin`.
64
+
65
+ Plugin ini secara otomatis menulis ulang impor yang ada (misalnya `react-i18next` atau `next-intl`) ke padanannya di `@intlayer/*` pada saat build time.
66
+
67
+ #### Contoh Next.js (Webpack / Turbopack)
68
+
69
+ Alih-alih `withIntlayer`, bungkus konfigurasi Next.js Anda dengan plugin kompatibilitas:
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
+ #### Contoh Vite (React, Vue, Solid, Svelte)
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
+ Semua compat adapter sekarang merutekan resolusi terjemahan melalui satu parser runtime yang sangat dioptimalkan: `@intlayer/core/messageFormat`.
96
+
97
+ - **Interpolate Message**: Menyelesaikan `{{var}}` standar (whitespace & dot-path), argumen berformat ICU (`{v, number, percent}` dll.), dan templat `{var}` polos.
98
+ - **Message Node Resolver**: Menyelesaikan node bersarang: `insert()`, `plural()` (aturan jamak CLDR), `enu()` (enumerasi), `gender()`, tag HTML, array, dan node fungsi yang dapat dipanggil (callable function nodes).
99
+ - **Tokenized Tag Parser**: Mendukung tag XML/HTML inline dan tag bernomor (misalnya, `<1>children</1>`) untuk mendukung rendering rich-text secara langsung (out of the box).
100
+
101
+ ---
102
+
103
+ ## Spesifikasi Fitur: Collections, Variants & Dynamic Records
104
+
105
+ Intlayer v9 berkembang melampaui objek key-value statis, memungkinkan dictionary untuk mendeklarasikan struktur tata letak dinamis yang sepenuhnya bertipe (fully typed) dari ujung ke ujung (end-to-end).
106
+
107
+ ### 1. Collections
108
+
109
+ Definisikan daftar item terurut yang dikelola CMS (misalnya FAQ, produk, atau daftar blog):
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({
119
+ id: "Apa itu Intlayer?",
120
+ en: "What is Intlayer?",
121
+ fr: "Qu'est-ce qu'Intlayer ?",
122
+ }),
123
+ answer: t({
124
+ id: "Sebuah toolkit i18n.",
125
+ en: "An i18n toolkit.",
126
+ fr: "Une boîte à outils i18n.",
127
+ }),
128
+ },
129
+ ],
130
+ } satisfies Dictionary;
131
+ ```
132
+
133
+ #### Penggunaan:
134
+
135
+ ```ts
136
+ // Ambil semua item
137
+ const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
138
+
139
+ // Ambil satu item berdasarkan indeks
140
+ const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
141
+ ```
142
+
143
+ ### 2. Variants
144
+
145
+ Sajikan pengujian A/B (A/B tests), header musiman, feature flags, atau landing page kustom:
146
+
147
+ ```ts fileName="hero.content.ts"
148
+ import { t, type Dictionary } from "intlayer";
149
+
150
+ export default {
151
+ key: "hero-banner",
152
+ variant: "default",
153
+ content: {
154
+ control: t({ id: "Selamat datang", en: "Welcome", fr: "Bienvenue" }),
155
+ black_friday: t({
156
+ id: "Belanja sekarang",
157
+ en: "Shop now",
158
+ fr: "Acheter maintenant",
159
+ }),
160
+ },
161
+ } satisfies Dictionary;
162
+ ```
163
+
164
+ #### Penggunaan:
165
+
166
+ ```ts
167
+ const banner = useIntlayer("hero-banner", { variant: "black_friday" });
168
+ ```
169
+
170
+ ### 3. Dynamic Records
171
+
172
+ Definisikan dictionary yang entrinya dimuat secara dinamis pada saat runtime melalui ID kueri:
173
+
174
+ ```ts fileName="product.content.ts"
175
+ import { t, type Dictionary } from "intlayer";
176
+
177
+ export default {
178
+ key: "product-copy",
179
+ meta: {
180
+ id: "prod_123",
181
+ category: "books",
182
+ },
183
+ content: {
184
+ title: t({ id: "Clean Code", en: "Clean Code", fr: "Code Propre" }),
185
+ },
186
+ } satisfies Dictionary;
187
+ ```
188
+
189
+ #### Penggunaan:
190
+
191
+ ```ts
192
+ // Memuat hanya item yang diminta secara dinamis (memerlukan Suspense)
193
+ const product = useIntlayer("product-copy", {
194
+ id: "prod_123",
195
+ category: "books",
196
+ });
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Dynamic Loading & Optimisasi Ukuran Bundle
202
+
203
+ Untuk menjaga ukuran bundle tetap sangat kecil, Intlayer v9 mendukung dynamic lazy loading.
204
+
205
+ Dalam konfigurasi Anda, atur `importMode` ke `'dynamic'` atau `'fetch'`:
206
+
207
+ ```ts fileName="intlayer.config.ts"
208
+ export default {
209
+ dictionary: {
210
+ importMode: "dynamic", // "static" | "dynamic" | "fetch"
211
+ },
212
+ };
213
+ ```
214
+
215
+ Pada saat build time, `@intlayer/swc` and `@intlayer/babel` memindai file Anda dan mengganti panggilan `useIntlayer` / `getIntlayer` dengan wrapper yang mendukung tree-shaking (`useDictionary` / `useDictionaryDynamic`). Hanya konten yang diperlukan untuk item koleksi, varian, atau locale terpilih yang dimuat, mencegah bundle produksi Anda berisi terjemahan yang tidak digunakan.
216
+
217
+ ---
218
+
219
+ ## Catatan migrasi dari v8
220
+
221
+ Jika Anda memperbarui dari v8, perhatikan bahwa v9 tidak menyertakan breaking changes (perubahan yang merusak). Namun berikut adalah perubahan utamanya:
222
+
223
+ - **Locales & Dialects**: Jika menggunakan dependensi i18n eksternal, tambahkan plugin compat adapter masing-masing dalam konfigurasi atau pengaturan bundler Anda untuk menulis ulang impor secara otomatis.
224
+ - **Custom Selectors**: Saat memanggil `useIntlayer`, parameter kedua sekarang dicadangkan untuk objek opsi yang berisi `{ locale, item, variant, id }`. Jika sebelumnya Anda meneruskan string locale secara langsung, Anda masih dapat melakukannya, tetapi menggunakan objek opsi sangat direkomendasikan untuk pemilihan tingkat lanjut.
225
+
226
+ ---
227
+
228
+ ## Tautan berguna
229
+
230
+ - [Panduan Compat Adapter Packages](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/compat/index.md)
231
+ - [Dynamic Dictionaries - Collections, Variants & Dynamic Records](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/dynamic_dictionaries/index.md)
232
+ - [Referensi Konfigurasi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/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: Revisione Documento
5
5
  description: Scopri come revisionare i file di documentazione per qualità, coerenza e completezza tra diverse localizzazioni.
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: "Aggiunta opzione --log"
18
22
  author: aymericzip
19
23
  ---
20
24
 
@@ -55,8 +59,110 @@ Per la maggior parte dei casi d'uso,
55
59
 
56
60
  ## Argomenti:
57
61
 
58
- Il comando `doc review` accetta gli stessi argomenti di `doc translate`, permettendoti di revisionare file di documentazione specifici e applicare controlli di qualità.
62
+ **Opzioni lista file:**
59
63
 
60
- Se hai attivato una delle opzioni git, il comando revisionerà solo la parte dei file che viene modificata. Lo script processerà il file suddividendolo in chunk e revisionerà ogni chunk. Se non ci sono modifiche nel chunk, lo script lo salterà per velocizzare il processo di revisione e limitare il costo dell'API del provider AI.
64
+ - **`--doc-pattern [docPattern...]`**: Pattern glob per selezionare i file di documentazione da revisionare.
61
65
 
62
- Per un elenco completo degli argomenti, consulta la documentazione del comando [Translate Document](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/cli/doc-translate.md).
66
+ > Esempio: `npx intlayer doc review --doc-pattern "docs/**/*.md" "src/**/*.mdx"`
67
+
68
+ - **`--excluded-glob-pattern [excludedGlobPattern...]`**: Pattern glob da escludere dalla revisione.
69
+
70
+ > Esempio: `npx intlayer doc review --excluded-glob-pattern "docs/internal/**"`
71
+
72
+ - **`--skip-if-modified-before [skipIfModifiedBefore]`**: Salta il file se è stato modificato prima del tempo indicato.
73
+ - Può essere un tempo assoluto como "2025-12-05" (stringa o Date)
74
+ - Può essere un tempo relativo in ms `1 * 60 * 60 * 1000` (1 ora)
75
+ - Questa opzione controlla il tempo di aggiornamento del file usando il metodo `fs.stat`. Quindi potrebbe essere influenzata da Git o altri strumenti che modificano il file.
76
+
77
+ > Esempio: `npx intlayer doc review --skip-if-modified-before "2025-12-05"`
78
+
79
+ - **`--skip-if-modified-after [skipIfModifiedAfter]`**: Salta il file se è stato modificato entro il tempo indicato.
80
+ - Può essere un tempo assoluto como "2025-12-05" (stringa o Date)
81
+ - Può essere un tempo relativo in ms `1 * 60 * 60 * 1000` (1 ora)
82
+ - Cette opzione controlla il tempo di aggiornamento del file usando il metodo `fs.stat`. Quindi potrebbe essere influenzata da Git o altri strumenti che modificano il file.
83
+
84
+ > Esempio: `npx intlayer doc review --skip-if-modified-after "2025-12-05"`
85
+
86
+ - **`--skip-if-exists`**: Salta il file se esiste già.
87
+
88
+ > Esempio: `npx intlayer doc review --skip-if-exists`
89
+
90
+ **Opzioni di modalità di revisione:**
91
+
92
+ - **`--log`**: Modalità solo log. Non traduce con l'IA; registra invece i blocchi che richiedono attenzione (con numeri di riga e contenuto) per i locali base e target, per aiutare un altro agente a generare le traduzioni.
93
+
94
+ > Esempio: `npx intlayer doc review --log`
95
+
96
+ **Opzioni di output delle voci:**
97
+
98
+ - **`--locales [locales...]`**: Locales di destinazione per revisionare la documentazione.
99
+
100
+ > Esempio: `npx intlayer doc review --locales fr es de`
101
+
102
+ - **`--base-locale [baseLocale]`**: Locale sorgente (documento base) con cui confrontare.
103
+
104
+ > Esempio: `npx intlayer doc review --base-locale en`
105
+
106
+ **Opzioni di elaborazione dei file:**
107
+
108
+ - **`--nb-simultaneous-file-processed [nbSimultaneousFileProcessed]`**: Numero di file da processare simultaneamente per la revisione.
109
+
110
+ > Esempio: `npx intlayer doc review --nb-simultaneous-file-processed 5`
111
+
112
+ **Opzioni AI:**
113
+
114
+ - **`--model [model]`**: Il modello AI da utilizzare per la revisione (es. `gpt-3.5-turbo`).
115
+ - **`--provider [provider]`**: Il provider AI da utilizzare per la revisione.
116
+ - **`--temperature [temperature]`**: Impostazione della temperatura per il modello AI.
117
+ - **`--api-key [apiKey]`**: Fornisci la tua chiave API per il servizio AI.
118
+ - **`--application-context [applicationContext]`**: Fornisci un contesto aggiuntivo per la revisione AI.
119
+ - **`--data-serialization [dataSerialization]`**: Il formato di serializzazione dei dati da utilizzare per le funzionalità AI di Intlayer. Opzioni: `json` (standard, affidabile), `toon` (meno token, meno coerente).
120
+ - **`--custom-prompt [prompt]`**: Personalizza il prompt base utilizzato per la revisione. (Nota: per la maggior parte dei casi d'uso, si consiglia invece l'opzione `--custom-instructions` in quanto offre un controllo migliore.)
121
+
122
+ > Esempio: `npx intlayer doc review --model deepseek-chat --provider deepseek --temperature 0.5 --api-key sk-1234567890 --application-context "La mia applicazione è un negozio di gatti"`
123
+
124
+ **Opzioni variabili d'ambiente:**
125
+
126
+ - **`--env`**: Specifica l'ambiente (es. `development`, `production`).
127
+ - **`--env-file [envFile]`**: Fornisce un file ambiente personalizzato da cui caricare le variabili.
128
+ - **`--base-dir`**: Specifica la directory base per il progetto.
129
+ - **`--no-cache`**: Disabilita la cache.
130
+
131
+ > Esempio: `npx intlayer doc review --base-dir ./docs --env-file .env.production.local`
132
+
133
+ **Opzioni di log:**
134
+
135
+ - **`--verbose`**: Abilita il logging dettagliato per il debugging. (impostazione predefinita a true usando la CLI)
136
+
137
+ > Esempio: `npx intlayer doc review --verbose`
138
+
139
+ **Opzioni istruzioni personalizzate:**
140
+
141
+ - **`--custom-instructions [customInstructions]`**: Istruzioni personalizzate aggiunte al prompt. Utile per applicare regole specifiche riguardo al formato, alla traduzione degli URL, ecc.
142
+
143
+ > Esempio: `npx intlayer doc review --custom-instructions "Evita di tradurre gli URL e mantieni il formato markdown"`
144
+
145
+ > Esempio: `npx intlayer doc review --custom-instructions "$(cat ./instructions.md)"`
146
+
147
+ **Opzioni Git:**
148
+
149
+ - **`--git-diff`**: Esegui solo sui file che includono modifiche dalla base (predefinita `origin/main`) al branch corrente (predefinito: `HEAD`).
150
+ - **`--git-diff-base`**: Specifica il riferimento base per il git diff (predefinito `origin/main`).
151
+ - **`--git-diff-current`**: Specifica il riferimento corrente per il git diff (predefinito `HEAD`).
152
+ - **`--uncommitted`**: Includi le modifiche non committate.
153
+ - **`--unpushed`**: Includi le modifiche non pushate.
154
+ - **`--untracked`**: Includi i file non tracciati.
155
+
156
+ > Esempio: `npx intlayer doc review --git-diff --git-diff-base origin/main --git-diff-current HEAD`
157
+
158
+ > Esempio: `npx intlayer doc review --uncommitted --unpushed --untracked`
159
+
160
+ > Nota che il percorso del file di output sarà determinato sostituendo i seguenti pattern:
161
+ >
162
+ > - `/{{baseLocale}}/` con `/{{locale}}/` (Unix)
163
+ > - `\{{baseLocale}}\` con `\{{locale}}\` (Windows)
164
+ > - `_{{baseLocale}}.` con `_{{locale}}.`
165
+ > - `{{baseLocale}}_` con `{{locale}}_`
166
+ > - `.{{baseLocaleName}}.` con `.{{localeName}}.`
167
+ >
168
+ > Se il pattern non viene trovato, il file di output aggiungerà `.{{locale}}` all'estensione del file. `./my/file.md` sarà revisionato e aggiornato in `./my/file.fr.md` per la localizzazione francese.
@@ -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: "Aggiunto comando scan"
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: "Aggiunto comando scan"
24
24
  author: aymericzip