@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
@@ -81,7 +81,10 @@ In this example, `enu` maps various conditions to specific content. When used in
81
81
 
82
82
  > If no fallback is declared, the function will return `undefined` if no keys match.
83
83
 
84
- ## Using Enumeration with React Intlayer
84
+ ## Using Enumeration
85
+
86
+ <Tabs group="framework">
87
+ <Tab label="React" value="react">
85
88
 
86
89
  To use enumeration in a React component, you can leverage the `useIntlayer` hook from the `react-intlayer` package. This hook retrieves the correct content based on the specified ID. Here's an example of how to use it:
87
90
 
@@ -119,7 +122,152 @@ const CarComponent: FC = () => {
119
122
  };
120
123
  ```
121
124
 
122
- In this example, the component dynamically adjusts its output based on the number of cars. The correct content is chosen automatically, depending on the specified range.
125
+ </Tab>
126
+ <Tab label="Next.js" value="nextjs">
127
+
128
+ To use enumeration in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
129
+
130
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
131
+ "use client";
132
+
133
+ import type { FC } from "react";
134
+ import { useIntlayer } from "next-intlayer";
135
+
136
+ const CarComponent: FC = () => {
137
+ const { numberOfCar } = useIntlayer("car_count");
138
+
139
+ return (
140
+ <div>
141
+ <p>{numberOfCar(6)}</p>
142
+ </div>
143
+ );
144
+ };
145
+
146
+ export default CarComponent;
147
+ ```
148
+
149
+ </Tab>
150
+ <Tab label="Vue" value="vue">
151
+
152
+ To use enumeration in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
153
+
154
+ ```vue fileName="**/*.vue"
155
+ <script setup lang="ts">
156
+ import { useIntlayer } from "vue-intlayer";
157
+
158
+ const { numberOfCar } = useIntlayer("car_count");
159
+ </script>
160
+
161
+ <template>
162
+ <div>
163
+ <p>{{ numberOfCar(6) }}</p>
164
+ </div>
165
+ </template>
166
+ ```
167
+
168
+ </Tab>
169
+ <Tab label="Svelte" value="svelte">
170
+
171
+ To use enumeration in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
172
+
173
+ ```svelte fileName="**/*.svelte"
174
+ <script lang="ts">
175
+ import { useIntlayer } from "svelte-intlayer";
176
+
177
+ const content = useIntlayer("car_count");
178
+ </script>
179
+
180
+ <div>
181
+ <p>{$content.numberOfCar(6)}</p>
182
+ </div>
183
+ ```
184
+
185
+ </Tab>
186
+ <Tab label="Preact" value="preact">
187
+
188
+ To use enumeration in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
189
+
190
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
191
+ import type { FC } from "preact";
192
+ import { useIntlayer } from "preact-intlayer";
193
+
194
+ const CarComponent: FC = () => {
195
+ const { numberOfCar } = useIntlayer("car_count");
196
+
197
+ return (
198
+ <div>
199
+ <p>{numberOfCar(6)}</p>
200
+ </div>
201
+ );
202
+ };
203
+
204
+ export default CarComponent;
205
+ ```
206
+
207
+ </Tab>
208
+ <Tab label="Solid" value="solid">
209
+
210
+ To use enumeration in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
211
+
212
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
213
+ import type { Component } from "solid-js";
214
+ import { useIntlayer } from "solid-intlayer";
215
+
216
+ const CarComponent: Component = () => {
217
+ const { numberOfCar } = useIntlayer("car_count");
218
+
219
+ return (
220
+ <div>
221
+ <p>{numberOfCar(6)}</p>
222
+ </div>
223
+ );
224
+ };
225
+
226
+ export default CarComponent;
227
+ ```
228
+
229
+ </Tab>
230
+ <Tab label="Angular" value="angular">
231
+
232
+ To use enumeration in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
233
+
234
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
235
+ import { Component } from "@angular/core";
236
+ import { useIntlayer } from "angular-intlayer";
237
+
238
+ @Component({
239
+ selector: "app-car",
240
+ template: `
241
+ <div>
242
+ <p>{{ content().numberOfCar(6) }}</p>
243
+ </div>
244
+ `,
245
+ })
246
+ export class CarComponent {
247
+ content = useIntlayer("car_count");
248
+ }
249
+ ```
250
+
251
+ </Tab>
252
+ <Tab label="Vanilla JS" value="vanilla">
253
+
254
+ To use enumeration with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
255
+
256
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
257
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
258
+
259
+ installIntlayer();
260
+
261
+ const content = useIntlayer("car_count").onChange((newContent) => {
262
+ document.getElementById("cars")!.textContent = newContent.numberOfCar(6);
263
+ });
264
+
265
+ // Initial render
266
+ document.getElementById("cars")!.textContent = content.numberOfCar(6);
267
+ ```
268
+
269
+ </Tab>
270
+ </Tabs>
123
271
 
124
272
  ## Combining Enumeration with Insert for Ordinal Numbers
125
273
 
@@ -173,7 +321,10 @@ export default rankingContent;
173
321
  }
174
322
  ```
175
323
 
176
- ### Using Ordinal Enumeration in React
324
+ ### Using Ordinal Enumeration
325
+
326
+ <Tabs group="framework">
327
+ <Tab label="React" value="react">
177
328
 
178
329
  To use this in a React component, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
179
330
 
@@ -197,16 +348,167 @@ const RankingComponent: FC<{ count: number }> = ({ count }) => {
197
348
  </div>
198
349
  );
199
350
  };
351
+ ```
352
+
353
+ </Tab>
354
+ <Tab label="Next.js" value="nextjs">
355
+
356
+ To use this in Next.js Client Components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
357
+
358
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
359
+ "use client";
360
+
361
+ import type { FC } from "react";
362
+ import { useIntlayer } from "next-intlayer";
363
+
364
+ const RankingComponent: FC<{ count: number }> = ({ count }) => {
365
+ const { ordinal } = useIntlayer("ranking_component");
366
+ const lastDigit = Math.abs(count) % 10;
367
+
368
+ return (
369
+ <div>
370
+ <p>{ordinal(lastDigit)({ count })}</p>
371
+ </div>
372
+ );
373
+ };
200
374
 
201
375
  export default RankingComponent;
202
376
  ```
203
377
 
204
- In this example:
378
+ </Tab>
379
+ <Tab label="Vue" value="vue">
205
380
 
206
- - `ordinal(lastDigit)` selects the correct enumeration entry based on the last digit (1 "st", 2 "nd", 3 "rd", others "th")
207
- - `({ count })` passes the full number to the `insert` function to replace `{{count}}` in the string
381
+ To use this in Vue components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
382
+
383
+ ```vue fileName="**/*.vue"
384
+ <script setup lang="ts">
385
+ import { useIntlayer } from "vue-intlayer";
386
+
387
+ defineProps<{ count: number }>();
388
+
389
+ const { ordinal } = useIntlayer("ranking_component");
390
+ </script>
391
+
392
+ <template>
393
+ <div>
394
+ <p>{{ ordinal(Math.abs(count) % 10)({ count }) }}</p>
395
+ </div>
396
+ </template>
397
+ ```
398
+
399
+ </Tab>
400
+ <Tab label="Svelte" value="svelte">
401
+
402
+ To use this in Svelte components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
403
+
404
+ ```svelte fileName="**/*.svelte"
405
+ <script lang="ts">
406
+ import { useIntlayer } from "svelte-intlayer";
407
+
408
+ export let count: number;
409
+
410
+ const content = useIntlayer("ranking_component");
411
+ $: lastDigit = Math.abs(count) % 10;
412
+ </script>
413
+
414
+ <div>
415
+ <p>{$content.ordinal(lastDigit)({ count })}</p>
416
+ </div>
417
+ ```
418
+
419
+ </Tab>
420
+ <Tab label="Preact" value="preact">
421
+
422
+ To use this in Preact components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
423
+
424
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
425
+ import type { FC } from "preact";
426
+ import { useIntlayer } from "preact-intlayer";
427
+
428
+ const RankingComponent: FC<{ count: number }> = ({ count }) => {
429
+ const { ordinal } = useIntlayer("ranking_component");
430
+ const lastDigit = Math.abs(count) % 10;
431
+
432
+ return (
433
+ <div>
434
+ <p>{ordinal(lastDigit)({ count })}</p>
435
+ </div>
436
+ );
437
+ };
438
+
439
+ export default RankingComponent;
440
+ ```
441
+
442
+ </Tab>
443
+ <Tab label="Solid" value="solid">
444
+
445
+ To use this in SolidJS components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
446
+
447
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
448
+ import type { Component } from "solid-js";
449
+ import { useIntlayer } from "solid-intlayer";
450
+
451
+ const RankingComponent: Component<{ count: number }> = (props) => {
452
+ const { ordinal } = useIntlayer("ranking_component");
453
+
454
+ return (
455
+ <div>
456
+ <p>{ordinal(Math.abs(props.count) % 10)({ count: props.count })}</p>
457
+ </div>
458
+ );
459
+ };
460
+
461
+ export default RankingComponent;
462
+ ```
463
+
464
+ </Tab>
465
+ <Tab label="Angular" value="angular">
466
+
467
+ To use this in Angular components, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
468
+
469
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
470
+ import { Component, Input } from "@angular/core";
471
+ import { useIntlayer } from "angular-intlayer";
472
+
473
+ @Component({
474
+ selector: "app-ranking",
475
+ template: `
476
+ <div>
477
+ <p>{{ content().ordinal(lastDigit())({ count }) }}</p>
478
+ </div>
479
+ `,
480
+ })
481
+ export class RankingComponent {
482
+ @Input() count!: number;
483
+
484
+ content = useIntlayer("ranking_component");
485
+
486
+ lastDigit() {
487
+ return Math.abs(this.count) % 10;
488
+ }
489
+ }
490
+ ```
491
+
492
+ </Tab>
493
+ <Tab label="Vanilla JS" value="vanilla">
494
+
495
+ To use this with `vanilla-intlayer`, call the enumeration with the last digit of the number to get the correct suffix, then pass the full count as the insertion value:
496
+
497
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
498
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
499
+
500
+ installIntlayer();
501
+
502
+ const content = useIntlayer("ranking_component");
503
+ const lastDigit = Math.abs(5) % 10;
504
+
505
+ document.getElementById("ranking")!.textContent = content.ordinal(lastDigit)({
506
+ count: 5,
507
+ });
508
+ ```
208
509
 
209
- This pattern allows you to display ordinal numbers correctly: "1st place", "2nd place", "3rd place", "4th place", "5th place", etc.
510
+ </Tab>
511
+ </Tabs>
210
512
 
211
513
  ## Additional Resources
212
514
 
@@ -61,7 +61,10 @@ export default myFileContent;
61
61
  }
62
62
  ```
63
63
 
64
- ## Using File Content in React Intlayer
64
+ ## Using File Content
65
+
66
+ <Tabs group="framework">
67
+ <Tab label="React" value="react">
65
68
 
66
69
  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
70
 
@@ -82,6 +85,153 @@ const FileComponent: FC = () => {
82
85
  export default FileComponent;
83
86
  ```
84
87
 
88
+ </Tab>
89
+ <Tab label="Next.js" value="nextjs">
90
+
91
+ To use embedded file content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
92
+
93
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
94
+ "use client";
95
+
96
+ import type { FC } from "react";
97
+ import { useIntlayer } from "next-intlayer";
98
+
99
+ const FileComponent: FC = () => {
100
+ const { myFile } = useIntlayer("my_key");
101
+
102
+ return (
103
+ <div>
104
+ <pre>{myFile}</pre>
105
+ </div>
106
+ );
107
+ };
108
+
109
+ export default FileComponent;
110
+ ```
111
+
112
+ </Tab>
113
+ <Tab label="Vue" value="vue">
114
+
115
+ To use embedded file content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
116
+
117
+ ```vue fileName="**/*.vue"
118
+ <script setup lang="ts">
119
+ import { useIntlayer } from "vue-intlayer";
120
+
121
+ const { myFile } = useIntlayer("my_key");
122
+ </script>
123
+
124
+ <template>
125
+ <div>
126
+ <pre>{{ myFile }}</pre>
127
+ </div>
128
+ </template>
129
+ ```
130
+
131
+ </Tab>
132
+ <Tab label="Svelte" value="svelte">
133
+
134
+ To use embedded file content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
135
+
136
+ ```svelte fileName="**/*.svelte"
137
+ <script lang="ts">
138
+ import { useIntlayer } from "svelte-intlayer";
139
+
140
+ const content = useIntlayer("my_key");
141
+ </script>
142
+
143
+ <div>
144
+ <pre>{$content.myFile}</pre>
145
+ </div>
146
+ ```
147
+
148
+ </Tab>
149
+ <Tab label="Preact" value="preact">
150
+
151
+ To use embedded file content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
152
+
153
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
154
+ import type { FC } from "preact";
155
+ import { useIntlayer } from "preact-intlayer";
156
+
157
+ const FileComponent: FC = () => {
158
+ const { myFile } = useIntlayer("my_key");
159
+
160
+ return (
161
+ <div>
162
+ <pre>{myFile}</pre>
163
+ </div>
164
+ );
165
+ };
166
+
167
+ export default FileComponent;
168
+ ```
169
+
170
+ </Tab>
171
+ <Tab label="Solid" value="solid">
172
+
173
+ To use embedded file content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
174
+
175
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
176
+ import type { Component } from "solid-js";
177
+ import { useIntlayer } from "solid-intlayer";
178
+
179
+ const FileComponent: Component = () => {
180
+ const { myFile } = useIntlayer("my_key");
181
+
182
+ return (
183
+ <div>
184
+ <pre>{myFile}</pre>
185
+ </div>
186
+ );
187
+ };
188
+
189
+ export default FileComponent;
190
+ ```
191
+
192
+ </Tab>
193
+ <Tab label="Angular" value="angular">
194
+
195
+ To use embedded file content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
196
+
197
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
198
+ import { Component } from "@angular/core";
199
+ import { useIntlayer } from "angular-intlayer";
200
+
201
+ @Component({
202
+ selector: "app-file",
203
+ template: `
204
+ <div>
205
+ <pre>{{ content().myFile }}</pre>
206
+ </div>
207
+ `,
208
+ })
209
+ export class FileComponent {
210
+ content = useIntlayer("my_key");
211
+ }
212
+ ```
213
+
214
+ </Tab>
215
+ <Tab label="Vanilla JS" value="vanilla">
216
+
217
+ To use embedded file content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
218
+
219
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
220
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
221
+
222
+ installIntlayer();
223
+
224
+ const content = useIntlayer("my_key").onChange((newContent) => {
225
+ document.getElementById("file-content")!.textContent = newContent.myFile;
226
+ });
227
+
228
+ // Initial render
229
+ document.getElementById("file-content")!.textContent = content.myFile;
230
+ ```
231
+
232
+ </Tab>
233
+ </Tabs>
234
+
85
235
  ## Multilingual Markdown Example
86
236
 
87
237
  To support multilingual editable Markdown files, you can use `file` in combination with `t()` and `md()` to define different language versions of a Markdown content file.
@@ -69,7 +69,10 @@ export default myGenderContent;
69
69
 
70
70
  > If no fallback is declared, the last key declared will be taken as a fallback if the gender is not specified or doesn't match any defined gender.
71
71
 
72
- ## Using Gender-Based Content with React Intlayer
72
+ ## Using Gender-Based Content
73
+
74
+ <Tabs group="framework">
75
+ <Tab label="React" value="react">
73
76
 
74
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
 
@@ -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
  ## Additional Resources
129
290
 
130
291
  For more detailed information on configuration and usage, refer to the following resources: