@intlayer/docs 5.8.1-canary.0 → 6.0.0-canary.0

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 (378) hide show
  1. package/blog/ar/rag_powered_documentation_assistant.md +282 -0
  2. package/blog/de/rag_powered_documentation_assistant.md +282 -0
  3. package/blog/en/rag_powered_documentation_assistant.md +289 -0
  4. package/blog/en-GB/rag_powered_documentation_assistant.md +284 -0
  5. package/blog/es/rag_powered_documentation_assistant.md +308 -0
  6. package/blog/fr/rag_powered_documentation_assistant.md +308 -0
  7. package/blog/hi/rag_powered_documentation_assistant.md +284 -0
  8. package/blog/it/rag_powered_documentation_assistant.md +284 -0
  9. package/blog/ja/rag_powered_documentation_assistant.md +284 -0
  10. package/blog/ko/rag_powered_documentation_assistant.md +283 -0
  11. package/blog/pt/rag_powered_documentation_assistant.md +284 -0
  12. package/blog/ru/rag_powered_documentation_assistant.md +284 -0
  13. package/blog/tr/index.md +69 -0
  14. package/blog/tr/internationalization_and_SEO.md +273 -0
  15. package/blog/tr/intlayer_with_i18next.md +162 -0
  16. package/blog/tr/intlayer_with_next-i18next.md +367 -0
  17. package/blog/tr/intlayer_with_next-intl.md +392 -0
  18. package/blog/tr/intlayer_with_react-i18next.md +346 -0
  19. package/blog/tr/intlayer_with_react-intl.md +345 -0
  20. package/blog/tr/list_i18n_technologies/CMS/drupal.md +143 -0
  21. package/blog/tr/list_i18n_technologies/CMS/wix.md +167 -0
  22. package/blog/tr/list_i18n_technologies/CMS/wordpress.md +188 -0
  23. package/blog/tr/list_i18n_technologies/frameworks/angular.md +125 -0
  24. package/blog/tr/list_i18n_technologies/frameworks/flutter.md +150 -0
  25. package/blog/tr/list_i18n_technologies/frameworks/react-native.md +217 -0
  26. package/blog/tr/list_i18n_technologies/frameworks/react.md +155 -0
  27. package/blog/tr/list_i18n_technologies/frameworks/svelte.md +129 -0
  28. package/blog/tr/list_i18n_technologies/frameworks/vue.md +130 -0
  29. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +170 -0
  30. package/blog/tr/rag_powered_documentation_assistant.md +284 -0
  31. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +162 -0
  32. package/blog/tr/vue-i18n_vs_intlayer.md +276 -0
  33. package/blog/tr/what_is_internationalization.md +166 -0
  34. package/blog/zh/rag_powered_documentation_assistant.md +284 -0
  35. package/dist/cjs/generated/blog.entry.cjs +212 -0
  36. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  37. package/dist/cjs/generated/docs.entry.cjs +660 -132
  38. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  39. package/dist/cjs/generated/frequentQuestions.entry.cjs +84 -0
  40. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  41. package/dist/cjs/generated/legal.entry.cjs +6 -0
  42. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  43. package/dist/esm/generated/blog.entry.mjs +212 -0
  44. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  45. package/dist/esm/generated/docs.entry.mjs +660 -132
  46. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  47. package/dist/esm/generated/frequentQuestions.entry.mjs +84 -0
  48. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  49. package/dist/esm/generated/legal.entry.mjs +6 -0
  50. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  51. package/dist/types/generated/blog.entry.d.ts +1 -0
  52. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  53. package/dist/types/generated/docs.entry.d.ts +5 -2
  54. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  55. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  56. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  57. package/docs/ar/autoFill.md +41 -40
  58. package/docs/ar/configuration.md +202 -199
  59. package/docs/ar/dictionary/content_file.md +1059 -0
  60. package/docs/ar/intlayer_CMS.md +4 -4
  61. package/docs/ar/intlayer_with_nestjs.md +271 -0
  62. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  63. package/docs/ar/intlayer_with_react_router_v7.md +533 -0
  64. package/docs/ar/intlayer_with_tanstack.md +465 -299
  65. package/docs/ar/intlayer_with_vite+preact.md +7 -7
  66. package/docs/ar/intlayer_with_vite+react.md +7 -7
  67. package/docs/ar/intlayer_with_vite+vue.md +9 -9
  68. package/docs/ar/packages/vite-intlayer/index.md +3 -3
  69. package/docs/ar/readme.md +261 -0
  70. package/docs/ar/testing.md +199 -0
  71. package/docs/de/autoFill.md +42 -19
  72. package/docs/de/configuration.md +155 -147
  73. package/docs/de/dictionary/content_file.md +1059 -0
  74. package/docs/de/intlayer_CMS.md +4 -5
  75. package/docs/de/intlayer_with_nestjs.md +270 -0
  76. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  77. package/docs/de/intlayer_with_react_router_v7.md +537 -0
  78. package/docs/de/intlayer_with_tanstack.md +469 -302
  79. package/docs/de/intlayer_with_vite+preact.md +7 -7
  80. package/docs/de/intlayer_with_vite+react.md +7 -7
  81. package/docs/de/intlayer_with_vite+vue.md +9 -9
  82. package/docs/de/packages/vite-intlayer/index.md +3 -3
  83. package/docs/de/readme.md +261 -0
  84. package/docs/de/testing.md +200 -0
  85. package/docs/en/CI_CD.md +4 -6
  86. package/docs/en/autoFill.md +25 -5
  87. package/docs/en/configuration.md +45 -54
  88. package/docs/en/dictionary/content_file.md +1054 -0
  89. package/docs/en/intlayer_CMS.md +8 -7
  90. package/docs/en/intlayer_cli.md +112 -5
  91. package/docs/en/intlayer_with_nestjs.md +268 -0
  92. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  93. package/docs/en/intlayer_with_react_router_v7.md +531 -0
  94. package/docs/en/intlayer_with_tanstack.md +463 -294
  95. package/docs/en/intlayer_with_vite+preact.md +8 -8
  96. package/docs/en/intlayer_with_vite+react.md +8 -8
  97. package/docs/en/intlayer_with_vite+vue.md +8 -8
  98. package/docs/en/packages/intlayer/getLocalizedUrl.md +102 -25
  99. package/docs/en/packages/vite-intlayer/index.md +3 -3
  100. package/docs/en/readme.md +261 -0
  101. package/docs/en/testing.md +200 -0
  102. package/docs/en-GB/autoFill.md +29 -6
  103. package/docs/en-GB/configuration.md +79 -71
  104. package/docs/en-GB/dictionary/content_file.md +1084 -0
  105. package/docs/en-GB/intlayer_CMS.md +4 -5
  106. package/docs/en-GB/intlayer_with_nestjs.md +268 -0
  107. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  108. package/docs/en-GB/intlayer_with_react_router_v7.md +533 -0
  109. package/docs/en-GB/intlayer_with_tanstack.md +466 -299
  110. package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
  111. package/docs/en-GB/intlayer_with_vite+react.md +7 -7
  112. package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
  113. package/docs/en-GB/packages/vite-intlayer/index.md +3 -3
  114. package/docs/en-GB/readme.md +261 -0
  115. package/docs/en-GB/testing.md +200 -0
  116. package/docs/es/autoFill.md +45 -23
  117. package/docs/es/configuration.md +171 -167
  118. package/docs/es/dictionary/content_file.md +1088 -0
  119. package/docs/es/intlayer_CMS.md +4 -5
  120. package/docs/es/intlayer_with_nestjs.md +268 -0
  121. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  122. package/docs/es/intlayer_with_react_router_v7.md +533 -0
  123. package/docs/es/intlayer_with_tanstack.md +469 -280
  124. package/docs/es/intlayer_with_vite+preact.md +7 -7
  125. package/docs/es/intlayer_with_vite+react.md +7 -7
  126. package/docs/es/intlayer_with_vite+vue.md +9 -9
  127. package/docs/es/packages/vite-intlayer/index.md +3 -3
  128. package/docs/es/readme.md +261 -0
  129. package/docs/es/testing.md +200 -0
  130. package/docs/fr/autoFill.md +47 -24
  131. package/docs/fr/configuration.md +213 -198
  132. package/docs/fr/dictionary/content_file.md +1054 -0
  133. package/docs/fr/intlayer_CMS.md +4 -5
  134. package/docs/fr/intlayer_with_nestjs.md +268 -0
  135. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  136. package/docs/fr/intlayer_with_react_router_v7.md +549 -0
  137. package/docs/fr/intlayer_with_tanstack.md +465 -279
  138. package/docs/fr/intlayer_with_vite+preact.md +7 -7
  139. package/docs/fr/intlayer_with_vite+react.md +7 -7
  140. package/docs/fr/intlayer_with_vite+vue.md +9 -9
  141. package/docs/fr/packages/vite-intlayer/index.md +3 -3
  142. package/docs/fr/readme.md +261 -0
  143. package/docs/fr/testing.md +200 -0
  144. package/docs/hi/autoFill.md +47 -25
  145. package/docs/hi/configuration.md +194 -189
  146. package/docs/hi/dictionary/content_file.md +1056 -0
  147. package/docs/hi/intlayer_CMS.md +4 -5
  148. package/docs/hi/intlayer_with_nestjs.md +269 -0
  149. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  150. package/docs/hi/intlayer_with_react_router_v7.md +533 -0
  151. package/docs/hi/intlayer_with_tanstack.md +467 -282
  152. package/docs/hi/intlayer_with_vite+preact.md +7 -7
  153. package/docs/hi/intlayer_with_vite+react.md +7 -7
  154. package/docs/hi/intlayer_with_vite+vue.md +9 -9
  155. package/docs/hi/packages/vite-intlayer/index.md +3 -3
  156. package/docs/hi/readme.md +261 -0
  157. package/docs/hi/testing.md +200 -0
  158. package/docs/it/autoFill.md +46 -24
  159. package/docs/it/configuration.md +169 -161
  160. package/docs/it/dictionary/content_file.md +1061 -0
  161. package/docs/it/intlayer_CMS.md +4 -5
  162. package/docs/it/intlayer_with_nestjs.md +268 -0
  163. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  164. package/docs/it/intlayer_with_react_router_v7.md +535 -0
  165. package/docs/it/intlayer_with_tanstack.md +467 -301
  166. package/docs/it/intlayer_with_vite+preact.md +7 -7
  167. package/docs/it/intlayer_with_vite+react.md +7 -7
  168. package/docs/it/intlayer_with_vite+vue.md +9 -9
  169. package/docs/it/packages/vite-intlayer/index.md +3 -3
  170. package/docs/it/readme.md +261 -0
  171. package/docs/it/testing.md +200 -0
  172. package/docs/ja/autoFill.md +45 -23
  173. package/docs/ja/configuration.md +243 -204
  174. package/docs/ja/dictionary/content_file.md +1064 -0
  175. package/docs/ja/intlayer_CMS.md +4 -5
  176. package/docs/ja/intlayer_with_nestjs.md +268 -0
  177. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  178. package/docs/ja/intlayer_with_react_router_v7.md +534 -0
  179. package/docs/ja/intlayer_with_tanstack.md +467 -303
  180. package/docs/ja/intlayer_with_vite+preact.md +7 -7
  181. package/docs/ja/intlayer_with_vite+react.md +7 -7
  182. package/docs/ja/intlayer_with_vite+vue.md +9 -9
  183. package/docs/ja/packages/vite-intlayer/index.md +3 -3
  184. package/docs/ja/readme.md +263 -0
  185. package/docs/ja/testing.md +200 -0
  186. package/docs/ko/autoFill.md +39 -16
  187. package/docs/ko/configuration.md +217 -197
  188. package/docs/ko/dictionary/content_file.md +1060 -0
  189. package/docs/ko/intlayer_CMS.md +4 -5
  190. package/docs/ko/intlayer_with_nestjs.md +268 -0
  191. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  192. package/docs/ko/intlayer_with_react_router_v7.md +540 -0
  193. package/docs/ko/intlayer_with_tanstack.md +466 -302
  194. package/docs/ko/intlayer_with_vite+preact.md +7 -7
  195. package/docs/ko/intlayer_with_vite+react.md +7 -7
  196. package/docs/ko/intlayer_with_vite+vue.md +9 -9
  197. package/docs/ko/packages/vite-intlayer/index.md +3 -3
  198. package/docs/ko/readme.md +261 -0
  199. package/docs/ko/testing.md +200 -0
  200. package/docs/pt/autoFill.md +39 -15
  201. package/docs/pt/configuration.md +165 -147
  202. package/docs/pt/dictionary/content_file.md +1062 -0
  203. package/docs/pt/intlayer_CMS.md +4 -5
  204. package/docs/pt/intlayer_with_nestjs.md +271 -0
  205. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  206. package/docs/pt/intlayer_with_react_router_v7.md +535 -0
  207. package/docs/pt/intlayer_with_tanstack.md +469 -300
  208. package/docs/pt/intlayer_with_vite+preact.md +7 -7
  209. package/docs/pt/intlayer_with_vite+react.md +7 -7
  210. package/docs/pt/intlayer_with_vite+vue.md +9 -9
  211. package/docs/pt/packages/vite-intlayer/index.md +3 -3
  212. package/docs/pt/readme.md +261 -0
  213. package/docs/pt/testing.md +200 -0
  214. package/docs/ru/autoFill.md +52 -30
  215. package/docs/ru/configuration.md +164 -117
  216. package/docs/ru/dictionary/content_file.md +1064 -0
  217. package/docs/ru/intlayer_CMS.md +4 -4
  218. package/docs/ru/intlayer_with_nestjs.md +270 -0
  219. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  220. package/docs/ru/intlayer_with_react_router_v7.md +534 -0
  221. package/docs/ru/intlayer_with_tanstack.md +470 -305
  222. package/docs/ru/intlayer_with_vite+preact.md +7 -7
  223. package/docs/ru/intlayer_with_vite+react.md +7 -7
  224. package/docs/ru/intlayer_with_vite+vue.md +9 -9
  225. package/docs/ru/packages/vite-intlayer/index.md +3 -3
  226. package/docs/ru/readme.md +261 -0
  227. package/docs/ru/testing.md +202 -0
  228. package/docs/tr/CI_CD.md +198 -0
  229. package/docs/tr/autoFill.md +201 -0
  230. package/docs/tr/configuration.md +585 -0
  231. package/docs/tr/dictionary/condition.md +243 -0
  232. package/docs/tr/dictionary/content_file.md +1055 -0
  233. package/docs/tr/dictionary/enumeration.md +251 -0
  234. package/docs/tr/dictionary/file.md +228 -0
  235. package/docs/tr/dictionary/function_fetching.md +218 -0
  236. package/docs/tr/dictionary/gender.md +279 -0
  237. package/docs/tr/dictionary/insertion.md +191 -0
  238. package/docs/tr/dictionary/markdown.md +385 -0
  239. package/docs/tr/dictionary/nesting.md +279 -0
  240. package/docs/tr/dictionary/translation.md +315 -0
  241. package/docs/tr/formatters.md +618 -0
  242. package/docs/tr/how_works_intlayer.md +254 -0
  243. package/docs/tr/index.md +168 -0
  244. package/docs/tr/interest_of_intlayer.md +288 -0
  245. package/docs/tr/intlayer_CMS.md +347 -0
  246. package/docs/tr/intlayer_cli.md +570 -0
  247. package/docs/tr/intlayer_visual_editor.md +269 -0
  248. package/docs/tr/intlayer_with_angular.md +694 -0
  249. package/docs/tr/intlayer_with_create_react_app.md +1218 -0
  250. package/docs/tr/intlayer_with_express.md +415 -0
  251. package/docs/tr/intlayer_with_lynx+react.md +511 -0
  252. package/docs/tr/intlayer_with_nestjs.md +268 -0
  253. package/docs/tr/intlayer_with_nextjs_14.md +1029 -0
  254. package/docs/tr/intlayer_with_nextjs_15.md +1506 -0
  255. package/docs/tr/intlayer_with_nextjs_page_router.md +1484 -0
  256. package/docs/tr/intlayer_with_nuxt.md +773 -0
  257. package/docs/tr/intlayer_with_react_native+expo.md +660 -0
  258. package/docs/tr/intlayer_with_react_router_v7.md +531 -0
  259. package/docs/tr/intlayer_with_tanstack.md +452 -0
  260. package/docs/tr/intlayer_with_vite+preact.md +1673 -0
  261. package/docs/tr/intlayer_with_vite+react.md +1632 -0
  262. package/docs/tr/intlayer_with_vite+solid.md +288 -0
  263. package/docs/tr/intlayer_with_vite+svelte.md +288 -0
  264. package/docs/tr/intlayer_with_vite+vue.md +1042 -0
  265. package/docs/tr/introduction.md +209 -0
  266. package/docs/tr/locale_mapper.md +244 -0
  267. package/docs/tr/mcp_server.md +207 -0
  268. package/docs/tr/packages/@intlayer/api/index.md +58 -0
  269. package/docs/tr/packages/@intlayer/chokidar/index.md +57 -0
  270. package/docs/tr/packages/@intlayer/cli/index.md +47 -0
  271. package/docs/tr/packages/@intlayer/config/index.md +142 -0
  272. package/docs/tr/packages/@intlayer/core/index.md +51 -0
  273. package/docs/tr/packages/@intlayer/design-system/index.md +47 -0
  274. package/docs/tr/packages/@intlayer/dictionary-entry/index.md +53 -0
  275. package/docs/tr/packages/@intlayer/editor/index.md +47 -0
  276. package/docs/tr/packages/@intlayer/editor-react/index.md +47 -0
  277. package/docs/tr/packages/@intlayer/webpack/index.md +61 -0
  278. package/docs/tr/packages/angular-intlayer/index.md +59 -0
  279. package/docs/tr/packages/express-intlayer/index.md +258 -0
  280. package/docs/tr/packages/express-intlayer/t.md +459 -0
  281. package/docs/tr/packages/intlayer/getConfiguration.md +151 -0
  282. package/docs/tr/packages/intlayer/getEnumeration.md +165 -0
  283. package/docs/tr/packages/intlayer/getHTMLTextDir.md +127 -0
  284. package/docs/tr/packages/intlayer/getLocaleLang.md +87 -0
  285. package/docs/tr/packages/intlayer/getLocaleName.md +124 -0
  286. package/docs/tr/packages/intlayer/getLocalizedUrl.md +324 -0
  287. package/docs/tr/packages/intlayer/getMultilingualUrls.md +225 -0
  288. package/docs/tr/packages/intlayer/getPathWithoutLocale.md +81 -0
  289. package/docs/tr/packages/intlayer/getTranslation.md +196 -0
  290. package/docs/tr/packages/intlayer/getTranslationContent.md +195 -0
  291. package/docs/tr/packages/intlayer/index.md +505 -0
  292. package/docs/tr/packages/intlayer-cli/index.md +71 -0
  293. package/docs/tr/packages/intlayer-editor/index.md +139 -0
  294. package/docs/tr/packages/lynx-intlayer/index.md +85 -0
  295. package/docs/tr/packages/next-intlayer/index.md +154 -0
  296. package/docs/tr/packages/next-intlayer/t.md +354 -0
  297. package/docs/tr/packages/next-intlayer/useDictionary.md +270 -0
  298. package/docs/tr/packages/next-intlayer/useIntlayer.md +265 -0
  299. package/docs/tr/packages/next-intlayer/useLocale.md +133 -0
  300. package/docs/tr/packages/nuxt-intlayer/index.md +59 -0
  301. package/docs/tr/packages/preact-intlayer/index.md +55 -0
  302. package/docs/tr/packages/react-intlayer/index.md +148 -0
  303. package/docs/tr/packages/react-intlayer/t.md +304 -0
  304. package/docs/tr/packages/react-intlayer/useDictionary.md +554 -0
  305. package/docs/tr/packages/react-intlayer/useI18n.md +478 -0
  306. package/docs/tr/packages/react-intlayer/useIntlayer.md +253 -0
  307. package/docs/tr/packages/react-intlayer/useLocale.md +212 -0
  308. package/docs/tr/packages/react-native-intlayer/index.md +85 -0
  309. package/docs/tr/packages/react-scripts-intlayer/index.md +82 -0
  310. package/docs/tr/packages/solid-intlayer/index.md +56 -0
  311. package/docs/tr/packages/svelte-intlayer/index.md +55 -0
  312. package/docs/tr/packages/vite-intlayer/index.md +82 -0
  313. package/docs/tr/packages/vue-intlayer/index.md +59 -0
  314. package/docs/tr/per_locale_file.md +321 -0
  315. package/docs/tr/readme.md +261 -0
  316. package/docs/tr/roadmap.md +338 -0
  317. package/docs/tr/testing.md +200 -0
  318. package/docs/tr/vs_code_extension.md +154 -0
  319. package/docs/zh/autoFill.md +40 -18
  320. package/docs/zh/configuration.md +245 -226
  321. package/docs/zh/dictionary/content_file.md +1064 -0
  322. package/docs/zh/intlayer_CMS.md +4 -5
  323. package/docs/zh/intlayer_with_nestjs.md +268 -0
  324. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  325. package/docs/zh/intlayer_with_react_router_v7.md +535 -0
  326. package/docs/zh/intlayer_with_tanstack.md +468 -278
  327. package/docs/zh/intlayer_with_vite+preact.md +7 -7
  328. package/docs/zh/intlayer_with_vite+react.md +7 -7
  329. package/docs/zh/intlayer_with_vite+vue.md +7 -7
  330. package/docs/zh/packages/vite-intlayer/index.md +3 -3
  331. package/docs/zh/readme.md +261 -0
  332. package/docs/zh/testing.md +198 -0
  333. package/frequent_questions/tr/SSR_Next_no_[locale].md +105 -0
  334. package/frequent_questions/tr/array_as_content_declaration.md +72 -0
  335. package/frequent_questions/tr/build_dictionaries.md +59 -0
  336. package/frequent_questions/tr/build_error_CI_CD.md +75 -0
  337. package/frequent_questions/tr/customized_locale_list.md +65 -0
  338. package/frequent_questions/tr/domain_routing.md +114 -0
  339. package/frequent_questions/tr/esbuild_error.md +30 -0
  340. package/frequent_questions/tr/get_locale_cookie.md +142 -0
  341. package/frequent_questions/tr/intlayer_command_undefined.md +156 -0
  342. package/frequent_questions/tr/locale_incorect_in_url.md +74 -0
  343. package/frequent_questions/tr/static_rendering.md +45 -0
  344. package/frequent_questions/tr/translated_path_url.md +56 -0
  345. package/frequent_questions/tr/unknown_command.md +98 -0
  346. package/legal/tr/privacy_notice.md +83 -0
  347. package/legal/tr/terms_of_service.md +55 -0
  348. package/package.json +13 -13
  349. package/src/generated/blog.entry.ts +212 -0
  350. package/src/generated/docs.entry.ts +663 -135
  351. package/src/generated/frequentQuestions.entry.ts +85 -1
  352. package/src/generated/legal.entry.ts +7 -1
  353. package/docs/ar/dictionary/content_extention_customization.md +0 -100
  354. package/docs/ar/dictionary/get_started.md +0 -527
  355. package/docs/de/dictionary/content_extention_customization.md +0 -100
  356. package/docs/de/dictionary/get_started.md +0 -531
  357. package/docs/en/dictionary/content_extention_customization.md +0 -102
  358. package/docs/en/dictionary/get_started.md +0 -529
  359. package/docs/en-GB/dictionary/content_extention_customization.md +0 -100
  360. package/docs/en-GB/dictionary/get_started.md +0 -591
  361. package/docs/es/dictionary/content_extention_customization.md +0 -100
  362. package/docs/es/dictionary/get_started.md +0 -527
  363. package/docs/fr/dictionary/content_extention_customization.md +0 -100
  364. package/docs/fr/dictionary/get_started.md +0 -527
  365. package/docs/hi/dictionary/content_extention_customization.md +0 -100
  366. package/docs/hi/dictionary/get_started.md +0 -527
  367. package/docs/it/dictionary/content_extention_customization.md +0 -113
  368. package/docs/it/dictionary/get_started.md +0 -573
  369. package/docs/ja/dictionary/content_extention_customization.md +0 -113
  370. package/docs/ja/dictionary/get_started.md +0 -576
  371. package/docs/ko/dictionary/content_extention_customization.md +0 -100
  372. package/docs/ko/dictionary/get_started.md +0 -530
  373. package/docs/pt/dictionary/content_extention_customization.md +0 -100
  374. package/docs/pt/dictionary/get_started.md +0 -532
  375. package/docs/ru/dictionary/content_extention_customization.md +0 -100
  376. package/docs/ru/dictionary/get_started.md +0 -575
  377. package/docs/zh/dictionary/content_extention_customization.md +0 -117
  378. package/docs/zh/dictionary/get_started.md +0 -533
@@ -1,348 +1,437 @@
1
1
  ---
2
- createdAt: 2025-08-11
3
- updatedAt: 2025-08-11
4
- title: TanStack Start (React) में Intlayer के साथ शुरुआत करना
5
- description: Intlayer का उपयोग करके अपने TanStack Start ऐप में i18n जोड़ें-कंपोनेंट-स्तरीय शब्दकोश, स्थानीयकृत URL, और SEO-अनुकूल मेटाडेटा।
2
+ createdAt: 2025-09-09
3
+ updatedAt: 2025-09-09
4
+ title: Tanstack Start में Intlayer के साथ शुरुआत करना
5
+ description: जानें कि कैसे Intlayer का उपयोग करके अपने Tanstack Start एप्लिकेशन में अंतरराष्ट्रीयकरण (i18n) जोड़ें। इस व्यापक गाइड का पालन करें ताकि आपका ऐप बहुभाषी और लोकल-आधारित रूटिंग के साथ हो।
6
6
  keywords:
7
7
  - अंतरराष्ट्रीयकरण
8
- - दस्तावेज़ीकरण
8
+ - प्रलेखन
9
9
  - Intlayer
10
- - TanStack Start
11
- - TanStack Router
10
+ - Tanstack Start
12
11
  - React
13
12
  - i18n
14
- - JavaScript
13
+ - TypeScript
14
+ - लोकल रूटिंग
15
15
  slugs:
16
16
  - doc
17
17
  - environment
18
+ - vite-and-react
18
19
  - tanstack-start
20
+ applicationTemplate: https://github.com/AydinTheFirst/tanstack-start-intlayer
21
+ author: AydinTheFirst
19
22
  ---
20
23
 
21
- # Intlayer और TanStack Start (React) के साथ अंतरराष्ट्रीयकरण (i18n) शुरू करना
24
+ # Intlayer और Tanstack Start के साथ अंतरराष्ट्रीयकरण (i18n) शुरू करना
25
+
26
+ यह गाइड दिखाता है कि कैसे **Intlayer** को Tanstack Start प्रोजेक्ट्स में सहज अंतरराष्ट्रीयकरण के लिए एकीकृत किया जाए, जिसमें लोकल-आधारित रूटिंग, TypeScript समर्थन, और आधुनिक विकास प्रथाएँ शामिल हैं।
22
27
 
23
28
  ## Intlayer क्या है?
24
29
 
25
- **Intlayer** React ऐप्स के लिए एक ओपन-सोर्स i18n टूलकिट है। यह आपको प्रदान करता है:
30
+ **Intlayer** एक नवोन्मेषी, ओपन-सोर्स अंतरराष्ट्रीयकरण (i18n) लाइब्रेरी है जिसे आधुनिक वेब एप्लिकेशन में बहुभाषी समर्थन को सरल बनाने के लिए डिज़ाइन किया गया है।
26
31
 
27
- - **कंपोनेंट-स्थानीय शब्दकोश** TypeScript सुरक्षा के साथ।
28
- - **डायनामिक मेटाडेटा और रूट्स** (SEO-तैयार)।
29
- - **रनटाइम लोकल स्विचिंग** (और लोकल का पता लगाने/सहेजने के लिए सहायक)।
30
- - **Vite प्लगइन** बिल्ड-टाइम ट्रांसफॉर्म और डेवलपर अनुभव (DX) के लिए।
32
+ Intlayer के साथ, आप कर सकते हैं:
31
33
 
32
- यह गाइड दिखाता है कि Intlayer को **TanStack Start** प्रोजेक्ट में कैसे जोड़ा जाए (जो अंतर्निहित रूप से Vite का उपयोग करता है और रूटिंग/SSR के लिए TanStack Router का उपयोग करता है)।
34
+ - **घोषणात्मक शब्दकोशों का उपयोग करके अनुवादों का आसानी से प्रबंधन** करें, जो कि कंपोनेंट स्तर पर होते हैं।
35
+ - **मेटाडेटा, रूट्स, और सामग्री को गतिशील रूप से स्थानीयकृत** करें।
36
+ - **स्वचालित रूप से उत्पन्न प्रकारों के साथ TypeScript समर्थन सुनिश्चित करें**, जिससे ऑटो-कम्प्लीशन और त्रुटि पहचान में सुधार होता है।
37
+ - **उन्नत सुविधाओं का लाभ उठाएं**, जैसे गतिशील लोकल पहचान और स्विचिंग।
38
+ - **Tanstack Start की फ़ाइल-आधारित रूटिंग सिस्टम के साथ लोकल-आवेयर रूटिंग सक्षम करें।**
33
39
 
34
40
  ---
35
41
 
36
- ## चरण 1: निर्भरताएँ स्थापित करें
42
+ ## Tanstack Start एप्लिकेशन में Intlayer सेटअप करने के लिए चरण-दर-चरण मार्गदर्शिका
37
43
 
38
- ```bash
39
- # npm
40
- npm i intlayer react-intlayer
41
- npm i -D vite-intlayer
44
+ ### चरण 1: प्रोजेक्ट बनाएं
42
45
 
43
- # pnpm
44
- pnpm add intlayer react-intlayer
45
- pnpm add -D vite-intlayer
46
+ TanStack Start वेबसाइट पर उपलब्ध [Start new project](https://tanstack.com/start/latest/docs/framework/react/quick-start) गाइड का पालन करके एक नया TanStack Start प्रोजेक्ट बनाएं।
47
+
48
+ ### चरण 2: Intlayer पैकेज इंस्टॉल करें
46
49
 
47
- # yarn
48
- yarn add intlayer react-intlayer
49
- yarn add -D vite-intlayer
50
+ अपने पसंदीदा पैकेज मैनेजर का उपयोग करके आवश्यक पैकेज इंस्टॉल करें:
51
+
52
+ ```bash packageManager="npm"
53
+ npm install intlayer react-intlayer
54
+ npm install vite-intlayer --save-dev
50
55
  ```
51
56
 
52
- - **intlayer**: कोर (कॉन्फ़िग, शब्दकोश, CLI/ट्रांसफॉर्म)।
53
- - **react-intlayer**: `<IntlayerProvider>` + React के लिए हुक्स।
54
- - **vite-intlayer**: Vite प्लगइन, साथ ही वैकल्पिक मिडलवेयर लोकल डिटेक्शन/रिडायरेक्ट के लिए (डेवलपमेंट और SSR/पूर्वावलोकन में काम करता है; प्रोडक्शन SSR के लिए इसे `dependencies` में ले जाएं)।
57
+ ```bash packageManager="pnpm"
58
+ pnpm add intlayer react-intlayer
59
+ pnpm add vite-intlayer --save-dev
60
+ ```
55
61
 
56
- ---
62
+ - **intlayer**
63
+
64
+ - **intlayer**
65
+
66
+ कोर पैकेज जो कॉन्फ़िगरेशन प्रबंधन, अनुवाद, [सामग्री घोषणा](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/get_started.md), ट्रांसपाइलेशन, और [CLI कमांड](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_cli.md) के लिए अंतरराष्ट्रीयकरण उपकरण प्रदान करता है।
67
+
68
+ - **react-intlayer**
69
+ वह पैकेज जो Intlayer को React एप्लिकेशन के साथ एकीकृत करता है। यह React अंतरराष्ट्रीयकरण के लिए संदर्भ प्रदाता और हुक्स प्रदान करता है।
70
+
71
+ - **vite-intlayer**
72
+ इसमें Vite प्लगइन शामिल है जो Intlayer को [Vite बंडलर](https://vite.dev/guide/why.html#why-bundle-for-production) के साथ एकीकृत करता है, साथ ही उपयोगकर्ता की पसंदीदा लोकल का पता लगाने, कुकीज़ प्रबंधित करने, और URL पुनर्निर्देशन को संभालने के लिए मिडलवेयर भी शामिल है।
57
73
 
58
- ## चरण 2: Intlayer कॉन्फ़िगर करें
74
+ ### चरण 3: अपने प्रोजेक्ट का कॉन्फ़िगरेशन
59
75
 
60
- अपने प्रोजेक्ट रूट पर `intlayer.config.ts` बनाएं:
76
+ अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक कॉन्फ़िग फ़ाइल बनाएं:
61
77
 
62
- ```ts fileName="intlayer.config.ts"
63
- import { Locales, type IntlayerConfig } from "intlayer";
78
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
79
+ import type { IntlayerConfig } from "intlayer";
80
+
81
+ import { Locales } from "intlayer";
64
82
 
65
83
  const config: IntlayerConfig = {
66
84
  internationalization: {
67
- locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
68
- defaultLocale: Locales.ENGLISH,
85
+ defaultLocale: Locales.ENGLISH, // डिफ़ॉल्ट भाषा
86
+ locales: [
87
+ Locales.ENGLISH, // अंग्रेज़ी
88
+ Locales.FRENCH, // फ्रेंच
89
+ Locales.SPANISH, // स्पेनिश
90
+ // आपकी अन्य भाषाएँ
91
+ ],
69
92
  },
70
- // आप contentDir, contentFileExtensions, middleware विकल्प आदि को भी समायोजित कर सकते हैं।
71
93
  };
72
94
 
73
95
  export default config;
74
96
  ```
75
97
 
76
- यदि आप `cjs`/`mjs` पसंद करते हैं तो CommonJS/ESM वेरिएंट आपके मूल दस्तावेज़ के समान ही हैं।
98
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
99
+ import { Locales } from "intlayer";
77
100
 
78
- > पूर्ण कॉन्फ़िग संदर्भ के लिए: Intlayer के कॉन्फ़िगरेशन दस्तावेज़ देखें।
101
+ /** @type {import('intlayer').IntlayerConfig} */
102
+ const config = {
103
+ internationalization: {
104
+ defaultLocale: Locales.ENGLISH, // डिफ़ॉल्ट भाषा
105
+ locales: [
106
+ Locales.ENGLISH, // अंग्रेज़ी
107
+ Locales.FRENCH, // फ्रेंच
108
+ Locales.SPANISH, // स्पेनिश
109
+ // आपकी अन्य भाषाएँ
110
+ ],
111
+ },
112
+ };
79
113
 
80
- ---
114
+ export default config;
115
+ ```
81
116
 
82
- ## चरण 3: Vite प्लगइन (और वैकल्पिक मिडलवेयर) जोड़ें
117
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
118
+ const { Locales } = require("intlayer");
83
119
 
84
- **TanStack Start Vite का उपयोग करता है**, इसलिए Intlayer के प्लगइन को अपने `vite.config.ts` में जोड़ें:
120
+ /** @type {import('intlayer').IntlayerConfig} */
121
+ const config = {
122
+ internationalization: {
123
+ defaultLocale: Locales.ENGLISH, // डिफ़ॉल्ट भाषा
124
+ locales: [
125
+ Locales.ENGLISH, // अंग्रेज़ी
126
+ Locales.FRENCH, // फ्रेंच
127
+ Locales.SPANISH, // स्पेनिश
128
+ // आपकी अन्य भाषाएँ
129
+ ],
130
+ },
131
+ };
132
+
133
+ module.exports = config;
134
+ ```
135
+
136
+ > इस कॉन्फ़िगरेशन फ़ाइल के माध्यम से, आप स्थानीयकृत URL, मिडलवेयर पुनर्निर्देशन, कुकी नाम, आपकी सामग्री घोषणाओं का स्थान और एक्सटेंशन सेट कर सकते हैं, कंसोल में Intlayer लॉग को अक्षम कर सकते हैं, और भी बहुत कुछ। उपलब्ध सभी पैरामीटर की पूरी सूची के लिए, [कॉन्फ़िगरेशन दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) देखें।
85
137
 
86
- ```ts fileName="vite.config.ts"
138
+ ### चरण 4: अपने Vite कॉन्फ़िगरेशन में Intlayer को एकीकृत करें
139
+
140
+ अपने कॉन्फ़िगरेशन में intlayer प्लगइन जोड़ें:
141
+
142
+ ```typescript fileName="vite.config.ts" codeFormat="typescript"
143
+ import { reactRouter } from "@react-router/dev/vite";
87
144
  import { defineConfig } from "vite";
88
- import react from "@vitejs/plugin-react-swc";
89
- import { intlayerPlugin, intLayerMiddlewarePlugin } from "vite-intlayer";
145
+ import { intlayerMiddlewarePlugin, intlayerPlugin } from "vite-intlayer";
146
+ import tsconfigPaths from "vite-tsconfig-paths";
90
147
 
91
148
  export default defineConfig({
92
149
  plugins: [
93
- react(),
150
+ reactRouter(),
151
+ tsconfigPaths(),
94
152
  intlayerPlugin(),
95
- // वैकल्पिक लेकिन स्थानीय पहचान, कुकीज़ और रीडायरेक्ट के लिए अनुशंसित:
96
- intLayerMiddlewarePlugin(),
153
+ intlayerMiddlewarePlugin(),
97
154
  ],
98
155
  });
99
156
  ```
100
157
 
101
- > यदि आप SSR तैनात करते हैं, तो `vite-intlayer` को `dependencies` में स्थानांतरित करें ताकि मिडलवेयर उत्पादन में चले।
158
+ > `intlayerPlugin()` Vite प्लगइन का उपयोग Intlayer को Vite के साथ एकीकृत करने के लिए किया जाता है। यह सामग्री घोषणा फ़ाइलों के निर्माण को सुनिश्चित करता है और विकास मोड में उनकी निगरानी करता है। यह Vite एप्लिकेशन के भीतर Intlayer पर्यावरण चर को परिभाषित करता है। इसके अतिरिक्त, यह प्रदर्शन को बेहतर बनाने के लिए उपनाम प्रदान करता है।
102
159
 
103
- ---
160
+ ### चरण 5: लेआउट कॉम्पोनेंट बनाएं
161
+
162
+ अपने रूट लेआउट और स्थानीय-विशिष्ट लेआउट सेट करें:
163
+
164
+ #### रूट लेआउट
104
165
 
105
- ## चरण 4: अपनी सामग्री घोषित करें
166
+ ```tsx fileName="src/routes/{-$locale}/route.tsx" codeFormat="typescript"
167
+ // src/routes/{-$locale}/route.tsx
168
+ import { createFileRoute, Navigate, Outlet } from "@tanstack/react-router";
169
+ import { configuration } from "intlayer";
170
+ import { IntlayerProvider, useLocale } from "react-intlayer";
171
+
172
+ import { useI18nHTMLAttributes } from "@/hooks/useI18nHTMLAttributes";
173
+
174
+ export const Route = createFileRoute("/{-$locale}")({
175
+ component: LayoutComponent,
176
+ });
177
+
178
+ function LayoutComponent() {
179
+ const { locale } = Route.useParams();
180
+
181
+ return (
182
+ <IntlayerProvider locale={locale}>
183
+ <Outlet />
184
+ </IntlayerProvider>
185
+ );
186
+ }
187
+ ```
106
188
 
107
- अपने शब्दकोशों को `./src` (डिफ़ॉल्ट `contentDir`) के अंतर्गत कहीं भी रखें। उदाहरण:
189
+ ### चरण 6: अपनी सामग्री घोषित करें
108
190
 
109
- ```tsx fileName="src/app.content.tsx"
110
- import { t, type Dictionary } from "intlayer";
111
- import type { ReactNode } from "react";
191
+ अपने अनुवादों को संग्रहीत करने के लिए अपनी सामग्री घोषणाएँ बनाएं और प्रबंधित करें:
192
+
193
+ ```tsx fileName="src/contents/page.content.ts" contentDeclarationFormat="typescript"
194
+ import type { Dictionary } from "intlayer";
195
+
196
+ import { t } from "intlayer";
112
197
 
113
198
  const appContent = {
114
- key: "app",
115
199
  content: {
116
- viteLogo: t({ en: "Vite logo", fr: "Logo Vite", es: "Logo Vite" }),
117
- reactLogo: t({ en: "React logo", fr: "Logo React", es: "Logo React" }),
200
+ links: {
201
+ about: t({
202
+ en: "About",
203
+ es: "Acerca de",
204
+ fr: "À propos",
205
+ }),
206
+ home: t({
207
+ en: "होम",
208
+ es: "Inicio",
209
+ fr: "Accueil",
210
+ }),
211
+ },
212
+ meta: {
213
+ description: t({
214
+ en: "यह Intlayer को TanStack Router के साथ उपयोग करने का एक उदाहरण है",
215
+ es: "Este es un ejemplo de uso de Intlayer con TanStack Router",
216
+ fr: "Ceci est un exemple d'utilisation d'Intlayer avec TanStack Router",
217
+ }),
218
+ },
118
219
  title: t({
119
- en: "TanStack Start + React",
120
- fr: "TanStack Start + React",
121
- es: "TanStack Start + React",
122
- }),
123
- count: t({ en: "count is ", fr: "le compte est ", es: "el recuento es " }),
124
- edit: t<ReactNode>({
125
- en: (
126
- <>
127
- <code>src/routes/index.tsx</code> को संपादित करें और HMR परीक्षण के
128
- लिए सहेजें
129
- </>
130
- ),
131
- fr: (
132
- <>
133
- Éditez <code>src/routes/index.tsx</code> et enregistrez pour tester
134
- HMR
135
- </>
136
- ),
137
- es: (
138
- <>
139
- Edita <code>src/routes/index.tsx</code> y guarda para probar HMR
140
- </>
141
- ),
142
- }),
143
- readTheDocs: t({
144
- en: "लोगो पर क्लिक करके अधिक जानें",
145
- fr: "Cliquez sur les logos pour en savoir plus",
146
- es: "Haz clic en los logotipos para saber más",
220
+ en: "Intlayer + TanStack Router में आपका स्वागत है",
221
+ es: "Bienvenido a Intlayer + TanStack Router",
222
+ fr: "Bienvenue à Intlayer + TanStack Router",
147
223
  }),
148
224
  },
225
+ key: "app",
149
226
  } satisfies Dictionary;
150
227
 
151
228
  export default appContent;
152
229
  ```
153
230
 
154
- JSON/ESM/CJS संस्करण आपके मूल दस्तावेज़ की तरह ही काम करते हैं।
231
+ > आपकी सामग्री घोषणाएँ आपके एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं जब वे `contentDir` निर्देशिका में शामिल हो जाती हैं (डिफ़ॉल्ट रूप से, `./app`)। और सामग्री घोषणा फ़ाइल एक्सटेंशन से मेल खाती हैं (डिफ़ॉल्ट रूप से, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`)।
155
232
 
156
- > TSX सामग्री? यदि आपकी सेटअप को इसकी आवश्यकता है तो `import React from "react"` करना न भूलें।
233
+ > अधिक विवरण के लिए, [सामग्री घोषणा दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/get_started.md) देखें।
157
234
 
158
- ---
235
+ ### चरण 7: स्थानीय-ज्ञानी (Locale-Aware) घटक और हुक बनाएं
159
236
 
160
- ## चरण 5: TanStack Start को Intlayer के साथ लपेटें
237
+ स्थानीय-ज्ञानी नेविगेशन के लिए एक `LocalizedLink` घटक बनाएं:
161
238
 
162
- TanStack Start के साथ, आपका **रूट रूट** प्रदाताओं को सेट करने के लिए सही स्थान है।
239
+ ```tsx fileName="src/components/localized-link.tsx" codeFormat="typescript"
240
+ // src/components/localized-link.tsx
241
+ // eslint-disable-next-line no-restricted-imports
242
+ import { Link, type LinkProps } from "@tanstack/react-router";
243
+ import { getLocalizedUrl } from "intlayer";
244
+ import { useLocale } from "react-intlayer";
163
245
 
164
- ```tsx fileName="src/routes/__root.tsx"
165
- import {
166
- Outlet,
167
- createRootRoute,
168
- Link as RouterLink,
169
- } from "@tanstack/react-router";
170
- import { IntlayerProvider, useIntlayer } from "react-intlayer";
171
-
172
- function AppShell() {
173
- // शीर्ष स्तर पर एक शब्दकोश का उपयोग करने का उदाहरण:
174
- const content = useIntlayer("app");
246
+ type LocalizedLinkProps = {
247
+ to: string;
248
+ } & Omit<LinkProps, "to">;
175
249
 
176
- return (
177
- <div>
178
- <nav className="flex gap-3 p-3">
179
- <RouterLink to="/">होम</RouterLink>
180
- <RouterLink to="/about">के बारे में</RouterLink>
181
- </nav>
182
- <main className="p-6">
183
- <h1>{content.title}</h1>
184
- <Outlet />
185
- </main>
186
- </div>
187
- );
188
- }
250
+ export function LocalizedLink(props: LocalizedLinkProps) {
251
+ const { locale } = useLocale();
189
252
 
190
- export const Route = createRootRoute({
191
- component: () => (
192
- <IntlayerProvider>
193
- <AppShell />
194
- </IntlayerProvider>
195
- ),
196
- });
197
- ```
253
+ const isExternal = (to: string) => {
254
+ return /^(https?:)?\/\//.test(to);
255
+ };
198
256
 
199
- फिर अपने पृष्ठों में अपनी सामग्री का उपयोग करें:
257
+ const to = isExternal(props.to)
258
+ ? props.to
259
+ : getLocalizedUrl(props.to, locale);
200
260
 
201
- ```tsx fileName="src/routes/index.tsx"
202
- import { createFileRoute } from "@tanstack/react-router";
203
- import { useIntlayer } from "react-intlayer";
204
- import reactLogo from "../assets/react.svg";
205
-
206
- export const Route = createFileRoute("/")({
207
- component: () => {
208
- const content = useIntlayer("app");
209
- return (
210
- <>
211
- <button>{content.count}0</button>
212
- <p>{content.edit}</p>
213
- <img
214
- src={reactLogo}
215
- alt={content.reactLogo.value}
216
- width={48}
217
- height={48}
218
- />
219
- <p className="opacity-70">{content.readTheDocs}</p>
220
- </>
221
- );
222
- },
223
- });
261
+ return <Link {...props} to={to as LinkProps["to"]} />;
262
+ }
224
263
  ```
225
264
 
226
- > स्ट्रिंग गुण (`alt`, `title`, `aria-label`, …) को `.value` की आवश्यकता होती है:
227
- >
228
- > ```jsx
229
- > <img alt={c.reactLogo.value} />
230
- > ```
265
+ प्रोग्रामेटिक नेविगेशन के लिए `useLocalizedNavigate` हुक बनाएं:
231
266
 
232
- ---
267
+ ```tsx fileName="src/hooks/useLocalizedNavigate.tsx" codeFormat="typescript"
268
+ // src/hooks/useLocalizedNavigate.tsx
269
+ // eslint-disable-next-line no-restricted-imports
270
+ import { NavigateOptions, useNavigate } from "@tanstack/react-router";
271
+ import { getLocalizedUrl } from "intlayer";
272
+ import { useLocale } from "react-intlayer";
233
273
 
234
- ## (वैकल्पिक) चरण 6: भाषा स्विचिंग (क्लाइंट)
274
+ type LocalizedNavigateOptions = {
275
+ to: string;
276
+ } & Omit<NavigateOptions, "to">;
235
277
 
236
- ```tsx fileName="src/components/LocaleSwitcher.tsx"
237
- import { Locales } from "intlayer";
238
- import { useLocale } from "react-intlayer";
278
+ export const useLocalizedNavigate = () => {
279
+ const navigate = useNavigate();
280
+ const { locale } = useLocale();
239
281
 
240
- export function LocaleSwitcher() {
241
- const { setLocale } = useLocale();
242
- return (
243
- <div className="flex gap-2">
244
- <button onClick={() => setLocale(Locales.ENGLISH)}>अंग्रेज़ी</button>
245
- <button onClick={() => setLocale(Locales.FRENCH)}>फ्रेंच</button>
246
- <button onClick={() => setLocale(Locales.SPANISH)}>स्पेनिश</button>
247
- </div>
248
- );
249
- }
282
+ const isExternal = (to: string) => {
283
+ return /^(https?:)?\/\//.test(to);
284
+ };
285
+
286
+ const localizedNavigate = (options: LocalizedNavigateOptions) => {
287
+ const to = isExternal(options.to)
288
+ ? options.to
289
+ : getLocalizedUrl(options.to, locale);
290
+
291
+ navigate({ ...options, to: to as NavigateOptions["to"] });
292
+ };
293
+
294
+ return localizedNavigate;
295
+ };
250
296
  ```
251
297
 
252
- ---
298
+ ### चरण 8: अपने पृष्ठों में Intlayer का उपयोग करें
253
299
 
254
- ## (वैकल्पिक) चरण 7: स्थानीयकृत रूटिंग (SEO-अनुकूल URL)
300
+ अपने एप्लिकेशन में अपने कंटेंट डिक्शनरीज़ तक पहुँचें:
255
301
 
256
- TanStack Start के साथ आपके पास **दो अच्छे पैटर्न** हैं। एक चुनें।
302
+ #### रूट रीडायरेक्ट पेज
257
303
 
258
- `src/routes/$locale/` नामक एक डायनेमिक सेगमेंट फ़ोल्डर बनाएं ताकि आपके URL `/:locale/...` हों। `$locale` लेआउट में, `params.locale` को मान्य करें, `<IntlayerProvider locale=...>` सेट करें, और एक `<Outlet />` रेंडर करें। यह तरीका सीधा है, लेकिन आप अपने बाकी रूट्स को `$locale` के नीचे माउंट करेंगे, और यदि आप डिफ़ॉल्ट लोकल को प्रीफिक्स नहीं करना चाहते हैं तो आपको एक अतिरिक्त गैर-प्रिफिक्स्ड ट्री की आवश्यकता होगी।
304
+ ```tsx fileName="src/routes/page.tsx" codeFormat="typescript"
305
+ // src/routes/page.tsx
306
+ import { useLocale } from "react-intlayer";
307
+ import { Navigate } from "react-router";
259
308
 
260
- ---
309
+ export default function Page() {
310
+ const { locale } = useLocale();
261
311
 
262
- ## (वैकल्पिक) चरण 8: लोकैल बदलते समय URL अपडेट करें
312
+ return <Navigate replace to={locale} />;
313
+ }
314
+ ```
263
315
 
264
- पैटर्न A (basepath) के साथ, लोकैल बदलना मतलब है **एक अलग basepath पर नेविगेट करना**:
316
+ #### स्थानीयकृत होम पेज
265
317
 
266
- ```tsx fileName="src/components/LocaleSwitcherNavigate.tsx"
267
- import { useRouter } from "@tanstack/react-router";
268
- import { Locales, getLocalizedUrl } from "intlayer";
269
- import { useLocale } from "react-intlayer";
318
+ ```tsx fileName="src/routes/{-$locale}/index.tsx" codeFormat="typescript"
319
+ import { createFileRoute } from "@tanstack/react-router";
320
+ import { getIntlayer } from "intlayer";
321
+ import { useIntlayer } from "react-intlayer";
270
322
 
271
- export function LocaleSwitcherNavigate() {
272
- const router = useRouter();
273
- const { locale, setLocale } = useLocale();
274
-
275
- const change = async (next: Locales) => {
276
- if (next === locale) return;
277
- const nextPath = getLocalizedUrl(
278
- window.location.pathname + window.location.search,
279
- next
280
- );
281
- await router.navigate({ to: nextPath }); // इतिहास को संरक्षित करता है
282
- setLocale(next);
283
- };
323
+ import LocaleSwitcher from "@/components/locale-switcher";
324
+ import { LocalizedLink } from "@/components/localized-link";
325
+ import { useLocalizedNavigate } from "@/hooks/useLocalizedNavigate";
326
+
327
+ export const Route = createFileRoute("/{-$locale}/")({
328
+ component: RouteComponent,
329
+ head: ({ params }) => {
330
+ const { locale } = params;
331
+ const metaContent = getIntlayer("app", locale);
332
+
333
+ return {
334
+ meta: [
335
+ { title: metaContent.title },
336
+ { content: metaContent.meta.description, name: "description" },
337
+ ],
338
+ };
339
+ },
340
+ });
341
+
342
+ function RouteComponent() {
343
+ const content = useIntlayer("app");
344
+ const navigate = useLocalizedNavigate();
284
345
 
285
346
  return (
286
- <div className="flex gap-2">
287
- <button onClick={() => change(Locales.ENGLISH)}>अंग्रेज़ी</button>
288
- <button onClick={() => change(Locales.FRENCH)}>फ्रेंच</button>
289
- <button onClick={() => change(Locales.SPANISH)}>स्पेनिश</button>
347
+ <div className="grid place-items-center h-screen">
348
+ <div className="flex flex-col gap-4 items-center text-center">
349
+ {content.title}
350
+ <LocaleSwitcher />
351
+ <div className="flex gap-4">
352
+ <a href="/">इंडेक्स</a>
353
+ <LocalizedLink to="/">{content.links.home}</LocalizedLink>
354
+ <LocalizedLink to="/about">{content.links.about}</LocalizedLink>
355
+ </div>
356
+ <div className="flex gap-4">
357
+ <button onClick={() => navigate({ to: "/" })}>
358
+ {content.links.home}
359
+ </button>
360
+ <button onClick={() => navigate({ to: "/about" })}>
361
+ {content.links.about}
362
+ </button>
363
+ </div>
364
+ </div>
290
365
  </div>
291
366
  );
292
367
  }
293
368
  ```
294
369
 
295
- ---
370
+ > `useIntlayer` हुक के बारे में अधिक जानने के लिए, [दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/react-intlayer/useIntlayer.md) देखें।
296
371
 
297
- ## (वैकल्पिक) चरण 9: `<html lang>` और `dir` (TanStack Start Document)
372
+ ### चरण 9: एक लोकल स्विचर कंपोनेंट बनाएं
298
373
 
299
- TanStack Start एक **Document** (रूट HTML शेल) प्रदान करता है जिसे आप अनुकूलित कर सकते हैं। पहुँच/SEO के लिए `lang` और `dir` सेट करें:
374
+ उपयोगकर्ताओं को भाषाएं बदलने की अनुमति देने के लिए एक कंपोनेंट बनाएं:
300
375
 
301
- ```tsx fileName="src/routes/__root.tsx" {4,15}
302
- import { Outlet, createRootRoute } from "@tanstack/react-router";
303
- import { IntlayerProvider } from "react-intlayer";
304
- import { getHTMLTextDir } from "intlayer";
376
+ ```tsx fileName="src/components/locale-switcher.tsx" codeFormat="typescript"
377
+ import { useLocation } from "@tanstack/react-router";
378
+ import {
379
+ getHTMLTextDir,
380
+ getLocaleName,
381
+ getLocalizedUrl,
382
+ Locales,
383
+ } from "intlayer";
384
+ import { useIntlayer, useLocale } from "react-intlayer";
385
+
386
+ export default function LocaleSwitcher() {
387
+ const { pathname, searchStr } = useLocation();
388
+ const content = useIntlayer("locale-switcher");
389
+
390
+ const { availableLocales, locale, setLocale } = useLocale({
391
+ onLocaleChange: (newLocale) => {
392
+ const pathWithLocale = getLocalizedUrl(pathname + searchStr, newLocale);
393
+ location.replace(pathWithLocale);
394
+ },
395
+ });
305
396
 
306
- function Document({
307
- locale,
308
- children,
309
- }: {
310
- locale: string;
311
- children: React.ReactNode;
312
- }) {
313
397
  return (
314
- <html lang={locale} dir={getHTMLTextDir(locale)}>
315
- <head>
316
- <meta charSet="utf-8" />
317
- <meta name="viewport" content="width=device-width, initial-scale=1" />
318
- {/* ... */}
319
- </head>
320
- <body>{children}</body>
321
- </html>
398
+ <select
399
+ aria-label={content.label.toString()}
400
+ onChange={(e) => setLocale(e.target.value)}
401
+ value={locale}
402
+ >
403
+ {availableLocales.map((localeItem) => (
404
+ <option
405
+ dir={getHTMLTextDir(localeItem)}
406
+ key={localeItem}
407
+ lang={localeItem}
408
+ value={localeItem}
409
+ >
410
+ {/* उदाहरण: Français (फ्रेंच) */}
411
+ {getLocaleName(localeItem, locale)} (
412
+ {getLocaleName(localeItem, Locales.ENGLISH)})
413
+ </option>
414
+ ))}
415
+ </select>
322
416
  );
323
417
  }
324
-
325
- export const Route = createRootRoute({
326
- component: () => (
327
- <IntlayerProvider>
328
- {/* यदि आप सर्वर पर locale की गणना करते हैं, तो इसे Document में पास करें; अन्यथा क्लाइंट पोस्ट-हाइड्रेशन के बाद सही कर देगा */}
329
- <Document locale={document?.documentElement?.lang || "en"}>
330
- <Outlet />
331
- </Document>
332
- </IntlayerProvider>
333
- ),
334
- });
335
418
  ```
336
419
 
337
- क्लाइंट-साइड सुधार के लिए, आप अपना छोटा हुक भी रख सकते हैं:
420
+ > `useLocale` हुक के बारे में अधिक जानने के लिए, [दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/react-intlayer/useLocale.md) देखें।
338
421
 
339
- ```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx"
422
+ ### चरण 10: HTML एट्रिब्यूट्स प्रबंधन जोड़ें (वैकल्पिक)
423
+
424
+ HTML lang और dir एट्रिब्यूट्स को प्रबंधित करने के लिए एक हुक बनाएं:
425
+
426
+ ```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
427
+ // src/hooks/useI18nHTMLAttributes.tsx
428
+ import { getHTMLTextDir } from "intlayer";
340
429
  import { useEffect } from "react";
341
430
  import { useLocale } from "react-intlayer";
342
- import { getHTMLTextDir } from "intlayer";
343
431
 
344
432
  export const useI18nHTMLAttributes = () => {
345
433
  const { locale } = useLocale();
434
+
346
435
  useEffect(() => {
347
436
  document.documentElement.lang = locale;
348
437
  document.documentElement.dir = getHTMLTextDir(locale);
@@ -350,89 +439,185 @@ export const useI18nHTMLAttributes = () => {
350
439
  };
351
440
  ```
352
441
 
353
- ---
442
+ फिर इसे अपने रूट कॉम्पोनेंट में उपयोग करें:
354
443
 
355
- ## (वैकल्पिक) चरण 10: स्थानीयकृत लिंक कॉम्पोनेंट
444
+ ```tsx fileName="src/routes/{-$locale}/index.tsx" codeFormat="typescript"
445
+ import { createFileRoute, Navigate, Outlet } from "@tanstack/react-router";
446
+ import { configuration } from "intlayer";
447
+ import { IntlayerProvider, useLocale } from "react-intlayer";
356
448
 
357
- TanStack Router एक `<Link/>` प्रदान करता है, लेकिन यदि आपको कभी एक साधारण `<a>` की आवश्यकता हो जो आंतरिक URL को स्वचालित रूप से प्रीफिक्स करे:
449
+ import { useI18nHTMLAttributes } from "@/hooks/useI18nHTMLAttributes"; // हुक को इम्पोर्ट करें
358
450
 
359
- ```tsx fileName="src/components/Link.tsx"
360
- import { getLocalizedUrl } from "intlayer";
361
- import {
362
- forwardRef,
363
- type AnchorHTMLAttributes,
364
- type DetailedHTMLProps,
365
- } from "react";
366
- import { useLocale } from "react-intlayer";
451
+ export const Route = createFileRoute("/{-$locale}")({
452
+ component: LayoutComponent,
453
+ });
367
454
 
368
- export interface LinkProps
369
- extends DetailedHTMLProps<
370
- AnchorHTMLAttributes<HTMLAnchorElement>,
371
- HTMLAnchorElement
372
- > {}
373
-
374
- const isExternal = (href?: string) => /^https?:\/\//.test(href ?? "");
375
-
376
- // बाहरी URL की जांच करने के लिए फ़ंक्शन
377
- export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
378
- ({ href, children, ...props }, ref) => {
379
- const { locale } = useLocale();
380
- // यदि href आंतरिक URL है, तो इसे स्थानीयकृत URL में बदलें
381
- const hrefI18n =
382
- href && !isExternal(href) ? getLocalizedUrl(href, locale) : href;
383
- return (
384
- <a href={hrefI18n} ref={ref} {...props}>
385
- {children}
386
- </a>
387
- );
388
- }
389
- );
390
- Link.displayName = "Link";
455
+ function LayoutComponent() {
456
+ useI18nHTMLAttributes(); // इस लाइन को जोड़ें
457
+
458
+ const { locale } = Route.useParams();
459
+
460
+ return (
461
+ <IntlayerProvider locale={locale}>
462
+ <Outlet />
463
+ </IntlayerProvider>
464
+ );
465
+ }
391
466
  ```
392
467
 
393
- > यदि आप पैटर्न A (basepath) का उपयोग करते हैं, तो TanStack का `<Link to="/about" />` पहले से ही `basepath` के माध्यम से `/fr/about` को हल करता है, इसलिए एक कस्टम लिंक वैकल्पिक है।
468
+ ### चरण 11: अपनी एप्लिकेशन को बिल्ड और रन करें
394
469
 
395
- ---
470
+ कंटेंट डिक्शनरीज़ बनाएं और अपनी एप्लिकेशन चलाएं:
396
471
 
397
- ## TypeScript
472
+ ```bash packageManager="npm"
473
+ # Intlayer डिक्शनरीज़ बनाएं
474
+ npm run intlayer:build
475
+
476
+ # डेवलपमेंट सर्वर शुरू करें
477
+ npm run dev
478
+ ```
398
479
 
399
- Intlayer द्वारा उत्पन्न प्रकारों को शामिल करें:
480
+ ```bash packageManager="pnpm"
481
+ # Intlayer डिक्शनरीज़ बनाएं
482
+ pnpm intlayer:build
483
+
484
+ # डेवलपमेंट सर्वर शुरू करें
485
+ pnpm dev
486
+ ```
487
+
488
+ ```bash packageManager="yarn"
489
+ # Intlayer डिक्शनरीज़ बनाएं
490
+ yarn intlayer:build
491
+
492
+ # डेवलपमेंट सर्वर शुरू करें
493
+ yarn dev
494
+ ```
495
+
496
+ ### चरण 12: TypeScript कॉन्फ़िगर करें (वैकल्पिक)
497
+
498
+ Intlayer मॉड्यूल ऑगमेंटेशन का उपयोग करता है ताकि TypeScript के लाभ प्राप्त किए जा सकें और आपका कोडबेस मजबूत बनाया जा सके।
499
+
500
+ सुनिश्चित करें कि आपकी TypeScript कॉन्फ़िगरेशन में ऑटो-जेनरेटेड टाइप्स शामिल हैं:
400
501
 
401
502
  ```json5 fileName="tsconfig.json"
402
503
  {
403
- "include": ["src", ".intlayer/**/*.ts"],
504
+ compilerOptions: {
505
+ // ... आपकी मौजूदा TypeScript कॉन्फ़िगरेशन
506
+ },
507
+ include: [
508
+ // ... आपकी मौजूदा शामिल की गई फाइलें
509
+ ".intlayer/**/*.ts", // ऑटो-जेनरेटेड टाइप्स शामिल करें
510
+ ],
404
511
  }
405
512
  ```
406
513
 
407
- ---
514
+ ### Git कॉन्फ़िगरेशन
408
515
 
409
- ## Git
516
+ यह अनुशंसित है कि Intlayer द्वारा जनरेट की गई फाइलों को अनदेखा किया जाए। इससे आप उन्हें अपनी Git रिपॉजिटरी में कमिट करने से बच सकते हैं।
410
517
 
411
- Intlayer द्वारा उत्पन्न आर्टिफैक्ट्स को अनदेखा करें:
518
+ इसके लिए, आप अपनी `.gitignore` फाइल में निम्नलिखित निर्देश जोड़ सकते हैं:
412
519
 
413
- ```gitignore
520
+ ```plaintext fileName=".gitignore"
521
+ # Intlayer द्वारा जनरेट की गई फाइलों को अनदेखा करें
414
522
  .intlayer
415
523
  ```
416
524
 
417
525
  ---
418
526
 
527
+ ### चरण 13: रीडायरेक्शन बनाएं (वैकल्पिक)
528
+
529
+ ```typescript fileName="src/routes/{-$locale}/rotue.tsx" codeFormat="typescript"
530
+ function LayoutComponent() {
531
+ useI18nHTMLAttributes();
532
+
533
+ const { locale } = Route.useParams();
534
+ const { locale: selectedLocale } = useLocale();
535
+ const { defaultLocale } = configuration.internationalization;
536
+ const { prefixDefault } = configuration.middleware;
537
+
538
+ // यदि prefixDefault true है और URL में कोई locale मौजूद नहीं है, तो डिफ़ॉल्ट locale पर पुनर्निर्देशित करें
539
+ if (selectedLocale === defaultLocale && !locale && prefixDefault) {
540
+ return <Navigate replace to={defaultLocale} />;
541
+ }
542
+
543
+ // यदि URL में locale चयनित locale से मेल नहीं खाता है, तो चयनित locale पर पुनर्निर्देशित करें
544
+ if (selectedLocale !== defaultLocale && !locale) {
545
+ return <Navigate replace to={selectedLocale} />;
546
+ }
547
+
548
+ return (
549
+ <IntlayerProvider locale={locale}>
550
+ <Outlet />
551
+ </IntlayerProvider>
552
+ );
553
+ }
554
+ ```
555
+
556
+ ## प्रोडक्शन डिप्लॉयमेंट
557
+
558
+ जब आप अपनी एप्लिकेशन को डिप्लॉय कर रहे हों:
559
+
560
+ 1. **अपनी एप्लिकेशन बनाएं:**
561
+
562
+ ```bash
563
+ npm run build
564
+ ```
565
+
566
+ 2. **Intlayer शब्दकोश बनाएं:**
567
+
568
+ ```bash
569
+ npm run intlayer:build
570
+ ```
571
+
572
+ 3. **यदि प्रोडक्शन में मिडलवेयर का उपयोग कर रहे हैं तो `vite-intlayer` को dependencies में जोड़ें:**
573
+ ```bash
574
+ npm install vite-intlayer --save
575
+ ```
576
+
577
+ अब आपकी एप्लिकेशन निम्नलिखित का समर्थन करेगी:
578
+
579
+ - **URL संरचना**: `/en`, `/en/about`, `/tr`, `/tr/about`
580
+ - **ब्राउज़र प्राथमिकताओं के आधार पर स्वचालित लोकल डिटेक्शन**
581
+ - **Tanstack Start के साथ लोकल-संज्ञानी रूटिंग**
582
+ - **स्वचालित जनरेट किए गए प्रकारों के साथ TypeScript समर्थन**
583
+ - **सर्वर-साइड रेंडरिंग के साथ उचित लोकल हैंडलिंग**
584
+
419
585
  ## VS कोड एक्सटेंशन
420
586
 
421
- - **Intlayer VS कोड एक्सटेंशन** ऑटोकंप्लीशन, त्रुटियाँ, इनलाइन प्रीव्यू, त्वरित क्रियाएँ।
422
- मार्केटप्लेस: `intlayer.intlayer-vs-code-extension`
587
+ Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक **Intlayer VS Code एक्सटेंशन** इंस्टॉल कर सकते हैं।
588
+
589
+ [VS Code मार्केटप्लेस से इंस्टॉल करें](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
590
+
591
+ यह एक्सटेंशन प्रदान करता है:
592
+
593
+ - अनुवाद कुंजियों के लिए **ऑटोकंप्लीशन**।
594
+ - गायब अनुवादों के लिए **रीयल-टाइम त्रुटि पहचान**।
595
+ - अनुवादित सामग्री के **इनलाइन पूर्वावलोकन**।
596
+ - अनुवादों को आसानी से बनाने और अपडेट करने के लिए **त्वरित क्रियाएं**।
597
+
598
+ एक्सटेंशन का उपयोग कैसे करें, इसके लिए अधिक जानकारी के लिए देखें [Intlayer VS Code एक्सटेंशन दस्तावेज़](https://intlayer.org/doc/vs-code-extension)।
423
599
 
424
600
  ---
425
601
 
426
602
  ## आगे बढ़ें
427
603
 
428
- - विज़ुअल एडिटर
429
- - CMS मोड
430
- - एज / एडाप्टर पर लोकल डिटेक्शन
604
+ आगे बढ़ने के लिए, आप [विज़ुअल एडिटर](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_visual_editor.md) को लागू कर सकते हैं या अपने कंटेंट को [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_CMS.md) का उपयोग करके बाहरी रूप से प्रबंधित कर सकते हैं।
431
605
 
432
606
  ---
433
607
 
608
+ ## दस्तावेज़ संदर्भ
609
+
610
+ - [Intlayer दस्तावेज़](https://intlayer.org)
611
+ - [Tanstack Start दस्तावेज़](https://reactrouter.com/)
612
+ - [useIntlayer हुक](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/react-intlayer/useIntlayer.md)
613
+ - [useLocale हुक](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/react-intlayer/useLocale.md)
614
+ - [सामग्री घोषणा](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/get_started.md)
615
+ - [कॉन्फ़िगरेशन](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md)
616
+
617
+ यह व्यापक गाइड आपको Intlayer को Tanstack Start के साथ पूरी तरह से अंतरराष्ट्रीयकृत एप्लिकेशन के लिए एकीकृत करने के लिए आवश्यक सभी जानकारी प्रदान करता है, जिसमें स्थानीय-जानकारी रूटिंग और TypeScript समर्थन शामिल है।
618
+
434
619
  ## दस्तावेज़ इतिहास
435
620
 
436
- | संस्करण | तिथि | परिवर्तन |
437
- | ------- | ---------- | ---------------------------------- |
438
- | 1.0.0 | 2025-08-11 | TanStack स्टार्ट अनुकूलन जोड़ा गया |
621
+ | संस्करण | तिथि | परिवर्तन |
622
+ | ------- | ---------- | ------------------------------- |
623
+ | 5.8.1 | 2025-09-09 | Tanstack Start के लिए जोड़ा गया |