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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +320 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +320 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +16 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/cli/doc-review.md +110 -4
  8. package/docs/ar/cli/index.md +1 -1
  9. package/docs/ar/cli/scan.md +1 -1
  10. package/docs/ar/configuration.md +36 -3
  11. package/docs/ar/dictionary/condition.md +167 -5
  12. package/docs/ar/dictionary/enumeration.md +540 -6
  13. package/docs/ar/dictionary/file.md +151 -1
  14. package/docs/ar/dictionary/gender.md +168 -7
  15. package/docs/ar/dictionary/nesting.md +173 -65
  16. package/docs/ar/dictionary/plurial.md +174 -5
  17. package/docs/ar/dictionary/translation.md +156 -2
  18. package/docs/ar/dynamic_dictionaries/collections.md +1 -1
  19. package/docs/ar/dynamic_dictionaries/dynamic_content.md +1 -1
  20. package/docs/ar/dynamic_dictionaries/index.md +1 -1
  21. package/docs/ar/dynamic_dictionaries/variants.md +1 -1
  22. package/docs/ar/intlayer_with_vite+react.md +31 -31
  23. package/docs/ar/releases/v8.md +187 -1
  24. package/docs/ar/releases/v9.md +232 -0
  25. package/docs/bn/cli/index.md +1 -1
  26. package/docs/bn/cli/scan.md +1 -1
  27. package/docs/bn/configuration.md +36 -3
  28. package/docs/cs/cli/index.md +1 -1
  29. package/docs/cs/cli/scan.md +1 -1
  30. package/docs/cs/configuration.md +35 -2
  31. package/docs/de/cli/doc-review.md +110 -4
  32. package/docs/de/cli/index.md +1 -1
  33. package/docs/de/cli/scan.md +1 -1
  34. package/docs/de/configuration.md +35 -2
  35. package/docs/de/dictionary/condition.md +167 -5
  36. package/docs/de/dictionary/enumeration.md +777 -7
  37. package/docs/de/dictionary/file.md +151 -1
  38. package/docs/de/dictionary/gender.md +168 -7
  39. package/docs/de/dictionary/nesting.md +173 -65
  40. package/docs/de/dictionary/plurial.md +347 -7
  41. package/docs/de/dictionary/translation.md +156 -2
  42. package/docs/de/dynamic_dictionaries/collections.md +1 -1
  43. package/docs/de/dynamic_dictionaries/dynamic_content.md +1 -1
  44. package/docs/de/dynamic_dictionaries/index.md +1 -1
  45. package/docs/de/dynamic_dictionaries/variants.md +1 -1
  46. package/docs/de/intlayer_with_vite+react.md +48 -48
  47. package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
  48. package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
  49. package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
  50. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  51. package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
  52. package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
  53. package/docs/de/releases/v8.md +197 -1
  54. package/docs/de/releases/v9.md +232 -0
  55. package/docs/en/CI_CD.md +7 -7
  56. package/docs/en/cli/ci.md +62 -8
  57. package/docs/en/cli/doc-review.md +110 -4
  58. package/docs/en/cli/index.md +1 -1
  59. package/docs/en/cli/scan.md +1 -1
  60. package/docs/en/compat/i18n-js.md +44 -0
  61. package/docs/en/compat/i18next.md +59 -0
  62. package/docs/en/compat/index.md +51 -0
  63. package/docs/en/compat/lingui.md +44 -0
  64. package/docs/en/compat/next-i18next.md +57 -0
  65. package/docs/en/compat/next-intl.md +59 -0
  66. package/docs/en/compat/next-translate.md +45 -0
  67. package/docs/en/compat/ngx-translate.md +45 -0
  68. package/docs/en/compat/nuxtjs-i18n.md +46 -0
  69. package/docs/en/compat/polyglot.md +45 -0
  70. package/docs/en/compat/react-i18next.md +58 -0
  71. package/docs/en/compat/react-intl.md +55 -0
  72. package/docs/en/compat/svelte-i18n.md +47 -0
  73. package/docs/en/compat/transloco.md +45 -0
  74. package/docs/en/compat/vue-i18n.md +58 -0
  75. package/docs/en/configuration.md +35 -2
  76. package/docs/en/dictionary/condition.md +163 -1
  77. package/docs/en/dictionary/enumeration.md +309 -7
  78. package/docs/en/dictionary/file.md +151 -1
  79. package/docs/en/dictionary/gender.md +162 -1
  80. package/docs/en/dictionary/nesting.md +173 -9
  81. package/docs/en/dictionary/plurial.md +155 -10
  82. package/docs/en/dictionary/translation.md +145 -52
  83. package/docs/en/dynamic_dictionaries/collections.md +1 -1
  84. package/docs/en/dynamic_dictionaries/dynamic_content.md +1 -1
  85. package/docs/en/dynamic_dictionaries/index.md +1 -1
  86. package/docs/en/dynamic_dictionaries/variants.md +1 -1
  87. package/docs/en/migration_from_i18next_to_intlayer.md +1 -1
  88. package/docs/en/migration_from_next-i18next_to_intlayer.md +1 -1
  89. package/docs/en/migration_from_next-intl_to_intlayer.md +1 -1
  90. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  91. package/docs/en/migration_from_react-i18next_to_intlayer.md +1 -1
  92. package/docs/en/migration_from_vue-i18n_to_intlayer.md +1 -1
  93. package/docs/en/releases/v8.md +187 -1
  94. package/docs/en/releases/v9.md +220 -0
  95. package/docs/en-GB/cli/doc-review.md +110 -4
  96. package/docs/en-GB/cli/index.md +1 -1
  97. package/docs/en-GB/cli/scan.md +1 -1
  98. package/docs/en-GB/configuration.md +35 -2
  99. package/docs/en-GB/dictionary/condition.md +364 -1
  100. package/docs/en-GB/dictionary/enumeration.md +577 -5
  101. package/docs/en-GB/dictionary/file.md +317 -1
  102. package/docs/en-GB/dictionary/gender.md +375 -2
  103. package/docs/en-GB/dictionary/nesting.md +368 -71
  104. package/docs/en-GB/dictionary/plurial.md +347 -7
  105. package/docs/en-GB/dictionary/translation.md +320 -32
  106. package/docs/en-GB/dynamic_dictionaries/collections.md +1 -1
  107. package/docs/en-GB/dynamic_dictionaries/dynamic_content.md +1 -1
  108. package/docs/en-GB/dynamic_dictionaries/index.md +1 -1
  109. package/docs/en-GB/dynamic_dictionaries/variants.md +1 -1
  110. package/docs/en-GB/releases/v8.md +1 -1
  111. package/docs/en-GB/releases/v9.md +220 -0
  112. package/docs/es/cli/doc-review.md +110 -4
  113. package/docs/es/cli/index.md +1 -1
  114. package/docs/es/cli/scan.md +1 -1
  115. package/docs/es/configuration.md +36 -3
  116. package/docs/es/dictionary/condition.md +167 -5
  117. package/docs/es/dictionary/enumeration.md +537 -12
  118. package/docs/es/dictionary/file.md +151 -1
  119. package/docs/es/dictionary/gender.md +168 -7
  120. package/docs/es/dictionary/nesting.md +173 -65
  121. package/docs/es/dictionary/plurial.md +347 -7
  122. package/docs/es/dictionary/translation.md +156 -2
  123. package/docs/es/dynamic_dictionaries/collections.md +1 -1
  124. package/docs/es/dynamic_dictionaries/dynamic_content.md +1 -1
  125. package/docs/es/dynamic_dictionaries/index.md +1 -1
  126. package/docs/es/dynamic_dictionaries/variants.md +1 -1
  127. package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
  128. package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
  129. package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
  130. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  131. package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
  132. package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
  133. package/docs/es/releases/v8.md +187 -1
  134. package/docs/es/releases/v9.md +228 -0
  135. package/docs/fr/cli/doc-review.md +110 -4
  136. package/docs/fr/cli/index.md +1 -1
  137. package/docs/fr/cli/scan.md +1 -1
  138. package/docs/fr/configuration.md +49 -16
  139. package/docs/fr/dictionary/condition.md +369 -6
  140. package/docs/fr/dictionary/enumeration.md +540 -6
  141. package/docs/fr/dictionary/file.md +151 -1
  142. package/docs/fr/dictionary/gender.md +168 -7
  143. package/docs/fr/dictionary/nesting.md +357 -86
  144. package/docs/fr/dictionary/plurial.md +174 -5
  145. package/docs/fr/dictionary/translation.md +156 -2
  146. package/docs/fr/dynamic_dictionaries/collections.md +1 -1
  147. package/docs/fr/dynamic_dictionaries/dynamic_content.md +1 -1
  148. package/docs/fr/dynamic_dictionaries/index.md +1 -1
  149. package/docs/fr/dynamic_dictionaries/variants.md +1 -1
  150. package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
  151. package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
  152. package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
  153. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  154. package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
  155. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
  156. package/docs/fr/releases/v8.md +187 -1
  157. package/docs/fr/releases/v9.md +220 -0
  158. package/docs/hi/cli/doc-review.md +110 -4
  159. package/docs/hi/cli/index.md +1 -1
  160. package/docs/hi/cli/scan.md +1 -1
  161. package/docs/hi/configuration.md +49 -16
  162. package/docs/hi/dictionary/condition.md +167 -5
  163. package/docs/hi/dictionary/enumeration.md +540 -6
  164. package/docs/hi/dictionary/file.md +151 -1
  165. package/docs/hi/dictionary/gender.md +168 -7
  166. package/docs/hi/dictionary/nesting.md +173 -65
  167. package/docs/hi/dictionary/plurial.md +174 -5
  168. package/docs/hi/dictionary/translation.md +155 -5
  169. package/docs/hi/dynamic_dictionaries/collections.md +1 -1
  170. package/docs/hi/dynamic_dictionaries/dynamic_content.md +1 -1
  171. package/docs/hi/dynamic_dictionaries/index.md +1 -1
  172. package/docs/hi/dynamic_dictionaries/variants.md +1 -1
  173. package/docs/hi/releases/v8.md +188 -2
  174. package/docs/hi/releases/v9.md +232 -0
  175. package/docs/id/cli/doc-review.md +110 -4
  176. package/docs/id/cli/index.md +1 -1
  177. package/docs/id/cli/scan.md +1 -1
  178. package/docs/id/configuration.md +35 -2
  179. package/docs/id/dictionary/condition.md +167 -5
  180. package/docs/id/dictionary/enumeration.md +540 -6
  181. package/docs/id/dictionary/file.md +318 -2
  182. package/docs/id/dictionary/gender.md +381 -8
  183. package/docs/id/dictionary/nesting.md +357 -86
  184. package/docs/id/dictionary/plurial.md +174 -5
  185. package/docs/id/dictionary/translation.md +156 -2
  186. package/docs/id/dynamic_dictionaries/collections.md +1 -1
  187. package/docs/id/dynamic_dictionaries/dynamic_content.md +1 -1
  188. package/docs/id/dynamic_dictionaries/index.md +1 -1
  189. package/docs/id/dynamic_dictionaries/variants.md +1 -1
  190. package/docs/id/releases/v8.md +191 -2
  191. package/docs/id/releases/v9.md +232 -0
  192. package/docs/it/cli/doc-review.md +110 -4
  193. package/docs/it/cli/index.md +1 -1
  194. package/docs/it/cli/scan.md +1 -1
  195. package/docs/it/configuration.md +49 -16
  196. package/docs/it/dictionary/condition.md +167 -5
  197. package/docs/it/dictionary/enumeration.md +540 -6
  198. package/docs/it/dictionary/file.md +318 -2
  199. package/docs/it/dictionary/gender.md +168 -7
  200. package/docs/it/dictionary/nesting.md +173 -65
  201. package/docs/it/dictionary/plurial.md +347 -7
  202. package/docs/it/dictionary/translation.md +156 -2
  203. package/docs/it/dynamic_dictionaries/collections.md +1 -1
  204. package/docs/it/dynamic_dictionaries/dynamic_content.md +1 -1
  205. package/docs/it/dynamic_dictionaries/index.md +1 -1
  206. package/docs/it/dynamic_dictionaries/variants.md +1 -1
  207. package/docs/it/intlayer_with_vite+react.md +0 -48
  208. package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
  209. package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
  210. package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
  211. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  212. package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
  213. package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
  214. package/docs/it/releases/v8.md +200 -2
  215. package/docs/it/releases/v9.md +232 -0
  216. package/docs/ja/cli/doc-review.md +110 -4
  217. package/docs/ja/cli/index.md +1 -1
  218. package/docs/ja/cli/scan.md +1 -1
  219. package/docs/ja/configuration.md +50 -17
  220. package/docs/ja/dictionary/condition.md +167 -5
  221. package/docs/ja/dictionary/enumeration.md +540 -6
  222. package/docs/ja/dictionary/file.md +151 -1
  223. package/docs/ja/dictionary/gender.md +168 -7
  224. package/docs/ja/dictionary/nesting.md +173 -65
  225. package/docs/ja/dictionary/plurial.md +174 -5
  226. package/docs/ja/dictionary/translation.md +169 -8
  227. package/docs/ja/dynamic_dictionaries/collections.md +1 -1
  228. package/docs/ja/dynamic_dictionaries/dynamic_content.md +1 -1
  229. package/docs/ja/dynamic_dictionaries/index.md +1 -1
  230. package/docs/ja/dynamic_dictionaries/variants.md +1 -1
  231. package/docs/ja/intlayer_with_vite+react.md +290 -0
  232. package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
  233. package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
  234. package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
  235. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  236. package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
  237. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
  238. package/docs/ja/releases/v8.md +193 -4
  239. package/docs/ja/releases/v9.md +232 -0
  240. package/docs/ko/cli/doc-review.md +110 -4
  241. package/docs/ko/cli/index.md +1 -1
  242. package/docs/ko/cli/scan.md +1 -1
  243. package/docs/ko/configuration.md +49 -16
  244. package/docs/ko/dictionary/condition.md +167 -5
  245. package/docs/ko/dictionary/enumeration.md +540 -6
  246. package/docs/ko/dictionary/file.md +151 -1
  247. package/docs/ko/dictionary/gender.md +168 -7
  248. package/docs/ko/dictionary/nesting.md +173 -65
  249. package/docs/ko/dictionary/plurial.md +174 -5
  250. package/docs/ko/dictionary/translation.md +169 -8
  251. package/docs/ko/dynamic_dictionaries/collections.md +1 -1
  252. package/docs/ko/dynamic_dictionaries/dynamic_content.md +1 -1
  253. package/docs/ko/dynamic_dictionaries/index.md +1 -1
  254. package/docs/ko/dynamic_dictionaries/variants.md +1 -1
  255. package/docs/ko/intlayer_with_vite+react.md +48 -490
  256. package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
  257. package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
  258. package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
  259. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  260. package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
  261. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
  262. package/docs/ko/releases/v8.md +192 -1
  263. package/docs/ko/releases/v9.md +232 -0
  264. package/docs/nl/cli/index.md +1 -1
  265. package/docs/nl/cli/scan.md +1 -1
  266. package/docs/nl/configuration.md +36 -3
  267. package/docs/pl/cli/doc-review.md +110 -4
  268. package/docs/pl/cli/index.md +1 -1
  269. package/docs/pl/cli/scan.md +1 -1
  270. package/docs/pl/configuration.md +35 -2
  271. package/docs/pl/dictionary/condition.md +167 -5
  272. package/docs/pl/dictionary/enumeration.md +540 -6
  273. package/docs/pl/dictionary/file.md +318 -2
  274. package/docs/pl/dictionary/gender.md +168 -7
  275. package/docs/pl/dictionary/nesting.md +173 -65
  276. package/docs/pl/dictionary/plurial.md +174 -5
  277. package/docs/pl/dictionary/translation.md +156 -2
  278. package/docs/pl/dynamic_dictionaries/collections.md +1 -1
  279. package/docs/pl/dynamic_dictionaries/dynamic_content.md +1 -1
  280. package/docs/pl/dynamic_dictionaries/index.md +1 -1
  281. package/docs/pl/dynamic_dictionaries/variants.md +1 -1
  282. package/docs/pl/releases/v8.md +188 -2
  283. package/docs/pl/releases/v9.md +232 -0
  284. package/docs/pt/cli/doc-review.md +110 -4
  285. package/docs/pt/cli/index.md +1 -1
  286. package/docs/pt/cli/scan.md +1 -1
  287. package/docs/pt/configuration.md +49 -16
  288. package/docs/pt/dictionary/condition.md +167 -5
  289. package/docs/pt/dictionary/enumeration.md +540 -6
  290. package/docs/pt/dictionary/file.md +151 -1
  291. package/docs/pt/dictionary/gender.md +168 -7
  292. package/docs/pt/dictionary/nesting.md +173 -65
  293. package/docs/pt/dictionary/plurial.md +347 -7
  294. package/docs/pt/dictionary/translation.md +156 -2
  295. package/docs/pt/dynamic_dictionaries/collections.md +1 -1
  296. package/docs/pt/dynamic_dictionaries/dynamic_content.md +1 -1
  297. package/docs/pt/dynamic_dictionaries/index.md +1 -1
  298. package/docs/pt/dynamic_dictionaries/variants.md +1 -1
  299. package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
  300. package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
  301. package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
  302. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  303. package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
  304. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
  305. package/docs/pt/releases/v8.md +187 -1
  306. package/docs/pt/releases/v9.md +232 -0
  307. package/docs/ru/cli/doc-review.md +110 -4
  308. package/docs/ru/cli/index.md +1 -1
  309. package/docs/ru/cli/scan.md +1 -1
  310. package/docs/ru/configuration.md +35 -2
  311. package/docs/ru/dictionary/condition.md +366 -39
  312. package/docs/ru/dictionary/enumeration.md +777 -7
  313. package/docs/ru/dictionary/file.md +318 -2
  314. package/docs/ru/dictionary/gender.md +168 -7
  315. package/docs/ru/dictionary/nesting.md +368 -71
  316. package/docs/ru/dictionary/plurial.md +347 -7
  317. package/docs/ru/dictionary/translation.md +321 -33
  318. package/docs/ru/dynamic_dictionaries/collections.md +1 -1
  319. package/docs/ru/dynamic_dictionaries/dynamic_content.md +1 -1
  320. package/docs/ru/dynamic_dictionaries/index.md +1 -1
  321. package/docs/ru/dynamic_dictionaries/variants.md +1 -1
  322. package/docs/ru/intlayer_with_vite+react.md +48 -47
  323. package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
  324. package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
  325. package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
  326. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  327. package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
  328. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
  329. package/docs/ru/releases/v8.md +194 -2
  330. package/docs/ru/releases/v9.md +232 -0
  331. package/docs/tr/cli/doc-review.md +110 -4
  332. package/docs/tr/cli/index.md +1 -1
  333. package/docs/tr/cli/scan.md +1 -1
  334. package/docs/tr/configuration.md +35 -2
  335. package/docs/tr/dictionary/condition.md +167 -5
  336. package/docs/tr/dictionary/enumeration.md +540 -6
  337. package/docs/tr/dictionary/file.md +151 -1
  338. package/docs/tr/dictionary/gender.md +168 -7
  339. package/docs/tr/dictionary/nesting.md +173 -65
  340. package/docs/tr/dictionary/plurial.md +174 -5
  341. package/docs/tr/dictionary/translation.md +156 -2
  342. package/docs/tr/dynamic_dictionaries/collections.md +1 -1
  343. package/docs/tr/dynamic_dictionaries/dynamic_content.md +1 -1
  344. package/docs/tr/dynamic_dictionaries/index.md +1 -1
  345. package/docs/tr/dynamic_dictionaries/variants.md +1 -1
  346. package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
  347. package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
  348. package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
  349. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  350. package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
  351. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
  352. package/docs/tr/releases/v8.md +187 -1
  353. package/docs/tr/releases/v9.md +232 -0
  354. package/docs/uk/cli/doc-review.md +110 -4
  355. package/docs/uk/cli/index.md +1 -1
  356. package/docs/uk/cli/scan.md +1 -1
  357. package/docs/uk/configuration.md +35 -2
  358. package/docs/uk/dictionary/condition.md +167 -5
  359. package/docs/uk/dictionary/enumeration.md +540 -6
  360. package/docs/uk/dictionary/file.md +318 -2
  361. package/docs/uk/dictionary/gender.md +381 -8
  362. package/docs/uk/dictionary/nesting.md +173 -65
  363. package/docs/uk/dictionary/plurial.md +174 -5
  364. package/docs/uk/dictionary/translation.md +156 -2
  365. package/docs/uk/dynamic_dictionaries/collections.md +1 -1
  366. package/docs/uk/dynamic_dictionaries/dynamic_content.md +1 -1
  367. package/docs/uk/dynamic_dictionaries/index.md +1 -1
  368. package/docs/uk/dynamic_dictionaries/variants.md +1 -1
  369. package/docs/uk/releases/v8.md +191 -3
  370. package/docs/uk/releases/v9.md +232 -0
  371. package/docs/ur/cli/index.md +1 -1
  372. package/docs/ur/cli/scan.md +1 -1
  373. package/docs/ur/configuration.md +36 -3
  374. package/docs/vi/cli/doc-review.md +110 -4
  375. package/docs/vi/cli/index.md +1 -1
  376. package/docs/vi/cli/scan.md +1 -1
  377. package/docs/vi/configuration.md +50 -17
  378. package/docs/vi/dictionary/condition.md +167 -5
  379. package/docs/vi/dictionary/enumeration.md +591 -14
  380. package/docs/vi/dictionary/file.md +318 -2
  381. package/docs/vi/dictionary/gender.md +168 -7
  382. package/docs/vi/dictionary/nesting.md +357 -86
  383. package/docs/vi/dictionary/plurial.md +174 -5
  384. package/docs/vi/dictionary/translation.md +156 -2
  385. package/docs/vi/dynamic_dictionaries/collections.md +1 -1
  386. package/docs/vi/dynamic_dictionaries/dynamic_content.md +1 -1
  387. package/docs/vi/dynamic_dictionaries/index.md +1 -1
  388. package/docs/vi/dynamic_dictionaries/variants.md +1 -1
  389. package/docs/vi/releases/v8.md +190 -1
  390. package/docs/vi/releases/v9.md +232 -0
  391. package/docs/zh/cli/doc-review.md +110 -4
  392. package/docs/zh/cli/index.md +1 -1
  393. package/docs/zh/cli/scan.md +1 -1
  394. package/docs/zh/configuration.md +49 -16
  395. package/docs/zh/dictionary/condition.md +167 -5
  396. package/docs/zh/dictionary/enumeration.md +540 -6
  397. package/docs/zh/dictionary/file.md +151 -1
  398. package/docs/zh/dictionary/gender.md +168 -7
  399. package/docs/zh/dictionary/nesting.md +173 -65
  400. package/docs/zh/dictionary/plurial.md +174 -5
  401. package/docs/zh/dictionary/translation.md +169 -8
  402. package/docs/zh/dynamic_dictionaries/collections.md +1 -1
  403. package/docs/zh/dynamic_dictionaries/dynamic_content.md +1 -1
  404. package/docs/zh/dynamic_dictionaries/index.md +1 -1
  405. package/docs/zh/dynamic_dictionaries/variants.md +1 -1
  406. package/docs/zh/intlayer_with_vite+react.md +48 -288
  407. package/docs/zh/releases/v8.md +1 -1
  408. package/docs/zh/releases/v9.md +220 -0
  409. package/package.json +7 -7
  410. package/src/generated/docs.entry.ts +320 -0
  411. package/dist/esm/_virtual/_rolldown/runtime.mjs +0 -8
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-22
3
- updatedAt: 2026-01-26
3
+ updatedAt: 2026-06-14
4
4
  title: Новый Intlayer v8. Что нового?
5
5
  description: Узнайте, что нового в Intlayer v8. Существенные улучшения в опыте разработчика, валидации контента и управлении словарями.
6
6
  keywords:
@@ -44,7 +44,7 @@ Intlayer v8 вносит значительные улучшения в спос
44
44
 
45
45
  ### Унифицированный API `.use()`
46
46
 
47
- Мы ввели метод `.use()` как для Markdown, так и для HTML узлов. Этот метод позволяет настраивать HTML-теги или компоненты, используемые при рендеринге.
47
+ Мы ввели метод `.use()` как для Markdown, так и для HTML-узлов. Этот метод позволяет настраивать HTML-теги или компоненты, используемые при рендеринге.
48
48
 
49
49
  - **Замена компонентов**: Вы можете легко заменить HTML-теги или пользовательские компоненты компонентами вашего фреймворка (например, заменить `<a>` на `NextLink` или `<CustomCmp>` на React-компонент).
50
50
  - **Типизация**: Все функции для предоставления компонентов полностью типизированы, что гарантирует получение правильных пропсов.
@@ -409,6 +409,16 @@ Intlayer v8 вносит значительные улучшения в спос
409
409
 
410
410
  ---
411
411
 
412
+ ## Файлы контента YAML и Markdown (v8.10.0)
413
+
414
+ Теперь вы можете объявлять контент напрямую, используя расширения файлов `.content.md` и `.content.yaml`. Это идеально подходит для длинного контента, блогов, документации и политик конфиденциальности.
415
+
416
+ Эти файлы полностью редактируются в Visual Editor, обеспечивая оптимизированный рабочий процесс для нетехнических членов команды.
417
+
418
+ Для получения более подробной информации см. [Документацию по файлам контента YAML](https://intlayer.org/doc/concept/content#yaml-content-file) и [Документацию по файлам контента Markdown](https://intlayer.org/doc/concept/content/markdown).
419
+
420
+ ---
421
+
412
422
  ## Пользовательские правила перезаписи URL
413
423
 
414
424
  Intlayer v8 добавляет поддержку **пользовательских правил перезаписи URL**, позволяя задавать локализованные пути, отличающиеся от стандартной структуры `/locale/path`. Эта мощная функция помогает улучшить локальную SEO и обеспечить более естественный пользовательский опыт для неанглоязычных пользователей.
@@ -753,6 +763,64 @@ export default {
753
763
  </Tab>
754
764
  </Tabs>
755
765
 
766
+ ## Unicode CLDR Plural Rules (v8.8.0)
767
+
768
+ Был добавлен новый хелпер узла `plural`, основанный на правилах множественного числа, определенных проектом Unicode CLDR, что улучшает поддержку сложных языков.
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
+ ru: plural({
778
+ one: "{{count}} вакансия",
779
+ few: "{{count}} вакансии",
780
+ many: "{{count}} вакансий",
781
+ other: "{{count}} вакансии",
782
+ }),
783
+ en: plural({
784
+ one: "{{count}} opening",
785
+ other: "{{count}} openings",
786
+ }),
787
+ fr: plural({
788
+ one: "{{count}} offre",
789
+ other: "{{count}} offres",
790
+ }),
791
+ }),
792
+ },
793
+ } satisfies Dictionary;
794
+
795
+ export default openingsContent;
796
+ ```
797
+
798
+ Затем вы можете динамически передавать количество в компонент вашего фреймворка:
799
+
800
+ ```tsx
801
+ import type { FC } from "react";
802
+ import { useIntlayer } from "react-intlayer";
803
+
804
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
805
+ const { totalOpenings } = useIntlayer("total_openings");
806
+
807
+ return (
808
+ <div>
809
+ {/* На английском: */}
810
+ {/* count=0 → "0 openings" (other) */}
811
+ {/* count=1 → "1 opening" (one) */}
812
+ {/* count=2 → "2 openings" (other) */}
813
+ {/* count=21 → "21 openings" (other) */}
814
+ <p>{totalOpenings(count)}</p>
815
+ </div>
816
+ );
817
+ };
818
+ ```
819
+
820
+ Для получения дополнительной информации см. [Документацию по плюрализации](https://intlayer.org/doc/concept/content/plural).
821
+
822
+ ---
823
+
756
824
  ## Валидация схемы содержимого
757
825
 
758
826
  В Intlayer v8 добавлена валидация схем для словарей. Теперь вы можете определить переиспользуемые схемы валидации в вашей конфигурации с помощью Zod и применять их к файлам контента. Это гарантирует, что ваш контент всегда соответствует ожидаемой структуре и позволяет обнаруживать ошибки на этапе сборки.
@@ -797,6 +865,34 @@ export default aboutPageMetaContent;
797
865
 
798
866
  ---
799
867
 
868
+ ## TypeScript: Примитивные аксессоры IntlayerNode
869
+
870
+ Тип `IntlayerNode` был обновлен, чтобы позволить вызывать примитивные методы JavaScript напрямую на узлах контента. Это делает возможным взаимодействие с вашим локализованным контентом напрямую, как если бы он был стандартным примитивом строки, числа, булева значения или массива.
871
+
872
+ Поддерживается в React, Preact, Solid, Svelte, Vue и Angular.
873
+
874
+ ### Пример со строкой
875
+
876
+ ```typescript
877
+ content.placeholder; // Возвращает IntlayerNode<string>
878
+ content.placeholder.value; // Возвращает string
879
+ content.placeholder.toString(); // Возвращает string
880
+ content.placeholder.toLowerCase(); // Возвращает string
881
+ String(content.placeholder); // Возвращает string
882
+ content.placeholder.toUpperCase(); // Возвращает строку в верхнем регистре
883
+ content.placeholder.replace("a", "b"); // Возвращает измененную строку
884
+ ```
885
+
886
+ ### Пример с массивом
887
+
888
+ ```typescript
889
+ content.myArrayOfString // Возвращает IntlayerNode<Array<string>>
890
+ content.myArrayOfString.find(...) // Возвращает элемент
891
+ content.myArrayOfString.join(', ') // Возвращает объединенную строку
892
+ ```
893
+
894
+ ---
895
+
800
896
  ### Улучшенное автоматическое определение содержимого
801
897
 
802
898
  В v8 Intlayer автоматически определяет синтаксис Markdown, HTML-теги и вставки переменных в строках содержимого. Это означает, что вы часто можете опускать вспомогательные функции, такие как `md()`, `html()` или `insert()`.
@@ -1002,6 +1098,17 @@ export default {
1002
1098
 
1003
1099
  ---
1004
1100
 
1101
+ ## Инструменты: C++ Watcher и LSP на базе OXC (v8.12.0)
1102
+
1103
+ Intlayer v8.12.0 приносит важные улучшения в опыт разработчика:
1104
+
1105
+ - **Parcel Watcher**: Наблюдатель за контентом был перенесен с `chokidar` на `@parcel/watcher`, используя нативное отслеживание файлов на C++ для обеспечения более быстрых обновлений и значительно меньшего потребления памяти.
1106
+ - **Новый Language Server Protocol (LSP)**: Теперь доступен совершенно новый LSP. Созданный на основе парсинга OXC, он помогает вашей IDE и AI-агентам беспрепятственно связывать вызовы `useIntlayer('my-key')` с соответствующими файлами `.content` и наоборот.
1107
+
1108
+ Для получения более подробной информации см. [Документацию по LSP](https://intlayer.org/doc/lsp).
1109
+
1110
+ ---
1111
+
1005
1112
  ## Оптимизации компилятора
1006
1113
 
1007
1114
  Intlayer v8 включает новый уровень кеширования для компилятора Markdown и HTML. Это гарантирует, что идентичные строки контента с одинаковой конфигурацией парсятся только один раз, что значительно снижает накладные расходы при повторных рендерах или при использовании одного и того же контента в нескольких местах.
@@ -1057,6 +1164,48 @@ Intlayer v8 включает новый уровень кеширования д
1057
1164
 
1058
1165
  ---
1059
1166
 
1167
+ ## Экспериментальные оптимизации сборки: Minify и Purge (v8.7.0)
1168
+
1169
+ Intlayer v8.7.0 представляет новые экспериментальные функции сборки в вашем `intlayer.config.ts`, разработанные для оптимизации вашего продакшн-бандла:
1170
+
1171
+ - **Минификация словарей**: Минифицирует файлы словарей для уменьшения их размера.
1172
+ - **Очистка неиспользуемых ключей (Purging)**: Сканирует и удаляет неиспользуемые ключи перевода из словарей, переименовывая активные ключи в короткие символы (например, `"products" -> "a"`, `"pricing" -> "b"`). Это уменьшает размер бандла до 5%.
1173
+ - **Отключение проверок TypeScript**: Ускоряет сборку за счет отключения проверки типов TypeScript на этапе компиляции.
1174
+
1175
+ ```typescript fileName="intlayer.config.ts"
1176
+ import { Locales, type IntlayerConfig } from "intlayer";
1177
+
1178
+ const config: IntlayerConfig = {
1179
+ internationalization: {
1180
+ locales: [Locales.ENGLISH, Locales.FRENCH],
1181
+ defaultLocale: Locales.ENGLISH,
1182
+ },
1183
+ dictionary: {
1184
+ importMode: "dynamic",
1185
+ },
1186
+ build: {
1187
+ /**
1188
+ * Минификация словарей для уменьшения размера бандла.
1189
+ */
1190
+ minify: true,
1191
+
1192
+ /**
1193
+ * Очистка неиспользуемых ключей в словарях.
1194
+ */
1195
+ purge: true,
1196
+
1197
+ /**
1198
+ * Указывает, должна ли сборка проверять типы TypeScript.
1199
+ */
1200
+ checkTypes: false,
1201
+ },
1202
+ };
1203
+
1204
+ export default config;
1205
+ ```
1206
+
1207
+ ---
1208
+
1060
1209
  ## Гибкость: Унифицированный режим импорта
1061
1210
 
1062
1211
  Булево свойство `live` устарело в пользу более универсального свойства `importMode`. Это позволяет явно задавать, как словари должны загружаться: статически, динамически или посредством синхронизации в реальном времени.
@@ -1204,6 +1353,49 @@ Markdown и HTML-контент в Svelte теперь автоматическ
1204
1353
 
1205
1354
  ---
1206
1355
 
1356
+ ## Поддержка Angular: Сборщик Vite (v8.11.0)
1357
+
1358
+ Для пользователей Angular Intlayer теперь нативно поддерживает сборщик Vite через новый кастомный плагин esbuild, ускоряя время разработки и сборки.
1359
+
1360
+ Подробности о конфигурации см. в [Документации по окружению Angular](https://intlayer.org/doc/environment/angular).
1361
+
1362
+ ---
1363
+
1364
+ ## Генерация карты сайта (Sitemap) (v8.6.0)
1365
+
1366
+ Intlayer теперь автоматически генерирует карты сайта на основе ваших локалей и режима маршрутизации. Это особенно полезно для SEO-оптимизации в архитектурах роутеров, таких как TanStack Router:
1367
+
1368
+ ```typescript fileName="src/routes/sitemap.xml.ts"
1369
+ import { createFileRoute } from "@tanstack/react-router";
1370
+ import { generateSitemap } from "intlayer";
1371
+
1372
+ const SITE_URL = (
1373
+ import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
1374
+ ).replace(/\/$/, "");
1375
+
1376
+ export const Route = createFileRoute("/sitemap.xml")({
1377
+ server: {
1378
+ handlers: {
1379
+ GET: async () => {
1380
+ const sitemap = generateSitemap(
1381
+ [
1382
+ { path: "/", changefreq: "daily", priority: 1.0 },
1383
+ { path: "/about", changefreq: "monthly", priority: 0.8 },
1384
+ ],
1385
+ { siteUrl: SITE_URL }
1386
+ );
1387
+
1388
+ return new Response(sitemap, {
1389
+ headers: { "Content-Type": "application/xml" },
1390
+ });
1391
+ },
1392
+ },
1393
+ },
1394
+ });
1395
+ ```
1396
+
1397
+ ---
1398
+
1207
1399
  ## Примечания по миграции из v7
1208
1400
 
1209
1401
  ### Изменения в конфигурации
@@ -0,0 +1,232 @@
1
+ ---
2
+ createdAt: 2026-06-14
3
+ updatedAt: 2026-06-14
4
+ title: Новый Intlayer v9 — Что нового?
5
+ description: Узнайте, что нового в Intlayer v9. Представляем пакеты совместимости drop-in для популярных библиотек i18n, а также поддержку Collections, Variants и Dynamic Records.
6
+ keywords:
7
+ - Intlayer
8
+ - Совместимость
9
+ - Миграция
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 — Что нового?
24
+
25
+ Добро пожаловать в Intlayer v9! Этот мажорный релиз знаменует собой важную веху в упрощении миграции на Intlayer благодаря **пакетам адаптеров совместимости (Compat Adapter Packages)** для популярных библиотек i18n (`react-i18next`, `next-intl`, `vue-i18n` и др.), а также добавляет поддержку сложных структур контента: **Collections** (Коллекции), **Variants** (Варианты) и **Dynamic Records** (Динамические записи).
26
+
27
+ ## Содержание
28
+
29
+ <TOC levels={[2]} maxDepth={1} />
30
+
31
+ ---
32
+
33
+ ## Пакеты адаптеров совместимости (Compat Adapter Packages)
34
+
35
+ Миграция на Intlayer с популярных библиотек i18n стала проще, чем когда-либо. Мы создали пять пакетов совместимости (compat packages), которые предоставляют **точно такой же публичный API**, как и стандартные библиотеки i18n, но делегируют всю работу по переводу в Intlayer во время выполнения (runtime).
36
+
37
+ ### Тот же публичный API со строгой типизацией
38
+
39
+ Просто заменив импорты, вы получаете все преимущества Intlayer (включая безопасность типов на этапе компиляции на основе ваших реальных словарей) с минимальными изменениями в коде:
40
+
41
+ - `@intlayer/i18next`
42
+ - `@intlayer/react-i18next`
43
+ - `@intlayer/next-intl`
44
+ - `@intlayer/next-i18next`
45
+ - `@intlayer/vue-i18n`
46
+
47
+ Например, просто замените:
48
+
49
+ ```ts
50
+ import { useTranslation } from "react-i18next";
51
+ ```
52
+
53
+ на:
54
+
55
+ ```ts
56
+ import { useTranslation } from "@intlayer/react-i18next";
57
+ ```
58
+
59
+ Теперь ваши ключи будут **строго типизированы** на основе словарей Intlayer, обеспечивая автодополнение путей через точку (dot-path) в вашей IDE!
60
+
61
+ ### Плагины-алиасы для сборщиков (Vite, Next.js, Turbopack)
62
+
63
+ Чтобы позволить мигрировать без ручной перезаписи всех импортов, каждый пакет адаптера совместимости включает в себя **кастомный плагин для сборщика** (Vite или Next.js) по подпути `/plugin`.
64
+
65
+ Эти плагины автоматически перезаписывают существующие импорты (например, `react-i18next` или `next-intl`) на их эквиваленты `@intlayer/*` во время сборки.
66
+
67
+ #### Пример для Next.js (Webpack / Turbopack)
68
+
69
+ Вместо `withIntlayer` оберните вашу конфигурацию Next.js плагином совместимости:
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)
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
+ Все адаптеры совместимости теперь направляют разрешение переводов через единый, высокооптимизированный парсер рантайма: `@intlayer/core/messageFormat`.
96
+
97
+ - **Интерполяция сообщений (Interpolate Message)**: Разрешает стандартные шаблоны `{{var}}` (с пробелами и путями через точку), аргументы в формате ICU (`{v, number, percent}` и т. д.) и простые шаблоны `{var}`.
98
+ - **Резолвер узлов сообщений (Message Node Resolver)**: Разрешает вложенные узлы: `insert()`, `plural()` (плюрализация по правилам CLDR), `enu()` (перечисление), `gender()` (род), HTML-теги, массивы и вызываемые функции-узлы.
99
+ - **Токенизированный парсер тегов (Tokenized Tag Parser)**: Поддерживает встроенные XML/HTML-теги и нумерованные теги (например, `<1>children</1>`) для рендеринга форматированного текста (rich-text) из коробки.
100
+
101
+ ---
102
+
103
+ ## Спецификация функций: Collections, Variants и Dynamic Records
104
+
105
+ Intlayer v9 выходит за рамки статических объектов типа ключ-значение, позволяя словарям объявлять динамические структуры макетов со сквозной типизацией.
106
+
107
+ ### 1. Коллекции (Collections)
108
+
109
+ Определяйте управляемый CMS упорядоченный список элементов (например, FAQ, товары или списки блогов):
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
+ ru: "Что такое Intlayer?",
120
+ en: "What is Intlayer?",
121
+ fr: "Qu'est-ce qu'Intlayer ?",
122
+ }),
123
+ answer: t({
124
+ ru: "Инструментарий i18n.",
125
+ en: "An i18n toolkit.",
126
+ fr: "Une boîte à outils i18n.",
127
+ }),
128
+ },
129
+ ],
130
+ } satisfies Dictionary;
131
+ ```
132
+
133
+ #### Использование:
134
+
135
+ ```ts
136
+ // Получить все элементы
137
+ const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
138
+
139
+ // Получить один элемент по индексу
140
+ const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
141
+ ```
142
+
143
+ ### 2. Варианты (Variants)
144
+
145
+ Используйте для A/B-тестирования, сезонных заголовков, фича-флагов или кастомных целевых страниц:
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({ ru: "Добро пожаловать", en: "Welcome", fr: "Bienvenue" }),
155
+ black_friday: t({
156
+ ru: "Купить сейчас",
157
+ en: "Shop now",
158
+ fr: "Acheter maintenant",
159
+ }),
160
+ },
161
+ } satisfies Dictionary;
162
+ ```
163
+
164
+ #### Использование:
165
+
166
+ ```ts
167
+ const banner = useIntlayer("hero-banner", { variant: "black_friday" });
168
+ ```
169
+
170
+ ### 3. Динамические записи (Dynamic Records)
171
+
172
+ Определяйте словари, записи которых загружаются динамически во время выполнения по идентификаторам запросов:
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({ ru: "Чистый код", en: "Clean Code", fr: "Code Propre" }),
185
+ },
186
+ } satisfies Dictionary;
187
+ ```
188
+
189
+ #### Использование:
190
+
191
+ ```ts
192
+ // Динамически загружает только запрошенный элемент (требуется Suspense)
193
+ const product = useIntlayer("product-copy", {
194
+ id: "prod_123",
195
+ category: "books",
196
+ });
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Динамическая загрузка и оптимизация размера бандла
202
+
203
+ Чтобы сохранять размер бандлов минимальным, Intlayer v9 поддерживает динамическую ленивую загрузку (lazy loading).
204
+
205
+ В вашей конфигурации установите `importMode` в значение `'dynamic'` или `'fetch'`:
206
+
207
+ ```ts fileName="intlayer.config.ts"
208
+ export default {
209
+ dictionary: {
210
+ importMode: "dynamic", // "static" | "dynamic" | "fetch"
211
+ },
212
+ };
213
+ ```
214
+
215
+ Во время сборки `@intlayer/swc` и `@intlayer/babel` сканируют ваши файлы и заменяют вызовы `useIntlayer` / `getIntlayer` на tree-shakeable обертки (`useDictionary` / `useDictionaryDynamic`). Загружается только контент, необходимый для выбранного элемента коллекции, варианта или локали, что предотвращает попадание неиспользуемых переводов в ваш продакшн-бандл.
216
+
217
+ ---
218
+
219
+ ## Примечания по миграции с v8
220
+
221
+ Если вы обновляетесь с v8, обратите внимание, что v9 не содержит ломающих изменений (breaking changes). Однако вот ключевые изменения:
222
+
223
+ - **Локали и диалекты (Locales & Dialects)**: Если вы используете внешние зависимости i18n, добавьте соответствующие плагины адаптеров совместимости в вашу конфигурацию или настройки сборщика для автоматической перезаписи импортов.
224
+ - **Кастомные селекторы (Custom Selectors)**: При вызове `useIntlayer` второй параметр теперь зарезервирован для объекта опций, содержащего `{ locale, item, variant, id }`. Если ранее вы передавали строку локали напрямую, вы все еще можете это делать, но для расширенного выбора рекомендуется использовать объект опций.
225
+
226
+ ---
227
+
228
+ ## Полезные ссылки
229
+
230
+ - [Руководство по пакетам адаптеров совместимости](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compat/index.md)
231
+ - [Динамические словари — Collections, Variants и Dynamic Records](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dynamic_dictionaries/index.md)
232
+ - [Справочник по конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/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: Doküman İncelemesi
5
5
  description: Farklı yerellerdeki dokümantasyon dosyalarını kalite, tutarlılık ve tamlık açısından nasıl inceleyeceğinizi öğrenin.
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: "--log seçeneği eklendi"
18
22
  author: aymericzip
19
23
  ---
20
24
 
@@ -55,8 +59,110 @@ Zaten çevrilmiş dosyaları incelemek ve çevirinin doğru olup olmadığını
55
59
 
56
60
  ## Argümanlar:
57
61
 
58
- `doc review` komutu, belirli dokümantasyon dosyalarını incelemenize ve kalite kontrolleri uygulamanıza olanak tanıyan `doc translate` ile aynı argümanları kabul eder.
62
+ **Dosya listesi seçenekleri:**
59
63
 
60
- Eğer git seçeneklerinden birini etkinleştirdiyseniz, komut yalnızca değişen dosya kısımlarını inceleyecektir. Betik, dosyayı parçalara ayırarak işleyecek ve her parçayı inceleyecektir. Parçada değişiklik yoksa, betik inceleme sürecini hızlandırmak ve AI Sağlayıcı API maliyetini sınırlamak için o kısmı atlayacaktır.
64
+ - **`--doc-pattern [docPattern...]`**: İncelemek için dokümantasyon dosyalarını eşleştirmek üzere glob desenleri.
61
65
 
62
- Tam argüman listesi için, bkz. [Translate Document](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/doc-translate.md) komut dokümantasyonu.
66
+ > Örnek: `npx intlayer doc review --doc-pattern "docs/**/*.md" "src/**/*.mdx"`
67
+
68
+ - **`--excluded-glob-pattern [excludedGlobPattern...]`**: İncelemeden hariç tutulacak dosyaları eşleştirmek için glob desenleri.
69
+
70
+ > Örnek: `npx intlayer doc review --excluded-glob-pattern "docs/internal/**"`
71
+
72
+ - **`--skip-if-modified-before [skipIfModifiedBefore]`**: Dosya belirtilen zamandan önce değiştirilmişse atla.
73
+ - Mutlak bir zaman olabilir, örneğin "2025-12-05" (string veya Date)
74
+ - Göreceli bir zaman olabilir, ms cinsinden `1 * 60 * 60 * 1000` (1 saat)
75
+ - Bu seçenek, dosyanın güncelleme zamanını `fs.stat` yöntemi ile kontrol eder. Bu nedenle, dosyayı değiştiren Git veya diğer araçlardan etkilenebilir.
76
+
77
+ > Örnek: `npx intlayer doc review --skip-if-modified-before "2025-12-05"`
78
+
79
+ - **`--skip-if-modified-after [skipIfModifiedAfter]`**: Dosya belirtilen zaman içinde değiştirilmişse atla.
80
+ - Mutlak bir zaman olabilir, örneğin "2025-12-05" (string veya Date)
81
+ - Göreceli bir zaman olabilir, ms cinsinden `1 * 60 * 60 * 1000` (1 saat)
82
+ - Bu seçenek, dosyanın güncelleme zamanını `fs.stat` yöntemi ile kontrol eder. Bu nedenle, dosyayı değiştiren Git veya diğer araçlardan etkilenebilir.
83
+
84
+ > Örnek: `npx intlayer doc review --skip-if-modified-after "2025-12-05"`
85
+
86
+ - **`--skip-if-exists`**: Dosya zaten varsa atla.
87
+
88
+ > Örnek: `npx intlayer doc review --skip-if-exists`
89
+
90
+ **İnceleme modu seçenekleri:**
91
+
92
+ - **`--log`**: Yalnızca günlükleme modu. AI ile çeviri yapmaz; bunun yerine başka bir temsilcinin çevirileri oluşturmasına yardımcı olmak için temel ve hedef yerel ayarlar için dikkat gerektiren blokları (satır numaraları ve içerikleriyle birlikte) günlüğe kaydeder.
93
+
94
+ > Örnek: `npx intlayer doc review --log`
95
+
96
+ **Girdi çıktı seçenekleri:**
97
+
98
+ - **`--locales [locales...]`**: Dokümantasyonun inceleneceği hedef diller.
99
+
100
+ > Örnek: `npx intlayer doc review --locales fr es de`
101
+
102
+ - **`--base-locale [baseLocale]`**: Karşılaştırılacak kaynak dil (temel belge).
103
+
104
+ > Örnek: `npx intlayer doc review --base-locale en`
105
+
106
+ **Dosya işleme seçenekleri:**
107
+
108
+ - **`--nb-simultaneous-file-processed [nbSimultaneousFileProcessed]`**: İnceleme için eşzamanlı işlenecek dosya sayısı.
109
+
110
+ > Örnek: `npx intlayer doc review --nb-simultaneous-file-processed 5`
111
+
112
+ **Yapay Zeka seçenekleri:**
113
+
114
+ - **`--model [model]`**: İnceleme için kullanılacak yapay zeka modeli (örneğin, `gpt-3.5-turbo`).
115
+ - **`--provider [provider]`**: İnceleme için kullanılacak yapay zeka sağlayıcısı.
116
+ - **`--temperature [temperature]`**: Yapay zeka modeli için sıcaklık ayarı.
117
+ - **`--api-key [apiKey]`**: Yapay zeka servisi için kendi API anahtarınızı sağlayın.
118
+ - **`--application-context [applicationContext]`**: Yapay zeka incelemesi için ek bağlam sağlayın.
119
+ - **`--data-serialization [dataSerialization]`**: Intlayer'ın AI özellikleri için kullanılacak veri serileştirme formatı. Seçenekler: `json` (standart, güvenilir), `toon` (daha az jeton, daha az tutarlı).
120
+ - **`--custom-prompt [prompt]`**: İnceleme için kullanılan temel promptu özelleştirin. (Not: Çoğu durum için, davranış üzerinde daha iyi kontrol sağladığı için `--custom-instructions` seçeneği önerilir.)
121
+
122
+ > Örnek: `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
+ **Ortam değişkenleri seçenekleri:**
125
+
126
+ - **`--env`**: Ortamı belirtin (örneğin, `development`, `production`).
127
+ - **`--env-file [envFile]`**: Değişkenleri yüklemek için özel bir ortam dosyası sağlayın.
128
+ - **`--base-dir`**: Proje için temel dizini belirtin.
129
+ - **`--no-cache`**: Önbelleği devre dışı bırakın.
130
+
131
+ > Örnek: `npx intlayer doc review --base-dir ./docs --env-file .env.production.local`
132
+
133
+ **Günlük seçenekleri:**
134
+
135
+ - **`--verbose`**: Hata ayıklama için ayrıntılı günlüklemeyi etkinleştirir. (CLI kullanıldığında varsayılan olarak true)
136
+
137
+ > Örnek: `npx intlayer doc review --verbose`
138
+
139
+ **Özel talimatlar seçenekleri:**
140
+
141
+ - **`--custom-instructions [customInstructions]`**: Prompt'a eklenen özel talimatlar. Biçimlendirme, URL çevirisi vb. konularda belirli kurallar uygulamak için kullanışlıdır.
142
+
143
+ > Örnek: `npx intlayer doc review --custom-instructions "URL çevirilerini yapmaktan kaçının ve markdown formatını koruyun"`
144
+
145
+ > Örnek: `npx intlayer doc review --custom-instructions "$(cat ./instructions.md)"`
146
+
147
+ **Git seçenekleri:**
148
+
149
+ - **`--git-diff`**: Sadece temel (varsayılan `origin/main`) ile mevcut dal (varsayılan: `HEAD`) arasındaki değişiklikleri içeren dosyalarda çalıştırır.
150
+ - **`--git-diff-base`**: git diff için temel referansı belirtir (varsayılan `origin/main`).
151
+ - **`--git-diff-current`**: git diff için mevcut referansı belirtir (varsayılan `HEAD`).
152
+ - **`--uncommitted`**: İşlenmemiş değişiklikleri dahil eder.
153
+ - **`--unpushed`**: Gönderilmemiş değişiklikleri dahil eder.
154
+ - **`--untracked`**: İzlenmeyen dosyaları dahil eder.
155
+
156
+ > Örnek: `npx intlayer doc review --git-diff --git-diff-base origin/main --git-diff-current HEAD`
157
+
158
+ > Örnek: `npx intlayer doc review --uncommitted --unpushed --untracked`
159
+
160
+ > Çıktı dosya yolunun aşağıdaki kalıplar değiştirilerek belirleneceğini unutmayın:
161
+ >
162
+ > - `/{{baseLocale}}/` yerine `/{{locale}}/` (Unix)
163
+ > - `\{{baseLocale}}\` yerine `\{{locale}}\` (Windows)
164
+ > - `_{{baseLocale}}.` yerine `_{{locale}}.`
165
+ > - `{{baseLocale}}_` yerine `{{locale}}_`
166
+ > - `.{{baseLocaleName}}.` yerine `.{{localeName}}.`
167
+ >
168
+ > Eğer kalıp bulunamazsa, çıktı dosyasının uzantısına `.{{locale}}` eklenecektir. Örneğin `./my/file.md` dosyası incelenecek ve Fransızca için `./my/file.fr.md` olarak güncellenecektir.
@@ -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: "Scan komutu eklendi"
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: "Scan komutu eklendi"
24
24
  author: aymericzip