@intlayer/docs 9.4.2 → 9.4.4

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 (1307) hide show
  1. package/blog/ar/date_time_number_formatting_locales.md +216 -0
  2. package/blog/ar/detecting_missing_translations.md +202 -0
  3. package/blog/ar/i18n_in_ci_cd_pipelines.md +247 -0
  4. package/blog/ar/i18n_meaning.md +0 -2
  5. package/blog/ar/i18n_testing_strategies.md +179 -0
  6. package/blog/ar/intlayer_with_i18next.md +3 -3
  7. package/blog/ar/intlayer_with_next-i18next.md +3 -3
  8. package/blog/ar/intlayer_with_next-intl.md +3 -3
  9. package/blog/ar/intlayer_with_react-i18next.md +3 -3
  10. package/blog/ar/intlayer_with_react-intl.md +3 -3
  11. package/blog/ar/intlayer_with_vue-i18n.md +3 -3
  12. package/blog/ar/is_i18next_outdated.md +315 -0
  13. package/blog/ar/is_next-intl_outdated.md +363 -0
  14. package/blog/ar/is_vue-i18n_outdated.md +338 -0
  15. package/blog/ar/list_i18n_technologies/build-tools/vite.md +177 -0
  16. package/blog/ar/list_i18n_technologies/frameworks/angular.md +0 -2
  17. package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -2
  18. package/blog/ar/list_i18n_technologies/frameworks/react.md +0 -2
  19. package/blog/ar/list_i18n_technologies/frameworks/svelte.md +0 -2
  20. package/blog/ar/list_i18n_technologies/frameworks/vue.md +0 -2
  21. package/blog/ar/what_is_internationalization.md +0 -2
  22. package/blog/de/date_time_number_formatting_locales.md +216 -0
  23. package/blog/de/detecting_missing_translations.md +202 -0
  24. package/blog/de/i18n_in_ci_cd_pipelines.md +247 -0
  25. package/blog/de/i18n_meaning.md +0 -2
  26. package/blog/de/i18n_testing_strategies.md +179 -0
  27. package/blog/de/intlayer_with_i18next.md +3 -3
  28. package/blog/de/intlayer_with_next-i18next.md +3 -3
  29. package/blog/de/intlayer_with_next-intl.md +3 -3
  30. package/blog/de/intlayer_with_react-i18next.md +3 -3
  31. package/blog/de/intlayer_with_react-intl.md +3 -3
  32. package/blog/de/intlayer_with_vue-i18n.md +3 -3
  33. package/blog/de/is_i18next_outdated.md +315 -0
  34. package/blog/de/is_next-intl_outdated.md +363 -0
  35. package/blog/de/is_vue-i18n_outdated.md +338 -0
  36. package/blog/de/list_i18n_technologies/build-tools/vite.md +179 -0
  37. package/blog/de/list_i18n_technologies/frameworks/angular.md +0 -2
  38. package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -2
  39. package/blog/de/list_i18n_technologies/frameworks/react.md +0 -2
  40. package/blog/de/list_i18n_technologies/frameworks/svelte.md +0 -2
  41. package/blog/de/list_i18n_technologies/frameworks/vue.md +0 -2
  42. package/blog/de/what_is_internationalization.md +0 -2
  43. package/blog/en/date_time_number_formatting_locales.md +216 -0
  44. package/blog/en/detecting_missing_translations.md +202 -0
  45. package/blog/en/i18n_in_ci_cd_pipelines.md +247 -0
  46. package/blog/en/i18n_meaning.md +0 -2
  47. package/blog/en/i18n_testing_strategies.md +179 -0
  48. package/blog/en/icu_message_format.md +288 -0
  49. package/blog/en/intlayer_with_i18next.md +3 -3
  50. package/blog/en/intlayer_with_next-i18next.md +3 -3
  51. package/blog/en/intlayer_with_next-intl.md +3 -3
  52. package/blog/en/intlayer_with_react-i18next.md +3 -3
  53. package/blog/en/intlayer_with_react-intl.md +3 -3
  54. package/blog/en/intlayer_with_vue-i18n.md +3 -3
  55. package/blog/en/is_i18next_outdated.md +315 -0
  56. package/blog/en/is_next-intl_outdated.md +363 -0
  57. package/blog/en/is_vue-i18n_outdated.md +338 -0
  58. package/blog/en/list_i18n_technologies/build-tools/vite.md +179 -0
  59. package/blog/en/list_i18n_technologies/frameworks/angular.md +184 -108
  60. package/blog/en/list_i18n_technologies/frameworks/astro.md +268 -0
  61. package/blog/en/list_i18n_technologies/frameworks/nextjs.md +196 -0
  62. package/blog/en/list_i18n_technologies/frameworks/nuxt.md +255 -0
  63. package/blog/en/list_i18n_technologies/frameworks/react-native.md +133 -154
  64. package/blog/en/list_i18n_technologies/frameworks/react-router.md +331 -0
  65. package/blog/en/list_i18n_technologies/frameworks/react.md +176 -96
  66. package/blog/en/list_i18n_technologies/frameworks/solid.md +268 -0
  67. package/blog/en/list_i18n_technologies/frameworks/svelte.md +156 -88
  68. package/blog/en/list_i18n_technologies/frameworks/sveltekit.md +235 -0
  69. package/blog/en/list_i18n_technologies/frameworks/tanstack-start.md +280 -0
  70. package/blog/en/list_i18n_technologies/frameworks/vue.md +167 -95
  71. package/blog/en/what_is_internationalization.md +0 -2
  72. package/blog/en-GB/date_time_number_formatting_locales.md +216 -0
  73. package/blog/en-GB/detecting_missing_translations.md +202 -0
  74. package/blog/en-GB/i18n_in_ci_cd_pipelines.md +247 -0
  75. package/blog/en-GB/i18n_meaning.md +0 -2
  76. package/blog/en-GB/i18n_testing_strategies.md +179 -0
  77. package/blog/en-GB/intlayer_with_i18next.md +3 -3
  78. package/blog/en-GB/intlayer_with_next-i18next.md +3 -3
  79. package/blog/en-GB/intlayer_with_next-intl.md +3 -3
  80. package/blog/en-GB/intlayer_with_react-i18next.md +3 -3
  81. package/blog/en-GB/intlayer_with_react-intl.md +3 -3
  82. package/blog/en-GB/intlayer_with_vue-i18n.md +3 -3
  83. package/blog/en-GB/is_i18next_outdated.md +315 -0
  84. package/blog/en-GB/is_next-intl_outdated.md +363 -0
  85. package/blog/en-GB/is_vue-i18n_outdated.md +338 -0
  86. package/blog/en-GB/list_i18n_technologies/build-tools/vite.md +179 -0
  87. package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +0 -2
  88. package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -2
  89. package/blog/en-GB/list_i18n_technologies/frameworks/react.md +0 -2
  90. package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +0 -2
  91. package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +0 -2
  92. package/blog/en-GB/what_is_internationalization.md +0 -2
  93. package/blog/es/date_time_number_formatting_locales.md +216 -0
  94. package/blog/es/detecting_missing_translations.md +202 -0
  95. package/blog/es/i18n_in_ci_cd_pipelines.md +247 -0
  96. package/blog/es/i18n_meaning.md +0 -2
  97. package/blog/es/i18n_testing_strategies.md +179 -0
  98. package/blog/es/intlayer_with_i18next.md +3 -3
  99. package/blog/es/intlayer_with_next-i18next.md +3 -3
  100. package/blog/es/intlayer_with_next-intl.md +3 -3
  101. package/blog/es/intlayer_with_react-i18next.md +3 -3
  102. package/blog/es/intlayer_with_react-intl.md +3 -3
  103. package/blog/es/intlayer_with_vue-i18n.md +3 -3
  104. package/blog/es/is_i18next_outdated.md +315 -0
  105. package/blog/es/is_next-intl_outdated.md +363 -0
  106. package/blog/es/is_vue-i18n_outdated.md +338 -0
  107. package/blog/es/list_i18n_technologies/build-tools/vite.md +179 -0
  108. package/blog/es/list_i18n_technologies/frameworks/angular.md +0 -2
  109. package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -2
  110. package/blog/es/list_i18n_technologies/frameworks/react.md +0 -2
  111. package/blog/es/list_i18n_technologies/frameworks/svelte.md +0 -2
  112. package/blog/es/list_i18n_technologies/frameworks/vue.md +0 -2
  113. package/blog/es/what_is_internationalization.md +0 -2
  114. package/blog/fr/date_time_number_formatting_locales.md +216 -0
  115. package/blog/fr/detecting_missing_translations.md +202 -0
  116. package/blog/fr/i18n_in_ci_cd_pipelines.md +247 -0
  117. package/blog/fr/i18n_meaning.md +0 -2
  118. package/blog/fr/i18n_testing_strategies.md +179 -0
  119. package/blog/fr/intlayer_with_i18next.md +3 -3
  120. package/blog/fr/intlayer_with_next-i18next.md +3 -3
  121. package/blog/fr/intlayer_with_next-intl.md +3 -3
  122. package/blog/fr/intlayer_with_react-i18next.md +3 -3
  123. package/blog/fr/intlayer_with_react-intl.md +3 -3
  124. package/blog/fr/intlayer_with_vue-i18n.md +3 -3
  125. package/blog/fr/is_i18next_outdated.md +315 -0
  126. package/blog/fr/is_next-intl_outdated.md +363 -0
  127. package/blog/fr/is_vue-i18n_outdated.md +338 -0
  128. package/blog/fr/list_i18n_technologies/build-tools/vite.md +179 -0
  129. package/blog/fr/list_i18n_technologies/frameworks/angular.md +0 -2
  130. package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -2
  131. package/blog/fr/list_i18n_technologies/frameworks/react.md +0 -2
  132. package/blog/fr/list_i18n_technologies/frameworks/svelte.md +0 -2
  133. package/blog/fr/list_i18n_technologies/frameworks/vue.md +0 -2
  134. package/blog/fr/what_is_internationalization.md +0 -2
  135. package/blog/hi/date_time_number_formatting_locales.md +216 -0
  136. package/blog/hi/detecting_missing_translations.md +202 -0
  137. package/blog/hi/i18n_in_ci_cd_pipelines.md +247 -0
  138. package/blog/hi/i18n_meaning.md +0 -2
  139. package/blog/hi/i18n_testing_strategies.md +179 -0
  140. package/blog/hi/intlayer_with_i18next.md +3 -3
  141. package/blog/hi/intlayer_with_next-i18next.md +3 -3
  142. package/blog/hi/intlayer_with_next-intl.md +3 -3
  143. package/blog/hi/intlayer_with_react-i18next.md +3 -3
  144. package/blog/hi/intlayer_with_react-intl.md +3 -3
  145. package/blog/hi/intlayer_with_vue-i18n.md +3 -3
  146. package/blog/hi/is_i18next_outdated.md +317 -0
  147. package/blog/hi/is_next-intl_outdated.md +363 -0
  148. package/blog/hi/is_vue-i18n_outdated.md +338 -0
  149. package/blog/hi/list_i18n_technologies/build-tools/vite.md +177 -0
  150. package/blog/hi/list_i18n_technologies/frameworks/angular.md +0 -2
  151. package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -2
  152. package/blog/hi/list_i18n_technologies/frameworks/react.md +0 -2
  153. package/blog/hi/list_i18n_technologies/frameworks/svelte.md +0 -2
  154. package/blog/hi/list_i18n_technologies/frameworks/vue.md +0 -2
  155. package/blog/hi/what_is_internationalization.md +0 -2
  156. package/blog/id/date_time_number_formatting_locales.md +216 -0
  157. package/blog/id/detecting_missing_translations.md +202 -0
  158. package/blog/id/i18n_in_ci_cd_pipelines.md +247 -0
  159. package/blog/id/i18n_meaning.md +0 -2
  160. package/blog/id/i18n_testing_strategies.md +179 -0
  161. package/blog/id/intlayer_with_i18next.md +3 -3
  162. package/blog/id/intlayer_with_next-i18next.md +3 -3
  163. package/blog/id/intlayer_with_next-intl.md +3 -3
  164. package/blog/id/intlayer_with_react-i18next.md +3 -3
  165. package/blog/id/intlayer_with_react-intl.md +3 -3
  166. package/blog/id/intlayer_with_vue-i18n.md +3 -3
  167. package/blog/id/is_i18next_outdated.md +317 -0
  168. package/blog/id/is_next-intl_outdated.md +363 -0
  169. package/blog/id/is_vue-i18n_outdated.md +338 -0
  170. package/blog/id/list_i18n_technologies/build-tools/vite.md +177 -0
  171. package/blog/id/list_i18n_technologies/frameworks/angular.md +0 -2
  172. package/blog/id/list_i18n_technologies/frameworks/react-native.md +0 -2
  173. package/blog/id/list_i18n_technologies/frameworks/react.md +0 -2
  174. package/blog/id/list_i18n_technologies/frameworks/svelte.md +0 -2
  175. package/blog/id/list_i18n_technologies/frameworks/vue.md +0 -2
  176. package/blog/id/what_is_internationalization.md +0 -2
  177. package/blog/it/date_time_number_formatting_locales.md +216 -0
  178. package/blog/it/detecting_missing_translations.md +202 -0
  179. package/blog/it/i18n_in_ci_cd_pipelines.md +247 -0
  180. package/blog/it/i18n_meaning.md +0 -2
  181. package/blog/it/i18n_testing_strategies.md +179 -0
  182. package/blog/it/intlayer_with_i18next.md +3 -3
  183. package/blog/it/intlayer_with_next-i18next.md +3 -3
  184. package/blog/it/intlayer_with_next-intl.md +3 -3
  185. package/blog/it/intlayer_with_react-i18next.md +3 -3
  186. package/blog/it/intlayer_with_react-intl.md +3 -3
  187. package/blog/it/intlayer_with_vue-i18n.md +3 -3
  188. package/blog/it/is_i18next_outdated.md +315 -0
  189. package/blog/it/is_next-intl_outdated.md +363 -0
  190. package/blog/it/is_vue-i18n_outdated.md +338 -0
  191. package/blog/it/list_i18n_technologies/build-tools/vite.md +179 -0
  192. package/blog/it/list_i18n_technologies/frameworks/angular.md +0 -2
  193. package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -2
  194. package/blog/it/list_i18n_technologies/frameworks/react.md +0 -2
  195. package/blog/it/list_i18n_technologies/frameworks/svelte.md +0 -2
  196. package/blog/it/list_i18n_technologies/frameworks/vue.md +0 -2
  197. package/blog/it/what_is_internationalization.md +0 -2
  198. package/blog/ja/date_time_number_formatting_locales.md +216 -0
  199. package/blog/ja/detecting_missing_translations.md +202 -0
  200. package/blog/ja/i18n_in_ci_cd_pipelines.md +247 -0
  201. package/blog/ja/i18n_meaning.md +0 -2
  202. package/blog/ja/i18n_testing_strategies.md +179 -0
  203. package/blog/ja/intlayer_with_i18next.md +3 -3
  204. package/blog/ja/intlayer_with_next-i18next.md +3 -3
  205. package/blog/ja/intlayer_with_next-intl.md +3 -3
  206. package/blog/ja/intlayer_with_react-i18next.md +3 -3
  207. package/blog/ja/intlayer_with_react-intl.md +3 -3
  208. package/blog/ja/intlayer_with_vue-i18n.md +3 -3
  209. package/blog/ja/is_i18next_outdated.md +315 -0
  210. package/blog/ja/is_next-intl_outdated.md +363 -0
  211. package/blog/ja/is_vue-i18n_outdated.md +338 -0
  212. package/blog/ja/list_i18n_technologies/build-tools/vite.md +179 -0
  213. package/blog/ja/list_i18n_technologies/frameworks/angular.md +0 -2
  214. package/blog/ja/list_i18n_technologies/frameworks/react-native.md +0 -2
  215. package/blog/ja/list_i18n_technologies/frameworks/react.md +0 -2
  216. package/blog/ja/list_i18n_technologies/frameworks/svelte.md +0 -2
  217. package/blog/ja/list_i18n_technologies/frameworks/vue.md +0 -2
  218. package/blog/ja/what_is_internationalization.md +0 -2
  219. package/blog/ko/date_time_number_formatting_locales.md +216 -0
  220. package/blog/ko/detecting_missing_translations.md +202 -0
  221. package/blog/ko/i18n_in_ci_cd_pipelines.md +247 -0
  222. package/blog/ko/i18n_meaning.md +0 -2
  223. package/blog/ko/i18n_testing_strategies.md +179 -0
  224. package/blog/ko/intlayer_with_i18next.md +3 -3
  225. package/blog/ko/intlayer_with_next-i18next.md +3 -3
  226. package/blog/ko/intlayer_with_next-intl.md +3 -3
  227. package/blog/ko/intlayer_with_react-i18next.md +3 -3
  228. package/blog/ko/intlayer_with_react-intl.md +3 -3
  229. package/blog/ko/intlayer_with_vue-i18n.md +3 -3
  230. package/blog/ko/is_i18next_outdated.md +317 -0
  231. package/blog/ko/is_next-intl_outdated.md +363 -0
  232. package/blog/ko/is_vue-i18n_outdated.md +338 -0
  233. package/blog/ko/list_i18n_technologies/build-tools/vite.md +179 -0
  234. package/blog/ko/list_i18n_technologies/frameworks/angular.md +0 -2
  235. package/blog/ko/list_i18n_technologies/frameworks/react-native.md +0 -2
  236. package/blog/ko/list_i18n_technologies/frameworks/react.md +0 -2
  237. package/blog/ko/list_i18n_technologies/frameworks/svelte.md +0 -2
  238. package/blog/ko/list_i18n_technologies/frameworks/vue.md +0 -2
  239. package/blog/ko/what_is_internationalization.md +0 -2
  240. package/blog/pl/date_time_number_formatting_locales.md +216 -0
  241. package/blog/pl/detecting_missing_translations.md +202 -0
  242. package/blog/pl/i18n_in_ci_cd_pipelines.md +247 -0
  243. package/blog/pl/i18n_meaning.md +0 -2
  244. package/blog/pl/i18n_testing_strategies.md +179 -0
  245. package/blog/pl/intlayer_with_i18next.md +3 -3
  246. package/blog/pl/intlayer_with_next-i18next.md +3 -3
  247. package/blog/pl/intlayer_with_next-intl.md +3 -3
  248. package/blog/pl/intlayer_with_react-i18next.md +3 -3
  249. package/blog/pl/intlayer_with_react-intl.md +3 -3
  250. package/blog/pl/intlayer_with_vue-i18n.md +3 -3
  251. package/blog/pl/is_i18next_outdated.md +315 -0
  252. package/blog/pl/is_next-intl_outdated.md +363 -0
  253. package/blog/pl/is_vue-i18n_outdated.md +338 -0
  254. package/blog/pl/list_i18n_technologies/build-tools/vite.md +177 -0
  255. package/blog/pl/list_i18n_technologies/frameworks/angular.md +0 -2
  256. package/blog/pl/list_i18n_technologies/frameworks/react-native.md +0 -2
  257. package/blog/pl/list_i18n_technologies/frameworks/react.md +0 -2
  258. package/blog/pl/list_i18n_technologies/frameworks/svelte.md +0 -2
  259. package/blog/pl/list_i18n_technologies/frameworks/vue.md +0 -2
  260. package/blog/pl/what_is_internationalization.md +0 -2
  261. package/blog/pt/date_time_number_formatting_locales.md +216 -0
  262. package/blog/pt/detecting_missing_translations.md +202 -0
  263. package/blog/pt/i18n_in_ci_cd_pipelines.md +247 -0
  264. package/blog/pt/i18n_meaning.md +0 -2
  265. package/blog/pt/i18n_testing_strategies.md +179 -0
  266. package/blog/pt/intlayer_with_i18next.md +3 -3
  267. package/blog/pt/intlayer_with_next-i18next.md +3 -3
  268. package/blog/pt/intlayer_with_next-intl.md +3 -3
  269. package/blog/pt/intlayer_with_react-i18next.md +3 -3
  270. package/blog/pt/intlayer_with_react-intl.md +3 -3
  271. package/blog/pt/intlayer_with_vue-i18n.md +3 -3
  272. package/blog/pt/is_i18next_outdated.md +315 -0
  273. package/blog/pt/is_next-intl_outdated.md +363 -0
  274. package/blog/pt/is_vue-i18n_outdated.md +338 -0
  275. package/blog/pt/list_i18n_technologies/build-tools/vite.md +179 -0
  276. package/blog/pt/list_i18n_technologies/frameworks/angular.md +0 -2
  277. package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -2
  278. package/blog/pt/list_i18n_technologies/frameworks/react.md +0 -2
  279. package/blog/pt/list_i18n_technologies/frameworks/svelte.md +0 -2
  280. package/blog/pt/list_i18n_technologies/frameworks/vue.md +0 -2
  281. package/blog/pt/what_is_internationalization.md +0 -2
  282. package/blog/ru/date_time_number_formatting_locales.md +216 -0
  283. package/blog/ru/detecting_missing_translations.md +202 -0
  284. package/blog/ru/i18n_in_ci_cd_pipelines.md +247 -0
  285. package/blog/ru/i18n_meaning.md +0 -2
  286. package/blog/ru/i18n_testing_strategies.md +179 -0
  287. package/blog/ru/intlayer_with_i18next.md +3 -3
  288. package/blog/ru/intlayer_with_next-i18next.md +3 -3
  289. package/blog/ru/intlayer_with_next-intl.md +3 -3
  290. package/blog/ru/intlayer_with_react-i18next.md +3 -3
  291. package/blog/ru/intlayer_with_react-intl.md +3 -3
  292. package/blog/ru/intlayer_with_vue-i18n.md +3 -3
  293. package/blog/ru/is_i18next_outdated.md +315 -0
  294. package/blog/ru/is_next-intl_outdated.md +363 -0
  295. package/blog/ru/is_vue-i18n_outdated.md +338 -0
  296. package/blog/ru/list_i18n_technologies/build-tools/vite.md +179 -0
  297. package/blog/ru/list_i18n_technologies/frameworks/angular.md +0 -2
  298. package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -2
  299. package/blog/ru/list_i18n_technologies/frameworks/react.md +0 -2
  300. package/blog/ru/list_i18n_technologies/frameworks/svelte.md +0 -2
  301. package/blog/ru/list_i18n_technologies/frameworks/vue.md +0 -2
  302. package/blog/ru/what_is_internationalization.md +0 -2
  303. package/blog/tr/date_time_number_formatting_locales.md +216 -0
  304. package/blog/tr/detecting_missing_translations.md +202 -0
  305. package/blog/tr/i18n_in_ci_cd_pipelines.md +247 -0
  306. package/blog/tr/i18n_meaning.md +0 -2
  307. package/blog/tr/i18n_testing_strategies.md +179 -0
  308. package/blog/tr/intlayer_with_i18next.md +3 -3
  309. package/blog/tr/intlayer_with_next-i18next.md +3 -3
  310. package/blog/tr/intlayer_with_next-intl.md +3 -3
  311. package/blog/tr/intlayer_with_react-i18next.md +3 -3
  312. package/blog/tr/intlayer_with_react-intl.md +3 -3
  313. package/blog/tr/intlayer_with_vue-i18n.md +3 -3
  314. package/blog/tr/is_i18next_outdated.md +315 -0
  315. package/blog/tr/is_next-intl_outdated.md +363 -0
  316. package/blog/tr/is_vue-i18n_outdated.md +338 -0
  317. package/blog/tr/list_i18n_technologies/build-tools/vite.md +179 -0
  318. package/blog/tr/list_i18n_technologies/frameworks/angular.md +0 -2
  319. package/blog/tr/list_i18n_technologies/frameworks/react-native.md +0 -2
  320. package/blog/tr/list_i18n_technologies/frameworks/react.md +0 -2
  321. package/blog/tr/list_i18n_technologies/frameworks/svelte.md +0 -2
  322. package/blog/tr/list_i18n_technologies/frameworks/vue.md +0 -2
  323. package/blog/tr/what_is_internationalization.md +0 -2
  324. package/blog/uk/date_time_number_formatting_locales.md +216 -0
  325. package/blog/uk/detecting_missing_translations.md +202 -0
  326. package/blog/uk/i18n_in_ci_cd_pipelines.md +247 -0
  327. package/blog/uk/i18n_meaning.md +0 -2
  328. package/blog/uk/i18n_testing_strategies.md +179 -0
  329. package/blog/uk/intlayer_with_i18next.md +3 -3
  330. package/blog/uk/intlayer_with_next-i18next.md +3 -3
  331. package/blog/uk/intlayer_with_next-intl.md +3 -3
  332. package/blog/uk/intlayer_with_react-i18next.md +3 -3
  333. package/blog/uk/intlayer_with_react-intl.md +3 -3
  334. package/blog/uk/intlayer_with_vue-i18n.md +3 -3
  335. package/blog/uk/is_i18next_outdated.md +315 -0
  336. package/blog/uk/is_next-intl_outdated.md +363 -0
  337. package/blog/uk/is_vue-i18n_outdated.md +338 -0
  338. package/blog/uk/list_i18n_technologies/build-tools/vite.md +177 -0
  339. package/blog/uk/list_i18n_technologies/frameworks/angular.md +0 -2
  340. package/blog/uk/list_i18n_technologies/frameworks/react-native.md +0 -2
  341. package/blog/uk/list_i18n_technologies/frameworks/react.md +0 -2
  342. package/blog/uk/list_i18n_technologies/frameworks/svelte.md +0 -2
  343. package/blog/uk/list_i18n_technologies/frameworks/vue.md +0 -2
  344. package/blog/uk/what_is_internationalization.md +0 -2
  345. package/blog/vi/date_time_number_formatting_locales.md +216 -0
  346. package/blog/vi/detecting_missing_translations.md +202 -0
  347. package/blog/vi/i18n_in_ci_cd_pipelines.md +247 -0
  348. package/blog/vi/i18n_meaning.md +0 -2
  349. package/blog/vi/i18n_testing_strategies.md +179 -0
  350. package/blog/vi/intlayer_with_i18next.md +3 -3
  351. package/blog/vi/intlayer_with_next-i18next.md +3 -3
  352. package/blog/vi/intlayer_with_next-intl.md +3 -3
  353. package/blog/vi/intlayer_with_react-i18next.md +3 -3
  354. package/blog/vi/intlayer_with_react-intl.md +3 -3
  355. package/blog/vi/intlayer_with_vue-i18n.md +3 -3
  356. package/blog/vi/is_i18next_outdated.md +317 -0
  357. package/blog/vi/is_next-intl_outdated.md +363 -0
  358. package/blog/vi/is_vue-i18n_outdated.md +338 -0
  359. package/blog/vi/list_i18n_technologies/build-tools/vite.md +177 -0
  360. package/blog/vi/list_i18n_technologies/frameworks/angular.md +0 -2
  361. package/blog/vi/list_i18n_technologies/frameworks/react-native.md +0 -2
  362. package/blog/vi/list_i18n_technologies/frameworks/react.md +0 -2
  363. package/blog/vi/list_i18n_technologies/frameworks/svelte.md +0 -2
  364. package/blog/vi/list_i18n_technologies/frameworks/vue.md +0 -2
  365. package/blog/vi/what_is_internationalization.md +0 -2
  366. package/blog/zh/date_time_number_formatting_locales.md +216 -0
  367. package/blog/zh/detecting_missing_translations.md +202 -0
  368. package/blog/zh/i18n_in_ci_cd_pipelines.md +247 -0
  369. package/blog/zh/i18n_meaning.md +0 -2
  370. package/blog/zh/i18n_testing_strategies.md +179 -0
  371. package/blog/zh/intlayer_with_i18next.md +3 -3
  372. package/blog/zh/intlayer_with_next-i18next.md +3 -3
  373. package/blog/zh/intlayer_with_next-intl.md +3 -3
  374. package/blog/zh/intlayer_with_react-i18next.md +3 -3
  375. package/blog/zh/intlayer_with_react-intl.md +3 -3
  376. package/blog/zh/intlayer_with_vue-i18n.md +3 -3
  377. package/blog/zh/is_i18next_outdated.md +317 -0
  378. package/blog/zh/is_next-intl_outdated.md +363 -0
  379. package/blog/zh/is_vue-i18n_outdated.md +338 -0
  380. package/blog/zh/list_i18n_technologies/build-tools/vite.md +179 -0
  381. package/blog/zh/list_i18n_technologies/frameworks/angular.md +0 -2
  382. package/blog/zh/list_i18n_technologies/frameworks/react-native.md +0 -2
  383. package/blog/zh/list_i18n_technologies/frameworks/react.md +0 -2
  384. package/blog/zh/list_i18n_technologies/frameworks/svelte.md +0 -2
  385. package/blog/zh/list_i18n_technologies/frameworks/vue.md +0 -2
  386. package/blog/zh/what_is_internationalization.md +0 -2
  387. package/dist/cjs/generated/blog.entry.cjs +320 -0
  388. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  389. package/dist/esm/generated/blog.entry.mjs +320 -0
  390. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  391. package/dist/types/authors.d.ts +5 -5
  392. package/dist/types/authors.d.ts.map +1 -1
  393. package/dist/types/blog.d.ts +10 -11
  394. package/dist/types/blog.d.ts.map +1 -1
  395. package/dist/types/common.d.ts +12 -13
  396. package/dist/types/common.d.ts.map +1 -1
  397. package/dist/types/doc.d.ts +10 -11
  398. package/dist/types/doc.d.ts.map +1 -1
  399. package/dist/types/frequentQuestions.d.ts +10 -11
  400. package/dist/types/frequentQuestions.d.ts.map +1 -1
  401. package/dist/types/generated/blog.entry.d.ts +17 -2
  402. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  403. package/dist/types/generated/docs.entry.d.ts +1 -2
  404. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  405. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -2
  406. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  407. package/dist/types/generated/legal.entry.d.ts +1 -2
  408. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  409. package/dist/types/legal.d.ts +10 -11
  410. package/dist/types/legal.d.ts.map +1 -1
  411. package/docs/ar/bundle_optimization.md +186 -186
  412. package/docs/ar/intlayer_with_adonisjs.md +3 -3
  413. package/docs/ar/intlayer_with_analog.md +3 -3
  414. package/docs/ar/intlayer_with_angular_19.md +3 -3
  415. package/docs/ar/intlayer_with_angular_21.md +3 -3
  416. package/docs/ar/intlayer_with_astro.md +3 -3
  417. package/docs/ar/intlayer_with_astro_lit.md +3 -3
  418. package/docs/ar/intlayer_with_astro_preact.md +3 -3
  419. package/docs/ar/intlayer_with_astro_react.md +3 -3
  420. package/docs/ar/intlayer_with_astro_solid.md +3 -3
  421. package/docs/ar/intlayer_with_astro_svelte.md +3 -3
  422. package/docs/ar/intlayer_with_astro_vanilla.md +3 -3
  423. package/docs/ar/intlayer_with_astro_vue.md +3 -3
  424. package/docs/ar/intlayer_with_create_react_app.md +3 -3
  425. package/docs/ar/intlayer_with_elysia.md +4 -4
  426. package/docs/ar/intlayer_with_express.md +3 -3
  427. package/docs/ar/intlayer_with_fastify.md +4 -4
  428. package/docs/ar/intlayer_with_hono.md +3 -3
  429. package/docs/ar/intlayer_with_lynx+react.md +3 -3
  430. package/docs/ar/intlayer_with_nestjs.md +3 -3
  431. package/docs/ar/intlayer_with_next-i18next.md +3 -3
  432. package/docs/ar/intlayer_with_nextjs_14.md +3 -3
  433. package/docs/ar/intlayer_with_nextjs_15.md +3 -3
  434. package/docs/ar/intlayer_with_nextjs_16.md +3 -3
  435. package/docs/ar/intlayer_with_nextjs_compiler.md +3 -3
  436. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +3 -3
  437. package/docs/ar/intlayer_with_nextjs_page_router.md +3 -3
  438. package/docs/ar/intlayer_with_nuxt.md +3 -3
  439. package/docs/ar/intlayer_with_react_native+expo.md +3 -3
  440. package/docs/ar/intlayer_with_react_router_v7.md +3 -3
  441. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +3 -3
  442. package/docs/ar/intlayer_with_solid_start.md +3 -3
  443. package/docs/ar/intlayer_with_svelte_kit.md +3 -3
  444. package/docs/ar/intlayer_with_tanstack+solid.md +3 -3
  445. package/docs/ar/intlayer_with_tanstack.md +3 -3
  446. package/docs/ar/intlayer_with_vite+lit.md +3 -3
  447. package/docs/ar/intlayer_with_vite+preact.md +3 -3
  448. package/docs/ar/intlayer_with_vite+react.md +3 -3
  449. package/docs/ar/intlayer_with_vite+react_compiler.md +3 -3
  450. package/docs/ar/intlayer_with_vite+solid.md +3 -3
  451. package/docs/ar/intlayer_with_vite+svelte.md +4 -12
  452. package/docs/ar/intlayer_with_vite+vanilla.md +3 -3
  453. package/docs/ar/intlayer_with_vite+vue.md +3 -3
  454. package/docs/ar/migration_from_i18next_to_intlayer.md +3 -3
  455. package/docs/ar/migration_from_next-i18next_to_intlayer.md +3 -3
  456. package/docs/ar/migration_from_next-intl_to_intlayer.md +3 -3
  457. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  458. package/docs/ar/migration_from_react-i18next_to_intlayer.md +3 -3
  459. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +3 -3
  460. package/docs/bn/bundle_optimization.md +186 -186
  461. package/docs/bn/intlayer_with_angular_21.md +3 -3
  462. package/docs/bn/intlayer_with_fastify.md +4 -4
  463. package/docs/bn/intlayer_with_hono.md +3 -3
  464. package/docs/bn/intlayer_with_vite+lit.md +3 -3
  465. package/docs/bn/intlayer_with_vite+vanilla.md +3 -3
  466. package/docs/cs/bundle_optimization.md +186 -186
  467. package/docs/cs/intlayer_with_angular_21.md +3 -3
  468. package/docs/cs/intlayer_with_fastify.md +4 -4
  469. package/docs/cs/intlayer_with_hono.md +3 -3
  470. package/docs/cs/intlayer_with_vite+lit.md +3 -3
  471. package/docs/cs/intlayer_with_vite+vanilla.md +3 -3
  472. package/docs/de/bundle_optimization.md +186 -186
  473. package/docs/de/intlayer_with_adonisjs.md +3 -3
  474. package/docs/de/intlayer_with_analog.md +3 -3
  475. package/docs/de/intlayer_with_angular_19.md +3 -3
  476. package/docs/de/intlayer_with_angular_21.md +3 -3
  477. package/docs/de/intlayer_with_astro.md +3 -3
  478. package/docs/de/intlayer_with_astro_lit.md +3 -3
  479. package/docs/de/intlayer_with_astro_preact.md +3 -3
  480. package/docs/de/intlayer_with_astro_react.md +3 -3
  481. package/docs/de/intlayer_with_astro_solid.md +3 -3
  482. package/docs/de/intlayer_with_astro_svelte.md +3 -3
  483. package/docs/de/intlayer_with_astro_vanilla.md +3 -3
  484. package/docs/de/intlayer_with_astro_vue.md +3 -3
  485. package/docs/de/intlayer_with_create_react_app.md +3 -3
  486. package/docs/de/intlayer_with_elysia.md +4 -4
  487. package/docs/de/intlayer_with_express.md +3 -3
  488. package/docs/de/intlayer_with_fastify.md +4 -4
  489. package/docs/de/intlayer_with_hono.md +3 -3
  490. package/docs/de/intlayer_with_lynx+react.md +3 -3
  491. package/docs/de/intlayer_with_nestjs.md +3 -3
  492. package/docs/de/intlayer_with_next-i18next.md +3 -3
  493. package/docs/de/intlayer_with_nextjs_14.md +3 -3
  494. package/docs/de/intlayer_with_nextjs_15.md +3 -3
  495. package/docs/de/intlayer_with_nextjs_16.md +3 -3
  496. package/docs/de/intlayer_with_nextjs_compiler.md +3 -3
  497. package/docs/de/intlayer_with_nextjs_no_locale_path.md +3 -3
  498. package/docs/de/intlayer_with_nextjs_page_router.md +3 -3
  499. package/docs/de/intlayer_with_nuxt.md +3 -3
  500. package/docs/de/intlayer_with_react_native+expo.md +3 -3
  501. package/docs/de/intlayer_with_react_router_v7.md +3 -3
  502. package/docs/de/intlayer_with_solid_start.md +3 -3
  503. package/docs/de/intlayer_with_svelte_kit.md +3 -3
  504. package/docs/de/intlayer_with_tanstack+solid.md +3 -3
  505. package/docs/de/intlayer_with_tanstack.md +3 -3
  506. package/docs/de/intlayer_with_vite+lit.md +3 -3
  507. package/docs/de/intlayer_with_vite+preact.md +3 -3
  508. package/docs/de/intlayer_with_vite+react.md +3 -3
  509. package/docs/de/intlayer_with_vite+react_compiler.md +3 -3
  510. package/docs/de/intlayer_with_vite+solid.md +3 -3
  511. package/docs/de/intlayer_with_vite+svelte.md +4 -12
  512. package/docs/de/intlayer_with_vite+vanilla.md +3 -3
  513. package/docs/de/intlayer_with_vite+vue.md +3 -3
  514. package/docs/de/migration_from_i18next_to_intlayer.md +3 -3
  515. package/docs/de/migration_from_next-i18next_to_intlayer.md +3 -3
  516. package/docs/de/migration_from_next-intl_to_intlayer.md +3 -3
  517. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  518. package/docs/de/migration_from_react-i18next_to_intlayer.md +3 -3
  519. package/docs/de/migration_from_vue-i18n_to_intlayer.md +3 -3
  520. package/docs/en/bundle_optimization.md +186 -186
  521. package/docs/en/intlayer_with_adonisjs.md +3 -3
  522. package/docs/en/intlayer_with_analog.md +3 -3
  523. package/docs/en/intlayer_with_angular_19.md +3 -3
  524. package/docs/en/intlayer_with_angular_21.md +3 -3
  525. package/docs/en/intlayer_with_astro.md +3 -3
  526. package/docs/en/intlayer_with_astro_lit.md +3 -3
  527. package/docs/en/intlayer_with_astro_preact.md +3 -3
  528. package/docs/en/intlayer_with_astro_react.md +3 -3
  529. package/docs/en/intlayer_with_astro_solid.md +3 -3
  530. package/docs/en/intlayer_with_astro_svelte.md +3 -3
  531. package/docs/en/intlayer_with_astro_vanilla.md +3 -3
  532. package/docs/en/intlayer_with_astro_vue.md +3 -3
  533. package/docs/en/intlayer_with_create_react_app.md +3 -3
  534. package/docs/en/intlayer_with_elysia.md +4 -4
  535. package/docs/en/intlayer_with_express.md +3 -3
  536. package/docs/en/intlayer_with_fastify.md +4 -4
  537. package/docs/en/intlayer_with_hono.md +3 -3
  538. package/docs/en/intlayer_with_lynx+react.md +3 -3
  539. package/docs/en/intlayer_with_nestjs.md +3 -3
  540. package/docs/en/intlayer_with_next-i18next.md +3 -3
  541. package/docs/en/intlayer_with_nextjs_14.md +3 -3
  542. package/docs/en/intlayer_with_nextjs_15.md +3 -3
  543. package/docs/en/intlayer_with_nextjs_16.md +3 -3
  544. package/docs/en/intlayer_with_nextjs_compiler.md +3 -3
  545. package/docs/en/intlayer_with_nextjs_no_locale_path.md +3 -3
  546. package/docs/en/intlayer_with_nextjs_page_router.md +3 -3
  547. package/docs/en/intlayer_with_nuxt.md +3 -3
  548. package/docs/en/intlayer_with_react_native+expo.md +3 -3
  549. package/docs/en/intlayer_with_react_router_v7.md +3 -3
  550. package/docs/en/intlayer_with_solid_start.md +3 -3
  551. package/docs/en/intlayer_with_svelte_kit.md +3 -3
  552. package/docs/en/intlayer_with_tanstack+solid.md +3 -3
  553. package/docs/en/intlayer_with_tanstack.md +3 -3
  554. package/docs/en/intlayer_with_vite+lit.md +3 -3
  555. package/docs/en/intlayer_with_vite+preact.md +3 -3
  556. package/docs/en/intlayer_with_vite+react.md +3 -3
  557. package/docs/en/intlayer_with_vite+react_compiler.md +3 -3
  558. package/docs/en/intlayer_with_vite+solid.md +3 -3
  559. package/docs/en/intlayer_with_vite+svelte.md +4 -12
  560. package/docs/en/intlayer_with_vite+vanilla.md +3 -3
  561. package/docs/en/intlayer_with_vite+vue.md +3 -3
  562. package/docs/en/migration_from_i18next_to_intlayer.md +3 -3
  563. package/docs/en/migration_from_next-i18next_to_intlayer.md +3 -3
  564. package/docs/en/migration_from_next-intl_to_intlayer.md +3 -3
  565. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  566. package/docs/en/migration_from_react-i18next_to_intlayer.md +3 -3
  567. package/docs/en/migration_from_vue-i18n_to_intlayer.md +3 -3
  568. package/docs/en-GB/bundle_optimization.md +186 -186
  569. package/docs/en-GB/intlayer_with_adonisjs.md +3 -3
  570. package/docs/en-GB/intlayer_with_analog.md +3 -3
  571. package/docs/en-GB/intlayer_with_angular_19.md +3 -3
  572. package/docs/en-GB/intlayer_with_angular_21.md +3 -3
  573. package/docs/en-GB/intlayer_with_astro.md +3 -3
  574. package/docs/en-GB/intlayer_with_astro_lit.md +3 -3
  575. package/docs/en-GB/intlayer_with_astro_preact.md +3 -3
  576. package/docs/en-GB/intlayer_with_astro_react.md +3 -3
  577. package/docs/en-GB/intlayer_with_astro_solid.md +3 -3
  578. package/docs/en-GB/intlayer_with_astro_svelte.md +3 -3
  579. package/docs/en-GB/intlayer_with_astro_vanilla.md +3 -3
  580. package/docs/en-GB/intlayer_with_astro_vue.md +3 -3
  581. package/docs/en-GB/intlayer_with_create_react_app.md +3 -3
  582. package/docs/en-GB/intlayer_with_elysia.md +4 -4
  583. package/docs/en-GB/intlayer_with_express.md +3 -3
  584. package/docs/en-GB/intlayer_with_fastify.md +4 -4
  585. package/docs/en-GB/intlayer_with_hono.md +3 -3
  586. package/docs/en-GB/intlayer_with_lynx+react.md +3 -3
  587. package/docs/en-GB/intlayer_with_nestjs.md +3 -3
  588. package/docs/en-GB/intlayer_with_next-i18next.md +3 -3
  589. package/docs/en-GB/intlayer_with_nextjs_14.md +3 -3
  590. package/docs/en-GB/intlayer_with_nextjs_15.md +3 -3
  591. package/docs/en-GB/intlayer_with_nextjs_16.md +3 -3
  592. package/docs/en-GB/intlayer_with_nextjs_compiler.md +3 -3
  593. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +3 -3
  594. package/docs/en-GB/intlayer_with_nextjs_page_router.md +3 -3
  595. package/docs/en-GB/intlayer_with_nuxt.md +3 -3
  596. package/docs/en-GB/intlayer_with_react_native+expo.md +3 -3
  597. package/docs/en-GB/intlayer_with_react_router_v7.md +3 -3
  598. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +3 -3
  599. package/docs/en-GB/intlayer_with_solid_start.md +3 -3
  600. package/docs/en-GB/intlayer_with_svelte_kit.md +3 -3
  601. package/docs/en-GB/intlayer_with_tanstack+solid.md +3 -3
  602. package/docs/en-GB/intlayer_with_tanstack.md +3 -3
  603. package/docs/en-GB/intlayer_with_vite+lit.md +3 -3
  604. package/docs/en-GB/intlayer_with_vite+preact.md +3 -3
  605. package/docs/en-GB/intlayer_with_vite+react.md +3 -3
  606. package/docs/en-GB/intlayer_with_vite+react_compiler.md +3 -3
  607. package/docs/en-GB/intlayer_with_vite+solid.md +3 -3
  608. package/docs/en-GB/intlayer_with_vite+svelte.md +4 -12
  609. package/docs/en-GB/intlayer_with_vite+vanilla.md +3 -3
  610. package/docs/en-GB/intlayer_with_vite+vue.md +3 -3
  611. package/docs/en-GB/migration_from_i18next_to_intlayer.md +3 -3
  612. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +3 -3
  613. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +3 -3
  614. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  615. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +3 -3
  616. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +3 -3
  617. package/docs/es/bundle_optimization.md +186 -186
  618. package/docs/es/intlayer_with_adonisjs.md +3 -3
  619. package/docs/es/intlayer_with_analog.md +3 -3
  620. package/docs/es/intlayer_with_angular_19.md +3 -3
  621. package/docs/es/intlayer_with_angular_21.md +3 -3
  622. package/docs/es/intlayer_with_astro.md +3 -3
  623. package/docs/es/intlayer_with_astro_lit.md +3 -3
  624. package/docs/es/intlayer_with_astro_preact.md +3 -3
  625. package/docs/es/intlayer_with_astro_react.md +3 -3
  626. package/docs/es/intlayer_with_astro_solid.md +3 -3
  627. package/docs/es/intlayer_with_astro_svelte.md +3 -3
  628. package/docs/es/intlayer_with_astro_vanilla.md +3 -3
  629. package/docs/es/intlayer_with_astro_vue.md +3 -3
  630. package/docs/es/intlayer_with_create_react_app.md +3 -3
  631. package/docs/es/intlayer_with_elysia.md +4 -4
  632. package/docs/es/intlayer_with_express.md +3 -3
  633. package/docs/es/intlayer_with_fastify.md +4 -4
  634. package/docs/es/intlayer_with_hono.md +3 -3
  635. package/docs/es/intlayer_with_lynx+react.md +3 -3
  636. package/docs/es/intlayer_with_nestjs.md +3 -3
  637. package/docs/es/intlayer_with_next-i18next.md +3 -3
  638. package/docs/es/intlayer_with_nextjs_14.md +3 -3
  639. package/docs/es/intlayer_with_nextjs_15.md +3 -3
  640. package/docs/es/intlayer_with_nextjs_16.md +3 -3
  641. package/docs/es/intlayer_with_nextjs_compiler.md +3 -3
  642. package/docs/es/intlayer_with_nextjs_no_locale_path.md +3 -3
  643. package/docs/es/intlayer_with_nextjs_page_router.md +3 -3
  644. package/docs/es/intlayer_with_nuxt.md +3 -3
  645. package/docs/es/intlayer_with_react_native+expo.md +3 -3
  646. package/docs/es/intlayer_with_react_router_v7.md +3 -3
  647. package/docs/es/intlayer_with_solid_start.md +3 -3
  648. package/docs/es/intlayer_with_svelte_kit.md +3 -3
  649. package/docs/es/intlayer_with_tanstack+solid.md +3 -3
  650. package/docs/es/intlayer_with_tanstack.md +3 -3
  651. package/docs/es/intlayer_with_vite+lit.md +3 -3
  652. package/docs/es/intlayer_with_vite+preact.md +3 -3
  653. package/docs/es/intlayer_with_vite+react.md +3 -3
  654. package/docs/es/intlayer_with_vite+react_compiler.md +3 -3
  655. package/docs/es/intlayer_with_vite+solid.md +3 -3
  656. package/docs/es/intlayer_with_vite+svelte.md +4 -12
  657. package/docs/es/intlayer_with_vite+vanilla.md +3 -3
  658. package/docs/es/intlayer_with_vite+vue.md +3 -3
  659. package/docs/es/migration_from_i18next_to_intlayer.md +3 -3
  660. package/docs/es/migration_from_next-i18next_to_intlayer.md +3 -3
  661. package/docs/es/migration_from_next-intl_to_intlayer.md +3 -3
  662. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  663. package/docs/es/migration_from_react-i18next_to_intlayer.md +3 -3
  664. package/docs/es/migration_from_vue-i18n_to_intlayer.md +3 -3
  665. package/docs/fr/bundle_optimization.md +186 -186
  666. package/docs/fr/intlayer_with_adonisjs.md +3 -3
  667. package/docs/fr/intlayer_with_analog.md +3 -3
  668. package/docs/fr/intlayer_with_angular_19.md +3 -3
  669. package/docs/fr/intlayer_with_angular_21.md +3 -3
  670. package/docs/fr/intlayer_with_astro.md +3 -3
  671. package/docs/fr/intlayer_with_astro_lit.md +3 -3
  672. package/docs/fr/intlayer_with_astro_preact.md +3 -3
  673. package/docs/fr/intlayer_with_astro_react.md +3 -3
  674. package/docs/fr/intlayer_with_astro_solid.md +3 -3
  675. package/docs/fr/intlayer_with_astro_svelte.md +3 -3
  676. package/docs/fr/intlayer_with_astro_vanilla.md +3 -3
  677. package/docs/fr/intlayer_with_astro_vue.md +3 -3
  678. package/docs/fr/intlayer_with_create_react_app.md +3 -3
  679. package/docs/fr/intlayer_with_elysia.md +4 -4
  680. package/docs/fr/intlayer_with_express.md +3 -3
  681. package/docs/fr/intlayer_with_fastify.md +4 -4
  682. package/docs/fr/intlayer_with_hono.md +3 -3
  683. package/docs/fr/intlayer_with_lynx+react.md +3 -3
  684. package/docs/fr/intlayer_with_nestjs.md +3 -3
  685. package/docs/fr/intlayer_with_next-i18next.md +3 -3
  686. package/docs/fr/intlayer_with_nextjs_14.md +3 -3
  687. package/docs/fr/intlayer_with_nextjs_15.md +3 -3
  688. package/docs/fr/intlayer_with_nextjs_16.md +3 -3
  689. package/docs/fr/intlayer_with_nextjs_compiler.md +3 -3
  690. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +3 -3
  691. package/docs/fr/intlayer_with_nextjs_page_router.md +3 -3
  692. package/docs/fr/intlayer_with_nuxt.md +3 -3
  693. package/docs/fr/intlayer_with_react_native+expo.md +3 -3
  694. package/docs/fr/intlayer_with_react_router_v7.md +3 -3
  695. package/docs/fr/intlayer_with_solid_start.md +3 -3
  696. package/docs/fr/intlayer_with_svelte_kit.md +3 -3
  697. package/docs/fr/intlayer_with_tanstack+solid.md +3 -3
  698. package/docs/fr/intlayer_with_tanstack.md +3 -3
  699. package/docs/fr/intlayer_with_vite+lit.md +3 -3
  700. package/docs/fr/intlayer_with_vite+preact.md +3 -3
  701. package/docs/fr/intlayer_with_vite+react.md +3 -3
  702. package/docs/fr/intlayer_with_vite+react_compiler.md +3 -3
  703. package/docs/fr/intlayer_with_vite+solid.md +3 -3
  704. package/docs/fr/intlayer_with_vite+svelte.md +4 -12
  705. package/docs/fr/intlayer_with_vite+vanilla.md +3 -3
  706. package/docs/fr/intlayer_with_vite+vue.md +3 -3
  707. package/docs/fr/migration_from_i18next_to_intlayer.md +3 -3
  708. package/docs/fr/migration_from_next-i18next_to_intlayer.md +3 -3
  709. package/docs/fr/migration_from_next-intl_to_intlayer.md +3 -3
  710. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  711. package/docs/fr/migration_from_react-i18next_to_intlayer.md +3 -3
  712. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +3 -3
  713. package/docs/hi/bundle_optimization.md +186 -186
  714. package/docs/hi/intlayer_with_adonisjs.md +3 -3
  715. package/docs/hi/intlayer_with_analog.md +3 -3
  716. package/docs/hi/intlayer_with_angular_19.md +3 -3
  717. package/docs/hi/intlayer_with_angular_21.md +3 -3
  718. package/docs/hi/intlayer_with_astro.md +3 -3
  719. package/docs/hi/intlayer_with_astro_lit.md +3 -3
  720. package/docs/hi/intlayer_with_astro_preact.md +3 -3
  721. package/docs/hi/intlayer_with_astro_react.md +3 -3
  722. package/docs/hi/intlayer_with_astro_solid.md +3 -3
  723. package/docs/hi/intlayer_with_astro_svelte.md +3 -3
  724. package/docs/hi/intlayer_with_astro_vanilla.md +3 -3
  725. package/docs/hi/intlayer_with_astro_vue.md +3 -3
  726. package/docs/hi/intlayer_with_create_react_app.md +3 -3
  727. package/docs/hi/intlayer_with_elysia.md +4 -4
  728. package/docs/hi/intlayer_with_express.md +3 -3
  729. package/docs/hi/intlayer_with_fastify.md +4 -4
  730. package/docs/hi/intlayer_with_hono.md +3 -3
  731. package/docs/hi/intlayer_with_lynx+react.md +3 -3
  732. package/docs/hi/intlayer_with_nestjs.md +3 -3
  733. package/docs/hi/intlayer_with_next-i18next.md +3 -3
  734. package/docs/hi/intlayer_with_nextjs_14.md +3 -3
  735. package/docs/hi/intlayer_with_nextjs_15.md +3 -3
  736. package/docs/hi/intlayer_with_nextjs_16.md +3 -3
  737. package/docs/hi/intlayer_with_nextjs_compiler.md +3 -3
  738. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +3 -3
  739. package/docs/hi/intlayer_with_nextjs_page_router.md +3 -3
  740. package/docs/hi/intlayer_with_nuxt.md +3 -3
  741. package/docs/hi/intlayer_with_react_native+expo.md +3 -3
  742. package/docs/hi/intlayer_with_react_router_v7.md +3 -3
  743. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +3 -3
  744. package/docs/hi/intlayer_with_solid_start.md +3 -3
  745. package/docs/hi/intlayer_with_svelte_kit.md +3 -3
  746. package/docs/hi/intlayer_with_tanstack+solid.md +3 -3
  747. package/docs/hi/intlayer_with_tanstack.md +3 -3
  748. package/docs/hi/intlayer_with_vite+lit.md +3 -3
  749. package/docs/hi/intlayer_with_vite+preact.md +3 -3
  750. package/docs/hi/intlayer_with_vite+react.md +3 -3
  751. package/docs/hi/intlayer_with_vite+react_compiler.md +3 -3
  752. package/docs/hi/intlayer_with_vite+solid.md +3 -3
  753. package/docs/hi/intlayer_with_vite+svelte.md +4 -12
  754. package/docs/hi/intlayer_with_vite+vanilla.md +3 -3
  755. package/docs/hi/intlayer_with_vite+vue.md +3 -3
  756. package/docs/hi/migration_from_i18next_to_intlayer.md +3 -3
  757. package/docs/hi/migration_from_next-i18next_to_intlayer.md +3 -3
  758. package/docs/hi/migration_from_next-intl_to_intlayer.md +3 -3
  759. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  760. package/docs/hi/migration_from_react-i18next_to_intlayer.md +3 -3
  761. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +3 -3
  762. package/docs/hi/packages/intlayer/index.md +3 -3
  763. package/docs/id/bundle_optimization.md +186 -186
  764. package/docs/id/intlayer_with_adonisjs.md +3 -3
  765. package/docs/id/intlayer_with_analog.md +3 -3
  766. package/docs/id/intlayer_with_angular_19.md +3 -3
  767. package/docs/id/intlayer_with_angular_21.md +3 -3
  768. package/docs/id/intlayer_with_astro.md +3 -3
  769. package/docs/id/intlayer_with_astro_lit.md +3 -3
  770. package/docs/id/intlayer_with_astro_preact.md +3 -3
  771. package/docs/id/intlayer_with_astro_react.md +3 -3
  772. package/docs/id/intlayer_with_astro_solid.md +3 -3
  773. package/docs/id/intlayer_with_astro_svelte.md +3 -3
  774. package/docs/id/intlayer_with_astro_vanilla.md +3 -3
  775. package/docs/id/intlayer_with_astro_vue.md +3 -3
  776. package/docs/id/intlayer_with_create_react_app.md +3 -3
  777. package/docs/id/intlayer_with_elysia.md +4 -4
  778. package/docs/id/intlayer_with_express.md +3 -3
  779. package/docs/id/intlayer_with_fastify.md +4 -4
  780. package/docs/id/intlayer_with_hono.md +3 -3
  781. package/docs/id/intlayer_with_lynx+react.md +3 -3
  782. package/docs/id/intlayer_with_nestjs.md +3 -3
  783. package/docs/id/intlayer_with_next-i18next.md +3 -3
  784. package/docs/id/intlayer_with_nextjs_14.md +3 -3
  785. package/docs/id/intlayer_with_nextjs_15.md +3 -3
  786. package/docs/id/intlayer_with_nextjs_16.md +3 -3
  787. package/docs/id/intlayer_with_nextjs_compiler.md +3 -3
  788. package/docs/id/intlayer_with_nextjs_no_locale_path.md +3 -3
  789. package/docs/id/intlayer_with_nextjs_page_router.md +3 -3
  790. package/docs/id/intlayer_with_nuxt.md +3 -3
  791. package/docs/id/intlayer_with_react_native+expo.md +3 -3
  792. package/docs/id/intlayer_with_react_router_v7.md +3 -3
  793. package/docs/id/intlayer_with_solid_start.md +3 -3
  794. package/docs/id/intlayer_with_svelte_kit.md +3 -3
  795. package/docs/id/intlayer_with_tanstack+solid.md +3 -3
  796. package/docs/id/intlayer_with_tanstack.md +3 -3
  797. package/docs/id/intlayer_with_vite+lit.md +3 -3
  798. package/docs/id/intlayer_with_vite+preact.md +3 -3
  799. package/docs/id/intlayer_with_vite+react.md +3 -3
  800. package/docs/id/intlayer_with_vite+react_compiler.md +3 -3
  801. package/docs/id/intlayer_with_vite+solid.md +3 -3
  802. package/docs/id/intlayer_with_vite+svelte.md +4 -12
  803. package/docs/id/intlayer_with_vite+vanilla.md +3 -3
  804. package/docs/id/intlayer_with_vite+vue.md +3 -3
  805. package/docs/id/migration_from_i18next_to_intlayer.md +3 -3
  806. package/docs/id/migration_from_next-i18next_to_intlayer.md +3 -3
  807. package/docs/id/migration_from_next-intl_to_intlayer.md +3 -3
  808. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  809. package/docs/id/migration_from_react-i18next_to_intlayer.md +3 -3
  810. package/docs/id/migration_from_vue-i18n_to_intlayer.md +3 -3
  811. package/docs/it/bundle_optimization.md +186 -186
  812. package/docs/it/intlayer_with_adonisjs.md +3 -3
  813. package/docs/it/intlayer_with_analog.md +3 -3
  814. package/docs/it/intlayer_with_angular_19.md +3 -3
  815. package/docs/it/intlayer_with_angular_21.md +3 -3
  816. package/docs/it/intlayer_with_astro.md +3 -3
  817. package/docs/it/intlayer_with_astro_lit.md +3 -3
  818. package/docs/it/intlayer_with_astro_preact.md +3 -3
  819. package/docs/it/intlayer_with_astro_react.md +3 -3
  820. package/docs/it/intlayer_with_astro_solid.md +3 -3
  821. package/docs/it/intlayer_with_astro_svelte.md +3 -3
  822. package/docs/it/intlayer_with_astro_vanilla.md +3 -3
  823. package/docs/it/intlayer_with_astro_vue.md +3 -3
  824. package/docs/it/intlayer_with_create_react_app.md +3 -3
  825. package/docs/it/intlayer_with_elysia.md +4 -4
  826. package/docs/it/intlayer_with_express.md +3 -3
  827. package/docs/it/intlayer_with_fastify.md +4 -4
  828. package/docs/it/intlayer_with_hono.md +3 -3
  829. package/docs/it/intlayer_with_lynx+react.md +3 -3
  830. package/docs/it/intlayer_with_nestjs.md +3 -3
  831. package/docs/it/intlayer_with_next-i18next.md +3 -3
  832. package/docs/it/intlayer_with_nextjs_14.md +3 -3
  833. package/docs/it/intlayer_with_nextjs_15.md +3 -3
  834. package/docs/it/intlayer_with_nextjs_16.md +3 -3
  835. package/docs/it/intlayer_with_nextjs_compiler.md +3 -3
  836. package/docs/it/intlayer_with_nextjs_no_locale_path.md +3 -3
  837. package/docs/it/intlayer_with_nextjs_page_router.md +3 -3
  838. package/docs/it/intlayer_with_nuxt.md +3 -3
  839. package/docs/it/intlayer_with_react_native+expo.md +3 -3
  840. package/docs/it/intlayer_with_react_router_v7.md +3 -3
  841. package/docs/it/intlayer_with_solid_start.md +3 -3
  842. package/docs/it/intlayer_with_svelte_kit.md +3 -3
  843. package/docs/it/intlayer_with_tanstack+solid.md +3 -3
  844. package/docs/it/intlayer_with_tanstack.md +3 -3
  845. package/docs/it/intlayer_with_vite+lit.md +3 -3
  846. package/docs/it/intlayer_with_vite+preact.md +3 -3
  847. package/docs/it/intlayer_with_vite+react.md +3 -3
  848. package/docs/it/intlayer_with_vite+react_compiler.md +3 -3
  849. package/docs/it/intlayer_with_vite+solid.md +3 -3
  850. package/docs/it/intlayer_with_vite+svelte.md +4 -12
  851. package/docs/it/intlayer_with_vite+vanilla.md +3 -3
  852. package/docs/it/intlayer_with_vite+vue.md +3 -3
  853. package/docs/it/migration_from_i18next_to_intlayer.md +3 -3
  854. package/docs/it/migration_from_next-i18next_to_intlayer.md +3 -3
  855. package/docs/it/migration_from_next-intl_to_intlayer.md +3 -3
  856. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  857. package/docs/it/migration_from_react-i18next_to_intlayer.md +3 -3
  858. package/docs/it/migration_from_vue-i18n_to_intlayer.md +3 -3
  859. package/docs/ja/bundle_optimization.md +186 -186
  860. package/docs/ja/intlayer_with_adonisjs.md +3 -3
  861. package/docs/ja/intlayer_with_analog.md +3 -3
  862. package/docs/ja/intlayer_with_angular_19.md +3 -3
  863. package/docs/ja/intlayer_with_angular_21.md +3 -3
  864. package/docs/ja/intlayer_with_astro.md +3 -3
  865. package/docs/ja/intlayer_with_astro_lit.md +3 -3
  866. package/docs/ja/intlayer_with_astro_preact.md +3 -3
  867. package/docs/ja/intlayer_with_astro_react.md +3 -3
  868. package/docs/ja/intlayer_with_astro_solid.md +3 -3
  869. package/docs/ja/intlayer_with_astro_svelte.md +3 -3
  870. package/docs/ja/intlayer_with_astro_vanilla.md +3 -3
  871. package/docs/ja/intlayer_with_astro_vue.md +3 -3
  872. package/docs/ja/intlayer_with_create_react_app.md +3 -3
  873. package/docs/ja/intlayer_with_elysia.md +4 -4
  874. package/docs/ja/intlayer_with_express.md +3 -3
  875. package/docs/ja/intlayer_with_fastify.md +4 -4
  876. package/docs/ja/intlayer_with_hono.md +3 -3
  877. package/docs/ja/intlayer_with_lynx+react.md +3 -3
  878. package/docs/ja/intlayer_with_nestjs.md +3 -3
  879. package/docs/ja/intlayer_with_next-i18next.md +3 -3
  880. package/docs/ja/intlayer_with_nextjs_14.md +3 -3
  881. package/docs/ja/intlayer_with_nextjs_15.md +3 -3
  882. package/docs/ja/intlayer_with_nextjs_16.md +3 -3
  883. package/docs/ja/intlayer_with_nextjs_compiler.md +3 -3
  884. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +3 -3
  885. package/docs/ja/intlayer_with_nextjs_page_router.md +3 -3
  886. package/docs/ja/intlayer_with_nuxt.md +3 -3
  887. package/docs/ja/intlayer_with_react_native+expo.md +3 -3
  888. package/docs/ja/intlayer_with_react_router_v7.md +3 -3
  889. package/docs/ja/intlayer_with_solid_start.md +3 -3
  890. package/docs/ja/intlayer_with_svelte_kit.md +3 -3
  891. package/docs/ja/intlayer_with_tanstack+solid.md +3 -3
  892. package/docs/ja/intlayer_with_tanstack.md +3 -3
  893. package/docs/ja/intlayer_with_vite+lit.md +3 -3
  894. package/docs/ja/intlayer_with_vite+preact.md +3 -3
  895. package/docs/ja/intlayer_with_vite+react.md +3 -3
  896. package/docs/ja/intlayer_with_vite+react_compiler.md +3 -3
  897. package/docs/ja/intlayer_with_vite+solid.md +3 -3
  898. package/docs/ja/intlayer_with_vite+svelte.md +4 -12
  899. package/docs/ja/intlayer_with_vite+vanilla.md +3 -3
  900. package/docs/ja/intlayer_with_vite+vue.md +3 -3
  901. package/docs/ja/migration_from_i18next_to_intlayer.md +3 -3
  902. package/docs/ja/migration_from_next-i18next_to_intlayer.md +3 -3
  903. package/docs/ja/migration_from_next-intl_to_intlayer.md +3 -3
  904. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  905. package/docs/ja/migration_from_react-i18next_to_intlayer.md +3 -3
  906. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +3 -3
  907. package/docs/ko/bundle_optimization.md +186 -186
  908. package/docs/ko/intlayer_with_adonisjs.md +3 -3
  909. package/docs/ko/intlayer_with_analog.md +3 -3
  910. package/docs/ko/intlayer_with_angular_19.md +3 -3
  911. package/docs/ko/intlayer_with_angular_21.md +3 -3
  912. package/docs/ko/intlayer_with_astro.md +3 -3
  913. package/docs/ko/intlayer_with_astro_lit.md +3 -3
  914. package/docs/ko/intlayer_with_astro_preact.md +3 -3
  915. package/docs/ko/intlayer_with_astro_react.md +3 -3
  916. package/docs/ko/intlayer_with_astro_solid.md +3 -3
  917. package/docs/ko/intlayer_with_astro_svelte.md +3 -3
  918. package/docs/ko/intlayer_with_astro_vanilla.md +3 -3
  919. package/docs/ko/intlayer_with_astro_vue.md +3 -3
  920. package/docs/ko/intlayer_with_create_react_app.md +3 -3
  921. package/docs/ko/intlayer_with_elysia.md +4 -4
  922. package/docs/ko/intlayer_with_express.md +3 -3
  923. package/docs/ko/intlayer_with_fastify.md +4 -4
  924. package/docs/ko/intlayer_with_hono.md +3 -3
  925. package/docs/ko/intlayer_with_lynx+react.md +3 -3
  926. package/docs/ko/intlayer_with_nestjs.md +3 -3
  927. package/docs/ko/intlayer_with_next-i18next.md +3 -3
  928. package/docs/ko/intlayer_with_nextjs_14.md +3 -3
  929. package/docs/ko/intlayer_with_nextjs_15.md +3 -3
  930. package/docs/ko/intlayer_with_nextjs_16.md +3 -3
  931. package/docs/ko/intlayer_with_nextjs_compiler.md +3 -3
  932. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +3 -3
  933. package/docs/ko/intlayer_with_nextjs_page_router.md +3 -3
  934. package/docs/ko/intlayer_with_nuxt.md +3 -3
  935. package/docs/ko/intlayer_with_react_native+expo.md +3 -3
  936. package/docs/ko/intlayer_with_react_router_v7.md +3 -3
  937. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +3 -3
  938. package/docs/ko/intlayer_with_solid_start.md +3 -3
  939. package/docs/ko/intlayer_with_svelte_kit.md +3 -3
  940. package/docs/ko/intlayer_with_tanstack+solid.md +3 -3
  941. package/docs/ko/intlayer_with_tanstack.md +3 -3
  942. package/docs/ko/intlayer_with_vite+lit.md +3 -3
  943. package/docs/ko/intlayer_with_vite+preact.md +3 -3
  944. package/docs/ko/intlayer_with_vite+react.md +3 -3
  945. package/docs/ko/intlayer_with_vite+react_compiler.md +3 -3
  946. package/docs/ko/intlayer_with_vite+solid.md +3 -3
  947. package/docs/ko/intlayer_with_vite+svelte.md +4 -12
  948. package/docs/ko/intlayer_with_vite+vanilla.md +3 -3
  949. package/docs/ko/intlayer_with_vite+vue.md +3 -3
  950. package/docs/ko/migration_from_i18next_to_intlayer.md +3 -3
  951. package/docs/ko/migration_from_next-i18next_to_intlayer.md +3 -3
  952. package/docs/ko/migration_from_next-intl_to_intlayer.md +3 -3
  953. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  954. package/docs/ko/migration_from_react-i18next_to_intlayer.md +3 -3
  955. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +3 -3
  956. package/docs/nl/bundle_optimization.md +186 -186
  957. package/docs/nl/intlayer_with_angular_21.md +3 -3
  958. package/docs/nl/intlayer_with_fastify.md +4 -4
  959. package/docs/nl/intlayer_with_hono.md +3 -3
  960. package/docs/nl/intlayer_with_vite+lit.md +3 -3
  961. package/docs/nl/intlayer_with_vite+vanilla.md +3 -3
  962. package/docs/pl/bundle_optimization.md +186 -186
  963. package/docs/pl/intlayer_with_adonisjs.md +3 -3
  964. package/docs/pl/intlayer_with_analog.md +3 -3
  965. package/docs/pl/intlayer_with_angular_19.md +3 -3
  966. package/docs/pl/intlayer_with_angular_21.md +3 -3
  967. package/docs/pl/intlayer_with_astro.md +3 -3
  968. package/docs/pl/intlayer_with_astro_lit.md +3 -3
  969. package/docs/pl/intlayer_with_astro_preact.md +3 -3
  970. package/docs/pl/intlayer_with_astro_react.md +3 -3
  971. package/docs/pl/intlayer_with_astro_solid.md +3 -3
  972. package/docs/pl/intlayer_with_astro_svelte.md +3 -3
  973. package/docs/pl/intlayer_with_astro_vanilla.md +3 -3
  974. package/docs/pl/intlayer_with_astro_vue.md +3 -3
  975. package/docs/pl/intlayer_with_create_react_app.md +3 -3
  976. package/docs/pl/intlayer_with_elysia.md +4 -4
  977. package/docs/pl/intlayer_with_express.md +3 -3
  978. package/docs/pl/intlayer_with_fastify.md +4 -4
  979. package/docs/pl/intlayer_with_hono.md +3 -3
  980. package/docs/pl/intlayer_with_lynx+react.md +3 -3
  981. package/docs/pl/intlayer_with_nestjs.md +3 -3
  982. package/docs/pl/intlayer_with_next-i18next.md +3 -3
  983. package/docs/pl/intlayer_with_nextjs_14.md +3 -3
  984. package/docs/pl/intlayer_with_nextjs_15.md +3 -3
  985. package/docs/pl/intlayer_with_nextjs_16.md +3 -3
  986. package/docs/pl/intlayer_with_nextjs_compiler.md +3 -3
  987. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +3 -3
  988. package/docs/pl/intlayer_with_nextjs_page_router.md +3 -3
  989. package/docs/pl/intlayer_with_nuxt.md +3 -3
  990. package/docs/pl/intlayer_with_react_native+expo.md +3 -3
  991. package/docs/pl/intlayer_with_react_router_v7.md +3 -3
  992. package/docs/pl/intlayer_with_solid_start.md +3 -3
  993. package/docs/pl/intlayer_with_svelte_kit.md +3 -3
  994. package/docs/pl/intlayer_with_tanstack+solid.md +3 -3
  995. package/docs/pl/intlayer_with_tanstack.md +3 -3
  996. package/docs/pl/intlayer_with_vite+lit.md +3 -3
  997. package/docs/pl/intlayer_with_vite+preact.md +3 -3
  998. package/docs/pl/intlayer_with_vite+react.md +3 -3
  999. package/docs/pl/intlayer_with_vite+react_compiler.md +3 -3
  1000. package/docs/pl/intlayer_with_vite+solid.md +3 -3
  1001. package/docs/pl/intlayer_with_vite+svelte.md +4 -12
  1002. package/docs/pl/intlayer_with_vite+vanilla.md +3 -3
  1003. package/docs/pl/intlayer_with_vite+vue.md +3 -3
  1004. package/docs/pl/migration_from_i18next_to_intlayer.md +3 -3
  1005. package/docs/pl/migration_from_next-i18next_to_intlayer.md +3 -3
  1006. package/docs/pl/migration_from_next-intl_to_intlayer.md +3 -3
  1007. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  1008. package/docs/pl/migration_from_react-i18next_to_intlayer.md +3 -3
  1009. package/docs/pl/migration_from_vue-i18n_to_intlayer.md +3 -3
  1010. package/docs/pt/bundle_optimization.md +186 -186
  1011. package/docs/pt/intlayer_with_adonisjs.md +3 -3
  1012. package/docs/pt/intlayer_with_analog.md +3 -3
  1013. package/docs/pt/intlayer_with_angular_19.md +3 -3
  1014. package/docs/pt/intlayer_with_angular_21.md +3 -3
  1015. package/docs/pt/intlayer_with_astro.md +3 -3
  1016. package/docs/pt/intlayer_with_astro_lit.md +3 -3
  1017. package/docs/pt/intlayer_with_astro_preact.md +3 -3
  1018. package/docs/pt/intlayer_with_astro_react.md +3 -3
  1019. package/docs/pt/intlayer_with_astro_solid.md +3 -3
  1020. package/docs/pt/intlayer_with_astro_svelte.md +3 -3
  1021. package/docs/pt/intlayer_with_astro_vanilla.md +3 -3
  1022. package/docs/pt/intlayer_with_astro_vue.md +3 -3
  1023. package/docs/pt/intlayer_with_create_react_app.md +3 -3
  1024. package/docs/pt/intlayer_with_elysia.md +4 -4
  1025. package/docs/pt/intlayer_with_express.md +3 -3
  1026. package/docs/pt/intlayer_with_fastify.md +4 -4
  1027. package/docs/pt/intlayer_with_hono.md +3 -3
  1028. package/docs/pt/intlayer_with_lynx+react.md +3 -3
  1029. package/docs/pt/intlayer_with_nestjs.md +3 -3
  1030. package/docs/pt/intlayer_with_next-i18next.md +3 -3
  1031. package/docs/pt/intlayer_with_nextjs_14.md +3 -3
  1032. package/docs/pt/intlayer_with_nextjs_15.md +3 -3
  1033. package/docs/pt/intlayer_with_nextjs_16.md +3 -3
  1034. package/docs/pt/intlayer_with_nextjs_compiler.md +3 -3
  1035. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +3 -3
  1036. package/docs/pt/intlayer_with_nextjs_page_router.md +3 -3
  1037. package/docs/pt/intlayer_with_nuxt.md +3 -3
  1038. package/docs/pt/intlayer_with_react_native+expo.md +3 -3
  1039. package/docs/pt/intlayer_with_react_router_v7.md +3 -3
  1040. package/docs/pt/intlayer_with_solid_start.md +3 -3
  1041. package/docs/pt/intlayer_with_svelte_kit.md +3 -3
  1042. package/docs/pt/intlayer_with_tanstack+solid.md +3 -3
  1043. package/docs/pt/intlayer_with_tanstack.md +3 -3
  1044. package/docs/pt/intlayer_with_vite+lit.md +3 -3
  1045. package/docs/pt/intlayer_with_vite+preact.md +3 -3
  1046. package/docs/pt/intlayer_with_vite+react.md +3 -3
  1047. package/docs/pt/intlayer_with_vite+react_compiler.md +3 -3
  1048. package/docs/pt/intlayer_with_vite+solid.md +3 -3
  1049. package/docs/pt/intlayer_with_vite+svelte.md +4 -12
  1050. package/docs/pt/intlayer_with_vite+vanilla.md +3 -3
  1051. package/docs/pt/intlayer_with_vite+vue.md +3 -3
  1052. package/docs/pt/migration_from_i18next_to_intlayer.md +3 -3
  1053. package/docs/pt/migration_from_next-i18next_to_intlayer.md +3 -3
  1054. package/docs/pt/migration_from_next-intl_to_intlayer.md +3 -3
  1055. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  1056. package/docs/pt/migration_from_react-i18next_to_intlayer.md +3 -3
  1057. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +3 -3
  1058. package/docs/ru/bundle_optimization.md +186 -186
  1059. package/docs/ru/intlayer_with_adonisjs.md +3 -3
  1060. package/docs/ru/intlayer_with_analog.md +3 -3
  1061. package/docs/ru/intlayer_with_angular_19.md +3 -3
  1062. package/docs/ru/intlayer_with_angular_21.md +3 -3
  1063. package/docs/ru/intlayer_with_astro.md +3 -3
  1064. package/docs/ru/intlayer_with_astro_lit.md +3 -3
  1065. package/docs/ru/intlayer_with_astro_preact.md +3 -3
  1066. package/docs/ru/intlayer_with_astro_react.md +3 -3
  1067. package/docs/ru/intlayer_with_astro_solid.md +3 -3
  1068. package/docs/ru/intlayer_with_astro_svelte.md +3 -3
  1069. package/docs/ru/intlayer_with_astro_vanilla.md +3 -3
  1070. package/docs/ru/intlayer_with_astro_vue.md +3 -3
  1071. package/docs/ru/intlayer_with_create_react_app.md +3 -3
  1072. package/docs/ru/intlayer_with_elysia.md +4 -4
  1073. package/docs/ru/intlayer_with_express.md +3 -3
  1074. package/docs/ru/intlayer_with_fastify.md +4 -4
  1075. package/docs/ru/intlayer_with_hono.md +3 -3
  1076. package/docs/ru/intlayer_with_lynx+react.md +3 -3
  1077. package/docs/ru/intlayer_with_nestjs.md +3 -3
  1078. package/docs/ru/intlayer_with_next-i18next.md +3 -3
  1079. package/docs/ru/intlayer_with_nextjs_14.md +3 -3
  1080. package/docs/ru/intlayer_with_nextjs_15.md +3 -3
  1081. package/docs/ru/intlayer_with_nextjs_16.md +3 -3
  1082. package/docs/ru/intlayer_with_nextjs_compiler.md +3 -3
  1083. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +3 -3
  1084. package/docs/ru/intlayer_with_nextjs_page_router.md +3 -3
  1085. package/docs/ru/intlayer_with_nuxt.md +3 -3
  1086. package/docs/ru/intlayer_with_react_native+expo.md +3 -3
  1087. package/docs/ru/intlayer_with_react_router_v7.md +3 -3
  1088. package/docs/ru/intlayer_with_solid_start.md +3 -3
  1089. package/docs/ru/intlayer_with_svelte_kit.md +3 -3
  1090. package/docs/ru/intlayer_with_tanstack+solid.md +3 -3
  1091. package/docs/ru/intlayer_with_tanstack.md +3 -3
  1092. package/docs/ru/intlayer_with_vite+lit.md +3 -3
  1093. package/docs/ru/intlayer_with_vite+preact.md +3 -3
  1094. package/docs/ru/intlayer_with_vite+react.md +3 -3
  1095. package/docs/ru/intlayer_with_vite+react_compiler.md +3 -3
  1096. package/docs/ru/intlayer_with_vite+solid.md +3 -3
  1097. package/docs/ru/intlayer_with_vite+svelte.md +4 -12
  1098. package/docs/ru/intlayer_with_vite+vanilla.md +3 -3
  1099. package/docs/ru/intlayer_with_vite+vue.md +3 -3
  1100. package/docs/ru/migration_from_i18next_to_intlayer.md +3 -3
  1101. package/docs/ru/migration_from_next-i18next_to_intlayer.md +3 -3
  1102. package/docs/ru/migration_from_next-intl_to_intlayer.md +3 -3
  1103. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  1104. package/docs/ru/migration_from_react-i18next_to_intlayer.md +3 -3
  1105. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +3 -3
  1106. package/docs/tr/bundle_optimization.md +186 -186
  1107. package/docs/tr/intlayer_with_adonisjs.md +3 -3
  1108. package/docs/tr/intlayer_with_analog.md +3 -3
  1109. package/docs/tr/intlayer_with_angular_19.md +3 -3
  1110. package/docs/tr/intlayer_with_angular_21.md +3 -3
  1111. package/docs/tr/intlayer_with_astro.md +3 -3
  1112. package/docs/tr/intlayer_with_astro_lit.md +3 -3
  1113. package/docs/tr/intlayer_with_astro_preact.md +3 -3
  1114. package/docs/tr/intlayer_with_astro_react.md +3 -3
  1115. package/docs/tr/intlayer_with_astro_solid.md +3 -3
  1116. package/docs/tr/intlayer_with_astro_svelte.md +3 -3
  1117. package/docs/tr/intlayer_with_astro_vanilla.md +3 -3
  1118. package/docs/tr/intlayer_with_astro_vue.md +3 -3
  1119. package/docs/tr/intlayer_with_create_react_app.md +3 -3
  1120. package/docs/tr/intlayer_with_elysia.md +4 -4
  1121. package/docs/tr/intlayer_with_express.md +3 -3
  1122. package/docs/tr/intlayer_with_fastify.md +4 -4
  1123. package/docs/tr/intlayer_with_hono.md +3 -3
  1124. package/docs/tr/intlayer_with_lynx+react.md +3 -3
  1125. package/docs/tr/intlayer_with_nestjs.md +3 -3
  1126. package/docs/tr/intlayer_with_next-i18next.md +3 -3
  1127. package/docs/tr/intlayer_with_nextjs_14.md +3 -3
  1128. package/docs/tr/intlayer_with_nextjs_15.md +3 -3
  1129. package/docs/tr/intlayer_with_nextjs_16.md +3 -3
  1130. package/docs/tr/intlayer_with_nextjs_compiler.md +3 -3
  1131. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +3 -3
  1132. package/docs/tr/intlayer_with_nextjs_page_router.md +3 -3
  1133. package/docs/tr/intlayer_with_nuxt.md +3 -3
  1134. package/docs/tr/intlayer_with_react_native+expo.md +3 -3
  1135. package/docs/tr/intlayer_with_react_router_v7.md +3 -3
  1136. package/docs/tr/intlayer_with_solid_start.md +3 -3
  1137. package/docs/tr/intlayer_with_svelte_kit.md +3 -3
  1138. package/docs/tr/intlayer_with_tanstack+solid.md +3 -3
  1139. package/docs/tr/intlayer_with_tanstack.md +3 -3
  1140. package/docs/tr/intlayer_with_vite+lit.md +3 -3
  1141. package/docs/tr/intlayer_with_vite+preact.md +3 -3
  1142. package/docs/tr/intlayer_with_vite+react.md +3 -3
  1143. package/docs/tr/intlayer_with_vite+react_compiler.md +3 -3
  1144. package/docs/tr/intlayer_with_vite+solid.md +3 -3
  1145. package/docs/tr/intlayer_with_vite+svelte.md +4 -12
  1146. package/docs/tr/intlayer_with_vite+vanilla.md +3 -3
  1147. package/docs/tr/intlayer_with_vite+vue.md +3 -3
  1148. package/docs/tr/migration_from_i18next_to_intlayer.md +3 -3
  1149. package/docs/tr/migration_from_next-i18next_to_intlayer.md +3 -3
  1150. package/docs/tr/migration_from_next-intl_to_intlayer.md +3 -3
  1151. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  1152. package/docs/tr/migration_from_react-i18next_to_intlayer.md +3 -3
  1153. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +3 -3
  1154. package/docs/uk/bundle_optimization.md +186 -186
  1155. package/docs/uk/intlayer_with_adonisjs.md +3 -3
  1156. package/docs/uk/intlayer_with_analog.md +3 -3
  1157. package/docs/uk/intlayer_with_angular_19.md +3 -3
  1158. package/docs/uk/intlayer_with_angular_21.md +3 -3
  1159. package/docs/uk/intlayer_with_astro.md +3 -3
  1160. package/docs/uk/intlayer_with_astro_lit.md +3 -3
  1161. package/docs/uk/intlayer_with_astro_preact.md +3 -3
  1162. package/docs/uk/intlayer_with_astro_react.md +3 -3
  1163. package/docs/uk/intlayer_with_astro_solid.md +3 -3
  1164. package/docs/uk/intlayer_with_astro_svelte.md +3 -3
  1165. package/docs/uk/intlayer_with_astro_vanilla.md +3 -3
  1166. package/docs/uk/intlayer_with_astro_vue.md +3 -3
  1167. package/docs/uk/intlayer_with_create_react_app.md +3 -3
  1168. package/docs/uk/intlayer_with_elysia.md +4 -4
  1169. package/docs/uk/intlayer_with_express.md +3 -3
  1170. package/docs/uk/intlayer_with_fastify.md +4 -4
  1171. package/docs/uk/intlayer_with_hono.md +3 -3
  1172. package/docs/uk/intlayer_with_lynx+react.md +3 -3
  1173. package/docs/uk/intlayer_with_nestjs.md +3 -3
  1174. package/docs/uk/intlayer_with_next-i18next.md +3 -3
  1175. package/docs/uk/intlayer_with_nextjs_14.md +3 -3
  1176. package/docs/uk/intlayer_with_nextjs_15.md +3 -3
  1177. package/docs/uk/intlayer_with_nextjs_16.md +3 -3
  1178. package/docs/uk/intlayer_with_nextjs_compiler.md +3 -3
  1179. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +3 -3
  1180. package/docs/uk/intlayer_with_nextjs_page_router.md +3 -3
  1181. package/docs/uk/intlayer_with_nuxt.md +3 -3
  1182. package/docs/uk/intlayer_with_react_native+expo.md +3 -3
  1183. package/docs/uk/intlayer_with_react_router_v7.md +3 -3
  1184. package/docs/uk/intlayer_with_solid_start.md +3 -3
  1185. package/docs/uk/intlayer_with_svelte_kit.md +3 -3
  1186. package/docs/uk/intlayer_with_tanstack+solid.md +3 -3
  1187. package/docs/uk/intlayer_with_tanstack.md +3 -3
  1188. package/docs/uk/intlayer_with_vite+lit.md +3 -3
  1189. package/docs/uk/intlayer_with_vite+preact.md +3 -3
  1190. package/docs/uk/intlayer_with_vite+react.md +3 -3
  1191. package/docs/uk/intlayer_with_vite+react_compiler.md +3 -3
  1192. package/docs/uk/intlayer_with_vite+solid.md +3 -3
  1193. package/docs/uk/intlayer_with_vite+svelte.md +4 -12
  1194. package/docs/uk/intlayer_with_vite+vanilla.md +3 -3
  1195. package/docs/uk/intlayer_with_vite+vue.md +3 -3
  1196. package/docs/uk/migration_from_i18next_to_intlayer.md +3 -3
  1197. package/docs/uk/migration_from_next-i18next_to_intlayer.md +3 -3
  1198. package/docs/uk/migration_from_next-intl_to_intlayer.md +3 -3
  1199. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  1200. package/docs/uk/migration_from_react-i18next_to_intlayer.md +3 -3
  1201. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +3 -3
  1202. package/docs/ur/bundle_optimization.md +186 -186
  1203. package/docs/ur/intlayer_with_angular_21.md +3 -3
  1204. package/docs/ur/intlayer_with_fastify.md +4 -4
  1205. package/docs/ur/intlayer_with_hono.md +3 -3
  1206. package/docs/ur/intlayer_with_vite+lit.md +3 -3
  1207. package/docs/ur/intlayer_with_vite+vanilla.md +3 -3
  1208. package/docs/vi/bundle_optimization.md +186 -186
  1209. package/docs/vi/intlayer_with_adonisjs.md +3 -3
  1210. package/docs/vi/intlayer_with_analog.md +3 -3
  1211. package/docs/vi/intlayer_with_angular_19.md +3 -3
  1212. package/docs/vi/intlayer_with_angular_21.md +3 -3
  1213. package/docs/vi/intlayer_with_astro.md +3 -3
  1214. package/docs/vi/intlayer_with_astro_lit.md +3 -3
  1215. package/docs/vi/intlayer_with_astro_preact.md +3 -3
  1216. package/docs/vi/intlayer_with_astro_react.md +3 -3
  1217. package/docs/vi/intlayer_with_astro_solid.md +3 -3
  1218. package/docs/vi/intlayer_with_astro_svelte.md +3 -3
  1219. package/docs/vi/intlayer_with_astro_vanilla.md +3 -3
  1220. package/docs/vi/intlayer_with_astro_vue.md +3 -3
  1221. package/docs/vi/intlayer_with_create_react_app.md +3 -3
  1222. package/docs/vi/intlayer_with_elysia.md +4 -4
  1223. package/docs/vi/intlayer_with_express.md +3 -3
  1224. package/docs/vi/intlayer_with_fastify.md +4 -4
  1225. package/docs/vi/intlayer_with_hono.md +3 -3
  1226. package/docs/vi/intlayer_with_lynx+react.md +3 -3
  1227. package/docs/vi/intlayer_with_nestjs.md +3 -3
  1228. package/docs/vi/intlayer_with_next-i18next.md +3 -3
  1229. package/docs/vi/intlayer_with_nextjs_14.md +3 -3
  1230. package/docs/vi/intlayer_with_nextjs_15.md +3 -3
  1231. package/docs/vi/intlayer_with_nextjs_16.md +3 -3
  1232. package/docs/vi/intlayer_with_nextjs_compiler.md +3 -3
  1233. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +3 -3
  1234. package/docs/vi/intlayer_with_nextjs_page_router.md +3 -3
  1235. package/docs/vi/intlayer_with_nuxt.md +3 -3
  1236. package/docs/vi/intlayer_with_react_native+expo.md +3 -3
  1237. package/docs/vi/intlayer_with_react_router_v7.md +3 -3
  1238. package/docs/vi/intlayer_with_solid_start.md +3 -3
  1239. package/docs/vi/intlayer_with_svelte_kit.md +3 -3
  1240. package/docs/vi/intlayer_with_tanstack+solid.md +3 -3
  1241. package/docs/vi/intlayer_with_tanstack.md +3 -3
  1242. package/docs/vi/intlayer_with_vite+lit.md +3 -3
  1243. package/docs/vi/intlayer_with_vite+preact.md +3 -3
  1244. package/docs/vi/intlayer_with_vite+react.md +3 -3
  1245. package/docs/vi/intlayer_with_vite+react_compiler.md +3 -3
  1246. package/docs/vi/intlayer_with_vite+solid.md +3 -3
  1247. package/docs/vi/intlayer_with_vite+svelte.md +4 -12
  1248. package/docs/vi/intlayer_with_vite+vanilla.md +3 -3
  1249. package/docs/vi/intlayer_with_vite+vue.md +3 -3
  1250. package/docs/vi/migration_from_i18next_to_intlayer.md +3 -3
  1251. package/docs/vi/migration_from_next-i18next_to_intlayer.md +3 -3
  1252. package/docs/vi/migration_from_next-intl_to_intlayer.md +3 -3
  1253. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  1254. package/docs/vi/migration_from_react-i18next_to_intlayer.md +3 -3
  1255. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +3 -3
  1256. package/docs/zh/bundle_optimization.md +186 -186
  1257. package/docs/zh/intlayer_with_adonisjs.md +3 -3
  1258. package/docs/zh/intlayer_with_analog.md +3 -3
  1259. package/docs/zh/intlayer_with_angular_19.md +3 -3
  1260. package/docs/zh/intlayer_with_angular_21.md +3 -3
  1261. package/docs/zh/intlayer_with_astro.md +3 -3
  1262. package/docs/zh/intlayer_with_astro_lit.md +3 -3
  1263. package/docs/zh/intlayer_with_astro_preact.md +3 -3
  1264. package/docs/zh/intlayer_with_astro_react.md +3 -3
  1265. package/docs/zh/intlayer_with_astro_solid.md +3 -3
  1266. package/docs/zh/intlayer_with_astro_svelte.md +3 -3
  1267. package/docs/zh/intlayer_with_astro_vanilla.md +3 -3
  1268. package/docs/zh/intlayer_with_astro_vue.md +3 -3
  1269. package/docs/zh/intlayer_with_create_react_app.md +3 -3
  1270. package/docs/zh/intlayer_with_elysia.md +4 -4
  1271. package/docs/zh/intlayer_with_express.md +3 -3
  1272. package/docs/zh/intlayer_with_fastify.md +4 -4
  1273. package/docs/zh/intlayer_with_hono.md +3 -3
  1274. package/docs/zh/intlayer_with_lynx+react.md +3 -3
  1275. package/docs/zh/intlayer_with_nestjs.md +3 -3
  1276. package/docs/zh/intlayer_with_next-i18next.md +3 -3
  1277. package/docs/zh/intlayer_with_nextjs_14.md +3 -3
  1278. package/docs/zh/intlayer_with_nextjs_15.md +3 -3
  1279. package/docs/zh/intlayer_with_nextjs_16.md +3 -3
  1280. package/docs/zh/intlayer_with_nextjs_compiler.md +3 -3
  1281. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +3 -3
  1282. package/docs/zh/intlayer_with_nextjs_page_router.md +3 -3
  1283. package/docs/zh/intlayer_with_nuxt.md +3 -3
  1284. package/docs/zh/intlayer_with_react_native+expo.md +3 -3
  1285. package/docs/zh/intlayer_with_react_router_v7.md +3 -3
  1286. package/docs/zh/intlayer_with_solid_start.md +3 -3
  1287. package/docs/zh/intlayer_with_svelte_kit.md +3 -3
  1288. package/docs/zh/intlayer_with_tanstack+solid.md +3 -3
  1289. package/docs/zh/intlayer_with_tanstack.md +3 -3
  1290. package/docs/zh/intlayer_with_vite+lit.md +3 -3
  1291. package/docs/zh/intlayer_with_vite+preact.md +3 -3
  1292. package/docs/zh/intlayer_with_vite+react.md +3 -3
  1293. package/docs/zh/intlayer_with_vite+react_compiler.md +3 -3
  1294. package/docs/zh/intlayer_with_vite+solid.md +3 -3
  1295. package/docs/zh/intlayer_with_vite+svelte.md +4 -12
  1296. package/docs/zh/intlayer_with_vite+vanilla.md +3 -3
  1297. package/docs/zh/intlayer_with_vite+vue.md +3 -3
  1298. package/docs/zh/migration_from_i18next_to_intlayer.md +3 -3
  1299. package/docs/zh/migration_from_next-i18next_to_intlayer.md +3 -3
  1300. package/docs/zh/migration_from_next-intl_to_intlayer.md +3 -3
  1301. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
  1302. package/docs/zh/migration_from_react-i18next_to_intlayer.md +3 -3
  1303. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +3 -3
  1304. package/docs/zh-TW/bundle_optimization.md +186 -186
  1305. package/docs/zh-TW/intlayer_with_angular_21.md +3 -3
  1306. package/package.json +8 -8
  1307. package/src/generated/blog.entry.ts +329 -0
@@ -0,0 +1,280 @@
1
+ ---
2
+ createdAt: 2026-09-02
3
+ updatedAt: 2026-09-02
4
+ title: "TanStack Start i18n: locale routing, SSR and the type tax"
5
+ description: How to wire i18n into TanStack Start, a $locale route segment, beforeLoad negotiation, SSR and prerender, and why the generated route tree fights back.
6
+ keywords:
7
+ - tanstack start i18n
8
+ - TanStack Router locale
9
+ - TanStack Start internationalization
10
+ - locale routing
11
+ - react-i18next
12
+ - SSR hydration
13
+ - prerender
14
+ slugs:
15
+ - blog
16
+ - i18n-technologies
17
+ - frameworks
18
+ - tanstack-start
19
+ author: aymericzip
20
+ ---
21
+
22
+ # TanStack Start i18n: locale routing, SSR and the type tax
23
+
24
+ TanStack Start ships no i18n layer, and unlike Next.js or Nuxt there is no first-party module to fill the gap. So the interesting question is not "which library", it is how a locale fits into a generated, type-safe route tree without breaking every `Link` in the app. This post covers the wiring: the route segment, the negotiation, SSR and prerender, and the honest state of the options.
25
+
26
+ <iframe title="The best i18n solution for Tanstack Start? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&amp;origin=https://intlayer.org&amp;controls=0&amp;rel=1"/>
27
+
28
+ ## Table of Contents
29
+
30
+ <TOC/>
31
+
32
+ ## Put the locale in the URL, not in a cookie
33
+
34
+ The tempting shortcut is a cookie: read it on the server, set the locale, done. It works in development and fails everywhere else. One URL then serves several languages, so you cannot emit `hreflang`, you cannot prerender a page per locale, and a crawler sees whichever language your negotiation happens to pick.
35
+
36
+ A route segment fixes all three at once. In TanStack Router's file-based routing that means a directory:
37
+
38
+ ```txt
39
+ src/routes/
40
+ __root.tsx
41
+ {-$locale}/
42
+ route.tsx // locale layout + validation
43
+ index.tsx // /en, /fr, /
44
+ about.tsx // /en/about, /fr/about
45
+ $.tsx // catch-all 404 inside the locale
46
+ ```
47
+
48
+ The braces make the segment optional. `{-$locale}` matches `/about` and `/fr/about`, which is what you want when the default locale has no prefix. If every locale is prefixed, use plain `$locale` instead. Be careful stacking it with other dynamic segments in the same route, `{-$locale}/$slug` is ambiguous by construction.
49
+
50
+ ## Negotiate in `beforeLoad`, not in a component
51
+
52
+ `beforeLoad` runs on the server and on the client, before the route renders, and it can throw a redirect. That is the right hook for locale work: an unknown prefix must 404 rather than silently resolve.
53
+
54
+ ```tsx fileName="src/routes/{-$locale}/route.tsx"
55
+ import { createFileRoute, Outlet, redirect } from "@tanstack/react-router";
56
+ import { validatePrefix } from "intlayer";
57
+
58
+ export const Route = createFileRoute("/{-$locale}")({
59
+ beforeLoad: ({ params }) => {
60
+ const { isValid, localePrefix } = validatePrefix(params.locale);
61
+
62
+ if (!isValid) {
63
+ throw redirect({
64
+ to: "/{-$locale}/404",
65
+ params: { locale: localePrefix },
66
+ });
67
+ }
68
+ },
69
+ component: Outlet,
70
+ });
71
+ ```
72
+
73
+ Without that check, `/xx/about` matches the segment, renders in your default language, and gets indexed as a duplicate of `/about`. This is the single most common i18n bug I see on file-based routers.
74
+
75
+ `Accept-Language` negotiation for a first visit belongs one layer lower, in server middleware, so the redirect happens before the router boots. Intlayer's Vite plugin registers a proxy that does this and writes the locale cookie; if you wire it yourself, remember to exclude `/api` and asset paths.
76
+
77
+ ## The type tax nobody mentions
78
+
79
+ This is the part that surprises people. TanStack Router generates `routeTree.gen.ts` and types every `to` prop against it. Add a locale directory and every path in your app changes shape:
80
+
81
+ ```tsx
82
+ // before
83
+ <Link to="/about" />
84
+
85
+ // after: this no longer type-checks
86
+ <Link to="/{-$locale}/about" params={{ locale: "fr" }} />
87
+ ```
88
+
89
+ You do not want that literal in three hundred call sites. The usual fix is one wrapper component that strips the prefix from the public type and re-adds it at runtime:
90
+
91
+ ```tsx fileName="src/components/localized-link.tsx"
92
+ import { Link, type LinkComponentProps } from "@tanstack/react-router";
93
+ import { getPrefix } from "intlayer";
94
+ import { useLocale } from "react-intlayer";
95
+
96
+ export const LOCALE_ROUTE = "{-$locale}" as const;
97
+
98
+ export type StripLocalePrefix<T extends string | undefined> =
99
+ T extends `/${typeof LOCALE_ROUTE}/${infer Rest}` ? `/${Rest}` : T;
100
+
101
+ export type To = StripLocalePrefix<LinkComponentProps["to"]>;
102
+
103
+ export const LocalizedLink = (
104
+ props: { to?: To } & Omit<LinkComponentProps, "to">
105
+ ) => {
106
+ const { locale } = useLocale();
107
+ const { localePrefix } = getPrefix(locale);
108
+
109
+ return (
110
+ <Link
111
+ {...props}
112
+ to={`/${LOCALE_ROUTE}${props.to}` as LinkComponentProps["to"]}
113
+ params={{
114
+ locale: localePrefix,
115
+ ...(typeof props.params === "object" ? props.params : {}),
116
+ }}
117
+ />
118
+ );
119
+ };
120
+ ```
121
+
122
+ Do the same for `useNavigate`. Budget an afternoon for this and a codemod pass over existing links: it is real work, and it is independent of which translation library you pick.
123
+
124
+ ## SSR, hydration and prerender
125
+
126
+ Resolve the locale from route params in the root shell, and server and client cannot disagree, because both read the same URL:
127
+
128
+ ```tsx fileName="src/routes/__root.tsx"
129
+ const localeRoute = getRouteApi("/{-$locale}");
130
+
131
+ function RootDocument({ children }: { children: ReactNode }) {
132
+ const locale = localeRoute.useParams()?.locale ?? defaultLocale;
133
+
134
+ return (
135
+ <html lang={locale} dir={getHTMLTextDir(locale)}>
136
+ <head>
137
+ <HeadContent />
138
+ </head>
139
+ <body>
140
+ <IntlayerProvider locale={locale}>{children}</IntlayerProvider>
141
+ <Scripts />
142
+ </body>
143
+ </html>
144
+ );
145
+ }
146
+ ```
147
+
148
+ Read the locale from `navigator.language` or `localStorage` during render instead, and you get a hydration mismatch on every visitor whose browser disagrees with the server. The symptom is React error #418 in production and text that flickers from one language to another.
149
+
150
+ Prerendering is where the URL choice pays off. You expand your path list across locales and hand TanStack Start a page per localized route:
151
+
152
+ ```ts fileName="vite.config.ts"
153
+ import { localeFlatMap } from "intlayer";
154
+
155
+ const pathList = ["", "/about", "/404"];
156
+
157
+ const localizedPages = localeFlatMap(({ urlPrefix }) =>
158
+ pathList.map((path) => ({
159
+ path: `${urlPrefix}${path}`,
160
+ prerender: { enabled: true },
161
+ }))
162
+ );
163
+ ```
164
+
165
+ One gotcha specific to this stack: if you colocate content files inside `src/routes`, the router will try to turn them into routes. Exclude them with `routeFileIgnorePattern` in the `tanstackStart()` plugin options.
166
+
167
+ ## Loaders vs static strings
168
+
169
+ Two different things get conflated. UI strings ("Add to cart", "Loading") are static, known at build time, and belong in the component, not in a loader. Localized _data_ (a product description from your CMS) is a fetch, and belongs in `loader` so it streams with the route.
170
+
171
+ Route metadata sits between the two, because `head` runs outside the React tree. You have three options and they trade off differently:
172
+
173
+ | | Sync read in `head` | Async read in `head` | Read in `loader`, use in `head` |
174
+ | :--------------- | :------------------- | :----------------------------------------------------------------- | :------------------------------------ |
175
+ | `head` signature | synchronous | `async` | synchronous, reads `loaderData` |
176
+ | Locales shipped | all declared locales | requested locale only | requested locale only |
177
+ | Cost | bigger route chunk | dictionary import on the head critical path, so slightly worse LCP | content threaded through `loaderData` |
178
+
179
+ The loader variant with `staleTime: Infinity` is the one I would default to on a real site: loaders of matched routes run in parallel, and the result is cached per locale.
180
+
181
+ ## The options today
182
+
183
+ The ecosystem here is thin. Most TanStack Start apps wire `react-i18next` by hand, because that is what the React answers on the internet describe, and it does work.
184
+
185
+ | Option | How you wire it | Note |
186
+ | :-------------- | :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
187
+ | `react-i18next` | Manual: provider in the root shell, catalogs per namespace, your own loader for SSR | Largest ecosystem. Around 17.3 kB in the [TanStack benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/benchmark/tanstack.md), and namespace discipline is on you |
188
+ | `use-intl` | Manual, same shape, ICU messages | Avoids the Next.js specific traps of `next-intl`; leakage problem is identical |
189
+ | Lingui | `lingui extract` / `lingui compile` in the build | Compile step, ICU. I found the workflow heavier than it needed to be with no clear win here |
190
+ | Paraglide | Codegen of message functions | The advertised tree-shaking did not hold up in the benchmark, and it re-reads the locale from storage per node instead of a store |
191
+ | Intlayer | Vite plugin, build-time compilation | Covers routing, prerender and sitemap; smaller ecosystem |
192
+
193
+ None of them solve the route-tree typing problem for you. That wrapper is yours to write either way.
194
+
195
+ ## Intlayer on TanStack Start
196
+
197
+ Intlayer's model is one content file per component, compiled at build time into per-component dictionaries. For this stack the practical difference is that locale routing, the prerender pass and the sitemap are covered by the same package rather than assembled from three.
198
+
199
+ ```ts fileName="src/routes/{-$locale}/about.content.ts"
200
+ import { t, type Dictionary } from "intlayer";
201
+
202
+ export default {
203
+ key: "about",
204
+ content: {
205
+ title: t({ en: "About", fr: "À propos", es: "Acerca de" }),
206
+ intro: t({
207
+ en: "We build tooling for multilingual apps.",
208
+ fr: "Nous construisons des outils pour les apps multilingues.",
209
+ es: "Creamos herramientas para apps multilingües.",
210
+ }),
211
+ },
212
+ } satisfies Dictionary;
213
+ ```
214
+
215
+ ```tsx fileName="src/routes/{-$locale}/about.tsx"
216
+ import { createFileRoute } from "@tanstack/react-router";
217
+ import { useIntlayer } from "react-intlayer";
218
+
219
+ export const Route = createFileRoute("/{-$locale}/about")({
220
+ component: () => {
221
+ const { title, intro } = useIntlayer("about");
222
+ return (
223
+ <>
224
+ <h1>{title}</h1>
225
+ <p>{intro}</p>
226
+ </>
227
+ );
228
+ },
229
+ });
230
+ ```
231
+
232
+ `useIntlayer` inside components, `getIntlayer` or `getIntlayerAsync` outside the React tree (route `head`, loaders, server functions). In a server function, `getLocale` reads the cookie or header for you. Setup is `npx intlayer init`, plus the `intlayer()` plugin in `vite.config.ts`. As a data point, intlayer.org itself runs on TanStack Start.
233
+
234
+ <Tabs defaultTab="code">
235
+ <Tab label="Code" value="code">
236
+
237
+ <iframe
238
+ src="https://ide.intlayer.org/aymericzip/intlayer-tanstack-start-template?file=intlayer.config.ts"
239
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
240
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
241
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
242
+ loading="lazy"
243
+ />
244
+
245
+ </Tab>
246
+ <Tab label="Demo" value="demo">
247
+
248
+ <iframe
249
+ src="https://intlayer-tanstack-start-template.vercel.app"
250
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
251
+ title="Demo - intlayer-tanstack-start-template"
252
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
253
+ loading="lazy"
254
+ />
255
+
256
+ </Tab>
257
+ </Tabs>
258
+
259
+ **What it costs you.** A build plugin is mandatory: no plugin, no dictionaries, and that includes your test runner config. The project is younger and much smaller than i18next, so when something breaks on a TanStack Start canary you are reading source, not Stack Overflow. ICU message format is not fully supported, which matters if a translation vendor delivers ICU strings today. And the per-component model means you cannot hand a translator one big JSON file without going through the CLI or the CMS.
260
+
261
+ Coming from an existing codebase, the [`@intlayer/react-i18next` compat adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/react-i18next.md) keeps `useTranslation()` and `t()` working while Intlayer serves the content, and the [migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/migration_from_react-i18next_to_intlayer.md) covers moving off it afterwards.
262
+
263
+ ## Common mistakes
264
+
265
+ - **Locale in a cookie only.** No `hreflang`, no prerender, one URL per page for every language. Fix the URL scheme first, pick the library second.
266
+ - **No prefix validation.** `/xx/about` rendering your default language is a duplicate-content bug that only shows up in Search Console, months later.
267
+ - **Reading the locale on the client during render.** Route params are the only source both sides agree on.
268
+ - **A `<button>` locale switcher.** Crawlers do not click. Render locale links as anchors pointing at the localized URL.
269
+ - **Content files inside `src/routes`.** They become routes unless you set `routeFileIgnorePattern`.
270
+ - **Awaiting dictionaries serially in `head`.** Use `Promise.all` if a head reads more than one.
271
+
272
+ ## Going further
273
+
274
+ - [Full TanStack Start setup guide, step by step](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_tanstack.md)
275
+ - [TanStack Start i18n benchmark: bundle size, leakage, locale-switch timings](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/benchmark/tanstack.md)
276
+ - [Drop-in `react-i18next` compat adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/react-i18next.md) and the [react-i18next migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/migration_from_react-i18next_to_intlayer.md)
277
+ - [The wider React i18n landscape](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/react.md)
278
+ - [Per-component vs centralized i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/per-component_vs_centralized_i18n.md)
279
+ - [Getting hreflang right on a multilingual site](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/hreflang_guide_multilingual_seo.md)
280
+ - [Routing modes, domains and URL schemes in the configuration reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md)
@@ -1,16 +1,16 @@
1
1
  ---
2
2
  createdAt: 2025-01-16
3
- updatedAt: 2026-05-31
4
- title: Best Vue i18n Libraries 2026 — Compared by DX & Bundle
5
- description: Best solution for bundle size, SEO, performances & maintainability. Make your Vue app multilingual in 2026, LLM translation, Agent Skills & MCP.
3
+ updatedAt: 2026-09-02
4
+ title: Vue i18n - how it works and where it breaks at scale
5
+ description: How vue-i18n works in Vue 3, the three places it hurts once your app grows (key sprawl, untyped keys, bundle size), and the alternatives worth a look.
6
6
  keywords:
7
- - Vue
8
- - i18n
9
- - multilingual
10
- - SEO
11
- - Internationalization
12
- - Blog
13
- - JavaScript
7
+ - vue i18n
8
+ - vue-i18n
9
+ - Vue 3 internationalization
10
+ - useI18n
11
+ - Nuxt i18n
12
+ - Composition API
13
+ - Intlayer
14
14
  slugs:
15
15
  - blog
16
16
  - i18n-technologies
@@ -19,127 +19,199 @@ slugs:
19
19
  author: aymericzip
20
20
  ---
21
21
 
22
- # Exploring i18n Solutions to Translate Your Vue.js Website
22
+ # Vue i18n: how it works, and where it starts to hurt
23
23
 
24
- In an increasingly globalized digital landscape, extending your Vue.js website’s reach to users in multiple languages is no longer a “nice-to-have” it’s a competitive necessity. Internationalization (i18n) enables developers to manage translations and adapt their applications for various locales while preserving SEO value, user experience, and maintainable code structures. In this article, we’ll explore different approaches ranging from dedicated libraries to custom-coded solutions that help you integrate i18n into your Vue.js project smoothly.
24
+ If you searched "vue i18n" you have already found `vue-i18n`, and it is the right default for most Vue apps. What is less documented is how it behaves once you pass ten pages and five locales. This post covers the mechanics, the three friction points that show up at scale, and what the alternatives actually change.
25
25
 
26
- ---
26
+ <iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/IE3XWkZ6a5U?autoplay=0&amp;origin=https://intlayer.org&amp;controls=0&amp;rel=1"/>
27
27
 
28
- ![i18n illustration](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
28
+ ## Table of Contents
29
29
 
30
- ## What is Internationalization (i18n)?
30
+ <TOC/>
31
31
 
32
- Internationalization (i18n) is the practice of preparing a software application (or website) for multiple languages and cultural conventions. Within the Vue.js ecosystem, this includes establishing how text, dates, numbers, currency, and other localizable elements can be adapted to various locales. By setting up i18n from the start, you ensure an organized, scalable structure for adding new languages and handling future localization needs.
32
+ ## The two things "Vue i18n" means
33
33
 
34
- To learn more about i18n basics, check out our reference: [What is Internationalization (i18n)? Definition and Challenges](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/what_is_internationalization.md).
34
+ One is the practice: shipping a Vue app in several languages, with localized routes, formatted dates and numbers, and correct `hreflang`. The other is `vue-i18n`, the Intlify library that most Vue apps use to do it.
35
35
 
36
- ---
36
+ They are not the same decision. Picking the library is ten minutes; the practice is what you live with for the next two years. If the concept itself is new, start with [what internationalization actually covers](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/what_is_internationalization.md) and the [difference between i18n, l10n and t9n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/i18n_meaning.md).
37
37
 
38
- ## The Translation Challenge for Vue Applications
38
+ ## How vue-i18n works
39
39
 
40
- Translating a Vue.js application brings its own set of challenges:
40
+ You build one message catalog per locale and register it as a plugin.
41
41
 
42
- - **Component-Based Architecture:** Similar to React, Vue’s single-file components (SFCs) may each contain text and locale-specific settings. You’ll need a strategy to centralize translation strings.
43
- - **Dynamic Content:** Data fetched from APIs or manipulated in real time requires a flexible approach to load and apply translations on the fly.
44
- - **SEO Considerations:** With server-side rendering via Nuxt or other SSR setups, it’s critical to manage localized URLs, meta tags, and sitemaps to maintain strong SEO.
45
- - **State and Reactive Context:** Ensuring that the current locale is maintained across routes and components reactively updating texts and formats requires a thoughtful approach, especially when dealing with Vuex or Pinia for state management.
46
- - **Development Overhead:** Keeping translation files organized, consistent, and up to date can quickly become a major task if not managed carefully.
42
+ ```ts fileName="src/i18n.ts"
43
+ import { createI18n } from "vue-i18n";
47
44
 
48
- ---
45
+ export const i18n = createI18n({
46
+ legacy: false, // Composition API mode
47
+ locale: "en",
48
+ fallbackLocale: "en",
49
+ messages: {
50
+ en: {
51
+ cart: { total: "Total", items: "no item | one item | {count} items" },
52
+ },
53
+ fr: {
54
+ cart: {
55
+ total: "Total",
56
+ items: "aucun article | un article | {count} articles",
57
+ },
58
+ },
59
+ },
60
+ });
61
+ ```
49
62
 
50
- ## Leading i18n Solutions for Vue.js
63
+ Inside a single-file component you read from it with `useI18n()`:
51
64
 
52
- Below are several popular libraries and approaches you can use to incorporate internationalization into your Vue applications. Each aims to streamline translation, SEO, and performance considerations in different ways.
65
+ ```vue fileName="src/components/CartSummary.vue"
66
+ <script setup lang="ts">
67
+ import { useI18n } from "vue-i18n";
53
68
 
54
- ---
69
+ const { t, n, locale } = useI18n();
70
+ </script>
55
71
 
56
- ### 1. Intlayer
72
+ <template>
73
+ <h2>{{ t("cart.total") }}</h2>
74
+ <p>{{ t("cart.items", { count: 3 }, 3) }}</p>
75
+ <p>{{ n(42.5, "currency") }}</p>
76
+ </template>
77
+ ```
57
78
 
58
- > Website: [https://intlayer.org/](https://intlayer.org/)
79
+ Three mechanics matter more than the API surface:
59
80
 
60
- **Overview**
61
- **Intlayer** is an open-source i18n solution that aims to simplify multi-language support across multiple frameworks, including **Vue**. It emphasizes a declarative approach, strong typing, and SSR support in other ecosystems, although SSR is not typical in standard Vue.
81
+ - **Legacy vs Composition mode.** `legacy: true` keeps the Vue 2 behaviour and exposes `$t` / `$tc` globally on every component instance. `legacy: false` gives you `useI18n()` and proper types. New apps should use `false`; mixing the two in one codebase is where most "why is `$t` undefined here" bugs come from.
82
+ - **Messages are compiled, not interpolated at read time.** Each message string is turned into a render function. With the default build that compilation happens in the browser, at runtime. Adding `@intlify/unplugin-vue-i18n` moves it to build time and lets you ship the runtime-only build, which is both smaller and CSP-friendly, since the runtime compiler relies on `new Function`.
83
+ - **Plurals are pipe-separated, not ICU.** `"no item | one item | {count} items"` is vue-i18n's own format. It is compact, but it is not portable to any other tool, and translators need to be told about it.
62
84
 
63
- **Key Features**
85
+ ## Where it starts to hurt
64
86
 
65
- - **Declarative Translation**: Define translation dictionaries either at the widget level or in a centralized file for a cleaner architecture.
66
- - **TypeScript & Autocompletion (Web)**: While this feature primarily benefits web frameworks, the typed translation approach can still guide structured code in Vue.
67
- - **Asynchronous Loading**: Load translation assets dynamically, potentially reducing the initial bundle size for multi-language apps.
68
- - **Integration with Vue**: A basic integration can be set up to leverage the Intlayer approach for structured translations.
87
+ ### 1. Keys are strings with no link back to the component
69
88
 
70
- ### 2. Vue I18n
89
+ `t("cart.items")` is a string. Nothing connects it to `CartSummary.vue`. Delete the component and the key stays in every locale file forever; rename a nesting level and you find out at runtime, in the locale nobody tests.
71
90
 
72
- > Website: [https://vue-i18n.intlify.dev/](https://vue-i18n.intlify.dev/)
91
+ At ten components this is fine. At three hundred, across a `locales/en.json` that several teams edit, key sprawl is the actual maintenance cost, not the translation itself.
73
92
 
74
- **Overview**
75
- **Vue I18n** is the most widely used localization library in the Vue ecosystem, providing a straightforward and feature-rich way to handle translations in Vue 2, Vue 3, and Nuxt-based projects.
93
+ ### 2. Key type safety is opt-in and awkward
76
94
 
77
- **Key Features**
95
+ vue-i18n can be typed by passing a message schema generic to `createI18n`, which gives autocompletion on `t()`. It works, but you have to wire it yourself, and it fights with lazily loaded catalogs: the schema describes messages that may not be loaded yet, so the types stop reflecting runtime reality.
78
96
 
79
- - **Simple Setup**
80
- Quickly configure localized messages and switch locales using a well-documented API.
81
- - **Reactivity**
82
- Locale changes instantly update text across components thanks to Vue’s reactivity system.
83
- - **Pluralization & Date/Number Formatting**
84
- Built-in methods handle common use cases, including plural forms, date/time formatting, number/currency formatting, and more.
85
- - **Nuxt.js Support**
86
- Nuxt I18n module extends Vue I18n for automatic route generation, SEO-friendly URLs, and sitemaps for each locale.
87
- - **TypeScript Support**
88
- Can be integrated with TypeScript-based Vue apps, though autocompletion for translation keys may require additional configuration.
89
- - **SSR & Code Splitting**
90
- Works seamlessly with Nuxt for server-side rendering, and supports code splitting for translation files to boost performance.
97
+ Out of the box, a typo in a key produces a warning in the console and the raw key on screen.
91
98
 
92
- **Considerations**
99
+ ### 3. Lazy loading exists, scoping does not
93
100
 
94
- - **Configuration Overhead**
95
- Large or multi-team projects may require a clear folder structure and naming conventions to manage translation files efficiently.
96
- - **Plugin Ecosystem**
97
- While robust, you may need to carefully select from multiple plugins or modules (Nuxt I18n, Vue I18n, etc.) to build a perfect setup.
101
+ vue-i18n supports async messages, so you can avoid shipping all locales at once:
98
102
 
99
- ---
103
+ ```ts
104
+ const messages = await import(`./locales/${locale}.json`);
105
+ i18n.global.setLocaleMessage(locale, messages.default);
106
+ ```
100
107
 
101
- ### 3. LinguiJS (Vue Integration)
108
+ What it does not give you is a per-page split. A locale catalog is one object; loading it loads every page's copy. In a plain SPA nobody notices. In a Nuxt app with `@nuxt/i18n` and more than ten pages, every route ends up carrying the messages of every other route.
102
109
 
103
- > Website: [https://lingui.js.org/](https://lingui.js.org/)
110
+ The [Vue i18n benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/benchmark/vue.md) measures the library cost separately from the content cost, on a 10-page / 10-locale app: `vue-i18n@11.4.0` weighs about **24.3 kB** after bundling and minification, roughly **9× `vue-intlayer`**. `fluent-vue` comes in around **92.7 kB**, about 34×, and its Vite plugin loads all content in all languages into every page.
104
111
 
105
- **Overview**
106
- Originally known for its React integration, **LinguiJS** also offers a Vue plugin that focuses on minimal runtime overhead and an automated message extraction workflow.
112
+ ## Vite and Nuxt are not the same setup
107
113
 
108
- **Key Features**
114
+ | Concern | Plain Vite + Vue Router | Nuxt |
115
+ | :----------------------------- | :---------------------- | :------------------------------------------- |
116
+ | Locale-prefixed routes | You write them | `@nuxt/i18n` generates them |
117
+ | `hreflang`, sitemap, redirects | Manual | Module handles most of it |
118
+ | SSR / prerender | Not by default | Yes, and messages must resolve on the server |
119
+ | Catalog splitting | Your problem | Still your problem |
109
120
 
110
- - **Automatic Message Extraction**
111
- Use the Lingui CLI to scan your Vue code for translations, reducing manual entry of message IDs.
112
- - **Compact & Performant**
113
- Compiled translations lead to a smaller runtime footprint, essential for high-performing Vue applications.
114
- - **TypeScript & Autocompletion**
115
- While slightly more manual to configure, typed IDs and catalogs can improve the developer experience in TypeScript-based Vue projects.
116
- - **Nuxt & SSR Compatibility**
117
- Can integrate with SSR setups to serve fully localized pages, improving SEO and performance for each supported locale.
118
- - **Pluralization & Formatting**
119
- Built-in support for plurals, number formatting, dates, and more aligning with ICU message format standards.
121
+ Most "vue i18n is slow" reports come from Nuxt apps, because SSR makes the catalog cost visible in the HTML payload as well as the JS bundle.
120
122
 
121
- **Considerations**
123
+ ## The alternatives
122
124
 
123
- - **Less Vue-Specific Documentation**
124
- While LinguiJS has official support for Vue, its documentation primarily focuses on React; you may need to rely on community examples.
125
- - **Smaller Community**
126
- Compared to Vue I18n, there’s a relatively smaller ecosystem. Officially maintained plugins and third-party add-ons can be more limited.
125
+ | Library | Content model | Type safety on keys | Note |
126
+ | :----------- | :-------------------------------------------------------- | :-------------------------- | :---------------------------------------------------------------- |
127
+ | `vue-i18n` | Central catalogs per locale, optional SFC `<i18n>` blocks | Opt-in via a schema generic | The ecosystem default, largest community, ICU-adjacent formatting |
128
+ | `fluent-vue` | `.ftl` files (Mozilla Fluent) | None | Nice message syntax, very heavy in the benchmark |
129
+ | Intlayer | One `.content.ts` per component, colocated | Generated, on by default | Requires a build plugin, smaller ecosystem |
127
130
 
128
- ---
131
+ ## Intlayer: content declared next to the component
132
+
133
+ Intlayer's difference is one design choice: the content lives in a file beside the component that renders it, and a build plugin compiles those declarations into per-component dictionaries.
134
+
135
+ ```ts fileName="src/components/cartSummary.content.ts"
136
+ import { t, type Dictionary } from "intlayer";
137
+
138
+ const cartSummaryContent = {
139
+ key: "cart-summary",
140
+ content: {
141
+ total: t({ en: "Total", fr: "Total", es: "Total" }),
142
+ vatNotice: t({
143
+ en: "VAT included",
144
+ fr: "TVA incluse",
145
+ es: "IVA incluido",
146
+ }),
147
+ },
148
+ } satisfies Dictionary;
149
+
150
+ export default cartSummaryContent;
151
+ ```
152
+
153
+ ```vue fileName="src/components/CartSummary.vue"
154
+ <script setup lang="ts">
155
+ import { useIntlayer } from "vue-intlayer";
156
+
157
+ const { total, vatNotice } = useIntlayer("cart-summary");
158
+ </script>
159
+
160
+ <template>
161
+ <h2><total /></h2>
162
+ <small>{{ vatNotice }}</small>
163
+ </template>
164
+ ```
165
+
166
+ Both forms work: `<total />` renders a node that stays editable in the visual editor, `{{ vatNotice }}` gives you the plain string. Locale switching goes through `useLocale()`, which returns `locale`, `availableLocales` and `setLocale`.
167
+
168
+ Because the key is declared in one file and consumed in one component, deleting the component deletes its content, and the compiler ships only the entries a route renders.
169
+
170
+ <Tabs defaultTab="code">
171
+ <Tab label="Code" value="code">
172
+
173
+ <iframe
174
+ src="https://ide.intlayer.org/aymericzip/intlayer-vite-vue-template?file=intlayer.config.ts"
175
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
176
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
177
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
178
+ loading="lazy"
179
+ />
180
+
181
+ </Tab>
182
+ <Tab label="Demo" value="demo">
183
+
184
+ <iframe
185
+ src="https://intlayer-vite-vue-template.vercel.app"
186
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
187
+ title="Demo - intlayer-vite-vue-template"
188
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
189
+ loading="lazy"
190
+ />
191
+
192
+ </Tab>
193
+ </Tabs>
194
+
195
+ Setup is `npx intlayer init`, then the `intlayer()` plugin in `vite.config.ts` or `"nuxt-intlayer"` in `nuxt.config.ts`.
196
+
197
+ **What it costs you.** A build step is mandatory: no bundler plugin, no dictionaries. The ecosystem is much smaller than vue-i18n's, so there are fewer Stack Overflow answers and fewer third-party integrations. ICU message format is still a work in progress, so if your translation vendor delivers ICU strings today, that is a real blocker.
198
+
199
+ If you already have a vue-i18n codebase, the [`@intlayer/vue-i18n` compat adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/vue-i18n.md) aliases `vue-i18n` imports at the bundler level, so `useI18n()`, `$t`, pipe plurals and the `v-t` directive keep working while the content is served by Intlayer. The [step-by-step migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/migration_from_vue-i18n_to_intlayer.md) covers moving off the adapter afterwards, component by component.
129
200
 
130
- ## Final Thoughts
201
+ ## Trade-offs and common mistakes
131
202
 
132
- When deciding on an i18n solution for your Vue.js application:
203
+ - **Shipping the full vue-i18n build.** If you are not using `@intlify/unplugin-vue-i18n`, you are shipping the message compiler to the browser and paying for it on every page.
204
+ - **Leaving `legacy: true` in a Vue 3 app.** It works, but you lose `useI18n()` typing and you carry the Vue 2 compatibility layer.
205
+ - **Treating locale files as append-only.** Nothing warns you about dead keys. Budget a periodic sweep, or pick a model where content is scoped to a component.
206
+ - **Switching locale with a button instead of a link.** Crawlers do not click. Render locale switchers as `<a>` / `NuxtLink` pointing at the localized URL.
207
+ - **Assuming a per-component model is free.** It is not: you gain scoping and types, you lose the ability to hand a translator one big JSON file without tooling.
133
208
 
134
- 1. **Assess Your Requirements**
135
- Project size, developer skill set, and the complexity of localization all factor into your choice.
136
- 2. **Evaluate SSR Compatibility**
137
- If you’re building a Nuxt app or otherwise depending on SSR, confirm that your chosen approach supports server rendering smoothly.
138
- 3. **TypeScript & Autocompletion**
139
- If you value a strong developer experience with minimal translation key typos, ensure your solution offers typed definitions or can be integrated with them.
140
- 4. **Manageability & Scalability**
141
- As you add more locales or expand your application, an organized translation file structure is crucial.
142
- 5. **SEO & Metadata**
143
- For multilingual sites to rank well, your solution should simplify localized meta tags, URLs, sitemaps, and `robots.txt` for each locale.
209
+ ## Going further
144
210
 
145
- No matter which path you choose Intlayer, Vue I18n, LinguiJS, or a custom-coded approach you’ll be well on your way to delivering a global-friendly Vue.js application. Each solution offers different trade-offs regarding performance, developer experience, and scalability. By carefully assessing your project’s needs, you can confidently pick the i18n setup that sets you and your multilingual audience up for success.
211
+ - [Vue i18n benchmark: bundle size, leakage and locale-switch timings](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/benchmark/vue.md)
212
+ - [Set up i18n in a Vite + Vue app](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_vite+vue.md)
213
+ - [Set up i18n in a Nuxt app](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nuxt.md)
214
+ - [Drop-in `vue-i18n` compat adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/vue-i18n.md) and the [full migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/migration_from_vue-i18n_to_intlayer.md)
215
+ - [vue-i18n vs Intlayer, feature by feature](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/vue-i18n_vs_intlayer.md)
216
+ - [Per-component vs centralized i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/per-component_vs_centralized_i18n.md)
217
+ - [How bundle optimization works at build time](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/bundle_optimization.md)
@@ -20,8 +20,6 @@ author: aymericzip
20
20
 
21
21
  # What is Internationalization (i18n)? Definition and challenges
22
22
 
23
- ![i18n illustration](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
24
-
25
23
  ## Understanding Internationalization (i18n)
26
24
 
27
25
  **Internationalization**, often abbreviated as **i18n**, is the process of designing and preparing an application to support multiple languages, cultures, and regional conventions **without** major changes to the codebase. The name i18n is derived from the fact that there are 18 letters between the **i** and the **n** in the word “internationalization.”