@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
@@ -61,7 +61,10 @@ export default myFileContent;
61
61
 
62
62
  ## 在 React Intlayer 中使用文件内容
63
63
 
64
- 要在 React 组件中使用嵌入的文件内容,请从 `react-intlayer` 包中导入并使用 `useIntlayer` 钩子。该钩子会从指定的 key 中获取内容,并允许动态显示。
64
+ <Tabs group="framework">
65
+ <Tab label="React" value="react">
66
+
67
+ To use embedded file content in a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This retrieves the content from the specified key and allows it to be displayed dynamically.
65
68
 
66
69
  ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
67
70
  import type { FC } from "react";
@@ -80,6 +83,153 @@ const FileComponent: FC = () => {
80
83
  export default FileComponent;
81
84
  ```
82
85
 
86
+ </Tab>
87
+ <Tab label="Next.js" value="nextjs">
88
+
89
+ To use embedded file content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
90
+
91
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
92
+ "use client";
93
+
94
+ import type { FC } from "react";
95
+ import { useIntlayer } from "next-intlayer";
96
+
97
+ const FileComponent: FC = () => {
98
+ const { myFile } = useIntlayer("my_key");
99
+
100
+ return (
101
+ <div>
102
+ <pre>{myFile}</pre>
103
+ </div>
104
+ );
105
+ };
106
+
107
+ export default FileComponent;
108
+ ```
109
+
110
+ </Tab>
111
+ <Tab label="Vue" value="vue">
112
+
113
+ To use embedded file content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
114
+
115
+ ```vue fileName="**/*.vue"
116
+ <script setup lang="ts">
117
+ import { useIntlayer } from "vue-intlayer";
118
+
119
+ const { myFile } = useIntlayer("my_key");
120
+ </script>
121
+
122
+ <template>
123
+ <div>
124
+ <pre>{{ myFile }}</pre>
125
+ </div>
126
+ </template>
127
+ ```
128
+
129
+ </Tab>
130
+ <Tab label="Svelte" value="svelte">
131
+
132
+ To use embedded file content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
133
+
134
+ ```svelte fileName="**/*.svelte"
135
+ <script lang="ts">
136
+ import { useIntlayer } from "svelte-intlayer";
137
+
138
+ const content = useIntlayer("my_key");
139
+ </script>
140
+
141
+ <div>
142
+ <pre>{$content.myFile}</pre>
143
+ </div>
144
+ ```
145
+
146
+ </Tab>
147
+ <Tab label="Preact" value="preact">
148
+
149
+ To use embedded file content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
150
+
151
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
152
+ import type { FC } from "preact";
153
+ import { useIntlayer } from "preact-intlayer";
154
+
155
+ const FileComponent: FC = () => {
156
+ const { myFile } = useIntlayer("my_key");
157
+
158
+ return (
159
+ <div>
160
+ <pre>{myFile}</pre>
161
+ </div>
162
+ );
163
+ };
164
+
165
+ export default FileComponent;
166
+ ```
167
+
168
+ </Tab>
169
+ <Tab label="Solid" value="solid">
170
+
171
+ To use embedded file content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
172
+
173
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
174
+ import type { Component } from "solid-js";
175
+ import { useIntlayer } from "solid-intlayer";
176
+
177
+ const FileComponent: Component = () => {
178
+ const { myFile } = useIntlayer("my_key");
179
+
180
+ return (
181
+ <div>
182
+ <pre>{myFile}</pre>
183
+ </div>
184
+ );
185
+ };
186
+
187
+ export default FileComponent;
188
+ ```
189
+
190
+ </Tab>
191
+ <Tab label="Angular" value="angular">
192
+
193
+ To use embedded file content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
194
+
195
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
196
+ import { Component } from "@angular/core";
197
+ import { useIntlayer } from "angular-intlayer";
198
+
199
+ @Component({
200
+ selector: "app-file",
201
+ template: `
202
+ <div>
203
+ <pre>{{ content().myFile }}</pre>
204
+ </div>
205
+ `,
206
+ })
207
+ export class FileComponent {
208
+ content = useIntlayer("my_key");
209
+ }
210
+ ```
211
+
212
+ </Tab>
213
+ <Tab label="Vanilla JS" value="vanilla">
214
+
215
+ To use embedded file content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
216
+
217
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
218
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
219
+
220
+ installIntlayer();
221
+
222
+ const content = useIntlayer("my_key").onChange((newContent) => {
223
+ document.getElementById("file-content")!.textContent = newContent.myFile;
224
+ });
225
+
226
+ // Initial render
227
+ document.getElementById("file-content")!.textContent = content.myFile;
228
+ ```
229
+
230
+ </Tab>
231
+ </Tabs>
232
+
83
233
  ## 多语言 Markdown 示例
84
234
 
85
235
  为了支持多语言可编辑的 Markdown 文件,您可以结合使用 `file`、`t()` 和 `md()` 来定义 Markdown 内容文件的不同语言版本。
@@ -71,7 +71,10 @@ export default myGenderContent;
71
71
 
72
72
  ## 在 React Intlayer 中使用基于性别的内容
73
73
 
74
- 要在 React 组件中使用基于性别的内容,请从 `react-intlayer` 包中导入并使用 `useIntlayer` 钩子。该钩子会获取指定键的内容,并允许你传入性别以选择合适的输出。
74
+ <Tabs group="framework">
75
+ <Tab label="React" value="react">
76
+
77
+ To utilize gender-based 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 gender to select the appropriate output.
75
78
 
76
79
  ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
77
80
  import type { FC } from "react";
@@ -84,37 +87,37 @@ const GenderComponent: FC = () => {
84
87
  <div>
85
88
  <p>
86
89
  {
87
- /* 输出:针对男性用户的内容 */
90
+ /* Output: my content for male users */
88
91
  myGender("male")
89
92
  }
90
93
  </p>
91
94
  <p>
92
95
  {
93
- /* 输出:针对女性用户的内容 */
96
+ /* Output: my content for female users */
94
97
  myGender("female")
95
98
  }
96
99
  </p>
97
100
  <p>
98
101
  {
99
- /* 输出:针对男性用户的内容 */
102
+ /* Output: my content for male users */
100
103
  myGender("m")
101
104
  }
102
105
  </p>
103
106
  <p>
104
107
  {
105
- /* 输出:针对女性用户的内容 */
108
+ /* Output: my content for female users */
106
109
  myGender("f")
107
110
  }
108
111
  </p>
109
112
  <p>
110
113
  {
111
- /* 输出:当未指定性别时的内容 */
114
+ /* Output: my content when gender is not specified */
112
115
  myGender("")
113
116
  }
114
117
  </p>
115
118
  <p>
116
119
  {
117
- /* 输出:当未指定性别时的内容 */
120
+ /* Output: my content when gender is not specified */
118
121
  myGender(undefined)
119
122
  }
120
123
  </p>
@@ -125,6 +128,164 @@ const GenderComponent: FC = () => {
125
128
  export default GenderComponent;
126
129
  ```
127
130
 
131
+ </Tab>
132
+ <Tab label="Next.js" value="nextjs">
133
+
134
+ To utilize gender-based content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
135
+
136
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
137
+ "use client";
138
+
139
+ import type { FC } from "react";
140
+ import { useIntlayer } from "next-intlayer";
141
+
142
+ const GenderComponent: FC = () => {
143
+ const { myGender } = useIntlayer("my_key");
144
+
145
+ return (
146
+ <div>
147
+ <p>{myGender("male")}</p>
148
+ <p>{myGender("female")}</p>
149
+ </div>
150
+ );
151
+ };
152
+
153
+ export default GenderComponent;
154
+ ```
155
+
156
+ </Tab>
157
+ <Tab label="Vue" value="vue">
158
+
159
+ To utilize gender-based content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
160
+
161
+ ```vue fileName="**/*.vue"
162
+ <script setup lang="ts">
163
+ import { useIntlayer } from "vue-intlayer";
164
+
165
+ const { myGender } = useIntlayer("my_key");
166
+ </script>
167
+
168
+ <template>
169
+ <div>
170
+ <p>{{ myGender("male") }}</p>
171
+ <p>{{ myGender("female") }}</p>
172
+ </div>
173
+ </template>
174
+ ```
175
+
176
+ </Tab>
177
+ <Tab label="Svelte" value="svelte">
178
+
179
+ To utilize gender-based content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
180
+
181
+ ```svelte fileName="**/*.svelte"
182
+ <script lang="ts">
183
+ import { useIntlayer } from "svelte-intlayer";
184
+
185
+ const content = useIntlayer("my_key");
186
+ </script>
187
+
188
+ <div>
189
+ <p>{$content.myGender("male")}</p>
190
+ <p>{$content.myGender("female")}</p>
191
+ </div>
192
+ ```
193
+
194
+ </Tab>
195
+ <Tab label="Preact" value="preact">
196
+
197
+ To utilize gender-based content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
198
+
199
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
200
+ import type { FC } from "preact";
201
+ import { useIntlayer } from "preact-intlayer";
202
+
203
+ const GenderComponent: FC = () => {
204
+ const { myGender } = useIntlayer("my_key");
205
+
206
+ return (
207
+ <div>
208
+ <p>{myGender("male")}</p>
209
+ <p>{myGender("female")}</p>
210
+ </div>
211
+ );
212
+ };
213
+
214
+ export default GenderComponent;
215
+ ```
216
+
217
+ </Tab>
218
+ <Tab label="Solid" value="solid">
219
+
220
+ To utilize gender-based content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
221
+
222
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
223
+ import type { Component } from "solid-js";
224
+ import { useIntlayer } from "solid-intlayer";
225
+
226
+ const GenderComponent: Component = () => {
227
+ const { myGender } = useIntlayer("my_key");
228
+
229
+ return (
230
+ <div>
231
+ <p>{myGender("male")}</p>
232
+ <p>{myGender("female")}</p>
233
+ </div>
234
+ );
235
+ };
236
+
237
+ export default GenderComponent;
238
+ ```
239
+
240
+ </Tab>
241
+ <Tab label="Angular" value="angular">
242
+
243
+ To utilize gender-based content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
244
+
245
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
246
+ import { Component } from "@angular/core";
247
+ import { useIntlayer } from "angular-intlayer";
248
+
249
+ @Component({
250
+ selector: "app-gender",
251
+ template: `
252
+ <div>
253
+ <p>{{ content().myGender("male") }}</p>
254
+ <p>{{ content().myGender("female") }}</p>
255
+ </div>
256
+ `,
257
+ })
258
+ export class GenderComponent {
259
+ content = useIntlayer("my_key");
260
+ }
261
+ ```
262
+
263
+ </Tab>
264
+ <Tab label="Vanilla JS" value="vanilla">
265
+
266
+ To utilize gender-based content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
267
+
268
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
269
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
270
+
271
+ installIntlayer();
272
+
273
+ const content = useIntlayer("my_key").onChange((newContent) => {
274
+ document.getElementById("gender-male")!.textContent =
275
+ newContent.myGender("male");
276
+ document.getElementById("gender-female")!.textContent =
277
+ newContent.myGender("female");
278
+ });
279
+
280
+ // Initial render
281
+ document.getElementById("gender-male")!.textContent = content.myGender("male");
282
+ document.getElementById("gender-female")!.textContent =
283
+ content.myGender("female");
284
+ ```
285
+
286
+ </Tab>
287
+ </Tabs>
288
+
128
289
  ## 附加资源
129
290
 
130
291
  有关配置和使用的更详细信息,请参阅以下资源:
@@ -27,89 +27,197 @@ author: aymericzip
27
27
 
28
28
  ## 设置嵌套
29
29
 
30
- 要在您的 Intlayer 项目中设置嵌套,您首先需要定义您希望重用的基础内容。然后,在一个单独的内容模块中,使用 `nest` 函数导入该内容。
30
+ <Tabs group="framework">
31
+ <Tab label="React" value="react">
31
32
 
32
- ### 基础字典
33
+ To use nested content in a React component, leverage the `useIntlayer` hook from the `react-intlayer` package. This hook retrieves the correct content based on the specified key. Here's an example of how to use it:
33
34
 
34
- 以下是一个基础字典的示例,用于在另一个字典中嵌套:
35
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
36
+ import type { FC } from "react";
37
+ import { useIntlayer } from "react-intlayer";
35
38
 
36
- ```typescript fileName="firstDictionary.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
37
- import { type Dictionary } from "intlayer";
39
+ const NestComponent: FC = () => {
40
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
41
+ "key_of_my_second_dictionary"
42
+ );
38
43
 
39
- const firstDictionary = {
40
- key: "key_of_my_first_dictionary",
41
- content: {
42
- content: "content",
43
- subContent: {
44
- contentNumber: 0,
45
- contentString: "string",
46
- },
47
- },
48
- } satisfies Dictionary;
44
+ return (
45
+ <div>
46
+ <p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
47
+ <p>Partial Nested Value: {partialNestedContent}</p>
48
+ </div>
49
+ );
50
+ };
49
51
 
50
- export default firstDictionary;
52
+ export default NestComponent;
51
53
  ```
52
54
 
53
- ```json fileName="firstDictionary.content.json" contentDeclarationFormat="json"
54
- {
55
- "$schema": "https://intlayer.org/schema.json",
56
- "key": "key_of_my_first_dictionary",
57
- "content": {
58
- "content": "content",
59
- "subContent": {
60
- "contentNumber": 0,
61
- "contentString": "string"
62
- }
63
- }
64
- }
55
+ </Tab>
56
+ <Tab label="Next.js" value="nextjs">
57
+
58
+ To use nested content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
59
+
60
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
61
+ "use client";
62
+
63
+ import type { FC } from "react";
64
+ import { useIntlayer } from "next-intlayer";
65
+
66
+ const NestComponent: FC = () => {
67
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
68
+ "key_of_my_second_dictionary"
69
+ );
70
+
71
+ return (
72
+ <div>
73
+ <p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
74
+ <p>Partial Nested Value: {partialNestedContent}</p>
75
+ </div>
76
+ );
77
+ };
78
+
79
+ export default NestComponent;
65
80
  ```
66
81
 
67
- ### 使用 Nest 引用
82
+ </Tab>
83
+ <Tab label="Vue" value="vue">
68
84
 
69
- 现在,创建另一个内容模块,使用 `nest` 函数引用上述内容。您可以引用整个内容或特定的嵌套值:
85
+ To use nested content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
70
86
 
71
- ```typescript fileName="secondDictionary.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
72
- import { nest, type Dictionary } from "intlayer";
87
+ ```vue fileName="**/*.vue"
88
+ <script setup lang="ts">
89
+ import { useIntlayer } from "vue-intlayer";
73
90
 
74
- const myNestingContent = {
75
- key: "key_of_my_second_dictionary",
76
- content: {
77
- // 引用整个字典:
78
- fullNestedContent: nest("key_of_my_first_dictionary"),
79
- // 引用特定的嵌套值:
80
- partialNestedContent: nest(
81
- "key_of_my_first_dictionary",
82
- "subContent.contentNumber"
83
- ),
84
- },
85
- } satisfies Dictionary;
91
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
92
+ "key_of_my_second_dictionary"
93
+ );
94
+ </script>
86
95
 
87
- export default myNestingContent;
96
+ <template>
97
+ <div>
98
+ <p>Full Nested Content: {{ JSON.stringify(fullNestedContent) }}</p>
99
+ <p>Partial Nested Value: {{ partialNestedContent }}</p>
100
+ </div>
101
+ </template>
88
102
  ```
89
103
 
90
- ```json fileName="secondDictionary.content.json" contentDeclarationFormat="json"
91
- {
92
- "$schema": "https://intlayer.org/schema.json",
93
- "key": "key_of_my_second_dictionary",
94
- "content": {
95
- "fullNestedContent": {
96
- "nodeType": "nested",
97
- "nested": {
98
- "dictionaryKey": "key_of_my_first_dictionary"
99
- }
100
- },
101
- "partialNestedContent": {
102
- "nodeType": "nested",
103
- "nested": {
104
- "dictionaryKey": "key_of_my_first_dictionary",
105
- "path": "subContent.contentNumber"
106
- }
107
- }
108
- }
104
+ </Tab>
105
+ <Tab label="Svelte" value="svelte">
106
+
107
+ To use nested content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
108
+
109
+ ```svelte fileName="**/*.svelte"
110
+ <script lang="ts">
111
+ import { useIntlayer } from "svelte-intlayer";
112
+
113
+ const content = useIntlayer("key_of_my_second_dictionary");
114
+ </script>
115
+
116
+ <div>
117
+ <p>Full Nested Content: {JSON.stringify($content.fullNestedContent)}</p>
118
+ <p>Partial Nested Value: {$content.partialNestedContent}</p>
119
+ </div>
120
+ ```
121
+
122
+ </Tab>
123
+ <Tab label="Preact" value="preact">
124
+
125
+ To use nested content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
126
+
127
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
128
+ import type { FC } from "preact";
129
+ import { useIntlayer } from "preact-intlayer";
130
+
131
+ const NestComponent: FC = () => {
132
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
133
+ "key_of_my_second_dictionary"
134
+ );
135
+
136
+ return (
137
+ <div>
138
+ <p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
139
+ <p>Partial Nested Value: {partialNestedContent}</p>
140
+ </div>
141
+ );
142
+ };
143
+
144
+ export default NestComponent;
145
+ ```
146
+
147
+ </Tab>
148
+ <Tab label="Solid" value="solid">
149
+
150
+ To use nested content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
151
+
152
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
153
+ import type { Component } from "solid-js";
154
+ import { useIntlayer } from "solid-intlayer";
155
+
156
+ const NestComponent: Component = () => {
157
+ const { fullNestedContent, partialNestedContent } = useIntlayer(
158
+ "key_of_my_second_dictionary"
159
+ );
160
+
161
+ return (
162
+ <div>
163
+ <p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
164
+ <p>Partial Nested Value: {partialNestedContent}</p>
165
+ </div>
166
+ );
167
+ };
168
+
169
+ export default NestComponent;
170
+ ```
171
+
172
+ </Tab>
173
+ <Tab label="Angular" value="angular">
174
+
175
+ To use nested content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
176
+
177
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
178
+ import { Component } from "@angular/core";
179
+ import { useIntlayer } from "angular-intlayer";
180
+
181
+ @Component({
182
+ selector: "app-nest",
183
+ template: `
184
+ <div>
185
+ <p>
186
+ Full Nested Content: {{ JSON.stringify(content().fullNestedContent) }}
187
+ </p>
188
+ <p>Partial Nested Value: {{ content().partialNestedContent }}</p>
189
+ </div>
190
+ `,
191
+ })
192
+ export class NestComponent {
193
+ content = useIntlayer("key_of_my_second_dictionary");
194
+ JSON = JSON;
109
195
  }
110
196
  ```
111
197
 
112
- 作为第二个参数,您可以指定该内容中嵌套值的路径。如果未提供路径,则返回引用字典的整个内容。
198
+ </Tab>
199
+ <Tab label="Vanilla JS" value="vanilla">
200
+
201
+ To use nested content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
202
+
203
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
204
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
205
+
206
+ installIntlayer();
207
+
208
+ const content = useIntlayer("key_of_my_second_dictionary").onChange(
209
+ (newContent) => {
210
+ document.getElementById("nested")!.textContent =
211
+ newContent.partialNestedContent;
212
+ }
213
+ );
214
+
215
+ // Initial render
216
+ document.getElementById("nested")!.textContent = content.partialNestedContent;
217
+ ```
218
+
219
+ </Tab>
220
+ </Tabs>
113
221
 
114
222
  ## 在 React Intlayer 中使用嵌套
115
223