@intlayer/docs 9.0.0-canary.4 → 9.0.0-canary.6

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 (1505) hide show
  1. package/blog/ar/intlayer_with_i18next.md +4 -0
  2. package/blog/ar/intlayer_with_next-i18next.md +0 -11
  3. package/blog/ar/intlayer_with_next-intl.md +4 -0
  4. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +35 -28
  5. package/blog/ar/rag_powered_documentation_assistant.md +13 -0
  6. package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
  7. package/blog/ar/vue-i18n_vs_intlayer.md +8 -0
  8. package/blog/de/intlayer_with_i18next.md +4 -0
  9. package/blog/de/intlayer_with_next-i18next.md +0 -11
  10. package/blog/de/intlayer_with_next-intl.md +4 -0
  11. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
  12. package/blog/de/rag_powered_documentation_assistant.md +0 -193
  13. package/blog/de/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
  14. package/blog/de/vue-i18n_vs_intlayer.md +8 -0
  15. package/blog/en-GB/intlayer_with_i18next.md +4 -0
  16. package/blog/en-GB/intlayer_with_next-i18next.md +0 -11
  17. package/blog/en-GB/intlayer_with_next-intl.md +4 -0
  18. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
  19. package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +14 -0
  20. package/blog/en-GB/vue-i18n_vs_intlayer.md +16 -0
  21. package/blog/es/intlayer_with_i18next.md +4 -0
  22. package/blog/es/intlayer_with_next-i18next.md +0 -11
  23. package/blog/es/intlayer_with_next-intl.md +4 -0
  24. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
  25. package/blog/es/rag_powered_documentation_assistant.md +13 -0
  26. package/blog/es/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
  27. package/blog/es/vue-i18n_vs_intlayer.md +8 -0
  28. package/blog/fr/i18n_meaning.md +95 -0
  29. package/blog/fr/intlayer_with_next-i18next.md +0 -11
  30. package/blog/fr/intlayer_with_next-intl.md +4 -0
  31. package/blog/fr/intlayer_with_react-i18next.md +0 -8
  32. package/blog/fr/list_i18n_technologies/frameworks/angular.md +0 -2
  33. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
  34. package/blog/fr/rag_powered_documentation_assistant.md +0 -62
  35. package/blog/fr/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
  36. package/blog/fr/vue-i18n_vs_intlayer.md +8 -0
  37. package/blog/hi/intlayer_with_i18next.md +4 -0
  38. package/blog/hi/intlayer_with_next-i18next.md +0 -11
  39. package/blog/hi/intlayer_with_next-intl.md +4 -0
  40. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +1256 -0
  41. package/blog/hi/rag_powered_documentation_assistant.md +13 -0
  42. package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
  43. package/blog/hi/vue-i18n_vs_intlayer.md +8 -0
  44. package/blog/id/internationalization_and_SEO.md +0 -91
  45. package/blog/id/intlayer_with_i18next.md +4 -0
  46. package/blog/id/intlayer_with_next-i18next.md +0 -11
  47. package/blog/id/intlayer_with_next-intl.md +4 -0
  48. package/blog/id/rag_powered_documentation_assistant.md +13 -0
  49. package/blog/it/intlayer_with_i18next.md +4 -0
  50. package/blog/it/intlayer_with_next-i18next.md +0 -11
  51. package/blog/it/intlayer_with_next-intl.md +4 -0
  52. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
  53. package/blog/it/rag_powered_documentation_assistant.md +0 -195
  54. package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
  55. package/blog/it/vue-i18n_vs_intlayer.md +8 -0
  56. package/blog/ja/intlayer_with_i18next.md +4 -0
  57. package/blog/ja/intlayer_with_next-i18next.md +0 -11
  58. package/blog/ja/intlayer_with_next-intl.md +4 -0
  59. package/blog/ja/l10n_platform_alternative/Lokalise.md +10 -0
  60. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +121 -26
  61. package/blog/ja/rag_powered_documentation_assistant.md +13 -0
  62. package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
  63. package/blog/ja/vue-i18n_vs_intlayer.md +8 -0
  64. package/blog/ko/intlayer_with_i18next.md +4 -0
  65. package/blog/ko/intlayer_with_next-i18next.md +0 -11
  66. package/blog/ko/intlayer_with_next-intl.md +4 -0
  67. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +121 -18
  68. package/blog/ko/rag_powered_documentation_assistant.md +0 -194
  69. package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
  70. package/blog/ko/vue-i18n_vs_intlayer.md +8 -0
  71. package/blog/ko/what_is_internationalization.md +0 -4
  72. package/blog/pl/___per-component_vs_centralized_i18n.md +100 -0
  73. package/blog/pl/internationalization_and_SEO.md +0 -91
  74. package/blog/pl/intlayer_with_i18next.md +4 -0
  75. package/blog/pl/intlayer_with_next-i18next.md +0 -11
  76. package/blog/pl/intlayer_with_next-intl.md +4 -0
  77. package/blog/pl/l10n_platform_alternative/Lokalise.md +6 -0
  78. package/blog/pl/rag_powered_documentation_assistant.md +13 -0
  79. package/blog/pt/internationalization_and_SEO.md +1 -1
  80. package/blog/pt/intlayer_with_i18next.md +4 -0
  81. package/blog/pt/intlayer_with_next-i18next.md +0 -11
  82. package/blog/pt/intlayer_with_next-intl.md +4 -0
  83. package/blog/pt/intlayer_with_react-intl.md +0 -4
  84. package/blog/pt/l10n_platform_alternative/crowdin.md +0 -6
  85. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
  86. package/blog/pt/rag_powered_documentation_assistant.md +0 -195
  87. package/blog/pt/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
  88. package/blog/pt/vue-i18n_vs_intlayer.md +8 -0
  89. package/blog/ru/intlayer_with_i18next.md +4 -0
  90. package/blog/ru/intlayer_with_next-i18next.md +0 -11
  91. package/blog/ru/intlayer_with_next-intl.md +4 -0
  92. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
  93. package/blog/ru/rag_powered_documentation_assistant.md +13 -0
  94. package/blog/ru/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
  95. package/blog/ru/vue-i18n_vs_intlayer.md +8 -0
  96. package/blog/tr/intlayer_with_i18next.md +4 -0
  97. package/blog/tr/intlayer_with_next-i18next.md +0 -11
  98. package/blog/tr/intlayer_with_next-intl.md +4 -0
  99. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1189 -0
  100. package/blog/tr/rag_powered_documentation_assistant.md +0 -38
  101. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +9 -0
  102. package/blog/uk/rag_powered_documentation_assistant.md +13 -0
  103. package/blog/vi/internationalization_and_SEO.md +0 -91
  104. package/blog/vi/intlayer_with_i18next.md +4 -0
  105. package/blog/vi/intlayer_with_next-i18next.md +0 -11
  106. package/blog/vi/intlayer_with_next-intl.md +4 -0
  107. package/blog/vi/rag_powered_documentation_assistant.md +13 -0
  108. package/blog/zh/intlayer_with_i18next.md +4 -47
  109. package/blog/zh/intlayer_with_next-i18next.md +0 -58
  110. package/blog/zh/intlayer_with_next-intl.md +4 -47
  111. package/blog/zh/intlayer_with_react-i18next.md +0 -47
  112. package/blog/zh/intlayer_with_react-intl.md +0 -47
  113. package/blog/zh/intlayer_with_vue-i18n.md +0 -47
  114. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +121 -26
  115. package/blog/zh/nextjs-multilingual-seo-comparison.md +0 -30
  116. package/blog/zh/rag_powered_documentation_assistant.md +0 -191
  117. package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
  118. package/blog/zh/vue-i18n_vs_intlayer.md +8 -0
  119. package/docs/ar/CI_CD.md +4 -0
  120. package/docs/ar/autoFill.md +81 -0
  121. package/docs/ar/benchmark/solid.md +22 -0
  122. package/docs/ar/benchmark/svelte.md +22 -0
  123. package/docs/ar/benchmark/tanstack.md +22 -0
  124. package/docs/ar/cli/ci.md +22 -0
  125. package/docs/ar/cli/fill.md +8 -0
  126. package/docs/ar/compat/i18n-js.md +44 -0
  127. package/docs/ar/compat/i18next.md +59 -0
  128. package/docs/ar/compat/index.md +51 -0
  129. package/docs/ar/compat/lingui.md +44 -0
  130. package/docs/ar/compat/next-i18next.md +57 -0
  131. package/docs/ar/compat/next-intl.md +59 -0
  132. package/docs/ar/compat/next-translate.md +45 -0
  133. package/docs/ar/compat/ngx-translate.md +45 -0
  134. package/docs/ar/compat/nuxtjs-i18n.md +46 -0
  135. package/docs/ar/compat/polyglot.md +45 -0
  136. package/docs/ar/compat/react-i18next.md +58 -0
  137. package/docs/ar/compat/react-intl.md +55 -0
  138. package/docs/ar/compat/svelte-i18n.md +47 -0
  139. package/docs/ar/compat/transloco.md +45 -0
  140. package/docs/ar/compat/vue-i18n.md +58 -0
  141. package/docs/ar/compiler.md +3 -1
  142. package/docs/ar/configuration.md +19 -17
  143. package/docs/ar/custom_domains.md +1 -1
  144. package/docs/ar/custom_url_rewrites.md +1 -1
  145. package/docs/ar/dictionary/content_file.md +4 -7
  146. package/docs/ar/dictionary/enumeration.md +0 -187
  147. package/docs/ar/dictionary/file.md +8 -0
  148. package/docs/ar/dictionary/nesting.md +39 -0
  149. package/docs/ar/dictionary/translation.md +0 -61
  150. package/docs/ar/formatters.md +59 -0
  151. package/docs/ar/how_works_intlayer.md +4 -0
  152. package/docs/ar/interest_of_intlayer.md +193 -0
  153. package/docs/ar/intlayer_CMS.md +6 -0
  154. package/docs/ar/intlayer_with_astro.md +129 -2
  155. package/docs/ar/intlayer_with_astro_lit.md +1 -1
  156. package/docs/ar/intlayer_with_astro_preact.md +1 -1
  157. package/docs/ar/intlayer_with_astro_react.md +1 -1
  158. package/docs/ar/intlayer_with_astro_solid.md +1 -1
  159. package/docs/ar/intlayer_with_astro_svelte.md +1 -1
  160. package/docs/ar/intlayer_with_astro_vanilla.md +1 -1
  161. package/docs/ar/intlayer_with_astro_vue.md +1 -1
  162. package/docs/ar/intlayer_with_create_react_app.md +0 -14
  163. package/docs/ar/intlayer_with_express.md +0 -21
  164. package/docs/ar/intlayer_with_nestjs.md +0 -18
  165. package/docs/ar/intlayer_with_nextjs_14.md +30 -7
  166. package/docs/ar/intlayer_with_nextjs_15.md +21 -1
  167. package/docs/ar/intlayer_with_nextjs_16.md +124 -2
  168. package/docs/ar/intlayer_with_nextjs_compiler.md +1 -1
  169. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1 -1
  170. package/docs/ar/intlayer_with_nextjs_page_router.md +5 -1
  171. package/docs/ar/intlayer_with_react_native+expo.md +91 -78
  172. package/docs/ar/intlayer_with_react_router_v7.md +1 -95
  173. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +20 -96
  174. package/docs/ar/intlayer_with_svelte_kit.md +1 -207
  175. package/docs/ar/intlayer_with_tanstack+solid.md +3 -1
  176. package/docs/ar/intlayer_with_tanstack.md +1 -1
  177. package/docs/ar/intlayer_with_vite+lit.md +1 -1
  178. package/docs/ar/intlayer_with_vite+preact.md +40 -40
  179. package/docs/ar/intlayer_with_vite+react.md +1 -1
  180. package/docs/ar/intlayer_with_vite+react_compiler.md +1 -1
  181. package/docs/ar/intlayer_with_vite+solid.md +25 -25
  182. package/docs/ar/intlayer_with_vite+svelte.md +12 -12
  183. package/docs/ar/intlayer_with_vite+vanilla.md +1 -1
  184. package/docs/ar/intlayer_with_vite+vue.md +44 -114
  185. package/docs/ar/mcp_server.md +22 -0
  186. package/docs/ar/migration_from_i18next_to_intlayer.md +333 -0
  187. package/docs/ar/migration_from_next-i18next_to_intlayer.md +355 -0
  188. package/docs/ar/migration_from_next-intl_to_intlayer.md +364 -0
  189. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
  190. package/docs/ar/migration_from_react-i18next_to_intlayer.md +384 -0
  191. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +359 -0
  192. package/docs/ar/packages/intlayer/getLocalizedUrl.md +73 -0
  193. package/docs/ar/packages/intlayer/getMultilingualUrls.md +111 -0
  194. package/docs/ar/packages/intlayer/getPathWithoutLocale.md +0 -4
  195. package/docs/ar/packages/react-intlayer/t.md +0 -13
  196. package/docs/ar/packages/react-intlayer/useDictionary.md +0 -104
  197. package/docs/ar/packages/react-intlayer/useI18n.md +0 -4
  198. package/docs/ar/packages/react-intlayer/useIntlayer.md +0 -55
  199. package/docs/ar/packages/react-native-intlayer/exports.md +48 -14
  200. package/docs/ar/releases/v6.md +28 -0
  201. package/docs/ar/releases/v7.md +128 -0
  202. package/docs/ar/releases/v9.md +37 -1
  203. package/docs/ar/roadmap.md +6 -0
  204. package/docs/de/CI_CD.md +4 -0
  205. package/docs/de/autoFill.md +81 -0
  206. package/docs/de/benchmark/solid.md +22 -0
  207. package/docs/de/benchmark/svelte.md +22 -0
  208. package/docs/de/benchmark/tanstack.md +22 -0
  209. package/docs/de/cli/ci.md +22 -0
  210. package/docs/de/cli/fill.md +8 -0
  211. package/docs/de/cli/init.md +20 -0
  212. package/docs/de/compat/i18n-js.md +44 -0
  213. package/docs/de/compat/i18next.md +59 -0
  214. package/docs/de/compat/index.md +51 -0
  215. package/docs/de/compat/lingui.md +44 -0
  216. package/docs/de/compat/next-i18next.md +57 -0
  217. package/docs/de/compat/next-intl.md +59 -0
  218. package/docs/de/compat/next-translate.md +45 -0
  219. package/docs/de/compat/ngx-translate.md +45 -0
  220. package/docs/de/compat/nuxtjs-i18n.md +46 -0
  221. package/docs/de/compat/polyglot.md +45 -0
  222. package/docs/de/compat/react-i18next.md +58 -0
  223. package/docs/de/compat/react-intl.md +55 -0
  224. package/docs/de/compat/svelte-i18n.md +47 -0
  225. package/docs/de/compat/transloco.md +45 -0
  226. package/docs/de/compat/vue-i18n.md +58 -0
  227. package/docs/de/compiler.md +3 -1
  228. package/docs/de/configuration.md +19 -17
  229. package/docs/de/custom_domains.md +1 -1
  230. package/docs/de/custom_url_rewrites.md +1 -1
  231. package/docs/de/dictionary/content_file.md +4 -0
  232. package/docs/de/dictionary/enumeration.md +0 -199
  233. package/docs/de/dictionary/file.md +8 -0
  234. package/docs/de/dictionary/insertion.md +0 -4
  235. package/docs/de/dictionary/nesting.md +39 -0
  236. package/docs/de/dictionary/translation.md +0 -61
  237. package/docs/de/dynamic_dictionaries/index.md +6 -0
  238. package/docs/de/formatters.md +130 -0
  239. package/docs/de/how_works_intlayer.md +4 -0
  240. package/docs/de/intlayer_CMS.md +6 -0
  241. package/docs/de/intlayer_with_astro.md +129 -2
  242. package/docs/de/intlayer_with_astro_lit.md +1 -1
  243. package/docs/de/intlayer_with_astro_preact.md +1 -1
  244. package/docs/de/intlayer_with_astro_react.md +1 -1
  245. package/docs/de/intlayer_with_astro_solid.md +1 -1
  246. package/docs/de/intlayer_with_astro_svelte.md +1 -1
  247. package/docs/de/intlayer_with_astro_vanilla.md +1 -1
  248. package/docs/de/intlayer_with_astro_vue.md +1 -1
  249. package/docs/de/intlayer_with_create_react_app.md +15 -0
  250. package/docs/de/intlayer_with_express.md +0 -23
  251. package/docs/de/intlayer_with_lynx+react.md +4 -2
  252. package/docs/de/intlayer_with_nestjs.md +0 -8
  253. package/docs/de/intlayer_with_nextjs_14.md +28 -7
  254. package/docs/de/intlayer_with_nextjs_15.md +21 -1
  255. package/docs/de/intlayer_with_nextjs_16.md +1 -1
  256. package/docs/de/intlayer_with_nextjs_compiler.md +49 -1
  257. package/docs/de/intlayer_with_nextjs_no_locale_path.md +1 -1
  258. package/docs/de/intlayer_with_nextjs_page_router.md +5 -1
  259. package/docs/de/intlayer_with_react_native+expo.md +85 -67
  260. package/docs/de/intlayer_with_react_router_v7.md +1 -95
  261. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -91
  262. package/docs/de/intlayer_with_svelte_kit.md +1 -207
  263. package/docs/de/intlayer_with_tanstack+solid.md +3 -1
  264. package/docs/de/intlayer_with_tanstack.md +1 -1
  265. package/docs/de/intlayer_with_vite+lit.md +1 -1
  266. package/docs/de/intlayer_with_vite+preact.md +61 -57
  267. package/docs/de/intlayer_with_vite+react.md +1 -1
  268. package/docs/de/intlayer_with_vite+react_compiler.md +1 -1
  269. package/docs/de/intlayer_with_vite+solid.md +33 -42
  270. package/docs/de/intlayer_with_vite+svelte.md +27 -29
  271. package/docs/de/intlayer_with_vite+vanilla.md +1 -1
  272. package/docs/de/intlayer_with_vite+vue.md +54 -102
  273. package/docs/de/mcp_server.md +22 -0
  274. package/docs/de/packages/intlayer/getLocalizedUrl.md +75 -0
  275. package/docs/de/packages/intlayer/getMultilingualUrls.md +111 -0
  276. package/docs/de/packages/react-intlayer/useDictionary.md +0 -116
  277. package/docs/de/packages/react-intlayer/useIntlayer.md +0 -51
  278. package/docs/de/packages/react-native-intlayer/exports.md +47 -13
  279. package/docs/de/releases/v6.md +10 -6
  280. package/docs/de/releases/v7.md +128 -0
  281. package/docs/de/releases/v9.md +37 -1
  282. package/docs/de/roadmap.md +6 -16
  283. package/docs/en/bundle_optimization.md +8 -3
  284. package/docs/en/compiler.md +12 -6
  285. package/docs/en/configuration.md +22 -8
  286. package/docs/en/custom_domains.md +2 -0
  287. package/docs/en/custom_url_rewrites.md +2 -0
  288. package/docs/en/intlayer_with_astro.md +2 -0
  289. package/docs/en/intlayer_with_astro_lit.md +2 -0
  290. package/docs/en/intlayer_with_astro_preact.md +2 -0
  291. package/docs/en/intlayer_with_astro_react.md +2 -0
  292. package/docs/en/intlayer_with_astro_solid.md +2 -0
  293. package/docs/en/intlayer_with_astro_svelte.md +2 -0
  294. package/docs/en/intlayer_with_astro_vanilla.md +2 -0
  295. package/docs/en/intlayer_with_astro_vue.md +2 -0
  296. package/docs/en/intlayer_with_nextjs_14.md +2 -0
  297. package/docs/en/intlayer_with_nextjs_15.md +2 -0
  298. package/docs/en/intlayer_with_nextjs_16.md +2 -0
  299. package/docs/en/intlayer_with_nextjs_compiler.md +2 -0
  300. package/docs/en/intlayer_with_nextjs_no_locale_path.md +2 -0
  301. package/docs/en/intlayer_with_nextjs_page_router.md +2 -0
  302. package/docs/en/intlayer_with_react_native+expo.md +22 -18
  303. package/docs/en/intlayer_with_react_router_v7.md +2 -0
  304. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +2 -0
  305. package/docs/en/intlayer_with_svelte_kit.md +4 -0
  306. package/docs/en/intlayer_with_tanstack+solid.md +2 -0
  307. package/docs/en/intlayer_with_tanstack.md +2 -0
  308. package/docs/en/intlayer_with_vite+lit.md +2 -0
  309. package/docs/en/intlayer_with_vite+preact.md +2 -0
  310. package/docs/en/intlayer_with_vite+react.md +2 -0
  311. package/docs/en/intlayer_with_vite+react_compiler.md +2 -0
  312. package/docs/en/intlayer_with_vite+solid.md +2 -0
  313. package/docs/en/intlayer_with_vite+svelte.md +2 -0
  314. package/docs/en/intlayer_with_vite+vanilla.md +4 -0
  315. package/docs/en/intlayer_with_vite+vue.md +2 -0
  316. package/docs/en/packages/react-native-intlayer/exports.md +47 -13
  317. package/docs/en/releases/v9.md +38 -1
  318. package/docs/en-GB/CI_CD.md +4 -0
  319. package/docs/en-GB/autoFill.md +81 -0
  320. package/docs/en-GB/benchmark/solid.md +22 -0
  321. package/docs/en-GB/benchmark/svelte.md +22 -0
  322. package/docs/en-GB/benchmark/tanstack.md +22 -0
  323. package/docs/en-GB/cli/ci.md +22 -0
  324. package/docs/en-GB/cli/fill.md +8 -0
  325. package/docs/en-GB/cli/login.md +0 -36
  326. package/docs/en-GB/cli/test.md +0 -36
  327. package/docs/en-GB/compat/i18n-js.md +44 -0
  328. package/docs/en-GB/compat/i18next.md +59 -0
  329. package/docs/en-GB/compat/index.md +51 -0
  330. package/docs/en-GB/compat/lingui.md +44 -0
  331. package/docs/en-GB/compat/next-i18next.md +57 -0
  332. package/docs/en-GB/compat/next-intl.md +59 -0
  333. package/docs/en-GB/compat/next-translate.md +45 -0
  334. package/docs/en-GB/compat/ngx-translate.md +45 -0
  335. package/docs/en-GB/compat/nuxtjs-i18n.md +46 -0
  336. package/docs/en-GB/compat/polyglot.md +45 -0
  337. package/docs/en-GB/compat/react-i18next.md +58 -0
  338. package/docs/en-GB/compat/react-intl.md +55 -0
  339. package/docs/en-GB/compat/svelte-i18n.md +47 -0
  340. package/docs/en-GB/compat/transloco.md +45 -0
  341. package/docs/en-GB/compat/vue-i18n.md +58 -0
  342. package/docs/en-GB/compiler.md +3 -1
  343. package/docs/en-GB/configuration.md +4 -1
  344. package/docs/en-GB/custom_domains.md +1 -1
  345. package/docs/en-GB/custom_url_rewrites.md +1 -1
  346. package/docs/en-GB/dictionary/content_file.md +4 -7
  347. package/docs/en-GB/dictionary/file.md +8 -0
  348. package/docs/en-GB/dictionary/function_fetching.md +0 -4
  349. package/docs/en-GB/dictionary/nesting.md +8 -0
  350. package/docs/en-GB/dictionary/translation.md +0 -61
  351. package/docs/en-GB/formatters.md +59 -0
  352. package/docs/en-GB/how_works_intlayer.md +4 -16
  353. package/docs/en-GB/intlayer_CMS.md +6 -0
  354. package/docs/en-GB/intlayer_with_astro.md +129 -2
  355. package/docs/en-GB/intlayer_with_astro_lit.md +1 -1
  356. package/docs/en-GB/intlayer_with_astro_preact.md +1 -1
  357. package/docs/en-GB/intlayer_with_astro_react.md +1 -1
  358. package/docs/en-GB/intlayer_with_astro_solid.md +1 -1
  359. package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
  360. package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
  361. package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
  362. package/docs/en-GB/intlayer_with_create_react_app.md +0 -46
  363. package/docs/en-GB/intlayer_with_express.md +0 -23
  364. package/docs/en-GB/intlayer_with_nestjs.md +0 -8
  365. package/docs/en-GB/intlayer_with_nextjs_14.md +13 -5
  366. package/docs/en-GB/intlayer_with_nextjs_15.md +23 -1
  367. package/docs/en-GB/intlayer_with_nextjs_16.md +3 -1
  368. package/docs/en-GB/intlayer_with_nextjs_compiler.md +3 -1
  369. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +3 -1
  370. package/docs/en-GB/intlayer_with_nextjs_page_router.md +5 -1
  371. package/docs/en-GB/intlayer_with_react_native+expo.md +74 -92
  372. package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
  373. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +20 -1
  374. package/docs/en-GB/intlayer_with_svelte_kit.md +1 -207
  375. package/docs/en-GB/intlayer_with_tanstack+solid.md +3 -1
  376. package/docs/en-GB/intlayer_with_tanstack.md +1 -1
  377. package/docs/en-GB/intlayer_with_vite+lit.md +1 -1
  378. package/docs/en-GB/intlayer_with_vite+preact.md +5 -1
  379. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  380. package/docs/en-GB/intlayer_with_vite+react_compiler.md +1 -1
  381. package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
  382. package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
  383. package/docs/en-GB/intlayer_with_vite+vanilla.md +1 -1
  384. package/docs/en-GB/intlayer_with_vite+vue.md +9 -180
  385. package/docs/en-GB/migration_from_i18next_to_intlayer.md +333 -0
  386. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +355 -0
  387. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +364 -0
  388. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
  389. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +384 -0
  390. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +359 -0
  391. package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +75 -0
  392. package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +44 -0
  393. package/docs/en-GB/packages/intlayer/getTranslation.md +0 -16
  394. package/docs/en-GB/packages/react-intlayer/useDictionary.md +0 -123
  395. package/docs/en-GB/packages/react-intlayer/useIntlayer.md +0 -51
  396. package/docs/en-GB/packages/react-native-intlayer/exports.md +51 -18
  397. package/docs/en-GB/plugins/sync-json.md +0 -59
  398. package/docs/en-GB/releases/v6.md +10 -6
  399. package/docs/en-GB/releases/v7.md +128 -0
  400. package/docs/en-GB/releases/v8.md +190 -0
  401. package/docs/en-GB/releases/v9.md +37 -1
  402. package/docs/en-GB/roadmap.md +6 -0
  403. package/docs/es/CI_CD.md +4 -0
  404. package/docs/es/autoFill.md +81 -0
  405. package/docs/es/benchmark/solid.md +22 -0
  406. package/docs/es/benchmark/svelte.md +22 -0
  407. package/docs/es/benchmark/tanstack.md +22 -0
  408. package/docs/es/cli/ci.md +22 -0
  409. package/docs/es/cli/fill.md +8 -0
  410. package/docs/es/cli/login.md +0 -36
  411. package/docs/es/compat/i18n-js.md +44 -0
  412. package/docs/es/compat/i18next.md +59 -0
  413. package/docs/es/compat/index.md +51 -0
  414. package/docs/es/compat/lingui.md +44 -0
  415. package/docs/es/compat/next-i18next.md +57 -0
  416. package/docs/es/compat/next-intl.md +61 -0
  417. package/docs/es/compat/next-translate.md +45 -0
  418. package/docs/es/compat/ngx-translate.md +45 -0
  419. package/docs/es/compat/nuxtjs-i18n.md +46 -0
  420. package/docs/es/compat/polyglot.md +45 -0
  421. package/docs/es/compat/react-i18next.md +58 -0
  422. package/docs/es/compat/react-intl.md +55 -0
  423. package/docs/es/compat/svelte-i18n.md +47 -0
  424. package/docs/es/compat/transloco.md +45 -0
  425. package/docs/es/compat/vue-i18n.md +58 -0
  426. package/docs/es/compiler.md +3 -1
  427. package/docs/es/configuration.md +19 -17
  428. package/docs/es/custom_domains.md +1 -1
  429. package/docs/es/custom_url_rewrites.md +1 -1
  430. package/docs/es/dictionary/content_file.md +4 -0
  431. package/docs/es/dictionary/file.md +8 -0
  432. package/docs/es/dictionary/nesting.md +39 -0
  433. package/docs/es/dictionary/translation.md +0 -61
  434. package/docs/es/formatters.md +82 -0
  435. package/docs/es/how_works_intlayer.md +4 -4
  436. package/docs/es/intlayer_CMS.md +21 -0
  437. package/docs/es/intlayer_visual_editor.md +0 -23
  438. package/docs/es/intlayer_with_astro.md +129 -2
  439. package/docs/es/intlayer_with_astro_lit.md +1 -1
  440. package/docs/es/intlayer_with_astro_preact.md +1 -1
  441. package/docs/es/intlayer_with_astro_react.md +1 -1
  442. package/docs/es/intlayer_with_astro_solid.md +1 -1
  443. package/docs/es/intlayer_with_astro_svelte.md +1 -1
  444. package/docs/es/intlayer_with_astro_vanilla.md +1 -1
  445. package/docs/es/intlayer_with_astro_vue.md +1 -1
  446. package/docs/es/intlayer_with_express.md +0 -4
  447. package/docs/es/intlayer_with_nestjs.md +0 -18
  448. package/docs/es/intlayer_with_nextjs_14.md +10 -4
  449. package/docs/es/intlayer_with_nextjs_15.md +21 -1
  450. package/docs/es/intlayer_with_nextjs_16.md +1 -1
  451. package/docs/es/intlayer_with_nextjs_compiler.md +1 -1
  452. package/docs/es/intlayer_with_nextjs_no_locale_path.md +1 -1
  453. package/docs/es/intlayer_with_nextjs_page_router.md +5 -1
  454. package/docs/es/intlayer_with_react_native+expo.md +78 -79
  455. package/docs/es/intlayer_with_react_router_v7.md +1 -95
  456. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
  457. package/docs/es/intlayer_with_svelte_kit.md +1 -207
  458. package/docs/es/intlayer_with_tanstack+solid.md +3 -1
  459. package/docs/es/intlayer_with_tanstack.md +1 -1
  460. package/docs/es/intlayer_with_vite+lit.md +1 -1
  461. package/docs/es/intlayer_with_vite+preact.md +5 -1
  462. package/docs/es/intlayer_with_vite+react.md +1 -1
  463. package/docs/es/intlayer_with_vite+react_compiler.md +1 -1
  464. package/docs/es/intlayer_with_vite+solid.md +1 -1
  465. package/docs/es/intlayer_with_vite+svelte.md +1 -1
  466. package/docs/es/intlayer_with_vite+vanilla.md +1 -1
  467. package/docs/es/intlayer_with_vite+vue.md +18 -86
  468. package/docs/es/packages/express-intlayer/t.md +0 -9
  469. package/docs/es/packages/intlayer/getLocalizedUrl.md +75 -0
  470. package/docs/es/packages/intlayer/getMultilingualUrls.md +112 -0
  471. package/docs/es/packages/react-intlayer/useDictionary.md +0 -119
  472. package/docs/es/packages/react-intlayer/useIntlayer.md +0 -51
  473. package/docs/es/packages/react-native-intlayer/exports.md +47 -13
  474. package/docs/es/releases/v6.md +28 -0
  475. package/docs/es/releases/v7.md +128 -0
  476. package/docs/es/releases/v9.md +37 -1
  477. package/docs/es/roadmap.md +6 -0
  478. package/docs/fr/CI_CD.md +4 -0
  479. package/docs/fr/autoFill.md +81 -0
  480. package/docs/fr/benchmark/solid.md +22 -0
  481. package/docs/fr/benchmark/svelte.md +22 -0
  482. package/docs/fr/benchmark/tanstack.md +22 -0
  483. package/docs/fr/cli/ci.md +22 -0
  484. package/docs/fr/cli/fill.md +8 -0
  485. package/docs/fr/cli/login.md +0 -36
  486. package/docs/fr/compat/i18n-js.md +44 -0
  487. package/docs/fr/compat/i18next.md +59 -0
  488. package/docs/fr/compat/index.md +51 -0
  489. package/docs/fr/compat/lingui.md +44 -0
  490. package/docs/fr/compat/next-i18next.md +57 -0
  491. package/docs/fr/compat/next-intl.md +59 -0
  492. package/docs/fr/compat/next-translate.md +45 -0
  493. package/docs/fr/compat/ngx-translate.md +45 -0
  494. package/docs/fr/compat/nuxtjs-i18n.md +46 -0
  495. package/docs/fr/compat/polyglot.md +45 -0
  496. package/docs/fr/compat/react-i18next.md +58 -0
  497. package/docs/fr/compat/react-intl.md +55 -0
  498. package/docs/fr/compat/svelte-i18n.md +47 -0
  499. package/docs/fr/compat/transloco.md +45 -0
  500. package/docs/fr/compat/vue-i18n.md +58 -0
  501. package/docs/fr/compiler.md +3 -1
  502. package/docs/fr/configuration.md +20 -17
  503. package/docs/fr/custom_domains.md +1 -1
  504. package/docs/fr/custom_url_rewrites.md +14 -14
  505. package/docs/fr/dictionary/content_file.md +4 -0
  506. package/docs/fr/dictionary/enumeration.md +0 -187
  507. package/docs/fr/dictionary/file.md +8 -0
  508. package/docs/fr/dictionary/nesting.md +39 -0
  509. package/docs/fr/dictionary/translation.md +0 -61
  510. package/docs/fr/formatters.md +171 -77
  511. package/docs/fr/how_works_intlayer.md +4 -0
  512. package/docs/fr/intlayer_CMS.md +6 -0
  513. package/docs/fr/intlayer_with_astro.md +129 -2
  514. package/docs/fr/intlayer_with_astro_lit.md +1 -1
  515. package/docs/fr/intlayer_with_astro_preact.md +1 -1
  516. package/docs/fr/intlayer_with_astro_react.md +1 -1
  517. package/docs/fr/intlayer_with_astro_solid.md +1 -1
  518. package/docs/fr/intlayer_with_astro_svelte.md +1 -1
  519. package/docs/fr/intlayer_with_astro_vanilla.md +1 -1
  520. package/docs/fr/intlayer_with_astro_vue.md +1 -1
  521. package/docs/fr/intlayer_with_create_react_app.md +0 -14
  522. package/docs/fr/intlayer_with_express.md +0 -4
  523. package/docs/fr/intlayer_with_nestjs.md +0 -18
  524. package/docs/fr/intlayer_with_nextjs_14.md +26 -5
  525. package/docs/fr/intlayer_with_nextjs_15.md +21 -1
  526. package/docs/fr/intlayer_with_nextjs_16.md +1 -1
  527. package/docs/fr/intlayer_with_nextjs_compiler.md +1 -1
  528. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1 -1
  529. package/docs/fr/intlayer_with_nextjs_page_router.md +5 -1
  530. package/docs/fr/intlayer_with_nuxt.md +0 -27
  531. package/docs/fr/intlayer_with_react_native+expo.md +89 -67
  532. package/docs/fr/intlayer_with_react_router_v7.md +1 -95
  533. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -100
  534. package/docs/fr/intlayer_with_svelte_kit.md +1 -239
  535. package/docs/fr/intlayer_with_tanstack+solid.md +3 -1
  536. package/docs/fr/intlayer_with_tanstack.md +1 -1
  537. package/docs/fr/intlayer_with_vite+lit.md +1 -1
  538. package/docs/fr/intlayer_with_vite+preact.md +5 -1
  539. package/docs/fr/intlayer_with_vite+react.md +1 -1
  540. package/docs/fr/intlayer_with_vite+react_compiler.md +1 -1
  541. package/docs/fr/intlayer_with_vite+solid.md +1 -1
  542. package/docs/fr/intlayer_with_vite+svelte.md +1 -1
  543. package/docs/fr/intlayer_with_vite+vanilla.md +1 -1
  544. package/docs/fr/intlayer_with_vite+vue.md +13 -83
  545. package/docs/fr/packages/express-intlayer/t.md +0 -9
  546. package/docs/fr/packages/intlayer/getLocalizedUrl.md +73 -0
  547. package/docs/fr/packages/intlayer/getMultilingualUrls.md +99 -0
  548. package/docs/fr/packages/next-intlayer/t.md +1 -1
  549. package/docs/fr/packages/next-intlayer/useRewriteURL.md +0 -8
  550. package/docs/fr/packages/react-intlayer/useDictionary.md +33 -149
  551. package/docs/fr/packages/react-intlayer/useIntlayer.md +0 -51
  552. package/docs/fr/packages/react-native-intlayer/exports.md +47 -13
  553. package/docs/fr/plugins/sync-json.md +0 -59
  554. package/docs/fr/releases/v6.md +28 -0
  555. package/docs/fr/releases/v7.md +128 -0
  556. package/docs/fr/releases/v9.md +37 -1
  557. package/docs/fr/roadmap.md +6 -0
  558. package/docs/hi/CI_CD.md +4 -0
  559. package/docs/hi/autoFill.md +81 -0
  560. package/docs/hi/benchmark/solid.md +22 -0
  561. package/docs/hi/benchmark/svelte.md +22 -0
  562. package/docs/hi/benchmark/tanstack.md +22 -0
  563. package/docs/hi/cli/ci.md +22 -0
  564. package/docs/hi/cli/fill.md +8 -0
  565. package/docs/hi/cli/login.md +0 -36
  566. package/docs/hi/compat/i18n-js.md +44 -0
  567. package/docs/hi/compat/i18next.md +59 -0
  568. package/docs/hi/compat/index.md +51 -0
  569. package/docs/hi/compat/lingui.md +44 -0
  570. package/docs/hi/compat/next-i18next.md +57 -0
  571. package/docs/hi/compat/next-intl.md +59 -0
  572. package/docs/hi/compat/next-translate.md +45 -0
  573. package/docs/hi/compat/ngx-translate.md +45 -0
  574. package/docs/hi/compat/nuxtjs-i18n.md +46 -0
  575. package/docs/hi/compat/polyglot.md +45 -0
  576. package/docs/hi/compat/react-i18next.md +58 -0
  577. package/docs/hi/compat/react-intl.md +55 -0
  578. package/docs/hi/compat/svelte-i18n.md +47 -0
  579. package/docs/hi/compat/transloco.md +45 -0
  580. package/docs/hi/compat/vue-i18n.md +58 -0
  581. package/docs/hi/compiler.md +3 -1
  582. package/docs/hi/configuration.md +19 -17
  583. package/docs/hi/custom_domains.md +1 -1
  584. package/docs/hi/custom_url_rewrites.md +1 -1
  585. package/docs/hi/dictionary/enumeration.md +0 -187
  586. package/docs/hi/dictionary/file.md +8 -0
  587. package/docs/hi/dictionary/nesting.md +39 -0
  588. package/docs/hi/dictionary/translation.md +0 -61
  589. package/docs/hi/formatters.md +85 -0
  590. package/docs/hi/how_works_intlayer.md +2 -0
  591. package/docs/hi/interest_of_intlayer.md +194 -0
  592. package/docs/hi/intlayer_CMS.md +6 -0
  593. package/docs/hi/intlayer_with_astro.md +130 -3
  594. package/docs/hi/intlayer_with_astro_lit.md +1 -1
  595. package/docs/hi/intlayer_with_astro_preact.md +1 -1
  596. package/docs/hi/intlayer_with_astro_react.md +1 -1
  597. package/docs/hi/intlayer_with_astro_solid.md +1 -1
  598. package/docs/hi/intlayer_with_astro_svelte.md +1 -1
  599. package/docs/hi/intlayer_with_astro_vanilla.md +1 -1
  600. package/docs/hi/intlayer_with_astro_vue.md +1 -1
  601. package/docs/hi/intlayer_with_create_react_app.md +15 -0
  602. package/docs/hi/intlayer_with_express.md +0 -23
  603. package/docs/hi/intlayer_with_nestjs.md +0 -8
  604. package/docs/hi/intlayer_with_nextjs_14.md +31 -8
  605. package/docs/hi/intlayer_with_nextjs_15.md +21 -1
  606. package/docs/hi/intlayer_with_nextjs_16.md +176 -54
  607. package/docs/hi/intlayer_with_nextjs_compiler.md +1 -1
  608. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1 -1
  609. package/docs/hi/intlayer_with_nextjs_page_router.md +5 -1
  610. package/docs/hi/intlayer_with_nuxt.md +0 -27
  611. package/docs/hi/intlayer_with_react_native+expo.md +125 -86
  612. package/docs/hi/intlayer_with_react_router_v7.md +1 -95
  613. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +20 -96
  614. package/docs/hi/intlayer_with_svelte_kit.md +1 -207
  615. package/docs/hi/intlayer_with_tanstack+solid.md +3 -1
  616. package/docs/hi/intlayer_with_tanstack.md +1 -1
  617. package/docs/hi/intlayer_with_vite+lit.md +1 -1
  618. package/docs/hi/intlayer_with_vite+preact.md +1 -1
  619. package/docs/hi/intlayer_with_vite+react.md +1 -1
  620. package/docs/hi/intlayer_with_vite+react_compiler.md +1 -1
  621. package/docs/hi/intlayer_with_vite+solid.md +1 -1
  622. package/docs/hi/intlayer_with_vite+svelte.md +32 -48
  623. package/docs/hi/intlayer_with_vite+vanilla.md +1 -1
  624. package/docs/hi/intlayer_with_vite+vue.md +23 -71
  625. package/docs/hi/mcp_server.md +22 -0
  626. package/docs/hi/migration_from_i18next_to_intlayer.md +331 -0
  627. package/docs/hi/migration_from_next-i18next_to_intlayer.md +355 -0
  628. package/docs/hi/migration_from_next-intl_to_intlayer.md +364 -0
  629. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
  630. package/docs/hi/migration_from_react-i18next_to_intlayer.md +384 -0
  631. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +359 -0
  632. package/docs/hi/packages/intlayer/getLocalizedUrl.md +68 -0
  633. package/docs/hi/packages/intlayer/getMultilingualUrls.md +111 -0
  634. package/docs/hi/packages/next-intlayer/t.md +2 -0
  635. package/docs/hi/packages/react-intlayer/useDictionary.md +0 -102
  636. package/docs/hi/packages/react-intlayer/useI18n.md +0 -4
  637. package/docs/hi/packages/react-intlayer/useIntlayer.md +0 -51
  638. package/docs/hi/packages/react-native-intlayer/exports.md +48 -14
  639. package/docs/hi/releases/v6.md +28 -0
  640. package/docs/hi/releases/v7.md +128 -0
  641. package/docs/hi/releases/v9.md +37 -1
  642. package/docs/hi/roadmap.md +6 -0
  643. package/docs/id/autoFill.md +20 -0
  644. package/docs/id/benchmark/solid.md +22 -0
  645. package/docs/id/benchmark/svelte.md +22 -0
  646. package/docs/id/benchmark/tanstack.md +22 -0
  647. package/docs/id/cli/ci.md +22 -0
  648. package/docs/id/cli/fill.md +8 -0
  649. package/docs/id/compat/i18n-js.md +44 -0
  650. package/docs/id/compat/i18next.md +59 -0
  651. package/docs/id/compat/index.md +51 -0
  652. package/docs/id/compat/lingui.md +44 -0
  653. package/docs/id/compat/next-i18next.md +57 -0
  654. package/docs/id/compat/next-intl.md +59 -0
  655. package/docs/id/compat/next-translate.md +45 -0
  656. package/docs/id/compat/ngx-translate.md +45 -0
  657. package/docs/id/compat/nuxtjs-i18n.md +46 -0
  658. package/docs/id/compat/polyglot.md +45 -0
  659. package/docs/id/compat/react-i18next.md +58 -0
  660. package/docs/id/compat/react-intl.md +55 -0
  661. package/docs/id/compat/svelte-i18n.md +47 -0
  662. package/docs/id/compat/transloco.md +45 -0
  663. package/docs/id/compat/vue-i18n.md +58 -0
  664. package/docs/id/compiler.md +3 -1
  665. package/docs/id/configuration.md +19 -17
  666. package/docs/id/custom_domains.md +1 -1
  667. package/docs/id/custom_url_rewrites.md +14 -16
  668. package/docs/id/dictionary/content_file.md +0 -7
  669. package/docs/id/dictionary/enumeration.md +0 -187
  670. package/docs/id/dictionary/nesting.md +39 -0
  671. package/docs/id/dictionary/translation.md +0 -61
  672. package/docs/id/formatters.md +120 -0
  673. package/docs/id/interest_of_intlayer.md +193 -0
  674. package/docs/id/intlayer_with_astro.md +130 -3
  675. package/docs/id/intlayer_with_astro_lit.md +1 -1
  676. package/docs/id/intlayer_with_astro_preact.md +1 -1
  677. package/docs/id/intlayer_with_astro_react.md +1 -1
  678. package/docs/id/intlayer_with_astro_solid.md +1 -1
  679. package/docs/id/intlayer_with_astro_svelte.md +1 -1
  680. package/docs/id/intlayer_with_astro_vanilla.md +1 -1
  681. package/docs/id/intlayer_with_astro_vue.md +1 -1
  682. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  683. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  684. package/docs/id/intlayer_with_nextjs_16.md +176 -54
  685. package/docs/id/intlayer_with_nextjs_compiler.md +1 -22
  686. package/docs/id/intlayer_with_nextjs_no_locale_path.md +1 -1
  687. package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
  688. package/docs/id/intlayer_with_react_native+expo.md +31 -72
  689. package/docs/id/intlayer_with_react_router_v7.md +1 -95
  690. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -103
  691. package/docs/id/intlayer_with_svelte_kit.md +1 -207
  692. package/docs/id/intlayer_with_tanstack+solid.md +3 -1
  693. package/docs/id/intlayer_with_tanstack.md +1 -1
  694. package/docs/id/intlayer_with_vite+lit.md +1 -1
  695. package/docs/id/intlayer_with_vite+preact.md +57 -57
  696. package/docs/id/intlayer_with_vite+react.md +49 -49
  697. package/docs/id/intlayer_with_vite+react_compiler.md +1 -1
  698. package/docs/id/intlayer_with_vite+solid.md +33 -42
  699. package/docs/id/intlayer_with_vite+svelte.md +27 -29
  700. package/docs/id/intlayer_with_vite+vanilla.md +1 -1
  701. package/docs/id/intlayer_with_vite+vue.md +49 -101
  702. package/docs/id/mcp_server.md +22 -0
  703. package/docs/id/migration_from_i18next_to_intlayer.md +330 -0
  704. package/docs/id/migration_from_next-i18next_to_intlayer.md +355 -0
  705. package/docs/id/migration_from_next-intl_to_intlayer.md +364 -0
  706. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
  707. package/docs/id/migration_from_react-i18next_to_intlayer.md +384 -0
  708. package/docs/id/migration_from_vue-i18n_to_intlayer.md +359 -0
  709. package/docs/id/packages/intlayer/getLocalizedUrl.md +25 -0
  710. package/docs/id/packages/intlayer/getMultilingualUrls.md +112 -0
  711. package/docs/id/packages/react-intlayer/useDictionary.md +0 -121
  712. package/docs/id/packages/react-intlayer/useIntlayer.md +0 -51
  713. package/docs/id/packages/react-native-intlayer/exports.md +47 -13
  714. package/docs/id/releases/v6.md +4 -0
  715. package/docs/id/releases/v7.md +128 -0
  716. package/docs/id/releases/v9.md +37 -1
  717. package/docs/id/roadmap.md +0 -16
  718. package/docs/it/CI_CD.md +4 -0
  719. package/docs/it/autoFill.md +81 -0
  720. package/docs/it/benchmark/solid.md +22 -0
  721. package/docs/it/benchmark/svelte.md +22 -0
  722. package/docs/it/benchmark/tanstack.md +22 -0
  723. package/docs/it/cli/ci.md +22 -0
  724. package/docs/it/cli/fill.md +8 -0
  725. package/docs/it/compat/i18n-js.md +44 -0
  726. package/docs/it/compat/i18next.md +59 -0
  727. package/docs/it/compat/index.md +51 -0
  728. package/docs/it/compat/lingui.md +44 -0
  729. package/docs/it/compat/next-i18next.md +57 -0
  730. package/docs/it/compat/next-intl.md +59 -0
  731. package/docs/it/compat/next-translate.md +45 -0
  732. package/docs/it/compat/ngx-translate.md +45 -0
  733. package/docs/it/compat/nuxtjs-i18n.md +46 -0
  734. package/docs/it/compat/polyglot.md +45 -0
  735. package/docs/it/compat/react-i18next.md +58 -0
  736. package/docs/it/compat/react-intl.md +55 -0
  737. package/docs/it/compat/svelte-i18n.md +47 -0
  738. package/docs/it/compat/transloco.md +45 -0
  739. package/docs/it/compat/vue-i18n.md +58 -0
  740. package/docs/it/compiler.md +3 -1
  741. package/docs/it/configuration.md +19 -17
  742. package/docs/it/custom_domains.md +1 -1
  743. package/docs/it/custom_url_rewrites.md +1 -1
  744. package/docs/it/dictionary/content_file.md +4 -7
  745. package/docs/it/dictionary/enumeration.md +0 -197
  746. package/docs/it/dictionary/file.md +8 -0
  747. package/docs/it/dictionary/nesting.md +39 -0
  748. package/docs/it/dictionary/translation.md +0 -61
  749. package/docs/it/formatters.md +82 -0
  750. package/docs/it/how_works_intlayer.md +4 -4
  751. package/docs/it/intlayer_CMS.md +6 -0
  752. package/docs/it/intlayer_with_astro.md +129 -2
  753. package/docs/it/intlayer_with_astro_lit.md +1 -1
  754. package/docs/it/intlayer_with_astro_preact.md +1 -1
  755. package/docs/it/intlayer_with_astro_react.md +1 -1
  756. package/docs/it/intlayer_with_astro_solid.md +1 -1
  757. package/docs/it/intlayer_with_astro_svelte.md +1 -1
  758. package/docs/it/intlayer_with_astro_vanilla.md +1 -1
  759. package/docs/it/intlayer_with_astro_vue.md +1 -1
  760. package/docs/it/intlayer_with_create_react_app.md +0 -14
  761. package/docs/it/intlayer_with_express.md +0 -4
  762. package/docs/it/intlayer_with_lynx+react.md +11 -0
  763. package/docs/it/intlayer_with_nestjs.md +0 -8
  764. package/docs/it/intlayer_with_nextjs_14.md +30 -9
  765. package/docs/it/intlayer_with_nextjs_15.md +21 -1
  766. package/docs/it/intlayer_with_nextjs_16.md +176 -54
  767. package/docs/it/intlayer_with_nextjs_compiler.md +1 -1
  768. package/docs/it/intlayer_with_nextjs_no_locale_path.md +1 -1
  769. package/docs/it/intlayer_with_nextjs_page_router.md +5 -1
  770. package/docs/it/intlayer_with_react_native+expo.md +67 -71
  771. package/docs/it/intlayer_with_react_router_v7.md +1 -95
  772. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -96
  773. package/docs/it/intlayer_with_svelte_kit.md +1 -239
  774. package/docs/it/intlayer_with_tanstack+solid.md +3 -1
  775. package/docs/it/intlayer_with_tanstack.md +1 -1
  776. package/docs/it/intlayer_with_vite+lit.md +1 -1
  777. package/docs/it/intlayer_with_vite+preact.md +61 -57
  778. package/docs/it/intlayer_with_vite+react.md +49 -1
  779. package/docs/it/intlayer_with_vite+react_compiler.md +1 -1
  780. package/docs/it/intlayer_with_vite+solid.md +33 -42
  781. package/docs/it/intlayer_with_vite+svelte.md +27 -29
  782. package/docs/it/intlayer_with_vite+vanilla.md +1 -1
  783. package/docs/it/intlayer_with_vite+vue.md +53 -123
  784. package/docs/it/mcp_server.md +22 -0
  785. package/docs/it/packages/intlayer/getLocalizedUrl.md +75 -0
  786. package/docs/it/packages/intlayer/getMultilingualUrls.md +112 -0
  787. package/docs/it/packages/next-intlayer/t.md +34 -0
  788. package/docs/it/packages/react-intlayer/useDictionary.md +0 -104
  789. package/docs/it/packages/react-intlayer/useIntlayer.md +0 -57
  790. package/docs/it/packages/react-native-intlayer/exports.md +47 -13
  791. package/docs/it/releases/v6.md +28 -0
  792. package/docs/it/releases/v7.md +128 -0
  793. package/docs/it/releases/v9.md +37 -1
  794. package/docs/it/roadmap.md +6 -0
  795. package/docs/ja/CI_CD.md +4 -0
  796. package/docs/ja/autoFill.md +81 -0
  797. package/docs/ja/benchmark/solid.md +22 -0
  798. package/docs/ja/benchmark/svelte.md +22 -0
  799. package/docs/ja/benchmark/tanstack.md +22 -0
  800. package/docs/ja/cli/ci.md +22 -0
  801. package/docs/ja/cli/fill.md +8 -0
  802. package/docs/ja/cli/list_projects.md +0 -18
  803. package/docs/ja/compat/i18n-js.md +44 -0
  804. package/docs/ja/compat/i18next.md +59 -0
  805. package/docs/ja/compat/index.md +51 -0
  806. package/docs/ja/compat/lingui.md +44 -0
  807. package/docs/ja/compat/next-i18next.md +57 -0
  808. package/docs/ja/compat/next-intl.md +59 -0
  809. package/docs/ja/compat/next-translate.md +45 -0
  810. package/docs/ja/compat/ngx-translate.md +45 -0
  811. package/docs/ja/compat/nuxtjs-i18n.md +46 -0
  812. package/docs/ja/compat/polyglot.md +45 -0
  813. package/docs/ja/compat/react-i18next.md +58 -0
  814. package/docs/ja/compat/react-intl.md +55 -0
  815. package/docs/ja/compat/svelte-i18n.md +47 -0
  816. package/docs/ja/compat/transloco.md +45 -0
  817. package/docs/ja/compat/vue-i18n.md +58 -0
  818. package/docs/ja/compiler.md +3 -1
  819. package/docs/ja/configuration.md +19 -17
  820. package/docs/ja/custom_domains.md +1 -1
  821. package/docs/ja/custom_url_rewrites.md +1 -1
  822. package/docs/ja/dictionary/content_file.md +4 -0
  823. package/docs/ja/dictionary/enumeration.md +0 -187
  824. package/docs/ja/dictionary/function_fetching.md +0 -27
  825. package/docs/ja/dictionary/markdown.md +1348 -0
  826. package/docs/ja/dictionary/nesting.md +39 -0
  827. package/docs/ja/dictionary/translation.md +0 -119
  828. package/docs/ja/formatters.md +77 -0
  829. package/docs/ja/how_works_intlayer.md +4 -2
  830. package/docs/ja/intlayer_CMS.md +6 -0
  831. package/docs/ja/intlayer_visual_editor.md +0 -4
  832. package/docs/ja/intlayer_with_analog.md +4 -0
  833. package/docs/ja/intlayer_with_astro.md +129 -2
  834. package/docs/ja/intlayer_with_astro_lit.md +1 -1
  835. package/docs/ja/intlayer_with_astro_preact.md +1 -1
  836. package/docs/ja/intlayer_with_astro_react.md +1 -1
  837. package/docs/ja/intlayer_with_astro_solid.md +1 -1
  838. package/docs/ja/intlayer_with_astro_svelte.md +1 -1
  839. package/docs/ja/intlayer_with_astro_vanilla.md +1 -1
  840. package/docs/ja/intlayer_with_astro_vue.md +1 -1
  841. package/docs/ja/intlayer_with_create_react_app.md +0 -16
  842. package/docs/ja/intlayer_with_express.md +0 -4
  843. package/docs/ja/intlayer_with_nestjs.md +0 -8
  844. package/docs/ja/intlayer_with_nextjs_14.md +26 -20
  845. package/docs/ja/intlayer_with_nextjs_15.md +21 -1
  846. package/docs/ja/intlayer_with_nextjs_16.md +176 -54
  847. package/docs/ja/intlayer_with_nextjs_compiler.md +1 -22
  848. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1 -1
  849. package/docs/ja/intlayer_with_nextjs_page_router.md +5 -1
  850. package/docs/ja/intlayer_with_react_native+expo.md +133 -136
  851. package/docs/ja/intlayer_with_react_router_v7.md +1 -23
  852. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -96
  853. package/docs/ja/intlayer_with_svelte_kit.md +12 -1
  854. package/docs/ja/intlayer_with_tanstack+solid.md +3 -1
  855. package/docs/ja/intlayer_with_tanstack.md +3 -1
  856. package/docs/ja/intlayer_with_vite+lit.md +1 -1
  857. package/docs/ja/intlayer_with_vite+preact.md +704 -1
  858. package/docs/ja/intlayer_with_vite+react.md +1 -1
  859. package/docs/ja/intlayer_with_vite+react_compiler.md +1 -1
  860. package/docs/ja/intlayer_with_vite+solid.md +33 -42
  861. package/docs/ja/intlayer_with_vite+svelte.md +29 -29
  862. package/docs/ja/intlayer_with_vite+vanilla.md +1 -1
  863. package/docs/ja/intlayer_with_vite+vue.md +70 -114
  864. package/docs/ja/mcp_server.md +26 -0
  865. package/docs/ja/packages/express-intlayer/t.md +0 -9
  866. package/docs/ja/packages/intlayer/getLocalizedUrl.md +73 -0
  867. package/docs/ja/packages/intlayer/getMultilingualUrls.md +112 -0
  868. package/docs/ja/packages/react-intlayer/useDictionary.md +0 -107
  869. package/docs/ja/packages/react-intlayer/useIntlayer.md +0 -65
  870. package/docs/ja/packages/react-native-intlayer/exports.md +47 -14
  871. package/docs/ja/releases/v6.md +28 -0
  872. package/docs/ja/releases/v7.md +128 -0
  873. package/docs/ja/releases/v9.md +37 -1
  874. package/docs/ja/roadmap.md +6 -0
  875. package/docs/ko/CI_CD.md +4 -0
  876. package/docs/ko/autoFill.md +81 -0
  877. package/docs/ko/benchmark/solid.md +22 -0
  878. package/docs/ko/benchmark/svelte.md +22 -0
  879. package/docs/ko/benchmark/tanstack.md +22 -0
  880. package/docs/ko/cli/ci.md +22 -0
  881. package/docs/ko/cli/fill.md +8 -0
  882. package/docs/ko/cli/login.md +0 -36
  883. package/docs/ko/compat/i18n-js.md +44 -0
  884. package/docs/ko/compat/i18next.md +59 -0
  885. package/docs/ko/compat/index.md +51 -0
  886. package/docs/ko/compat/lingui.md +44 -0
  887. package/docs/ko/compat/next-i18next.md +55 -0
  888. package/docs/ko/compat/next-intl.md +59 -0
  889. package/docs/ko/compat/next-translate.md +45 -0
  890. package/docs/ko/compat/ngx-translate.md +45 -0
  891. package/docs/ko/compat/nuxtjs-i18n.md +46 -0
  892. package/docs/ko/compat/polyglot.md +45 -0
  893. package/docs/ko/compat/react-i18next.md +58 -0
  894. package/docs/ko/compat/react-intl.md +55 -0
  895. package/docs/ko/compat/svelte-i18n.md +47 -0
  896. package/docs/ko/compat/transloco.md +45 -0
  897. package/docs/ko/compat/vue-i18n.md +58 -0
  898. package/docs/ko/compiler.md +3 -1
  899. package/docs/ko/configuration.md +19 -17
  900. package/docs/ko/custom_domains.md +1 -1
  901. package/docs/ko/custom_url_rewrites.md +1 -1
  902. package/docs/ko/dictionary/content_file.md +4 -27
  903. package/docs/ko/dictionary/enumeration.md +0 -187
  904. package/docs/ko/dictionary/insertion.md +0 -6
  905. package/docs/ko/dictionary/nesting.md +39 -0
  906. package/docs/ko/dictionary/translation.md +0 -84
  907. package/docs/ko/formatters.md +71 -0
  908. package/docs/ko/how_works_intlayer.md +4 -0
  909. package/docs/ko/intlayer_CMS.md +6 -0
  910. package/docs/ko/intlayer_visual_editor.md +0 -2
  911. package/docs/ko/intlayer_with_analog.md +4 -0
  912. package/docs/ko/intlayer_with_astro.md +129 -2
  913. package/docs/ko/intlayer_with_astro_lit.md +1 -1
  914. package/docs/ko/intlayer_with_astro_preact.md +1 -1
  915. package/docs/ko/intlayer_with_astro_react.md +1 -1
  916. package/docs/ko/intlayer_with_astro_solid.md +1 -1
  917. package/docs/ko/intlayer_with_astro_svelte.md +1 -1
  918. package/docs/ko/intlayer_with_astro_vanilla.md +1 -1
  919. package/docs/ko/intlayer_with_astro_vue.md +1 -1
  920. package/docs/ko/intlayer_with_create_react_app.md +0 -14
  921. package/docs/ko/intlayer_with_express.md +0 -23
  922. package/docs/ko/intlayer_with_lynx+react.md +0 -124
  923. package/docs/ko/intlayer_with_nestjs.md +0 -18
  924. package/docs/ko/intlayer_with_nextjs_14.md +19 -13
  925. package/docs/ko/intlayer_with_nextjs_15.md +21 -1
  926. package/docs/ko/intlayer_with_nextjs_16.md +175 -56
  927. package/docs/ko/intlayer_with_nextjs_compiler.md +1 -308
  928. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1 -1
  929. package/docs/ko/intlayer_with_nextjs_page_router.md +5 -1
  930. package/docs/ko/intlayer_with_react_native+expo.md +117 -141
  931. package/docs/ko/intlayer_with_react_router_v7.md +1 -95
  932. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +20 -96
  933. package/docs/ko/intlayer_with_svelte_kit.md +1 -207
  934. package/docs/ko/intlayer_with_tanstack+solid.md +3 -1
  935. package/docs/ko/intlayer_with_tanstack.md +1 -1
  936. package/docs/ko/intlayer_with_vite+lit.md +1 -1
  937. package/docs/ko/intlayer_with_vite+preact.md +57 -91
  938. package/docs/ko/intlayer_with_vite+react.md +93 -18
  939. package/docs/ko/intlayer_with_vite+react_compiler.md +1 -1
  940. package/docs/ko/intlayer_with_vite+solid.md +33 -143
  941. package/docs/ko/intlayer_with_vite+svelte.md +27 -29
  942. package/docs/ko/intlayer_with_vite+vanilla.md +1 -1
  943. package/docs/ko/intlayer_with_vite+vue.md +54 -106
  944. package/docs/ko/mcp_server.md +22 -0
  945. package/docs/ko/packages/express-intlayer/t.md +0 -9
  946. package/docs/ko/packages/intlayer/getLocalizedUrl.md +73 -0
  947. package/docs/ko/packages/intlayer/getMultilingualUrls.md +112 -0
  948. package/docs/ko/packages/next-intlayer/t.md +34 -0
  949. package/docs/ko/packages/next-intlayer/useLocale.md +0 -5
  950. package/docs/ko/packages/react-intlayer/t.md +0 -20
  951. package/docs/ko/packages/react-intlayer/useDictionary.md +0 -121
  952. package/docs/ko/packages/react-intlayer/useIntlayer.md +0 -51
  953. package/docs/ko/packages/react-native-intlayer/exports.md +48 -14
  954. package/docs/ko/releases/v6.md +28 -0
  955. package/docs/ko/releases/v7.md +128 -0
  956. package/docs/ko/releases/v9.md +37 -1
  957. package/docs/ko/roadmap.md +6 -0
  958. package/docs/pl/autoFill.md +20 -0
  959. package/docs/pl/benchmark/___NOTE.md +101 -0
  960. package/docs/pl/benchmark/___nextjs.md +198 -0
  961. package/docs/pl/benchmark/___solid.md +36 -0
  962. package/docs/pl/benchmark/___svelte.md +36 -0
  963. package/docs/pl/benchmark/___tanstack.md +36 -0
  964. package/docs/pl/benchmark/___vue.md +36 -0
  965. package/docs/pl/benchmark/solid.md +22 -0
  966. package/docs/pl/benchmark/svelte.md +22 -0
  967. package/docs/pl/benchmark/tanstack.md +22 -0
  968. package/docs/pl/cli/ci.md +22 -0
  969. package/docs/pl/cli/fill.md +8 -0
  970. package/docs/pl/cli/login.md +0 -36
  971. package/docs/pl/compat/i18n-js.md +44 -0
  972. package/docs/pl/compat/i18next.md +59 -0
  973. package/docs/pl/compat/index.md +51 -0
  974. package/docs/pl/compat/lingui.md +44 -0
  975. package/docs/pl/compat/next-i18next.md +57 -0
  976. package/docs/pl/compat/next-intl.md +59 -0
  977. package/docs/pl/compat/next-translate.md +45 -0
  978. package/docs/pl/compat/ngx-translate.md +45 -0
  979. package/docs/pl/compat/nuxtjs-i18n.md +46 -0
  980. package/docs/pl/compat/polyglot.md +45 -0
  981. package/docs/pl/compat/react-i18next.md +58 -0
  982. package/docs/pl/compat/react-intl.md +55 -0
  983. package/docs/pl/compat/svelte-i18n.md +47 -0
  984. package/docs/pl/compat/transloco.md +45 -0
  985. package/docs/pl/compat/vue-i18n.md +58 -0
  986. package/docs/pl/configuration.md +15 -16
  987. package/docs/pl/dictionary/content_file.md +0 -40
  988. package/docs/pl/dictionary/enumeration.md +0 -187
  989. package/docs/pl/dictionary/nesting.md +39 -0
  990. package/docs/pl/dictionary/translation.md +0 -61
  991. package/docs/pl/formatters.md +120 -0
  992. package/docs/pl/intlayer_with_astro.md +179 -0
  993. package/docs/pl/intlayer_with_react_native+expo.md +58 -82
  994. package/docs/pl/intlayer_with_react_router_v7.md +0 -94
  995. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +0 -95
  996. package/docs/pl/intlayer_with_svelte_kit.md +0 -210
  997. package/docs/pl/intlayer_with_vite+preact.md +56 -56
  998. package/docs/pl/intlayer_with_vite+react.md +48 -48
  999. package/docs/pl/intlayer_with_vite+solid.md +32 -41
  1000. package/docs/pl/intlayer_with_vite+svelte.md +28 -28
  1001. package/docs/pl/intlayer_with_vite+vue.md +48 -70
  1002. package/docs/pl/mcp_server.md +22 -0
  1003. package/docs/pl/migration_from_i18next_to_intlayer.md +230 -0
  1004. package/docs/pl/migration_from_next-i18next_to_intlayer.md +351 -0
  1005. package/docs/pl/migration_from_next-intl_to_intlayer.md +360 -0
  1006. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +324 -0
  1007. package/docs/pl/migration_from_react-i18next_to_intlayer.md +380 -0
  1008. package/docs/pl/migration_from_vue-i18n_to_intlayer.md +232 -0
  1009. package/docs/pl/packages/intlayer/getLocalizedUrl.md +19 -0
  1010. package/docs/pl/packages/intlayer/getMultilingualUrls.md +111 -0
  1011. package/docs/pl/packages/react-intlayer/useDictionary.md +0 -104
  1012. package/docs/pl/packages/react-intlayer/useIntlayer.md +0 -51
  1013. package/docs/pl/packages/react-native-intlayer/exports.md +47 -13
  1014. package/docs/pl/plugins/sync-json.md +0 -59
  1015. package/docs/pl/releases/v6.md +4 -0
  1016. package/docs/pl/releases/v7.md +128 -0
  1017. package/docs/pl/releases/v9.md +36 -0
  1018. package/docs/pl/roadmap.md +0 -16
  1019. package/docs/pt/CI_CD.md +4 -0
  1020. package/docs/pt/autoFill.md +117 -14
  1021. package/docs/pt/benchmark/index.md +5 -5
  1022. package/docs/pt/benchmark/solid.md +22 -0
  1023. package/docs/pt/benchmark/svelte.md +22 -0
  1024. package/docs/pt/benchmark/tanstack.md +22 -0
  1025. package/docs/pt/cli/ci.md +22 -0
  1026. package/docs/pt/cli/fill.md +8 -0
  1027. package/docs/pt/cli/login.md +0 -36
  1028. package/docs/pt/compat/i18n-js.md +44 -0
  1029. package/docs/pt/compat/i18next.md +59 -0
  1030. package/docs/pt/compat/index.md +51 -0
  1031. package/docs/pt/compat/lingui.md +44 -0
  1032. package/docs/pt/compat/next-i18next.md +57 -0
  1033. package/docs/pt/compat/next-intl.md +59 -0
  1034. package/docs/pt/compat/next-translate.md +45 -0
  1035. package/docs/pt/compat/ngx-translate.md +45 -0
  1036. package/docs/pt/compat/nuxtjs-i18n.md +46 -0
  1037. package/docs/pt/compat/polyglot.md +45 -0
  1038. package/docs/pt/compat/react-i18next.md +58 -0
  1039. package/docs/pt/compat/react-intl.md +55 -0
  1040. package/docs/pt/compat/svelte-i18n.md +47 -0
  1041. package/docs/pt/compat/transloco.md +45 -0
  1042. package/docs/pt/compat/vue-i18n.md +58 -0
  1043. package/docs/pt/compiler.md +2 -2
  1044. package/docs/pt/configuration.md +16 -17
  1045. package/docs/pt/custom_domains.md +1 -6
  1046. package/docs/pt/custom_url_rewrites.md +1 -1
  1047. package/docs/pt/dictionary/content_file.md +4 -7
  1048. package/docs/pt/dictionary/enumeration.md +3 -190
  1049. package/docs/pt/dictionary/file.md +8 -0
  1050. package/docs/pt/dictionary/nesting.md +39 -0
  1051. package/docs/pt/dictionary/translation.md +0 -61
  1052. package/docs/pt/formatters.md +86 -0
  1053. package/docs/pt/how_works_intlayer.md +4 -0
  1054. package/docs/pt/intlayer_CMS.md +21 -0
  1055. package/docs/pt/intlayer_with_analog.md +3 -3
  1056. package/docs/pt/intlayer_with_angular_19.md +7 -7
  1057. package/docs/pt/intlayer_with_angular_21.md +3 -3
  1058. package/docs/pt/intlayer_with_astro.md +182 -3
  1059. package/docs/pt/intlayer_with_astro_lit.md +3 -3
  1060. package/docs/pt/intlayer_with_astro_preact.md +3 -3
  1061. package/docs/pt/intlayer_with_astro_react.md +3 -3
  1062. package/docs/pt/intlayer_with_astro_solid.md +3 -3
  1063. package/docs/pt/intlayer_with_astro_svelte.md +3 -3
  1064. package/docs/pt/intlayer_with_astro_vanilla.md +3 -3
  1065. package/docs/pt/intlayer_with_astro_vue.md +3 -3
  1066. package/docs/pt/intlayer_with_create_react_app.md +0 -14
  1067. package/docs/pt/intlayer_with_express.md +0 -23
  1068. package/docs/pt/intlayer_with_lynx+react.md +14 -3
  1069. package/docs/pt/intlayer_with_nestjs.md +0 -18
  1070. package/docs/pt/intlayer_with_nextjs_14.md +26 -7
  1071. package/docs/pt/intlayer_with_nextjs_15.md +27 -7
  1072. package/docs/pt/intlayer_with_nextjs_16.md +6 -6
  1073. package/docs/pt/intlayer_with_nextjs_compiler.md +1 -1
  1074. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +6 -6
  1075. package/docs/pt/intlayer_with_nextjs_page_router.md +10 -6
  1076. package/docs/pt/intlayer_with_nuxt.md +3 -3
  1077. package/docs/pt/intlayer_with_react_native+expo.md +74 -75
  1078. package/docs/pt/intlayer_with_react_router_v7.md +8 -84
  1079. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +3 -98
  1080. package/docs/pt/intlayer_with_storybook.md +3 -3
  1081. package/docs/pt/intlayer_with_svelte_kit.md +3 -245
  1082. package/docs/pt/intlayer_with_tanstack+solid.md +3 -3
  1083. package/docs/pt/intlayer_with_tanstack.md +3 -3
  1084. package/docs/pt/intlayer_with_vanilla.md +3 -3
  1085. package/docs/pt/intlayer_with_vite+lit.md +3 -3
  1086. package/docs/pt/intlayer_with_vite+preact.md +3 -3
  1087. package/docs/pt/intlayer_with_vite+react.md +10 -10
  1088. package/docs/pt/intlayer_with_vite+react_compiler.md +5 -5
  1089. package/docs/pt/intlayer_with_vite+solid.md +3 -3
  1090. package/docs/pt/intlayer_with_vite+svelte.md +31 -31
  1091. package/docs/pt/intlayer_with_vite+vanilla.md +3 -3
  1092. package/docs/pt/intlayer_with_vite+vue.md +7 -3
  1093. package/docs/pt/mcp_server.md +22 -0
  1094. package/docs/pt/packages/hono-intlayer/t.md +1 -1
  1095. package/docs/pt/packages/intlayer/getLocalizedUrl.md +75 -0
  1096. package/docs/pt/packages/intlayer/getMultilingualUrls.md +112 -0
  1097. package/docs/pt/packages/next-intlayer/t.md +34 -0
  1098. package/docs/pt/packages/react-intlayer/useDictionary.md +0 -121
  1099. package/docs/pt/packages/react-intlayer/useIntlayer.md +0 -51
  1100. package/docs/pt/packages/react-native-intlayer/exports.md +47 -13
  1101. package/docs/pt/plugins/sync-po.md +1 -1
  1102. package/docs/pt/readme.md +3 -3
  1103. package/docs/pt/releases/v6.md +28 -0
  1104. package/docs/pt/releases/v7.md +128 -0
  1105. package/docs/pt/releases/v9.md +37 -1
  1106. package/docs/pt/roadmap.md +6 -0
  1107. package/docs/ru/CI_CD.md +4 -0
  1108. package/docs/ru/autoFill.md +81 -0
  1109. package/docs/ru/benchmark/solid.md +22 -0
  1110. package/docs/ru/benchmark/svelte.md +22 -0
  1111. package/docs/ru/benchmark/tanstack.md +22 -0
  1112. package/docs/ru/cli/ci.md +22 -0
  1113. package/docs/ru/cli/fill.md +8 -0
  1114. package/docs/ru/cli/login.md +0 -36
  1115. package/docs/ru/compat/i18n-js.md +44 -0
  1116. package/docs/ru/compat/i18next.md +59 -0
  1117. package/docs/ru/compat/index.md +51 -0
  1118. package/docs/ru/compat/lingui.md +44 -0
  1119. package/docs/ru/compat/next-i18next.md +57 -0
  1120. package/docs/ru/compat/next-intl.md +59 -0
  1121. package/docs/ru/compat/next-translate.md +45 -0
  1122. package/docs/ru/compat/ngx-translate.md +45 -0
  1123. package/docs/ru/compat/nuxtjs-i18n.md +46 -0
  1124. package/docs/ru/compat/polyglot.md +45 -0
  1125. package/docs/ru/compat/react-i18next.md +58 -0
  1126. package/docs/ru/compat/react-intl.md +55 -0
  1127. package/docs/ru/compat/svelte-i18n.md +47 -0
  1128. package/docs/ru/compat/transloco.md +45 -0
  1129. package/docs/ru/compat/vue-i18n.md +58 -0
  1130. package/docs/ru/compiler.md +3 -1
  1131. package/docs/ru/configuration.md +19 -17
  1132. package/docs/ru/custom_domains.md +1 -1
  1133. package/docs/ru/custom_url_rewrites.md +1 -1
  1134. package/docs/ru/dictionary/content_file.md +4 -27
  1135. package/docs/ru/dictionary/enumeration.md +0 -199
  1136. package/docs/ru/dictionary/file.md +8 -0
  1137. package/docs/ru/dictionary/markdown.md +510 -0
  1138. package/docs/ru/dictionary/nesting.md +8 -0
  1139. package/docs/ru/dictionary/translation.md +0 -61
  1140. package/docs/ru/formatters.md +136 -0
  1141. package/docs/ru/how_works_intlayer.md +4 -0
  1142. package/docs/ru/intlayer_CMS.md +6 -0
  1143. package/docs/ru/intlayer_with_astro.md +129 -2
  1144. package/docs/ru/intlayer_with_astro_lit.md +1 -1
  1145. package/docs/ru/intlayer_with_astro_preact.md +1 -1
  1146. package/docs/ru/intlayer_with_astro_react.md +1 -1
  1147. package/docs/ru/intlayer_with_astro_solid.md +1 -1
  1148. package/docs/ru/intlayer_with_astro_svelte.md +1 -1
  1149. package/docs/ru/intlayer_with_astro_vanilla.md +1 -1
  1150. package/docs/ru/intlayer_with_astro_vue.md +1 -1
  1151. package/docs/ru/intlayer_with_express.md +0 -23
  1152. package/docs/ru/intlayer_with_nestjs.md +0 -18
  1153. package/docs/ru/intlayer_with_nextjs_14.md +31 -8
  1154. package/docs/ru/intlayer_with_nextjs_15.md +21 -1
  1155. package/docs/ru/intlayer_with_nextjs_16.md +1 -1
  1156. package/docs/ru/intlayer_with_nextjs_compiler.md +1 -1
  1157. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1 -1
  1158. package/docs/ru/intlayer_with_nextjs_page_router.md +5 -1
  1159. package/docs/ru/intlayer_with_react_native+expo.md +78 -80
  1160. package/docs/ru/intlayer_with_react_router_v7.md +1 -95
  1161. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -96
  1162. package/docs/ru/intlayer_with_svelte_kit.md +1 -207
  1163. package/docs/ru/intlayer_with_tanstack+solid.md +3 -1
  1164. package/docs/ru/intlayer_with_tanstack.md +1 -1
  1165. package/docs/ru/intlayer_with_vite+lit.md +1 -1
  1166. package/docs/ru/intlayer_with_vite+preact.md +57 -57
  1167. package/docs/ru/intlayer_with_vite+react.md +3 -1
  1168. package/docs/ru/intlayer_with_vite+react_compiler.md +1 -1
  1169. package/docs/ru/intlayer_with_vite+solid.md +33 -42
  1170. package/docs/ru/intlayer_with_vite+svelte.md +27 -29
  1171. package/docs/ru/intlayer_with_vite+vanilla.md +1 -1
  1172. package/docs/ru/intlayer_with_vite+vue.md +53 -101
  1173. package/docs/ru/mcp_server.md +22 -0
  1174. package/docs/ru/packages/intlayer/getLocalizedUrl.md +75 -0
  1175. package/docs/ru/packages/intlayer/getMultilingualUrls.md +111 -0
  1176. package/docs/ru/packages/next-intlayer/t.md +34 -0
  1177. package/docs/ru/packages/react-intlayer/useDictionary.md +0 -104
  1178. package/docs/ru/packages/react-intlayer/useIntlayer.md +0 -51
  1179. package/docs/ru/packages/react-intlayer/useLocale.md +9 -0
  1180. package/docs/ru/packages/react-native-intlayer/exports.md +49 -16
  1181. package/docs/ru/releases/v6.md +28 -0
  1182. package/docs/ru/releases/v7.md +128 -0
  1183. package/docs/ru/releases/v9.md +37 -1
  1184. package/docs/ru/roadmap.md +6 -0
  1185. package/docs/tr/CI_CD.md +4 -0
  1186. package/docs/tr/autoFill.md +81 -0
  1187. package/docs/tr/benchmark/solid.md +22 -0
  1188. package/docs/tr/benchmark/svelte.md +22 -0
  1189. package/docs/tr/benchmark/tanstack.md +22 -0
  1190. package/docs/tr/cli/ci.md +22 -0
  1191. package/docs/tr/cli/fill.md +8 -0
  1192. package/docs/tr/cli/login.md +0 -10
  1193. package/docs/tr/compat/i18n-js.md +44 -0
  1194. package/docs/tr/compat/i18next.md +59 -0
  1195. package/docs/tr/compat/index.md +51 -0
  1196. package/docs/tr/compat/lingui.md +44 -0
  1197. package/docs/tr/compat/next-i18next.md +57 -0
  1198. package/docs/tr/compat/next-intl.md +59 -0
  1199. package/docs/tr/compat/next-translate.md +45 -0
  1200. package/docs/tr/compat/ngx-translate.md +45 -0
  1201. package/docs/tr/compat/nuxtjs-i18n.md +46 -0
  1202. package/docs/tr/compat/polyglot.md +45 -0
  1203. package/docs/tr/compat/react-i18next.md +58 -0
  1204. package/docs/tr/compat/react-intl.md +55 -0
  1205. package/docs/tr/compat/svelte-i18n.md +47 -0
  1206. package/docs/tr/compat/transloco.md +45 -0
  1207. package/docs/tr/compat/vue-i18n.md +58 -0
  1208. package/docs/tr/compiler.md +3 -1
  1209. package/docs/tr/configuration.md +19 -17
  1210. package/docs/tr/custom_domains.md +1 -1
  1211. package/docs/tr/custom_url_rewrites.md +1 -1
  1212. package/docs/tr/dictionary/content_file.md +4 -27
  1213. package/docs/tr/dictionary/enumeration.md +0 -187
  1214. package/docs/tr/dictionary/file.md +8 -0
  1215. package/docs/tr/dictionary/nesting.md +39 -0
  1216. package/docs/tr/dictionary/translation.md +0 -88
  1217. package/docs/tr/formatters.md +59 -0
  1218. package/docs/tr/how_works_intlayer.md +4 -0
  1219. package/docs/tr/intlayer_CMS.md +6 -0
  1220. package/docs/tr/intlayer_with_analog.md +4 -0
  1221. package/docs/tr/intlayer_with_astro.md +134 -77
  1222. package/docs/tr/intlayer_with_astro_lit.md +1 -1
  1223. package/docs/tr/intlayer_with_astro_preact.md +1 -1
  1224. package/docs/tr/intlayer_with_astro_react.md +1 -1
  1225. package/docs/tr/intlayer_with_astro_solid.md +1 -1
  1226. package/docs/tr/intlayer_with_astro_svelte.md +1 -1
  1227. package/docs/tr/intlayer_with_astro_vanilla.md +1 -1
  1228. package/docs/tr/intlayer_with_astro_vue.md +1 -1
  1229. package/docs/tr/intlayer_with_express.md +0 -4
  1230. package/docs/tr/intlayer_with_nestjs.md +0 -8
  1231. package/docs/tr/intlayer_with_nextjs_14.md +95 -8
  1232. package/docs/tr/intlayer_with_nextjs_15.md +21 -1
  1233. package/docs/tr/intlayer_with_nextjs_16.md +1 -1
  1234. package/docs/tr/intlayer_with_nextjs_compiler.md +1 -22
  1235. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1 -1
  1236. package/docs/tr/intlayer_with_nextjs_page_router.md +5 -1
  1237. package/docs/tr/intlayer_with_react_native+expo.md +65 -101
  1238. package/docs/tr/intlayer_with_react_router_v7.md +1 -95
  1239. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -96
  1240. package/docs/tr/intlayer_with_svelte_kit.md +1 -207
  1241. package/docs/tr/intlayer_with_tanstack+solid.md +3 -1
  1242. package/docs/tr/intlayer_with_tanstack.md +1 -1
  1243. package/docs/tr/intlayer_with_vite+lit.md +1 -1
  1244. package/docs/tr/intlayer_with_vite+preact.md +57 -57
  1245. package/docs/tr/intlayer_with_vite+react.md +49 -49
  1246. package/docs/tr/intlayer_with_vite+react_compiler.md +1 -1
  1247. package/docs/tr/intlayer_with_vite+solid.md +33 -42
  1248. package/docs/tr/intlayer_with_vite+svelte.md +27 -29
  1249. package/docs/tr/intlayer_with_vite+vanilla.md +1 -1
  1250. package/docs/tr/intlayer_with_vite+vue.md +54 -102
  1251. package/docs/tr/mcp_server.md +22 -0
  1252. package/docs/tr/packages/intlayer/getMultilingualUrls.md +111 -0
  1253. package/docs/tr/packages/react-intlayer/useDictionary.md +0 -119
  1254. package/docs/tr/packages/react-intlayer/useI18n.md +0 -125
  1255. package/docs/tr/packages/react-intlayer/useIntlayer.md +0 -51
  1256. package/docs/tr/packages/react-native-intlayer/exports.md +48 -15
  1257. package/docs/tr/releases/v6.md +28 -0
  1258. package/docs/tr/releases/v7.md +128 -0
  1259. package/docs/tr/releases/v9.md +37 -1
  1260. package/docs/tr/roadmap.md +6 -0
  1261. package/docs/uk/benchmark/solid.md +22 -0
  1262. package/docs/uk/benchmark/svelte.md +22 -0
  1263. package/docs/uk/benchmark/tanstack.md +22 -0
  1264. package/docs/uk/cli/ci.md +22 -0
  1265. package/docs/uk/cli/fill.md +8 -0
  1266. package/docs/uk/compat/i18n-js.md +44 -0
  1267. package/docs/uk/compat/i18next.md +59 -0
  1268. package/docs/uk/compat/index.md +51 -0
  1269. package/docs/uk/compat/lingui.md +44 -0
  1270. package/docs/uk/compat/next-i18next.md +57 -0
  1271. package/docs/uk/compat/next-intl.md +59 -0
  1272. package/docs/uk/compat/next-translate.md +45 -0
  1273. package/docs/uk/compat/ngx-translate.md +45 -0
  1274. package/docs/uk/compat/nuxtjs-i18n.md +46 -0
  1275. package/docs/uk/compat/polyglot.md +45 -0
  1276. package/docs/uk/compat/react-i18next.md +58 -0
  1277. package/docs/uk/compat/react-intl.md +55 -0
  1278. package/docs/uk/compat/svelte-i18n.md +47 -0
  1279. package/docs/uk/compat/transloco.md +45 -0
  1280. package/docs/uk/compat/vue-i18n.md +58 -0
  1281. package/docs/uk/compiler.md +3 -1
  1282. package/docs/uk/configuration.md +19 -17
  1283. package/docs/uk/custom_domains.md +1 -1
  1284. package/docs/uk/custom_url_rewrites.md +1 -1
  1285. package/docs/uk/dictionary/content_file.md +0 -7
  1286. package/docs/uk/dictionary/enumeration.md +0 -187
  1287. package/docs/uk/dictionary/nesting.md +39 -0
  1288. package/docs/uk/dictionary/translation.md +0 -72
  1289. package/docs/uk/formatters.md +142 -58
  1290. package/docs/uk/interest_of_intlayer.md +194 -0
  1291. package/docs/uk/intlayer_with_analog.md +4 -0
  1292. package/docs/uk/intlayer_with_astro.md +130 -3
  1293. package/docs/uk/intlayer_with_astro_lit.md +1 -1
  1294. package/docs/uk/intlayer_with_astro_preact.md +1 -1
  1295. package/docs/uk/intlayer_with_astro_react.md +1 -1
  1296. package/docs/uk/intlayer_with_astro_solid.md +1 -1
  1297. package/docs/uk/intlayer_with_astro_svelte.md +1 -1
  1298. package/docs/uk/intlayer_with_astro_vanilla.md +1 -1
  1299. package/docs/uk/intlayer_with_astro_vue.md +1 -1
  1300. package/docs/uk/intlayer_with_nextjs_14.md +1 -1
  1301. package/docs/uk/intlayer_with_nextjs_15.md +1 -1
  1302. package/docs/uk/intlayer_with_nextjs_16.md +1 -1
  1303. package/docs/uk/intlayer_with_nextjs_compiler.md +1 -22
  1304. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1 -1
  1305. package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
  1306. package/docs/uk/intlayer_with_nuxt.md +0 -27
  1307. package/docs/uk/intlayer_with_react_native+expo.md +52 -93
  1308. package/docs/uk/intlayer_with_react_router_v7.md +1 -95
  1309. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +1 -96
  1310. package/docs/uk/intlayer_with_svelte_kit.md +1 -1
  1311. package/docs/uk/intlayer_with_tanstack+solid.md +3 -1
  1312. package/docs/uk/intlayer_with_tanstack.md +1 -1
  1313. package/docs/uk/intlayer_with_vite+lit.md +1 -1
  1314. package/docs/uk/intlayer_with_vite+preact.md +57 -57
  1315. package/docs/uk/intlayer_with_vite+react.md +49 -49
  1316. package/docs/uk/intlayer_with_vite+react_compiler.md +1 -1
  1317. package/docs/uk/intlayer_with_vite+solid.md +33 -42
  1318. package/docs/uk/intlayer_with_vite+svelte.md +29 -29
  1319. package/docs/uk/intlayer_with_vite+vanilla.md +1 -1
  1320. package/docs/uk/intlayer_with_vite+vue.md +49 -101
  1321. package/docs/uk/mcp_server.md +22 -0
  1322. package/docs/uk/migration_from_i18next_to_intlayer.md +333 -0
  1323. package/docs/uk/migration_from_next-i18next_to_intlayer.md +355 -0
  1324. package/docs/uk/migration_from_next-intl_to_intlayer.md +364 -0
  1325. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
  1326. package/docs/uk/migration_from_react-i18next_to_intlayer.md +384 -0
  1327. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +359 -0
  1328. package/docs/uk/packages/react-intlayer/useDictionary.md +0 -107
  1329. package/docs/uk/packages/react-intlayer/useIntlayer.md +0 -51
  1330. package/docs/uk/packages/react-native-intlayer/exports.md +47 -13
  1331. package/docs/uk/releases/v6.md +4 -0
  1332. package/docs/uk/releases/v7.md +4 -0
  1333. package/docs/uk/releases/v9.md +37 -1
  1334. package/docs/vi/autoFill.md +20 -0
  1335. package/docs/vi/benchmark/solid.md +22 -0
  1336. package/docs/vi/benchmark/svelte.md +22 -0
  1337. package/docs/vi/benchmark/tanstack.md +22 -0
  1338. package/docs/vi/cli/ci.md +22 -0
  1339. package/docs/vi/cli/fill.md +8 -0
  1340. package/docs/vi/cli/login.md +0 -36
  1341. package/docs/vi/compat/i18n-js.md +44 -0
  1342. package/docs/vi/compat/i18next.md +59 -0
  1343. package/docs/vi/compat/index.md +51 -0
  1344. package/docs/vi/compat/lingui.md +44 -0
  1345. package/docs/vi/compat/next-i18next.md +57 -0
  1346. package/docs/vi/compat/next-intl.md +59 -0
  1347. package/docs/vi/compat/next-translate.md +45 -0
  1348. package/docs/vi/compat/ngx-translate.md +45 -0
  1349. package/docs/vi/compat/nuxtjs-i18n.md +46 -0
  1350. package/docs/vi/compat/polyglot.md +45 -0
  1351. package/docs/vi/compat/react-i18next.md +58 -0
  1352. package/docs/vi/compat/react-intl.md +55 -0
  1353. package/docs/vi/compat/svelte-i18n.md +47 -0
  1354. package/docs/vi/compat/transloco.md +45 -0
  1355. package/docs/vi/compat/vue-i18n.md +58 -0
  1356. package/docs/vi/compiler.md +3 -1
  1357. package/docs/vi/configuration.md +19 -17
  1358. package/docs/vi/custom_domains.md +1 -1
  1359. package/docs/vi/custom_url_rewrites.md +1 -1
  1360. package/docs/vi/dictionary/content_file.md +0 -7
  1361. package/docs/vi/dictionary/enumeration.md +0 -199
  1362. package/docs/vi/dictionary/insertion.md +0 -2
  1363. package/docs/vi/dictionary/nesting.md +39 -0
  1364. package/docs/vi/dictionary/translation.md +0 -61
  1365. package/docs/vi/formatters.md +124 -0
  1366. package/docs/vi/interest_of_intlayer.md +193 -0
  1367. package/docs/vi/intlayer_with_analog.md +4 -0
  1368. package/docs/vi/intlayer_with_astro.md +130 -3
  1369. package/docs/vi/intlayer_with_astro_lit.md +1 -1
  1370. package/docs/vi/intlayer_with_astro_preact.md +1 -1
  1371. package/docs/vi/intlayer_with_astro_react.md +1 -1
  1372. package/docs/vi/intlayer_with_astro_solid.md +1 -1
  1373. package/docs/vi/intlayer_with_astro_svelte.md +1 -1
  1374. package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
  1375. package/docs/vi/intlayer_with_astro_vue.md +1 -1
  1376. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  1377. package/docs/vi/intlayer_with_nextjs_15.md +469 -1
  1378. package/docs/vi/intlayer_with_nextjs_16.md +1 -1
  1379. package/docs/vi/intlayer_with_nextjs_compiler.md +1 -22
  1380. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1 -1
  1381. package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
  1382. package/docs/vi/intlayer_with_nuxt.md +0 -27
  1383. package/docs/vi/intlayer_with_react_native+expo.md +32 -74
  1384. package/docs/vi/intlayer_with_react_router_v7.md +1 -95
  1385. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -103
  1386. package/docs/vi/intlayer_with_svelte_kit.md +1 -207
  1387. package/docs/vi/intlayer_with_tanstack+solid.md +3 -1
  1388. package/docs/vi/intlayer_with_tanstack.md +1 -1
  1389. package/docs/vi/intlayer_with_vite+lit.md +1 -1
  1390. package/docs/vi/intlayer_with_vite+preact.md +57 -57
  1391. package/docs/vi/intlayer_with_vite+react.md +49 -49
  1392. package/docs/vi/intlayer_with_vite+react_compiler.md +1 -1
  1393. package/docs/vi/intlayer_with_vite+solid.md +33 -42
  1394. package/docs/vi/intlayer_with_vite+svelte.md +29 -31
  1395. package/docs/vi/intlayer_with_vite+vanilla.md +1 -1
  1396. package/docs/vi/intlayer_with_vite+vue.md +49 -101
  1397. package/docs/vi/mcp_server.md +22 -0
  1398. package/docs/vi/migration_from_i18next_to_intlayer.md +333 -0
  1399. package/docs/vi/migration_from_next-i18next_to_intlayer.md +355 -0
  1400. package/docs/vi/migration_from_next-intl_to_intlayer.md +364 -0
  1401. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
  1402. package/docs/vi/migration_from_react-i18next_to_intlayer.md +384 -0
  1403. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +359 -0
  1404. package/docs/vi/packages/intlayer/getLocalizedUrl.md +25 -0
  1405. package/docs/vi/packages/intlayer/getMultilingualUrls.md +112 -0
  1406. package/docs/vi/packages/react-intlayer/useDictionary.md +0 -121
  1407. package/docs/vi/packages/react-intlayer/useI18n.md +0 -28
  1408. package/docs/vi/packages/react-intlayer/useIntlayer.md +0 -51
  1409. package/docs/vi/packages/react-native-intlayer/exports.md +47 -13
  1410. package/docs/vi/releases/v6.md +4 -0
  1411. package/docs/vi/releases/v7.md +128 -0
  1412. package/docs/vi/releases/v9.md +37 -1
  1413. package/docs/zh/CI_CD.md +1 -1
  1414. package/docs/zh/autoFill.md +81 -0
  1415. package/docs/zh/benchmark/solid.md +22 -0
  1416. package/docs/zh/benchmark/svelte.md +22 -0
  1417. package/docs/zh/benchmark/tanstack.md +22 -0
  1418. package/docs/zh/cli/ci.md +22 -0
  1419. package/docs/zh/cli/fill.md +8 -0
  1420. package/docs/zh/cli/login.md +0 -36
  1421. package/docs/zh/compat/i18n-js.md +44 -0
  1422. package/docs/zh/compat/i18next.md +59 -0
  1423. package/docs/zh/compat/index.md +51 -0
  1424. package/docs/zh/compat/lingui.md +44 -0
  1425. package/docs/zh/compat/next-i18next.md +57 -0
  1426. package/docs/zh/compat/next-intl.md +59 -0
  1427. package/docs/zh/compat/next-translate.md +45 -0
  1428. package/docs/zh/compat/ngx-translate.md +45 -0
  1429. package/docs/zh/compat/nuxtjs-i18n.md +46 -0
  1430. package/docs/zh/compat/polyglot.md +45 -0
  1431. package/docs/zh/compat/react-i18next.md +58 -0
  1432. package/docs/zh/compat/react-intl.md +55 -0
  1433. package/docs/zh/compat/svelte-i18n.md +47 -0
  1434. package/docs/zh/compat/transloco.md +45 -0
  1435. package/docs/zh/compat/vue-i18n.md +58 -0
  1436. package/docs/zh/compiler.md +3 -1
  1437. package/docs/zh/configuration.md +19 -17
  1438. package/docs/zh/custom_domains.md +1 -1
  1439. package/docs/zh/custom_url_rewrites.md +14 -16
  1440. package/docs/zh/dictionary/content_file.md +16 -20
  1441. package/docs/zh/dictionary/enumeration.md +0 -187
  1442. package/docs/zh/dictionary/function_fetching.md +0 -27
  1443. package/docs/zh/dictionary/insertion.md +0 -64
  1444. package/docs/zh/dictionary/nesting.md +39 -0
  1445. package/docs/zh/dictionary/translation.md +0 -84
  1446. package/docs/zh/formatters.md +77 -0
  1447. package/docs/zh/how_works_intlayer.md +4 -4
  1448. package/docs/zh/intlayer_CMS.md +21 -0
  1449. package/docs/zh/intlayer_with_analog.md +4 -170
  1450. package/docs/zh/intlayer_with_angular_19.md +0 -248
  1451. package/docs/zh/intlayer_with_astro.md +242 -60
  1452. package/docs/zh/intlayer_with_astro_lit.md +108 -74
  1453. package/docs/zh/intlayer_with_astro_preact.md +102 -68
  1454. package/docs/zh/intlayer_with_astro_react.md +104 -70
  1455. package/docs/zh/intlayer_with_astro_solid.md +104 -70
  1456. package/docs/zh/intlayer_with_astro_svelte.md +104 -70
  1457. package/docs/zh/intlayer_with_astro_vanilla.md +101 -69
  1458. package/docs/zh/intlayer_with_astro_vue.md +96 -62
  1459. package/docs/zh/intlayer_with_create_react_app.md +0 -305
  1460. package/docs/zh/intlayer_with_express.md +0 -23
  1461. package/docs/zh/intlayer_with_lynx+react.md +0 -275
  1462. package/docs/zh/intlayer_with_nestjs.md +0 -18
  1463. package/docs/zh/intlayer_with_nextjs_14.md +63 -25
  1464. package/docs/zh/intlayer_with_nextjs_15.md +64 -14
  1465. package/docs/zh/intlayer_with_nextjs_16.md +129 -87
  1466. package/docs/zh/intlayer_with_nextjs_compiler.md +152 -140
  1467. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1 -1
  1468. package/docs/zh/intlayer_with_nextjs_page_router.md +51 -15
  1469. package/docs/zh/intlayer_with_nuxt.md +0 -162
  1470. package/docs/zh/intlayer_with_react_native+expo.md +134 -151
  1471. package/docs/zh/intlayer_with_react_router_v7.md +1 -342
  1472. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -332
  1473. package/docs/zh/intlayer_with_storybook.md +0 -240
  1474. package/docs/zh/intlayer_with_svelte_kit.md +1 -549
  1475. package/docs/zh/intlayer_with_tanstack+solid.md +1 -646
  1476. package/docs/zh/intlayer_with_tanstack.md +1 -644
  1477. package/docs/zh/intlayer_with_vanilla.md +0 -283
  1478. package/docs/zh/intlayer_with_vite+lit.md +1 -411
  1479. package/docs/zh/intlayer_with_vite+preact.md +1 -241
  1480. package/docs/zh/intlayer_with_vite+react.md +2 -2
  1481. package/docs/zh/intlayer_with_vite+react_compiler.md +1 -192
  1482. package/docs/zh/intlayer_with_vite+solid.md +1 -306
  1483. package/docs/zh/intlayer_with_vite+svelte.md +104 -78
  1484. package/docs/zh/intlayer_with_vite+vanilla.md +1 -442
  1485. package/docs/zh/intlayer_with_vite+vue.md +95 -136
  1486. package/docs/zh/mcp_server.md +26 -0
  1487. package/docs/zh/migration_from_i18next_to_intlayer.md +330 -0
  1488. package/docs/zh/migration_from_next-i18next_to_intlayer.md +355 -0
  1489. package/docs/zh/migration_from_next-intl_to_intlayer.md +365 -0
  1490. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
  1491. package/docs/zh/migration_from_react-i18next_to_intlayer.md +384 -0
  1492. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +359 -0
  1493. package/docs/zh/packages/intlayer/getLocalizedUrl.md +73 -0
  1494. package/docs/zh/packages/intlayer/getMultilingualUrls.md +112 -0
  1495. package/docs/zh/packages/react-intlayer/useDictionary.md +0 -129
  1496. package/docs/zh/packages/react-intlayer/useIntlayer.md +0 -51
  1497. package/docs/zh/packages/react-native-intlayer/exports.md +48 -14
  1498. package/docs/zh/releases/v6.md +28 -0
  1499. package/docs/zh/releases/v7.md +128 -0
  1500. package/docs/zh/releases/v8.md +190 -0
  1501. package/docs/zh/releases/v9.md +37 -1
  1502. package/docs/zh/roadmap.md +6 -0
  1503. package/docs/zh/vs_code_extension.md +0 -7
  1504. package/frequent_questions/pt/translated_path_url.md +1 -1
  1505. package/package.json +6 -6
@@ -82,6 +82,75 @@ author: aymericzip
82
82
 
83
83
  ---
84
84
 
85
+ ## Bundle आकार और dependencies
86
+
87
+ अनुप्रयोग बनाने के बाद, bundle वह JavaScript है जो ब्राउज़र पृष्ठ को प्रस्तुत करने के लिए लोड करेगा। इसलिए bundle का आकार अनुप्रयोग के प्रदर्शन के लिए महत्वपूर्ण है।
88
+
89
+ बहु-भाषा अनुप्रयोग bundle के संदर्भ में दो घटक महत्वपूर्ण हैं:
90
+
91
+ - अनुप्रयोग कोड
92
+ - ब्राउज़र द्वारा लोड की गई सामग्री
93
+
94
+ ## एप्लिकेशन कोड
95
+
96
+ इस मामले में एप्लिकेशन कोड का महत्व न्यूनतम है। तीनों समाधान tree-shakable हैं, जिसका अर्थ है कि कोड के अप्रयुक्त हिस्से bundle में शामिल नहीं होते हैं।
97
+
98
+ यहाँ तीनों समाधानों के साथ एक मल्टी-लैंग्वेज एप्लिकेशन के लिए ब्राउज़र द्वारा लोड किए गए JavaScript bundle size की तुलना दी गई है।
99
+
100
+ यदि एप्लिकेशन में हमें किसी formatter की आवश्यकता नहीं है, तो tree-shaking के बाद निर्यात किए गए फ़ंक्शन की सूची होगी:
101
+
102
+ - **next-intlayer**: `useIntlayer`, `useLocale`, `NextIntlClientProvider`, (Bundle size 180.6 kB -> 15.24 kB (gzip))
103
+ - **next-intl**: `useTranslations`, `useLocale`, `NextIntlClientProvider`, (Bundle size 101.3 kB -> 31.4 kB (gzip))
104
+ - **next-i18next**: `useTranslation`, `useI18n`, `I18nextProvider`, (Bundle size 80.7 kB -> 25.5 kB (gzip))
105
+
106
+ ये फ़ंक्शन केवल React context/state के चारों ओर wrappers हैं, इसलिए bundle size पर i18n library का कुल प्रभाव न्यूनतम है।
107
+
108
+ ## सामग्री और अनुवाद
109
+
110
+ यह भाग अक्सर developers द्वारा नज़रअंदाज़ किया जाता है, लेकिन आइए 10 भाषाओं में 10 पृष्ठों से बने एक application के मामले पर विचार करें। मान लीजिए कि प्रत्येक पृष्ठ गणना को सरल बनाने के लिए 100% अद्वितीय सामग्री को एकीकृत करता है (वास्तव में, पृष्ठों के बीच बहुत सी सामग्री redundant होती है, जैसे page title, header, footer, आदि)।
111
+
112
+ एक user जो `/fr/about` पृष्ठ पर जाना चाहता है, दिए गए language में एक पृष्ठ की सामग्री load करेगा। सामग्री optimization को ignore करने का मतलब होगा 8,200% `((1 + (((10 pages - 1) × (10 languages - 1)))) × 100)` application सामग्री को unnecessarily load करना। क्या आप समस्या देखते हैं? भले ही यह सामग्री text रहे, और जबकि आप शायद अपनी site की images को optimize करने के बारे में सोचना पसंद करते हैं, आप दुनिया भर में useless सामग्री भेज रहे हैं और users के computers को इसे कुछ नहीं के लिए process करने के लिए बना रहे हैं।
113
+
114
+ दो महत्वपूर्ण समस्याएं:
115
+
116
+ - **Route के आधार पर विभाजन:**
117
+
118
+ > यदि मैं `/about` पृष्ठ पर हूं, तो मुझे `/home` पृष्ठ की सामग्री load नहीं करनी चाहिए
119
+
120
+ - **Locale के आधार पर विभाजन:**
121
+
122
+ > यदि मैं `/fr/about` पृष्ठ पर हूं, तो मुझे `/en/about` पृष्ठ की सामग्री load नहीं करनी चाहिए
123
+
124
+ फिर से, तीनों solutions इन समस्याओं के बारे में जानते हैं और इन optimizations को manage करने की अनुमति देते हैं। तीनों solutions के बीच अंतर DX (Developer Experience) में है।
125
+
126
+ `next-intl` और `next-i18next` translations को manage करने के लिए एक centralized approach का उपयोग करते हैं, जो locale के आधार पर और sub-files के आधार पर JSON को split करने की अनुमति देता है। `next-i18next` में, हम JSON files को 'namespaces' कहते हैं; `next-intl` messages को declare करने की अनुमति देता है। `intlayer` में, हम JSON files को 'dictionaries' कहते हैं।
127
+
128
+ - `next-intl` के मामले में, `next-i18next` की तरह, content को page/layout level पर load किया जाता है, फिर इस content को एक context provider में load किया जाता है। इसका मतलब है कि developer को manually JSON files को manage करना चाहिए जो प्रत्येक पृष्ठ के लिए load होंगी।
129
+
130
+ > व्यवहार में, इसका अर्थ है कि developers अक्सर इस optimization को छोड़ देते हैं, सरलता के लिए page के context provider में सभी content को load करना पसंद करते हैं।
131
+
132
+ - `intlayer` के मामले में, सभी content को application में load किया जाता है। फिर एक plugin (`@intlayer/babel` / `@intlayer/swc`) bundle को optimize करने का ध्यान रखता है, केवल पृष्ठ पर उपयोग की जाने वाली content को load करके। इसलिए developer को manually dictionaries को manage करने की जरूरत नहीं है जो load होंगी। यह बेहतर optimization, बेहतर maintainability, और development time को कम करने की अनुमति देता है।
133
+
134
+ जैसे-जैसे application बढ़ता है (विशेष रूप से जब multiple developers application पर काम करते हैं), यह common है कि JSON files से ऐसी सामग्री को remove करना भूल जाएं जो अब उपयोग नहीं की जाती है।
135
+
136
+ > ध्यान दें कि सभी JSON सभी cases में load होते हैं (next-intl, next-i18next, intlayer)।
137
+
138
+ यही कारण है कि Intlayer का approach अधिक performant है: यदि एक component अब उपयोग नहीं किया जाता है, तो इसकी dictionary bundle में load नहीं होती है।
139
+
140
+ कैसे library fallbacks को handle करती है यह भी महत्वपूर्ण है। आइए मान लें कि application default रूप से English में है, और user `/fr/about` पृष्ठ पर जाता है। यदि French में translations missing हैं, तो हम English fallback पर विचार करेंगे।
141
+
142
+ `next-intl` और `next-i18next` के मामले में, library को current locale से संबंधित JSON को load करने की जरूरत है, लेकिन fallback locale से भी। इस प्रकार, यह मानते हुए कि सभी content का translation किया गया है, प्रत्येक पृष्ठ 100% unnecessary सामग्री को load करेगा। **तुलना में, `intlayer` dictionary build time पर fallback को process करता है। इस प्रकार, प्रत्येक पृष्ठ केवल उपयोग की जाने वाली सामग्री को load करेगा।**
143
+
144
+ > ध्यान दें: `intlayer` का उपयोग करके bundle को optimize करने के लिए, आपको अपनी `intlayer.config.ts` file में `importMode: 'dynamic'` option को set करने की जरूरत है। और सुनिश्चित करें कि plugin `@intlayer/babel` / `@intlayer/swc` installed हैं (default रूप से `vite-intlayer` का उपयोग करके installed)।
145
+
146
+ यहां एक vite + react application में `intlayer` का उपयोग करके bundle size optimization के प्रभाव का एक उदाहरण दिया गया है:
147
+
148
+ | Optimized bundle | Bundle not optimized |
149
+ | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
150
+ | ![optimized bundle](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | ![no optimized bundle](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle_no_optimization.png?raw=true) |
151
+
152
+ ---
153
+
85
154
  ### 2) टाइपस्क्रिप्ट और सुरक्षा
86
155
 
87
156
  - **next-intl**: मजबूत टाइपस्क्रिप्ट समर्थन, लेकिन **चाबियाँ डिफ़ॉल्ट रूप से सख्ती से टाइप नहीं होतीं**; आपको सुरक्षा पैटर्न मैन्युअली बनाए रखने होंगे।
@@ -110,6 +179,60 @@ author: aymericzip
110
179
 
111
180
  ---
112
181
 
182
+ ## Server Components (RSC) संरेखण
183
+
184
+ <Columns>
185
+ <Column>
186
+
187
+ **next-i18next**
188
+
189
+ - पृष्ठ और लेआउट server components को सपोर्ट करता है।
190
+ - बाल server components के लिए synchronous API प्रदान नहीं करता है।
191
+
192
+ </Column>
193
+ <Column>
194
+
195
+ **next-intl**
196
+
197
+ - पृष्ठ और लेआउट server components को सपोर्ट करता है।
198
+ - बाल server components के लिए synchronous API प्रदान नहीं करता है।
199
+
200
+ </Column>
201
+ <Column>
202
+
203
+ **intlayer**
204
+
205
+ - पृष्ठ और लेआउट server components को सपोर्ट करता है।
206
+ - बाल server components के लिए synchronous API प्रदान करता है।
207
+
208
+ </Column>
209
+ </Columns>
210
+
211
+ **यह क्यों महत्वपूर्ण है:** Server component सपोर्ट Next.js 13+ की एक मुख्य सुविधा है, जो performance में सुधार करती है। parent से बाल server components में locale या `t` फ़ंक्शन को props के रूप में पास करने से आपके components कम reusable हो जाते हैं।
212
+
213
+ ---
214
+
215
+ ## स्थानीयकरण प्लेटफॉर्म (TMS) के साथ एकीकरण
216
+
217
+ बड़ी संगठनें अक्सर **Crowdin**, **Phrase**, **Lokalise**, **Localizely**, या **Localazy** जैसी Translation Management Systems (TMS) पर निर्भर करती हैं।
218
+
219
+ - **कंपनियों को क्यों परवाह है**
220
+ - **सहयोग और भूमिकाएँ**: कई actors शामिल हैं: developers, product managers, translators, reviewers, marketing teams।
221
+ - **स्केल और दक्षता**: continuous localization, in-context review।
222
+
223
+ - **next-intl / next-i18next**
224
+ - आमतौर पर **centralized JSON catalogs** का उपयोग करते हैं, इसलिए TMS के साथ export/import सीधा है।
225
+ - परिपक्व ecosystems और उपरोक्त प्लेटफॉर्म के लिए examples/integrations।
226
+
227
+ - **Intlayer**
228
+ - **decentralized, per-component dictionaries** को प्रोत्साहित करता है और **TypeScript/TSX/JS/JSON/MD** content को समर्थन करता है।
229
+ - यह code में modularity में सुधार करता है, लेकिन जब कोई tool centralized, flat JSON files की अपेक्षा करता है तो plug-and-play TMS integration को कठिन बना सकता है।
230
+ - Intlayer विकल्प प्रदान करता है: **AI-assisted translations** (अपनी provider keys का उपयोग करके), एक **Visual Editor/CMS**, और **CLI/CI** workflows को catch और prefill gaps के लिए।
231
+
232
+ > नोट: `next-intl` और `i18next` TypeScript catalogs को भी स्वीकार करते हैं। यदि आपकी team `.ts` files में messages को store करती है या उन्हें feature द्वारा decentralize करती है, तो आप समान TMS friction का सामना कर सकते हैं। हालांकि, कई `next-intl` setups `locales/` folder में centralized रहते हैं, जो TMS के लिए JSON में refactor करना थोड़ा आसान है।
233
+
234
+ ---
235
+
113
236
  ### 5) सर्वर कंपोनेंट्स (RSC) संरेखण
114
237
 
115
238
  - **सभी** Next.js 13+ का समर्थन करते हैं।
@@ -119,6 +242,88 @@ author: aymericzip
119
242
 
120
243
  ---
121
244
 
245
+ ### ऐप्लिकेशन संरचना
246
+
247
+ ऐप्लिकेशन संरचना आपके codebase के लिए अच्छी maintainability सुनिश्चित करने के लिए महत्वपूर्ण है।
248
+
249
+ <Tabs defaultTab="next-intl" group='techno'>
250
+
251
+ <Tab label="next-i18next" value="next-i18next">
252
+
253
+ ```bash
254
+ .
255
+ ├── i18n.config.ts
256
+ └── src
257
+ ├── locales
258
+ │ ├── en
259
+ │ │ ├── common.json
260
+ │ │ └── about.json
261
+ │ └── fr
262
+ │ ├── common.json
263
+ │ └── about.json
264
+ ├── app
265
+ │ ├── i18n
266
+ │ │ └── server.ts
267
+ │ └── [locale]
268
+ │ ├── layout.tsx
269
+ │ └── about.tsx
270
+ └── components
271
+ ├── I18nProvider.tsx
272
+ ├── ClientComponent.tsx
273
+ └── ServerComponent.tsx
274
+ ```
275
+
276
+ </Tab>
277
+ <Tab label="next-intl" value="next-intl">
278
+
279
+ ```bash
280
+ .
281
+ ├── i18n.ts
282
+ ├── locales
283
+ │ ├── en
284
+ │ │ ├── home.json
285
+ │ │ └── navbar.json
286
+ │ ├── fr
287
+ │ │ ├── home.json
288
+ │ │ └── navbar.json
289
+ │ └── es
290
+ │ ├── home.json
291
+ │ └── navbar.json
292
+ └── src
293
+ ├── middleware.ts
294
+ ├── app
295
+ │ ├── i18n
296
+ │ │ └── server.ts
297
+ │ └── [locale]
298
+ │ └── home.tsx
299
+ └── components
300
+ └── Navbar
301
+ └── index.tsx
302
+ ```
303
+
304
+ </Tab>
305
+ <Tab label="intlayer" value="intlayer">
306
+
307
+ ```bash
308
+ .
309
+ ├── intlayer.config.ts
310
+ └── src
311
+ ├── middleware.ts
312
+ ├── app
313
+ │ └── [locale]
314
+ │ ├── layout.tsx
315
+ │ └── home
316
+ │ ├── index.tsx
317
+ │ └── index.content.ts
318
+ └── components
319
+ └── Navbar
320
+ ├── index.tsx
321
+ └── index.content.ts
322
+ ```
323
+
324
+ </Tab>
325
+ </Tabs>
326
+
122
327
  ### 6) प्रदर्शन और लोडिंग व्यवहार
123
328
 
124
329
  - **next-intl / next-i18next**: आंशिक नियंत्रण **namespaces** और **route-level splits** के माध्यम से; अनुशासन में कमी होने पर अप्रयुक्त स्ट्रिंग्स के बंडलिंग का जोखिम।
@@ -128,6 +333,358 @@ author: aymericzip
128
333
 
129
334
  ---
130
335
 
336
+ #### सेटअप और कंटेंट लोडिंग
337
+
338
+ जैसा कि पहले उल्लेख किया गया है, आपको अपने कोड में प्रत्येक JSON फाइल को कैसे import किया जाता है इसे optimize करना चाहिए।
339
+ यह महत्वपूर्ण है कि library कंटेंट लोडिंग को कैसे handle करती है।
340
+
341
+ <Tabs defaultTab="next-intl" group='techno'>
342
+ <Tab label="next-i18next" value="next-i18next">
343
+
344
+ ```ts fileName="i18n.config.ts"
345
+ export const locales = ["en", "fr"] as const;
346
+ export type Locale = (typeof locales)[number];
347
+
348
+ export const defaultLocale: Locale = "en";
349
+
350
+ export const rtlLocales = ["ar", "he", "fa", "ur"] as const;
351
+ export const isRtl = (locale: string) =>
352
+ (rtlLocales as readonly string[]).includes(locale);
353
+
354
+ export function localizedPath(locale: string, path: string) {
355
+ return locale === defaultLocale ? path : "/" + locale + path;
356
+ }
357
+
358
+ const ORIGIN = "https://example.com";
359
+ export function abs(locale: string, path: string) {
360
+ return ORIGIN + localizedPath(locale, path);
361
+ }
362
+ ```
363
+
364
+ ```ts fileName="src/app/i18n/server.ts"
365
+ import { createInstance } from "i18next";
366
+ import { initReactI18next } from "react-i18next/initReactI18next";
367
+ import resourcesToBackend from "i18next-resources-to-backend";
368
+ import { defaultLocale } from "@/i18n.config";
369
+
370
+ // src/locales/<locale>/<namespace>.json से JSON resources को लोड करें
371
+ const backend = resourcesToBackend(
372
+ (locale: string, namespace: string) =>
373
+ import(`../../locales/${locale}/${namespace}.json`)
374
+ );
375
+
376
+ export async function initI18next(
377
+ locale: string,
378
+ namespaces: string[] = ["common"]
379
+ ) {
380
+ const i18n = createInstance();
381
+ await i18n
382
+ .use(initReactI18next)
383
+ .use(backend)
384
+ .init({
385
+ lng: locale,
386
+ fallbackLng: defaultLocale,
387
+ ns: namespaces,
388
+ defaultNS: "common",
389
+ interpolation: { escapeValue: false },
390
+ react: { useSuspense: false },
391
+ });
392
+ return i18n;
393
+ }
394
+ ```
395
+
396
+ ```tsx fileName="src/components/I18nProvider.tsx"
397
+ "use client";
398
+
399
+ import * as React from "react";
400
+ import { I18nextProvider } from "react-i18next";
401
+ import { createInstance } from "i18next";
402
+ import { initReactI18next } from "react-i18next/initReactI18next";
403
+ import resourcesToBackend from "i18next-resources-to-backend";
404
+ import { defaultLocale } from "@/i18n.config";
405
+
406
+ const backend = resourcesToBackend(
407
+ (locale: string, namespace: string) =>
408
+ import(`../../locales/${locale}/${namespace}.json`)
409
+ );
410
+
411
+ type Props = {
412
+ locale: string;
413
+ namespaces?: string[];
414
+ resources?: Record<string, any>; // { ns: bundle }
415
+ children: React.ReactNode;
416
+ };
417
+
418
+ export default function I18nProvider({
419
+ locale,
420
+ namespaces = ["common"],
421
+ resources,
422
+ children,
423
+ }: Props) {
424
+ const [i18n] = React.useState(() => {
425
+ const i = createInstance();
426
+
427
+ i.use(initReactI18next)
428
+ .use(backend)
429
+ .init({
430
+ lng: locale,
431
+ fallbackLng: defaultLocale,
432
+ ns: namespaces,
433
+ resources: resources ? { [locale]: resources } : undefined,
434
+ defaultNS: "common",
435
+ interpolation: { escapeValue: false },
436
+ react: { useSuspense: false },
437
+ });
438
+
439
+ return i;
440
+ });
441
+
442
+ return <I18nextProvider i18n={i18n}>{children}</I18nextProvider>;
443
+ }
444
+ ```
445
+
446
+ ```tsx fileName="src/app/[locale]/layout.tsx"
447
+ import type { ReactNode } from "react";
448
+ import { locales, defaultLocale, isRtl, type Locale } from "@/i18n.config";
449
+
450
+ export const dynamicParams = false;
451
+
452
+ export function generateStaticParams() {
453
+ return locales.map((locale) => ({ locale }));
454
+ }
455
+
456
+ export default function LocaleLayout({
457
+ children,
458
+ params,
459
+ }: {
460
+ children: ReactNode;
461
+ params: { locale: string };
462
+ }) {
463
+ const locale: Locale = (locales as readonly string[]).includes(params.locale)
464
+ ? params.locale
465
+ : defaultLocale;
466
+
467
+ const dir = isRtl(locale) ? "rtl" : "ltr";
468
+
469
+ return (
470
+ <html lang={locale} dir={dir}>
471
+ <body>{children}</body>
472
+ </html>
473
+ );
474
+ }
475
+ ```
476
+
477
+ ```tsx fileName="src/app/[locale]/about.tsx"
478
+ import I18nProvider from "@/components/I18nProvider";
479
+ import { initI18next } from "@/app/i18n/server";
480
+ import type { Locale } from "@/i18n.config";
481
+ import ClientComponent from "@/components/ClientComponent";
482
+ import ServerComponent from "@/components/ServerComponent";
483
+
484
+ // पेज के लिए static rendering को force करें
485
+ export const dynamic = "force-static";
486
+
487
+ export default async function AboutPage({
488
+ params: { locale },
489
+ }: {
490
+ params: { locale: Locale };
491
+ }) {
492
+ const namespaces = ["common", "about"] as const;
493
+
494
+ const i18n = await initI18next(locale, [...namespaces]);
495
+ const tAbout = i18n.getFixedT(locale, "about");
496
+
497
+ return (
498
+ <I18nProvider locale={locale} namespaces={[...namespaces]}>
499
+ <main>
500
+ <h1>{tAbout("title")}</h1>
501
+
502
+ <ClientComponent />
503
+ <ServerComponent t={tAbout} locale={locale} count={0} />
504
+ </main>
505
+ </I18nProvider>
506
+ );
507
+ }
508
+ ```
509
+
510
+ </Tab>
511
+ <Tab label="next-intl" value="next-intl">
512
+
513
+ ```tsx fileName="src/i18n.ts"
514
+ import { getRequestConfig } from "next-intl/server";
515
+ import { notFound } from "next/navigation";
516
+
517
+ export const locales = ["en", "fr", "es"] as const;
518
+ export const defaultLocale = "en" as const;
519
+
520
+ async function loadMessages(locale: string) {
521
+ // केवल उन namespaces को लोड करें जिनकी आपके layout/pages को जरूरत है
522
+ const [common, about] = await Promise.all([
523
+ import(`../locales/${locale}/common.json`).then((m) => m.default),
524
+ import(`../locales/${locale}/about.json`).then((m) => m.default),
525
+ ]);
526
+
527
+ return { common, about } as const;
528
+ }
529
+
530
+ export default getRequestConfig(async ({ locale }) => {
531
+ if (!locales.includes(locale)) notFound();
532
+
533
+ return {
534
+ messages: await loadMessages(locale),
535
+ };
536
+ });
537
+ ```
538
+
539
+ ```tsx fileName="src/app/[locale]/layout.tsx"
540
+ import type { ReactNode } from "react";
541
+ import { locales } from "@/i18n";
542
+ import {
543
+ getLocaleDirection,
544
+ unstable_setRequestLocale,
545
+ } from "next-intl/server";
546
+
547
+ export const dynamic = "force-static";
548
+
549
+ export function generateStaticParams() {
550
+ return locales.map((locale) => ({ locale }));
551
+ }
552
+
553
+ export default async function LocaleLayout({
554
+ children,
555
+ params,
556
+ }: {
557
+ children: ReactNode;
558
+ params: Promise<{ locale: string }>;
559
+ }) {
560
+ const { locale } = await params;
561
+
562
+ // इस server render (RSC) के लिए active request locale को set करें
563
+ unstable_setRequestLocale(locale);
564
+
565
+ const dir = getLocaleDirection(locale);
566
+
567
+ return (
568
+ <html lang={locale} dir={dir}>
569
+ <body>{children}</body>
570
+ </html>
571
+ );
572
+ }
573
+ ```
574
+
575
+ ```tsx fileName="src/app/[locale]/about/page.tsx"
576
+ import { getTranslations, getMessages, getFormatter } from "next-intl/server";
577
+ import { NextIntlClientProvider } from "next-intl";
578
+ import pick from "lodash/pick";
579
+ import ServerComponent from "@/components/ServerComponent";
580
+ import ClientComponentExample from "@/components/ClientComponentExample";
581
+
582
+ export const dynamic = "force-static";
583
+
584
+ export default async function AboutPage({
585
+ params,
586
+ }: {
587
+ params: Promise<{ locale: string }>;
588
+ }) {
589
+ const { locale } = await params;
590
+
591
+ // Messages को server-side पर लोड किया जाता है। केवल आवश्यक चीजें ही client को भेजें।
592
+ const messages = await getMessages();
593
+ const clientMessages = pick(messages, ["common", "about"]);
594
+
595
+ // पूरी तरह से server-side translations/formatting
596
+ const tAbout = await getTranslations("about");
597
+ const tCounter = await getTranslations("about.counter");
598
+ const format = await getFormatter();
599
+
600
+ const initialFormattedCount = format.number(0);
601
+
602
+ return (
603
+ <NextIntlClientProvider locale={locale} messages={clientMessages}>
604
+ <main>
605
+ <h1>{tAbout("title")}</h1>
606
+ <ClientComponentExample />
607
+ <ServerComponent
608
+ formattedCount={initialFormattedCount}
609
+ label={tCounter("label")}
610
+ increment={tCounter("increment")}
611
+ />
612
+ </main>
613
+ </NextIntlClientProvider>
614
+ );
615
+ }
616
+ ```
617
+
618
+ </Tab>
619
+ <Tab label="intlayer" value="intlayer">
620
+
621
+ ```tsx fileName="intlayer.config.ts"
622
+ import { type IntlayerConfig, Locales } from "intlayer";
623
+
624
+ const config: IntlayerConfig = {
625
+ internationalization: {
626
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
627
+ defaultLocale: Locales.ENGLISH,
628
+ },
629
+ };
630
+
631
+ export default config;
632
+ ```
633
+
634
+ ```tsx fileName="src/app/[locale]/layout.tsx"
635
+ import { getHTMLTextDir } from "intlayer";
636
+ import {
637
+ IntlayerClientProvider,
638
+ generateStaticParams,
639
+ type NextLayoutIntlayer,
640
+ } from "next-intlayer";
641
+
642
+ export const dynamic = "force-static";
643
+
644
+ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
645
+ const { locale } = await params;
646
+
647
+ return (
648
+ <html lang={locale} dir={getHTMLTextDir(locale)}>
649
+ <body>
650
+ <IntlayerClientProvider locale={locale}>
651
+ {children}
652
+ </IntlayerClientProvider>
653
+ </body>
654
+ </html>
655
+ );
656
+ };
657
+
658
+ export default LandingLayout;
659
+ ```
660
+
661
+ ```tsx fileName="src/app/[locale]/about/page.tsx"
662
+ import { PageContent } from "@components/PageContent";
663
+ import type { NextPageIntlayer } from "next-intlayer";
664
+ import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
665
+ import { ClientComponent, ServerComponent } from "@components";
666
+
667
+ const LandingPage: NextPageIntlayer = async ({ params }) => {
668
+ const { locale } = await params;
669
+ const { title } = useIntlayer("about", locale);
670
+
671
+ return (
672
+ <IntlayerServerProvider locale={locale}>
673
+ <main>
674
+ <h1>{title}</h1>
675
+ <ClientComponent />
676
+ <ServerComponent />
677
+ </main>
678
+ </IntlayerServerProvider>
679
+ );
680
+ };
681
+
682
+ export default LandingPage;
683
+ ```
684
+
685
+ </Tab>
686
+ </Tabs>
687
+
131
688
  ### 7) DX, टूलिंग और रखरखाव
132
689
 
133
690
  - **next-intl / next-i18next**: आप आमतौर पर अनुवाद और संपादकीय वर्कफ़्लोज़ के लिए बाहरी प्लेटफार्मों को जोड़ेंगे।
@@ -137,6 +694,169 @@ author: aymericzip
137
694
 
138
695
  ---
139
696
 
697
+ ### क्लाइंट कंपोनेंट में उपयोग
698
+
699
+ आइए एक क्लाइंट कंपोनेंट का एक उदाहरण लें जो एक काउंटर रेंडर करता है।
700
+
701
+ <Tabs defaultTab="next-intl" group='techno'>
702
+ <Tab label="next-i18next" value="next-i18next">
703
+
704
+ **अनुवाद (एक JSON प्रति namespace `src/locales/...` के तहत)**
705
+
706
+ ```json fileName="src/locales/en/about.json"
707
+ {
708
+ "title": "About",
709
+ "description": "About page description",
710
+ "counter": {
711
+ "label": "Counter",
712
+ "increment": "Increment"
713
+ }
714
+ }
715
+ ```
716
+
717
+ ```json fileName="src/locales/fr/about.json"
718
+ {
719
+ "title": "À propos",
720
+ "description": "Description de la page À propos",
721
+ "counter": {
722
+ "label": "Compteur",
723
+ "increment": "Incrémenter"
724
+ }
725
+ }
726
+ ```
727
+
728
+ **क्लाइंट कंपोनेंट (केवल आवश्यक namespace लोड करता है)**
729
+
730
+ ```tsx fileName="src/components/ClientComponent.tsx"
731
+ "use client";
732
+
733
+ import React, { useState } from "react";
734
+ import { useTranslation } from "react-i18next";
735
+
736
+ const ClientComponent = () => {
737
+ const { t, i18n } = useTranslation("about");
738
+ const [count, setCount] = useState(0);
739
+
740
+ const numberFormat = new Intl.NumberFormat(i18n.language);
741
+
742
+ return (
743
+ <div>
744
+ <p>{numberFormat.format(count)}</p>
745
+ <button
746
+ aria-label={t("counter.label")}
747
+ onClick={() => setCount((c) => c + 1)}
748
+ >
749
+ {t("counter.increment")}
750
+ </button>
751
+ </div>
752
+ );
753
+ };
754
+
755
+ export default ClientComponent;
756
+ ```
757
+
758
+ > सुनिश्चित करें कि पेज/प्रोवाइडर केवल आवश्यक namespaces शामिल करता है (जैसे `about`)।
759
+ > यदि आप React < 19 का उपयोग कर रहे हैं, तो भारी formatters जैसे `Intl.NumberFormat` को memoize करें।
760
+
761
+ </Tab>
762
+ <Tab label="next-intl" value="next-intl">
763
+
764
+ **अनुवाद (आकृति का पुन: उपयोग; उन्हें next-intl संदेशों में अपनी पसंद के अनुसार लोड करें)**
765
+
766
+ ```json fileName="locales/en/about.json"
767
+ {
768
+ "counter": {
769
+ "label": "Counter",
770
+ "increment": "Increment"
771
+ }
772
+ }
773
+ ```
774
+
775
+ ```json fileName="locales/fr/about.json"
776
+ {
777
+ "counter": {
778
+ "label": "Compteur",
779
+ "increment": "Incrémenter"
780
+ }
781
+ }
782
+ ```
783
+
784
+ **क्लाइंट कंपोनेंट**
785
+
786
+ ```tsx fileName="src/components/ClientComponentExample.tsx"
787
+ "use client";
788
+
789
+ import React, { useState } from "react";
790
+ import { useTranslations, useFormatter } from "next-intl";
791
+
792
+ const ClientComponentExample = () => {
793
+ // नेस्टेड ऑब्जेक्ट के लिए सीधे स्कोप करें
794
+ const t = useTranslations("about.counter");
795
+ const format = useFormatter();
796
+ const [count, setCount] = useState(0);
797
+
798
+ return (
799
+ <div>
800
+ <p>{format.number(count)}</p>
801
+ <button
802
+ aria-label={t("label")}
803
+ onClick={() => setCount((count) => count + 1)}
804
+ >
805
+ {t("increment")}
806
+ </button>
807
+ </div>
808
+ );
809
+ };
810
+ ```
811
+
812
+ > पेज क्लाइंट संदेश पर "about" संदेश जोड़ना न भूलें
813
+
814
+ </Tab>
815
+ <Tab label="intlayer" value="intlayer">
816
+
817
+ **सामग्री**
818
+
819
+ ```ts fileName="src/components/ClientComponentExample/index.content.ts"
820
+ import { t, type Dictionary } from "intlayer";
821
+
822
+ const counterContent = {
823
+ key: "counter",
824
+ content: {
825
+ label: t({ hi: "काउंटर", en: "Counter", fr: "Compteur" }),
826
+ increment: t({ hi: "वृद्धि", en: "Increment", fr: "Incrémenter" }),
827
+ },
828
+ } satisfies Dictionary;
829
+
830
+ export default counterContent;
831
+ ```
832
+
833
+ **क्लाइंट कंपोनेंट**
834
+
835
+ ```tsx fileName="src/components/ClientComponentExample/index.tsx"
836
+ "use client";
837
+
838
+ import React, { useState } from "react";
839
+ import { useNumber, useIntlayer } from "next-intlayer";
840
+
841
+ const ClientComponentExample = () => {
842
+ const [count, setCount] = useState(0);
843
+ const { label, increment } = useIntlayer("counter"); // strings return करता है
844
+ const { number } = useNumber();
845
+
846
+ return (
847
+ <div>
848
+ <p>{number(count)}</p>
849
+ <button aria-label={label} onClick={() => setCount((count) => count + 1)}>
850
+ {increment}
851
+ </button>
852
+ </div>
853
+ );
854
+ };
855
+ ```
856
+
857
+ </Tab>
858
+ </Tabs>
859
+
140
860
  ## कब किसे चुनें?
141
861
 
142
862
  - **next-intl चुनें** यदि आप एक **न्यूनतम** समाधान चाहते हैं, आप केंद्रीकृत कैटलॉग्स के साथ सहज हैं, और आपका ऐप **छोटा से मध्यम आकार** का है।
@@ -145,6 +865,542 @@ author: aymericzip
145
865
 
146
866
  ---
147
867
 
868
+ ### सर्वर कंपोनेंट में उपयोग
869
+
870
+ हम एक UI कंपोनेंट के मामले को लेंगे। यह कंपोनेंट एक सर्वर कंपोनेंट है, और एक क्लाइंट कंपोनेंट के चाइल्ड के रूप में डाला जा सकता है। (page (server component) -> client component -> server component)। जैसा कि यह कंपोनेंट क्लाइंट कंपोनेंट के चाइल्ड के रूप में डाला जा सकता है, यह async नहीं हो सकता है।
871
+
872
+ <Tabs defaultTab="next-intl" group='techno'>
873
+ <Tab label="next-i18next" value="next-i18next">
874
+
875
+ ```tsx fileName="src/components/ServerComponent.tsx"
876
+ type ServerComponentProps = {
877
+ t: (key: string) => string;
878
+ locale: string;
879
+ count: number;
880
+ };
881
+
882
+ const ServerComponent = ({ t, locale, count }: ServerComponentProps) => {
883
+ // संख्या को फॉर्मेट करें
884
+ const formatted = new Intl.NumberFormat(locale).format(count);
885
+
886
+ return (
887
+ <div>
888
+ <p>{formatted}</p>
889
+ <button aria-label={t("counter.label")}>{t("counter.increment")}</button>
890
+ </div>
891
+ );
892
+ };
893
+
894
+ export default ServerComponent;
895
+ ```
896
+
897
+ </Tab>
898
+ <Tab label="next-intl" value="next-intl">
899
+
900
+ ```tsx fileName="src/components/ServerComponent.tsx"
901
+ type ServerComponentProps = {
902
+ t: (key: string) => string;
903
+ locale: string;
904
+ count: number;
905
+ formatter: Intl.NumberFormat;
906
+ };
907
+
908
+ const ServerComponent = ({
909
+ t,
910
+ locale,
911
+ count,
912
+ formatter,
913
+ }: ServerComponentProps) => {
914
+ // फॉर्मेटर का उपयोग करके संख्या को फॉर्मेट करें
915
+ const formatted = formatter.format(count);
916
+
917
+ return (
918
+ <div>
919
+ <p>{formatted}</p>
920
+ <button aria-label={t("counter.label")}>{t("counter.increment")}</button>
921
+ </div>
922
+ );
923
+ };
924
+
925
+ export default ServerComponent;
926
+ ```
927
+
928
+ > जैसा कि सर्वर कंपोनेंट async नहीं हो सकता है, आपको translations और formatter फ़ंक्शन को props के रूप में पास करने की आवश्यकता है।
929
+ >
930
+ > आपके page / layout में:
931
+ >
932
+ > - `import { getTranslations, getFormatter } from "next-intl/server";`
933
+ > - `const t = await getTranslations("about.counter");`
934
+ > - `const formatter = await getFormatter().then((formatter) => formatter.number());`
935
+
936
+ </Tab>
937
+ <Tab label="intlayer" value="intlayer">
938
+
939
+ ```tsx fileName="src/components/ServerComponent.tsx"
940
+ import { useIntlayer, useNumber } from "next-intlayer/server";
941
+
942
+ type ServerComponentProps = {
943
+ count: number;
944
+ };
945
+
946
+ const ServerComponent = ({ count }: ServerComponentProps) => {
947
+ // counter से translations प्राप्त करें
948
+ const { label, increment } = useIntlayer("counter");
949
+ // number फॉर्मेटर प्राप्त करें
950
+ const { number } = useNumber();
951
+
952
+ return (
953
+ <div>
954
+ <p>{number(count)}</p>
955
+ <button aria-label={label}>{increment}</button>
956
+ </div>
957
+ );
958
+ };
959
+ ```
960
+
961
+ </Tab>
962
+ </Tabs>
963
+
964
+ > Intlayer `next-intlayer/server` के माध्यम से **server-safe** hooks को expose करता है। काम करने के लिए, `useIntlayer` और `useNumber` hooks-like syntax का उपयोग करते हैं, जो क्लाइंट hooks के समान हैं, लेकिन server context (`IntlayerServerProvider`) पर निर्भर हैं।
965
+
966
+ ### मेटाडेटा / साइटमैप / रोबोट्स
967
+
968
+ content का अनुवाद करना बहुत अच्छा है। लेकिन लोग अक्सर भूल जाते हैं कि internationalization का मुख्य लक्ष्य आपकी website को दुनिया के लिए अधिक दृश्यमान बनाना है। I18n आपकी website visibility में सुधार के लिए एक अद्भुत साधन है।
969
+
970
+ यहाँ बहुभाषी SEO के संबंध में अच्छी practices की एक सूची दी गई है।
971
+
972
+ - `<head>` tag में hreflang मेटा tags सेट करें
973
+ > यह search engines को समझने में मदद करता है कि पृष्ठ पर कौन सी भाषाएं उपलब्ध हैं
974
+ - `http://www.w3.org/1999/xhtml` XML schema का उपयोग करके sitemap.xml में सभी पृष्ठों के अनुवाद सूचीबद्ध करें
975
+ >
976
+ - robots.txt से prefixed pages को exclude करना न भूलें (उदा. `/dashboard`, `/fr/dashboard`, `/es/dashboard`)
977
+ >
978
+ - सबसे localized page पर redirect करने के लिए custom Link component का उपयोग करें (उदा. फ्रेंच में `<a href="/fr/about">A propos</a>` )
979
+ >
980
+
981
+ Developers अक्सर locales के across अपने पृष्ठों को ठीक से reference करना भूल जाते हैं।
982
+
983
+ <Tabs defaultTab="next-intl" group='techno'>
984
+
985
+ <Tab label="next-i18next" value="next-i18next">
986
+
987
+ ```ts fileName="i18n.config.ts"
988
+ export const locales = ["en", "fr"] as const;
989
+ export type Locale = (typeof locales)[number];
990
+ export const defaultLocale: Locale = "en";
991
+
992
+ export function localizedPath(locale: string, path: string) {
993
+ return locale === defaultLocale ? path : "/" + locale + path;
994
+ }
995
+
996
+ const ORIGIN = "https://example.com";
997
+ export function abs(locale: string, path: string) {
998
+ return ORIGIN + localizedPath(locale, path);
999
+ }
1000
+ ```
1001
+
1002
+ ```tsx fileName="src/app/[locale]/about/layout.tsx"
1003
+ import type { Metadata } from "next";
1004
+ import { locales, defaultLocale, localizedPath } from "@/i18n.config";
1005
+
1006
+ type GenerateMetadataParams = {
1007
+ params: Promise<{
1008
+ locale: string;
1009
+ }>;
1010
+ };
1011
+
1012
+ export const generateMetadata = async ({
1013
+ params,
1014
+ }: GenerateMetadataParams): Promise<Metadata> => {
1015
+ const { locale } = await params;
1016
+
1017
+ // src/locales से सही JSON bundle import करें
1018
+ const messages = (await import("@/locales/" + locale + "/about.json"))
1019
+ .default;
1020
+
1021
+ const languages = Object.fromEntries(
1022
+ locales.map((locale) => [locale, localizedPath(locale, "/about")])
1023
+ );
1024
+
1025
+ return {
1026
+ title: messages.title,
1027
+ description: messages.description,
1028
+ alternates: {
1029
+ canonical: localizedPath(locale, "/about"),
1030
+ languages: { ...languages, "x-default": "/about" },
1031
+ },
1032
+ };
1033
+ };
1034
+
1035
+ export default async function AboutPage() {
1036
+ return <h1>About</h1>;
1037
+ }
1038
+ ```
1039
+
1040
+ ```ts fileName="src/app/sitemap.ts"
1041
+ import type { MetadataRoute } from "next";
1042
+ import { locales, defaultLocale, abs } from "@/i18n.config";
1043
+
1044
+ export const sitemap = (): MetadataRoute.Sitemap => {
1045
+ const languages = Object.fromEntries(
1046
+ locales.map((locale) => [locale, abs(locale, "/about")])
1047
+ );
1048
+ return [
1049
+ {
1050
+ url: abs(defaultLocale, "/about"),
1051
+ lastModified: new Date(),
1052
+ changeFrequency: "monthly",
1053
+ priority: 0.7,
1054
+ alternates: { languages },
1055
+ },
1056
+ ];
1057
+ };
1058
+ ```
1059
+
1060
+ ```ts fileName="src/app/robots.ts"
1061
+ import type { MetadataRoute } from "next";
1062
+ import { locales, defaultLocale, localizedPath } from "@/i18n.config";
1063
+
1064
+ const ORIGIN = "https://example.com";
1065
+
1066
+ const expandAllLocales = (path: string) => [
1067
+ localizedPath(defaultLocale, path),
1068
+ ...locales
1069
+ .filter((locale) => locale !== defaultLocale)
1070
+ .map((locale) => localizedPath(locale, path)),
1071
+ ];
1072
+
1073
+ export const robots = (): MetadataRoute.Robots => {
1074
+ const disallow = [
1075
+ ...expandAllLocales("/dashboard"),
1076
+ ...expandAllLocales("/admin"),
1077
+ ];
1078
+
1079
+ return {
1080
+ rules: { userAgent: "*", allow: ["/"], disallow },
1081
+ host: ORIGIN,
1082
+ sitemap: ORIGIN + "/sitemap.xml",
1083
+ };
1084
+ };
1085
+ ```
1086
+
1087
+ </Tab>
1088
+ <Tab label="next-intl" value="next-intl">
1089
+
1090
+ ```tsx fileName="src/app/[locale]/about/layout.tsx"
1091
+ import type { Metadata } from "next";
1092
+ import { locales, defaultLocale } from "@/i18n";
1093
+ import { getTranslations } from "next-intl/server";
1094
+
1095
+ const localizedPath = (locale: string, path: string) => {
1096
+ return locale === defaultLocale ? path : "/" + locale + path;
1097
+ };
1098
+
1099
+ type GenerateMetadataParams = {
1100
+ params: Promise<{
1101
+ locale: string;
1102
+ }>;
1103
+ };
1104
+
1105
+ export const generateMetadata = async ({
1106
+ params,
1107
+ }: GenerateMetadataParams): Promise<Metadata> => {
1108
+ const { locale } = await params;
1109
+ const t = await getTranslations({ locale, namespace: "about" });
1110
+
1111
+ const url = "/about";
1112
+ const languages = Object.fromEntries(
1113
+ locales.map((locale) => [locale, localizedPath(locale, url)])
1114
+ );
1115
+
1116
+ return {
1117
+ title: t("title"),
1118
+ description: t("description"),
1119
+ alternates: {
1120
+ canonical: localizedPath(locale, url),
1121
+ languages: { ...languages, "x-default": url },
1122
+ },
1123
+ };
1124
+ };
1125
+
1126
+ // ... बाकी page code
1127
+ ```
1128
+
1129
+ ```tsx fileName="src/app/sitemap.ts"
1130
+ import type { MetadataRoute } from "next";
1131
+ import { locales, defaultLocale } from "@/i18n";
1132
+
1133
+ const origin = "https://example.com";
1134
+
1135
+ const formatterLocalizedPath = (locale: string, path: string) =>
1136
+ locale === defaultLocale ? origin + path : origin + "/" + locale + path;
1137
+
1138
+ export const sitemap = (): MetadataRoute.Sitemap => {
1139
+ const aboutLanguages = Object.fromEntries(
1140
+ locales.map((l) => [l, formatterLocalizedPath(l, "/about")])
1141
+ );
1142
+
1143
+ return [
1144
+ {
1145
+ url: formatterLocalizedPath(defaultLocale, "/about"),
1146
+ lastModified: new Date(),
1147
+ changeFrequency: "monthly",
1148
+ priority: 0.7,
1149
+ alternates: { languages: aboutLanguages },
1150
+ },
1151
+ ];
1152
+ };
1153
+ ```
1154
+
1155
+ ```tsx fileName="src/app/robots.ts"
1156
+ import type { MetadataRoute } from "next";
1157
+ import { locales, defaultLocale } from "@/i18n";
1158
+
1159
+ const origin = "https://example.com";
1160
+ const withAllLocales = (path: string) => [
1161
+ path,
1162
+ ...locales
1163
+ .filter((locale) => locale !== defaultLocale)
1164
+ .map((locale) => "/" + locale + path),
1165
+ ];
1166
+
1167
+ export const robots = (): MetadataRoute.Robots => {
1168
+ const disallow = [
1169
+ ...withAllLocales("/dashboard"),
1170
+ ...withAllLocales("/admin"),
1171
+ ];
1172
+
1173
+ return {
1174
+ rules: { userAgent: "*", allow: ["/"], disallow },
1175
+ host: origin,
1176
+ sitemap: origin + "/sitemap.xml",
1177
+ };
1178
+ };
1179
+ ```
1180
+
1181
+ </Tab>
1182
+ <Tab label="intlayer" value="intlayer">
1183
+
1184
+ ```typescript fileName="src/app/[locale]/about/layout.tsx"
1185
+ import { getIntlayer, getMultilingualUrls } from "intlayer";
1186
+ import type { Metadata } from "next";
1187
+ import type { LocalPromiseParams } from "next-intlayer";
1188
+
1189
+ export const generateMetadata = async ({
1190
+ params,
1191
+ }: LocalPromiseParams): Promise<Metadata> => {
1192
+ const { locale } = await params;
1193
+
1194
+ const metadata = getIntlayer("page-metadata", locale);
1195
+
1196
+ const multilingualUrls = getMultilingualUrls("/about");
1197
+
1198
+ return {
1199
+ ...metadata,
1200
+ alternates: {
1201
+ canonical: multilingualUrls[locale as keyof typeof multilingualUrls],
1202
+ languages: { ...multilingualUrls, "x-default": "/about" },
1203
+ },
1204
+ };
1205
+ };
1206
+
1207
+ // ... बाकी page code
1208
+ ```
1209
+
1210
+ ```tsx fileName="src/app/sitemap.ts"
1211
+ import { getMultilingualUrls } from "intlayer";
1212
+ import type { MetadataRoute } from "next";
1213
+
1214
+ const sitemap = (): MetadataRoute.Sitemap => [
1215
+ {
1216
+ url: "https://example.com/about",
1217
+ alternates: {
1218
+ languages: { ...getMultilingualUrls("https://example.com/about") },
1219
+ },
1220
+ },
1221
+ ];
1222
+ ```
1223
+
1224
+ ```tsx fileName="src/app/robots.ts"
1225
+ import { getMultilingualUrls } from "intlayer";
1226
+ import type { MetadataRoute } from "next";
1227
+
1228
+ const getAllMultilingualUrls = (urls: string[]) =>
1229
+ urls.flatMap((url) => Object.values(getMultilingualUrls(url)) as string[]);
1230
+
1231
+ const robots = (): MetadataRoute.Robots => ({
1232
+ rules: {
1233
+ userAgent: "*",
1234
+ allow: ["/"],
1235
+ disallow: getAllMultilingualUrls(["/dashboard"]),
1236
+ },
1237
+ host: "https://example.com",
1238
+ sitemap: "https://example.com/sitemap.xml",
1239
+ });
1240
+
1241
+ export default robots;
1242
+ ```
1243
+
1244
+ </Tab>
1245
+ </Tabs>
1246
+
1247
+ > Intlayer आपके sitemap के लिए बहुभाषी URLs उत्पन्न करने के लिए एक `getMultilingualUrls` function प्रदान करता है।
1248
+
1249
+ ### लोकेल रूटिंग के लिए Middleware
1250
+
1251
+ <Tabs defaultTab="next-intl" group='techno'>
1252
+ <Tab label="next-i18next" value="next-i18next">
1253
+
1254
+ लोकेल डिटेक्शन और रूटिंग को संभालने के लिए एक middleware जोड़ें:
1255
+
1256
+ ```ts fileName="src/middleware.ts"
1257
+ import { NextResponse, type NextRequest } from "next/server";
1258
+ import { defaultLocale, locales } from "@/i18n.config";
1259
+
1260
+ const PUBLIC_FILE = /\.[^/]+$/; // एक्सटेंशन वाली फाइलों को बाहर करें
1261
+
1262
+ export function middleware(request: NextRequest) {
1263
+ const { pathname } = request.nextUrl;
1264
+
1265
+ if (
1266
+ pathname.startsWith("/_next") ||
1267
+ pathname.startsWith("/api") ||
1268
+ pathname.startsWith("/static") ||
1269
+ PUBLIC_FILE.test(pathname)
1270
+ ) {
1271
+ return;
1272
+ }
1273
+
1274
+ const hasLocale = locales.some(
1275
+ (l) => pathname === "/" + l || pathname.startsWith("/" + l + "/")
1276
+ );
1277
+ if (!hasLocale) {
1278
+ const locale = defaultLocale;
1279
+ const url = request.nextUrl.clone();
1280
+ url.pathname = "/" + locale + (pathname === "/" ? "" : pathname);
1281
+ return NextResponse.redirect(url);
1282
+ }
1283
+ }
1284
+
1285
+ export const config = {
1286
+ matcher: [
1287
+ // इन से शुरू होने वाले पाथ और एक्सटेंशन वाली फाइलों को छोड़कर सभी पाथ से मेल खाएं
1288
+ "/((?!api|_next|static|.*\\..*).*)",
1289
+ ],
1290
+ };
1291
+ ```
1292
+
1293
+ </Tab>
1294
+ <Tab label="next-intl" value="next-intl">
1295
+
1296
+ लोकेल डिटेक्शन और रूटिंग को संभालने के लिए एक middleware जोड़ें:
1297
+
1298
+ ```ts fileName="src/middleware.ts"
1299
+ import createMiddleware from "next-intl/middleware";
1300
+ import { locales, defaultLocale } from "@/i18n";
1301
+
1302
+ export default createMiddleware({
1303
+ locales: [...locales],
1304
+ defaultLocale,
1305
+ localeDetection: true,
1306
+ });
1307
+
1308
+ export const config = {
1309
+ // API, Next internals और static assets को छोड़ दें
1310
+ matcher: ["/((?!api|_next|.*\\..*).*)"],
1311
+ };
1312
+ ```
1313
+
1314
+ </Tab>
1315
+ <Tab label="intlayer" value="intlayer">
1316
+
1317
+ Intlayer `next-intlayer` package कॉन्फ़िगरेशन के माध्यम से built-in middleware हैंडलिंग प्रदान करता है।
1318
+
1319
+ ```ts fileName="src/middleware.ts"
1320
+ import { intlayerProxy } from "next-intlayer/proxy";
1321
+
1322
+ export const middleware = intlayerProxy();
1323
+
1324
+ // यह middleware केवल app डायरेक्टरी में फाइलों पर लागू होता है
1325
+ export const config = {
1326
+ matcher: "/((?!api|_next|static|.*\\..*).*)",
1327
+ };
1328
+ ```
1329
+
1330
+ Middleware की सेटअप `intlayer.config.ts` फाइल में केंद्रीकृत है।
1331
+
1332
+ </Tab>
1333
+ </Tabs>
1334
+
1335
+ ### सेटअप चेकलिस्ट और सर्वोत्तम प्रथाएं
1336
+
1337
+ <Tabs defaultTab="next-intl" group='techno'>
1338
+ <Tab label="next-i18next" value="next-i18next">
1339
+
1340
+ - सुनिश्चित करें कि `lang` और `dir` को `src/app/[locale]/layout.tsx` में रूट `<html>` पर सेट किया गया है।
1341
+ - अनुवादों को नेमस्पेस में विभाजित करें (उदाहरण के लिए `common.json`, `about.json`) `src/locales/<locale>/` के अंतर्गत।
1342
+ - क्लाइंट घटकों में `useTranslation('<ns>')` का उपयोग करके और `I18nProvider` को समान नेमस्पेस के साथ स्कोप करके केवल आवश्यक नेमस्पेस लोड करें।
1343
+ - पेजों को जहां संभव हो स्टैटिक रखें: पेजों पर `export const dynamic = 'force-static'` निर्यात करें; `dynamicParams = false` सेट करें और `generateStaticParams` को लागू करें।
1344
+ - क्लाइंट सीमाओं के तहत नेस्टेड सिंक सर्वर घटकों का उपयोग करें पहले से गणना की गई स्ट्रिंग्स या `t` फ़ंक्शन और `locale` को पास करके।
1345
+ - SEO के लिए, मेटाडेटा में `alternates.languages` सेट करें, `sitemap.ts` में स्थानीयकृत URLs की सूची बनाएं, और `robots.ts` में डुप्लिकेट स्थानीयकृत मार्गों को अनुमति न दें।
1346
+ - लोकेल-जागरूक फॉर्मेटर्स (उदाहरण के लिए, `Intl.NumberFormat(locale)`) को वरीयता दें और यदि React < 19 का उपयोग कर रहे हैं तो उन्हें क्लाइंट पर मेमोइज़ करें।
1347
+
1348
+ </Tab>
1349
+ <Tab label="next-intl" value="next-intl">
1350
+
1351
+ - **HTML `lang` और `dir` सेट करें**: `src/app/[locale]/layout.tsx` में, `getLocaleDirection(locale)` के माध्यम से `dir` की गणना करें और `<html lang={locale} dir={dir}>` सेट करें।
1352
+ - **नेमस्पेस द्वारा संदेशों को विभाजित करें**: प्रति लोकेल और नेमस्पेस JSON को व्यवस्थित करें (उदाहरण के लिए, `common.json`, `about.json`)।
1353
+ - **क्लाइंट पेलोड को कम करें**: पेजों पर, केवल आवश्यक नेमस्पेस को `NextIntlClientProvider` को भेजें (उदाहरण के लिए, `pick(messages, ['common', 'about'])`)।
1354
+ - **स्टैटिक पेजों को वरीयता दें**: `export const dynamic = 'force-static'` निर्यात करें और सभी `locales` के लिए स्टैटिक params जेनरेट करें।
1355
+ - **सिंक्रोनस सर्वर घटक**: पूर्व-गणना की गई स्ट्रिंग्स (अनुवादित लेबल, स्वरूपित संख्याएं) को पास करके सर्वर घटकों को सिंक रखें न कि async कॉल या गैर-सीरियलाइज़ेबल फ़ंक्शन।
1356
+
1357
+ </Tab>
1358
+ <Tab label="intlayer" value="intlayer">
1359
+
1360
+ - **मॉड्यूलर सामग्री**: `.content.{ts|js|json}` फाइलों का उपयोग करके सामग्री शब्दकोशों को घटकों के साथ सह-स्थित करें।
1361
+ - **प्रकार सुरक्षा**: कंपाइल-समय सामग्री सत्यापन के लिए TypeScript एकीकरण का उपयोग करें।
1362
+ - **बिल्ड-समय अनुकूलन**: स्वचालित ट्री-शेकिंग और बंडल अनुकूलन के लिए Intlayer के बिल्ड टूल्स का उपयोग करें।
1363
+ - **एकीकृत टूलिंग**: बिल्ट-इन रूटिंग, SEO सहायकों और विजुअल एडिटर समर्थन का लाभ उठाएं।
1364
+
1365
+ </Tab>
1366
+ </Tabs>
1367
+
1368
+ ---
1369
+
1370
+ ## और विजेता है…
1371
+
1372
+ यह सरल नहीं है। प्रत्येक विकल्प के अपने trade-offs हैं। यहाँ मेरा दृष्टिकोण है:
1373
+
1374
+ <Columns>
1375
+ <Column>
1376
+
1377
+ **next-i18next**
1378
+
1379
+ - परिपक्व, सुविधाओं से भरपूर, बहुत सारे कम्युनिटी प्लगइन, लेकिन उच्च सेटअप लागत। यदि आपको **i18next के प्लगइन इकोसिस्टम** की आवश्यकता है (उदाहरण के लिए, प्लगइन के माध्यम से उन्नत ICU नियम) और आपकी टीम पहले से i18next को जानती है, तो लचीलेपन के लिए **अधिक कॉन्फ़िगरेशन** स्वीकार करें।
1380
+
1381
+ </Column>
1382
+ <Column>
1383
+
1384
+ **next-intl**
1385
+
1386
+ - सबसे सरल, हल्का-फुल्का, कम निर्णय आप पर थोपे गए। यदि आप एक **न्यूनतम** समाधान चाहते हैं, केंद्रीभूत कैटलॉग के साथ सहज हैं, और आपका ऐप्लिकेशन **छोटा से मध्यम आकार** का है।
1387
+
1388
+ </Column>
1389
+ <Column>
1390
+
1391
+ **Intlayer**
1392
+
1393
+ - आधुनिक Next.js के लिए निर्मित, मॉड्यूलर कंटेंट, type safety, tooling, और कम boilerplate के साथ। यदि आप **component-scoped content**, **strict TypeScript**, **build-time guarantees**, **tree-shaking**, और **batteries-included** routing/SEO/editor tooling को महत्व देते हैं - विशेष रूप से **Next.js App Router**, design-systems और **बड़े, मॉड्यूलर codebases** के लिए।
1394
+
1395
+ </Column>
1396
+ </Columns>
1397
+
1398
+ यदि आप न्यूनतम सेटअप पसंद करते हैं और कुछ मैनुअल wiring स्वीकार करते हैं, तो next-intl एक अच्छा विकल्प है। यदि आपको सभी सुविधाओं की आवश्यकता है और जटिलता में कोई बुराई नहीं है, तो next-i18next काम करता है। लेकिन यदि आप एक आधुनिक, स्केलेबल, मॉड्यूलर समाधान चाहते हैं जिसमें निर्मित tools हैं, तो Intlayer इसे आपको सीधे प्रदान करने का लक्ष्य रखता है।
1399
+
1400
+ > **एंटरप्राइज टीमों के लिए विकल्प**: यदि आपको एक well-proven समाधान की आवश्यकता है जो **Crowdin**, **Phrase**, या अन्य पेशेवर translation management systems जैसे स्थापित localization platforms के साथ पूरी तरह से काम करता है, तो अपने mature ecosystem और proven integrations के लिए **next-intl** या **next-i18next** पर विचार करें।
1401
+
1402
+ > **Future roadmap**: Intlayer **i18next** और **next-intl** समाधानों के ऊपर काम करने वाले plugins विकसित करने की भी योजना बना रहा है। यह आपको automation, syntax, और content management के लिए Intlayer के फायदे देगा जबकि आपके application code में इन स्थापित समाधानों द्वारा प्रदान की गई security और stability को बनाए रखेगा।
1403
+
148
1404
  ## व्यावहारिक माइग्रेशन नोट्स (next-intl / next-i18next → Intlayer)
149
1405
 
150
1406
  - **प्रत्येक फीचर से शुरू करें**: एक बार में एक रूट या कंपोनेंट को **स्थानीय शब्दकोशों** में स्थानांतरित करें।