@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-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-06-17
4
4
  title: 审核文档
5
5
  description: 学习如何审核不同语言版本的文档文件,以确保质量、一致性和完整性。
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 选项"
18
22
  author: aymericzip
19
23
  ---
20
24
 
@@ -55,8 +59,110 @@ bun x intlayer doc review
55
59
 
56
60
  ## 参数:
57
61
 
58
- `doc review` 命令接受与 `doc translate` 相同的参数,允许您审核特定的文档文件并应用质量检查。
62
+ **文件列表选项:**
59
63
 
60
- 如果您启用了其中一个 git 选项,命令将只审核文件中发生更改的部分。脚本会将文件分块处理并审核每个块。如果某个块没有更改,脚本将跳过该块,以加快审核过程并限制 AI 提供商 API 的成本。
64
+ - **`--doc-pattern [docPattern...]`**:匹配要审核的文档文件的全局模式。
61
65
 
62
- 有关完整的参数列表,请参阅[翻译文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/doc-translate.md)命令文档。
66
+ > 示例:`npx intlayer doc review --doc-pattern "docs/**/*.md" "src/**/*.mdx"`
67
+
68
+ - **`--excluded-glob-pattern [excludedGlobPattern...]`**:排除不审核的文件的全局匹配模式。
69
+
70
+ > 示例:`npx intlayer doc review --excluded-glob-pattern "docs/internal/**"`
71
+
72
+ - **`--skip-if-modified-before [skipIfModifiedBefore]`**:如果文件在指定时间之前被修改,则跳过该文件。
73
+ - 可以是绝对时间,如 "2025-12-05"(字符串或 Date 类型)
74
+ - 可以是相对时间,单位为毫秒,如 `1 * 60 * 60 * 1000`(1 小时)
75
+ - 此选项通过 `fs.stat` 方法检查文件的更新时间,因此可能会受到 Git 或其他修改文件工具的影响。
76
+
77
+ > 示例:`npx intlayer doc review --skip-if-modified-before "2025-12-05"`
78
+
79
+ - **`--skip-if-modified-after [skipIfModifiedAfter]`**:如果文件在指定时间内被修改,则跳过该文件。
80
+ - 可以是绝对时间,如 "2025-12-05"(字符串或 Date 类型)
81
+ - 可以是相对时间,单位为毫秒,如 `1 * 60 * 60 * 1000`(1 小时)
82
+ - 此选项通过 `fs.stat` 方法检查文件的更新时间,因此可能会受到 Git 或其他修改文件工具的影响。
83
+
84
+ > 示例:`npx intlayer doc review --skip-if-modified-after "2025-12-05"`
85
+
86
+ - **`--skip-if-exists`**:如果文件已存在,则跳过该文件。
87
+
88
+ > 示例:`npx intlayer doc review --skip-if-exists`
89
+
90
+ **审核模式选项:**
91
+
92
+ - **`--log`**:仅记录模式。不使用 AI 进行翻译;而是记录需要关注的块(带有行号和内容),供基础语言环境和目标语言环境参考,以帮助另一个代理生成翻译。
93
+
94
+ > 示例:`npx intlayer doc review --log`
95
+
96
+ **入口输出选项:**
97
+
98
+ - **`--locales [locales...]`**:目标语言,用于审核文档。
99
+
100
+ > 示例:`npx intlayer doc review --locales fr es de`
101
+
102
+ - **`--base-locale [baseLocale]`**:源语言(基础文档),用于对比的起始语言。
103
+
104
+ > 示例:`npx intlayer doc review --base-locale en`
105
+
106
+ **文件处理选项:**
107
+
108
+ - **`--nb-simultaneous-file-processed [nbSimultaneousFileProcessed]`**:同时处理审核的文件数量。
109
+
110
+ > 示例:`npx intlayer doc review --nb-simultaneous-file-processed 5`
111
+
112
+ **AI 选项:**
113
+
114
+ - **`--model [model]`**:用于审核的 AI 模型(例如,`gpt-3.5-turbo`)。
115
+ - **`--provider [provider]`**:用于审核的 AI 提供商。
116
+ - **`--temperature [temperature]`**:AI 模型的温度设置。
117
+ - **`--api-key [apiKey]`**:为 AI 服务提供您自己的 API 密钥。
118
+ - **`--application-context [applicationContext]`**:为 AI 审核提供额外的上下文信息。
119
+ - **`--data-serialization [dataSerialization]`**:用于 Intlayer AI 功能的数据序列化格式。选项:`json`(标准、可靠),`toon`(更少 token,但一致性较低)。
120
+ - **`--custom-prompt [prompt]`**:自定义用于审核的基础提示。(注意:对于大多数用例,建议使用 `--custom-instructions` 选项,因为它能更好地控制审核行为。)
121
+
122
+ > 示例:`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
+ **环境变量选项:**
125
+
126
+ - **`--env`**:指定环境(例如,`development`,`production`)。
127
+ - **`--env-file [envFile]`**:提供自定义环境文件以加载变量。
128
+ - **`--base-dir`**:指定项目的基础目录。
129
+ - **`--no-cache`**:禁用缓存。
130
+
131
+ > 示例: `npx intlayer doc review --base-dir ./docs --env-file .env.production.local`
132
+
133
+ **日志选项:**
134
+
135
+ - **`--verbose`**: 启用详细日志以便调试。(CLI 默认启用)
136
+
137
+ > 示例: `npx intlayer doc review --verbose`
138
+
139
+ **自定义指令选项:**
140
+
141
+ - **`--custom-instructions [customInstructions]`**: 添加到提示中的自定义指令。用于应用关于格式、URL 翻译等的特定规则。
142
+
143
+ > 示例: `npx intlayer doc review --custom-instructions "避免翻译网址,并保持 markdown 格式"`
144
+
145
+ > 示例: `npx intlayer doc review --custom-instructions "$(cat ./instructions.md)"`
146
+
147
+ **Git 选项:**
148
+
149
+ - **`--git-diff`**: 仅针对包含从基础分支(默认 `origin/main`)到当前分支(默认 `HEAD`)的更改的文件运行。
150
+ - **`--git-diff-base`**: 指定 git diff 的基础参考(默认 `origin/main`)。
151
+ - **`--git-diff-current`**: 指定 git diff 的当前参考(默认 `HEAD`)。
152
+ - **`--uncommitted`**: 包含未提交的更改。
153
+ - **`--unpushed`**: 包含未推送的更改。
154
+ - **`--untracked`**: 包含未跟踪的文件。
155
+
156
+ > 示例: `npx intlayer doc review --git-diff --git-diff-base origin/main --git-diff-current HEAD`
157
+
158
+ > 示例: `npx intlayer doc review --uncommitted --unpushed --untracked`
159
+
160
+ > 请注意,输出文件路径将通过替换以下模式来确定:
161
+ >
162
+ > - `/{{baseLocale}}/` 替换为 `/{{locale}}/`(Unix)
163
+ > - `\{{baseLocale}}\` 替换为 `\{{locale}}\`(Windows)
164
+ > - `_{{baseLocale}}.` 替换为 `_{{locale}}.`
165
+ > - `{{baseLocale}}_` 替换为 `{{locale}}_`
166
+ > - `.{{baseLocaleName}}.` 替换为 `.{{localeName}}.`
167
+ >
168
+ > 如果未找到上述模式,输出文件将在文件扩展名后添加 `.{{locale}}`。例如,`./my/file.md` 将被审核并为法语版本更新为 `./my/file.fr.md`。
@@ -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 命令"
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 命令"
24
24
  author: aymericzip
@@ -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: 配置
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 接受 JSON、JS、MJS 和 TS 配置文件格式:
135
138
  ````typescript fileName="intlayer.config.ts" codeFormat="typescript"
136
139
  import { Locales, type IntlayerConfig } from "intlayer";
137
140
  import { nextjsRewrite } from "intlayer/routing";
141
+ import { syncJSON } from "@intlayer/sync-json-plugin";
138
142
  import { z } from "zod";
139
143
 
140
144
  /**
@@ -585,10 +589,38 @@ const config: IntlayerConfig = {
585
589
  }),
586
590
  },
587
591
 
592
+ /**
593
+ * 字典配置。
594
+ */
595
+ dictionary: {
596
+ /**
597
+ * 控制如何导入字典。
598
+ * - "static": 在构建时静态导入。
599
+ * - "dynamic": 使用 Suspense 动态导入。
600
+ * - "fetch": 通过实时同步 API 动态获取。
601
+ */
602
+ importMode: "static",
603
+
604
+ /**
605
+ * 项目中所有字典的默认消息格式。
606
+ * - 'intlayer': 原生 intlayer 格式 (默认)。
607
+ * - 'icu': ICU 消息格式。
608
+ * - 'i18next': i18next 格式。
609
+ * - 'vue-i18n': Vue I18n 格式。
610
+ * - 'po': GNU Gettext PO 格式。
611
+ */
612
+ format: "icu",
613
+ },
614
+
588
615
  /**
589
616
  * 插件配置。
590
617
  */
591
- plugins: [],
618
+ plugins: [
619
+ syncJSON({
620
+ format: "icu",
621
+ source: ({ locale }) => `./messages/${locale}.json`,
622
+ }),
623
+ ],
592
624
  };
593
625
 
594
626
  export default config;
@@ -857,20 +889,21 @@ export default config;
857
889
 
858
890
  控制字典操作的参数,包括自动填充行为和内容生成。
859
891
 
860
- | 字段 | 说明 | 类型 | 默认值 | 示例 | 备注 |
861
- | --------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
862
- | `fill` | 控制自动填充 (AI 翻译) 输出文件的生成方式。 | `boolean` &#124; <br/> `FilePathPattern` &#124; <br/> `Partial<Record<Locale, boolean &#124; FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: 默认路径(与源文件相同)。<br/>• `false`: 禁用。<br/>• 模板字符串/函数启用按区域设置生成。<br/>• 按区域设置对象:每个区域设置对应其自己的模板;`false` 排除该区域设置。<br/>• 包含 `{{locale}}` 启用按区域设置生成。<br/>• 字典级别的 `fill` 始终优先于此全局设置。 |
863
- | `description` | 帮助编辑器和 CMS 理解字典的目的。也用作 AI 生成翻译的上下文。 | `string` | `undefined` | `'User profile section'` | |
864
- | `locale` | 将字典转换为特定区域设置格式。每个声明的字段变为一个翻译节点。如果缺少,则字典被视为多语言。 | `LocalesValues` | `undefined` | `'en'` | 如果字典是针对特定区域设置而非包含多种翻译,请使用此项。 |
865
- | `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}}')` 。 |
866
- | `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'` 或自定义字符串:通过插件或自定义源管理。 |
867
- | `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` 等。 |
868
- | `priority` | 字典优先级。在解决字典之间的冲突时,较高的值比较低的值具有优先级。 | `number` | `undefined` | `1` | |
869
- | `live` | 已弃用 - 请使用 `importMode: 'fetch'`。曾指示是否应通过 Live Sync API 动态获取字典内容。 | `boolean` | `undefined` | | 在 v8.0.0 中重命名为 `importMode: 'fetch'`。 |
870
- | `schema` | Intlayer 自动生成,用于 JSON 架构验证。 | `'https://intlayer.org/schema.json'` | 自动生成 | | 请勿手动编辑。 |
871
- | `title` | 帮助在编辑器和 CMS 中识别字典。 | `string` | `undefined` | `'User Profile'` | |
872
- | `tags` | 对字典进行分类并为编辑器和 AI 提供上下文或指令。 | `string[]` | `undefined` | `['user', 'profile']` | |
873
- | `version` | 远程字典版本;帮助跟踪当前正在使用的版本。 | `string` | `undefined` | `'1.0.0'` | • 在 CMS 中管理。<br/>• 请勿本地编辑。 |
892
+ | 字段 | 说明 | 类型 | 默认值 | 示例 | 备注 |
893
+ | --------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
894
+ | `fill` | 控制自动填充 (AI 翻译) 输出文件的生成方式。 | `boolean` &#124; <br/> `FilePathPattern` &#124; <br/> `Partial<Record<Locale, boolean &#124; FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: 默认路径(与源文件相同)。<br/>• `false`: 禁用。<br/>• 模板字符串/函数启用按区域设置生成。<br/>• 按区域设置对象:每个区域设置对应其自己的模板;`false` 排除该区域设置。<br/>• 包含 `{{locale}}` 启用按区域设置生成。<br/>• 字典级别的 `fill` 始终优先于此全局设置。 |
895
+ | `description` | 帮助编辑器和 CMS 理解字典的目的。也用作 AI 生成翻译的上下文。 | `string` | `undefined` | `'User profile section'` | |
896
+ | `locale` | 将字典转换为特定区域设置格式。每个声明的字段变为一个翻译节点。如果缺少,则字典被视为多语言。 | `LocalesValues` | `undefined` | `'en'` | 如果字典是针对特定区域设置而非包含多种翻译,请使用此项。 |
897
+ | `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}}')` 。 |
898
+ | `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'` 或自定义字符串:通过插件或自定义源管理。 |
899
+ | `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` 等。 |
900
+ | `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 格式。 |
901
+ | `priority` | 字典优先级。在解决字典之间的冲突时,较高的值比较低的值具有优先级。 | `number` | `undefined` | `1` | |
902
+ | `live` | 已弃用 - 请使用 `importMode: 'fetch'`。曾指示是否应通过 Live Sync API 动态获取字典内容。 | `boolean` | `undefined` | | 在 v8.0.0 中重命名为 `importMode: 'fetch'`。 |
903
+ | `schema` | Intlayer 自动生成,用于 JSON 架构验证。 | `'https://intlayer.org/schema.json'` | 自动生成 | | 请勿手动编辑。 |
904
+ | `title` | 帮助在编辑器和 CMS 中识别字典。 | `string` | `undefined` | `'User Profile'` | |
905
+ | `tags` | 对字典进行分类并为编辑器和 AI 提供上下文或指令。 | `string[]` | `undefined` | `['user', 'profile']` | |
906
+ | `version` | 远程字典版本;帮助跟踪当前正在使用的版本。 | `string` | `undefined` | `'1.0.0'` | • 在 CMS 中管理。<br/>• 请勿本地编辑。 |
874
907
 
875
908
  **`fill` 示例**:
876
909
 
@@ -67,7 +67,10 @@ export default myConditionalContent;
67
67
 
68
68
  ## 在 React Intlayer 中使用条件内容
69
69
 
70
- 要在 React 组件中使用条件内容,请从 `react-intlayer` 包中导入并使用 `useIntlayer` 钩子。此钩子会获取指定键的内容,并允许您传入条件以选择适当的输出。
70
+ <Tabs group="framework">
71
+ <Tab label="React" value="react">
72
+
73
+ 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
74
 
72
75
  ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
73
76
  import type { FC } from "react";
@@ -80,25 +83,25 @@ const ConditionalComponent: FC = () => {
80
83
  <div>
81
84
  <p>
82
85
  {
83
- /* 输出: 当条件为真时的内容 */
86
+ /* Output: my content when it's true */
84
87
  myCondition(true)
85
88
  }
86
89
  </p>
87
90
  <p>
88
91
  {
89
- /* 输出: 当条件为假时的内容 */
92
+ /* Output: my content when it's false */
90
93
  myCondition(false)
91
94
  }
92
95
  </p>
93
96
  <p>
94
97
  {
95
- /* 输出: 当条件不满足时的内容 */
98
+ /* Output: my content when the condition fails */
96
99
  myCondition("")
97
100
  }
98
101
  </p>
99
102
  <p>
100
103
  {
101
- /* 输出: 当条件不满足时的内容 */
104
+ /* Output: my content when the condition fails */
102
105
  myCondition(undefined)
103
106
  }
104
107
  </p>
@@ -109,6 +112,165 @@ const ConditionalComponent: FC = () => {
109
112
  export default ConditionalComponent;
110
113
  ```
111
114
 
115
+ </Tab>
116
+ <Tab label="Next.js" value="nextjs">
117
+
118
+ To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
119
+
120
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
121
+ "use client";
122
+
123
+ import type { FC } from "react";
124
+ import { useIntlayer } from "next-intlayer";
125
+
126
+ const ConditionalComponent: FC = () => {
127
+ const { myCondition } = useIntlayer("my_key");
128
+
129
+ return (
130
+ <div>
131
+ <p>{myCondition(true)}</p>
132
+ <p>{myCondition(false)}</p>
133
+ </div>
134
+ );
135
+ };
136
+
137
+ export default ConditionalComponent;
138
+ ```
139
+
140
+ </Tab>
141
+ <Tab label="Vue" value="vue">
142
+
143
+ To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
144
+
145
+ ```vue fileName="**/*.vue"
146
+ <script setup lang="ts">
147
+ import { useIntlayer } from "vue-intlayer";
148
+
149
+ const { myCondition } = useIntlayer("my_key");
150
+ </script>
151
+
152
+ <template>
153
+ <div>
154
+ <p>{{ myCondition(true) }}</p>
155
+ <p>{{ myCondition(false) }}</p>
156
+ </div>
157
+ </template>
158
+ ```
159
+
160
+ </Tab>
161
+ <Tab label="Svelte" value="svelte">
162
+
163
+ To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
164
+
165
+ ```svelte fileName="**/*.svelte"
166
+ <script lang="ts">
167
+ import { useIntlayer } from "svelte-intlayer";
168
+
169
+ const content = useIntlayer("my_key");
170
+ </script>
171
+
172
+ <div>
173
+ <p>{$content.myCondition(true)}</p>
174
+ <p>{$content.myCondition(false)}</p>
175
+ </div>
176
+ ```
177
+
178
+ </Tab>
179
+ <Tab label="Preact" value="preact">
180
+
181
+ To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
182
+
183
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
184
+ import type { FC } from "preact";
185
+ import { useIntlayer } from "preact-intlayer";
186
+
187
+ const ConditionalComponent: FC = () => {
188
+ const { myCondition } = useIntlayer("my_key");
189
+
190
+ return (
191
+ <div>
192
+ <p>{myCondition(true)}</p>
193
+ <p>{myCondition(false)}</p>
194
+ </div>
195
+ );
196
+ };
197
+
198
+ export default ConditionalComponent;
199
+ ```
200
+
201
+ </Tab>
202
+ <Tab label="Solid" value="solid">
203
+
204
+ To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
205
+
206
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
207
+ import type { Component } from "solid-js";
208
+ import { useIntlayer } from "solid-intlayer";
209
+
210
+ const ConditionalComponent: Component = () => {
211
+ const { myCondition } = useIntlayer("my_key");
212
+
213
+ return (
214
+ <div>
215
+ <p>{myCondition(true)}</p>
216
+ <p>{myCondition(false)}</p>
217
+ </div>
218
+ );
219
+ };
220
+
221
+ export default ConditionalComponent;
222
+ ```
223
+
224
+ </Tab>
225
+ <Tab label="Angular" value="angular">
226
+
227
+ To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
228
+
229
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
230
+ import { Component } from "@angular/core";
231
+ import { useIntlayer } from "angular-intlayer";
232
+
233
+ @Component({
234
+ selector: "app-conditional",
235
+ template: `
236
+ <div>
237
+ <p>{{ content().myCondition(true) }}</p>
238
+ <p>{{ content().myCondition(false) }}</p>
239
+ </div>
240
+ `,
241
+ })
242
+ export class ConditionalComponent {
243
+ content = useIntlayer("my_key");
244
+ }
245
+ ```
246
+
247
+ </Tab>
248
+ <Tab label="Vanilla JS" value="vanilla">
249
+
250
+ To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
251
+
252
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
253
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
254
+
255
+ installIntlayer();
256
+
257
+ const content = useIntlayer("my_key").onChange((newContent) => {
258
+ document.getElementById("true-content")!.textContent =
259
+ newContent.myCondition(true);
260
+ document.getElementById("false-content")!.textContent =
261
+ newContent.myCondition(false);
262
+ });
263
+
264
+ // Initial render
265
+ document.getElementById("true-content")!.textContent =
266
+ content.myCondition(true);
267
+ document.getElementById("false-content")!.textContent =
268
+ content.myCondition(false);
269
+ ```
270
+
271
+ </Tab>
272
+ </Tabs>
273
+
112
274
  ## 其他资源
113
275
 
114
276
  有关配置和使用的更多详细信息,请参考以下资源: