@intlayer/docs 8.11.3 → 8.12.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (924) hide show
  1. package/blog/ar/i18n_using_next-i18next.md +60 -20
  2. package/blog/ar/i18n_using_next-intl.md +51 -17
  3. package/blog/de/i18n_using_next-i18next.md +61 -20
  4. package/blog/de/i18n_using_next-intl.md +51 -17
  5. package/blog/en/i18n_using_next-i18next.md +61 -20
  6. package/blog/en/i18n_using_next-intl.md +51 -17
  7. package/blog/en-GB/i18n_using_next-i18next.md +61 -20
  8. package/blog/en-GB/i18n_using_next-intl.md +51 -17
  9. package/blog/es/i18n_using_next-i18next.md +61 -20
  10. package/blog/es/i18n_using_next-intl.md +52 -17
  11. package/blog/fr/i18n_using_next-i18next.md +61 -20
  12. package/blog/fr/i18n_using_next-intl.md +52 -17
  13. package/blog/hi/i18n_using_next-i18next.md +61 -20
  14. package/blog/hi/i18n_using_next-intl.md +51 -17
  15. package/blog/id/i18n_using_next-i18next.md +61 -20
  16. package/blog/id/i18n_using_next-intl.md +51 -17
  17. package/blog/it/i18n_using_next-i18next.md +61 -20
  18. package/blog/it/i18n_using_next-intl.md +51 -17
  19. package/blog/ja/i18n_using_next-i18next.md +61 -20
  20. package/blog/ja/i18n_using_next-intl.md +52 -17
  21. package/blog/ko/i18n_using_next-i18next.md +61 -20
  22. package/blog/ko/i18n_using_next-intl.md +52 -17
  23. package/blog/pl/i18n_using_next-i18next.md +61 -20
  24. package/blog/pl/i18n_using_next-intl.md +51 -17
  25. package/blog/pt/i18n_using_next-i18next.md +61 -20
  26. package/blog/pt/i18n_using_next-intl.md +51 -17
  27. package/blog/ru/i18n_using_next-i18next.md +61 -20
  28. package/blog/ru/i18n_using_next-intl.md +52 -17
  29. package/blog/tr/i18n_using_next-i18next.md +61 -20
  30. package/blog/tr/i18n_using_next-intl.md +51 -17
  31. package/blog/uk/i18n_using_next-i18next.md +61 -20
  32. package/blog/uk/i18n_using_next-intl.md +51 -17
  33. package/blog/vi/i18n_using_next-i18next.md +61 -20
  34. package/blog/vi/i18n_using_next-intl.md +51 -17
  35. package/blog/zh/i18n_using_next-i18next.md +61 -20
  36. package/blog/zh/i18n_using_next-intl.md +52 -17
  37. package/dist/cjs/common.cjs +1 -1
  38. package/dist/cjs/common.cjs.map +1 -1
  39. package/dist/esm/common.mjs +1 -1
  40. package/dist/esm/common.mjs.map +1 -1
  41. package/docs/ar/cli/build.md +1 -1
  42. package/docs/ar/cli/index.md +1 -1
  43. package/docs/ar/intlayer_with_adonisjs.md +2 -2
  44. package/docs/ar/intlayer_with_analog.md +6 -6
  45. package/docs/ar/intlayer_with_angular_19.md +6 -6
  46. package/docs/ar/intlayer_with_angular_21.md +6 -6
  47. package/docs/ar/intlayer_with_astro.md +55 -56
  48. package/docs/ar/intlayer_with_astro_lit.md +58 -58
  49. package/docs/ar/intlayer_with_astro_preact.md +52 -52
  50. package/docs/ar/intlayer_with_astro_react.md +54 -54
  51. package/docs/ar/intlayer_with_astro_solid.md +54 -54
  52. package/docs/ar/intlayer_with_astro_svelte.md +54 -54
  53. package/docs/ar/intlayer_with_astro_vanilla.md +54 -54
  54. package/docs/ar/intlayer_with_astro_vue.md +54 -54
  55. package/docs/ar/intlayer_with_create_react_app.md +5 -6
  56. package/docs/ar/intlayer_with_express.md +2 -2
  57. package/docs/ar/intlayer_with_fastify.md +2 -2
  58. package/docs/ar/intlayer_with_hono.md +2 -2
  59. package/docs/ar/intlayer_with_lynx+react.md +2 -2
  60. package/docs/ar/intlayer_with_nestjs.md +2 -13
  61. package/docs/ar/intlayer_with_next-i18next.md +2 -2
  62. package/docs/ar/intlayer_with_next-intl.md +2 -2
  63. package/docs/ar/intlayer_with_nextjs_14.md +5 -6
  64. package/docs/ar/intlayer_with_nextjs_15.md +5 -6
  65. package/docs/ar/intlayer_with_nextjs_16.md +2 -2
  66. package/docs/ar/intlayer_with_nextjs_compiler.md +37 -39
  67. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +5 -6
  68. package/docs/ar/intlayer_with_nextjs_page_router.md +5 -6
  69. package/docs/ar/intlayer_with_nuxt.md +33 -33
  70. package/docs/ar/intlayer_with_react_native+expo.md +2 -2
  71. package/docs/ar/intlayer_with_react_router_v7.md +2 -2
  72. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +2 -2
  73. package/docs/ar/intlayer_with_storybook.md +2 -2
  74. package/docs/ar/intlayer_with_svelte_kit.md +15 -15
  75. package/docs/ar/intlayer_with_tanstack+solid.md +6 -6
  76. package/docs/ar/intlayer_with_tanstack.md +13 -13
  77. package/docs/ar/intlayer_with_vanilla.md +5 -6
  78. package/docs/ar/intlayer_with_vite+lit.md +6 -6
  79. package/docs/ar/intlayer_with_vite+preact.md +44 -45
  80. package/docs/ar/intlayer_with_vite+react.md +36 -38
  81. package/docs/ar/intlayer_with_vite+react_compiler.md +5 -6
  82. package/docs/ar/intlayer_with_vite+solid.md +29 -30
  83. package/docs/ar/intlayer_with_vite+svelte.md +16 -17
  84. package/docs/ar/intlayer_with_vite+vanilla.md +5 -6
  85. package/docs/ar/intlayer_with_vite+vue.md +58 -59
  86. package/docs/ar/introduction.md +43 -28
  87. package/docs/bn/cli/index.md +1 -1
  88. package/docs/bn/intlayer_with_angular_21.md +2 -2
  89. package/docs/bn/intlayer_with_fastify.md +2 -2
  90. package/docs/bn/intlayer_with_hono.md +2 -2
  91. package/docs/bn/intlayer_with_storybook.md +2 -2
  92. package/docs/bn/intlayer_with_vanilla.md +2 -2
  93. package/docs/bn/intlayer_with_vite+lit.md +2 -2
  94. package/docs/bn/intlayer_with_vite+vanilla.md +2 -2
  95. package/docs/bn/introduction.md +43 -28
  96. package/docs/cs/cli/index.md +1 -1
  97. package/docs/cs/interest_of_intlayer.md +8 -0
  98. package/docs/cs/intlayer_with_angular_21.md +6 -6
  99. package/docs/cs/intlayer_with_fastify.md +2 -2
  100. package/docs/cs/intlayer_with_hono.md +2 -2
  101. package/docs/cs/intlayer_with_storybook.md +2 -2
  102. package/docs/cs/intlayer_with_vanilla.md +5 -6
  103. package/docs/cs/intlayer_with_vite+lit.md +6 -6
  104. package/docs/cs/intlayer_with_vite+vanilla.md +5 -6
  105. package/docs/cs/introduction.md +43 -28
  106. package/docs/de/cli/build.md +1 -1
  107. package/docs/de/cli/index.md +1 -1
  108. package/docs/de/interest_of_intlayer.md +8 -0
  109. package/docs/de/intlayer_with_adonisjs.md +2 -2
  110. package/docs/de/intlayer_with_analog.md +13 -6
  111. package/docs/de/intlayer_with_angular_19.md +13 -6
  112. package/docs/de/intlayer_with_angular_21.md +13 -6
  113. package/docs/de/intlayer_with_astro.md +62 -56
  114. package/docs/de/intlayer_with_astro_lit.md +65 -58
  115. package/docs/de/intlayer_with_astro_preact.md +59 -52
  116. package/docs/de/intlayer_with_astro_react.md +61 -54
  117. package/docs/de/intlayer_with_astro_solid.md +61 -54
  118. package/docs/de/intlayer_with_astro_svelte.md +61 -54
  119. package/docs/de/intlayer_with_astro_vanilla.md +61 -54
  120. package/docs/de/intlayer_with_astro_vue.md +61 -54
  121. package/docs/de/intlayer_with_create_react_app.md +5 -6
  122. package/docs/de/intlayer_with_express.md +2 -2
  123. package/docs/de/intlayer_with_fastify.md +2 -2
  124. package/docs/de/intlayer_with_hono.md +2 -2
  125. package/docs/de/intlayer_with_lynx+react.md +9 -2
  126. package/docs/de/intlayer_with_nestjs.md +2 -13
  127. package/docs/de/intlayer_with_next-i18next.md +2 -2
  128. package/docs/de/intlayer_with_next-intl.md +2 -2
  129. package/docs/de/intlayer_with_nextjs_14.md +12 -6
  130. package/docs/de/intlayer_with_nextjs_15.md +12 -6
  131. package/docs/de/intlayer_with_nextjs_16.md +77 -72
  132. package/docs/de/intlayer_with_nextjs_compiler.md +5 -6
  133. package/docs/de/intlayer_with_nextjs_no_locale_path.md +12 -6
  134. package/docs/de/intlayer_with_nextjs_page_router.md +12 -6
  135. package/docs/de/intlayer_with_nuxt.md +40 -33
  136. package/docs/de/intlayer_with_react_native+expo.md +9 -2
  137. package/docs/de/intlayer_with_react_router_v7.md +9 -2
  138. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +9 -2
  139. package/docs/de/intlayer_with_storybook.md +9 -2
  140. package/docs/de/intlayer_with_svelte_kit.md +23 -17
  141. package/docs/de/intlayer_with_tanstack+solid.md +13 -6
  142. package/docs/de/intlayer_with_tanstack.md +13 -6
  143. package/docs/de/intlayer_with_vanilla.md +12 -6
  144. package/docs/de/intlayer_with_vite+lit.md +13 -6
  145. package/docs/de/intlayer_with_vite+preact.md +68 -62
  146. package/docs/de/intlayer_with_vite+react.md +60 -55
  147. package/docs/de/intlayer_with_vite+react_compiler.md +5 -6
  148. package/docs/de/intlayer_with_vite+solid.md +53 -47
  149. package/docs/de/intlayer_with_vite+svelte.md +40 -34
  150. package/docs/de/intlayer_with_vite+vanilla.md +12 -6
  151. package/docs/de/intlayer_with_vite+vue.md +60 -54
  152. package/docs/de/introduction.md +43 -28
  153. package/docs/en/cli/build.md +1 -1
  154. package/docs/en/cli/index.md +1 -1
  155. package/docs/en/interest_of_intlayer.md +8 -0
  156. package/docs/en/intlayer_with_adonisjs.md +2 -2
  157. package/docs/en/intlayer_with_analog.md +13 -6
  158. package/docs/en/intlayer_with_angular_19.md +13 -6
  159. package/docs/en/intlayer_with_angular_21.md +13 -6
  160. package/docs/en/intlayer_with_astro.md +62 -56
  161. package/docs/en/intlayer_with_astro_lit.md +65 -58
  162. package/docs/en/intlayer_with_astro_preact.md +65 -58
  163. package/docs/en/intlayer_with_astro_react.md +61 -54
  164. package/docs/en/intlayer_with_astro_solid.md +61 -54
  165. package/docs/en/intlayer_with_astro_svelte.md +61 -54
  166. package/docs/en/intlayer_with_astro_vanilla.md +61 -54
  167. package/docs/en/intlayer_with_astro_vue.md +61 -54
  168. package/docs/en/intlayer_with_create_react_app.md +12 -6
  169. package/docs/en/intlayer_with_express.md +2 -2
  170. package/docs/en/intlayer_with_fastify.md +2 -2
  171. package/docs/en/intlayer_with_hono.md +2 -2
  172. package/docs/en/intlayer_with_lynx+react.md +9 -2
  173. package/docs/en/intlayer_with_nestjs.md +2 -13
  174. package/docs/en/intlayer_with_next-i18next.md +2 -2
  175. package/docs/en/intlayer_with_next-intl.md +2 -2
  176. package/docs/en/intlayer_with_nextjs_14.md +12 -6
  177. package/docs/en/intlayer_with_nextjs_15.md +12 -6
  178. package/docs/en/intlayer_with_nextjs_16.md +12 -6
  179. package/docs/en/intlayer_with_nextjs_compiler.md +5 -6
  180. package/docs/en/intlayer_with_nextjs_no_locale_path.md +12 -6
  181. package/docs/en/intlayer_with_nextjs_page_router.md +12 -6
  182. package/docs/en/intlayer_with_nuxt.md +40 -33
  183. package/docs/en/intlayer_with_react_native+expo.md +9 -2
  184. package/docs/en/intlayer_with_react_router_v7.md +9 -2
  185. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +9 -2
  186. package/docs/en/intlayer_with_storybook.md +9 -2
  187. package/docs/en/intlayer_with_svelte_kit.md +12 -6
  188. package/docs/en/intlayer_with_tanstack+solid.md +13 -6
  189. package/docs/en/intlayer_with_tanstack.md +13 -6
  190. package/docs/en/intlayer_with_vanilla.md +12 -6
  191. package/docs/en/intlayer_with_vite+lit.md +13 -6
  192. package/docs/en/intlayer_with_vite+preact.md +12 -6
  193. package/docs/en/intlayer_with_vite+react.md +12 -6
  194. package/docs/en/intlayer_with_vite+react_compiler.md +5 -6
  195. package/docs/en/intlayer_with_vite+solid.md +12 -6
  196. package/docs/en/intlayer_with_vite+svelte.md +12 -6
  197. package/docs/en/intlayer_with_vite+vanilla.md +12 -6
  198. package/docs/en/intlayer_with_vite+vue.md +12 -6
  199. package/docs/en/introduction.md +43 -28
  200. package/docs/en-GB/cli/build.md +1 -1
  201. package/docs/en-GB/cli/index.md +1 -1
  202. package/docs/en-GB/interest_of_intlayer.md +8 -0
  203. package/docs/en-GB/intlayer_with_adonisjs.md +2 -2
  204. package/docs/en-GB/intlayer_with_analog.md +13 -6
  205. package/docs/en-GB/intlayer_with_angular_19.md +13 -6
  206. package/docs/en-GB/intlayer_with_angular_21.md +13 -6
  207. package/docs/en-GB/intlayer_with_astro.md +62 -56
  208. package/docs/en-GB/intlayer_with_astro_lit.md +65 -58
  209. package/docs/en-GB/intlayer_with_astro_preact.md +59 -52
  210. package/docs/en-GB/intlayer_with_astro_react.md +61 -54
  211. package/docs/en-GB/intlayer_with_astro_solid.md +61 -54
  212. package/docs/en-GB/intlayer_with_astro_svelte.md +61 -54
  213. package/docs/en-GB/intlayer_with_astro_vanilla.md +61 -54
  214. package/docs/en-GB/intlayer_with_astro_vue.md +61 -54
  215. package/docs/en-GB/intlayer_with_create_react_app.md +5 -6
  216. package/docs/en-GB/intlayer_with_express.md +2 -2
  217. package/docs/en-GB/intlayer_with_fastify.md +2 -2
  218. package/docs/en-GB/intlayer_with_hono.md +2 -2
  219. package/docs/en-GB/intlayer_with_lynx+react.md +9 -2
  220. package/docs/en-GB/intlayer_with_nestjs.md +2 -13
  221. package/docs/en-GB/intlayer_with_next-i18next.md +2 -2
  222. package/docs/en-GB/intlayer_with_next-intl.md +2 -2
  223. package/docs/en-GB/intlayer_with_nextjs_14.md +12 -6
  224. package/docs/en-GB/intlayer_with_nextjs_15.md +12 -6
  225. package/docs/en-GB/intlayer_with_nextjs_16.md +12 -6
  226. package/docs/en-GB/intlayer_with_nextjs_compiler.md +5 -6
  227. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +12 -6
  228. package/docs/en-GB/intlayer_with_nextjs_page_router.md +12 -6
  229. package/docs/en-GB/intlayer_with_nuxt.md +40 -33
  230. package/docs/en-GB/intlayer_with_react_native+expo.md +9 -2
  231. package/docs/en-GB/intlayer_with_react_router_v7.md +9 -2
  232. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +9 -2
  233. package/docs/en-GB/intlayer_with_storybook.md +9 -2
  234. package/docs/en-GB/intlayer_with_svelte_kit.md +13 -6
  235. package/docs/en-GB/intlayer_with_tanstack+solid.md +13 -6
  236. package/docs/en-GB/intlayer_with_tanstack.md +13 -6
  237. package/docs/en-GB/intlayer_with_vanilla.md +12 -6
  238. package/docs/en-GB/intlayer_with_vite+lit.md +13 -6
  239. package/docs/en-GB/intlayer_with_vite+preact.md +13 -6
  240. package/docs/en-GB/intlayer_with_vite+react.md +12 -6
  241. package/docs/en-GB/intlayer_with_vite+react_compiler.md +5 -6
  242. package/docs/en-GB/intlayer_with_vite+solid.md +13 -6
  243. package/docs/en-GB/intlayer_with_vite+svelte.md +88 -82
  244. package/docs/en-GB/intlayer_with_vite+vanilla.md +12 -6
  245. package/docs/en-GB/intlayer_with_vite+vue.md +13 -6
  246. package/docs/en-GB/introduction.md +43 -46
  247. package/docs/es/cli/build.md +1 -1
  248. package/docs/es/cli/index.md +1 -1
  249. package/docs/es/interest_of_intlayer.md +8 -0
  250. package/docs/es/intlayer_with_adonisjs.md +2 -2
  251. package/docs/es/intlayer_with_analog.md +13 -6
  252. package/docs/es/intlayer_with_angular_19.md +13 -6
  253. package/docs/es/intlayer_with_angular_21.md +13 -6
  254. package/docs/es/intlayer_with_astro.md +62 -56
  255. package/docs/es/intlayer_with_astro_lit.md +65 -58
  256. package/docs/es/intlayer_with_astro_preact.md +59 -52
  257. package/docs/es/intlayer_with_astro_react.md +61 -54
  258. package/docs/es/intlayer_with_astro_solid.md +61 -54
  259. package/docs/es/intlayer_with_astro_svelte.md +61 -54
  260. package/docs/es/intlayer_with_astro_vanilla.md +61 -54
  261. package/docs/es/intlayer_with_astro_vue.md +61 -54
  262. package/docs/es/intlayer_with_create_react_app.md +5 -6
  263. package/docs/es/intlayer_with_express.md +2 -2
  264. package/docs/es/intlayer_with_fastify.md +2 -2
  265. package/docs/es/intlayer_with_hono.md +2 -2
  266. package/docs/es/intlayer_with_lynx+react.md +9 -2
  267. package/docs/es/intlayer_with_nestjs.md +2 -13
  268. package/docs/es/intlayer_with_next-i18next.md +2 -2
  269. package/docs/es/intlayer_with_next-intl.md +2 -2
  270. package/docs/es/intlayer_with_nextjs_14.md +12 -6
  271. package/docs/es/intlayer_with_nextjs_15.md +12 -6
  272. package/docs/es/intlayer_with_nextjs_16.md +31 -26
  273. package/docs/es/intlayer_with_nextjs_compiler.md +5 -6
  274. package/docs/es/intlayer_with_nextjs_no_locale_path.md +12 -6
  275. package/docs/es/intlayer_with_nextjs_page_router.md +12 -6
  276. package/docs/es/intlayer_with_nuxt.md +40 -33
  277. package/docs/es/intlayer_with_react_native+expo.md +9 -2
  278. package/docs/es/intlayer_with_react_router_v7.md +9 -2
  279. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +9 -2
  280. package/docs/es/intlayer_with_storybook.md +9 -2
  281. package/docs/es/intlayer_with_svelte_kit.md +12 -6
  282. package/docs/es/intlayer_with_tanstack+solid.md +13 -6
  283. package/docs/es/intlayer_with_tanstack.md +13 -6
  284. package/docs/es/intlayer_with_vanilla.md +12 -6
  285. package/docs/es/intlayer_with_vite+lit.md +13 -6
  286. package/docs/es/intlayer_with_vite+preact.md +12 -6
  287. package/docs/es/intlayer_with_vite+react.md +12 -6
  288. package/docs/es/intlayer_with_vite+react_compiler.md +5 -6
  289. package/docs/es/intlayer_with_vite+solid.md +12 -6
  290. package/docs/es/intlayer_with_vite+svelte.md +12 -6
  291. package/docs/es/intlayer_with_vite+vanilla.md +12 -6
  292. package/docs/es/intlayer_with_vite+vue.md +12 -6
  293. package/docs/es/introduction.md +43 -28
  294. package/docs/fr/cli/build.md +1 -1
  295. package/docs/fr/cli/index.md +1 -1
  296. package/docs/fr/interest_of_intlayer.md +8 -0
  297. package/docs/fr/intlayer_with_adonisjs.md +2 -2
  298. package/docs/fr/intlayer_with_analog.md +13 -6
  299. package/docs/fr/intlayer_with_angular_19.md +13 -6
  300. package/docs/fr/intlayer_with_angular_21.md +13 -6
  301. package/docs/fr/intlayer_with_astro.md +63 -57
  302. package/docs/fr/intlayer_with_astro_lit.md +66 -59
  303. package/docs/fr/intlayer_with_astro_preact.md +66 -59
  304. package/docs/fr/intlayer_with_astro_react.md +62 -55
  305. package/docs/fr/intlayer_with_astro_solid.md +62 -55
  306. package/docs/fr/intlayer_with_astro_svelte.md +62 -55
  307. package/docs/fr/intlayer_with_astro_vanilla.md +62 -55
  308. package/docs/fr/intlayer_with_astro_vue.md +62 -55
  309. package/docs/fr/intlayer_with_create_react_app.md +5 -6
  310. package/docs/fr/intlayer_with_express.md +2 -2
  311. package/docs/fr/intlayer_with_fastify.md +2 -2
  312. package/docs/fr/intlayer_with_hono.md +2 -2
  313. package/docs/fr/intlayer_with_lynx+react.md +9 -2
  314. package/docs/fr/intlayer_with_nestjs.md +2 -13
  315. package/docs/fr/intlayer_with_next-i18next.md +2 -2
  316. package/docs/fr/intlayer_with_next-intl.md +2 -2
  317. package/docs/fr/intlayer_with_nextjs_14.md +12 -6
  318. package/docs/fr/intlayer_with_nextjs_15.md +12 -6
  319. package/docs/fr/intlayer_with_nextjs_16.md +12 -6
  320. package/docs/fr/intlayer_with_nextjs_compiler.md +5 -6
  321. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +12 -6
  322. package/docs/fr/intlayer_with_nextjs_page_router.md +12 -6
  323. package/docs/fr/intlayer_with_nuxt.md +40 -33
  324. package/docs/fr/intlayer_with_react_native+expo.md +9 -2
  325. package/docs/fr/intlayer_with_react_router_v7.md +9 -2
  326. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +9 -2
  327. package/docs/fr/intlayer_with_storybook.md +9 -2
  328. package/docs/fr/intlayer_with_svelte_kit.md +12 -6
  329. package/docs/fr/intlayer_with_tanstack+solid.md +13 -6
  330. package/docs/fr/intlayer_with_tanstack.md +14 -7
  331. package/docs/fr/intlayer_with_vanilla.md +12 -6
  332. package/docs/fr/intlayer_with_vite+lit.md +13 -6
  333. package/docs/fr/intlayer_with_vite+preact.md +12 -6
  334. package/docs/fr/intlayer_with_vite+react.md +12 -6
  335. package/docs/fr/intlayer_with_vite+react_compiler.md +5 -6
  336. package/docs/fr/intlayer_with_vite+solid.md +12 -6
  337. package/docs/fr/intlayer_with_vite+svelte.md +12 -6
  338. package/docs/fr/intlayer_with_vite+vanilla.md +12 -6
  339. package/docs/fr/intlayer_with_vite+vue.md +12 -6
  340. package/docs/fr/introduction.md +43 -28
  341. package/docs/hi/cli/build.md +1 -1
  342. package/docs/hi/cli/index.md +1 -1
  343. package/docs/hi/intlayer_with_adonisjs.md +2 -2
  344. package/docs/hi/intlayer_with_analog.md +6 -6
  345. package/docs/hi/intlayer_with_angular_19.md +6 -6
  346. package/docs/hi/intlayer_with_angular_21.md +6 -6
  347. package/docs/hi/intlayer_with_astro.md +55 -56
  348. package/docs/hi/intlayer_with_astro_lit.md +58 -58
  349. package/docs/hi/intlayer_with_astro_preact.md +52 -52
  350. package/docs/hi/intlayer_with_astro_react.md +54 -54
  351. package/docs/hi/intlayer_with_astro_solid.md +54 -54
  352. package/docs/hi/intlayer_with_astro_svelte.md +54 -54
  353. package/docs/hi/intlayer_with_astro_vanilla.md +54 -54
  354. package/docs/hi/intlayer_with_astro_vue.md +54 -54
  355. package/docs/hi/intlayer_with_create_react_app.md +5 -6
  356. package/docs/hi/intlayer_with_express.md +2 -2
  357. package/docs/hi/intlayer_with_fastify.md +2 -2
  358. package/docs/hi/intlayer_with_hono.md +2 -2
  359. package/docs/hi/intlayer_with_lynx+react.md +2 -2
  360. package/docs/hi/intlayer_with_nestjs.md +2 -13
  361. package/docs/hi/intlayer_with_next-i18next.md +2 -2
  362. package/docs/hi/intlayer_with_next-intl.md +2 -2
  363. package/docs/hi/intlayer_with_nextjs_14.md +5 -6
  364. package/docs/hi/intlayer_with_nextjs_15.md +5 -6
  365. package/docs/hi/intlayer_with_nextjs_16.md +2 -2
  366. package/docs/hi/intlayer_with_nextjs_compiler.md +52 -54
  367. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +5 -6
  368. package/docs/hi/intlayer_with_nextjs_page_router.md +5 -6
  369. package/docs/hi/intlayer_with_nuxt.md +33 -33
  370. package/docs/hi/intlayer_with_react_native+expo.md +2 -2
  371. package/docs/hi/intlayer_with_react_router_v7.md +2 -2
  372. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +2 -2
  373. package/docs/hi/intlayer_with_storybook.md +2 -2
  374. package/docs/hi/intlayer_with_svelte_kit.md +16 -17
  375. package/docs/hi/intlayer_with_tanstack+solid.md +6 -6
  376. package/docs/hi/intlayer_with_tanstack.md +6 -6
  377. package/docs/hi/intlayer_with_vanilla.md +5 -6
  378. package/docs/hi/intlayer_with_vite+lit.md +6 -6
  379. package/docs/hi/intlayer_with_vite+preact.md +61 -62
  380. package/docs/hi/intlayer_with_vite+react.md +53 -55
  381. package/docs/hi/intlayer_with_vite+react_compiler.md +5 -6
  382. package/docs/hi/intlayer_with_vite+solid.md +46 -47
  383. package/docs/hi/intlayer_with_vite+svelte.md +33 -34
  384. package/docs/hi/intlayer_with_vite+vanilla.md +5 -6
  385. package/docs/hi/intlayer_with_vite+vue.md +53 -54
  386. package/docs/hi/introduction.md +43 -28
  387. package/docs/id/cli/build.md +1 -1
  388. package/docs/id/cli/index.md +1 -1
  389. package/docs/id/interest_of_intlayer.md +8 -0
  390. package/docs/id/intlayer_with_adonisjs.md +2 -2
  391. package/docs/id/intlayer_with_analog.md +13 -6
  392. package/docs/id/intlayer_with_angular_19.md +13 -6
  393. package/docs/id/intlayer_with_angular_21.md +13 -6
  394. package/docs/id/intlayer_with_astro.md +62 -56
  395. package/docs/id/intlayer_with_astro_lit.md +65 -58
  396. package/docs/id/intlayer_with_astro_preact.md +59 -52
  397. package/docs/id/intlayer_with_astro_react.md +61 -54
  398. package/docs/id/intlayer_with_astro_solid.md +61 -54
  399. package/docs/id/intlayer_with_astro_svelte.md +61 -54
  400. package/docs/id/intlayer_with_astro_vanilla.md +61 -54
  401. package/docs/id/intlayer_with_astro_vue.md +61 -54
  402. package/docs/id/intlayer_with_create_react_app.md +5 -6
  403. package/docs/id/intlayer_with_express.md +2 -2
  404. package/docs/id/intlayer_with_fastify.md +2 -2
  405. package/docs/id/intlayer_with_hono.md +2 -2
  406. package/docs/id/intlayer_with_lynx+react.md +9 -2
  407. package/docs/id/intlayer_with_nestjs.md +2 -12
  408. package/docs/id/intlayer_with_next-i18next.md +2 -2
  409. package/docs/id/intlayer_with_next-intl.md +2 -2
  410. package/docs/id/intlayer_with_nextjs_14.md +12 -6
  411. package/docs/id/intlayer_with_nextjs_15.md +12 -6
  412. package/docs/id/intlayer_with_nextjs_16.md +9 -2
  413. package/docs/id/intlayer_with_nextjs_compiler.md +74 -77
  414. package/docs/id/intlayer_with_nextjs_no_locale_path.md +12 -6
  415. package/docs/id/intlayer_with_nextjs_page_router.md +12 -6
  416. package/docs/id/intlayer_with_nuxt.md +40 -33
  417. package/docs/id/intlayer_with_react_native+expo.md +9 -2
  418. package/docs/id/intlayer_with_react_router_v7.md +9 -2
  419. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +9 -2
  420. package/docs/id/intlayer_with_storybook.md +9 -2
  421. package/docs/id/intlayer_with_svelte_kit.md +23 -17
  422. package/docs/id/intlayer_with_tanstack+solid.md +13 -6
  423. package/docs/id/intlayer_with_tanstack.md +13 -6
  424. package/docs/id/intlayer_with_vanilla.md +12 -6
  425. package/docs/id/intlayer_with_vite+lit.md +13 -6
  426. package/docs/id/intlayer_with_vite+preact.md +68 -62
  427. package/docs/id/intlayer_with_vite+react.md +60 -55
  428. package/docs/id/intlayer_with_vite+react_compiler.md +5 -6
  429. package/docs/id/intlayer_with_vite+solid.md +53 -47
  430. package/docs/id/intlayer_with_vite+svelte.md +40 -34
  431. package/docs/id/intlayer_with_vite+vanilla.md +12 -6
  432. package/docs/id/intlayer_with_vite+vue.md +60 -54
  433. package/docs/id/introduction.md +43 -28
  434. package/docs/it/cli/build.md +1 -1
  435. package/docs/it/cli/index.md +1 -1
  436. package/docs/it/interest_of_intlayer.md +8 -0
  437. package/docs/it/intlayer_with_adonisjs.md +2 -2
  438. package/docs/it/intlayer_with_analog.md +13 -6
  439. package/docs/it/intlayer_with_angular_19.md +13 -6
  440. package/docs/it/intlayer_with_angular_21.md +13 -6
  441. package/docs/it/intlayer_with_astro.md +62 -56
  442. package/docs/it/intlayer_with_astro_lit.md +65 -58
  443. package/docs/it/intlayer_with_astro_preact.md +59 -52
  444. package/docs/it/intlayer_with_astro_react.md +61 -54
  445. package/docs/it/intlayer_with_astro_solid.md +61 -54
  446. package/docs/it/intlayer_with_astro_svelte.md +61 -54
  447. package/docs/it/intlayer_with_astro_vanilla.md +61 -54
  448. package/docs/it/intlayer_with_astro_vue.md +61 -54
  449. package/docs/it/intlayer_with_create_react_app.md +5 -6
  450. package/docs/it/intlayer_with_express.md +2 -2
  451. package/docs/it/intlayer_with_fastify.md +2 -2
  452. package/docs/it/intlayer_with_hono.md +2 -2
  453. package/docs/it/intlayer_with_lynx+react.md +9 -2
  454. package/docs/it/intlayer_with_nestjs.md +2 -13
  455. package/docs/it/intlayer_with_next-i18next.md +2 -2
  456. package/docs/it/intlayer_with_next-intl.md +2 -2
  457. package/docs/it/intlayer_with_nextjs_14.md +32 -27
  458. package/docs/it/intlayer_with_nextjs_15.md +12 -6
  459. package/docs/it/intlayer_with_nextjs_16.md +9 -2
  460. package/docs/it/intlayer_with_nextjs_compiler.md +52 -54
  461. package/docs/it/intlayer_with_nextjs_no_locale_path.md +12 -6
  462. package/docs/it/intlayer_with_nextjs_page_router.md +12 -6
  463. package/docs/it/intlayer_with_nuxt.md +40 -33
  464. package/docs/it/intlayer_with_react_native+expo.md +9 -2
  465. package/docs/it/intlayer_with_react_router_v7.md +9 -2
  466. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +9 -2
  467. package/docs/it/intlayer_with_storybook.md +9 -2
  468. package/docs/it/intlayer_with_svelte_kit.md +55 -49
  469. package/docs/it/intlayer_with_tanstack+solid.md +13 -6
  470. package/docs/it/intlayer_with_tanstack.md +13 -6
  471. package/docs/it/intlayer_with_vanilla.md +12 -6
  472. package/docs/it/intlayer_with_vite+lit.md +13 -6
  473. package/docs/it/intlayer_with_vite+preact.md +68 -62
  474. package/docs/it/intlayer_with_vite+react.md +60 -55
  475. package/docs/it/intlayer_with_vite+react_compiler.md +5 -6
  476. package/docs/it/intlayer_with_vite+solid.md +53 -47
  477. package/docs/it/intlayer_with_vite+svelte.md +40 -34
  478. package/docs/it/intlayer_with_vite+vanilla.md +12 -6
  479. package/docs/it/intlayer_with_vite+vue.md +82 -76
  480. package/docs/it/introduction.md +43 -28
  481. package/docs/ja/cli/build.md +1 -1
  482. package/docs/ja/cli/index.md +1 -1
  483. package/docs/ja/intlayer_with_adonisjs.md +2 -2
  484. package/docs/ja/intlayer_with_analog.md +6 -6
  485. package/docs/ja/intlayer_with_angular_19.md +6 -6
  486. package/docs/ja/intlayer_with_angular_21.md +6 -6
  487. package/docs/ja/intlayer_with_astro.md +55 -56
  488. package/docs/ja/intlayer_with_astro_lit.md +58 -58
  489. package/docs/ja/intlayer_with_astro_preact.md +58 -58
  490. package/docs/ja/intlayer_with_astro_react.md +54 -54
  491. package/docs/ja/intlayer_with_astro_solid.md +54 -54
  492. package/docs/ja/intlayer_with_astro_svelte.md +54 -54
  493. package/docs/ja/intlayer_with_astro_vanilla.md +54 -54
  494. package/docs/ja/intlayer_with_astro_vue.md +54 -54
  495. package/docs/ja/intlayer_with_create_react_app.md +5 -6
  496. package/docs/ja/intlayer_with_express.md +2 -2
  497. package/docs/ja/intlayer_with_fastify.md +2 -2
  498. package/docs/ja/intlayer_with_hono.md +2 -2
  499. package/docs/ja/intlayer_with_lynx+react.md +2 -2
  500. package/docs/ja/intlayer_with_nestjs.md +2 -13
  501. package/docs/ja/intlayer_with_next-i18next.md +2 -2
  502. package/docs/ja/intlayer_with_next-intl.md +2 -2
  503. package/docs/ja/intlayer_with_nextjs_14.md +5 -6
  504. package/docs/ja/intlayer_with_nextjs_15.md +5 -6
  505. package/docs/ja/intlayer_with_nextjs_16.md +2 -2
  506. package/docs/ja/intlayer_with_nextjs_compiler.md +74 -77
  507. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +5 -6
  508. package/docs/ja/intlayer_with_nextjs_page_router.md +5 -6
  509. package/docs/ja/intlayer_with_nuxt.md +33 -33
  510. package/docs/ja/intlayer_with_react_native+expo.md +2 -2
  511. package/docs/ja/intlayer_with_react_router_v7.md +2 -2
  512. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +2 -2
  513. package/docs/ja/intlayer_with_storybook.md +2 -2
  514. package/docs/ja/intlayer_with_svelte_kit.md +5 -6
  515. package/docs/ja/intlayer_with_tanstack+solid.md +6 -6
  516. package/docs/ja/intlayer_with_tanstack.md +6 -6
  517. package/docs/ja/intlayer_with_vanilla.md +5 -6
  518. package/docs/ja/intlayer_with_vite+lit.md +6 -6
  519. package/docs/ja/intlayer_with_vite+preact.md +5 -6
  520. package/docs/ja/intlayer_with_vite+react.md +2 -2
  521. package/docs/ja/intlayer_with_vite+react_compiler.md +5 -6
  522. package/docs/ja/intlayer_with_vite+solid.md +46 -47
  523. package/docs/ja/intlayer_with_vite+svelte.md +33 -34
  524. package/docs/ja/intlayer_with_vite+vanilla.md +5 -6
  525. package/docs/ja/intlayer_with_vite+vue.md +53 -54
  526. package/docs/ja/introduction.md +43 -28
  527. package/docs/ko/cli/build.md +1 -1
  528. package/docs/ko/cli/index.md +1 -1
  529. package/docs/ko/interest_of_intlayer.md +8 -0
  530. package/docs/ko/intlayer_with_adonisjs.md +2 -2
  531. package/docs/ko/intlayer_with_analog.md +9 -2
  532. package/docs/ko/intlayer_with_angular_19.md +9 -2
  533. package/docs/ko/intlayer_with_angular_21.md +9 -2
  534. package/docs/ko/intlayer_with_astro.md +9 -2
  535. package/docs/ko/intlayer_with_astro_lit.md +9 -2
  536. package/docs/ko/intlayer_with_astro_preact.md +9 -2
  537. package/docs/ko/intlayer_with_astro_react.md +9 -2
  538. package/docs/ko/intlayer_with_astro_solid.md +9 -2
  539. package/docs/ko/intlayer_with_astro_svelte.md +9 -2
  540. package/docs/ko/intlayer_with_astro_vanilla.md +9 -2
  541. package/docs/ko/intlayer_with_astro_vue.md +9 -2
  542. package/docs/ko/intlayer_with_create_react_app.md +5 -6
  543. package/docs/ko/intlayer_with_express.md +2 -2
  544. package/docs/ko/intlayer_with_fastify.md +2 -2
  545. package/docs/ko/intlayer_with_hono.md +2 -2
  546. package/docs/ko/intlayer_with_lynx+react.md +9 -2
  547. package/docs/ko/intlayer_with_nestjs.md +2 -13
  548. package/docs/ko/intlayer_with_next-i18next.md +2 -2
  549. package/docs/ko/intlayer_with_next-intl.md +2 -2
  550. package/docs/ko/intlayer_with_nextjs_14.md +9 -2
  551. package/docs/ko/intlayer_with_nextjs_15.md +9 -2
  552. package/docs/ko/intlayer_with_nextjs_16.md +12 -6
  553. package/docs/ko/intlayer_with_nextjs_compiler.md +5 -6
  554. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +12 -6
  555. package/docs/ko/intlayer_with_nextjs_page_router.md +9 -2
  556. package/docs/ko/intlayer_with_nuxt.md +9 -2
  557. package/docs/ko/intlayer_with_react_native+expo.md +9 -2
  558. package/docs/ko/intlayer_with_react_router_v7.md +113 -106
  559. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +113 -106
  560. package/docs/ko/intlayer_with_storybook.md +9 -2
  561. package/docs/ko/intlayer_with_svelte_kit.md +12 -6
  562. package/docs/ko/intlayer_with_tanstack+solid.md +9 -2
  563. package/docs/ko/intlayer_with_tanstack.md +9 -2
  564. package/docs/ko/intlayer_with_vanilla.md +9 -2
  565. package/docs/ko/intlayer_with_vite+lit.md +9 -2
  566. package/docs/ko/intlayer_with_vite+preact.md +12 -6
  567. package/docs/ko/intlayer_with_vite+react.md +12 -6
  568. package/docs/ko/intlayer_with_vite+react_compiler.md +2 -2
  569. package/docs/ko/intlayer_with_vite+solid.md +12 -6
  570. package/docs/ko/intlayer_with_vite+svelte.md +109 -104
  571. package/docs/ko/intlayer_with_vite+vanilla.md +9 -2
  572. package/docs/ko/intlayer_with_vite+vue.md +12 -6
  573. package/docs/ko/introduction.md +43 -28
  574. package/docs/nl/cli/index.md +1 -1
  575. package/docs/nl/interest_of_intlayer.md +8 -0
  576. package/docs/nl/intlayer_with_angular_21.md +6 -6
  577. package/docs/nl/intlayer_with_fastify.md +2 -2
  578. package/docs/nl/intlayer_with_hono.md +2 -2
  579. package/docs/nl/intlayer_with_storybook.md +2 -2
  580. package/docs/nl/intlayer_with_vanilla.md +5 -6
  581. package/docs/nl/intlayer_with_vite+lit.md +6 -6
  582. package/docs/nl/intlayer_with_vite+vanilla.md +5 -6
  583. package/docs/nl/introduction.md +43 -28
  584. package/docs/pl/cli/build.md +1 -1
  585. package/docs/pl/cli/index.md +1 -1
  586. package/docs/pl/interest_of_intlayer.md +8 -0
  587. package/docs/pl/intlayer_with_adonisjs.md +2 -2
  588. package/docs/pl/intlayer_with_analog.md +6 -6
  589. package/docs/pl/intlayer_with_angular_19.md +6 -6
  590. package/docs/pl/intlayer_with_angular_21.md +6 -6
  591. package/docs/pl/intlayer_with_astro.md +55 -56
  592. package/docs/pl/intlayer_with_astro_lit.md +58 -58
  593. package/docs/pl/intlayer_with_astro_preact.md +52 -52
  594. package/docs/pl/intlayer_with_astro_react.md +54 -54
  595. package/docs/pl/intlayer_with_astro_solid.md +54 -54
  596. package/docs/pl/intlayer_with_astro_svelte.md +54 -54
  597. package/docs/pl/intlayer_with_astro_vanilla.md +54 -54
  598. package/docs/pl/intlayer_with_astro_vue.md +54 -54
  599. package/docs/pl/intlayer_with_create_react_app.md +5 -6
  600. package/docs/pl/intlayer_with_express.md +2 -2
  601. package/docs/pl/intlayer_with_fastify.md +2 -2
  602. package/docs/pl/intlayer_with_hono.md +2 -2
  603. package/docs/pl/intlayer_with_lynx+react.md +2 -2
  604. package/docs/pl/intlayer_with_nestjs.md +2 -12
  605. package/docs/pl/intlayer_with_next-i18next.md +2 -2
  606. package/docs/pl/intlayer_with_next-intl.md +2 -2
  607. package/docs/pl/intlayer_with_nextjs_14.md +5 -6
  608. package/docs/pl/intlayer_with_nextjs_15.md +5 -6
  609. package/docs/pl/intlayer_with_nextjs_16.md +70 -72
  610. package/docs/pl/intlayer_with_nextjs_compiler.md +52 -54
  611. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +5 -6
  612. package/docs/pl/intlayer_with_nextjs_page_router.md +5 -6
  613. package/docs/pl/intlayer_with_nuxt.md +33 -33
  614. package/docs/pl/intlayer_with_react_native+expo.md +2 -2
  615. package/docs/pl/intlayer_with_react_router_v7.md +2 -2
  616. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -2
  617. package/docs/pl/intlayer_with_storybook.md +2 -2
  618. package/docs/pl/intlayer_with_svelte_kit.md +16 -17
  619. package/docs/pl/intlayer_with_tanstack+solid.md +6 -6
  620. package/docs/pl/intlayer_with_tanstack.md +6 -6
  621. package/docs/pl/intlayer_with_vanilla.md +5 -6
  622. package/docs/pl/intlayer_with_vite+lit.md +6 -6
  623. package/docs/pl/intlayer_with_vite+preact.md +61 -62
  624. package/docs/pl/intlayer_with_vite+react.md +53 -55
  625. package/docs/pl/intlayer_with_vite+react_compiler.md +5 -6
  626. package/docs/pl/intlayer_with_vite+solid.md +46 -47
  627. package/docs/pl/intlayer_with_vite+svelte.md +33 -34
  628. package/docs/pl/intlayer_with_vite+vanilla.md +5 -6
  629. package/docs/pl/intlayer_with_vite+vue.md +75 -76
  630. package/docs/pl/introduction.md +43 -28
  631. package/docs/pt/cli/build.md +1 -1
  632. package/docs/pt/cli/index.md +1 -1
  633. package/docs/pt/interest_of_intlayer.md +8 -0
  634. package/docs/pt/intlayer_with_adonisjs.md +2 -2
  635. package/docs/pt/intlayer_with_analog.md +13 -6
  636. package/docs/pt/intlayer_with_angular_19.md +13 -6
  637. package/docs/pt/intlayer_with_angular_21.md +13 -6
  638. package/docs/pt/intlayer_with_astro.md +62 -56
  639. package/docs/pt/intlayer_with_astro_lit.md +65 -58
  640. package/docs/pt/intlayer_with_astro_preact.md +59 -52
  641. package/docs/pt/intlayer_with_astro_react.md +61 -54
  642. package/docs/pt/intlayer_with_astro_solid.md +61 -54
  643. package/docs/pt/intlayer_with_astro_svelte.md +61 -54
  644. package/docs/pt/intlayer_with_astro_vanilla.md +61 -54
  645. package/docs/pt/intlayer_with_astro_vue.md +61 -54
  646. package/docs/pt/intlayer_with_create_react_app.md +5 -6
  647. package/docs/pt/intlayer_with_express.md +2 -2
  648. package/docs/pt/intlayer_with_fastify.md +2 -2
  649. package/docs/pt/intlayer_with_hono.md +2 -2
  650. package/docs/pt/intlayer_with_lynx+react.md +9 -2
  651. package/docs/pt/intlayer_with_nestjs.md +2 -13
  652. package/docs/pt/intlayer_with_next-i18next.md +2 -2
  653. package/docs/pt/intlayer_with_next-intl.md +2 -2
  654. package/docs/pt/intlayer_with_nextjs_14.md +12 -6
  655. package/docs/pt/intlayer_with_nextjs_15.md +12 -6
  656. package/docs/pt/intlayer_with_nextjs_16.md +31 -26
  657. package/docs/pt/intlayer_with_nextjs_compiler.md +5 -6
  658. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +12 -6
  659. package/docs/pt/intlayer_with_nextjs_page_router.md +12 -6
  660. package/docs/pt/intlayer_with_nuxt.md +40 -33
  661. package/docs/pt/intlayer_with_react_native+expo.md +9 -2
  662. package/docs/pt/intlayer_with_react_router_v7.md +9 -2
  663. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +9 -2
  664. package/docs/pt/intlayer_with_storybook.md +9 -2
  665. package/docs/pt/intlayer_with_svelte_kit.md +55 -49
  666. package/docs/pt/intlayer_with_tanstack+solid.md +13 -6
  667. package/docs/pt/intlayer_with_tanstack.md +13 -6
  668. package/docs/pt/intlayer_with_vanilla.md +12 -6
  669. package/docs/pt/intlayer_with_vite+lit.md +13 -6
  670. package/docs/pt/intlayer_with_vite+preact.md +12 -6
  671. package/docs/pt/intlayer_with_vite+react.md +12 -6
  672. package/docs/pt/intlayer_with_vite+react_compiler.md +5 -6
  673. package/docs/pt/intlayer_with_vite+solid.md +12 -6
  674. package/docs/pt/intlayer_with_vite+svelte.md +40 -34
  675. package/docs/pt/intlayer_with_vite+vanilla.md +12 -6
  676. package/docs/pt/intlayer_with_vite+vue.md +12 -6
  677. package/docs/pt/introduction.md +43 -28
  678. package/docs/ru/cli/build.md +1 -1
  679. package/docs/ru/cli/index.md +1 -1
  680. package/docs/ru/interest_of_intlayer.md +8 -0
  681. package/docs/ru/intlayer_with_adonisjs.md +2 -2
  682. package/docs/ru/intlayer_with_analog.md +13 -6
  683. package/docs/ru/intlayer_with_angular_19.md +13 -6
  684. package/docs/ru/intlayer_with_angular_21.md +13 -6
  685. package/docs/ru/intlayer_with_astro.md +62 -56
  686. package/docs/ru/intlayer_with_astro_lit.md +65 -58
  687. package/docs/ru/intlayer_with_astro_preact.md +65 -58
  688. package/docs/ru/intlayer_with_astro_react.md +61 -54
  689. package/docs/ru/intlayer_with_astro_solid.md +61 -54
  690. package/docs/ru/intlayer_with_astro_svelte.md +61 -54
  691. package/docs/ru/intlayer_with_astro_vanilla.md +61 -54
  692. package/docs/ru/intlayer_with_astro_vue.md +61 -54
  693. package/docs/ru/intlayer_with_create_react_app.md +5 -6
  694. package/docs/ru/intlayer_with_express.md +2 -2
  695. package/docs/ru/intlayer_with_fastify.md +2 -2
  696. package/docs/ru/intlayer_with_hono.md +2 -2
  697. package/docs/ru/intlayer_with_lynx+react.md +9 -2
  698. package/docs/ru/intlayer_with_nestjs.md +2 -13
  699. package/docs/ru/intlayer_with_next-i18next.md +2 -2
  700. package/docs/ru/intlayer_with_next-intl.md +2 -2
  701. package/docs/ru/intlayer_with_nextjs_14.md +12 -6
  702. package/docs/ru/intlayer_with_nextjs_15.md +12 -6
  703. package/docs/ru/intlayer_with_nextjs_16.md +77 -72
  704. package/docs/ru/intlayer_with_nextjs_compiler.md +52 -54
  705. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +12 -6
  706. package/docs/ru/intlayer_with_nextjs_page_router.md +12 -6
  707. package/docs/ru/intlayer_with_nuxt.md +40 -33
  708. package/docs/ru/intlayer_with_react_native+expo.md +9 -2
  709. package/docs/ru/intlayer_with_react_router_v7.md +9 -2
  710. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +9 -2
  711. package/docs/ru/intlayer_with_storybook.md +9 -2
  712. package/docs/ru/intlayer_with_svelte_kit.md +23 -17
  713. package/docs/ru/intlayer_with_tanstack+solid.md +13 -6
  714. package/docs/ru/intlayer_with_tanstack.md +13 -6
  715. package/docs/ru/intlayer_with_vanilla.md +12 -6
  716. package/docs/ru/intlayer_with_vite+lit.md +13 -6
  717. package/docs/ru/intlayer_with_vite+preact.md +68 -62
  718. package/docs/ru/intlayer_with_vite+react.md +59 -54
  719. package/docs/ru/intlayer_with_vite+react_compiler.md +5 -6
  720. package/docs/ru/intlayer_with_vite+solid.md +53 -47
  721. package/docs/ru/intlayer_with_vite+svelte.md +40 -34
  722. package/docs/ru/intlayer_with_vite+vanilla.md +12 -6
  723. package/docs/ru/intlayer_with_vite+vue.md +60 -54
  724. package/docs/ru/introduction.md +43 -28
  725. package/docs/tr/cli/build.md +1 -1
  726. package/docs/tr/cli/index.md +1 -1
  727. package/docs/tr/interest_of_intlayer.md +8 -0
  728. package/docs/tr/intlayer_with_adonisjs.md +2 -2
  729. package/docs/tr/intlayer_with_analog.md +13 -6
  730. package/docs/tr/intlayer_with_angular_19.md +13 -6
  731. package/docs/tr/intlayer_with_angular_21.md +13 -6
  732. package/docs/tr/intlayer_with_astro.md +62 -56
  733. package/docs/tr/intlayer_with_astro_lit.md +73 -66
  734. package/docs/tr/intlayer_with_astro_preact.md +67 -60
  735. package/docs/tr/intlayer_with_astro_react.md +69 -62
  736. package/docs/tr/intlayer_with_astro_solid.md +69 -62
  737. package/docs/tr/intlayer_with_astro_svelte.md +69 -62
  738. package/docs/tr/intlayer_with_astro_vanilla.md +69 -62
  739. package/docs/tr/intlayer_with_astro_vue.md +61 -54
  740. package/docs/tr/intlayer_with_create_react_app.md +5 -6
  741. package/docs/tr/intlayer_with_express.md +2 -2
  742. package/docs/tr/intlayer_with_fastify.md +2 -2
  743. package/docs/tr/intlayer_with_hono.md +2 -2
  744. package/docs/tr/intlayer_with_lynx+react.md +9 -2
  745. package/docs/tr/intlayer_with_nestjs.md +2 -13
  746. package/docs/tr/intlayer_with_next-i18next.md +2 -2
  747. package/docs/tr/intlayer_with_next-intl.md +2 -2
  748. package/docs/tr/intlayer_with_nextjs_14.md +5 -6
  749. package/docs/tr/intlayer_with_nextjs_15.md +12 -6
  750. package/docs/tr/intlayer_with_nextjs_16.md +77 -72
  751. package/docs/tr/intlayer_with_nextjs_compiler.md +74 -77
  752. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +12 -6
  753. package/docs/tr/intlayer_with_nextjs_page_router.md +12 -6
  754. package/docs/tr/intlayer_with_nuxt.md +40 -33
  755. package/docs/tr/intlayer_with_react_native+expo.md +9 -2
  756. package/docs/tr/intlayer_with_react_router_v7.md +9 -2
  757. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +9 -2
  758. package/docs/tr/intlayer_with_storybook.md +9 -2
  759. package/docs/tr/intlayer_with_svelte_kit.md +23 -17
  760. package/docs/tr/intlayer_with_tanstack+solid.md +13 -6
  761. package/docs/tr/intlayer_with_tanstack.md +13 -6
  762. package/docs/tr/intlayer_with_vanilla.md +12 -6
  763. package/docs/tr/intlayer_with_vite+lit.md +13 -6
  764. package/docs/tr/intlayer_with_vite+preact.md +68 -62
  765. package/docs/tr/intlayer_with_vite+react.md +60 -55
  766. package/docs/tr/intlayer_with_vite+react_compiler.md +5 -6
  767. package/docs/tr/intlayer_with_vite+solid.md +53 -47
  768. package/docs/tr/intlayer_with_vite+svelte.md +40 -34
  769. package/docs/tr/intlayer_with_vite+vanilla.md +12 -6
  770. package/docs/tr/intlayer_with_vite+vue.md +60 -54
  771. package/docs/tr/introduction.md +43 -28
  772. package/docs/uk/cli/build.md +1 -1
  773. package/docs/uk/cli/index.md +1 -1
  774. package/docs/uk/interest_of_intlayer.md +8 -0
  775. package/docs/uk/intlayer_with_adonisjs.md +2 -2
  776. package/docs/uk/intlayer_with_analog.md +13 -6
  777. package/docs/uk/intlayer_with_angular_19.md +13 -6
  778. package/docs/uk/intlayer_with_angular_21.md +13 -6
  779. package/docs/uk/intlayer_with_astro.md +62 -56
  780. package/docs/uk/intlayer_with_astro_lit.md +65 -58
  781. package/docs/uk/intlayer_with_astro_preact.md +59 -52
  782. package/docs/uk/intlayer_with_astro_react.md +61 -54
  783. package/docs/uk/intlayer_with_astro_solid.md +61 -54
  784. package/docs/uk/intlayer_with_astro_svelte.md +61 -54
  785. package/docs/uk/intlayer_with_astro_vanilla.md +61 -54
  786. package/docs/uk/intlayer_with_astro_vue.md +61 -54
  787. package/docs/uk/intlayer_with_create_react_app.md +5 -6
  788. package/docs/uk/intlayer_with_express.md +2 -2
  789. package/docs/uk/intlayer_with_fastify.md +2 -2
  790. package/docs/uk/intlayer_with_hono.md +2 -2
  791. package/docs/uk/intlayer_with_lynx+react.md +9 -2
  792. package/docs/uk/intlayer_with_nestjs.md +2 -12
  793. package/docs/uk/intlayer_with_next-i18next.md +2 -2
  794. package/docs/uk/intlayer_with_next-intl.md +2 -2
  795. package/docs/uk/intlayer_with_nextjs_14.md +12 -6
  796. package/docs/uk/intlayer_with_nextjs_15.md +12 -6
  797. package/docs/uk/intlayer_with_nextjs_16.md +77 -72
  798. package/docs/uk/intlayer_with_nextjs_compiler.md +74 -77
  799. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +12 -6
  800. package/docs/uk/intlayer_with_nextjs_page_router.md +12 -6
  801. package/docs/uk/intlayer_with_nuxt.md +40 -33
  802. package/docs/uk/intlayer_with_react_native+expo.md +9 -2
  803. package/docs/uk/intlayer_with_react_router_v7.md +9 -2
  804. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +9 -2
  805. package/docs/uk/intlayer_with_storybook.md +9 -2
  806. package/docs/uk/intlayer_with_svelte_kit.md +23 -17
  807. package/docs/uk/intlayer_with_tanstack+solid.md +13 -6
  808. package/docs/uk/intlayer_with_tanstack.md +13 -6
  809. package/docs/uk/intlayer_with_vanilla.md +12 -6
  810. package/docs/uk/intlayer_with_vite+lit.md +13 -6
  811. package/docs/uk/intlayer_with_vite+preact.md +68 -62
  812. package/docs/uk/intlayer_with_vite+react.md +60 -55
  813. package/docs/uk/intlayer_with_vite+react_compiler.md +5 -6
  814. package/docs/uk/intlayer_with_vite+solid.md +53 -47
  815. package/docs/uk/intlayer_with_vite+svelte.md +40 -34
  816. package/docs/uk/intlayer_with_vite+vanilla.md +12 -6
  817. package/docs/uk/intlayer_with_vite+vue.md +60 -54
  818. package/docs/uk/introduction.md +43 -28
  819. package/docs/ur/cli/index.md +1 -1
  820. package/docs/ur/intlayer_with_angular_21.md +6 -6
  821. package/docs/ur/intlayer_with_fastify.md +2 -2
  822. package/docs/ur/intlayer_with_hono.md +2 -2
  823. package/docs/ur/intlayer_with_storybook.md +2 -2
  824. package/docs/ur/intlayer_with_vanilla.md +5 -6
  825. package/docs/ur/intlayer_with_vite+lit.md +6 -6
  826. package/docs/ur/intlayer_with_vite+vanilla.md +5 -6
  827. package/docs/ur/introduction.md +43 -28
  828. package/docs/vi/cli/build.md +1 -1
  829. package/docs/vi/cli/index.md +1 -1
  830. package/docs/vi/interest_of_intlayer.md +8 -0
  831. package/docs/vi/intlayer_with_adonisjs.md +2 -2
  832. package/docs/vi/intlayer_with_analog.md +13 -6
  833. package/docs/vi/intlayer_with_angular_19.md +13 -6
  834. package/docs/vi/intlayer_with_angular_21.md +13 -6
  835. package/docs/vi/intlayer_with_astro.md +62 -56
  836. package/docs/vi/intlayer_with_astro_lit.md +65 -58
  837. package/docs/vi/intlayer_with_astro_preact.md +59 -52
  838. package/docs/vi/intlayer_with_astro_react.md +61 -54
  839. package/docs/vi/intlayer_with_astro_solid.md +61 -54
  840. package/docs/vi/intlayer_with_astro_svelte.md +61 -54
  841. package/docs/vi/intlayer_with_astro_vanilla.md +61 -54
  842. package/docs/vi/intlayer_with_astro_vue.md +61 -54
  843. package/docs/vi/intlayer_with_create_react_app.md +5 -6
  844. package/docs/vi/intlayer_with_express.md +2 -2
  845. package/docs/vi/intlayer_with_fastify.md +2 -2
  846. package/docs/vi/intlayer_with_hono.md +2 -2
  847. package/docs/vi/intlayer_with_lynx+react.md +9 -2
  848. package/docs/vi/intlayer_with_nestjs.md +2 -12
  849. package/docs/vi/intlayer_with_next-i18next.md +2 -2
  850. package/docs/vi/intlayer_with_next-intl.md +2 -2
  851. package/docs/vi/intlayer_with_nextjs_14.md +12 -6
  852. package/docs/vi/intlayer_with_nextjs_15.md +9 -2
  853. package/docs/vi/intlayer_with_nextjs_16.md +77 -72
  854. package/docs/vi/intlayer_with_nextjs_compiler.md +74 -77
  855. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +12 -6
  856. package/docs/vi/intlayer_with_nextjs_page_router.md +12 -6
  857. package/docs/vi/intlayer_with_nuxt.md +40 -33
  858. package/docs/vi/intlayer_with_react_native+expo.md +9 -2
  859. package/docs/vi/intlayer_with_react_router_v7.md +9 -2
  860. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +9 -2
  861. package/docs/vi/intlayer_with_storybook.md +9 -2
  862. package/docs/vi/intlayer_with_svelte_kit.md +23 -17
  863. package/docs/vi/intlayer_with_tanstack+solid.md +13 -6
  864. package/docs/vi/intlayer_with_tanstack.md +13 -6
  865. package/docs/vi/intlayer_with_vanilla.md +12 -6
  866. package/docs/vi/intlayer_with_vite+lit.md +13 -6
  867. package/docs/vi/intlayer_with_vite+preact.md +68 -62
  868. package/docs/vi/intlayer_with_vite+react.md +60 -55
  869. package/docs/vi/intlayer_with_vite+react_compiler.md +5 -6
  870. package/docs/vi/intlayer_with_vite+solid.md +53 -47
  871. package/docs/vi/intlayer_with_vite+svelte.md +42 -36
  872. package/docs/vi/intlayer_with_vite+vanilla.md +12 -6
  873. package/docs/vi/intlayer_with_vite+vue.md +60 -54
  874. package/docs/vi/introduction.md +43 -28
  875. package/docs/zh/cli/build.md +1 -1
  876. package/docs/zh/cli/index.md +1 -1
  877. package/docs/zh/intlayer_with_adonisjs.md +2 -2
  878. package/docs/zh/intlayer_with_analog.md +2 -2
  879. package/docs/zh/intlayer_with_angular_19.md +2 -2
  880. package/docs/zh/intlayer_with_angular_21.md +6 -6
  881. package/docs/zh/intlayer_with_astro.md +2 -2
  882. package/docs/zh/intlayer_with_astro_lit.md +2 -2
  883. package/docs/zh/intlayer_with_astro_preact.md +2 -2
  884. package/docs/zh/intlayer_with_astro_react.md +2 -2
  885. package/docs/zh/intlayer_with_astro_solid.md +2 -2
  886. package/docs/zh/intlayer_with_astro_svelte.md +2 -2
  887. package/docs/zh/intlayer_with_astro_vanilla.md +2 -2
  888. package/docs/zh/intlayer_with_astro_vue.md +2 -2
  889. package/docs/zh/intlayer_with_create_react_app.md +2 -2
  890. package/docs/zh/intlayer_with_express.md +2 -2
  891. package/docs/zh/intlayer_with_fastify.md +2 -2
  892. package/docs/zh/intlayer_with_hono.md +2 -2
  893. package/docs/zh/intlayer_with_lynx+react.md +2 -2
  894. package/docs/zh/intlayer_with_nestjs.md +2 -13
  895. package/docs/zh/intlayer_with_next-i18next.md +2 -2
  896. package/docs/zh/intlayer_with_next-intl.md +2 -2
  897. package/docs/zh/intlayer_with_nextjs_14.md +5 -6
  898. package/docs/zh/intlayer_with_nextjs_15.md +5 -6
  899. package/docs/zh/intlayer_with_nextjs_16.md +5 -6
  900. package/docs/zh/intlayer_with_nextjs_compiler.md +157 -161
  901. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +92 -94
  902. package/docs/zh/intlayer_with_nextjs_page_router.md +5 -6
  903. package/docs/zh/intlayer_with_nuxt.md +33 -33
  904. package/docs/zh/intlayer_with_react_native+expo.md +2 -2
  905. package/docs/zh/intlayer_with_react_router_v7.md +2 -2
  906. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +2 -2
  907. package/docs/zh/intlayer_with_storybook.md +2 -2
  908. package/docs/zh/intlayer_with_svelte_kit.md +228 -229
  909. package/docs/zh/intlayer_with_tanstack+solid.md +2 -2
  910. package/docs/zh/intlayer_with_tanstack.md +2 -2
  911. package/docs/zh/intlayer_with_vanilla.md +2 -2
  912. package/docs/zh/intlayer_with_vite+lit.md +2 -2
  913. package/docs/zh/intlayer_with_vite+preact.md +102 -104
  914. package/docs/zh/intlayer_with_vite+react.md +53 -55
  915. package/docs/zh/intlayer_with_vite+react_compiler.md +2 -2
  916. package/docs/zh/intlayer_with_vite+solid.md +46 -47
  917. package/docs/zh/intlayer_with_vite+svelte.md +33 -34
  918. package/docs/zh/intlayer_with_vite+vanilla.md +2 -2
  919. package/docs/zh/intlayer_with_vite+vue.md +75 -76
  920. package/docs/zh/introduction.md +43 -28
  921. package/docs/zh-TW/intlayer_with_angular_21.md +6 -6
  922. package/docs/zh-TW/introduction.md +43 -28
  923. package/package.json +7 -7
  924. package/src/common.ts +1 -1
@@ -81,6 +81,7 @@ history:
81
81
  title="Демонстрація CodeSandbox, як інтернаціоналізувати ваш застосунок за допомогою Intlayer"
82
82
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
83
83
  loading="lazy"
84
+ />
84
85
 
85
86
  > Дивіться [Шаблон застосунку](https://github.com/aymericzip/next-i18next-template) на GitHub.
86
87
 
@@ -117,7 +118,9 @@ history:
117
118
  └── ServerComponent.tsx
118
119
  ```
119
120
 
120
- ### Крок 1: Встановіть залежності
121
+ <Steps>
122
+
123
+ <Step number={1} title="Встановіть залежності">
121
124
 
122
125
  Встановіть необхідні пакети за допомогою npm:
123
126
 
@@ -137,7 +140,9 @@ yarn add i18next react-i18next i18next-resources-to-backend
137
140
  - **react-i18next**: React-байндинги для i18next, що надають хуки, такі як `useTranslation`, для клієнтських компонентів.
138
141
  - **i18next-resources-to-backend**: Плагін, який дозволяє динамічно завантажувати файли перекладів, даючи змогу підвантажувати лише ті простори імен (namespaces), які потрібні.
139
142
 
140
- ### Крок 2: Налаштуйте свій проєкт
143
+ </Step>
144
+
145
+ <Step number={2} title="Налаштуйте свій проєкт">
141
146
 
142
147
  Створіть файл конфігурації, щоб визначити підтримувані локалі, локаль за замовчуванням та допоміжні функції для локалізації URL. Цей файл слугує єдиним джерелом істини для вашої i18n-настройки та забезпечує безпечність типів у всьому застосунку.
143
148
 
@@ -190,7 +195,9 @@ export function getCookie(locale: Locale) {
190
195
  }
191
196
  ```
192
197
 
193
- ### Крок 3: Централізація просторів імен перекладів
198
+ </Step>
199
+
200
+ <Step number={3} title="Централізація просторів імен перекладів">
194
201
 
195
202
  Створіть єдине джерело істини для кожного простору імен (namespace), який надає ваша аплікація. Повторне використання цього списку дозволяє синхронізувати код на сервері, клієнті та в інструментах і відкриває можливість суворої типізації для допоміжних функцій перекладу.
196
203
 
@@ -200,7 +207,9 @@ export const namespaces = ["common", "about"] as const;
200
207
  export type Namespace = (typeof namespaces)[number];
201
208
  ```
202
209
 
203
- ### Крок 4: Сувора типізація ключів перекладу за допомогою TypeScript
210
+ </Step>
211
+
212
+ <Step number={4} title="Сувора типізація ключів перекладу за допомогою TypeScript">
204
213
 
205
214
  Розширіть `i18next`, щоб вказати на ваші канонічні мовні файли (зазвичай англійські). TypeScript потім виведе дійсні ключі для кожного простору імен, тож виклики `t()` перевіряються повністю.
206
215
 
@@ -238,7 +247,9 @@ const { t } = useTranslation("about");
238
247
  export type AboutTranslator = TFunction<"about">;
239
248
  ```
240
249
 
241
- ### Крок 5: Налаштування серверної ініціалізації i18n
250
+ </Step>
251
+
252
+ <Step number={5} title="Налаштування серверної ініціалізації i18n">
242
253
 
243
254
  Створіть функцію ініціалізації на сервері, яка завантажує переклади для серверних компонентів. Ця функція створює окремий екземпляр i18next для рендерингу на сервері, забезпечуючи завантаження перекладів перед рендерингом.
244
255
 
@@ -293,7 +304,9 @@ export async function initI18next(
293
304
  }
294
305
  ```
295
306
 
296
- ### Крок 6: Створіть клієнтський провайдер i18n
307
+ </Step>
308
+
309
+ <Step number={6} title="Створіть клієнтський провайдер i18n">
297
310
 
298
311
  Створіть клієнтський компонент-провайдер, який обгортає ваш додаток контекстом i18next. Цей провайдер отримує попередньо завантажені переклади з сервера, щоб запобігти мерехтінню неперекладеного вмісту (FOUC) та уникнути дублювання запитів.
299
312
 
@@ -376,7 +389,9 @@ export default function I18nProvider({
376
389
  }
377
390
  ```
378
391
 
379
- ### Крок 7: Визначення динамічних маршрутів локалей
392
+ </Step>
393
+
394
+ <Step number={7} title="Визначення динамічних маршрутів локалей">
380
395
 
381
396
  Налаштуйте динамічну маршрутизацію для локалей, створивши директорію `[locale]` у вашій папці app. Це дозволяє Next.js обробляти маршрути залежно від локалі, де кожна локаль стає сегментом URL (наприклад, `/en/about`, `/fr/about`).
382
397
 
@@ -428,7 +443,9 @@ export default function LocaleLayout({
428
443
  }
429
444
  ```
430
445
 
431
- ### Крок 8: Створіть файли перекладів
446
+ </Step>
447
+
448
+ <Step number={8} title="Створіть файли перекладів">
432
449
 
433
450
  Створіть JSON-файли для кожного locale та namespace. Така структура дозволяє логічно організувати переклади та завантажувати лише те, що потрібно для кожної сторінки.
434
451
 
@@ -494,7 +511,9 @@ export default function LocaleLayout({
494
511
  }
495
512
  ```
496
513
 
497
- ### Крок 9: Використовуйте переклади на своїх сторінках
514
+ </Step>
515
+
516
+ <Step number={9} title="Використовуйте переклади на своїх сторінках">
498
517
 
499
518
  Створіть компонент сторінки, який ініціалізує i18next на сервері та передає переклади як серверним, так і клієнтським компонентам. Це гарантує завантаження перекладів перед рендерінгом і запобігає мерехтінню контенту.
500
519
 
@@ -554,7 +573,9 @@ export default async function AboutPage({
554
573
  }
555
574
  ```
556
575
 
557
- ### Крок 10: Використання перекладів у клієнтських компонентах
576
+ </Step>
577
+
578
+ <Step number={10} title="Використання перекладів у клієнтських компонентах">
558
579
 
559
580
  Клієнтські компоненти можуть використовувати хук `useTranslation` для доступу до перекладів. Цей хук надає доступ до функції перекладу та екземпляра i18n, що дозволяє перекладати вміст та отримувати інформацію про локаль.
560
581
 
@@ -605,7 +626,9 @@ const ClientComponent = () => {
605
626
  export default ClientComponent;
606
627
  ```
607
628
 
608
- ### Крок 11: Використання перекладів у серверних компонентах
629
+ </Step>
630
+
631
+ <Step number={11} title="Використання перекладів у серверних компонентах">
609
632
 
610
633
  Серверні компоненти не можуть використовувати React hooks, тому вони отримують переклади через props від батьківських компонентів. Такий підхід робить серверні компоненти синхронними і дозволяє вкладати їх у клієнтські компоненти.
611
634
 
@@ -651,9 +674,9 @@ const ServerComponent = ({ t, locale, count }: ServerComponentProps) => {
651
674
  export default ServerComponent;
652
675
  ```
653
676
 
654
- ---
677
+ </Step>
655
678
 
656
- ### (Необов'язково) Крок 12: Змініть мову вашого контенту
679
+ <Step number={12} title="Змініть мову вашого контенту" isOptional={true}>
657
680
 
658
681
  Щоб змінити мову вашого контенту в Next.js, рекомендовано використовувати URL-адреси з префіксом локалі та компоненти Link від Next.js. Приклад нижче зчитує поточну локаль з маршруту, видаляє її з pathname і рендерить по одному посиланню для кожної доступної локалі.
659
682
 
@@ -729,7 +752,9 @@ export default function LocaleSwitcher() {
729
752
  }
730
753
  ```
731
754
 
732
- ### (Необов'язково) Крок 13: Створіть локалізований компонент Link
755
+ </Step>
756
+
757
+ <Step number={13} title="Створіть локалізований компонент Link" isOptional={true}>
733
758
 
734
759
  Повторне використання локалізованих URL у вашому додатку зберігає навігацію послідовною та дружньою до SEO. Обгорніть `next/link` у невеликий хелпер, який додає префікс активної локалі до внутрішніх маршрутів, залишаючи зовнішні URL без змін.
735
760
 
@@ -780,7 +805,9 @@ export default function LocalizedLink({
780
805
 
781
806
  > Порада: Оскільки `LocalizedLink` є drop-in replacement, мігруйте поступово, замінюючи імпорти та дозволяючи компоненту обробляти URL-адреси, специфічні для локалі.
782
807
 
783
- ### (Необов'язково) Крок 14: Доступ до активної локалі всередині Server Actions
808
+ </Step>
809
+
810
+ <Step number={14} title="Доступ до активної локалі всередині Server Actions" isOptional={true}>
784
811
 
785
812
  Server Actions часто потребують поточної локалі для email-розсилок, логування або інтеграцій зі сторонніми сервісами. Поєднайте cookie локалі, встановлене вашим проксі, із заголовком `Accept-Language` як fallback.
786
813
 
@@ -818,7 +845,9 @@ export async function stuffFromServer(formData: FormData) {
818
845
 
819
846
  > Оскільки цей хелпер спирається на cookies і headers Next.js, він працює в Route Handlers, Server Actions та інших серверних контекстах.
820
847
 
821
- ### (Необов'язково) Крок 15: Інтернаціоналізуйте метадані
848
+ </Step>
849
+
850
+ <Step number={15} title="Інтернаціоналізуйте метадані" isOptional={true}>
822
851
 
823
852
  Переклад контенту важливий, але основна мета інтернаціоналізації, зробити ваш вебсайт більш помітним для світу. I18n, потужний інструмент для підвищення видимості сайту завдяки належному SEO.
824
853
 
@@ -885,7 +914,9 @@ export default async function AboutPage() {
885
914
  }
886
915
  ```
887
916
 
888
- ### (Необов'язково) Крок 16: Інтернаціоналізуйте ваш Sitemap
917
+ </Step>
918
+
919
+ <Step number={16} title="Інтернаціоналізуйте ваш Sitemap" isOptional={true}>
889
920
 
890
921
  Згенеруйте карту сайту (sitemap), яка включає всі локалізовані версії ваших сторінок. Це допомагає пошуковим системам знаходити та індексувати всі мовні версії вашого контенту.
891
922
 
@@ -939,7 +970,9 @@ export default function sitemap(): MetadataRoute.Sitemap {
939
970
  }
940
971
  ```
941
972
 
942
- ### (Необов'язково) Крок 17: Інтернаціоналізуйте ваш robots.txt
973
+ </Step>
974
+
975
+ <Step number={17} title="Інтернаціоналізуйте ваш robots.txt" isOptional={true}>
943
976
 
944
977
  Створіть файл robots.txt, який правильно обробляє всі мовні версії ваших захищених маршрутів. Це гарантує, що пошукові системи не індексують сторінки адміністратора або панелі керування жодною мовою.
945
978
 
@@ -970,7 +1003,9 @@ export default function robots(): MetadataRoute.Robots {
970
1003
  }
971
1004
  ```
972
1005
 
973
- ### (Необов'язково) Крок 18: Налаштуйте middleware для маршрутизації локалей
1006
+ </Step>
1007
+
1008
+ <Step number={18} title="Налаштуйте middleware для маршрутизації локалей" isOptional={true}>
974
1009
 
975
1010
  Створіть проксі, який автоматично визначає переважну локаль користувача та перенаправляє його на відповідний URL з префіксом локалі. Це покращує досвід користувача, відображаючи контент обраною мовою.
976
1011
 
@@ -1059,7 +1094,9 @@ export const config = {
1059
1094
  };
1060
1095
  ```
1061
1096
 
1062
- ### (Необов'язково) Крок 19: Автоматизуйте ваші переклади за допомогою Intlayer
1097
+ </Step>
1098
+
1099
+ <Step number={19} title="Автоматизуйте ваші переклади за допомогою Intlayer" isOptional={true}>
1063
1100
 
1064
1101
  Intlayer, це **безкоштовна** та **з відкритим вихідним кодом** бібліотека, створена для допомоги у процесі локалізації вашого застосунку. Поки i18next відповідає за завантаження та управління перекладами, Intlayer допомагає автоматизувати робочий процес перекладів.
1065
1102
 
@@ -1084,3 +1121,7 @@ Intlayer дозволяє вам:
1084
1121
  Intlayer пропонує безкоштовний візуальний редактор для редагування вашого контенту. Дізнайтеся більше про [візуальне редагування ваших перекладів](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md).
1085
1122
 
1086
1123
  І це ще не все. Щоб дізнатися про всі можливості, які надає Intlayer, будь ласка, перегляньте [документацію «Переваги Intlayer»](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/interest_of_intlayer.md).
1124
+
1125
+ </Step>
1126
+
1127
+ </Steps>
@@ -109,7 +109,9 @@ history:
109
109
  └── ServerComponent.tsx
110
110
  ```
111
111
 
112
- ### Крок 1: Встановіть залежності
112
+ <Steps>
113
+
114
+ <Step number={1} title="Встановіть залежності">
113
115
 
114
116
  Встановіть необхідні пакети, використовуючи:
115
117
 
@@ -127,7 +129,9 @@ yarn add next-intl
127
129
 
128
130
  - **next-intl**: Основна бібліотека інтернаціоналізації для Next.js App Router, яка надає хуки, server-функції та клієнтські провайдери для керування перекладами.
129
131
 
130
- ### Крок 2: Налаштуйте ваш проєкт
132
+ </Step>
133
+
134
+ <Step number={2} title="Налаштуйте ваш проєкт">
131
135
 
132
136
  Створіть файл конфігурації, який визначає підтримувані локалі та налаштовує конфігурацію запитів next-intl. Цей файл слугує єдиним джерелом правди для вашої налаштування i18n і забезпечує безпеку типів у всьому застосунку.
133
137
 
@@ -211,7 +215,9 @@ export const { Link, redirect, usePathname, useRouter, getPathname } =
211
215
  export const proxy = createMiddleware(routingOptions);
212
216
  ```
213
217
 
214
- ### Крок 3: Визначте динамічні маршрути локалей
218
+ </Step>
219
+
220
+ <Step number={3} title="Визначте динамічні маршрути локалей">
215
221
 
216
222
  Налаштуйте динамічний роутинг для локалей, створивши директорію `[locale]` у вашій папці app. Це дозволяє Next.js обробляти маршрутизацію за локаллю, де кожна локаль стає сегментом URL (наприклад, `/en/about`, `/fr/about`).
217
223
 
@@ -299,7 +305,9 @@ export default async function AboutPage({
299
305
  }
300
306
  ```
301
307
 
302
- ### Крок 4: Створіть файли перекладів
308
+ </Step>
309
+
310
+ <Step number={4} title="Створіть файли перекладів">
303
311
 
304
312
  Створіть JSON-файли для кожної локалі та простору імен. Така структура дозволяє логічно організувати переклади та завантажувати лише те, що потрібно для кожної сторінки.
305
313
 
@@ -341,7 +349,9 @@ export default async function AboutPage({
341
349
  }
342
350
  ```
343
351
 
344
- ### Крок 5: Використання перекладів на ваших сторінках
352
+ </Step>
353
+
354
+ <Step number={5} title="Використання перекладів на ваших сторінках">
345
355
 
346
356
  Створіть компонент сторінки, який завантажує переклади на сервері та передає їх як серверним, так і клієнтським компонентам. Це гарантує, що переклади завантажені перед рендерингом і запобігає блиманню (content flashing).
347
357
 
@@ -392,7 +402,9 @@ export default async function AboutPage({
392
402
  }
393
403
  ```
394
404
 
395
- ### Крок 6: Використання перекладів у клієнтських компонентах
405
+ </Step>
406
+
407
+ <Step number={6} title="Використання перекладів у клієнтських компонентах">
396
408
 
397
409
  Клієнтські компоненти можуть використовувати хуки `useTranslations` та `useFormatter` для доступу до перекладів і функцій форматування. Ці хуки читають дані з контексту `NextIntlClientProvider`.
398
410
 
@@ -428,7 +440,9 @@ const ClientComponent = () => {
428
440
  };
429
441
  ```
430
442
 
431
- ### Крок 7: Використання перекладів у серверних компонентах
443
+ </Step>
444
+
445
+ <Step number={7} title="Використання перекладів у серверних компонентах">
432
446
 
433
447
  Серверні компоненти не можуть використовувати React‑хуки, тому вони отримують переклади та функції форматування як props від батьківських компонентів. Такий підхід зберігає серверні компоненти синхронними й дозволяє вкладати їх усередину клієнтських компонентів.
434
448
 
@@ -460,9 +474,9 @@ const ServerComponent = ({
460
474
 
461
475
  > У вашому page/layout використовуйте `getTranslations` та `getFormatter` з `next-intl/server`, щоб попередньо обчислити переклади та форматування, а потім передайте їх як props серверним компонентам.
462
476
 
463
- ---
477
+ </Step>
464
478
 
465
- ### (Необов'язково) Крок 8: Змініть мову вашого контенту
479
+ <Step number={8} title="Змініть мову вашого контенту" isOptional={true}>
466
480
 
467
481
  Щоб змінити мову контенту за допомогою next-intl, рендерте посилання з урахуванням локалі (locale-aware links), які вказують на той самий pathname при перемиканні локалі. Провайдер автоматично переписує URL-адреси, тож вам потрібно лише націлитися на поточний маршрут.
468
482
 
@@ -534,7 +548,9 @@ export default function LocaleSwitcher() {
534
548
  }
535
549
  ```
536
550
 
537
- ### (Необов'язковий) Крок 9: Використовуйте локалізований компонент Link
551
+ </Step>
552
+
553
+ <Step number={9} title="Використовуйте локалізований компонент Link" isOptional={true}>
538
554
 
539
555
  `next-intl` надає сабпакет `next-intl/navigation`, який містить локалізований компонент Link, що автоматично застосовує активну локаль. Ми вже експортували його для вас у файлі `@/i18n`, тож ви можете використовувати його так:
540
556
 
@@ -544,7 +560,9 @@ import { Link } from "@/i18n";
544
560
  return <Link href="/about">t("about.title")</Link>;
545
561
  ```
546
562
 
547
- ### (Необов'язковий) Крок 10: Отримання активної локалі всередині Server Actions
563
+ </Step>
564
+
565
+ <Step number={10} title="Отримання активної локалі всередині Server Actions" isOptional={true}>
548
566
 
549
567
  Server Actions можуть зчитувати поточну локаль за допомогою `next-intl/server`. Це корисно для надсилання локалізованих електронних листів або збереження мовних налаштувань разом із надісланими даними.
550
568
 
@@ -567,7 +585,9 @@ export async function handleContactForm(formData: FormData) {
567
585
 
568
586
  > `getLocale` читає локаль, встановлену проксі `next-intl`, тож функція працює у будь-якому місці на сервері: Route Handlers, Server Actions та edge functions.
569
587
 
570
- ### (Необов'язково) Крок 11: Інтернаціоналізуйте свої метадані
588
+ </Step>
589
+
590
+ <Step number={11} title="Інтернаціоналізуйте свої метадані" isOptional={true}>
571
591
 
572
592
  Переклад контенту важливий, але головна мета інтернаціоналізації, зробити ваш вебсайт більш помітним у світі. I18n, неймовірний важіль для підвищення видимості вашого вебсайту за допомогою правильної SEO.
573
593
 
@@ -606,7 +626,9 @@ export async function generateMetadata({
606
626
  // ... Решта коду сторінки
607
627
  ```
608
628
 
609
- ### (Необов'язково) Крок 12: Інтернаціоналізуйте свій sitemap
629
+ </Step>
630
+
631
+ <Step number={12} title="Інтернаціоналізуйте свій sitemap" isOptional={true}>
610
632
 
611
633
  Створіть sitemap, який включає всі мовні версії ваших сторінок. Це допомагає пошуковим системам виявляти та індексувати всі мовні версії вашого контенту.
612
634
 
@@ -654,7 +676,9 @@ export default function sitemap(): MetadataRoute.Sitemap {
654
676
  }
655
677
  ```
656
678
 
657
- ### (Необов'язково) Крок 13: Інтернаціоналізуйте ваш robots.txt
679
+ </Step>
680
+
681
+ <Step number={13} title="Інтернаціоналізуйте ваш robots.txt" isOptional={true}>
658
682
 
659
683
  Створіть файл robots.txt, який правильно обробляє всі мовні версії ваших захищених маршрутів. Це гарантує, що пошукові системи не індексують сторінки admin або dashboard жодною мовою.
660
684
 
@@ -687,7 +711,9 @@ export default function robots(): MetadataRoute.Robots {
687
711
  }
688
712
  ```
689
713
 
690
- ### (Необов'язково) Крок 14: Налаштування proxy для маршрутизації локалі
714
+ </Step>
715
+
716
+ <Step number={14} title="Налаштування proxy для маршрутизації локалі" isOptional={true}>
691
717
 
692
718
  Створіть proxy, щоб автоматично визначати бажану користувачем локаль та перенаправляти його на відповідний URL з префіксом локалі. next-intl надає зручну функцію proxy, яка обробляє це автоматично.
693
719
 
@@ -707,7 +733,9 @@ export const config = {
707
733
  };
708
734
  ```
709
735
 
710
- ### (Необов'язково) Крок 15: Налаштуйте типи TypeScript для локалі
736
+ </Step>
737
+
738
+ <Step number={15} title="Налаштуйте типи TypeScript для локалі" isOptional={true}>
711
739
 
712
740
  Налаштування TypeScript допоможе отримати автозаповнення та типобезпеку для ваших ключів.
713
741
 
@@ -733,7 +761,9 @@ declare module "next-intl" {
733
761
 
734
762
  Цей код використовує Module Augmentation, щоб додати locales і messages до типу AppConfig з next-intl.
735
763
 
736
- ### (Необов'язково) Крок 15: Автоматизуйте переклади за допомогою Intlayer
764
+ </Step>
765
+
766
+ <Step number={16} title="Автоматизуйте переклади за допомогою Intlayer" isOptional={true}>
737
767
 
738
768
  Intlayer, це **безкоштовна** та **відкрита** бібліотека, створена для полегшення процесу локалізації у вашому застосунку. У той час як next-intl відповідає за завантаження та управління перекладами, Intlayer допомагає автоматизувати робочий процес перекладів.
739
769
 
@@ -758,3 +788,7 @@ Intlayer дозволить вам:
758
788
  Intlayer пропонує безкоштовний візуальний редактор для редагування вашого контенту. Дізнайтеся більше про [візуальне редагування ваших перекладів](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md).
759
789
 
760
790
  І це ще не все. Щоб ознайомитися з усіма можливостями, які надає Intlayer, зверніться до документації про [переваги Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/interest_of_intlayer.md).
791
+
792
+ </Step>
793
+
794
+ </Steps>
@@ -80,6 +80,7 @@ Trước khi đi vào triển khai, đây là một số thực hành bạn nên
80
80
  title="Demo CodeSandbox - Cách Quốc tế hóa ứng dụng của bạn sử dụng Intlayer"
81
81
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
82
82
  loading="lazy"
83
+ />
83
84
 
84
85
  > Xem [Mẫu Ứng Dụng](https://github.com/aymericzip/next-i18next-template) trên GitHub.
85
86
 
@@ -116,7 +117,9 @@ Cấu trúc dự án mà chúng ta sẽ tạo:
116
117
  └── ServerComponent.tsx
117
118
  ```
118
119
 
119
- ### Bước 1: Cài Đặt Các Phụ Thuộc
120
+ <Steps>
121
+
122
+ <Step number={1} title="Cài Đặt Các Phụ Thuộc">
120
123
 
121
124
  Cài đặt các gói cần thiết bằng npm:
122
125
 
@@ -136,7 +139,9 @@ yarn add i18next react-i18next i18next-resources-to-backend
136
139
  - **react-i18next**: Liên kết React cho i18next cung cấp các hook như `useTranslation` cho các component phía client.
137
140
  - **i18next-resources-to-backend**: Plugin cho phép tải động các file bản dịch, giúp bạn chỉ tải những namespace cần thiết.
138
141
 
139
- ### Bước 2: Cấu Hình Dự Án Của Bạn
142
+ </Step>
143
+
144
+ <Step number={2} title="Cấu Hình Dự Án Của Bạn">
140
145
 
141
146
  Tạo một file cấu hình để định nghĩa các locale được hỗ trợ, locale mặc định, và các hàm trợ giúp cho việc địa phương hóa URL. File này đóng vai trò là nguồn dữ liệu duy nhất cho thiết lập i18n của bạn và đảm bảo an toàn kiểu trong toàn bộ ứng dụng.
142
147
 
@@ -189,7 +194,9 @@ export function getCookie(locale: Locale) {
189
194
  }
190
195
  ```
191
196
 
192
- ### Bước 3: Tập trung các namespace dịch thuật
197
+ </Step>
198
+
199
+ <Step number={3} title="Tập trung các namespace dịch thuật">
193
200
 
194
201
  Tạo một nguồn dữ liệu duy nhất cho mọi namespace mà ứng dụng của bạn cung cấp. Tái sử dụng danh sách này giúp đồng bộ mã phía server, client và công cụ, đồng thời mở khóa kiểu dữ liệu mạnh cho các hàm hỗ trợ dịch thuật.
195
202
 
@@ -199,7 +206,9 @@ export const namespaces = ["common", "about"] as const;
199
206
  export type Namespace = (typeof namespaces)[number];
200
207
  ```
201
208
 
202
- ### Bước 4: Định kiểu mạnh cho các khóa dịch với TypeScript
209
+ </Step>
210
+
211
+ <Step number={4} title="Định kiểu mạnh cho các khóa dịch với TypeScript">
203
212
 
204
213
  Mở rộng `i18next` để trỏ tới các file ngôn ngữ chuẩn của bạn (thường là tiếng Anh). TypeScript sẽ suy luận các khóa hợp lệ theo từng namespace, do đó các lời gọi tới `t()` được kiểm tra toàn diện.
205
214
 
@@ -237,7 +246,9 @@ const { t } = useTranslation("about");
237
246
  export type AboutTranslator = TFunction<"about">;
238
247
  ```
239
248
 
240
- ### Bước 5: Thiết lập khởi tạo i18n phía server
249
+ </Step>
250
+
251
+ <Step number={5} title="Thiết lập khởi tạo i18n phía server">
241
252
 
242
253
  Tạo một hàm khởi tạo phía máy chủ để tải các bản dịch cho các thành phần server. Hàm này tạo một instance i18next riêng biệt cho việc render phía server, đảm bảo rằng các bản dịch được tải trước khi render.
243
254
 
@@ -292,7 +303,9 @@ export async function initI18next(
292
303
  }
293
304
  ```
294
305
 
295
- ### Bước 6: Tạo Provider i18n phía Client
306
+ </Step>
307
+
308
+ <Step number={6} title="Tạo Provider i18n phía Client">
296
309
 
297
310
  Tạo một component provider phía client bao bọc ứng dụng của bạn với context i18next. Provider này nhận các bản dịch đã được tải sẵn từ server để ngăn chặn hiện tượng flash nội dung chưa dịch (FOUC) và tránh việc tải lặp lại.
298
311
 
@@ -375,7 +388,9 @@ export default function I18nProvider({
375
388
  }
376
389
  ```
377
390
 
378
- ### Bước 7: Định nghĩa các tuyến đường động theo locale
391
+ </Step>
392
+
393
+ <Step number={7} title="Định nghĩa các tuyến đường động theo locale">
379
394
 
380
395
  Thiết lập routing động cho các locale bằng cách tạo thư mục `[locale]` trong thư mục app của bạn. Điều này cho phép Next.js xử lý routing dựa trên locale, trong đó mỗi locale trở thành một phân đoạn URL (ví dụ: `/en/about`, `/fr/about`).
381
396
 
@@ -427,7 +442,9 @@ export default function LocaleLayout({
427
442
  }
428
443
  ```
429
444
 
430
- ### Bước 8: Tạo các tệp dịch của bạn
445
+ </Step>
446
+
447
+ <Step number={8} title="Tạo các tệp dịch của bạn">
431
448
 
432
449
  Tạo các tệp JSON cho mỗi locale và namespace. Cấu trúc này cho phép bạn tổ chức các bản dịch một cách hợp lý và chỉ tải những gì bạn cần cho mỗi trang.
433
450
 
@@ -493,7 +510,9 @@ Tổ chức các bản dịch theo namespace (ví dụ: `common.json`, `about.js
493
510
  }
494
511
  ```
495
512
 
496
- ### Bước 9: Sử dụng Bản dịch trong Trang của Bạn
513
+ </Step>
514
+
515
+ <Step number={9} title="Sử dụng Bản dịch trong Trang của Bạn">
497
516
 
498
517
  Tạo một component trang khởi tạo i18next trên server và truyền các bản dịch cho cả component server và client. Điều này đảm bảo các bản dịch được tải trước khi render và ngăn chặn hiện tượng nhấp nháy nội dung.
499
518
 
@@ -553,7 +572,9 @@ export default async function AboutPage({
553
572
  }
554
573
  ```
555
574
 
556
- ### Bước 10: Sử dụng Dịch trong Các Component Client
575
+ </Step>
576
+
577
+ <Step number={10} title="Sử dụng Dịch trong Các Component Client">
557
578
 
558
579
  Các component client có thể sử dụng hook `useTranslation` để truy cập bản dịch. Hook này cung cấp hàm dịch và instance i18n, cho phép bạn dịch nội dung và truy cập thông tin locale.
559
580
 
@@ -604,7 +625,9 @@ const ClientComponent = () => {
604
625
  export default ClientComponent;
605
626
  ```
606
627
 
607
- ### Bước 11: Sử dụng bản dịch trong các Server Components
628
+ </Step>
629
+
630
+ <Step number={11} title="Sử dụng bản dịch trong các Server Components">
608
631
 
609
632
  Các server component không thể sử dụng React hooks, vì vậy chúng nhận các bản dịch thông qua props từ các component cha của chúng. Cách tiếp cận này giữ cho server component đồng bộ và cho phép chúng được lồng bên trong các client component.
610
633
 
@@ -650,9 +673,9 @@ const ServerComponent = ({ t, locale, count }: ServerComponentProps) => {
650
673
  export default ServerComponent;
651
674
  ```
652
675
 
653
- ---
676
+ </Step>
654
677
 
655
- ### (Tùy chọn) Bước 12: Thay đổi ngôn ngữ nội dung của bạn
678
+ <Step number={12} title="Thay đổi ngôn ngữ nội dung của bạn" isOptional={true}>
656
679
 
657
680
  Để thay đổi ngôn ngữ nội dung trong Next.js, cách được khuyến nghị là sử dụng URL có tiền tố locale và các liên kết Next.js. Ví dụ dưới đây đọc locale hiện tại từ route, loại bỏ nó khỏi pathname, và hiển thị một liên kết cho mỗi locale có sẵn.
658
681
 
@@ -724,7 +747,9 @@ export default function LocaleSwitcher() {
724
747
  }
725
748
  ```
726
749
 
727
- ### (Tùy chọn) Bước 13: Xây dựng một component Link có hỗ trợ đa ngôn ngữ
750
+ </Step>
751
+
752
+ <Step number={13} title="Xây dựng một component Link có hỗ trợ đa ngôn ngữ" isOptional={true}>
728
753
 
729
754
  Tái sử dụng các URL đã được địa phương hóa trong toàn bộ ứng dụng giúp điều hướng nhất quán và thân thiện với SEO. Bao bọc `next/link` trong một helper nhỏ để thêm tiền tố locale đang hoạt động vào các route nội bộ trong khi giữ nguyên các URL bên ngoài.
730
755
 
@@ -775,7 +800,9 @@ export default function LocalizedLink({
775
800
 
776
801
  > Mẹo: Vì `LocalizedLink` là một thành phần thay thế trực tiếp, hãy di chuyển dần dần bằng cách thay đổi các import và để thành phần xử lý các URL theo locale cụ thể.
777
802
 
778
- ### (Tùy chọn) Bước 14: Truy cập locale đang hoạt động bên trong Server Actions
803
+ </Step>
804
+
805
+ <Step number={14} title="Truy cập locale đang hoạt động bên trong Server Actions" isOptional={true}>
779
806
 
780
807
  Server Actions thường cần locale hiện tại để gửi email, ghi log hoặc tích hợp với bên thứ ba. Kết hợp cookie locale được proxy của bạn thiết lập với header `Accept-Language` làm phương án dự phòng.
781
808
 
@@ -813,7 +840,9 @@ export async function stuffFromServer(formData: FormData) {
813
840
 
814
841
  > Vì helper dựa vào cookies và headers của Next.js, nó hoạt động trong Route Handlers, Server Actions và các ngữ cảnh chỉ dành cho server khác.
815
842
 
816
- ### (Tùy chọn) Bước 15: Quốc tế hóa Metadata của bạn
843
+ </Step>
844
+
845
+ <Step number={15} title="Quốc tế hóa Metadata của bạn" isOptional={true}>
817
846
 
818
847
  Dịch nội dung là quan trọng, nhưng mục tiêu chính của quốc tế hóa là làm cho trang web của bạn trở nên dễ tiếp cận hơn với thế giới. I18n là một đòn bẩy tuyệt vời để cải thiện khả năng hiển thị trang web của bạn thông qua SEO đúng cách.
819
848
 
@@ -880,7 +909,9 @@ export default async function AboutPage() {
880
909
  }
881
910
  ```
882
911
 
883
- ### (Tùy chọn) Bước 16: Quốc tế hóa Sitemap của bạn
912
+ </Step>
913
+
914
+ <Step number={16} title="Quốc tế hóa Sitemap của bạn" isOptional={true}>
884
915
 
885
916
  Tạo một sitemap bao gồm tất cả các phiên bản locale của các trang của bạn. Điều này giúp các công cụ tìm kiếm khám phá và lập chỉ mục tất cả các phiên bản ngôn ngữ của nội dung của bạn.
886
917
 
@@ -936,7 +967,9 @@ export default function sitemap(): MetadataRoute.Sitemap {
936
967
  }
937
968
  ```
938
969
 
939
- ### (Tùy chọn) Bước 17: Quốc tế hóa tệp robots.txt của bạn
970
+ </Step>
971
+
972
+ <Step number={17} title="Quốc tế hóa tệp robots.txt của bạn" isOptional={true}>
940
973
 
941
974
  Tạo một tệp robots.txt xử lý đúng tất cả các phiên bản ngôn ngữ của các tuyến đường được bảo vệ của bạn. Điều này đảm bảo rằng các công cụ tìm kiếm không lập chỉ mục các trang quản trị hoặc bảng điều khiển bằng bất kỳ ngôn ngữ nào.
942
975
 
@@ -967,7 +1000,9 @@ export default function robots(): MetadataRoute.Robots {
967
1000
  }
968
1001
  ```
969
1002
 
970
- ### (Tùy chọn) Bước 18: Thiết lập Middleware cho Định tuyến Ngôn ngữ
1003
+ </Step>
1004
+
1005
+ <Step number={18} title="Thiết lập Middleware cho Định tuyến Ngôn ngữ" isOptional={true}>
971
1006
 
972
1007
  Tạo một proxy để tự động phát hiện ngôn ngữ ưu tiên của người dùng và chuyển hướng họ đến URL có tiền tố ngôn ngữ phù hợp. Điều này cải thiện trải nghiệm người dùng bằng cách hiển thị nội dung theo ngôn ngữ họ ưu thích.
973
1008
 
@@ -1056,7 +1091,9 @@ export const config = {
1056
1091
  };
1057
1092
  ```
1058
1093
 
1059
- ### (Tùy chọn) Bước 19: Tự động hóa bản dịch của bạn bằng Intlayer
1094
+ </Step>
1095
+
1096
+ <Step number={19} title="Tự động hóa bản dịch của bạn bằng Intlayer" isOptional={true}>
1060
1097
 
1061
1098
  Intlayer là một thư viện **miễn phí** và **mã nguồn mở** được thiết kế để hỗ trợ quá trình bản địa hóa trong ứng dụng của bạn. Trong khi i18next xử lý việc tải và quản lý bản dịch, Intlayer giúp tự động hóa quy trình làm việc bản dịch.
1062
1099
 
@@ -1086,3 +1123,7 @@ Intlayer sẽ cho phép bạn:
1086
1123
  Intlayer cung cấp một trình chỉnh sửa trực quan miễn phí để chỉnh sửa nội dung của bạn bằng trình chỉnh sửa trực quan. Tìm hiểu thêm về [chỉnh sửa trực quan bản dịch của bạn](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_visual_editor.md).
1087
1124
 
1088
1125
  Và còn nhiều hơn nữa. Để khám phá tất cả các tính năng mà Intlayer cung cấp, vui lòng tham khảo [Lợi ích của tài liệu Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/interest_of_intlayer.md).
1126
+
1127
+ </Step>
1128
+
1129
+ </Steps>