@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
@@ -1,16 +1,17 @@
1
1
  ---
2
2
  createdAt: 2025-01-16
3
- updatedAt: 2026-05-31
4
- title: Best Svelte i18n Libraries 2026 — Compared by DX & Bundle
5
- description: Best solution for bundle size, SEO, performances & maintainability. Make your Svelte app multilingual in 2026, LLM translation, Agent Skills & MCP.
3
+ updatedAt: 2026-09-02
4
+ title: "Svelte i18n: stores, runes, and what Svelte 5 changed"
5
+ description: Most Svelte i18n tutorials are written for Svelte 4 stores. How the store model works, what runes change, message compilation costs, and typed keys.
6
6
  keywords:
7
- - Svelte
8
- - i18n
9
- - multilingual
10
- - SEO
11
- - Internationalization
12
- - Blog
13
- - JavaScript
7
+ - svelte i18n
8
+ - Svelte internationalization
9
+ - svelte-i18n
10
+ - Svelte 5 runes
11
+ - Paraglide
12
+ - typesafe-i18n
13
+ - Vite
14
+ - Intlayer
14
15
  slugs:
15
16
  - blog
16
17
  - i18n-technologies
@@ -19,128 +20,195 @@ slugs:
19
20
  author: aymericzip
20
21
  ---
21
22
 
22
- # Exploring i18n Solutions to Translate Your Svelte Website
23
+ # Svelte i18n: stores, runes, and what actually changed in Svelte 5
23
24
 
24
- As the web continues to connect people across the globe, providing content in multiple languages is increasingly important. For developers working with **Svelte**, implementing i18n is essential to efficiently manage translations, maintain clean code, and uphold good SEO practices. In this article, we dive into various i18n solutions and workflows for Svelte helping you choose the one that best suits your project’s needs.
25
+ Almost every Svelte i18n tutorial you will find was written for Svelte 4, where a writable store was the only way to hold reactive locale state. Svelte 5 runes did not break those libraries, but they did change what idiomatic code looks like, and they made one long-standing pattern visibly wrong. This post covers the store model, what runes change, message compilation and bundle cost, typed keys, and how the current libraries compare.
25
26
 
26
- ---
27
+ ## Table of Contents
27
28
 
28
- ![i18n illustration](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
29
+ <TOC/>
29
30
 
30
- ## What is Internationalization (i18n)?
31
+ ## What "Svelte i18n" means here
31
32
 
32
- Internationalization, commonly abbreviated as i18n, is the process of designing and building your application so it can easily adapt to various languages, regions, and cultural conventions. In Svelte, this typically means setting up translation strings, localizing dates, times, and numbers, and ensuring the user interface can dynamically switch among different locales without major code rewrites.
33
+ This post is about Svelte the component framework, running on Vite, with no server. If you are on SvelteKit, locale routing and SSR request scoping are a separate set of problems, covered in [SvelteKit i18n: routing, SSR, and shared state](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/sveltekit.md).
33
34
 
34
- To learn more about i18n fundamentals, read our article: [What is Internationalization (i18n)? Definition and Challenges](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/what_is_internationalization.md).
35
+ Svelte ships nothing for i18n. No `$t`, no locale primitive, no message format. Every option below is a third-party choice, and the choice is mostly about where messages live and when they get compiled. If the vocabulary is new, start with [what internationalization actually covers](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/what_is_internationalization.md).
35
36
 
36
- ---
37
+ ## The store model, and why every tutorial uses it
37
38
 
38
- ## The Translation Challenge for Svelte Applications
39
+ `svelte-i18n` is the ecosystem default. You register locale loaders, initialise, then read from the `_` store:
39
40
 
40
- Translating a Svelte application can present several hurdles:
41
+ ```ts fileName="src/i18n.ts"
42
+ import { register, init, getLocaleFromNavigator } from "svelte-i18n";
41
43
 
42
- - **Single-File Components**: Svelte’s single-file component approach (where HTML, CSS, and JavaScript exist together) makes it easy for text to become scattered, requiring a strategy to centralize translations.
43
- - **Dynamic Content**: Data retrieved from APIs or user inputs adds complexity when ensuring content is translated on the fly.
44
- - **SEO Considerations**: If you’re using **SvelteKit** for server-side rendering (SSR), configuring localized URLs, meta tags, and sitemaps for effective SEO requires extra care.
45
- - **State & Routing**: Retaining the correct language across multiple routes and dynamic pages often involves orchestrating global state, route guards, or custom hooks in SvelteKit.
46
- - **Maintainability**: As your codebase and translation files grow, keeping everything well-organized and synchronized becomes a continuous effort.
44
+ register("en", () => import("./locales/en.json"));
45
+ register("fr", () => import("./locales/fr.json"));
47
46
 
48
- ---
47
+ init({
48
+ fallbackLocale: "en",
49
+ initialLocale: getLocaleFromNavigator(),
50
+ });
51
+ ```
49
52
 
50
- ## Leading i18n Solutions for Svelte
53
+ ```svelte fileName="src/lib/CartSummary.svelte"
54
+ <script>
55
+ import { _, locale } from "svelte-i18n";
56
+ </script>
51
57
 
52
- Svelte doesn’t provide a native, built-in i18n solution (as Angular does), but the community has created a variety of robust libraries and patterns. Below are several popular approaches.
58
+ <h2>{$_("cart.total")}</h2>
59
+ <p>{$_("cart.items", { values: { count: 3 } })}</p>
60
+ <button on:click={() => locale.set("fr")}>Français</button>
61
+ ```
53
62
 
54
- ### 1. Intlayer
63
+ Three things are worth understanding rather than copying:
55
64
 
56
- > Website: [https://intlayer.org/](https://intlayer.org/)
65
+ - **`$_` is a derived store, not a function.** The `$` prefix subscribes the component to it. When `locale` changes, every component that reads `$_` re-renders. That is the whole reactivity mechanism, and it works because stores are framework-level, not component-level.
66
+ - **Loading is async, rendering is not.** `register` returns a loader; until it resolves, `$_('cart.total')` returns the key. That is the source of the classic flash of raw keys on first paint. `isLoading` and `waitLocale()` exist to gate rendering on it, and most tutorials forget them.
67
+ - **The catalog is a plain object.** Nothing splits it per route. Loading `fr` loads every page's French copy.
57
68
 
58
- **Overview**
59
- **Intlayer** is an open-source i18n solution that aims to simplify multi-language support across multiple frameworks, including **Svelte**. It emphasizes a declarative approach, strong typing, and SSR support in other ecosystems, although SSR is not typical in standard Svelte.
69
+ ## What runes actually change
60
70
 
61
- **Key Features**
71
+ Runes did not deprecate stores. `$state` and `$derived` are for state you own inside a component or a `.svelte.ts` module; stores are still fine for shared, cross-component state, and `$store` auto-subscription still works in Svelte 5. So `svelte-i18n` keeps working, unmodified, in a Svelte 5 app.
62
72
 
63
- - **Declarative Translation**: Define translation dictionaries either at the widget level or in a centralized file for a cleaner architecture.
64
- - **TypeScript & Autocompletion (Web)**: While this feature primarily benefits web frameworks, the typed translation approach can still guide structured code in Svelte.
65
- - **Asynchronous Loading**: Load translation assets dynamically, potentially reducing the initial bundle size for multi-language apps.
66
- - **Integration with Svelte**: A basic integration can be set up to leverage the Intlayer approach for structured translations.
73
+ What changed is that you now have a second, better option for locale state:
67
74
 
68
- ---
75
+ ```ts fileName="src/lib/locale.svelte.ts"
76
+ // Runes work outside components, but only in a .svelte.ts / .svelte.js file
77
+ let current = $state<"en" | "fr">("en");
69
78
 
70
- ### 2. svelte-i18n
79
+ export const getLocale = () => current;
80
+ export const setLocale = (next: "en" | "fr") => {
81
+ current = next;
82
+ };
83
+ ```
71
84
 
72
- Repository: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaisermann/svelte-i18n)
85
+ Two gotchas people hit here. Runes outside a component only work in a `.svelte.ts` or `.svelte.js` file, so a plain `locale.ts` silently gives you a non-reactive variable. And you cannot export a `$state` binding directly, which is why the module above exports a getter instead of the value.
73
86
 
74
- **Overview**
75
- **svelte-i18n** is one of the most widely adopted libraries for adding internationalization to Svelte applications. It allows you to dynamically load and switch between locales at runtime and includes helpers for plurals, interpolation, and more.
87
+ The honest summary: for a client-only app, the store version and the runes version behave identically. The runes version reads better and types better. Neither is a reason to rewrite a working app.
76
88
 
77
- **Key Features**
89
+ ## The module-level store trap
78
90
 
79
- - **Runtime Translations**: Load translation files on demand, enabling you to switch languages without rebuilding your app.
80
- - **Pluralization & Interpolation**: Offers a straightforward syntax for handling plural forms and inserting variables within translations.
81
- - **Lazy Loading**: Only fetch the translation files you need, optimizing performance for larger apps or multiple languages.
82
- - **SvelteKit Support**: Well-documented examples show how to integrate with SSR in SvelteKit for better SEO.
91
+ Both patterns above put locale in a module-level singleton. In a Vite SPA that is correct: one browser tab, one user, one locale. The module is instantiated once per page load and belongs to that visitor.
83
92
 
84
- **Considerations**
93
+ The moment SSR appears, that singleton is shared across every concurrent request on the server process. Request A sets the locale to `fr`, request B renders while A is still in flight, and B gets French. It is intermittent, it never reproduces locally with one browser tab open, and it looks like a caching bug.
85
94
 
86
- - **Project Organization**: You’ll need to structure your translation files logically as the project grows.
87
- - **SSR Setup**: Configuring SSR for SEO might require additional steps to ensure correct locale detection on the server side.
88
- - **Performance**: While flexible at runtime, a large number of translations loaded at once can impact initial load times consider lazy loading or caching strategies.
95
+ The fix is Svelte context, which is per-render-tree rather than per-module: set the locale with `setContext` at the root and read it with `getContext` in components. This is not a Svelte-only problem, but Svelte's `.svelte.ts` modules make the wrong version unusually easy to write. If you are on a plain Vite setup today and might move to SvelteKit later, using context from the start costs you nothing.
89
96
 
90
- ---
97
+ ## Message compilation and bundle cost
91
98
 
92
- ### 3. svelte-intl-precompile
99
+ The second axis is when your messages become code. There are two families:
93
100
 
94
- Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.com/cibernox/svelte-intl-precompile)
101
+ - **Runtime interpolation.** `svelte-i18n` ships a message parser to the browser and resolves `cart.items` against a catalog object at render time. Flexible, and you pay for the parser plus the whole catalog.
102
+ - **Compile-time.** Paraglide (inlang) generates one exported function per message and one file per locale, so `m.cart_total()` is an ordinary import. Your bundler tree-shakes anything you did not call. On Vite plus Svelte this works as advertised, and it is the strongest argument for Paraglide.
95
103
 
96
- **Overview**
97
- **svelte-intl-precompile** uses a precompilation approach to reduce runtime overhead and improve performance. This library integrates the concept of message formatting (similar to FormatJS) while generating precompiled messages at build time.
104
+ The [Svelte i18n benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/benchmark/svelte.md) runs a 10-page, 10-locale app and measures the library cost separately from the content cost. `svelte-i18n` lands around **15.9 kB** after bundling and minification, roughly **7×** `svelte-intlayer`. Paraglide's library number is close to zero by construction, because the runtime is generated into your source tree rather than imported from a package.
98
105
 
99
- **Key Features**
106
+ Paraglide's costs are real too. The generated files live in your repository, so you regenerate before pushing and you get merge conflicts on them in parallel pull requests. And it does not keep the current locale in a Svelte store: each message call reads the locale back from cookie or storage, which adds work per node instead of one subscription per component.
100
107
 
101
- - **Precompiled Messages**: By compiling translation strings during the build step, runtime performance is improved, and the bundle size can be smaller.
102
- - **Integration with SvelteKit**: Compatible with SSR, allowing you to serve fully localized pages for better SEO and user experience.
103
- - **Message Extraction**: Automatically extract strings from your code, reducing the overhead of manual updates.
104
- - **Advanced Formatting**: Supports pluralization, gender-specific translations, and variable interpolation.
108
+ ## Typed keys
105
109
 
106
- **Considerations**
110
+ `$_("cart.totl")` is a string typo that fails at runtime, in the locale nobody tests, in production. Three ways out:
107
111
 
108
- - **Build Complexity**: Setting up precompilation might introduce additional complexity in your build pipeline.
109
- - **Dynamic Content**: If you need on-the-fly translations for user-generated content, this approach may require extra steps for updates at runtime.
110
- - **Learning Curve**: The combination of message extraction and precompilation can be slightly more complex for newcomers.
112
+ | Approach | How you get types | Cost |
113
+ | :-------------- | :-------------------------------------------------------------------------- | :--------------------------------------------- |
114
+ | `svelte-i18n` | None built in; you hand-write a union of keys | Drifts from the JSON immediately |
115
+ | `typesafe-i18n` | Generator watches your files and emits typed accessors (`$LL.cart.total()`) | A watcher process, generated files in the repo |
116
+ | Paraglide | Each message is an exported function, so it is typed by existence | Same generated-files trade-off |
117
+ | Intlayer | Types generated from the content declarations at build time | Build plugin required |
111
118
 
112
- ---
119
+ `typesafe-i18n` deserves a note: mechanically it is sound, and typed accessors plus generated formatters are a good model. The repository has not moved much recently, so check its activity before committing a codebase to it.
113
120
 
114
- ### 4. i18next with Svelte / SvelteKit
121
+ ## Comparison
115
122
 
116
- Website: [https://www.i18next.com/](https://www.i18next.com/)
123
+ | Library | Messages live in | Locale state | Per-route splitting | Types on keys |
124
+ | :-------------- | :------------------------------------ | :-------------------------------- | :-------------------- | :------------ |
125
+ | `svelte-i18n` | JSON catalogs per locale | Svelte store | No | Manual |
126
+ | Paraglide | inlang project, compiled to functions | Read per call from cookie/storage | Yes, via tree-shaking | Yes |
127
+ | `typesafe-i18n` | Generated TS modules | Store adapter | Partial | Yes |
128
+ | Intlayer | `.content.ts` next to the component | Context plus store | Yes, per component | Yes |
117
129
 
118
- **Overview**
119
- Although **i18next** is more commonly associated with React or Vue, it’s also possible to integrate it with Svelte or **SvelteKit**. Leveraging i18next’s broad ecosystem can be helpful if you need consistent i18n across different JavaScript frameworks in your organization.
130
+ ## Intlayer: content declared beside the component
120
131
 
121
- **Key Features**
132
+ Intlayer's one structural difference is that content is not centralized. Each component gets a `.content.ts` file next to it, and a Vite plugin compiles those declarations into per-component dictionaries.
122
133
 
123
- - **Mature Ecosystem**: Benefit from an extensive range of plugins, language detection modules, and community support.
124
- - **Runtime or Build-Time**: Choose between dynamic loading or bundling your translations for slightly faster startup.
125
- - **SSR-Friendly**: SvelteKit SSR can serve localized content by using i18next on the server side, which is great for SEO.
126
- - **Rich Features**: Supports interpolation, plurals, nested translations, and more complex i18n scenarios.
134
+ ```ts fileName="src/lib/cartSummary.content.ts"
135
+ import { t, type Dictionary } from "intlayer";
127
136
 
128
- **Considerations**
137
+ const cartSummaryContent = {
138
+ key: "cart-summary",
139
+ content: {
140
+ total: t({ en: "Total", fr: "Total", es: "Total" }),
141
+ vatNotice: t({
142
+ en: "VAT included",
143
+ fr: "TVA incluse",
144
+ es: "IVA incluido",
145
+ }),
146
+ },
147
+ } satisfies Dictionary;
129
148
 
130
- - **Manual Setup**: i18next doesn’t have a dedicated Svelte integration out of the box, so you’ll need to configure it yourself.
131
- - **Overhead**: i18next is robust, but for smaller Svelte projects, some of its features might be overkill.
132
- - **Routing & State**: Handling language routing will likely involve custom SvelteKit hooks or middlewares.
149
+ export default cartSummaryContent;
150
+ ```
133
151
 
134
- ---
152
+ ```svelte fileName="src/lib/CartSummary.svelte"
153
+ <script lang="ts">
154
+ import { useIntlayer } from "svelte-intlayer";
155
+
156
+ const content = useIntlayer("cart-summary");
157
+ </script>
158
+
159
+ <h2>{$content.total}</h2>
160
+ <small>{$content.vatNotice}</small>
161
+ ```
162
+
163
+ `useIntlayer` returns a readable store derived from the current locale, so `$content` is the same auto-subscription you already know. Locale switching goes through `useLocale()`, which gives you `locale`, `availableLocales` and `setLocale`.
164
+
165
+ On the runes question, `svelte-intlayer` sits in the middle. `setupIntlayer(locale)` at the root of your app holds the locale in `$state` and publishes it through Svelte context, which is the SSR-safe shape described above; reads still come back as stores so `$content` works everywhere. There is a module-level store underneath as a fallback for apps that never call `setupIntlayer`, which is fine on Vite and is exactly the thing you should not rely on once a server is involved.
166
+
167
+ <Tabs defaultTab="code">
168
+ <Tab label="Code" value="code">
169
+
170
+ <iframe
171
+ src="https://ide.intlayer.org/aymericzip/intlayer-vite-svelte-template?file=intlayer.config.ts"
172
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
173
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
174
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
175
+ loading="lazy"
176
+ />
177
+
178
+ </Tab>
179
+ <Tab label="Demo" value="demo">
180
+
181
+ <iframe
182
+ src="https://intlayer-vite-svelte-template.vercel.app"
183
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
184
+ title="Demo - intlayer-vite-svelte-template"
185
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
186
+ loading="lazy"
187
+ />
188
+
189
+ </Tab>
190
+ </Tabs>
191
+
192
+ Setup is `npx intlayer init`, then `intlayer()` alongside `svelte()` in `vite.config.ts`.
193
+
194
+ **What it costs you.** The build plugin is mandatory: no Vite plugin, no dictionaries, so a plain `svelte` REPL-style setup is out. The ecosystem is much smaller than i18next's or `svelte-i18n`'s, which means fewer Stack Overflow answers when something goes sideways. And the project is younger than the alternatives here, so you are betting on it continuing.
195
+
196
+ If you already run `svelte-i18n`, the [`@intlayer/svelte-i18n` compat adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/svelte-i18n.md) aliases the package at the bundler level, so `$_`, `$date`, `$number` and your existing flat keys keep working while Intlayer serves the content. It is a way to test the change without touching components on day one.
135
197
 
136
- ### Final Thoughts
198
+ ## Common mistakes
137
199
 
138
- When selecting an i18n strategy for your Svelte app:
200
+ - **Rendering before messages resolve.** With any async-loading library, gate the first paint on `isLoading` or `waitLocale()`, or accept a flash of raw keys.
201
+ - **Putting runes in a `.ts` file.** `$state` in `locale.ts` compiles to a plain variable and nothing updates. It has to be `locale.svelte.ts`.
202
+ - **Assuming a store singleton is safe because it works locally.** One tab never reproduces cross-request leakage. It shows up in production, under concurrency.
203
+ - **Switching locale with a button.** Crawlers do not click. If the app has localized URLs, the switcher should be an `<a>` to the localized path.
204
+ - **Loading every locale up front.** Ten locales in the initial bundle is nine locales nobody reads. Use dynamic imports per locale at minimum, and per route if the library supports it.
139
205
 
140
- 1. **Assess Project Scale**: For smaller projects or quick prototypes, simpler libraries like **svelte-i18n** or a minimal i18n approach might suffice. Larger, more complex apps may benefit from a typed, precompiled, or more robust ecosystem-based solution.
141
- 2. **SSO & SSR Considerations**: If SEO is critical or you need server-side rendering with **SvelteKit**, choose a library that supports SSR effectively and can handle localized routes, metadata, and sitemaps.
142
- 3. **Runtime vs. Build-Time**: Decide whether you need dynamic language switching at runtime or prefer precompiled translations for better performance. Each approach involves different trade-offs.
143
- 4. **TypeScript Integration**: If you rely heavily on TypeScript, solutions like **Intlayer** or libraries with typed keys can significantly reduce runtime errors and improve the developer experience.
144
- 5. **Maintainability & Scalability**: Plan how you’ll organize, update, and version your translation files. Automated extraction, naming conventions, and a consistent folder structure will save time in the long run.
206
+ ## Going further
145
207
 
146
- Ultimately, each library offers unique strengths. Your choice depends on **performance**, **developer experience**, **SEO needs**, and **long-term maintainability**. By selecting a solution that aligns with your project’s goals, you can create a truly global application in Svelte one that delights users around the world.
208
+ - [Svelte i18n benchmark: bundle size, leakage and locale-switch timings](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/benchmark/svelte.md)
209
+ - [Set up i18n in a Vite + Svelte app, step by step](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_vite+svelte.md)
210
+ - [SvelteKit i18n: routing, SSR, and shared state](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/sveltekit.md)
211
+ - [Drop-in `svelte-i18n` compat adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/svelte-i18n.md)
212
+ - [Per-component vs centralized i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/per-component_vs_centralized_i18n.md)
213
+ - [Compiler-based vs declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/compiler_vs_declarative_i18n.md)
214
+ - [How bundle optimization works at build time](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/bundle_optimization.md)
@@ -0,0 +1,235 @@
1
+ ---
2
+ createdAt: 2026-09-02
3
+ updatedAt: 2026-09-02
4
+ title: "SvelteKit i18n: routing, SSR, and shared state"
5
+ description: SvelteKit ships no i18n. How to wire locale routing with an optional param or the reroute hook, and why a module-level locale store leaks between SSR requests.
6
+ keywords:
7
+ - sveltekit i18n
8
+ - SvelteKit internationalization
9
+ - svelte-i18n
10
+ - Paraglide
11
+ - reroute hook
12
+ - hooks.server.ts
13
+ - locale routing
14
+ - Svelte 5 runes
15
+ slugs:
16
+ - blog
17
+ - i18n-technologies
18
+ - frameworks
19
+ - sveltekit
20
+ author: aymericzip
21
+ ---
22
+
23
+ # SvelteKit i18n: routing, SSR, and the state you cannot share
24
+
25
+ SvelteKit has no built-in i18n. You pick a message library, then you wire locale routing and locale detection into `load` and the server hooks yourself, and that second half is where SvelteKit differs from a plain SPA. This post covers the two routing options, the SSR bug that only shows up under real traffic, and how the current libraries compare.
26
+
27
+ ## Table of Contents
28
+
29
+ <TOC/>
30
+
31
+ ## The bug you will not see in dev
32
+
33
+ Start with the failure mode, because a lot of SvelteKit i18n snippets you will find contain it.
34
+
35
+ ```ts fileName="src/routes/[[lang]]/+layout.ts"
36
+ import { locale, waitLocale } from "svelte-i18n";
37
+
38
+ export const load = async ({ params }) => {
39
+ locale.set(params.lang ?? "en");
40
+ await waitLocale();
41
+ };
42
+ ```
43
+
44
+ `locale` is a store created once, at module scope. On the client that is fine: one browser, one user, one value. On the server, the module is evaluated once per process and every concurrent request reads and writes the same store.
45
+
46
+ So request A sets `fr` and yields at an `await`. Request B sets `en`. Request A resumes and renders English. You will never reproduce it locally, because your dev server handles one request at a time and you are one user. It shows up as a bug report saying "the page was in the wrong language once" that nobody can reproduce either.
47
+
48
+ This is not specific to i18n: SvelteKit's own docs warn about server-side shared state in general. A current-locale store is just the most common way for an app to trip over it.
49
+
50
+ ## The shape that works
51
+
52
+ Resolve the locale once per request, put it on `event.locals`, hand it to the component tree through `load` data. Nothing about the current user is ever stored in a module.
53
+
54
+ ```ts fileName="src/hooks.server.ts"
55
+ import type { Handle } from "@sveltejs/kit";
56
+ import { detectLocale } from "$lib/detectLocale";
57
+
58
+ export const handle: Handle = async ({ event, resolve }) => {
59
+ const locale = detectLocale(event); // URL segment, then cookie, then Accept-Language
60
+ event.locals.locale = locale;
61
+
62
+ return resolve(event, {
63
+ transformPageChunk: ({ html }) => html.replace("%lang%", locale),
64
+ });
65
+ };
66
+ ```
67
+
68
+ ```ts fileName="src/routes/+layout.server.ts"
69
+ export const load = ({ locals }) => ({ locale: locals.locale });
70
+ ```
71
+
72
+ Two details are easy to skip. `event.locals` needs a type in `src/app.d.ts` or `locals.locale` is `any`. And `%lang%` only works if `src/app.html` actually contains `<html lang="%lang%">`, which is the single line that decides whether screen readers and search engines see the right language.
73
+
74
+ ## Routing: `[[lang]]` versus `reroute`
75
+
76
+ The old approach is an optional route parameter. You create `src/routes/[[lang]]/` and move the entire app inside it, with a matcher in `src/params/lang.ts` so unknown prefixes 404 instead of being treated as a page slug.
77
+
78
+ The newer approach is the `reroute` hook. The URL the visitor sees keeps its locale prefix, but SvelteKit matches it against a route tree that has no locale segment at all.
79
+
80
+ ```ts fileName="src/hooks.ts"
81
+ import type { Reroute } from "@sveltejs/kit";
82
+
83
+ const locales = ["en", "fr", "es"];
84
+
85
+ export const reroute: Reroute = ({ url }) => {
86
+ const [, first, ...rest] = url.pathname.split("/");
87
+
88
+ if (locales.includes(first)) {
89
+ return `/${rest.join("/")}`;
90
+ }
91
+ };
92
+ ```
93
+
94
+ | Concern | `[[lang]]` optional param | `reroute` hook |
95
+ | :-------------------------- | :------------------------------------- | :--------------------------------------------------------- |
96
+ | Route tree | everything nested one directory deeper | untouched, `/about` stays `src/routes/about` |
97
+ | Where the locale comes from | `params.lang` in every `load` | `event.locals`, passed down as `load` data |
98
+ | Adding a page | must live inside the group | anywhere |
99
+ | Client-side navigation | handled by the router | `src/hooks.ts` is universal, so it runs in the browser too |
100
+ | Requirement | any version | SvelteKit 2.3+ |
101
+
102
+ `reroute` is usually the better answer now, for one reason: your route directory stops encoding a routing concern. Nested layouts, `+error.svelte` and every relative path go back to meaning what they say, and a contributor who has never touched i18n can add a page without knowing about the group.
103
+
104
+ The honest cost: `params.lang` disappears, so anything that used it reads `data.locale` instead, and the prerenderer finds pages by crawling links, so `/fr/about` is only prerendered if something links to it.
105
+
106
+ Whichever you pick, links still need the prefix added by hand, and a locale switcher should render as `<a href>` pointing at the localized URL. Crawlers do not click buttons. See the [hreflang guide](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/hreflang_guide_multilingual_seo.md) for the tags that go with it.
107
+
108
+ ## Svelte 5 runes change the syntax, not the sharing
109
+
110
+ In runes mode, reactive local state is `$state`, derived values are `$derived`, and `$:` is gone. It is tempting to read that as "stores are legacy, use runes", and then to write this in a `.svelte.ts` file:
111
+
112
+ ```ts fileName="src/lib/locale.svelte.ts"
113
+ export const appLocale = $state({ value: "en" }); // still module scope, still shared
114
+ ```
115
+
116
+ That has exactly the same SSR problem as the store above. A rune declared at module level is one value for the whole server process. Runes are per component instance only when they are declared inside a component.
117
+
118
+ The container that is genuinely per request is Svelte's context API: `setContext` in the root layout, `getContext` wherever you read. Context lives in the component tree, and the server builds one tree per request.
119
+
120
+ ## The library options
121
+
122
+ | Library | Message format | Where the locale lives | Note |
123
+ | :----------------- | :---------------------------------------------- | :---------------------------------------- | :----------------------------------------------------------------- |
124
+ | `svelte-i18n` | ICU, via `intl-messageformat` | module-level stores (`$locale`, `$_`) | Most adopted, well documented, SSR wiring is on you |
125
+ | Paraglide (inlang) | own syntax, compiled to plain functions | read per call from URL, cookie or storage | Best tree-shaking story, generated files live in your repo |
126
+ | `typesafe-i18n` | own syntax, generated typed accessors | you wire it | Strong types, no key strings, but you assemble the SvelteKit parts |
127
+ | Intlayer | `t()` in `.content.ts` files, compiled at build | Svelte context, set from `load` data | Build plugin required, smaller ecosystem |
128
+
129
+ Paraglide deserves a fair reading. Compiling each message into its own exported function means the bundler can drop the ones a route never calls, which is a better lever than any runtime lazy-loading scheme. The [Svelte benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/benchmark/svelte.md) confirms the tree-shaking works as advertised in a Vite plus Svelte app. The trade-offs are also real: generated JavaScript is committed to the repo and regenerated before every push, which produces merge conflicts on shared branches, and because it resolves the locale per call instead of from a store, reactivity on locale change costs more work than it should.
130
+
131
+ The same benchmark puts `svelte-i18n` at roughly **15.9 kB** after bundling and minification, about **7×** `svelte-intlayer`. That number is the library itself, before any of your content, which is the part most comparisons leave out.
132
+
133
+ ## Intlayer on SvelteKit
134
+
135
+ Intlayer declares content in a file next to the component that renders it, and a Vite plugin compiles those declarations into per-component dictionaries at build time.
136
+
137
+ ```ts fileName="src/routes/home.content.ts"
138
+ import { t, type Dictionary } from "intlayer";
139
+
140
+ const homeContent = {
141
+ key: "home",
142
+ content: {
143
+ title: t({
144
+ en: "Welcome to SvelteKit",
145
+ fr: "Bienvenue sur SvelteKit",
146
+ es: "Bienvenido a SvelteKit",
147
+ }),
148
+ },
149
+ } satisfies Dictionary;
150
+
151
+ export default homeContent;
152
+ ```
153
+
154
+ The root layout calls `setupIntlayer` with the locale it received from `load`. That call uses Svelte's context, so the locale is scoped to the request's component tree rather than to a module. The official template uses the optional-param route group, but nothing stops you from feeding it `locals.locale` from a `reroute` setup instead.
155
+
156
+ ```svelte fileName="src/routes/[[locale=locale]]/+layout.svelte"
157
+ <script lang="ts">
158
+ import type { Snippet } from "svelte";
159
+ import { setupIntlayer } from "svelte-intlayer";
160
+ import type { LayoutData } from "./$types";
161
+
162
+ let { children, data }: { children: Snippet; data: LayoutData } = $props();
163
+
164
+ $effect(() => {
165
+ setupIntlayer(data.locale);
166
+ });
167
+ </script>
168
+
169
+ {@render children()}
170
+ ```
171
+
172
+ `useIntlayer` returns a Svelte store, so components read it with the `$` prefix:
173
+
174
+ ```svelte fileName="src/routes/[[locale=locale]]/+page.svelte"
175
+ <script lang="ts">
176
+ import { useIntlayer } from "svelte-intlayer";
177
+
178
+ const content = useIntlayer("home");
179
+ </script>
180
+
181
+ <svelte:head>
182
+ <title>{$content.title.value}</title>
183
+ </svelte:head>
184
+
185
+ <h1>{$content.title}</h1>
186
+ ```
187
+
188
+ Server-side detection is the `handle` hook from earlier, with `getLocaleFromStorage` and `localeDetector` doing the cookie and `Accept-Language` work, and `getLocalizedUrl` redirecting an unprefixed path. The [SvelteKit setup guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_svelte_kit.md) has the full file.
189
+
190
+ <Tabs defaultTab="code">
191
+ <Tab label="Code" value="code">
192
+
193
+ <iframe
194
+ src="https://ide.intlayer.org/aymericzip/intlayer-sveltekit-template?file=intlayer.config.ts"
195
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
196
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
197
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
198
+ loading="lazy"
199
+ />
200
+
201
+ </Tab>
202
+ <Tab label="Demo" value="demo">
203
+
204
+ <iframe
205
+ src="https://intlayer-sveltekit-template.vercel.app"
206
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
207
+ title="Demo - intlayer-sveltekit-template"
208
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
209
+ loading="lazy"
210
+ />
211
+
212
+ </Tab>
213
+ </Tabs>
214
+
215
+ **What it costs you.** The `intlayer()` Vite plugin is mandatory and has to be registered before `sveltekit()`, so plugin order becomes something you can get wrong. The ecosystem is far smaller than `svelte-i18n`'s, which means fewer answers when you hit an edge case. And the API is store-based while the rest of your Svelte 5 code is runes, so `$content.title` sits next to `$state` and means something different.
216
+
217
+ If you already run `svelte-i18n`, the [compat adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/svelte-i18n.md) aliases `svelte-i18n` at the bundler level so `$_`, `$t` and the ICU syntax keep working while Intlayer serves the content.
218
+
219
+ ## Common mistakes
220
+
221
+ - **Setting a module-level locale during SSR.** Covered above. It is the one SvelteKit-specific i18n bug worth memorizing.
222
+ - **Forgetting `<html lang="%lang%">`.** The content is translated, the document still claims to be English, and `hreflang` alternates contradict the page.
223
+ - **Awaiting message loading in a client `load`.** It blocks navigation. Load messages in the server layout, or ship them with the route.
224
+ - **Rendering the locale switcher as a `<button>`.** No crawler will follow it, so the other languages stay undiscovered.
225
+ - **Assuming prerendering finds localized routes.** Nothing links to `/es/pricing` from your English tree unless you make it, and the crawler only follows links.
226
+
227
+ ## Going further
228
+
229
+ - [Svelte i18n benchmark: bundle size, leakage and locale-switch timings](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/benchmark/svelte.md)
230
+ - [Full SvelteKit setup guide, hooks and localized links included](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_svelte_kit.md)
231
+ - [Drop-in `svelte-i18n` compat adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/svelte-i18n.md)
232
+ - [The wider Svelte i18n library landscape](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/svelte.md)
233
+ - [Per-component vs centralized i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/per-component_vs_centralized_i18n.md)
234
+ - [What internationalization actually covers](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/what_is_internationalization.md)
235
+ - [How bundle optimization works at build time](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/bundle_optimization.md)