@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
@@ -35,12 +35,181 @@ Intlayer में, बहुवचन सामग्री `plural` फ़ं
35
35
 
36
36
  ## `plural` बनाम `enu` का कब उपयोग करें
37
37
 
38
- | उपयोग मामला | हेल्पर |
39
- | ----------------------------------------------------------- | -------- |
40
- | लोकेल-जागरूक व्याकरणिक बहुवचन रूप (एक सेब / दो सेब / 5 सेब) | `plural` |
41
- | कस्टम संख्यात्मक श्रेणियां (`<5`, `>=10`) या गैर-CLDR बकेट | `enu` |
38
+ <Tabs group="framework">
39
+ <Tab label="React" value="react">
42
40
 
43
- यदि आप केवल अंग्रेजी या हिंदी को लक्षित करते हैं (जिसमें केवल `one` / `other` होता है), तो दोनों काम करते हैं। `few` / `many` / `two` भेदों वाली किसी भी भाषा के लिए, `plural` को प्राथमिकता दें।
41
+ To use plural content inside a React component, retrieve it via the `useIntlayer` hook and call it with a count. The active locale and the count are combined to pick the matching CLDR category.
42
+
43
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
44
+ import type { FC } from "react";
45
+ import { useIntlayer } from "react-intlayer";
46
+
47
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
48
+ const { totalOpenings } = useIntlayer("total_openings");
49
+
50
+ return (
51
+ <div>
52
+ <p>{totalOpenings(count)}</p>
53
+ </div>
54
+ );
55
+ };
56
+
57
+ export default OpeningsComponent;
58
+ ```
59
+
60
+ </Tab>
61
+ <Tab label="Next.js" value="nextjs">
62
+
63
+ To use plural content in Next.js Client Components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
64
+
65
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
66
+ "use client";
67
+
68
+ import type { FC } from "react";
69
+ import { useIntlayer } from "next-intlayer";
70
+
71
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
72
+ const { totalOpenings } = useIntlayer("total_openings");
73
+
74
+ return (
75
+ <div>
76
+ <p>{totalOpenings(count)}</p>
77
+ </div>
78
+ );
79
+ };
80
+
81
+ export default OpeningsComponent;
82
+ ```
83
+
84
+ </Tab>
85
+ <Tab label="Vue" value="vue">
86
+
87
+ To use plural content in Vue components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
88
+
89
+ ```vue fileName="**/*.vue"
90
+ <script setup lang="ts">
91
+ import { useIntlayer } from "vue-intlayer";
92
+
93
+ defineProps<{ count: number }>();
94
+
95
+ const { totalOpenings } = useIntlayer("total_openings");
96
+ </script>
97
+
98
+ <template>
99
+ <div>
100
+ <p>{{ totalOpenings(count) }}</p>
101
+ </div>
102
+ </template>
103
+ ```
104
+
105
+ </Tab>
106
+ <Tab label="Svelte" value="svelte">
107
+
108
+ To use plural content in Svelte components, retrieve it via the `useIntlayer` hook and call it with a count. The store is accessed with `$`. Here's an example:
109
+
110
+ ```svelte fileName="**/*.svelte"
111
+ <script lang="ts">
112
+ import { useIntlayer } from "svelte-intlayer";
113
+
114
+ export let count: number;
115
+
116
+ const content = useIntlayer("total_openings");
117
+ </script>
118
+
119
+ <div>
120
+ <p>{$content.totalOpenings(count)}</p>
121
+ </div>
122
+ ```
123
+
124
+ </Tab>
125
+ <Tab label="Preact" value="preact">
126
+
127
+ To use plural content in Preact components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
128
+
129
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
130
+ import type { FC } from "preact";
131
+ import { useIntlayer } from "preact-intlayer";
132
+
133
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
134
+ const { totalOpenings } = useIntlayer("total_openings");
135
+
136
+ return (
137
+ <div>
138
+ <p>{totalOpenings(count)}</p>
139
+ </div>
140
+ );
141
+ };
142
+
143
+ export default OpeningsComponent;
144
+ ```
145
+
146
+ </Tab>
147
+ <Tab label="Solid" value="solid">
148
+
149
+ To use plural content in SolidJS components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
150
+
151
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
152
+ import type { Component } from "solid-js";
153
+ import { useIntlayer } from "solid-intlayer";
154
+
155
+ const OpeningsComponent: Component<{ count: number }> = (props) => {
156
+ const { totalOpenings } = useIntlayer("total_openings");
157
+
158
+ return (
159
+ <div>
160
+ <p>{totalOpenings(props.count)}</p>
161
+ </div>
162
+ );
163
+ };
164
+
165
+ export default OpeningsComponent;
166
+ ```
167
+
168
+ </Tab>
169
+ <Tab label="Angular" value="angular">
170
+
171
+ To use plural content in Angular components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
172
+
173
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
174
+ import { Component, Input } from "@angular/core";
175
+ import { useIntlayer } from "angular-intlayer";
176
+
177
+ @Component({
178
+ selector: "app-openings",
179
+ template: `
180
+ <div>
181
+ <p>{{ content().totalOpenings(count) }}</p>
182
+ </div>
183
+ `,
184
+ })
185
+ export class OpeningsComponent {
186
+ @Input() count!: number;
187
+
188
+ content = useIntlayer("total_openings");
189
+ }
190
+ ```
191
+
192
+ </Tab>
193
+ <Tab label="Vanilla JS" value="vanilla">
194
+
195
+ To use plural content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
196
+
197
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
198
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
199
+
200
+ installIntlayer();
201
+
202
+ const content = useIntlayer("total_openings").onChange((newContent) => {
203
+ document.getElementById("openings")!.textContent =
204
+ newContent.totalOpenings(5);
205
+ });
206
+
207
+ // Initial render
208
+ document.getElementById("openings")!.textContent = content.totalOpenings(5);
209
+ ```
210
+
211
+ </Tab>
212
+ </Tabs>
44
213
 
45
214
  ## बहुवचन सामग्री सेट करना
46
215
 
@@ -85,22 +85,47 @@ export default config;
85
85
 
86
86
  ## React कंपोनेंट्स में अनुवाद का उपयोग करना
87
87
 
88
- `react-intlayer` के साथ, आप React कंपोनेंट्स में अनुवादों का उपयोग कर सकते हैं। यहाँ एक उदाहरण है:
88
+ <Tabs group="framework">
89
+ <Tab label="React" value="react">
90
+
91
+ With `react-intlayer`, you can use translations in React components. Here's an example:
89
92
 
90
93
  ```jsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
91
94
  import type { FC } from "react";
92
95
  import { useIntlayer } from "react-intlayer";
93
96
 
94
- javascript fileName="**/*.tsx" codeFormat="typescript"
97
+ const MyComponent: FC = () => {
98
+ const content = useIntlayer("multi_lang");
99
+
100
+ return (
101
+ <div>
102
+ <p>{content.welcomeMessage}</p>
103
+ </div>
104
+ );
105
+ };
106
+
107
+ export default MyComponent;
108
+ ```
109
+
110
+ This component fetches the corresponding translation based on the current locale set in your application.
111
+
112
+ </Tab>
113
+ <Tab label="Next.js" value="nextjs">
114
+
115
+ With `next-intlayer`, you can use translations in React Server Components or Client Components. Here's an example in a Client Component:
116
+
117
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
118
+ "use client";
119
+
95
120
  import type { FC } from "react";
96
- import { useIntlayer } from "react-intlayer";
121
+ import { useIntlayer } from "next-intlayer";
97
122
 
98
123
  const MyComponent: FC = () => {
99
124
  const content = useIntlayer("multi_lang");
100
125
 
101
126
  return (
102
127
  <div>
103
- <p>{content.welcomeMessage}</p> {/* वर्तमान भाषा के अनुसार स्वागत संदेश दिखाता है */}
128
+ <p>{content.welcomeMessage}</p>
104
129
  </div>
105
130
  );
106
131
  };
@@ -108,7 +133,132 @@ const MyComponent: FC = () => {
108
133
  export default MyComponent;
109
134
  ```
110
135
 
111
- यह कॉम्पोनेंट आपके एप्लिकेशन में सेट वर्तमान लोकल के आधार पर संबंधित अनुवाद प्राप्त करता है।
136
+ </Tab>
137
+ <Tab label="Vue" value="vue">
138
+
139
+ With `vue-intlayer`, you can use translations in Vue components. Here's an example:
140
+
141
+ ```vue fileName="**/*.vue"
142
+ <script setup lang="ts">
143
+ import { useIntlayer } from "vue-intlayer";
144
+
145
+ const content = useIntlayer("multi_lang");
146
+ </script>
147
+
148
+ <template>
149
+ <div>
150
+ <p>{{ content.welcomeMessage }}</p>
151
+ </div>
152
+ </template>
153
+ ```
154
+
155
+ </Tab>
156
+ <Tab label="Svelte" value="svelte">
157
+
158
+ With `svelte-intlayer`, you can use translations in Svelte components. The hook returns a Svelte store. Here's an example:
159
+
160
+ ```svelte fileName="**/*.svelte"
161
+ <script lang="ts">
162
+ import { useIntlayer } from "svelte-intlayer";
163
+
164
+ const content = useIntlayer("multi_lang");
165
+ </script>
166
+
167
+ <div>
168
+ <p>{$content.welcomeMessage}</p>
169
+ </div>
170
+ ```
171
+
172
+ </Tab>
173
+ <Tab label="Preact" value="preact">
174
+
175
+ With `preact-intlayer`, you can use translations in Preact components. Here's an example:
176
+
177
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
178
+ import type { FC } from "preact";
179
+ import { useIntlayer } from "preact-intlayer";
180
+
181
+ const MyComponent: FC = () => {
182
+ const content = useIntlayer("multi_lang");
183
+
184
+ return (
185
+ <div>
186
+ <p>{content.welcomeMessage}</p>
187
+ </div>
188
+ );
189
+ };
190
+
191
+ export default MyComponent;
192
+ ```
193
+
194
+ </Tab>
195
+ <Tab label="Solid" value="solid">
196
+
197
+ With `solid-intlayer`, you can use translations in SolidJS components. Here's an example:
198
+
199
+ ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
200
+ import type { Component } from "solid-js";
201
+ import { useIntlayer } from "solid-intlayer";
202
+
203
+ const MyComponent: Component = () => {
204
+ const content = useIntlayer("multi_lang");
205
+
206
+ return (
207
+ <div>
208
+ <p>{content.welcomeMessage}</p>
209
+ </div>
210
+ );
211
+ };
212
+
213
+ export default MyComponent;
214
+ ```
215
+
216
+ </Tab>
217
+ <Tab label="Angular" value="angular">
218
+
219
+ With `angular-intlayer`, you can use translations in Angular components. Here's an example:
220
+
221
+ ```typescript fileName="app.component.ts" codeFormat="typescript"
222
+ import { Component } from "@angular/core";
223
+ import { useIntlayer } from "angular-intlayer";
224
+
225
+ @Component({
226
+ selector: "app-my-component",
227
+ template: `
228
+ <div>
229
+ <p>{{ content().welcomeMessage }}</p>
230
+ </div>
231
+ `,
232
+ })
233
+ export class MyComponent {
234
+ content = useIntlayer("multi_lang");
235
+ }
236
+ ```
237
+
238
+ </Tab>
239
+ <Tab label="Vanilla JS" value="vanilla">
240
+
241
+ With `vanilla-intlayer`, you can use translations by subscribing to content changes. Here's an example:
242
+
243
+ ```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
244
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
245
+
246
+ installIntlayer();
247
+
248
+ const content = useIntlayer("multi_lang").onChange((newContent) => {
249
+ document.getElementById("welcome-message")!.textContent = String(
250
+ newContent.welcomeMessage
251
+ );
252
+ });
253
+
254
+ // Initial render
255
+ document.getElementById("welcome-message")!.textContent = String(
256
+ content.welcomeMessage
257
+ );
258
+ ```
259
+
260
+ </Tab>
261
+ </Tabs>
112
262
 
113
263
  ## कस्टम कंटेंट ऑब्जेक्ट्स
114
264
 
@@ -14,7 +14,7 @@ slugs:
14
14
  - concept
15
15
  - collections
16
16
  history:
17
- - version: 8.13.0
17
+ - version: 9.0.0
18
18
  date: 2026-06-12
19
19
  changes: "संग्रह डिक्शनरी सुविधा का विमोचन"
20
20
  author: aymericzip
@@ -15,7 +15,7 @@ slugs:
15
15
  - concept
16
16
  - dynamic-records
17
17
  history:
18
- - version: 8.13.0
18
+ - version: 9.0.0
19
19
  date: 2026-06-12
20
20
  changes: "डायनेमिक कंटेंट सुविधा का विमोचन"
21
21
  author: aymericzip
@@ -15,7 +15,7 @@ slugs:
15
15
  - concept
16
16
  - dynamic-dictionaries
17
17
  history:
18
- - version: 8.13.0
18
+ - version: 9.0.0
19
19
  date: 2026-06-12
20
20
  changes: "डायनेमिक डिक्शनरी सुविधा का विमोचन"
21
21
  author: aymericzip
@@ -15,7 +15,7 @@ slugs:
15
15
  - concept
16
16
  - variants
17
17
  history:
18
- - version: 8.13.0
18
+ - version: 9.0.0
19
19
  date: 2026-06-12
20
20
  changes: "वेरिएंट डिक्शनरी सुविधा का विमोचन"
21
21
  author: aymericzip
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-22
3
- updatedAt: 2026-01-26
3
+ updatedAt: 2026-06-14
4
4
  title: "नया Intlayer v8 - क्या नया है?"
5
5
  description: "जानें Intlayer v8 में क्या नया है। डेवलपर अनुभव, सामग्री सत्यापन, और शब्दकोश प्रबंधन में प्रमुख सुधार।"
6
6
  keywords:
@@ -409,6 +409,16 @@ v7 में, यदि कोई प्रदाता परिभाषित
409
409
 
410
410
  ---
411
411
 
412
+ ## YAML और Markdown सामग्री फ़ाइलें (v8.10.0)
413
+
414
+ अब आप सीधे `.content.md` और `.content.yaml` फ़ाइल एक्सटेंशन का उपयोग करके सामग्री घोषित कर सकते हैं। यह लंबी सामग्री, ब्लॉग, दस्तावेज़ और गोपनीयता नीतियों के लिए बिल्कुल सही है।
415
+
416
+ ये फ़ाइलें विज़ुअल एडिटर (Visual Editor) से पूरी तरह से संपादन योग्य हैं, जो गैर-तकनीकी टीम के सदस्यों के लिए एक सुव्यवस्थित वर्कफ़्लो प्रदान करती हैं।
417
+
418
+ अधिक जानकारी के लिए, [YAML सामग्री फ़ाइल दस्तावेज़](https://intlayer.org/doc/concept/content#yaml-content-file) और [Markdown सामग्री फ़ाइल दस्तावेज़](https://intlayer.org/doc/concept/content/markdown) देखें।
419
+
420
+ ---
421
+
412
422
  ## कस्टम URL पुनर्लेखन
413
423
 
414
424
  Intlayer v8 **कस्टम URL पुनर्लेखन (Custom URL Rewrites)** के लिए समर्थन पेश करता है, जिससे आप ऐसी भाषा-विशिष्ट पथ परिभाषित कर सकते हैं जो मानक `/locale/path` संरचना से भिन्न होते हैं। यह स्थानीय SEO को बेहतर बनाने और गैर-अंग्रेजी बोलने वालों के लिए अधिक प्राकृतिक उपयोगकर्ता अनुभव प्रदान करने के लिए एक शक्तिशाली विशेषता है।
@@ -753,6 +763,58 @@ export default {
753
763
  </Tab>
754
764
  </Tabs>
755
765
 
766
+ ## Unicode CLDR बहुवचन नियम (v8.8.0)
767
+
768
+ Unicode CLDR प्रोजेक्ट द्वारा परिभाषित बहुवचन नियमों के आधार पर एक नया `plural` नोड हेल्पर पेश किया गया है, जो जटिल भाषाओं के लिए समर्थन में सुधार करता है।
769
+
770
+ ```typescript fileName="src/openings.content.ts"
771
+ import { plural, t, type Dictionary } from "intlayer";
772
+
773
+ const openingsContent = {
774
+ key: "total_openings",
775
+ content: {
776
+ totalOpenings: t({
777
+ en: plural({
778
+ one: "{{count}} opening",
779
+ other: "{{count}} openings",
780
+ }),
781
+ fr: plural({
782
+ one: "{{count}} offre",
783
+ other: "{{count}} offres",
784
+ }),
785
+ }),
786
+ },
787
+ } satisfies Dictionary;
788
+
789
+ export default openingsContent;
790
+ ```
791
+
792
+ इसके बाद आप अपने फ्रेमवर्क घटक में गतिशील रूप से (dynamically) काउंट पास कर सकते हैं:
793
+
794
+ ```tsx
795
+ import type { FC } from "react";
796
+ import { useIntlayer } from "react-intlayer";
797
+
798
+ const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
799
+ const { totalOpenings } = useIntlayer("total_openings");
800
+
801
+ return (
802
+ <div>
803
+ {/* अंग्रेजी में: */}
804
+ {/* count=0 → "0 openings" (other) */}
805
+ {/* count=1 → "1 opening" (one) */}
806
+ {/* count=2 → "2 openings" (other) */}
807
+ {/* count=21 → "21 openings" (other) */}
808
+ <p>{totalOpenings(count)}</p>
809
+ </div>
810
+ );
811
+ };
812
+ ```
813
+
814
+ अधिक जानकारी के लिए, [बहुवचनीकरण दस्तावेज़ (Pluralization Documentation)](https://intlayer.org/doc/concept/content/plural) देखें।
815
+
816
+ ---
817
+
756
818
  ## सामग्री स्कीमा सत्यापन
757
819
 
758
820
  Intlayer v8 शब्दकोशों (dictionaries) के लिए स्कीमा सत्यापन पेश करता है। अब आप Zod का उपयोग करके अपने कॉन्फ़िगरेशन में पुन: प्रयोज्य सत्यापन स्कीमा परिभाषित कर सकते हैं और उन्हें अपनी सामग्री फ़ाइलों पर लागू कर सकते हैं। यह सुनिश्चित करता है कि आपकी सामग्री हमेशा अपेक्षित संरचना का पालन करे, बिल्ड समय पर त्रुटियों को पकड़ ले।
@@ -797,6 +859,34 @@ export default aboutPageMetaContent;
797
859
 
798
860
  ---
799
861
 
862
+ ## TypeScript: IntlayerNode प्रिमिटिव एक्सेसर्स (Primitive Accessors)
863
+
864
+ सामग्री नोड्स पर सीधे प्रिमिटिव जावास्क्रिप्ट विधियों (primitive JavaScript methods) को कॉल करने की अनुमति देने के लिए `IntlayerNode` प्रकार को अपडेट किया गया है। यह आपकी स्थानीयकृत सामग्री के साथ सीधे बातचीत करना संभव बनाता है जैसे कि यह एक मानक स्ट्रिंग, नंबर, बूलियन या एरे प्रिमिटिव हो।
865
+
866
+ React, Preact, Solid, Svelte, Vue, और Angular में समर्थित।
867
+
868
+ ### स्ट्रिंग उदाहरण (String Example)
869
+
870
+ ```typescript
871
+ content.placeholder; // IntlayerNode<string> लौटाता है
872
+ content.placeholder.value; // string लौटाता है
873
+ content.placeholder.toString(); // string लौटाता है
874
+ content.placeholder.toLowerCase(); // string लौटाता है
875
+ String(content.placeholder); // string लौटाता है
876
+ content.placeholder.toUpperCase(); // अपरकेस स्ट्रिंग लौटाता है
877
+ content.placeholder.replace("a", "b"); // संशोधित स्ट्रिंग लौटाता है
878
+ ```
879
+
880
+ ### एरे उदाहरण (Array Example)
881
+
882
+ ```typescript
883
+ content.myArrayOfString // IntlayerNode<Array<string>> लौटाता है
884
+ content.myArrayOfString.find(...) // तत्व (element) लौटाता है
885
+ content.myArrayOfString.join(', ') // संयुक्त स्ट्रिंग लौटाता है
886
+ ```
887
+
888
+ ---
889
+
800
890
  ### उन्नत स्वचालित सामग्री पहचान
801
891
 
802
892
  v8 में, Intlayer आपकी सामग्री स्ट्रिंग्स में मार्कडाउन सिंटैक्स, HTML टैग और वेरिएबल इनसर्शन को बुद्धिमानी से पहचानता है। इसका मतलब है कि आप अक्सर `md()`, `html()`, या `insert()` जैसे सहायक कार्यों को छोड़ सकते हैं।
@@ -1002,6 +1092,17 @@ Intlayer VSCode एक्सटेंशन को आपके अंतर्
1002
1092
 
1003
1093
  ---
1004
1094
 
1095
+ ## टूलिंग: C++ वॉचर और OXC-आधारित LSP (v8.12.0)
1096
+
1097
+ Intlayer v8.12.0 डेवलपर अनुभव में बड़े सुधार लाता है:
1098
+
1099
+ - **Parcel Watcher**: सामग्री वॉचर (content watcher) को `chokidar` से `@parcel/watcher` पर माइग्रेट कर दिया गया है, जो तेज़ अपडेट और काफी कम मेमोरी खपत प्रदान करने के लिए मूल C++ फ़ाइल वॉचिंग का लाभ उठाता है।
1100
+ - **नया लैंग्वेज सर्वर प्रोटोकॉल (LSP)**: एक बिल्कुल नया LSP अब उपलब्ध है। OXC-आधारित पार्सिंग के साथ निर्मित, यह आपके IDE और AI एजेंटों को `useIntlayer('my-key')` कॉल को उनकी संबंधित `.content` फ़ाइलों के साथ सहजता से जोड़ने में मदद करता है, और इसके विपरीत भी।
1101
+
1102
+ अधिक जानकारी के लिए, [LSP दस्तावेज़](https://intlayer.org/doc/lsp) देखें।
1103
+
1104
+ ---
1105
+
1005
1106
  ## कंपाइलर अनुकूलन
1006
1107
 
1007
1108
  Intlayer v8 में मार्कडाउन और HTML कंपाइलर के लिए एक नई कैशिंग लेयर शामिल है। यह सुनिश्चित करता है कि एक ही कॉन्फ़िगरेशन के साथ समान सामग्री स्ट्रिंग्स केवल एक बार पार्स की जाती हैं, जिससे री-रेंडर के दौरान या कई स्थानों पर समान सामग्री का उपयोग करते समय ओवरहेड काफी कम हो जाता है।
@@ -1057,6 +1158,48 @@ Intlayer v8 में मार्कडाउन और HTML कंपाइल
1057
1158
 
1058
1159
  ---
1059
1160
 
1161
+ ## प्रायोगिक बिल्ड अनुकूलन: Minify और Purge (v8.7.0)
1162
+
1163
+ Intlayer v8.7.0 आपके प्रोडक्शन बंडल को अनुकूलित करने के लिए डिज़ाइन की गई आपकी `intlayer.config.ts` में नई प्रायोगिक बिल्ड सुविधाएँ पेश करता है:
1164
+
1165
+ - **डिक्शनरी मिनिफिकेशन (Dictionary Minification)**: आकार घटाने के लिए डिक्शनरी फ़ाइलों को छोटा (minify) करता है।
1166
+ - **अनुपयोगी कुंजी पर्जिंग (Unused Key Purging)**: डिक्शनरी से अनुपयोगी अनुवाद कुंजियों को स्कैन और हटाता है, सक्रिय कुंजियों का नाम बदलकर छोटे वर्णों में कर देता है (उदा. `"products" -> "a"`, `"pricing" -> "b"`)। यह बंडल के आकार को 5% तक कम कर देता है।
1167
+ - **TypeScript जांच अक्षम करें**: संकलन (compilation) चरण के दौरान TypeScript टाइपचेकिंग को अक्षम करके बिल्ड को तेज़ करें।
1168
+
1169
+ ```typescript fileName="intlayer.config.ts"
1170
+ import { Locales, type IntlayerConfig } from "intlayer";
1171
+
1172
+ const config: IntlayerConfig = {
1173
+ internationalization: {
1174
+ locales: [Locales.ENGLISH, Locales.FRENCH],
1175
+ defaultLocale: Locales.ENGLISH,
1176
+ },
1177
+ dictionary: {
1178
+ importMode: "dynamic",
1179
+ },
1180
+ build: {
1181
+ /**
1182
+ * बंडल के आकार को कम करने के लिए डिक्शनरी को छोटा (minify) करें।
1183
+ */
1184
+ minify: true,
1185
+
1186
+ /**
1187
+ * डिक्शनरी में अनुपयोगी कुंजियों को हटाएँ (purge करें)
1188
+ */
1189
+ purge: true,
1190
+
1191
+ /**
1192
+ * इंगित करता है कि क्या बिल्ड को TypeScript प्रकारों की जांच करनी चाहिए
1193
+ */
1194
+ checkTypes: false,
1195
+ },
1196
+ };
1197
+
1198
+ export default config;
1199
+ ```
1200
+
1201
+ ---
1202
+
1060
1203
  ## लचीलापन: एकीकृत आयात मोड (Unified Import Mode)
1061
1204
 
1062
1205
  `live` बूलियन प्रॉपर्टी को अधिक व्यापक `importMode` प्रॉपर्टी के पक्ष में हटा दिया गया है। यह शब्दकोशों को लोड करने के तरीके की स्पष्ट परिभाषा की अनुमति देता है: स्थिर रूप से, गतिशील रूप से, या लाइव सिंक के माध्यम से।
@@ -1164,7 +1307,7 @@ export default {
1164
1307
 
1165
1308
  ## सामग्री और कोड निर्देशिका पृथक्करण
1166
1309
 
1167
- Intlayer v8 सामग्री परिभाषा फ़ाइलों के कॉन्फ़िगरेशन को कोड परिवर्तन के कॉन्फ़िगरेशन से अलग करता है। यह अधिक सटीक निगरानी और स्कैनिंग की अनुमति देता है, जिससे बिल्ड प्रदर्शन में सुधार होता है।
1310
+ Intlayer v8 सामग्री परिभाषा फ़ाइलों के कॉन्फ़िगरेशन को कोड परिवर्तन के कॉन्फ़िगरेशन से अलग करता है। यह अधिक सटीक निगरानी और स्कैनिंग की अनुमति देता, जिससे बिल्ड प्रदर्शन में सुधार होता है।
1168
1311
 
1169
1312
  पहले, `contentDir` का उपयोग `.content.*` फ़ाइलों को देखने और `useIntlayer` कॉल्स के लिए कोड स्कैन करने दोनों के लिए किया जाता था। अब:
1170
1313
 
@@ -1204,6 +1347,49 @@ Svelte में मार्कडाउन और HTML सामग्री
1204
1347
 
1205
1348
  ---
1206
1349
 
1350
+ ## Angular समर्थन: Vite बंडलर (v8.11.0)
1351
+
1352
+ Angular उपयोगकर्ताओं के लिए, Intlayer अब एक नए कस्टम esbuild प्लगइन के माध्यम से मूल रूप से Vite बंडलर का समर्थन करता, जिससे विकास और बिल्ड समय तेज़ हो जाता है।
1353
+
1354
+ कॉन्फ़िगरेशन के विवरण के लिए, [Angular पर्यावरण दस्तावेज़ (Angular Environment Documentation)](https://intlayer.org/doc/environment/angular) देखें।
1355
+
1356
+ ---
1357
+
1358
+ ## साइटमैप जनरेशन (v8.6.0)
1359
+
1360
+ Intlayer अब आपके लोकेल्स और राउटिंग मोड के आधार पर स्वचालित रूप से साइटमैप जेनरेट करता है। यह विशेष रूप से TanStack Router जैसे राउटर आर्किटेक्चर में SEO अनुकूलन के लिए उपयोगी है:
1361
+
1362
+ ```typescript fileName="src/routes/sitemap.xml.ts"
1363
+ import { createFileRoute } from "@tanstack/react-router";
1364
+ import { generateSitemap } from "intlayer";
1365
+
1366
+ const SITE_URL = (
1367
+ import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
1368
+ ).replace(/\/$/, "");
1369
+
1370
+ export const Route = createFileRoute("/sitemap.xml")({
1371
+ server: {
1372
+ handlers: {
1373
+ GET: async () => {
1374
+ const sitemap = generateSitemap(
1375
+ [
1376
+ { path: "/", changefreq: "daily", priority: 1.0 },
1377
+ { path: "/about", changefreq: "monthly", priority: 0.8 },
1378
+ ],
1379
+ { siteUrl: SITE_URL }
1380
+ );
1381
+
1382
+ return new Response(sitemap, {
1383
+ headers: { "Content-Type": "application/xml" },
1384
+ });
1385
+ },
1386
+ },
1387
+ },
1388
+ });
1389
+ ```
1390
+
1391
+ ---
1392
+
1207
1393
  ## v7 से माइग्रेशन नोट्स
1208
1394
 
1209
1395
  ### कॉन्फ़िगरेशन परिवर्तन