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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +320 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +320 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +16 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/cli/doc-review.md +110 -4
  8. package/docs/ar/cli/index.md +1 -1
  9. package/docs/ar/cli/scan.md +1 -1
  10. package/docs/ar/configuration.md +36 -3
  11. package/docs/ar/dictionary/condition.md +167 -5
  12. package/docs/ar/dictionary/enumeration.md +540 -6
  13. package/docs/ar/dictionary/file.md +151 -1
  14. package/docs/ar/dictionary/gender.md +168 -7
  15. package/docs/ar/dictionary/nesting.md +173 -65
  16. package/docs/ar/dictionary/plurial.md +174 -5
  17. package/docs/ar/dictionary/translation.md +156 -2
  18. package/docs/ar/dynamic_dictionaries/collections.md +1 -1
  19. package/docs/ar/dynamic_dictionaries/dynamic_content.md +1 -1
  20. package/docs/ar/dynamic_dictionaries/index.md +1 -1
  21. package/docs/ar/dynamic_dictionaries/variants.md +1 -1
  22. package/docs/ar/intlayer_with_vite+react.md +31 -31
  23. package/docs/ar/releases/v8.md +187 -1
  24. package/docs/ar/releases/v9.md +232 -0
  25. package/docs/bn/cli/index.md +1 -1
  26. package/docs/bn/cli/scan.md +1 -1
  27. package/docs/bn/configuration.md +36 -3
  28. package/docs/cs/cli/index.md +1 -1
  29. package/docs/cs/cli/scan.md +1 -1
  30. package/docs/cs/configuration.md +35 -2
  31. package/docs/de/cli/doc-review.md +110 -4
  32. package/docs/de/cli/index.md +1 -1
  33. package/docs/de/cli/scan.md +1 -1
  34. package/docs/de/configuration.md +35 -2
  35. package/docs/de/dictionary/condition.md +167 -5
  36. package/docs/de/dictionary/enumeration.md +777 -7
  37. package/docs/de/dictionary/file.md +151 -1
  38. package/docs/de/dictionary/gender.md +168 -7
  39. package/docs/de/dictionary/nesting.md +173 -65
  40. package/docs/de/dictionary/plurial.md +347 -7
  41. package/docs/de/dictionary/translation.md +156 -2
  42. package/docs/de/dynamic_dictionaries/collections.md +1 -1
  43. package/docs/de/dynamic_dictionaries/dynamic_content.md +1 -1
  44. package/docs/de/dynamic_dictionaries/index.md +1 -1
  45. package/docs/de/dynamic_dictionaries/variants.md +1 -1
  46. package/docs/de/intlayer_with_vite+react.md +48 -48
  47. package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
  48. package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
  49. package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
  50. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  51. package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
  52. package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
  53. package/docs/de/releases/v8.md +197 -1
  54. package/docs/de/releases/v9.md +232 -0
  55. package/docs/en/CI_CD.md +7 -7
  56. package/docs/en/cli/ci.md +62 -8
  57. package/docs/en/cli/doc-review.md +110 -4
  58. package/docs/en/cli/index.md +1 -1
  59. package/docs/en/cli/scan.md +1 -1
  60. package/docs/en/compat/i18n-js.md +44 -0
  61. package/docs/en/compat/i18next.md +59 -0
  62. package/docs/en/compat/index.md +51 -0
  63. package/docs/en/compat/lingui.md +44 -0
  64. package/docs/en/compat/next-i18next.md +57 -0
  65. package/docs/en/compat/next-intl.md +59 -0
  66. package/docs/en/compat/next-translate.md +45 -0
  67. package/docs/en/compat/ngx-translate.md +45 -0
  68. package/docs/en/compat/nuxtjs-i18n.md +46 -0
  69. package/docs/en/compat/polyglot.md +45 -0
  70. package/docs/en/compat/react-i18next.md +58 -0
  71. package/docs/en/compat/react-intl.md +55 -0
  72. package/docs/en/compat/svelte-i18n.md +47 -0
  73. package/docs/en/compat/transloco.md +45 -0
  74. package/docs/en/compat/vue-i18n.md +58 -0
  75. package/docs/en/configuration.md +35 -2
  76. package/docs/en/dictionary/condition.md +163 -1
  77. package/docs/en/dictionary/enumeration.md +309 -7
  78. package/docs/en/dictionary/file.md +151 -1
  79. package/docs/en/dictionary/gender.md +162 -1
  80. package/docs/en/dictionary/nesting.md +173 -9
  81. package/docs/en/dictionary/plurial.md +155 -10
  82. package/docs/en/dictionary/translation.md +145 -52
  83. package/docs/en/dynamic_dictionaries/collections.md +1 -1
  84. package/docs/en/dynamic_dictionaries/dynamic_content.md +1 -1
  85. package/docs/en/dynamic_dictionaries/index.md +1 -1
  86. package/docs/en/dynamic_dictionaries/variants.md +1 -1
  87. package/docs/en/migration_from_i18next_to_intlayer.md +1 -1
  88. package/docs/en/migration_from_next-i18next_to_intlayer.md +1 -1
  89. package/docs/en/migration_from_next-intl_to_intlayer.md +1 -1
  90. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  91. package/docs/en/migration_from_react-i18next_to_intlayer.md +1 -1
  92. package/docs/en/migration_from_vue-i18n_to_intlayer.md +1 -1
  93. package/docs/en/releases/v8.md +187 -1
  94. package/docs/en/releases/v9.md +220 -0
  95. package/docs/en-GB/cli/doc-review.md +110 -4
  96. package/docs/en-GB/cli/index.md +1 -1
  97. package/docs/en-GB/cli/scan.md +1 -1
  98. package/docs/en-GB/configuration.md +35 -2
  99. package/docs/en-GB/dictionary/condition.md +364 -1
  100. package/docs/en-GB/dictionary/enumeration.md +577 -5
  101. package/docs/en-GB/dictionary/file.md +317 -1
  102. package/docs/en-GB/dictionary/gender.md +375 -2
  103. package/docs/en-GB/dictionary/nesting.md +368 -71
  104. package/docs/en-GB/dictionary/plurial.md +347 -7
  105. package/docs/en-GB/dictionary/translation.md +320 -32
  106. package/docs/en-GB/dynamic_dictionaries/collections.md +1 -1
  107. package/docs/en-GB/dynamic_dictionaries/dynamic_content.md +1 -1
  108. package/docs/en-GB/dynamic_dictionaries/index.md +1 -1
  109. package/docs/en-GB/dynamic_dictionaries/variants.md +1 -1
  110. package/docs/en-GB/releases/v8.md +1 -1
  111. package/docs/en-GB/releases/v9.md +220 -0
  112. package/docs/es/cli/doc-review.md +110 -4
  113. package/docs/es/cli/index.md +1 -1
  114. package/docs/es/cli/scan.md +1 -1
  115. package/docs/es/configuration.md +36 -3
  116. package/docs/es/dictionary/condition.md +167 -5
  117. package/docs/es/dictionary/enumeration.md +537 -12
  118. package/docs/es/dictionary/file.md +151 -1
  119. package/docs/es/dictionary/gender.md +168 -7
  120. package/docs/es/dictionary/nesting.md +173 -65
  121. package/docs/es/dictionary/plurial.md +347 -7
  122. package/docs/es/dictionary/translation.md +156 -2
  123. package/docs/es/dynamic_dictionaries/collections.md +1 -1
  124. package/docs/es/dynamic_dictionaries/dynamic_content.md +1 -1
  125. package/docs/es/dynamic_dictionaries/index.md +1 -1
  126. package/docs/es/dynamic_dictionaries/variants.md +1 -1
  127. package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
  128. package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
  129. package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
  130. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  131. package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
  132. package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
  133. package/docs/es/releases/v8.md +187 -1
  134. package/docs/es/releases/v9.md +228 -0
  135. package/docs/fr/cli/doc-review.md +110 -4
  136. package/docs/fr/cli/index.md +1 -1
  137. package/docs/fr/cli/scan.md +1 -1
  138. package/docs/fr/configuration.md +49 -16
  139. package/docs/fr/dictionary/condition.md +369 -6
  140. package/docs/fr/dictionary/enumeration.md +540 -6
  141. package/docs/fr/dictionary/file.md +151 -1
  142. package/docs/fr/dictionary/gender.md +168 -7
  143. package/docs/fr/dictionary/nesting.md +357 -86
  144. package/docs/fr/dictionary/plurial.md +174 -5
  145. package/docs/fr/dictionary/translation.md +156 -2
  146. package/docs/fr/dynamic_dictionaries/collections.md +1 -1
  147. package/docs/fr/dynamic_dictionaries/dynamic_content.md +1 -1
  148. package/docs/fr/dynamic_dictionaries/index.md +1 -1
  149. package/docs/fr/dynamic_dictionaries/variants.md +1 -1
  150. package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
  151. package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
  152. package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
  153. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  154. package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
  155. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
  156. package/docs/fr/releases/v8.md +187 -1
  157. package/docs/fr/releases/v9.md +220 -0
  158. package/docs/hi/cli/doc-review.md +110 -4
  159. package/docs/hi/cli/index.md +1 -1
  160. package/docs/hi/cli/scan.md +1 -1
  161. package/docs/hi/configuration.md +49 -16
  162. package/docs/hi/dictionary/condition.md +167 -5
  163. package/docs/hi/dictionary/enumeration.md +540 -6
  164. package/docs/hi/dictionary/file.md +151 -1
  165. package/docs/hi/dictionary/gender.md +168 -7
  166. package/docs/hi/dictionary/nesting.md +173 -65
  167. package/docs/hi/dictionary/plurial.md +174 -5
  168. package/docs/hi/dictionary/translation.md +155 -5
  169. package/docs/hi/dynamic_dictionaries/collections.md +1 -1
  170. package/docs/hi/dynamic_dictionaries/dynamic_content.md +1 -1
  171. package/docs/hi/dynamic_dictionaries/index.md +1 -1
  172. package/docs/hi/dynamic_dictionaries/variants.md +1 -1
  173. package/docs/hi/releases/v8.md +188 -2
  174. package/docs/hi/releases/v9.md +232 -0
  175. package/docs/id/cli/doc-review.md +110 -4
  176. package/docs/id/cli/index.md +1 -1
  177. package/docs/id/cli/scan.md +1 -1
  178. package/docs/id/configuration.md +35 -2
  179. package/docs/id/dictionary/condition.md +167 -5
  180. package/docs/id/dictionary/enumeration.md +540 -6
  181. package/docs/id/dictionary/file.md +318 -2
  182. package/docs/id/dictionary/gender.md +381 -8
  183. package/docs/id/dictionary/nesting.md +357 -86
  184. package/docs/id/dictionary/plurial.md +174 -5
  185. package/docs/id/dictionary/translation.md +156 -2
  186. package/docs/id/dynamic_dictionaries/collections.md +1 -1
  187. package/docs/id/dynamic_dictionaries/dynamic_content.md +1 -1
  188. package/docs/id/dynamic_dictionaries/index.md +1 -1
  189. package/docs/id/dynamic_dictionaries/variants.md +1 -1
  190. package/docs/id/releases/v8.md +191 -2
  191. package/docs/id/releases/v9.md +232 -0
  192. package/docs/it/cli/doc-review.md +110 -4
  193. package/docs/it/cli/index.md +1 -1
  194. package/docs/it/cli/scan.md +1 -1
  195. package/docs/it/configuration.md +49 -16
  196. package/docs/it/dictionary/condition.md +167 -5
  197. package/docs/it/dictionary/enumeration.md +540 -6
  198. package/docs/it/dictionary/file.md +318 -2
  199. package/docs/it/dictionary/gender.md +168 -7
  200. package/docs/it/dictionary/nesting.md +173 -65
  201. package/docs/it/dictionary/plurial.md +347 -7
  202. package/docs/it/dictionary/translation.md +156 -2
  203. package/docs/it/dynamic_dictionaries/collections.md +1 -1
  204. package/docs/it/dynamic_dictionaries/dynamic_content.md +1 -1
  205. package/docs/it/dynamic_dictionaries/index.md +1 -1
  206. package/docs/it/dynamic_dictionaries/variants.md +1 -1
  207. package/docs/it/intlayer_with_vite+react.md +0 -48
  208. package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
  209. package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
  210. package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
  211. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  212. package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
  213. package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
  214. package/docs/it/releases/v8.md +200 -2
  215. package/docs/it/releases/v9.md +232 -0
  216. package/docs/ja/cli/doc-review.md +110 -4
  217. package/docs/ja/cli/index.md +1 -1
  218. package/docs/ja/cli/scan.md +1 -1
  219. package/docs/ja/configuration.md +50 -17
  220. package/docs/ja/dictionary/condition.md +167 -5
  221. package/docs/ja/dictionary/enumeration.md +540 -6
  222. package/docs/ja/dictionary/file.md +151 -1
  223. package/docs/ja/dictionary/gender.md +168 -7
  224. package/docs/ja/dictionary/nesting.md +173 -65
  225. package/docs/ja/dictionary/plurial.md +174 -5
  226. package/docs/ja/dictionary/translation.md +169 -8
  227. package/docs/ja/dynamic_dictionaries/collections.md +1 -1
  228. package/docs/ja/dynamic_dictionaries/dynamic_content.md +1 -1
  229. package/docs/ja/dynamic_dictionaries/index.md +1 -1
  230. package/docs/ja/dynamic_dictionaries/variants.md +1 -1
  231. package/docs/ja/intlayer_with_vite+react.md +290 -0
  232. package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
  233. package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
  234. package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
  235. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  236. package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
  237. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
  238. package/docs/ja/releases/v8.md +193 -4
  239. package/docs/ja/releases/v9.md +232 -0
  240. package/docs/ko/cli/doc-review.md +110 -4
  241. package/docs/ko/cli/index.md +1 -1
  242. package/docs/ko/cli/scan.md +1 -1
  243. package/docs/ko/configuration.md +49 -16
  244. package/docs/ko/dictionary/condition.md +167 -5
  245. package/docs/ko/dictionary/enumeration.md +540 -6
  246. package/docs/ko/dictionary/file.md +151 -1
  247. package/docs/ko/dictionary/gender.md +168 -7
  248. package/docs/ko/dictionary/nesting.md +173 -65
  249. package/docs/ko/dictionary/plurial.md +174 -5
  250. package/docs/ko/dictionary/translation.md +169 -8
  251. package/docs/ko/dynamic_dictionaries/collections.md +1 -1
  252. package/docs/ko/dynamic_dictionaries/dynamic_content.md +1 -1
  253. package/docs/ko/dynamic_dictionaries/index.md +1 -1
  254. package/docs/ko/dynamic_dictionaries/variants.md +1 -1
  255. package/docs/ko/intlayer_with_vite+react.md +48 -490
  256. package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
  257. package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
  258. package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
  259. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  260. package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
  261. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
  262. package/docs/ko/releases/v8.md +192 -1
  263. package/docs/ko/releases/v9.md +232 -0
  264. package/docs/nl/cli/index.md +1 -1
  265. package/docs/nl/cli/scan.md +1 -1
  266. package/docs/nl/configuration.md +36 -3
  267. package/docs/pl/cli/doc-review.md +110 -4
  268. package/docs/pl/cli/index.md +1 -1
  269. package/docs/pl/cli/scan.md +1 -1
  270. package/docs/pl/configuration.md +35 -2
  271. package/docs/pl/dictionary/condition.md +167 -5
  272. package/docs/pl/dictionary/enumeration.md +540 -6
  273. package/docs/pl/dictionary/file.md +318 -2
  274. package/docs/pl/dictionary/gender.md +168 -7
  275. package/docs/pl/dictionary/nesting.md +173 -65
  276. package/docs/pl/dictionary/plurial.md +174 -5
  277. package/docs/pl/dictionary/translation.md +156 -2
  278. package/docs/pl/dynamic_dictionaries/collections.md +1 -1
  279. package/docs/pl/dynamic_dictionaries/dynamic_content.md +1 -1
  280. package/docs/pl/dynamic_dictionaries/index.md +1 -1
  281. package/docs/pl/dynamic_dictionaries/variants.md +1 -1
  282. package/docs/pl/releases/v8.md +188 -2
  283. package/docs/pl/releases/v9.md +232 -0
  284. package/docs/pt/cli/doc-review.md +110 -4
  285. package/docs/pt/cli/index.md +1 -1
  286. package/docs/pt/cli/scan.md +1 -1
  287. package/docs/pt/configuration.md +49 -16
  288. package/docs/pt/dictionary/condition.md +167 -5
  289. package/docs/pt/dictionary/enumeration.md +540 -6
  290. package/docs/pt/dictionary/file.md +151 -1
  291. package/docs/pt/dictionary/gender.md +168 -7
  292. package/docs/pt/dictionary/nesting.md +173 -65
  293. package/docs/pt/dictionary/plurial.md +347 -7
  294. package/docs/pt/dictionary/translation.md +156 -2
  295. package/docs/pt/dynamic_dictionaries/collections.md +1 -1
  296. package/docs/pt/dynamic_dictionaries/dynamic_content.md +1 -1
  297. package/docs/pt/dynamic_dictionaries/index.md +1 -1
  298. package/docs/pt/dynamic_dictionaries/variants.md +1 -1
  299. package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
  300. package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
  301. package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
  302. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  303. package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
  304. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
  305. package/docs/pt/releases/v8.md +187 -1
  306. package/docs/pt/releases/v9.md +232 -0
  307. package/docs/ru/cli/doc-review.md +110 -4
  308. package/docs/ru/cli/index.md +1 -1
  309. package/docs/ru/cli/scan.md +1 -1
  310. package/docs/ru/configuration.md +35 -2
  311. package/docs/ru/dictionary/condition.md +366 -39
  312. package/docs/ru/dictionary/enumeration.md +777 -7
  313. package/docs/ru/dictionary/file.md +318 -2
  314. package/docs/ru/dictionary/gender.md +168 -7
  315. package/docs/ru/dictionary/nesting.md +368 -71
  316. package/docs/ru/dictionary/plurial.md +347 -7
  317. package/docs/ru/dictionary/translation.md +321 -33
  318. package/docs/ru/dynamic_dictionaries/collections.md +1 -1
  319. package/docs/ru/dynamic_dictionaries/dynamic_content.md +1 -1
  320. package/docs/ru/dynamic_dictionaries/index.md +1 -1
  321. package/docs/ru/dynamic_dictionaries/variants.md +1 -1
  322. package/docs/ru/intlayer_with_vite+react.md +48 -47
  323. package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
  324. package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
  325. package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
  326. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  327. package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
  328. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
  329. package/docs/ru/releases/v8.md +194 -2
  330. package/docs/ru/releases/v9.md +232 -0
  331. package/docs/tr/cli/doc-review.md +110 -4
  332. package/docs/tr/cli/index.md +1 -1
  333. package/docs/tr/cli/scan.md +1 -1
  334. package/docs/tr/configuration.md +35 -2
  335. package/docs/tr/dictionary/condition.md +167 -5
  336. package/docs/tr/dictionary/enumeration.md +540 -6
  337. package/docs/tr/dictionary/file.md +151 -1
  338. package/docs/tr/dictionary/gender.md +168 -7
  339. package/docs/tr/dictionary/nesting.md +173 -65
  340. package/docs/tr/dictionary/plurial.md +174 -5
  341. package/docs/tr/dictionary/translation.md +156 -2
  342. package/docs/tr/dynamic_dictionaries/collections.md +1 -1
  343. package/docs/tr/dynamic_dictionaries/dynamic_content.md +1 -1
  344. package/docs/tr/dynamic_dictionaries/index.md +1 -1
  345. package/docs/tr/dynamic_dictionaries/variants.md +1 -1
  346. package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
  347. package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
  348. package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
  349. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  350. package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
  351. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
  352. package/docs/tr/releases/v8.md +187 -1
  353. package/docs/tr/releases/v9.md +232 -0
  354. package/docs/uk/cli/doc-review.md +110 -4
  355. package/docs/uk/cli/index.md +1 -1
  356. package/docs/uk/cli/scan.md +1 -1
  357. package/docs/uk/configuration.md +35 -2
  358. package/docs/uk/dictionary/condition.md +167 -5
  359. package/docs/uk/dictionary/enumeration.md +540 -6
  360. package/docs/uk/dictionary/file.md +318 -2
  361. package/docs/uk/dictionary/gender.md +381 -8
  362. package/docs/uk/dictionary/nesting.md +173 -65
  363. package/docs/uk/dictionary/plurial.md +174 -5
  364. package/docs/uk/dictionary/translation.md +156 -2
  365. package/docs/uk/dynamic_dictionaries/collections.md +1 -1
  366. package/docs/uk/dynamic_dictionaries/dynamic_content.md +1 -1
  367. package/docs/uk/dynamic_dictionaries/index.md +1 -1
  368. package/docs/uk/dynamic_dictionaries/variants.md +1 -1
  369. package/docs/uk/releases/v8.md +191 -3
  370. package/docs/uk/releases/v9.md +232 -0
  371. package/docs/ur/cli/index.md +1 -1
  372. package/docs/ur/cli/scan.md +1 -1
  373. package/docs/ur/configuration.md +36 -3
  374. package/docs/vi/cli/doc-review.md +110 -4
  375. package/docs/vi/cli/index.md +1 -1
  376. package/docs/vi/cli/scan.md +1 -1
  377. package/docs/vi/configuration.md +50 -17
  378. package/docs/vi/dictionary/condition.md +167 -5
  379. package/docs/vi/dictionary/enumeration.md +591 -14
  380. package/docs/vi/dictionary/file.md +318 -2
  381. package/docs/vi/dictionary/gender.md +168 -7
  382. package/docs/vi/dictionary/nesting.md +357 -86
  383. package/docs/vi/dictionary/plurial.md +174 -5
  384. package/docs/vi/dictionary/translation.md +156 -2
  385. package/docs/vi/dynamic_dictionaries/collections.md +1 -1
  386. package/docs/vi/dynamic_dictionaries/dynamic_content.md +1 -1
  387. package/docs/vi/dynamic_dictionaries/index.md +1 -1
  388. package/docs/vi/dynamic_dictionaries/variants.md +1 -1
  389. package/docs/vi/releases/v8.md +190 -1
  390. package/docs/vi/releases/v9.md +232 -0
  391. package/docs/zh/cli/doc-review.md +110 -4
  392. package/docs/zh/cli/index.md +1 -1
  393. package/docs/zh/cli/scan.md +1 -1
  394. package/docs/zh/configuration.md +49 -16
  395. package/docs/zh/dictionary/condition.md +167 -5
  396. package/docs/zh/dictionary/enumeration.md +540 -6
  397. package/docs/zh/dictionary/file.md +151 -1
  398. package/docs/zh/dictionary/gender.md +168 -7
  399. package/docs/zh/dictionary/nesting.md +173 -65
  400. package/docs/zh/dictionary/plurial.md +174 -5
  401. package/docs/zh/dictionary/translation.md +169 -8
  402. package/docs/zh/dynamic_dictionaries/collections.md +1 -1
  403. package/docs/zh/dynamic_dictionaries/dynamic_content.md +1 -1
  404. package/docs/zh/dynamic_dictionaries/index.md +1 -1
  405. package/docs/zh/dynamic_dictionaries/variants.md +1 -1
  406. package/docs/zh/intlayer_with_vite+react.md +48 -288
  407. package/docs/zh/releases/v8.md +1 -1
  408. package/docs/zh/releases/v9.md +220 -0
  409. package/package.json +7 -7
  410. package/src/generated/docs.entry.ts +320 -0
  411. package/dist/esm/_virtual/_rolldown/runtime.mjs +0 -8
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-05-12
3
+ updatedAt: 2026-06-17
4
4
  title: Конфигурация (Configuration)
5
5
  description: Узнайте, как настроить Intlayer для вашего приложения. Разберитесь в различных параметрах и опциях, доступных для настройки Intlayer в соответствии с вашими потребностями.
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.10.0
18
+ date: 2026-06-17
19
+ changes: "Добавлена опция `format` в конфигурацию словаря"
17
20
  - version: 8.9.4
18
21
  date: 2026-05-12
19
22
  changes: "Добавлена поддержка провайдера LM Studio"
@@ -135,6 +138,7 @@ Intlayer принимает форматы файлов конфигурации
135
138
  ````typescript fileName="intlayer.config.ts" codeFormat="typescript"
136
139
  import { Locales, type IntlayerConfig } from "intlayer";
137
140
  import { nextjsRewrite } from "intlayer/routing";
141
+ import { syncJSON } from "@intlayer/sync-json-plugin";
138
142
  import { z } from "zod";
139
143
 
140
144
  /**
@@ -582,10 +586,38 @@ const config: IntlayerConfig = {
582
586
  }),
583
587
  },
584
588
 
589
+ /**
590
+ * Конфигурация словаря.
591
+ */
592
+ dictionary: {
593
+ /**
594
+ * Управляет способом импорта словарей.
595
+ * - "static": Статически импортируется во время сборки.
596
+ * - "dynamic": Динамически импортируется с помощью Suspense.
597
+ * - "fetch": Динамически загружается через API живой синхронизации.
598
+ */
599
+ importMode: "static",
600
+
601
+ /**
602
+ * Формат сообщений по умолчанию для всех словарей в проекте.
603
+ * - 'intlayer': Собственный формат intlayer (по умолчанию).
604
+ * - 'icu': Формат сообщений ICU.
605
+ * - 'i18next': Формат i18next.
606
+ * - 'vue-i18n': Формат Vue I18n.
607
+ * - 'po': Формат GNU Gettext PO.
608
+ */
609
+ format: "icu",
610
+ },
611
+
585
612
  /**
586
613
  * Конфигурация плагинов.
587
614
  */
588
- plugins: [],
615
+ plugins: [
616
+ syncJSON({
617
+ format: "icu",
618
+ source: ({ locale }) => `./messages/${locale}.json`,
619
+ }),
620
+ ],
589
621
  };
590
622
 
591
623
  export default config;
@@ -862,6 +894,7 @@ export default config;
862
894
  | `contentAutoTransformation` | Автоматически преобразует строки контента в типизированные узлы (markdown, HTML или вставка). | `boolean` &#124; <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')`.<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')`.<br/>• Вставка : `Hello {{name}}` → `insert('Hello {{name}}')`. |
863
895
  | `location` | Указывает, где хранятся файлы словарей и как они синхронизируются с CMS. | `'local'` &#124; <br/> `'remote'` &#124; <br/> `'hybrid'` &#124; <br/> `'plugin'` &#124; <br/> `string` | `'local'` | `'hybrid'` | • `'local'`: управление только локально.<br/>• `'remote'`: управление только удаленно (CMS).<br/>• `'hybrid'`: управление и локально, и удаленно.<br/>• `'plugin'` или кастомная строка: управление плагином или кастомным источником. |
864
896
  | `importMode` | Управляет способом импорта словарей. | `'static'` &#124; <br/> `'dynamic'` &#124; <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: статический импорт.<br/>• `'dynamic'`: динамический импорт через Suspense.<br/>• `'fetch'`: получение через Live Sync API; откат к `'dynamic'` при неудаче.<br/>• Требует плагины `@intlayer/babel` и `@intlayer/swc`.<br/>• Ключи должны быть объявлены статически.<br/>• Игнорируется, если `optimize` выключен.<br/>• Не влияет на `getIntlayer`, `getDictionary` и т.д. |
897
+ | `format` | Формат сообщений по умолчанию для всех словарей в проекте. | `'intlayer'` &#124; <br/> `'icu'` &#124; <br/> `'i18next'` &#124; <br/> `'vue-i18n'` &#124; <br/> `'po'` | `'intlayer'` | `'icu'` | • `'intlayer'`: Собственный формат intlayer.<br/>• `'icu'`: Формат сообщений ICU.<br/>• `'i18next'`: Формат i18next.<br/>• `'vue-i18n'`: Формат Vue I18n.<br/>• `'po'`: Формат GNU Gettext PO. |
865
898
  | `priority` | Приоритет словаря. Более высокие значения побеждают более низкие при разрешении конфликтов между словарями. | `number` | `undefined` | `1` | |
866
899
  | `live` | Устарело - используйте `importMode: 'fetch'`. Указывало, должен ли контент словаря получаться динамически через Live Sync API. | `boolean` | `undefined` | | Переименовано в `importMode: 'fetch'` в v8.0.0. |
867
900
  | `schema` | Генерируется автоматически Intlayer для валидации JSON-схемы. | `'https://intlayer.org/schema.json'` | авто-генерация | | Не редактируйте вручную. |
@@ -27,47 +27,215 @@ author: aymericzip
27
27
 
28
28
  ## Настройка Условного Контента
29
29
 
30
- Чтобы настроить условный контент в вашем проекте Intlayer, создайте модуль контента, который включает ваши условные определения. Ниже приведены примеры в различных форматах.
31
-
32
- ```typescript fileName="**/*.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
33
- import { cond, type Dictionary } from "intlayer";
34
-
35
- const myConditionalContent = {
36
- key: "my_key",
37
- content: {
38
- myCondition: cond({
39
- true: "мой контент, когда условие истинно",
40
- false: "мой контент, когда условие ложно",
41
- fallback: "мой контент, когда условие не выполнено", // Необязательно
42
- }),
43
- },
44
- } satisfies Dictionary;
45
-
46
- export default myConditionalContent;
47
- ```
48
-
49
- ```json5 fileName="**/*.content.json" contentDeclarationFormat="json"
50
- {
51
- "$schema": "https://intlayer.org/schema.json",
52
- "key": "my_key",
53
- "content": {
54
- "myCondition": {
55
- "nodeType": "condition",
56
- "condition": {
57
- "true": "мой контент, когда условие истинно",
58
- "false": "мой контент, когда условие ложно",
59
- "fallback": "мой контент, когда условие не выполнено", // Необязательно
60
- },
61
- },
62
- },
30
+ <Tabs group="framework">
31
+ <Tab label="React" value="react">
32
+
33
+ To utilize conditional content within a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This hook fetches the content for the specified key and allows you to pass in a condition to select the appropriate output.
34
+
35
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
36
+ import type { FC } from "react";
37
+ import { useIntlayer } from "react-intlayer";
38
+
39
+ const ConditionalComponent: FC = () => {
40
+ const { myCondition } = useIntlayer("my_key");
41
+
42
+ return (
43
+ <div>
44
+ <p>
45
+ {
46
+ /* Output: my content when it's true */
47
+ myCondition(true)
48
+ }
49
+ </p>
50
+ <p>
51
+ {
52
+ /* Output: my content when it's false */
53
+ myCondition(false)
54
+ }
55
+ </p>
56
+ <p>
57
+ {
58
+ /* Output: my content when the condition fails */
59
+ myCondition("")
60
+ }
61
+ </p>
62
+ <p>
63
+ {
64
+ /* Output: my content when the condition fails */
65
+ myCondition(undefined)
66
+ }
67
+ </p>
68
+ </div>
69
+ );
70
+ };
71
+
72
+ export default ConditionalComponent;
73
+ ```
74
+
75
+ </Tab>
76
+ <Tab label="Next.js" value="nextjs">
77
+
78
+ To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
79
+
80
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
81
+ "use client";
82
+
83
+ import type { FC } from "react";
84
+ import { useIntlayer } from "next-intlayer";
85
+
86
+ const ConditionalComponent: FC = () => {
87
+ const { myCondition } = useIntlayer("my_key");
88
+
89
+ return (
90
+ <div>
91
+ <p>{myCondition(true)}</p>
92
+ <p>{myCondition(false)}</p>
93
+ </div>
94
+ );
95
+ };
96
+
97
+ export default ConditionalComponent;
98
+ ```
99
+
100
+ </Tab>
101
+ <Tab label="Vue" value="vue">
102
+
103
+ To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
104
+
105
+ ```vue fileName="**/*.vue"
106
+ <script setup lang="ts">
107
+ import { useIntlayer } from "vue-intlayer";
108
+
109
+ const { myCondition } = useIntlayer("my_key");
110
+ </script>
111
+
112
+ <template>
113
+ <div>
114
+ <p>{{ myCondition(true) }}</p>
115
+ <p>{{ myCondition(false) }}</p>
116
+ </div>
117
+ </template>
118
+ ```
119
+
120
+ </Tab>
121
+ <Tab label="Svelte" value="svelte">
122
+
123
+ To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
124
+
125
+ ```svelte fileName="**/*.svelte"
126
+ <script lang="ts">
127
+ import { useIntlayer } from "svelte-intlayer";
128
+
129
+ const content = useIntlayer("my_key");
130
+ </script>
131
+
132
+ <div>
133
+ <p>{$content.myCondition(true)}</p>
134
+ <p>{$content.myCondition(false)}</p>
135
+ </div>
136
+ ```
137
+
138
+ </Tab>
139
+ <Tab label="Preact" value="preact">
140
+
141
+ To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
142
+
143
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
144
+ import type { FC } from "preact";
145
+ import { useIntlayer } from "preact-intlayer";
146
+
147
+ const ConditionalComponent: FC = () => {
148
+ const { myCondition } = useIntlayer("my_key");
149
+
150
+ return (
151
+ <div>
152
+ <p>{myCondition(true)}</p>
153
+ <p>{myCondition(false)}</p>
154
+ </div>
155
+ );
156
+ };
157
+
158
+ export default ConditionalComponent;
159
+ ```
160
+
161
+ </Tab>
162
+ <Tab label="Solid" value="solid">
163
+
164
+ To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
165
+
166
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
167
+ import type { Component } from "solid-js";
168
+ import { useIntlayer } from "solid-intlayer";
169
+
170
+ const ConditionalComponent: Component = () => {
171
+ const { myCondition } = useIntlayer("my_key");
172
+
173
+ return (
174
+ <div>
175
+ <p>{myCondition(true)}</p>
176
+ <p>{myCondition(false)}</p>
177
+ </div>
178
+ );
179
+ };
180
+
181
+ export default ConditionalComponent;
182
+ ```
183
+
184
+ </Tab>
185
+ <Tab label="Angular" value="angular">
186
+
187
+ To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
188
+
189
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
190
+ import { Component } from "@angular/core";
191
+ import { useIntlayer } from "angular-intlayer";
192
+
193
+ @Component({
194
+ selector: "app-conditional",
195
+ template: `
196
+ <div>
197
+ <p>{{ content().myCondition(true) }}</p>
198
+ <p>{{ content().myCondition(false) }}</p>
199
+ </div>
200
+ `,
201
+ })
202
+ export class ConditionalComponent {
203
+ content = useIntlayer("my_key");
63
204
  }
64
205
  ```
65
206
 
66
- > Если fallback не указан, последняя объявленная ключевая запись будет использоваться в качестве fallback, если условие не выполнено.
207
+ </Tab>
208
+ <Tab label="Vanilla JS" value="vanilla">
209
+
210
+ To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
211
+
212
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
213
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
67
214
 
215
+ installIntlayer();
216
+
217
+ const content = useIntlayer("my_key").onChange((newContent) => {
218
+ document.getElementById("true-content")!.textContent =
219
+ newContent.myCondition(true);
220
+ document.getElementById("false-content")!.textContent =
221
+ newContent.myCondition(false);
222
+ });
223
+
224
+ // Initial render
225
+ document.getElementById("true-content")!.textContent =
226
+ content.myCondition(true);
227
+ document.getElementById("false-content")!.textContent =
228
+ content.myCondition(false);
229
+ ```
230
+
231
+ </Tab>
232
+ </Tabs>
68
233
  ## Использование Условного Контента с React Intlayer
69
234
 
70
- Чтобы использовать условный контент в React-компоненте, импортируйте и используйте хук `useIntlayer` из пакета `react-intlayer`. Этот хук извлекает контент для указанного ключа и позволяет передавать условие для выбора соответствующего результата.
235
+ <Tabs group="framework">
236
+ <Tab label="React" value="react">
237
+
238
+ To utilize conditional content within a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This hook fetches the content for the specified key and allows you to pass in a condition to select the appropriate output.
71
239
 
72
240
  ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
73
241
  import type { FC } from "react";
@@ -80,25 +248,25 @@ const ConditionalComponent: FC = () => {
80
248
  <div>
81
249
  <p>
82
250
  {
83
- /* Вывод: мой контент, когда условие истинно */
251
+ /* Output: my content when it's true */
84
252
  myCondition(true)
85
253
  }
86
254
  </p>
87
255
  <p>
88
256
  {
89
- /* Вывод: мой контент, когда условие ложно */
257
+ /* Output: my content when it's false */
90
258
  myCondition(false)
91
259
  }
92
260
  </p>
93
261
  <p>
94
262
  {
95
- /* Вывод: мой контент, когда условие не выполнено */
263
+ /* Output: my content when the condition fails */
96
264
  myCondition("")
97
265
  }
98
266
  </p>
99
267
  <p>
100
268
  {
101
- /* Вывод: мой контент, когда условие не выполнено */
269
+ /* Output: my content when the condition fails */
102
270
  myCondition(undefined)
103
271
  }
104
272
  </p>
@@ -109,6 +277,165 @@ const ConditionalComponent: FC = () => {
109
277
  export default ConditionalComponent;
110
278
  ```
111
279
 
280
+ </Tab>
281
+ <Tab label="Next.js" value="nextjs">
282
+
283
+ To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
284
+
285
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
286
+ "use client";
287
+
288
+ import type { FC } from "react";
289
+ import { useIntlayer } from "next-intlayer";
290
+
291
+ const ConditionalComponent: FC = () => {
292
+ const { myCondition } = useIntlayer("my_key");
293
+
294
+ return (
295
+ <div>
296
+ <p>{myCondition(true)}</p>
297
+ <p>{myCondition(false)}</p>
298
+ </div>
299
+ );
300
+ };
301
+
302
+ export default ConditionalComponent;
303
+ ```
304
+
305
+ </Tab>
306
+ <Tab label="Vue" value="vue">
307
+
308
+ To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
309
+
310
+ ```vue fileName="**/*.vue"
311
+ <script setup lang="ts">
312
+ import { useIntlayer } from "vue-intlayer";
313
+
314
+ const { myCondition } = useIntlayer("my_key");
315
+ </script>
316
+
317
+ <template>
318
+ <div>
319
+ <p>{{ myCondition(true) }}</p>
320
+ <p>{{ myCondition(false) }}</p>
321
+ </div>
322
+ </template>
323
+ ```
324
+
325
+ </Tab>
326
+ <Tab label="Svelte" value="svelte">
327
+
328
+ To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
329
+
330
+ ```svelte fileName="**/*.svelte"
331
+ <script lang="ts">
332
+ import { useIntlayer } from "svelte-intlayer";
333
+
334
+ const content = useIntlayer("my_key");
335
+ </script>
336
+
337
+ <div>
338
+ <p>{$content.myCondition(true)}</p>
339
+ <p>{$content.myCondition(false)}</p>
340
+ </div>
341
+ ```
342
+
343
+ </Tab>
344
+ <Tab label="Preact" value="preact">
345
+
346
+ To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
347
+
348
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
349
+ import type { FC } from "preact";
350
+ import { useIntlayer } from "preact-intlayer";
351
+
352
+ const ConditionalComponent: FC = () => {
353
+ const { myCondition } = useIntlayer("my_key");
354
+
355
+ return (
356
+ <div>
357
+ <p>{myCondition(true)}</p>
358
+ <p>{myCondition(false)}</p>
359
+ </div>
360
+ );
361
+ };
362
+
363
+ export default ConditionalComponent;
364
+ ```
365
+
366
+ </Tab>
367
+ <Tab label="Solid" value="solid">
368
+
369
+ To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
370
+
371
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
372
+ import type { Component } from "solid-js";
373
+ import { useIntlayer } from "solid-intlayer";
374
+
375
+ const ConditionalComponent: Component = () => {
376
+ const { myCondition } = useIntlayer("my_key");
377
+
378
+ return (
379
+ <div>
380
+ <p>{myCondition(true)}</p>
381
+ <p>{myCondition(false)}</p>
382
+ </div>
383
+ );
384
+ };
385
+
386
+ export default ConditionalComponent;
387
+ ```
388
+
389
+ </Tab>
390
+ <Tab label="Angular" value="angular">
391
+
392
+ To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
393
+
394
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
395
+ import { Component } from "@angular/core";
396
+ import { useIntlayer } from "angular-intlayer";
397
+
398
+ @Component({
399
+ selector: "app-conditional",
400
+ template: `
401
+ <div>
402
+ <p>{{ content().myCondition(true) }}</p>
403
+ <p>{{ content().myCondition(false) }}</p>
404
+ </div>
405
+ `,
406
+ })
407
+ export class ConditionalComponent {
408
+ content = useIntlayer("my_key");
409
+ }
410
+ ```
411
+
412
+ </Tab>
413
+ <Tab label="Vanilla JS" value="vanilla">
414
+
415
+ To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
416
+
417
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
418
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
419
+
420
+ installIntlayer();
421
+
422
+ const content = useIntlayer("my_key").onChange((newContent) => {
423
+ document.getElementById("true-content")!.textContent =
424
+ newContent.myCondition(true);
425
+ document.getElementById("false-content")!.textContent =
426
+ newContent.myCondition(false);
427
+ });
428
+
429
+ // Initial render
430
+ document.getElementById("true-content")!.textContent =
431
+ content.myCondition(true);
432
+ document.getElementById("false-content")!.textContent =
433
+ content.myCondition(false);
434
+ ```
435
+
436
+ </Tab>
437
+ </Tabs>
438
+
112
439
  ## Дополнительные Ресурсы
113
440
 
114
441
  Для получения более подробной информации о настройке и использовании обратитесь к следующим ресурсам: