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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +320 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +320 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +16 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/cli/doc-review.md +110 -4
  8. package/docs/ar/cli/index.md +1 -1
  9. package/docs/ar/cli/scan.md +1 -1
  10. package/docs/ar/configuration.md +36 -3
  11. package/docs/ar/dictionary/condition.md +167 -5
  12. package/docs/ar/dictionary/enumeration.md +540 -6
  13. package/docs/ar/dictionary/file.md +151 -1
  14. package/docs/ar/dictionary/gender.md +168 -7
  15. package/docs/ar/dictionary/nesting.md +173 -65
  16. package/docs/ar/dictionary/plurial.md +174 -5
  17. package/docs/ar/dictionary/translation.md +156 -2
  18. package/docs/ar/dynamic_dictionaries/collections.md +1 -1
  19. package/docs/ar/dynamic_dictionaries/dynamic_content.md +1 -1
  20. package/docs/ar/dynamic_dictionaries/index.md +1 -1
  21. package/docs/ar/dynamic_dictionaries/variants.md +1 -1
  22. package/docs/ar/intlayer_with_vite+react.md +31 -31
  23. package/docs/ar/plugins/sync-json.md +222 -49
  24. package/docs/ar/releases/v8.md +187 -1
  25. package/docs/ar/releases/v9.md +232 -0
  26. package/docs/bn/cli/index.md +1 -1
  27. package/docs/bn/cli/scan.md +1 -1
  28. package/docs/bn/configuration.md +36 -3
  29. package/docs/cs/cli/index.md +1 -1
  30. package/docs/cs/cli/scan.md +1 -1
  31. package/docs/cs/configuration.md +35 -2
  32. package/docs/de/cli/doc-review.md +110 -4
  33. package/docs/de/cli/index.md +1 -1
  34. package/docs/de/cli/scan.md +1 -1
  35. package/docs/de/configuration.md +35 -2
  36. package/docs/de/dictionary/condition.md +167 -5
  37. package/docs/de/dictionary/enumeration.md +777 -7
  38. package/docs/de/dictionary/file.md +151 -1
  39. package/docs/de/dictionary/gender.md +168 -7
  40. package/docs/de/dictionary/nesting.md +173 -65
  41. package/docs/de/dictionary/plurial.md +347 -7
  42. package/docs/de/dictionary/translation.md +156 -2
  43. package/docs/de/dynamic_dictionaries/collections.md +1 -1
  44. package/docs/de/dynamic_dictionaries/dynamic_content.md +1 -1
  45. package/docs/de/dynamic_dictionaries/index.md +1 -1
  46. package/docs/de/dynamic_dictionaries/variants.md +1 -1
  47. package/docs/de/intlayer_with_vite+react.md +48 -48
  48. package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
  49. package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
  50. package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
  51. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  52. package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
  53. package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
  54. package/docs/de/plugins/sync-json.md +222 -49
  55. package/docs/de/releases/v8.md +197 -1
  56. package/docs/de/releases/v9.md +232 -0
  57. package/docs/en/CI_CD.md +7 -7
  58. package/docs/en/cli/ci.md +62 -8
  59. package/docs/en/cli/doc-review.md +110 -4
  60. package/docs/en/cli/index.md +1 -1
  61. package/docs/en/cli/scan.md +1 -1
  62. package/docs/en/compat/i18n-js.md +44 -0
  63. package/docs/en/compat/i18next.md +59 -0
  64. package/docs/en/compat/index.md +51 -0
  65. package/docs/en/compat/lingui.md +44 -0
  66. package/docs/en/compat/next-i18next.md +57 -0
  67. package/docs/en/compat/next-intl.md +59 -0
  68. package/docs/en/compat/next-translate.md +45 -0
  69. package/docs/en/compat/ngx-translate.md +45 -0
  70. package/docs/en/compat/nuxtjs-i18n.md +46 -0
  71. package/docs/en/compat/polyglot.md +45 -0
  72. package/docs/en/compat/react-i18next.md +58 -0
  73. package/docs/en/compat/react-intl.md +55 -0
  74. package/docs/en/compat/svelte-i18n.md +47 -0
  75. package/docs/en/compat/transloco.md +45 -0
  76. package/docs/en/compat/vue-i18n.md +58 -0
  77. package/docs/en/configuration.md +35 -2
  78. package/docs/en/dictionary/condition.md +163 -1
  79. package/docs/en/dictionary/enumeration.md +309 -7
  80. package/docs/en/dictionary/file.md +151 -1
  81. package/docs/en/dictionary/gender.md +162 -1
  82. package/docs/en/dictionary/nesting.md +173 -9
  83. package/docs/en/dictionary/plurial.md +155 -10
  84. package/docs/en/dictionary/translation.md +145 -52
  85. package/docs/en/dynamic_dictionaries/collections.md +1 -1
  86. package/docs/en/dynamic_dictionaries/dynamic_content.md +1 -1
  87. package/docs/en/dynamic_dictionaries/index.md +1 -1
  88. package/docs/en/dynamic_dictionaries/variants.md +1 -1
  89. package/docs/en/migration_from_i18next_to_intlayer.md +1 -1
  90. package/docs/en/migration_from_next-i18next_to_intlayer.md +1 -1
  91. package/docs/en/migration_from_next-intl_to_intlayer.md +1 -1
  92. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  93. package/docs/en/migration_from_react-i18next_to_intlayer.md +1 -1
  94. package/docs/en/migration_from_vue-i18n_to_intlayer.md +1 -1
  95. package/docs/en/plugins/sync-json.md +56 -2
  96. package/docs/en/releases/v8.md +187 -1
  97. package/docs/en/releases/v9.md +220 -0
  98. package/docs/en-GB/cli/doc-review.md +110 -4
  99. package/docs/en-GB/cli/index.md +1 -1
  100. package/docs/en-GB/cli/scan.md +1 -1
  101. package/docs/en-GB/configuration.md +35 -2
  102. package/docs/en-GB/dictionary/condition.md +364 -1
  103. package/docs/en-GB/dictionary/enumeration.md +577 -5
  104. package/docs/en-GB/dictionary/file.md +317 -1
  105. package/docs/en-GB/dictionary/gender.md +375 -2
  106. package/docs/en-GB/dictionary/nesting.md +368 -71
  107. package/docs/en-GB/dictionary/plurial.md +347 -7
  108. package/docs/en-GB/dictionary/translation.md +320 -32
  109. package/docs/en-GB/dynamic_dictionaries/collections.md +1 -1
  110. package/docs/en-GB/dynamic_dictionaries/dynamic_content.md +1 -1
  111. package/docs/en-GB/dynamic_dictionaries/index.md +1 -1
  112. package/docs/en-GB/dynamic_dictionaries/variants.md +1 -1
  113. package/docs/en-GB/plugins/sync-json.md +245 -13
  114. package/docs/en-GB/releases/v8.md +1 -1
  115. package/docs/en-GB/releases/v9.md +220 -0
  116. package/docs/es/cli/doc-review.md +110 -4
  117. package/docs/es/cli/index.md +1 -1
  118. package/docs/es/cli/scan.md +1 -1
  119. package/docs/es/configuration.md +36 -3
  120. package/docs/es/dictionary/condition.md +167 -5
  121. package/docs/es/dictionary/enumeration.md +537 -12
  122. package/docs/es/dictionary/file.md +151 -1
  123. package/docs/es/dictionary/gender.md +168 -7
  124. package/docs/es/dictionary/nesting.md +173 -65
  125. package/docs/es/dictionary/plurial.md +347 -7
  126. package/docs/es/dictionary/translation.md +156 -2
  127. package/docs/es/dynamic_dictionaries/collections.md +1 -1
  128. package/docs/es/dynamic_dictionaries/dynamic_content.md +1 -1
  129. package/docs/es/dynamic_dictionaries/index.md +1 -1
  130. package/docs/es/dynamic_dictionaries/variants.md +1 -1
  131. package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
  132. package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
  133. package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
  134. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  135. package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
  136. package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
  137. package/docs/es/plugins/sync-json.md +222 -49
  138. package/docs/es/releases/v8.md +187 -1
  139. package/docs/es/releases/v9.md +228 -0
  140. package/docs/fr/cli/doc-review.md +110 -4
  141. package/docs/fr/cli/index.md +1 -1
  142. package/docs/fr/cli/scan.md +1 -1
  143. package/docs/fr/configuration.md +49 -16
  144. package/docs/fr/dictionary/condition.md +369 -6
  145. package/docs/fr/dictionary/enumeration.md +540 -6
  146. package/docs/fr/dictionary/file.md +151 -1
  147. package/docs/fr/dictionary/gender.md +168 -7
  148. package/docs/fr/dictionary/nesting.md +357 -86
  149. package/docs/fr/dictionary/plurial.md +174 -5
  150. package/docs/fr/dictionary/translation.md +156 -2
  151. package/docs/fr/dynamic_dictionaries/collections.md +1 -1
  152. package/docs/fr/dynamic_dictionaries/dynamic_content.md +1 -1
  153. package/docs/fr/dynamic_dictionaries/index.md +1 -1
  154. package/docs/fr/dynamic_dictionaries/variants.md +1 -1
  155. package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
  156. package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
  157. package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
  158. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  159. package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
  160. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
  161. package/docs/fr/plugins/sync-json.md +244 -12
  162. package/docs/fr/releases/v8.md +187 -1
  163. package/docs/fr/releases/v9.md +220 -0
  164. package/docs/hi/cli/doc-review.md +110 -4
  165. package/docs/hi/cli/index.md +1 -1
  166. package/docs/hi/cli/scan.md +1 -1
  167. package/docs/hi/configuration.md +49 -16
  168. package/docs/hi/dictionary/condition.md +167 -5
  169. package/docs/hi/dictionary/enumeration.md +540 -6
  170. package/docs/hi/dictionary/file.md +151 -1
  171. package/docs/hi/dictionary/gender.md +168 -7
  172. package/docs/hi/dictionary/nesting.md +173 -65
  173. package/docs/hi/dictionary/plurial.md +174 -5
  174. package/docs/hi/dictionary/translation.md +155 -5
  175. package/docs/hi/dynamic_dictionaries/collections.md +1 -1
  176. package/docs/hi/dynamic_dictionaries/dynamic_content.md +1 -1
  177. package/docs/hi/dynamic_dictionaries/index.md +1 -1
  178. package/docs/hi/dynamic_dictionaries/variants.md +1 -1
  179. package/docs/hi/plugins/sync-json.md +221 -48
  180. package/docs/hi/releases/v8.md +188 -2
  181. package/docs/hi/releases/v9.md +232 -0
  182. package/docs/id/cli/doc-review.md +110 -4
  183. package/docs/id/cli/index.md +1 -1
  184. package/docs/id/cli/scan.md +1 -1
  185. package/docs/id/configuration.md +35 -2
  186. package/docs/id/dictionary/condition.md +167 -5
  187. package/docs/id/dictionary/enumeration.md +540 -6
  188. package/docs/id/dictionary/file.md +318 -2
  189. package/docs/id/dictionary/gender.md +381 -8
  190. package/docs/id/dictionary/nesting.md +357 -86
  191. package/docs/id/dictionary/plurial.md +174 -5
  192. package/docs/id/dictionary/translation.md +156 -2
  193. package/docs/id/dynamic_dictionaries/collections.md +1 -1
  194. package/docs/id/dynamic_dictionaries/dynamic_content.md +1 -1
  195. package/docs/id/dynamic_dictionaries/index.md +1 -1
  196. package/docs/id/dynamic_dictionaries/variants.md +1 -1
  197. package/docs/id/plugins/sync-json.md +222 -49
  198. package/docs/id/releases/v8.md +191 -2
  199. package/docs/id/releases/v9.md +232 -0
  200. package/docs/it/cli/doc-review.md +110 -4
  201. package/docs/it/cli/index.md +1 -1
  202. package/docs/it/cli/scan.md +1 -1
  203. package/docs/it/configuration.md +49 -16
  204. package/docs/it/dictionary/condition.md +167 -5
  205. package/docs/it/dictionary/enumeration.md +540 -6
  206. package/docs/it/dictionary/file.md +318 -2
  207. package/docs/it/dictionary/gender.md +168 -7
  208. package/docs/it/dictionary/nesting.md +173 -65
  209. package/docs/it/dictionary/plurial.md +347 -7
  210. package/docs/it/dictionary/translation.md +156 -2
  211. package/docs/it/dynamic_dictionaries/collections.md +1 -1
  212. package/docs/it/dynamic_dictionaries/dynamic_content.md +1 -1
  213. package/docs/it/dynamic_dictionaries/index.md +1 -1
  214. package/docs/it/dynamic_dictionaries/variants.md +1 -1
  215. package/docs/it/intlayer_with_vite+react.md +0 -48
  216. package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
  217. package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
  218. package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
  219. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  220. package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
  221. package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
  222. package/docs/it/plugins/sync-json.md +224 -51
  223. package/docs/it/releases/v8.md +200 -2
  224. package/docs/it/releases/v9.md +232 -0
  225. package/docs/ja/cli/doc-review.md +110 -4
  226. package/docs/ja/cli/index.md +1 -1
  227. package/docs/ja/cli/scan.md +1 -1
  228. package/docs/ja/configuration.md +50 -17
  229. package/docs/ja/dictionary/condition.md +167 -5
  230. package/docs/ja/dictionary/enumeration.md +540 -6
  231. package/docs/ja/dictionary/file.md +151 -1
  232. package/docs/ja/dictionary/gender.md +168 -7
  233. package/docs/ja/dictionary/nesting.md +173 -65
  234. package/docs/ja/dictionary/plurial.md +174 -5
  235. package/docs/ja/dictionary/translation.md +169 -8
  236. package/docs/ja/dynamic_dictionaries/collections.md +1 -1
  237. package/docs/ja/dynamic_dictionaries/dynamic_content.md +1 -1
  238. package/docs/ja/dynamic_dictionaries/index.md +1 -1
  239. package/docs/ja/dynamic_dictionaries/variants.md +1 -1
  240. package/docs/ja/intlayer_with_vite+react.md +290 -0
  241. package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
  242. package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
  243. package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
  244. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  245. package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
  246. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
  247. package/docs/ja/plugins/sync-json.md +222 -49
  248. package/docs/ja/releases/v8.md +193 -4
  249. package/docs/ja/releases/v9.md +232 -0
  250. package/docs/ko/cli/doc-review.md +110 -4
  251. package/docs/ko/cli/index.md +1 -1
  252. package/docs/ko/cli/scan.md +1 -1
  253. package/docs/ko/configuration.md +49 -16
  254. package/docs/ko/dictionary/condition.md +167 -5
  255. package/docs/ko/dictionary/enumeration.md +540 -6
  256. package/docs/ko/dictionary/file.md +151 -1
  257. package/docs/ko/dictionary/gender.md +168 -7
  258. package/docs/ko/dictionary/nesting.md +173 -65
  259. package/docs/ko/dictionary/plurial.md +174 -5
  260. package/docs/ko/dictionary/translation.md +169 -8
  261. package/docs/ko/dynamic_dictionaries/collections.md +1 -1
  262. package/docs/ko/dynamic_dictionaries/dynamic_content.md +1 -1
  263. package/docs/ko/dynamic_dictionaries/index.md +1 -1
  264. package/docs/ko/dynamic_dictionaries/variants.md +1 -1
  265. package/docs/ko/intlayer_with_vite+react.md +48 -490
  266. package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
  267. package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
  268. package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
  269. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  270. package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
  271. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
  272. package/docs/ko/plugins/sync-json.md +223 -50
  273. package/docs/ko/releases/v8.md +192 -1
  274. package/docs/ko/releases/v9.md +232 -0
  275. package/docs/nl/cli/index.md +1 -1
  276. package/docs/nl/cli/scan.md +1 -1
  277. package/docs/nl/configuration.md +36 -3
  278. package/docs/pl/cli/doc-review.md +110 -4
  279. package/docs/pl/cli/index.md +1 -1
  280. package/docs/pl/cli/scan.md +1 -1
  281. package/docs/pl/configuration.md +35 -2
  282. package/docs/pl/dictionary/condition.md +167 -5
  283. package/docs/pl/dictionary/enumeration.md +540 -6
  284. package/docs/pl/dictionary/file.md +318 -2
  285. package/docs/pl/dictionary/gender.md +168 -7
  286. package/docs/pl/dictionary/nesting.md +173 -65
  287. package/docs/pl/dictionary/plurial.md +174 -5
  288. package/docs/pl/dictionary/translation.md +156 -2
  289. package/docs/pl/dynamic_dictionaries/collections.md +1 -1
  290. package/docs/pl/dynamic_dictionaries/dynamic_content.md +1 -1
  291. package/docs/pl/dynamic_dictionaries/index.md +1 -1
  292. package/docs/pl/dynamic_dictionaries/variants.md +1 -1
  293. package/docs/pl/plugins/sync-json.md +246 -14
  294. package/docs/pl/releases/v8.md +188 -2
  295. package/docs/pl/releases/v9.md +232 -0
  296. package/docs/pt/cli/doc-review.md +110 -4
  297. package/docs/pt/cli/index.md +1 -1
  298. package/docs/pt/cli/scan.md +1 -1
  299. package/docs/pt/configuration.md +49 -16
  300. package/docs/pt/dictionary/condition.md +167 -5
  301. package/docs/pt/dictionary/enumeration.md +540 -6
  302. package/docs/pt/dictionary/file.md +151 -1
  303. package/docs/pt/dictionary/gender.md +168 -7
  304. package/docs/pt/dictionary/nesting.md +173 -65
  305. package/docs/pt/dictionary/plurial.md +347 -7
  306. package/docs/pt/dictionary/translation.md +156 -2
  307. package/docs/pt/dynamic_dictionaries/collections.md +1 -1
  308. package/docs/pt/dynamic_dictionaries/dynamic_content.md +1 -1
  309. package/docs/pt/dynamic_dictionaries/index.md +1 -1
  310. package/docs/pt/dynamic_dictionaries/variants.md +1 -1
  311. package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
  312. package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
  313. package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
  314. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  315. package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
  316. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
  317. package/docs/pt/plugins/sync-json.md +222 -49
  318. package/docs/pt/releases/v8.md +187 -1
  319. package/docs/pt/releases/v9.md +232 -0
  320. package/docs/ru/cli/doc-review.md +110 -4
  321. package/docs/ru/cli/index.md +1 -1
  322. package/docs/ru/cli/scan.md +1 -1
  323. package/docs/ru/configuration.md +35 -2
  324. package/docs/ru/dictionary/condition.md +366 -39
  325. package/docs/ru/dictionary/enumeration.md +777 -7
  326. package/docs/ru/dictionary/file.md +318 -2
  327. package/docs/ru/dictionary/gender.md +168 -7
  328. package/docs/ru/dictionary/nesting.md +368 -71
  329. package/docs/ru/dictionary/plurial.md +347 -7
  330. package/docs/ru/dictionary/translation.md +321 -33
  331. package/docs/ru/dynamic_dictionaries/collections.md +1 -1
  332. package/docs/ru/dynamic_dictionaries/dynamic_content.md +1 -1
  333. package/docs/ru/dynamic_dictionaries/index.md +1 -1
  334. package/docs/ru/dynamic_dictionaries/variants.md +1 -1
  335. package/docs/ru/intlayer_with_vite+react.md +48 -47
  336. package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
  337. package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
  338. package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
  339. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  340. package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
  341. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
  342. package/docs/ru/plugins/sync-json.md +269 -95
  343. package/docs/ru/releases/v8.md +194 -2
  344. package/docs/ru/releases/v9.md +232 -0
  345. package/docs/tr/cli/doc-review.md +110 -4
  346. package/docs/tr/cli/index.md +1 -1
  347. package/docs/tr/cli/scan.md +1 -1
  348. package/docs/tr/configuration.md +35 -2
  349. package/docs/tr/dictionary/condition.md +167 -5
  350. package/docs/tr/dictionary/enumeration.md +540 -6
  351. package/docs/tr/dictionary/file.md +151 -1
  352. package/docs/tr/dictionary/gender.md +168 -7
  353. package/docs/tr/dictionary/nesting.md +173 -65
  354. package/docs/tr/dictionary/plurial.md +174 -5
  355. package/docs/tr/dictionary/translation.md +156 -2
  356. package/docs/tr/dynamic_dictionaries/collections.md +1 -1
  357. package/docs/tr/dynamic_dictionaries/dynamic_content.md +1 -1
  358. package/docs/tr/dynamic_dictionaries/index.md +1 -1
  359. package/docs/tr/dynamic_dictionaries/variants.md +1 -1
  360. package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
  361. package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
  362. package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
  363. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
  364. package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
  365. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
  366. package/docs/tr/plugins/sync-json.md +222 -50
  367. package/docs/tr/releases/v8.md +187 -1
  368. package/docs/tr/releases/v9.md +232 -0
  369. package/docs/uk/cli/doc-review.md +110 -4
  370. package/docs/uk/cli/index.md +1 -1
  371. package/docs/uk/cli/scan.md +1 -1
  372. package/docs/uk/configuration.md +35 -2
  373. package/docs/uk/dictionary/condition.md +167 -5
  374. package/docs/uk/dictionary/enumeration.md +540 -6
  375. package/docs/uk/dictionary/file.md +318 -2
  376. package/docs/uk/dictionary/gender.md +381 -8
  377. package/docs/uk/dictionary/nesting.md +173 -65
  378. package/docs/uk/dictionary/plurial.md +174 -5
  379. package/docs/uk/dictionary/translation.md +156 -2
  380. package/docs/uk/dynamic_dictionaries/collections.md +1 -1
  381. package/docs/uk/dynamic_dictionaries/dynamic_content.md +1 -1
  382. package/docs/uk/dynamic_dictionaries/index.md +1 -1
  383. package/docs/uk/dynamic_dictionaries/variants.md +1 -1
  384. package/docs/uk/plugins/sync-json.md +56 -2
  385. package/docs/uk/releases/v8.md +191 -3
  386. package/docs/uk/releases/v9.md +232 -0
  387. package/docs/ur/cli/index.md +1 -1
  388. package/docs/ur/cli/scan.md +1 -1
  389. package/docs/ur/configuration.md +36 -3
  390. package/docs/vi/cli/doc-review.md +110 -4
  391. package/docs/vi/cli/index.md +1 -1
  392. package/docs/vi/cli/scan.md +1 -1
  393. package/docs/vi/configuration.md +50 -17
  394. package/docs/vi/dictionary/condition.md +167 -5
  395. package/docs/vi/dictionary/enumeration.md +591 -14
  396. package/docs/vi/dictionary/file.md +318 -2
  397. package/docs/vi/dictionary/gender.md +168 -7
  398. package/docs/vi/dictionary/nesting.md +357 -86
  399. package/docs/vi/dictionary/plurial.md +174 -5
  400. package/docs/vi/dictionary/translation.md +156 -2
  401. package/docs/vi/dynamic_dictionaries/collections.md +1 -1
  402. package/docs/vi/dynamic_dictionaries/dynamic_content.md +1 -1
  403. package/docs/vi/dynamic_dictionaries/index.md +1 -1
  404. package/docs/vi/dynamic_dictionaries/variants.md +1 -1
  405. package/docs/vi/plugins/sync-json.md +230 -57
  406. package/docs/vi/releases/v8.md +190 -1
  407. package/docs/vi/releases/v9.md +232 -0
  408. package/docs/zh/cli/doc-review.md +110 -4
  409. package/docs/zh/cli/index.md +1 -1
  410. package/docs/zh/cli/scan.md +1 -1
  411. package/docs/zh/configuration.md +49 -16
  412. package/docs/zh/dictionary/condition.md +167 -5
  413. package/docs/zh/dictionary/enumeration.md +540 -6
  414. package/docs/zh/dictionary/file.md +151 -1
  415. package/docs/zh/dictionary/gender.md +168 -7
  416. package/docs/zh/dictionary/nesting.md +173 -65
  417. package/docs/zh/dictionary/plurial.md +174 -5
  418. package/docs/zh/dictionary/translation.md +169 -8
  419. package/docs/zh/dynamic_dictionaries/collections.md +1 -1
  420. package/docs/zh/dynamic_dictionaries/dynamic_content.md +1 -1
  421. package/docs/zh/dynamic_dictionaries/index.md +1 -1
  422. package/docs/zh/dynamic_dictionaries/variants.md +1 -1
  423. package/docs/zh/intlayer_with_vite+react.md +48 -288
  424. package/docs/zh/plugins/sync-json.md +223 -50
  425. package/docs/zh/releases/v8.md +1 -1
  426. package/docs/zh/releases/v9.md +220 -0
  427. package/package.json +7 -7
  428. package/src/generated/docs.entry.ts +320 -0
  429. package/dist/esm/_virtual/_rolldown/runtime.mjs +0 -8
@@ -29,8 +29,174 @@ Trong Intlayer, hàm `file` cho phép nhúng nội dung tệp tin bên ngoài v
29
29
 
30
30
  ## Tại sao sử dụng `file` thay vì `import`, `require` hoặc `fs`?
31
31
 
32
- Khác với các phương pháp đọc tệp như `import`, `require` hoặc `fs`, việc sử dụng `file` liên kết tệp với từ điển, cho phép Intlayer theo dõi và cập nhật nội dung một cách động khi tệp được chỉnh sửa. Do đó, sử dụng `file` sẽ mang lại sự tích hợp tốt hơn với Intlayer Visual Editor và CMS.
32
+ <Tabs group="framework">
33
+ <Tab label="React" value="react">
33
34
 
35
+ 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.
36
+
37
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
38
+ import type { FC } from "react";
39
+ import { useIntlayer } from "react-intlayer";
40
+
41
+ const FileComponent: FC = () => {
42
+ const { myFile } = useIntlayer("my_key");
43
+
44
+ return (
45
+ <div>
46
+ <pre>{myFile}</pre>
47
+ </div>
48
+ );
49
+ };
50
+
51
+ export default FileComponent;
52
+ ```
53
+
54
+ </Tab>
55
+ <Tab label="Next.js" value="nextjs">
56
+
57
+ To use embedded file content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
58
+
59
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
60
+ "use client";
61
+
62
+ import type { FC } from "react";
63
+ import { useIntlayer } from "next-intlayer";
64
+
65
+ const FileComponent: FC = () => {
66
+ const { myFile } = useIntlayer("my_key");
67
+
68
+ return (
69
+ <div>
70
+ <pre>{myFile}</pre>
71
+ </div>
72
+ );
73
+ };
74
+
75
+ export default FileComponent;
76
+ ```
77
+
78
+ </Tab>
79
+ <Tab label="Vue" value="vue">
80
+
81
+ To use embedded file content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
82
+
83
+ ```vue fileName="**/*.vue"
84
+ <script setup lang="ts">
85
+ import { useIntlayer } from "vue-intlayer";
86
+
87
+ const { myFile } = useIntlayer("my_key");
88
+ </script>
89
+
90
+ <template>
91
+ <div>
92
+ <pre>{{ myFile }}</pre>
93
+ </div>
94
+ </template>
95
+ ```
96
+
97
+ </Tab>
98
+ <Tab label="Svelte" value="svelte">
99
+
100
+ To use embedded file content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
101
+
102
+ ```svelte fileName="**/*.svelte"
103
+ <script lang="ts">
104
+ import { useIntlayer } from "svelte-intlayer";
105
+
106
+ const content = useIntlayer("my_key");
107
+ </script>
108
+
109
+ <div>
110
+ <pre>{$content.myFile}</pre>
111
+ </div>
112
+ ```
113
+
114
+ </Tab>
115
+ <Tab label="Preact" value="preact">
116
+
117
+ To use embedded file content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
118
+
119
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
120
+ import type { FC } from "preact";
121
+ import { useIntlayer } from "preact-intlayer";
122
+
123
+ const FileComponent: FC = () => {
124
+ const { myFile } = useIntlayer("my_key");
125
+
126
+ return (
127
+ <div>
128
+ <pre>{myFile}</pre>
129
+ </div>
130
+ );
131
+ };
132
+
133
+ export default FileComponent;
134
+ ```
135
+
136
+ </Tab>
137
+ <Tab label="Solid" value="solid">
138
+
139
+ To use embedded file content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
140
+
141
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
142
+ import type { Component } from "solid-js";
143
+ import { useIntlayer } from "solid-intlayer";
144
+
145
+ const FileComponent: Component = () => {
146
+ const { myFile } = useIntlayer("my_key");
147
+
148
+ return (
149
+ <div>
150
+ <pre>{myFile}</pre>
151
+ </div>
152
+ );
153
+ };
154
+
155
+ export default FileComponent;
156
+ ```
157
+
158
+ </Tab>
159
+ <Tab label="Angular" value="angular">
160
+
161
+ To use embedded file content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
162
+
163
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
164
+ import { Component } from "@angular/core";
165
+ import { useIntlayer } from "angular-intlayer";
166
+
167
+ @Component({
168
+ selector: "app-file",
169
+ template: `
170
+ <div>
171
+ <pre>{{ content().myFile }}</pre>
172
+ </div>
173
+ `,
174
+ })
175
+ export class FileComponent {
176
+ content = useIntlayer("my_key");
177
+ }
178
+ ```
179
+
180
+ </Tab>
181
+ <Tab label="Vanilla JS" value="vanilla">
182
+
183
+ To use embedded file content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
184
+
185
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
186
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
187
+
188
+ installIntlayer();
189
+
190
+ const content = useIntlayer("my_key").onChange((newContent) => {
191
+ document.getElementById("file-content")!.textContent = newContent.myFile;
192
+ });
193
+
194
+ // Initial render
195
+ document.getElementById("file-content")!.textContent = content.myFile;
196
+ ```
197
+
198
+ </Tab>
199
+ </Tabs>
34
200
  ## Cài đặt Nội dung Tệp tin
35
201
 
36
202
  Để nhúng nội dung tệp vào dự án Intlayer của bạn, hãy sử dụng hàm `file` trong một module nội dung. Dưới đây là các ví dụ minh họa các cách triển khai khác nhau.
@@ -63,7 +229,10 @@ export default myFileContent;
63
229
 
64
230
  ## Sử dụng Nội dung Tệp trong React Intlayer
65
231
 
66
- Để sử dụng nội dung tệp được nhúng trong một component React, hãy import và sử dụng hook `useIntlayer` từ package `react-intlayer`. Hook này lấy nội dung từ key được chỉ định và cho phép hiển thị nội dung đó một cách động.
232
+ <Tabs group="framework">
233
+ <Tab label="React" value="react">
234
+
235
+ 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.
67
236
 
68
237
  ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
69
238
  import type { FC } from "react";
@@ -82,6 +251,153 @@ const FileComponent: FC = () => {
82
251
  export default FileComponent;
83
252
  ```
84
253
 
254
+ </Tab>
255
+ <Tab label="Next.js" value="nextjs">
256
+
257
+ To use embedded file content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
258
+
259
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
260
+ "use client";
261
+
262
+ import type { FC } from "react";
263
+ import { useIntlayer } from "next-intlayer";
264
+
265
+ const FileComponent: FC = () => {
266
+ const { myFile } = useIntlayer("my_key");
267
+
268
+ return (
269
+ <div>
270
+ <pre>{myFile}</pre>
271
+ </div>
272
+ );
273
+ };
274
+
275
+ export default FileComponent;
276
+ ```
277
+
278
+ </Tab>
279
+ <Tab label="Vue" value="vue">
280
+
281
+ To use embedded file content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
282
+
283
+ ```vue fileName="**/*.vue"
284
+ <script setup lang="ts">
285
+ import { useIntlayer } from "vue-intlayer";
286
+
287
+ const { myFile } = useIntlayer("my_key");
288
+ </script>
289
+
290
+ <template>
291
+ <div>
292
+ <pre>{{ myFile }}</pre>
293
+ </div>
294
+ </template>
295
+ ```
296
+
297
+ </Tab>
298
+ <Tab label="Svelte" value="svelte">
299
+
300
+ To use embedded file content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
301
+
302
+ ```svelte fileName="**/*.svelte"
303
+ <script lang="ts">
304
+ import { useIntlayer } from "svelte-intlayer";
305
+
306
+ const content = useIntlayer("my_key");
307
+ </script>
308
+
309
+ <div>
310
+ <pre>{$content.myFile}</pre>
311
+ </div>
312
+ ```
313
+
314
+ </Tab>
315
+ <Tab label="Preact" value="preact">
316
+
317
+ To use embedded file content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
318
+
319
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
320
+ import type { FC } from "preact";
321
+ import { useIntlayer } from "preact-intlayer";
322
+
323
+ const FileComponent: FC = () => {
324
+ const { myFile } = useIntlayer("my_key");
325
+
326
+ return (
327
+ <div>
328
+ <pre>{myFile}</pre>
329
+ </div>
330
+ );
331
+ };
332
+
333
+ export default FileComponent;
334
+ ```
335
+
336
+ </Tab>
337
+ <Tab label="Solid" value="solid">
338
+
339
+ To use embedded file content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
340
+
341
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
342
+ import type { Component } from "solid-js";
343
+ import { useIntlayer } from "solid-intlayer";
344
+
345
+ const FileComponent: Component = () => {
346
+ const { myFile } = useIntlayer("my_key");
347
+
348
+ return (
349
+ <div>
350
+ <pre>{myFile}</pre>
351
+ </div>
352
+ );
353
+ };
354
+
355
+ export default FileComponent;
356
+ ```
357
+
358
+ </Tab>
359
+ <Tab label="Angular" value="angular">
360
+
361
+ To use embedded file content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
362
+
363
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
364
+ import { Component } from "@angular/core";
365
+ import { useIntlayer } from "angular-intlayer";
366
+
367
+ @Component({
368
+ selector: "app-file",
369
+ template: `
370
+ <div>
371
+ <pre>{{ content().myFile }}</pre>
372
+ </div>
373
+ `,
374
+ })
375
+ export class FileComponent {
376
+ content = useIntlayer("my_key");
377
+ }
378
+ ```
379
+
380
+ </Tab>
381
+ <Tab label="Vanilla JS" value="vanilla">
382
+
383
+ To use embedded file content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
384
+
385
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
386
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
387
+
388
+ installIntlayer();
389
+
390
+ const content = useIntlayer("my_key").onChange((newContent) => {
391
+ document.getElementById("file-content")!.textContent = newContent.myFile;
392
+ });
393
+
394
+ // Initial render
395
+ document.getElementById("file-content")!.textContent = content.myFile;
396
+ ```
397
+
398
+ </Tab>
399
+ </Tabs>
400
+
85
401
  ## Ví dụ Markdown Đa ngôn ngữ
86
402
 
87
403
  Để hỗ trợ các tệp Markdown có thể chỉnh sửa đa ngôn ngữ, bạn có thể sử dụng `file` kết hợp với `t()` và `md()` để định nghĩa các phiên bản ngôn ngữ khác nhau của một tệp nội dung Markdown.
@@ -71,7 +71,10 @@ export default myGenderContent;
71
71
 
72
72
  ## Sử dụng Nội dung Dựa trên Giới tính với React Intlayer
73
73
 
74
- Để sử dụng nội dung dựa trên giới tính trong một component React, hãy import và sử dụng hook `useIntlayer` từ package `react-intlayer`. Hook này lấy nội dung cho khóa được chỉ định và cho phép bạn truyền vào một giới tính để chọn đầu ra phù hợp.
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
- /* Đầu ra: nội dung của tôi dành cho người dùng nam */
90
+ /* Output: my content for male users */
88
91
  myGender("male")
89
92
  }
90
93
  </p>
91
94
  <p>
92
95
  {
93
- /* Đầu ra: nội dung của tôi dành cho người dùng nữ */
96
+ /* Output: my content for female users */
94
97
  myGender("female")
95
98
  }
96
99
  </p>
97
100
  <p>
98
101
  {
99
- /* Đầu ra: nội dung của tôi dành cho người dùng nam */
102
+ /* Output: my content for male users */
100
103
  myGender("m")
101
104
  }
102
105
  </p>
103
106
  <p>
104
107
  {
105
- /* Đầu ra: nội dung của tôi dành cho người dùng nữ */
108
+ /* Output: my content for female users */
106
109
  myGender("f")
107
110
  }
108
111
  </p>
109
112
  <p>
110
113
  {
111
- /* Đầu ra: nội dung của tôi khi không xác định giới tính */
114
+ /* Output: my content when gender is not specified */
112
115
  myGender("")
113
116
  }
114
117
  </p>
115
118
  <p>
116
119
  {
117
- /* Đầu ra: nội dung của tôi khi không xác định giới tính */
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
  ## Tài Nguyên Bổ Sung
129
290
 
130
291
  Để biết thêm thông tin chi tiết về cấu hình và cách sử dụng, hãy tham khảo các tài nguyên sau: