@intlayer/docs 9.4.1 → 9.4.3

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 (1607) hide show
  1. package/README.md +1 -1
  2. package/blog/ar/date_time_number_formatting_locales.md +216 -0
  3. package/blog/ar/detecting_missing_translations.md +202 -0
  4. package/blog/ar/hreflang_guide_multilingual_seo.md +317 -0
  5. package/blog/ar/i18n_in_ci_cd_pipelines.md +247 -0
  6. package/blog/ar/i18n_meaning.md +0 -2
  7. package/blog/ar/i18n_testing_strategies.md +179 -0
  8. package/blog/ar/intlayer_with_i18next.md +3 -5
  9. package/blog/ar/intlayer_with_next-i18next.md +3 -7
  10. package/blog/ar/intlayer_with_next-intl.md +3 -3
  11. package/blog/ar/intlayer_with_react-i18next.md +3 -3
  12. package/blog/ar/intlayer_with_react-intl.md +3 -3
  13. package/blog/ar/intlayer_with_vue-i18n.md +3 -7
  14. package/blog/ar/is_i18next_outdated.md +315 -0
  15. package/blog/ar/is_next-intl_outdated.md +363 -0
  16. package/blog/ar/is_vue-i18n_outdated.md +338 -0
  17. package/blog/ar/list_i18n_technologies/build-tools/vite.md +177 -0
  18. package/blog/ar/list_i18n_technologies/frameworks/angular.md +0 -2
  19. package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -2
  20. package/blog/ar/list_i18n_technologies/frameworks/react.md +0 -2
  21. package/blog/ar/list_i18n_technologies/frameworks/svelte.md +0 -2
  22. package/blog/ar/list_i18n_technologies/frameworks/vue.md +0 -2
  23. package/blog/ar/what_is_internationalization.md +0 -2
  24. package/blog/de/date_time_number_formatting_locales.md +216 -0
  25. package/blog/de/detecting_missing_translations.md +202 -0
  26. package/blog/de/hreflang_guide_multilingual_seo.md +314 -0
  27. package/blog/de/i18n_in_ci_cd_pipelines.md +247 -0
  28. package/blog/de/i18n_meaning.md +0 -2
  29. package/blog/de/i18n_testing_strategies.md +179 -0
  30. package/blog/de/intlayer_with_i18next.md +3 -3
  31. package/blog/de/intlayer_with_next-i18next.md +3 -3
  32. package/blog/de/intlayer_with_next-intl.md +3 -3
  33. package/blog/de/intlayer_with_react-i18next.md +3 -3
  34. package/blog/de/intlayer_with_react-intl.md +3 -3
  35. package/blog/de/intlayer_with_vue-i18n.md +3 -7
  36. package/blog/de/is_i18next_outdated.md +315 -0
  37. package/blog/de/is_next-intl_outdated.md +363 -0
  38. package/blog/de/is_vue-i18n_outdated.md +338 -0
  39. package/blog/de/list_i18n_technologies/build-tools/vite.md +179 -0
  40. package/blog/de/list_i18n_technologies/frameworks/angular.md +0 -2
  41. package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -2
  42. package/blog/de/list_i18n_technologies/frameworks/react.md +0 -2
  43. package/blog/de/list_i18n_technologies/frameworks/svelte.md +0 -2
  44. package/blog/de/list_i18n_technologies/frameworks/vue.md +0 -2
  45. package/blog/de/what_is_internationalization.md +0 -2
  46. package/blog/en/date_time_number_formatting_locales.md +216 -0
  47. package/blog/en/detecting_missing_translations.md +202 -0
  48. package/blog/en/hreflang_guide_multilingual_seo.md +314 -0
  49. package/blog/en/i18n_in_ci_cd_pipelines.md +247 -0
  50. package/blog/en/i18n_meaning.md +0 -2
  51. package/blog/en/i18n_testing_strategies.md +179 -0
  52. package/blog/en/icu_message_format.md +288 -0
  53. package/blog/en/intlayer_with_i18next.md +3 -5
  54. package/blog/en/intlayer_with_next-i18next.md +3 -5
  55. package/blog/en/intlayer_with_next-intl.md +3 -5
  56. package/blog/en/intlayer_with_react-i18next.md +3 -3
  57. package/blog/en/intlayer_with_react-intl.md +3 -5
  58. package/blog/en/intlayer_with_vue-i18n.md +3 -5
  59. package/blog/en/is_i18next_outdated.md +315 -0
  60. package/blog/en/is_next-intl_outdated.md +363 -0
  61. package/blog/en/is_vue-i18n_outdated.md +338 -0
  62. package/blog/en/list_i18n_technologies/build-tools/vite.md +179 -0
  63. package/blog/en/list_i18n_technologies/frameworks/angular.md +184 -108
  64. package/blog/en/list_i18n_technologies/frameworks/astro.md +268 -0
  65. package/blog/en/list_i18n_technologies/frameworks/nextjs.md +196 -0
  66. package/blog/en/list_i18n_technologies/frameworks/nuxt.md +255 -0
  67. package/blog/en/list_i18n_technologies/frameworks/react-native.md +133 -154
  68. package/blog/en/list_i18n_technologies/frameworks/react-router.md +331 -0
  69. package/blog/en/list_i18n_technologies/frameworks/react.md +176 -96
  70. package/blog/en/list_i18n_technologies/frameworks/solid.md +268 -0
  71. package/blog/en/list_i18n_technologies/frameworks/svelte.md +156 -88
  72. package/blog/en/list_i18n_technologies/frameworks/sveltekit.md +235 -0
  73. package/blog/en/list_i18n_technologies/frameworks/tanstack-start.md +280 -0
  74. package/blog/en/list_i18n_technologies/frameworks/vue.md +167 -95
  75. package/blog/en/what_is_internationalization.md +0 -2
  76. package/blog/en-GB/date_time_number_formatting_locales.md +216 -0
  77. package/blog/en-GB/detecting_missing_translations.md +202 -0
  78. package/blog/en-GB/hreflang_guide_multilingual_seo.md +314 -0
  79. package/blog/en-GB/i18n_in_ci_cd_pipelines.md +247 -0
  80. package/blog/en-GB/i18n_meaning.md +0 -2
  81. package/blog/en-GB/i18n_testing_strategies.md +179 -0
  82. package/blog/en-GB/intlayer_with_i18next.md +3 -3
  83. package/blog/en-GB/intlayer_with_next-i18next.md +3 -3
  84. package/blog/en-GB/intlayer_with_next-intl.md +3 -3
  85. package/blog/en-GB/intlayer_with_react-i18next.md +3 -3
  86. package/blog/en-GB/intlayer_with_react-intl.md +3 -3
  87. package/blog/en-GB/intlayer_with_vue-i18n.md +3 -3
  88. package/blog/en-GB/is_i18next_outdated.md +315 -0
  89. package/blog/en-GB/is_next-intl_outdated.md +363 -0
  90. package/blog/en-GB/is_vue-i18n_outdated.md +338 -0
  91. package/blog/en-GB/list_i18n_technologies/build-tools/vite.md +179 -0
  92. package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +0 -2
  93. package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -2
  94. package/blog/en-GB/list_i18n_technologies/frameworks/react.md +0 -2
  95. package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +0 -2
  96. package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +0 -2
  97. package/blog/en-GB/what_is_internationalization.md +0 -2
  98. package/blog/es/date_time_number_formatting_locales.md +216 -0
  99. package/blog/es/detecting_missing_translations.md +202 -0
  100. package/blog/es/hreflang_guide_multilingual_seo.md +314 -0
  101. package/blog/es/i18n_in_ci_cd_pipelines.md +247 -0
  102. package/blog/es/i18n_meaning.md +0 -2
  103. package/blog/es/i18n_testing_strategies.md +179 -0
  104. package/blog/es/intlayer_with_i18next.md +3 -3
  105. package/blog/es/intlayer_with_next-i18next.md +3 -3
  106. package/blog/es/intlayer_with_next-intl.md +3 -3
  107. package/blog/es/intlayer_with_react-i18next.md +3 -3
  108. package/blog/es/intlayer_with_react-intl.md +3 -3
  109. package/blog/es/intlayer_with_vue-i18n.md +3 -3
  110. package/blog/es/is_i18next_outdated.md +315 -0
  111. package/blog/es/is_next-intl_outdated.md +363 -0
  112. package/blog/es/is_vue-i18n_outdated.md +338 -0
  113. package/blog/es/list_i18n_technologies/build-tools/vite.md +179 -0
  114. package/blog/es/list_i18n_technologies/frameworks/angular.md +0 -2
  115. package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -2
  116. package/blog/es/list_i18n_technologies/frameworks/react.md +0 -2
  117. package/blog/es/list_i18n_technologies/frameworks/svelte.md +0 -2
  118. package/blog/es/list_i18n_technologies/frameworks/vue.md +0 -2
  119. package/blog/es/what_is_internationalization.md +0 -2
  120. package/blog/fr/date_time_number_formatting_locales.md +216 -0
  121. package/blog/fr/detecting_missing_translations.md +202 -0
  122. package/blog/fr/hreflang_guide_multilingual_seo.md +315 -0
  123. package/blog/fr/i18n_in_ci_cd_pipelines.md +247 -0
  124. package/blog/fr/i18n_meaning.md +0 -2
  125. package/blog/fr/i18n_testing_strategies.md +179 -0
  126. package/blog/fr/intlayer_with_i18next.md +3 -3
  127. package/blog/fr/intlayer_with_next-i18next.md +3 -3
  128. package/blog/fr/intlayer_with_next-intl.md +3 -3
  129. package/blog/fr/intlayer_with_react-i18next.md +3 -3
  130. package/blog/fr/intlayer_with_react-intl.md +3 -3
  131. package/blog/fr/intlayer_with_vue-i18n.md +3 -3
  132. package/blog/fr/is_i18next_outdated.md +315 -0
  133. package/blog/fr/is_next-intl_outdated.md +363 -0
  134. package/blog/fr/is_vue-i18n_outdated.md +338 -0
  135. package/blog/fr/list_i18n_technologies/build-tools/vite.md +179 -0
  136. package/blog/fr/list_i18n_technologies/frameworks/angular.md +0 -2
  137. package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -2
  138. package/blog/fr/list_i18n_technologies/frameworks/react.md +0 -2
  139. package/blog/fr/list_i18n_technologies/frameworks/svelte.md +0 -2
  140. package/blog/fr/list_i18n_technologies/frameworks/vue.md +0 -2
  141. package/blog/fr/what_is_internationalization.md +0 -2
  142. package/blog/hi/date_time_number_formatting_locales.md +216 -0
  143. package/blog/hi/detecting_missing_translations.md +202 -0
  144. package/blog/hi/hreflang_guide_multilingual_seo.md +323 -0
  145. package/blog/hi/i18n_in_ci_cd_pipelines.md +247 -0
  146. package/blog/hi/i18n_meaning.md +0 -2
  147. package/blog/hi/i18n_testing_strategies.md +179 -0
  148. package/blog/hi/intlayer_with_i18next.md +3 -5
  149. package/blog/hi/intlayer_with_next-i18next.md +3 -7
  150. package/blog/hi/intlayer_with_next-intl.md +3 -3
  151. package/blog/hi/intlayer_with_react-i18next.md +3 -3
  152. package/blog/hi/intlayer_with_react-intl.md +3 -3
  153. package/blog/hi/intlayer_with_vue-i18n.md +3 -7
  154. package/blog/hi/is_i18next_outdated.md +317 -0
  155. package/blog/hi/is_next-intl_outdated.md +363 -0
  156. package/blog/hi/is_vue-i18n_outdated.md +338 -0
  157. package/blog/hi/list_i18n_technologies/build-tools/vite.md +177 -0
  158. package/blog/hi/list_i18n_technologies/frameworks/angular.md +0 -2
  159. package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -2
  160. package/blog/hi/list_i18n_technologies/frameworks/react.md +0 -2
  161. package/blog/hi/list_i18n_technologies/frameworks/svelte.md +0 -2
  162. package/blog/hi/list_i18n_technologies/frameworks/vue.md +0 -2
  163. package/blog/hi/what_is_internationalization.md +0 -2
  164. package/blog/id/date_time_number_formatting_locales.md +216 -0
  165. package/blog/id/detecting_missing_translations.md +202 -0
  166. package/blog/id/hreflang_guide_multilingual_seo.md +314 -0
  167. package/blog/id/i18n_in_ci_cd_pipelines.md +247 -0
  168. package/blog/id/i18n_meaning.md +0 -2
  169. package/blog/id/i18n_testing_strategies.md +179 -0
  170. package/blog/id/intlayer_with_i18next.md +3 -5
  171. package/blog/id/intlayer_with_next-i18next.md +3 -7
  172. package/blog/id/intlayer_with_next-intl.md +3 -3
  173. package/blog/id/intlayer_with_react-i18next.md +3 -3
  174. package/blog/id/intlayer_with_react-intl.md +3 -3
  175. package/blog/id/intlayer_with_vue-i18n.md +3 -7
  176. package/blog/id/is_i18next_outdated.md +317 -0
  177. package/blog/id/is_next-intl_outdated.md +363 -0
  178. package/blog/id/is_vue-i18n_outdated.md +338 -0
  179. package/blog/id/list_i18n_technologies/build-tools/vite.md +177 -0
  180. package/blog/id/list_i18n_technologies/frameworks/angular.md +0 -2
  181. package/blog/id/list_i18n_technologies/frameworks/react-native.md +0 -2
  182. package/blog/id/list_i18n_technologies/frameworks/react.md +0 -2
  183. package/blog/id/list_i18n_technologies/frameworks/svelte.md +0 -2
  184. package/blog/id/list_i18n_technologies/frameworks/vue.md +0 -2
  185. package/blog/id/what_is_internationalization.md +0 -2
  186. package/blog/it/date_time_number_formatting_locales.md +216 -0
  187. package/blog/it/detecting_missing_translations.md +202 -0
  188. package/blog/it/hreflang_guide_multilingual_seo.md +315 -0
  189. package/blog/it/i18n_in_ci_cd_pipelines.md +247 -0
  190. package/blog/it/i18n_meaning.md +0 -2
  191. package/blog/it/i18n_testing_strategies.md +179 -0
  192. package/blog/it/intlayer_with_i18next.md +3 -5
  193. package/blog/it/intlayer_with_next-i18next.md +3 -7
  194. package/blog/it/intlayer_with_next-intl.md +3 -3
  195. package/blog/it/intlayer_with_react-i18next.md +3 -3
  196. package/blog/it/intlayer_with_react-intl.md +3 -3
  197. package/blog/it/intlayer_with_vue-i18n.md +3 -7
  198. package/blog/it/is_i18next_outdated.md +315 -0
  199. package/blog/it/is_next-intl_outdated.md +363 -0
  200. package/blog/it/is_vue-i18n_outdated.md +338 -0
  201. package/blog/it/list_i18n_technologies/build-tools/vite.md +179 -0
  202. package/blog/it/list_i18n_technologies/frameworks/angular.md +0 -2
  203. package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -2
  204. package/blog/it/list_i18n_technologies/frameworks/react.md +0 -2
  205. package/blog/it/list_i18n_technologies/frameworks/svelte.md +0 -2
  206. package/blog/it/list_i18n_technologies/frameworks/vue.md +0 -2
  207. package/blog/it/what_is_internationalization.md +0 -2
  208. package/blog/ja/date_time_number_formatting_locales.md +216 -0
  209. package/blog/ja/detecting_missing_translations.md +202 -0
  210. package/blog/ja/hreflang_guide_multilingual_seo.md +320 -0
  211. package/blog/ja/i18n_in_ci_cd_pipelines.md +247 -0
  212. package/blog/ja/i18n_meaning.md +0 -2
  213. package/blog/ja/i18n_testing_strategies.md +179 -0
  214. package/blog/ja/intlayer_with_i18next.md +3 -3
  215. package/blog/ja/intlayer_with_next-i18next.md +3 -3
  216. package/blog/ja/intlayer_with_next-intl.md +3 -3
  217. package/blog/ja/intlayer_with_react-i18next.md +3 -3
  218. package/blog/ja/intlayer_with_react-intl.md +3 -3
  219. package/blog/ja/intlayer_with_vue-i18n.md +3 -3
  220. package/blog/ja/is_i18next_outdated.md +315 -0
  221. package/blog/ja/is_next-intl_outdated.md +363 -0
  222. package/blog/ja/is_vue-i18n_outdated.md +338 -0
  223. package/blog/ja/list_i18n_technologies/build-tools/vite.md +179 -0
  224. package/blog/ja/list_i18n_technologies/frameworks/angular.md +0 -2
  225. package/blog/ja/list_i18n_technologies/frameworks/react-native.md +0 -2
  226. package/blog/ja/list_i18n_technologies/frameworks/react.md +0 -2
  227. package/blog/ja/list_i18n_technologies/frameworks/svelte.md +0 -2
  228. package/blog/ja/list_i18n_technologies/frameworks/vue.md +0 -2
  229. package/blog/ja/what_is_internationalization.md +0 -2
  230. package/blog/ko/date_time_number_formatting_locales.md +216 -0
  231. package/blog/ko/detecting_missing_translations.md +202 -0
  232. package/blog/ko/hreflang_guide_multilingual_seo.md +314 -0
  233. package/blog/ko/i18n_in_ci_cd_pipelines.md +247 -0
  234. package/blog/ko/i18n_meaning.md +0 -2
  235. package/blog/ko/i18n_testing_strategies.md +179 -0
  236. package/blog/ko/intlayer_with_i18next.md +3 -5
  237. package/blog/ko/intlayer_with_next-i18next.md +3 -7
  238. package/blog/ko/intlayer_with_next-intl.md +3 -3
  239. package/blog/ko/intlayer_with_react-i18next.md +3 -3
  240. package/blog/ko/intlayer_with_react-intl.md +3 -3
  241. package/blog/ko/intlayer_with_vue-i18n.md +3 -7
  242. package/blog/ko/is_i18next_outdated.md +317 -0
  243. package/blog/ko/is_next-intl_outdated.md +363 -0
  244. package/blog/ko/is_vue-i18n_outdated.md +338 -0
  245. package/blog/ko/list_i18n_technologies/build-tools/vite.md +179 -0
  246. package/blog/ko/list_i18n_technologies/frameworks/angular.md +0 -2
  247. package/blog/ko/list_i18n_technologies/frameworks/react-native.md +0 -2
  248. package/blog/ko/list_i18n_technologies/frameworks/react.md +0 -2
  249. package/blog/ko/list_i18n_technologies/frameworks/svelte.md +0 -2
  250. package/blog/ko/list_i18n_technologies/frameworks/vue.md +0 -2
  251. package/blog/ko/what_is_internationalization.md +0 -2
  252. package/blog/pl/date_time_number_formatting_locales.md +216 -0
  253. package/blog/pl/detecting_missing_translations.md +202 -0
  254. package/blog/pl/hreflang_guide_multilingual_seo.md +316 -0
  255. package/blog/pl/i18n_in_ci_cd_pipelines.md +247 -0
  256. package/blog/pl/i18n_meaning.md +0 -2
  257. package/blog/pl/i18n_testing_strategies.md +179 -0
  258. package/blog/pl/intlayer_with_i18next.md +3 -3
  259. package/blog/pl/intlayer_with_next-i18next.md +3 -3
  260. package/blog/pl/intlayer_with_next-intl.md +3 -3
  261. package/blog/pl/intlayer_with_react-i18next.md +3 -3
  262. package/blog/pl/intlayer_with_react-intl.md +3 -3
  263. package/blog/pl/intlayer_with_vue-i18n.md +3 -3
  264. package/blog/pl/is_i18next_outdated.md +315 -0
  265. package/blog/pl/is_next-intl_outdated.md +363 -0
  266. package/blog/pl/is_vue-i18n_outdated.md +338 -0
  267. package/blog/pl/list_i18n_technologies/build-tools/vite.md +177 -0
  268. package/blog/pl/list_i18n_technologies/frameworks/angular.md +0 -2
  269. package/blog/pl/list_i18n_technologies/frameworks/react-native.md +0 -2
  270. package/blog/pl/list_i18n_technologies/frameworks/react.md +0 -2
  271. package/blog/pl/list_i18n_technologies/frameworks/svelte.md +0 -2
  272. package/blog/pl/list_i18n_technologies/frameworks/vue.md +0 -2
  273. package/blog/pl/what_is_internationalization.md +0 -2
  274. package/blog/pt/date_time_number_formatting_locales.md +216 -0
  275. package/blog/pt/detecting_missing_translations.md +202 -0
  276. package/blog/pt/hreflang_guide_multilingual_seo.md +314 -0
  277. package/blog/pt/i18n_in_ci_cd_pipelines.md +247 -0
  278. package/blog/pt/i18n_meaning.md +0 -2
  279. package/blog/pt/i18n_testing_strategies.md +179 -0
  280. package/blog/pt/intlayer_with_i18next.md +3 -5
  281. package/blog/pt/intlayer_with_next-i18next.md +3 -7
  282. package/blog/pt/intlayer_with_next-intl.md +3 -3
  283. package/blog/pt/intlayer_with_react-i18next.md +3 -3
  284. package/blog/pt/intlayer_with_react-intl.md +3 -3
  285. package/blog/pt/intlayer_with_vue-i18n.md +3 -7
  286. package/blog/pt/is_i18next_outdated.md +315 -0
  287. package/blog/pt/is_next-intl_outdated.md +363 -0
  288. package/blog/pt/is_vue-i18n_outdated.md +338 -0
  289. package/blog/pt/list_i18n_technologies/build-tools/vite.md +179 -0
  290. package/blog/pt/list_i18n_technologies/frameworks/angular.md +0 -2
  291. package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -2
  292. package/blog/pt/list_i18n_technologies/frameworks/react.md +0 -2
  293. package/blog/pt/list_i18n_technologies/frameworks/svelte.md +0 -2
  294. package/blog/pt/list_i18n_technologies/frameworks/vue.md +0 -2
  295. package/blog/pt/what_is_internationalization.md +0 -2
  296. package/blog/ru/date_time_number_formatting_locales.md +216 -0
  297. package/blog/ru/detecting_missing_translations.md +202 -0
  298. package/blog/ru/hreflang_guide_multilingual_seo.md +314 -0
  299. package/blog/ru/i18n_in_ci_cd_pipelines.md +247 -0
  300. package/blog/ru/i18n_meaning.md +0 -2
  301. package/blog/ru/i18n_testing_strategies.md +179 -0
  302. package/blog/ru/intlayer_with_i18next.md +3 -3
  303. package/blog/ru/intlayer_with_next-i18next.md +3 -3
  304. package/blog/ru/intlayer_with_next-intl.md +3 -3
  305. package/blog/ru/intlayer_with_react-i18next.md +3 -3
  306. package/blog/ru/intlayer_with_react-intl.md +3 -3
  307. package/blog/ru/intlayer_with_vue-i18n.md +3 -3
  308. package/blog/ru/is_i18next_outdated.md +315 -0
  309. package/blog/ru/is_next-intl_outdated.md +363 -0
  310. package/blog/ru/is_vue-i18n_outdated.md +338 -0
  311. package/blog/ru/list_i18n_technologies/build-tools/vite.md +179 -0
  312. package/blog/ru/list_i18n_technologies/frameworks/angular.md +0 -2
  313. package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -2
  314. package/blog/ru/list_i18n_technologies/frameworks/react.md +0 -2
  315. package/blog/ru/list_i18n_technologies/frameworks/svelte.md +0 -2
  316. package/blog/ru/list_i18n_technologies/frameworks/vue.md +0 -2
  317. package/blog/ru/what_is_internationalization.md +0 -2
  318. package/blog/tr/date_time_number_formatting_locales.md +216 -0
  319. package/blog/tr/detecting_missing_translations.md +202 -0
  320. package/blog/tr/hreflang_guide_multilingual_seo.md +314 -0
  321. package/blog/tr/i18n_in_ci_cd_pipelines.md +247 -0
  322. package/blog/tr/i18n_meaning.md +0 -2
  323. package/blog/tr/i18n_testing_strategies.md +179 -0
  324. package/blog/tr/intlayer_with_i18next.md +3 -5
  325. package/blog/tr/intlayer_with_next-i18next.md +3 -7
  326. package/blog/tr/intlayer_with_next-intl.md +3 -3
  327. package/blog/tr/intlayer_with_react-i18next.md +3 -3
  328. package/blog/tr/intlayer_with_react-intl.md +3 -3
  329. package/blog/tr/intlayer_with_vue-i18n.md +3 -7
  330. package/blog/tr/is_i18next_outdated.md +315 -0
  331. package/blog/tr/is_next-intl_outdated.md +363 -0
  332. package/blog/tr/is_vue-i18n_outdated.md +338 -0
  333. package/blog/tr/list_i18n_technologies/build-tools/vite.md +179 -0
  334. package/blog/tr/list_i18n_technologies/frameworks/angular.md +0 -2
  335. package/blog/tr/list_i18n_technologies/frameworks/react-native.md +0 -2
  336. package/blog/tr/list_i18n_technologies/frameworks/react.md +0 -2
  337. package/blog/tr/list_i18n_technologies/frameworks/svelte.md +0 -2
  338. package/blog/tr/list_i18n_technologies/frameworks/vue.md +0 -2
  339. package/blog/tr/what_is_internationalization.md +0 -2
  340. package/blog/uk/date_time_number_formatting_locales.md +216 -0
  341. package/blog/uk/detecting_missing_translations.md +202 -0
  342. package/blog/uk/hreflang_guide_multilingual_seo.md +314 -0
  343. package/blog/uk/i18n_in_ci_cd_pipelines.md +247 -0
  344. package/blog/uk/i18n_meaning.md +0 -2
  345. package/blog/uk/i18n_testing_strategies.md +179 -0
  346. package/blog/uk/intlayer_with_i18next.md +3 -5
  347. package/blog/uk/intlayer_with_next-i18next.md +3 -5
  348. package/blog/uk/intlayer_with_next-intl.md +3 -5
  349. package/blog/uk/intlayer_with_react-i18next.md +3 -3
  350. package/blog/uk/intlayer_with_react-intl.md +3 -5
  351. package/blog/uk/intlayer_with_vue-i18n.md +3 -5
  352. package/blog/uk/is_i18next_outdated.md +315 -0
  353. package/blog/uk/is_next-intl_outdated.md +363 -0
  354. package/blog/uk/is_vue-i18n_outdated.md +338 -0
  355. package/blog/uk/list_i18n_technologies/build-tools/vite.md +177 -0
  356. package/blog/uk/list_i18n_technologies/frameworks/angular.md +0 -2
  357. package/blog/uk/list_i18n_technologies/frameworks/react-native.md +0 -2
  358. package/blog/uk/list_i18n_technologies/frameworks/react.md +0 -2
  359. package/blog/uk/list_i18n_technologies/frameworks/svelte.md +0 -2
  360. package/blog/uk/list_i18n_technologies/frameworks/vue.md +0 -2
  361. package/blog/uk/what_is_internationalization.md +0 -2
  362. package/blog/vi/date_time_number_formatting_locales.md +216 -0
  363. package/blog/vi/detecting_missing_translations.md +202 -0
  364. package/blog/vi/hreflang_guide_multilingual_seo.md +314 -0
  365. package/blog/vi/i18n_in_ci_cd_pipelines.md +247 -0
  366. package/blog/vi/i18n_meaning.md +0 -2
  367. package/blog/vi/i18n_testing_strategies.md +179 -0
  368. package/blog/vi/intlayer_with_i18next.md +3 -5
  369. package/blog/vi/intlayer_with_next-i18next.md +3 -7
  370. package/blog/vi/intlayer_with_next-intl.md +3 -3
  371. package/blog/vi/intlayer_with_react-i18next.md +3 -3
  372. package/blog/vi/intlayer_with_react-intl.md +3 -3
  373. package/blog/vi/intlayer_with_vue-i18n.md +3 -7
  374. package/blog/vi/is_i18next_outdated.md +317 -0
  375. package/blog/vi/is_next-intl_outdated.md +363 -0
  376. package/blog/vi/is_vue-i18n_outdated.md +338 -0
  377. package/blog/vi/list_i18n_technologies/build-tools/vite.md +177 -0
  378. package/blog/vi/list_i18n_technologies/frameworks/angular.md +0 -2
  379. package/blog/vi/list_i18n_technologies/frameworks/react-native.md +0 -2
  380. package/blog/vi/list_i18n_technologies/frameworks/react.md +0 -2
  381. package/blog/vi/list_i18n_technologies/frameworks/svelte.md +0 -2
  382. package/blog/vi/list_i18n_technologies/frameworks/vue.md +0 -2
  383. package/blog/vi/what_is_internationalization.md +0 -2
  384. package/blog/zh/date_time_number_formatting_locales.md +216 -0
  385. package/blog/zh/detecting_missing_translations.md +202 -0
  386. package/blog/zh/hreflang_guide_multilingual_seo.md +314 -0
  387. package/blog/zh/i18n_in_ci_cd_pipelines.md +247 -0
  388. package/blog/zh/i18n_meaning.md +0 -2
  389. package/blog/zh/i18n_testing_strategies.md +179 -0
  390. package/blog/zh/intlayer_with_i18next.md +3 -5
  391. package/blog/zh/intlayer_with_next-i18next.md +3 -5
  392. package/blog/zh/intlayer_with_next-intl.md +3 -5
  393. package/blog/zh/intlayer_with_react-i18next.md +3 -3
  394. package/blog/zh/intlayer_with_react-intl.md +3 -5
  395. package/blog/zh/intlayer_with_vue-i18n.md +3 -5
  396. package/blog/zh/is_i18next_outdated.md +317 -0
  397. package/blog/zh/is_next-intl_outdated.md +363 -0
  398. package/blog/zh/is_vue-i18n_outdated.md +338 -0
  399. package/blog/zh/list_i18n_technologies/build-tools/vite.md +179 -0
  400. package/blog/zh/list_i18n_technologies/frameworks/angular.md +0 -2
  401. package/blog/zh/list_i18n_technologies/frameworks/react-native.md +0 -2
  402. package/blog/zh/list_i18n_technologies/frameworks/react.md +0 -2
  403. package/blog/zh/list_i18n_technologies/frameworks/svelte.md +0 -2
  404. package/blog/zh/list_i18n_technologies/frameworks/vue.md +0 -2
  405. package/blog/zh/what_is_internationalization.md +0 -2
  406. package/dist/cjs/common.cjs +29 -6
  407. package/dist/cjs/common.cjs.map +1 -1
  408. package/dist/cjs/generated/blog.entry.cjs +340 -0
  409. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  410. package/dist/cjs/generated/docs.entry.cjs +20 -0
  411. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  412. package/dist/esm/common.mjs +29 -6
  413. package/dist/esm/common.mjs.map +1 -1
  414. package/dist/esm/generated/blog.entry.mjs +340 -0
  415. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  416. package/dist/esm/generated/docs.entry.mjs +20 -0
  417. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  418. package/dist/types/common.d.ts.map +1 -1
  419. package/dist/types/generated/blog.entry.d.ts +17 -0
  420. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  421. package/dist/types/generated/docs.entry.d.ts +1 -0
  422. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  423. package/docs/ar/analytics.md +458 -12
  424. package/docs/ar/bundle_optimization.md +186 -186
  425. package/docs/ar/configuration.md +98 -0
  426. package/docs/ar/dictionary/content_file.md +4 -4
  427. package/docs/ar/dictionary/html.md +117 -1
  428. package/docs/ar/dictionary/markdown.md +18 -1
  429. package/docs/ar/dictionary/plurial.md +5 -2
  430. package/docs/ar/how_works_intlayer.md +92 -0
  431. package/docs/ar/interest_of_intlayer.md +106 -9
  432. package/docs/ar/intlayer_CMS.md +92 -0
  433. package/docs/ar/intlayer_visual_editor.md +87 -1
  434. package/docs/ar/intlayer_with_adonisjs.md +124 -3
  435. package/docs/ar/intlayer_with_analog.md +119 -11
  436. package/docs/ar/intlayer_with_angular_19.md +118 -11
  437. package/docs/ar/intlayer_with_angular_21.md +112 -11
  438. package/docs/ar/intlayer_with_astro.md +120 -23
  439. package/docs/ar/intlayer_with_astro_lit.md +121 -13
  440. package/docs/ar/intlayer_with_astro_preact.md +121 -13
  441. package/docs/ar/intlayer_with_astro_react.md +121 -13
  442. package/docs/ar/intlayer_with_astro_solid.md +121 -13
  443. package/docs/ar/intlayer_with_astro_svelte.md +121 -13
  444. package/docs/ar/intlayer_with_astro_vanilla.md +115 -13
  445. package/docs/ar/intlayer_with_astro_vue.md +121 -13
  446. package/docs/ar/intlayer_with_create_react_app.md +108 -3
  447. package/docs/ar/intlayer_with_elysia.md +125 -4
  448. package/docs/ar/intlayer_with_express.md +117 -3
  449. package/docs/ar/intlayer_with_fastify.md +119 -4
  450. package/docs/ar/intlayer_with_hono.md +117 -3
  451. package/docs/ar/intlayer_with_htmx.md +771 -0
  452. package/docs/ar/intlayer_with_lynx+react.md +10 -17
  453. package/docs/ar/intlayer_with_nestjs.md +118 -3
  454. package/docs/ar/intlayer_with_next-i18next.md +3 -3
  455. package/docs/ar/intlayer_with_nextjs_14.md +147 -123
  456. package/docs/ar/intlayer_with_nextjs_15.md +129 -54
  457. package/docs/ar/intlayer_with_nextjs_16.md +130 -52
  458. package/docs/ar/intlayer_with_nextjs_compiler.md +125 -16
  459. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +124 -12
  460. package/docs/ar/intlayer_with_nextjs_page_router.md +142 -110
  461. package/docs/ar/intlayer_with_nuxt.md +113 -11
  462. package/docs/ar/intlayer_with_react_native+expo.md +105 -10
  463. package/docs/ar/intlayer_with_react_router_v7.md +122 -13
  464. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +125 -25
  465. package/docs/ar/intlayer_with_solid_start.md +118 -4
  466. package/docs/ar/intlayer_with_storybook.md +7 -20
  467. package/docs/ar/intlayer_with_svelte_kit.md +110 -20
  468. package/docs/ar/intlayer_with_tanstack+solid.md +127 -25
  469. package/docs/ar/intlayer_with_tanstack.md +137 -46
  470. package/docs/ar/intlayer_with_vanilla.md +117 -9
  471. package/docs/ar/intlayer_with_vite+lit.md +121 -11
  472. package/docs/ar/intlayer_with_vite+preact.md +151 -43
  473. package/docs/ar/intlayer_with_vite+react.md +111 -23
  474. package/docs/ar/intlayer_with_vite+react_compiler.md +109 -4
  475. package/docs/ar/intlayer_with_vite+solid.md +117 -8
  476. package/docs/ar/intlayer_with_vite+svelte.md +122 -20
  477. package/docs/ar/intlayer_with_vite+vanilla.md +128 -11
  478. package/docs/ar/intlayer_with_vite+vue.md +108 -12
  479. package/docs/ar/introduction.md +104 -1
  480. package/docs/ar/migration_from_i18next_to_intlayer.md +3 -5
  481. package/docs/ar/migration_from_next-i18next_to_intlayer.md +3 -5
  482. package/docs/ar/migration_from_next-intl_to_intlayer.md +3 -5
  483. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  484. package/docs/ar/migration_from_react-i18next_to_intlayer.md +3 -5
  485. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +3 -5
  486. package/docs/ar/packages/vite-intlayer/intlayerMinify.md +1 -1
  487. package/docs/bn/bundle_optimization.md +186 -186
  488. package/docs/bn/intlayer_with_angular_21.md +3 -3
  489. package/docs/bn/intlayer_with_fastify.md +4 -4
  490. package/docs/bn/intlayer_with_hono.md +3 -3
  491. package/docs/bn/intlayer_with_vite+lit.md +3 -3
  492. package/docs/bn/intlayer_with_vite+vanilla.md +3 -3
  493. package/docs/bn/introduction.md +0 -1
  494. package/docs/cs/bundle_optimization.md +186 -186
  495. package/docs/cs/interest_of_intlayer.md +0 -1
  496. package/docs/cs/intlayer_with_angular_21.md +3 -3
  497. package/docs/cs/intlayer_with_fastify.md +4 -4
  498. package/docs/cs/intlayer_with_hono.md +3 -3
  499. package/docs/cs/intlayer_with_storybook.md +0 -12
  500. package/docs/cs/intlayer_with_vanilla.md +2 -1
  501. package/docs/cs/intlayer_with_vite+lit.md +3 -3
  502. package/docs/cs/intlayer_with_vite+vanilla.md +3 -3
  503. package/docs/cs/introduction.md +0 -1
  504. package/docs/de/analytics.md +458 -12
  505. package/docs/de/bundle_optimization.md +186 -186
  506. package/docs/de/configuration.md +99 -1
  507. package/docs/de/dictionary/content_file.md +4 -4
  508. package/docs/de/dictionary/markdown.md +3 -0
  509. package/docs/de/dictionary/plurial.md +6 -3
  510. package/docs/de/how_works_intlayer.md +93 -1
  511. package/docs/de/interest_of_intlayer.md +97 -2
  512. package/docs/de/intlayer_CMS.md +93 -1
  513. package/docs/de/intlayer_visual_editor.md +88 -2
  514. package/docs/de/intlayer_with_adonisjs.md +124 -4
  515. package/docs/de/intlayer_with_analog.md +114 -5
  516. package/docs/de/intlayer_with_angular_19.md +112 -5
  517. package/docs/de/intlayer_with_angular_21.md +106 -5
  518. package/docs/de/intlayer_with_astro.md +114 -17
  519. package/docs/de/intlayer_with_astro_lit.md +115 -7
  520. package/docs/de/intlayer_with_astro_preact.md +115 -7
  521. package/docs/de/intlayer_with_astro_react.md +115 -7
  522. package/docs/de/intlayer_with_astro_solid.md +115 -7
  523. package/docs/de/intlayer_with_astro_svelte.md +115 -7
  524. package/docs/de/intlayer_with_astro_vanilla.md +109 -7
  525. package/docs/de/intlayer_with_astro_vue.md +115 -7
  526. package/docs/de/intlayer_with_create_react_app.md +110 -5
  527. package/docs/de/intlayer_with_elysia.md +125 -5
  528. package/docs/de/intlayer_with_express.md +118 -4
  529. package/docs/de/intlayer_with_fastify.md +119 -5
  530. package/docs/de/intlayer_with_hono.md +118 -4
  531. package/docs/de/intlayer_with_htmx.md +770 -0
  532. package/docs/de/intlayer_with_lynx+react.md +3 -10
  533. package/docs/de/intlayer_with_nestjs.md +118 -4
  534. package/docs/de/intlayer_with_next-i18next.md +3 -3
  535. package/docs/de/intlayer_with_nextjs_14.md +141 -113
  536. package/docs/de/intlayer_with_nextjs_15.md +123 -48
  537. package/docs/de/intlayer_with_nextjs_16.md +150 -54
  538. package/docs/de/intlayer_with_nextjs_compiler.md +116 -6
  539. package/docs/de/intlayer_with_nextjs_no_locale_path.md +118 -6
  540. package/docs/de/intlayer_with_nextjs_page_router.md +124 -98
  541. package/docs/de/intlayer_with_nuxt.md +107 -5
  542. package/docs/de/intlayer_with_react_native+expo.md +106 -11
  543. package/docs/de/intlayer_with_react_router_v7.md +116 -7
  544. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +111 -4
  545. package/docs/de/intlayer_with_solid_start.md +120 -5
  546. package/docs/de/intlayer_with_storybook.md +0 -13
  547. package/docs/de/intlayer_with_svelte_kit.md +102 -5
  548. package/docs/de/intlayer_with_tanstack+solid.md +122 -19
  549. package/docs/de/intlayer_with_tanstack.md +234 -155
  550. package/docs/de/intlayer_with_vanilla.md +111 -3
  551. package/docs/de/intlayer_with_vite+lit.md +116 -5
  552. package/docs/de/intlayer_with_vite+preact.md +173 -36
  553. package/docs/de/intlayer_with_vite+react.md +105 -9
  554. package/docs/de/intlayer_with_vite+react_compiler.md +110 -5
  555. package/docs/de/intlayer_with_vite+solid.md +116 -5
  556. package/docs/de/intlayer_with_vite+svelte.md +117 -14
  557. package/docs/de/intlayer_with_vite+vanilla.md +122 -5
  558. package/docs/de/intlayer_with_vite+vue.md +101 -5
  559. package/docs/de/introduction.md +105 -2
  560. package/docs/de/migration_from_i18next_to_intlayer.md +3 -5
  561. package/docs/de/migration_from_next-i18next_to_intlayer.md +3 -5
  562. package/docs/de/migration_from_next-intl_to_intlayer.md +3 -5
  563. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  564. package/docs/de/migration_from_react-i18next_to_intlayer.md +3 -5
  565. package/docs/de/migration_from_vue-i18n_to_intlayer.md +3 -5
  566. package/docs/de/packages/vite-intlayer/intlayerMinify.md +1 -1
  567. package/docs/en/bundle_optimization.md +186 -186
  568. package/docs/en/configuration.md +99 -1
  569. package/docs/en/dictionary/content_file.md +4 -4
  570. package/docs/en/how_works_intlayer.md +93 -1
  571. package/docs/en/interest_of_intlayer.md +97 -2
  572. package/docs/en/intlayer_CMS.md +93 -1
  573. package/docs/en/intlayer_visual_editor.md +88 -2
  574. package/docs/en/intlayer_with_adonisjs.md +124 -4
  575. package/docs/en/intlayer_with_analog.md +114 -5
  576. package/docs/en/intlayer_with_angular_19.md +112 -5
  577. package/docs/en/intlayer_with_angular_21.md +106 -5
  578. package/docs/en/intlayer_with_astro.md +110 -7
  579. package/docs/en/intlayer_with_astro_lit.md +115 -7
  580. package/docs/en/intlayer_with_astro_preact.md +115 -7
  581. package/docs/en/intlayer_with_astro_react.md +115 -7
  582. package/docs/en/intlayer_with_astro_solid.md +115 -7
  583. package/docs/en/intlayer_with_astro_svelte.md +115 -7
  584. package/docs/en/intlayer_with_astro_vanilla.md +109 -7
  585. package/docs/en/intlayer_with_astro_vue.md +115 -7
  586. package/docs/en/intlayer_with_create_react_app.md +108 -5
  587. package/docs/en/intlayer_with_elysia.md +125 -5
  588. package/docs/en/intlayer_with_express.md +118 -4
  589. package/docs/en/intlayer_with_fastify.md +119 -5
  590. package/docs/en/intlayer_with_hono.md +118 -4
  591. package/docs/en/intlayer_with_htmx.md +754 -0
  592. package/docs/en/intlayer_with_lynx+react.md +3 -10
  593. package/docs/en/intlayer_with_nestjs.md +118 -4
  594. package/docs/en/intlayer_with_next-i18next.md +3 -3
  595. package/docs/en/intlayer_with_nextjs_14.md +123 -46
  596. package/docs/en/intlayer_with_nextjs_15.md +123 -47
  597. package/docs/en/intlayer_with_nextjs_16.md +124 -46
  598. package/docs/en/intlayer_with_nextjs_compiler.md +114 -5
  599. package/docs/en/intlayer_with_nextjs_no_locale_path.md +118 -6
  600. package/docs/en/intlayer_with_nextjs_page_router.md +113 -98
  601. package/docs/en/intlayer_with_nuxt.md +107 -5
  602. package/docs/en/intlayer_with_react_native+expo.md +106 -11
  603. package/docs/en/intlayer_with_react_router_v7.md +116 -7
  604. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +112 -5
  605. package/docs/en/intlayer_with_solid_start.md +120 -5
  606. package/docs/en/intlayer_with_storybook.md +0 -13
  607. package/docs/en/intlayer_with_svelte_kit.md +102 -5
  608. package/docs/en/intlayer_with_tanstack+solid.md +123 -19
  609. package/docs/en/intlayer_with_tanstack.md +117 -19
  610. package/docs/en/intlayer_with_vanilla.md +111 -3
  611. package/docs/en/intlayer_with_vite+lit.md +116 -5
  612. package/docs/en/intlayer_with_vite+preact.md +146 -37
  613. package/docs/en/intlayer_with_vite+react.md +104 -7
  614. package/docs/en/intlayer_with_vite+react_compiler.md +110 -5
  615. package/docs/en/intlayer_with_vite+solid.md +116 -5
  616. package/docs/en/intlayer_with_vite+svelte.md +117 -14
  617. package/docs/en/intlayer_with_vite+vanilla.md +122 -5
  618. package/docs/en/intlayer_with_vite+vue.md +101 -5
  619. package/docs/en/introduction.md +105 -2
  620. package/docs/en/migration_from_i18next_to_intlayer.md +3 -5
  621. package/docs/en/migration_from_next-i18next_to_intlayer.md +3 -5
  622. package/docs/en/migration_from_next-intl_to_intlayer.md +3 -5
  623. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  624. package/docs/en/migration_from_react-i18next_to_intlayer.md +3 -5
  625. package/docs/en/migration_from_vue-i18n_to_intlayer.md +3 -5
  626. package/docs/en/packages/vite-intlayer/intlayerMinify.md +1 -1
  627. package/docs/en-GB/analytics.md +527 -58
  628. package/docs/en-GB/bundle_optimization.md +186 -186
  629. package/docs/en-GB/configuration.md +99 -1
  630. package/docs/en-GB/dictionary/content_file.md +4 -4
  631. package/docs/en-GB/dictionary/html.md +117 -1
  632. package/docs/en-GB/dictionary/markdown.md +18 -1
  633. package/docs/en-GB/dictionary/plurial.md +5 -2
  634. package/docs/en-GB/dictionary/translation.md +1 -1
  635. package/docs/en-GB/how_works_intlayer.md +93 -1
  636. package/docs/en-GB/interest_of_intlayer.md +97 -2
  637. package/docs/en-GB/intlayer_CMS.md +93 -1
  638. package/docs/en-GB/intlayer_visual_editor.md +88 -2
  639. package/docs/en-GB/intlayer_with_adonisjs.md +124 -4
  640. package/docs/en-GB/intlayer_with_analog.md +114 -5
  641. package/docs/en-GB/intlayer_with_angular_19.md +112 -5
  642. package/docs/en-GB/intlayer_with_angular_21.md +106 -5
  643. package/docs/en-GB/intlayer_with_astro.md +114 -17
  644. package/docs/en-GB/intlayer_with_astro_lit.md +115 -7
  645. package/docs/en-GB/intlayer_with_astro_preact.md +115 -7
  646. package/docs/en-GB/intlayer_with_astro_react.md +115 -7
  647. package/docs/en-GB/intlayer_with_astro_solid.md +115 -7
  648. package/docs/en-GB/intlayer_with_astro_svelte.md +115 -7
  649. package/docs/en-GB/intlayer_with_astro_vanilla.md +109 -7
  650. package/docs/en-GB/intlayer_with_astro_vue.md +115 -7
  651. package/docs/en-GB/intlayer_with_create_react_app.md +108 -5
  652. package/docs/en-GB/intlayer_with_elysia.md +125 -5
  653. package/docs/en-GB/intlayer_with_express.md +118 -4
  654. package/docs/en-GB/intlayer_with_fastify.md +119 -5
  655. package/docs/en-GB/intlayer_with_hono.md +118 -4
  656. package/docs/en-GB/intlayer_with_htmx.md +757 -0
  657. package/docs/en-GB/intlayer_with_lynx+react.md +3 -10
  658. package/docs/en-GB/intlayer_with_nestjs.md +118 -4
  659. package/docs/en-GB/intlayer_with_next-i18next.md +3 -3
  660. package/docs/en-GB/intlayer_with_nextjs_14.md +123 -47
  661. package/docs/en-GB/intlayer_with_nextjs_15.md +126 -48
  662. package/docs/en-GB/intlayer_with_nextjs_16.md +124 -47
  663. package/docs/en-GB/intlayer_with_nextjs_compiler.md +124 -15
  664. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +118 -6
  665. package/docs/en-GB/intlayer_with_nextjs_page_router.md +125 -140
  666. package/docs/en-GB/intlayer_with_nuxt.md +107 -5
  667. package/docs/en-GB/intlayer_with_react_native+expo.md +106 -11
  668. package/docs/en-GB/intlayer_with_react_router_v7.md +116 -7
  669. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +114 -7
  670. package/docs/en-GB/intlayer_with_solid_start.md +120 -5
  671. package/docs/en-GB/intlayer_with_storybook.md +0 -13
  672. package/docs/en-GB/intlayer_with_svelte_kit.md +102 -5
  673. package/docs/en-GB/intlayer_with_tanstack+solid.md +123 -19
  674. package/docs/en-GB/intlayer_with_tanstack.md +258 -170
  675. package/docs/en-GB/intlayer_with_vanilla.md +111 -3
  676. package/docs/en-GB/intlayer_with_vite+lit.md +116 -5
  677. package/docs/en-GB/intlayer_with_vite+preact.md +182 -35
  678. package/docs/en-GB/intlayer_with_vite+react.md +104 -16
  679. package/docs/en-GB/intlayer_with_vite+react_compiler.md +110 -5
  680. package/docs/en-GB/intlayer_with_vite+solid.md +121 -5
  681. package/docs/en-GB/intlayer_with_vite+svelte.md +117 -23
  682. package/docs/en-GB/intlayer_with_vite+vanilla.md +122 -5
  683. package/docs/en-GB/intlayer_with_vite+vue.md +105 -11
  684. package/docs/en-GB/introduction.md +105 -2
  685. package/docs/en-GB/migration_from_i18next_to_intlayer.md +3 -5
  686. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +3 -5
  687. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +3 -5
  688. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  689. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +3 -5
  690. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +3 -5
  691. package/docs/en-GB/packages/vite-intlayer/intlayerMinify.md +1 -1
  692. package/docs/es/analytics.md +458 -12
  693. package/docs/es/bundle_optimization.md +186 -186
  694. package/docs/es/configuration.md +99 -1
  695. package/docs/es/dictionary/content_file.md +4 -4
  696. package/docs/es/dictionary/markdown.md +18 -1
  697. package/docs/es/dictionary/plurial.md +5 -2
  698. package/docs/es/how_works_intlayer.md +93 -1
  699. package/docs/es/interest_of_intlayer.md +97 -2
  700. package/docs/es/intlayer_CMS.md +93 -1
  701. package/docs/es/intlayer_visual_editor.md +88 -2
  702. package/docs/es/intlayer_with_adonisjs.md +124 -4
  703. package/docs/es/intlayer_with_analog.md +114 -5
  704. package/docs/es/intlayer_with_angular_19.md +112 -5
  705. package/docs/es/intlayer_with_angular_21.md +106 -5
  706. package/docs/es/intlayer_with_astro.md +114 -17
  707. package/docs/es/intlayer_with_astro_lit.md +115 -7
  708. package/docs/es/intlayer_with_astro_preact.md +115 -7
  709. package/docs/es/intlayer_with_astro_react.md +115 -7
  710. package/docs/es/intlayer_with_astro_solid.md +115 -7
  711. package/docs/es/intlayer_with_astro_svelte.md +115 -7
  712. package/docs/es/intlayer_with_astro_vanilla.md +109 -7
  713. package/docs/es/intlayer_with_astro_vue.md +115 -7
  714. package/docs/es/intlayer_with_create_react_app.md +110 -5
  715. package/docs/es/intlayer_with_elysia.md +125 -5
  716. package/docs/es/intlayer_with_express.md +118 -4
  717. package/docs/es/intlayer_with_fastify.md +119 -5
  718. package/docs/es/intlayer_with_hono.md +118 -4
  719. package/docs/es/intlayer_with_htmx.md +763 -0
  720. package/docs/es/intlayer_with_lynx+react.md +3 -10
  721. package/docs/es/intlayer_with_nestjs.md +118 -4
  722. package/docs/es/intlayer_with_next-i18next.md +3 -3
  723. package/docs/es/intlayer_with_nextjs_14.md +123 -47
  724. package/docs/es/intlayer_with_nextjs_15.md +126 -48
  725. package/docs/es/intlayer_with_nextjs_16.md +145 -55
  726. package/docs/es/intlayer_with_nextjs_compiler.md +125 -15
  727. package/docs/es/intlayer_with_nextjs_no_locale_path.md +118 -6
  728. package/docs/es/intlayer_with_nextjs_page_router.md +113 -98
  729. package/docs/es/intlayer_with_nuxt.md +107 -5
  730. package/docs/es/intlayer_with_react_native+expo.md +106 -11
  731. package/docs/es/intlayer_with_react_router_v7.md +116 -7
  732. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +111 -4
  733. package/docs/es/intlayer_with_solid_start.md +120 -5
  734. package/docs/es/intlayer_with_storybook.md +0 -13
  735. package/docs/es/intlayer_with_svelte_kit.md +102 -5
  736. package/docs/es/intlayer_with_tanstack+solid.md +122 -19
  737. package/docs/es/intlayer_with_tanstack.md +255 -150
  738. package/docs/es/intlayer_with_vanilla.md +111 -3
  739. package/docs/es/intlayer_with_vite+lit.md +116 -5
  740. package/docs/es/intlayer_with_vite+preact.md +146 -37
  741. package/docs/es/intlayer_with_vite+react.md +104 -7
  742. package/docs/es/intlayer_with_vite+react_compiler.md +110 -5
  743. package/docs/es/intlayer_with_vite+solid.md +117 -5
  744. package/docs/es/intlayer_with_vite+svelte.md +117 -14
  745. package/docs/es/intlayer_with_vite+vanilla.md +122 -5
  746. package/docs/es/intlayer_with_vite+vue.md +102 -6
  747. package/docs/es/introduction.md +105 -2
  748. package/docs/es/migration_from_i18next_to_intlayer.md +3 -5
  749. package/docs/es/migration_from_next-i18next_to_intlayer.md +3 -5
  750. package/docs/es/migration_from_next-intl_to_intlayer.md +3 -5
  751. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  752. package/docs/es/migration_from_react-i18next_to_intlayer.md +3 -5
  753. package/docs/es/migration_from_vue-i18n_to_intlayer.md +3 -5
  754. package/docs/es/packages/vite-intlayer/intlayerMinify.md +1 -1
  755. package/docs/fr/analytics.md +437 -13
  756. package/docs/fr/bundle_optimization.md +186 -186
  757. package/docs/fr/configuration.md +99 -1
  758. package/docs/fr/dictionary/content_file.md +4 -4
  759. package/docs/fr/dictionary/markdown.md +18 -1
  760. package/docs/fr/dictionary/plurial.md +5 -2
  761. package/docs/fr/how_works_intlayer.md +93 -1
  762. package/docs/fr/interest_of_intlayer.md +97 -2
  763. package/docs/fr/intlayer_CMS.md +93 -1
  764. package/docs/fr/intlayer_visual_editor.md +88 -2
  765. package/docs/fr/intlayer_with_adonisjs.md +124 -4
  766. package/docs/fr/intlayer_with_analog.md +114 -5
  767. package/docs/fr/intlayer_with_angular_19.md +112 -5
  768. package/docs/fr/intlayer_with_angular_21.md +106 -5
  769. package/docs/fr/intlayer_with_astro.md +114 -17
  770. package/docs/fr/intlayer_with_astro_lit.md +115 -7
  771. package/docs/fr/intlayer_with_astro_preact.md +115 -7
  772. package/docs/fr/intlayer_with_astro_react.md +115 -7
  773. package/docs/fr/intlayer_with_astro_solid.md +115 -7
  774. package/docs/fr/intlayer_with_astro_svelte.md +115 -7
  775. package/docs/fr/intlayer_with_astro_vanilla.md +109 -7
  776. package/docs/fr/intlayer_with_astro_vue.md +115 -7
  777. package/docs/fr/intlayer_with_create_react_app.md +110 -5
  778. package/docs/fr/intlayer_with_elysia.md +125 -5
  779. package/docs/fr/intlayer_with_express.md +118 -4
  780. package/docs/fr/intlayer_with_fastify.md +119 -5
  781. package/docs/fr/intlayer_with_hono.md +118 -4
  782. package/docs/fr/intlayer_with_htmx.md +756 -0
  783. package/docs/fr/intlayer_with_lynx+react.md +3 -10
  784. package/docs/fr/intlayer_with_nestjs.md +118 -4
  785. package/docs/fr/intlayer_with_next-i18next.md +3 -3
  786. package/docs/fr/intlayer_with_nextjs_14.md +141 -113
  787. package/docs/fr/intlayer_with_nextjs_15.md +127 -49
  788. package/docs/fr/intlayer_with_nextjs_16.md +124 -46
  789. package/docs/fr/intlayer_with_nextjs_compiler.md +125 -15
  790. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +118 -6
  791. package/docs/fr/intlayer_with_nextjs_page_router.md +113 -98
  792. package/docs/fr/intlayer_with_nuxt.md +107 -5
  793. package/docs/fr/intlayer_with_react_native+expo.md +106 -11
  794. package/docs/fr/intlayer_with_react_router_v7.md +120 -13
  795. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +111 -4
  796. package/docs/fr/intlayer_with_solid_start.md +120 -5
  797. package/docs/fr/intlayer_with_storybook.md +0 -13
  798. package/docs/fr/intlayer_with_svelte_kit.md +102 -5
  799. package/docs/fr/intlayer_with_tanstack+solid.md +122 -19
  800. package/docs/fr/intlayer_with_tanstack.md +238 -131
  801. package/docs/fr/intlayer_with_vanilla.md +111 -3
  802. package/docs/fr/intlayer_with_vite+lit.md +116 -5
  803. package/docs/fr/intlayer_with_vite+preact.md +146 -37
  804. package/docs/fr/intlayer_with_vite+react.md +104 -7
  805. package/docs/fr/intlayer_with_vite+react_compiler.md +110 -5
  806. package/docs/fr/intlayer_with_vite+solid.md +117 -5
  807. package/docs/fr/intlayer_with_vite+svelte.md +117 -14
  808. package/docs/fr/intlayer_with_vite+vanilla.md +122 -5
  809. package/docs/fr/intlayer_with_vite+vue.md +102 -6
  810. package/docs/fr/introduction.md +105 -2
  811. package/docs/fr/migration_from_i18next_to_intlayer.md +3 -5
  812. package/docs/fr/migration_from_next-i18next_to_intlayer.md +3 -5
  813. package/docs/fr/migration_from_next-intl_to_intlayer.md +3 -5
  814. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  815. package/docs/fr/migration_from_react-i18next_to_intlayer.md +3 -5
  816. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +3 -5
  817. package/docs/fr/packages/vite-intlayer/intlayerMinify.md +1 -1
  818. package/docs/hi/analytics.md +488 -21
  819. package/docs/hi/bundle_optimization.md +186 -186
  820. package/docs/hi/configuration.md +98 -0
  821. package/docs/hi/dictionary/content_file.md +4 -4
  822. package/docs/hi/dictionary/html.md +100 -3
  823. package/docs/hi/dictionary/markdown.md +3 -0
  824. package/docs/hi/dictionary/plurial.md +6 -3
  825. package/docs/hi/how_works_intlayer.md +92 -0
  826. package/docs/hi/interest_of_intlayer.md +106 -9
  827. package/docs/hi/intlayer_CMS.md +92 -0
  828. package/docs/hi/intlayer_visual_editor.md +87 -1
  829. package/docs/hi/intlayer_with_adonisjs.md +124 -3
  830. package/docs/hi/intlayer_with_analog.md +119 -11
  831. package/docs/hi/intlayer_with_angular_19.md +118 -11
  832. package/docs/hi/intlayer_with_angular_21.md +112 -11
  833. package/docs/hi/intlayer_with_astro.md +120 -23
  834. package/docs/hi/intlayer_with_astro_lit.md +121 -13
  835. package/docs/hi/intlayer_with_astro_preact.md +121 -13
  836. package/docs/hi/intlayer_with_astro_react.md +121 -13
  837. package/docs/hi/intlayer_with_astro_solid.md +121 -13
  838. package/docs/hi/intlayer_with_astro_svelte.md +121 -13
  839. package/docs/hi/intlayer_with_astro_vanilla.md +115 -13
  840. package/docs/hi/intlayer_with_astro_vue.md +121 -13
  841. package/docs/hi/intlayer_with_create_react_app.md +109 -4
  842. package/docs/hi/intlayer_with_elysia.md +125 -4
  843. package/docs/hi/intlayer_with_express.md +117 -3
  844. package/docs/hi/intlayer_with_fastify.md +119 -4
  845. package/docs/hi/intlayer_with_hono.md +117 -3
  846. package/docs/hi/intlayer_with_htmx.md +771 -0
  847. package/docs/hi/intlayer_with_lynx+react.md +10 -17
  848. package/docs/hi/intlayer_with_nestjs.md +118 -3
  849. package/docs/hi/intlayer_with_next-i18next.md +3 -3
  850. package/docs/hi/intlayer_with_nextjs_14.md +147 -123
  851. package/docs/hi/intlayer_with_nextjs_15.md +132 -54
  852. package/docs/hi/intlayer_with_nextjs_16.md +132 -53
  853. package/docs/hi/intlayer_with_nextjs_compiler.md +124 -15
  854. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +124 -12
  855. package/docs/hi/intlayer_with_nextjs_page_router.md +126 -99
  856. package/docs/hi/intlayer_with_nuxt.md +113 -11
  857. package/docs/hi/intlayer_with_react_native+expo.md +105 -10
  858. package/docs/hi/intlayer_with_react_router_v7.md +122 -13
  859. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +125 -25
  860. package/docs/hi/intlayer_with_solid_start.md +118 -4
  861. package/docs/hi/intlayer_with_storybook.md +7 -20
  862. package/docs/hi/intlayer_with_svelte_kit.md +108 -11
  863. package/docs/hi/intlayer_with_tanstack+solid.md +127 -25
  864. package/docs/hi/intlayer_with_tanstack.md +272 -158
  865. package/docs/hi/intlayer_with_vanilla.md +117 -9
  866. package/docs/hi/intlayer_with_vite+lit.md +121 -11
  867. package/docs/hi/intlayer_with_vite+preact.md +173 -44
  868. package/docs/hi/intlayer_with_vite+react.md +111 -23
  869. package/docs/hi/intlayer_with_vite+react_compiler.md +109 -4
  870. package/docs/hi/intlayer_with_vite+solid.md +121 -11
  871. package/docs/hi/intlayer_with_vite+svelte.md +124 -21
  872. package/docs/hi/intlayer_with_vite+vanilla.md +128 -11
  873. package/docs/hi/intlayer_with_vite+vue.md +107 -11
  874. package/docs/hi/introduction.md +104 -1
  875. package/docs/hi/migration_from_i18next_to_intlayer.md +3 -5
  876. package/docs/hi/migration_from_next-i18next_to_intlayer.md +3 -5
  877. package/docs/hi/migration_from_next-intl_to_intlayer.md +3 -5
  878. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  879. package/docs/hi/migration_from_react-i18next_to_intlayer.md +3 -5
  880. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +3 -5
  881. package/docs/hi/packages/intlayer/index.md +3 -3
  882. package/docs/hi/packages/vite-intlayer/intlayerMinify.md +1 -1
  883. package/docs/id/analytics.md +488 -21
  884. package/docs/id/bundle_optimization.md +186 -186
  885. package/docs/id/configuration.md +98 -0
  886. package/docs/id/dictionary/content_file.md +4 -4
  887. package/docs/id/dictionary/markdown.md +3 -0
  888. package/docs/id/dictionary/plurial.md +5 -2
  889. package/docs/id/how_works_intlayer.md +92 -0
  890. package/docs/id/interest_of_intlayer.md +96 -1
  891. package/docs/id/intlayer_CMS.md +92 -0
  892. package/docs/id/intlayer_visual_editor.md +87 -1
  893. package/docs/id/intlayer_with_adonisjs.md +124 -3
  894. package/docs/id/intlayer_with_analog.md +112 -4
  895. package/docs/id/intlayer_with_angular_19.md +111 -4
  896. package/docs/id/intlayer_with_angular_21.md +105 -4
  897. package/docs/id/intlayer_with_astro.md +113 -16
  898. package/docs/id/intlayer_with_astro_lit.md +114 -6
  899. package/docs/id/intlayer_with_astro_preact.md +114 -6
  900. package/docs/id/intlayer_with_astro_react.md +114 -6
  901. package/docs/id/intlayer_with_astro_solid.md +114 -6
  902. package/docs/id/intlayer_with_astro_svelte.md +114 -6
  903. package/docs/id/intlayer_with_astro_vanilla.md +108 -6
  904. package/docs/id/intlayer_with_astro_vue.md +114 -6
  905. package/docs/id/intlayer_with_create_react_app.md +109 -4
  906. package/docs/id/intlayer_with_elysia.md +125 -4
  907. package/docs/id/intlayer_with_express.md +117 -3
  908. package/docs/id/intlayer_with_fastify.md +119 -4
  909. package/docs/id/intlayer_with_hono.md +117 -3
  910. package/docs/id/intlayer_with_htmx.md +761 -0
  911. package/docs/id/intlayer_with_lynx+react.md +3 -10
  912. package/docs/id/intlayer_with_nestjs.md +118 -3
  913. package/docs/id/intlayer_with_next-i18next.md +3 -3
  914. package/docs/id/intlayer_with_nextjs_14.md +135 -69
  915. package/docs/id/intlayer_with_nextjs_15.md +122 -46
  916. package/docs/id/intlayer_with_nextjs_16.md +125 -45
  917. package/docs/id/intlayer_with_nextjs_compiler.md +125 -17
  918. package/docs/id/intlayer_with_nextjs_no_locale_path.md +117 -5
  919. package/docs/id/intlayer_with_nextjs_page_router.md +114 -97
  920. package/docs/id/intlayer_with_nuxt.md +106 -4
  921. package/docs/id/intlayer_with_react_native+expo.md +105 -10
  922. package/docs/id/intlayer_with_react_router_v7.md +115 -6
  923. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +116 -16
  924. package/docs/id/intlayer_with_solid_start.md +118 -4
  925. package/docs/id/intlayer_with_storybook.md +0 -13
  926. package/docs/id/intlayer_with_svelte_kit.md +101 -4
  927. package/docs/id/intlayer_with_tanstack+solid.md +120 -18
  928. package/docs/id/intlayer_with_tanstack.md +232 -132
  929. package/docs/id/intlayer_with_vanilla.md +110 -2
  930. package/docs/id/intlayer_with_vite+lit.md +114 -4
  931. package/docs/id/intlayer_with_vite+preact.md +144 -36
  932. package/docs/id/intlayer_with_vite+react.md +104 -16
  933. package/docs/id/intlayer_with_vite+react_compiler.md +109 -4
  934. package/docs/id/intlayer_with_vite+solid.md +115 -4
  935. package/docs/id/intlayer_with_vite+svelte.md +115 -13
  936. package/docs/id/intlayer_with_vite+vanilla.md +121 -4
  937. package/docs/id/intlayer_with_vite+vue.md +100 -4
  938. package/docs/id/introduction.md +104 -1
  939. package/docs/id/migration_from_i18next_to_intlayer.md +3 -5
  940. package/docs/id/migration_from_next-i18next_to_intlayer.md +3 -5
  941. package/docs/id/migration_from_next-intl_to_intlayer.md +3 -5
  942. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  943. package/docs/id/migration_from_react-i18next_to_intlayer.md +3 -5
  944. package/docs/id/migration_from_vue-i18n_to_intlayer.md +3 -5
  945. package/docs/id/packages/vite-intlayer/intlayerMinify.md +1 -1
  946. package/docs/it/analytics.md +488 -21
  947. package/docs/it/bundle_optimization.md +186 -186
  948. package/docs/it/configuration.md +99 -1
  949. package/docs/it/dictionary/content_file.md +4 -4
  950. package/docs/it/dictionary/markdown.md +18 -1
  951. package/docs/it/dictionary/plurial.md +5 -2
  952. package/docs/it/how_works_intlayer.md +93 -1
  953. package/docs/it/interest_of_intlayer.md +97 -2
  954. package/docs/it/intlayer_CMS.md +93 -1
  955. package/docs/it/intlayer_visual_editor.md +88 -2
  956. package/docs/it/intlayer_with_adonisjs.md +124 -4
  957. package/docs/it/intlayer_with_analog.md +114 -5
  958. package/docs/it/intlayer_with_angular_19.md +112 -5
  959. package/docs/it/intlayer_with_angular_21.md +106 -5
  960. package/docs/it/intlayer_with_astro.md +114 -17
  961. package/docs/it/intlayer_with_astro_lit.md +115 -7
  962. package/docs/it/intlayer_with_astro_preact.md +115 -7
  963. package/docs/it/intlayer_with_astro_react.md +115 -7
  964. package/docs/it/intlayer_with_astro_solid.md +115 -7
  965. package/docs/it/intlayer_with_astro_svelte.md +115 -7
  966. package/docs/it/intlayer_with_astro_vanilla.md +109 -7
  967. package/docs/it/intlayer_with_astro_vue.md +115 -7
  968. package/docs/it/intlayer_with_create_react_app.md +110 -5
  969. package/docs/it/intlayer_with_elysia.md +125 -5
  970. package/docs/it/intlayer_with_express.md +118 -4
  971. package/docs/it/intlayer_with_fastify.md +119 -5
  972. package/docs/it/intlayer_with_hono.md +118 -4
  973. package/docs/it/intlayer_with_htmx.md +761 -0
  974. package/docs/it/intlayer_with_lynx+react.md +3 -10
  975. package/docs/it/intlayer_with_nestjs.md +118 -4
  976. package/docs/it/intlayer_with_next-i18next.md +3 -3
  977. package/docs/it/intlayer_with_nextjs_14.md +141 -118
  978. package/docs/it/intlayer_with_nextjs_15.md +127 -50
  979. package/docs/it/intlayer_with_nextjs_16.md +126 -47
  980. package/docs/it/intlayer_with_nextjs_compiler.md +126 -17
  981. package/docs/it/intlayer_with_nextjs_no_locale_path.md +118 -6
  982. package/docs/it/intlayer_with_nextjs_page_router.md +122 -98
  983. package/docs/it/intlayer_with_nuxt.md +107 -5
  984. package/docs/it/intlayer_with_react_native+expo.md +106 -11
  985. package/docs/it/intlayer_with_react_router_v7.md +116 -7
  986. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +111 -4
  987. package/docs/it/intlayer_with_solid_start.md +120 -5
  988. package/docs/it/intlayer_with_storybook.md +0 -13
  989. package/docs/it/intlayer_with_svelte_kit.md +102 -5
  990. package/docs/it/intlayer_with_tanstack+solid.md +122 -19
  991. package/docs/it/intlayer_with_tanstack.md +235 -134
  992. package/docs/it/intlayer_with_vanilla.md +111 -3
  993. package/docs/it/intlayer_with_vite+lit.md +116 -5
  994. package/docs/it/intlayer_with_vite+preact.md +146 -37
  995. package/docs/it/intlayer_with_vite+react.md +105 -17
  996. package/docs/it/intlayer_with_vite+react_compiler.md +110 -5
  997. package/docs/it/intlayer_with_vite+solid.md +117 -5
  998. package/docs/it/intlayer_with_vite+svelte.md +117 -14
  999. package/docs/it/intlayer_with_vite+vanilla.md +122 -5
  1000. package/docs/it/intlayer_with_vite+vue.md +102 -6
  1001. package/docs/it/introduction.md +105 -2
  1002. package/docs/it/migration_from_i18next_to_intlayer.md +3 -5
  1003. package/docs/it/migration_from_next-i18next_to_intlayer.md +3 -5
  1004. package/docs/it/migration_from_next-intl_to_intlayer.md +3 -5
  1005. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1006. package/docs/it/migration_from_react-i18next_to_intlayer.md +3 -5
  1007. package/docs/it/migration_from_vue-i18n_to_intlayer.md +3 -5
  1008. package/docs/it/packages/vite-intlayer/intlayerMinify.md +1 -1
  1009. package/docs/ja/analytics.md +458 -12
  1010. package/docs/ja/bundle_optimization.md +186 -186
  1011. package/docs/ja/configuration.md +99 -1
  1012. package/docs/ja/dictionary/content_file.md +4 -4
  1013. package/docs/ja/dictionary/plurial.md +5 -2
  1014. package/docs/ja/how_works_intlayer.md +93 -1
  1015. package/docs/ja/interest_of_intlayer.md +107 -10
  1016. package/docs/ja/intlayer_CMS.md +93 -1
  1017. package/docs/ja/intlayer_visual_editor.md +88 -2
  1018. package/docs/ja/intlayer_with_adonisjs.md +124 -4
  1019. package/docs/ja/intlayer_with_analog.md +122 -13
  1020. package/docs/ja/intlayer_with_angular_19.md +120 -13
  1021. package/docs/ja/intlayer_with_angular_21.md +114 -13
  1022. package/docs/ja/intlayer_with_astro.md +122 -25
  1023. package/docs/ja/intlayer_with_astro_lit.md +123 -15
  1024. package/docs/ja/intlayer_with_astro_preact.md +123 -15
  1025. package/docs/ja/intlayer_with_astro_react.md +123 -15
  1026. package/docs/ja/intlayer_with_astro_solid.md +123 -15
  1027. package/docs/ja/intlayer_with_astro_svelte.md +123 -15
  1028. package/docs/ja/intlayer_with_astro_vanilla.md +117 -15
  1029. package/docs/ja/intlayer_with_astro_vue.md +123 -15
  1030. package/docs/ja/intlayer_with_create_react_app.md +110 -5
  1031. package/docs/ja/intlayer_with_elysia.md +125 -5
  1032. package/docs/ja/intlayer_with_express.md +124 -4
  1033. package/docs/ja/intlayer_with_fastify.md +119 -5
  1034. package/docs/ja/intlayer_with_hono.md +118 -4
  1035. package/docs/ja/intlayer_with_htmx.md +769 -0
  1036. package/docs/ja/intlayer_with_lynx+react.md +11 -18
  1037. package/docs/ja/intlayer_with_nestjs.md +118 -4
  1038. package/docs/ja/intlayer_with_next-i18next.md +3 -3
  1039. package/docs/ja/intlayer_with_nextjs_14.md +131 -54
  1040. package/docs/ja/intlayer_with_nextjs_15.md +139 -62
  1041. package/docs/ja/intlayer_with_nextjs_16.md +134 -55
  1042. package/docs/ja/intlayer_with_nextjs_compiler.md +126 -18
  1043. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +126 -14
  1044. package/docs/ja/intlayer_with_nextjs_page_router.md +218 -113
  1045. package/docs/ja/intlayer_with_nuxt.md +115 -13
  1046. package/docs/ja/intlayer_with_react_native+expo.md +106 -11
  1047. package/docs/ja/intlayer_with_react_router_v7.md +124 -14
  1048. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +123 -23
  1049. package/docs/ja/intlayer_with_solid_start.md +120 -5
  1050. package/docs/ja/intlayer_with_storybook.md +8 -21
  1051. package/docs/ja/intlayer_with_svelte_kit.md +110 -13
  1052. package/docs/ja/intlayer_with_tanstack+solid.md +131 -27
  1053. package/docs/ja/intlayer_with_tanstack.md +257 -206
  1054. package/docs/ja/intlayer_with_vanilla.md +119 -11
  1055. package/docs/ja/intlayer_with_vite+lit.md +124 -13
  1056. package/docs/ja/intlayer_with_vite+preact.md +154 -26
  1057. package/docs/ja/intlayer_with_vite+react.md +112 -15
  1058. package/docs/ja/intlayer_with_vite+react_compiler.md +110 -5
  1059. package/docs/ja/intlayer_with_vite+solid.md +124 -13
  1060. package/docs/ja/intlayer_with_vite+svelte.md +125 -22
  1061. package/docs/ja/intlayer_with_vite+vanilla.md +130 -13
  1062. package/docs/ja/intlayer_with_vite+vue.md +110 -14
  1063. package/docs/ja/introduction.md +105 -2
  1064. package/docs/ja/migration_from_i18next_to_intlayer.md +3 -5
  1065. package/docs/ja/migration_from_next-i18next_to_intlayer.md +3 -5
  1066. package/docs/ja/migration_from_next-intl_to_intlayer.md +3 -5
  1067. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1068. package/docs/ja/migration_from_react-i18next_to_intlayer.md +3 -5
  1069. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +3 -5
  1070. package/docs/ja/packages/vite-intlayer/intlayerMinify.md +1 -1
  1071. package/docs/ko/analytics.md +457 -11
  1072. package/docs/ko/bundle_optimization.md +186 -186
  1073. package/docs/ko/configuration.md +99 -1
  1074. package/docs/ko/dictionary/content_file.md +4 -4
  1075. package/docs/ko/dictionary/markdown.md +18 -1
  1076. package/docs/ko/dictionary/plurial.md +6 -3
  1077. package/docs/ko/how_works_intlayer.md +93 -1
  1078. package/docs/ko/interest_of_intlayer.md +98 -3
  1079. package/docs/ko/intlayer_CMS.md +93 -1
  1080. package/docs/ko/intlayer_visual_editor.md +88 -2
  1081. package/docs/ko/intlayer_with_adonisjs.md +124 -4
  1082. package/docs/ko/intlayer_with_analog.md +114 -5
  1083. package/docs/ko/intlayer_with_angular_19.md +113 -6
  1084. package/docs/ko/intlayer_with_angular_21.md +107 -6
  1085. package/docs/ko/intlayer_with_astro.md +122 -22
  1086. package/docs/ko/intlayer_with_astro_lit.md +115 -7
  1087. package/docs/ko/intlayer_with_astro_preact.md +115 -7
  1088. package/docs/ko/intlayer_with_astro_react.md +115 -7
  1089. package/docs/ko/intlayer_with_astro_solid.md +115 -7
  1090. package/docs/ko/intlayer_with_astro_svelte.md +115 -7
  1091. package/docs/ko/intlayer_with_astro_vanilla.md +109 -7
  1092. package/docs/ko/intlayer_with_astro_vue.md +115 -7
  1093. package/docs/ko/intlayer_with_create_react_app.md +110 -8
  1094. package/docs/ko/intlayer_with_elysia.md +125 -5
  1095. package/docs/ko/intlayer_with_express.md +118 -4
  1096. package/docs/ko/intlayer_with_fastify.md +119 -6
  1097. package/docs/ko/intlayer_with_hono.md +118 -4
  1098. package/docs/ko/intlayer_with_htmx.md +763 -0
  1099. package/docs/ko/intlayer_with_lynx+react.md +3 -10
  1100. package/docs/ko/intlayer_with_nestjs.md +118 -4
  1101. package/docs/ko/intlayer_with_next-i18next.md +3 -3
  1102. package/docs/ko/intlayer_with_nextjs_14.md +121 -45
  1103. package/docs/ko/intlayer_with_nextjs_15.md +121 -46
  1104. package/docs/ko/intlayer_with_nextjs_16.md +124 -46
  1105. package/docs/ko/intlayer_with_nextjs_compiler.md +113 -4
  1106. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +120 -10
  1107. package/docs/ko/intlayer_with_nextjs_page_router.md +113 -97
  1108. package/docs/ko/intlayer_with_nuxt.md +107 -5
  1109. package/docs/ko/intlayer_with_react_native+expo.md +106 -11
  1110. package/docs/ko/intlayer_with_react_router_v7.md +119 -13
  1111. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +116 -14
  1112. package/docs/ko/intlayer_with_solid_start.md +125 -10
  1113. package/docs/ko/intlayer_with_storybook.md +0 -14
  1114. package/docs/ko/intlayer_with_svelte_kit.md +102 -5
  1115. package/docs/ko/intlayer_with_tanstack+solid.md +124 -20
  1116. package/docs/ko/intlayer_with_tanstack.md +263 -194
  1117. package/docs/ko/intlayer_with_vanilla.md +111 -2
  1118. package/docs/ko/intlayer_with_vite+lit.md +117 -6
  1119. package/docs/ko/intlayer_with_vite+preact.md +146 -37
  1120. package/docs/ko/intlayer_with_vite+react.md +104 -8
  1121. package/docs/ko/intlayer_with_vite+react_compiler.md +110 -13
  1122. package/docs/ko/intlayer_with_vite+solid.md +118 -5
  1123. package/docs/ko/intlayer_with_vite+svelte.md +118 -18
  1124. package/docs/ko/intlayer_with_vite+vanilla.md +124 -14
  1125. package/docs/ko/intlayer_with_vite+vue.md +102 -6
  1126. package/docs/ko/introduction.md +105 -2
  1127. package/docs/ko/migration_from_i18next_to_intlayer.md +3 -5
  1128. package/docs/ko/migration_from_next-i18next_to_intlayer.md +3 -5
  1129. package/docs/ko/migration_from_next-intl_to_intlayer.md +3 -5
  1130. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1131. package/docs/ko/migration_from_react-i18next_to_intlayer.md +3 -5
  1132. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +3 -5
  1133. package/docs/ko/packages/express-intlayer/t.md +9 -6
  1134. package/docs/ko/packages/vite-intlayer/intlayerMinify.md +1 -1
  1135. package/docs/nl/bundle_optimization.md +186 -186
  1136. package/docs/nl/interest_of_intlayer.md +0 -1
  1137. package/docs/nl/intlayer_with_angular_21.md +3 -3
  1138. package/docs/nl/intlayer_with_fastify.md +4 -4
  1139. package/docs/nl/intlayer_with_hono.md +3 -3
  1140. package/docs/nl/intlayer_with_storybook.md +0 -12
  1141. package/docs/nl/intlayer_with_vanilla.md +2 -1
  1142. package/docs/nl/intlayer_with_vite+lit.md +3 -3
  1143. package/docs/nl/intlayer_with_vite+vanilla.md +3 -3
  1144. package/docs/nl/introduction.md +0 -1
  1145. package/docs/pl/analytics.md +488 -21
  1146. package/docs/pl/bundle_optimization.md +186 -186
  1147. package/docs/pl/configuration.md +98 -0
  1148. package/docs/pl/dictionary/content_file.md +4 -4
  1149. package/docs/pl/dictionary/markdown.md +3 -0
  1150. package/docs/pl/dictionary/plurial.md +5 -2
  1151. package/docs/pl/how_works_intlayer.md +92 -0
  1152. package/docs/pl/interest_of_intlayer.md +96 -1
  1153. package/docs/pl/intlayer_CMS.md +92 -0
  1154. package/docs/pl/intlayer_visual_editor.md +87 -1
  1155. package/docs/pl/intlayer_with_adonisjs.md +123 -3
  1156. package/docs/pl/intlayer_with_analog.md +119 -11
  1157. package/docs/pl/intlayer_with_angular_19.md +118 -11
  1158. package/docs/pl/intlayer_with_angular_21.md +112 -11
  1159. package/docs/pl/intlayer_with_astro.md +120 -23
  1160. package/docs/pl/intlayer_with_astro_lit.md +121 -13
  1161. package/docs/pl/intlayer_with_astro_preact.md +121 -13
  1162. package/docs/pl/intlayer_with_astro_react.md +121 -13
  1163. package/docs/pl/intlayer_with_astro_solid.md +121 -13
  1164. package/docs/pl/intlayer_with_astro_svelte.md +121 -13
  1165. package/docs/pl/intlayer_with_astro_vanilla.md +115 -13
  1166. package/docs/pl/intlayer_with_astro_vue.md +121 -13
  1167. package/docs/pl/intlayer_with_create_react_app.md +109 -4
  1168. package/docs/pl/intlayer_with_elysia.md +124 -4
  1169. package/docs/pl/intlayer_with_express.md +117 -3
  1170. package/docs/pl/intlayer_with_fastify.md +118 -4
  1171. package/docs/pl/intlayer_with_hono.md +117 -3
  1172. package/docs/pl/intlayer_with_htmx.md +767 -0
  1173. package/docs/pl/intlayer_with_lynx+react.md +10 -17
  1174. package/docs/pl/intlayer_with_nestjs.md +117 -3
  1175. package/docs/pl/intlayer_with_next-i18next.md +3 -3
  1176. package/docs/pl/intlayer_with_nextjs_14.md +130 -53
  1177. package/docs/pl/intlayer_with_nextjs_15.md +144 -65
  1178. package/docs/pl/intlayer_with_nextjs_16.md +131 -54
  1179. package/docs/pl/intlayer_with_nextjs_compiler.md +125 -16
  1180. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +125 -13
  1181. package/docs/pl/intlayer_with_nextjs_page_router.md +118 -100
  1182. package/docs/pl/intlayer_with_nuxt.md +113 -11
  1183. package/docs/pl/intlayer_with_react_native+expo.md +105 -10
  1184. package/docs/pl/intlayer_with_react_router_v7.md +134 -25
  1185. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +121 -20
  1186. package/docs/pl/intlayer_with_solid_start.md +118 -4
  1187. package/docs/pl/intlayer_with_storybook.md +7 -20
  1188. package/docs/pl/intlayer_with_svelte_kit.md +108 -11
  1189. package/docs/pl/intlayer_with_tanstack+solid.md +127 -25
  1190. package/docs/pl/intlayer_with_tanstack.md +241 -163
  1191. package/docs/pl/intlayer_with_vanilla.md +117 -9
  1192. package/docs/pl/intlayer_with_vite+lit.md +121 -11
  1193. package/docs/pl/intlayer_with_vite+preact.md +151 -43
  1194. package/docs/pl/intlayer_with_vite+react.md +111 -23
  1195. package/docs/pl/intlayer_with_vite+react_compiler.md +111 -6
  1196. package/docs/pl/intlayer_with_vite+solid.md +115 -8
  1197. package/docs/pl/intlayer_with_vite+svelte.md +122 -20
  1198. package/docs/pl/intlayer_with_vite+vanilla.md +128 -11
  1199. package/docs/pl/intlayer_with_vite+vue.md +107 -11
  1200. package/docs/pl/introduction.md +104 -1
  1201. package/docs/pl/migration_from_i18next_to_intlayer.md +3 -5
  1202. package/docs/pl/migration_from_next-i18next_to_intlayer.md +3 -5
  1203. package/docs/pl/migration_from_next-intl_to_intlayer.md +3 -5
  1204. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1205. package/docs/pl/migration_from_react-i18next_to_intlayer.md +3 -5
  1206. package/docs/pl/migration_from_vue-i18n_to_intlayer.md +3 -5
  1207. package/docs/pl/packages/next-intlayer/useIntlayer.md +3 -0
  1208. package/docs/pl/packages/vite-intlayer/intlayerMinify.md +1 -1
  1209. package/docs/pt/analytics.md +488 -21
  1210. package/docs/pt/bundle_optimization.md +186 -186
  1211. package/docs/pt/configuration.md +99 -1
  1212. package/docs/pt/dictionary/content_file.md +4 -4
  1213. package/docs/pt/dictionary/html.md +18 -1
  1214. package/docs/pt/dictionary/markdown.md +3 -0
  1215. package/docs/pt/dictionary/plurial.md +5 -2
  1216. package/docs/pt/how_works_intlayer.md +93 -1
  1217. package/docs/pt/interest_of_intlayer.md +98 -3
  1218. package/docs/pt/intlayer_CMS.md +93 -1
  1219. package/docs/pt/intlayer_visual_editor.md +88 -2
  1220. package/docs/pt/intlayer_with_adonisjs.md +124 -4
  1221. package/docs/pt/intlayer_with_analog.md +115 -6
  1222. package/docs/pt/intlayer_with_angular_19.md +112 -5
  1223. package/docs/pt/intlayer_with_angular_21.md +106 -5
  1224. package/docs/pt/intlayer_with_astro.md +114 -17
  1225. package/docs/pt/intlayer_with_astro_lit.md +115 -7
  1226. package/docs/pt/intlayer_with_astro_preact.md +115 -7
  1227. package/docs/pt/intlayer_with_astro_react.md +115 -7
  1228. package/docs/pt/intlayer_with_astro_solid.md +115 -7
  1229. package/docs/pt/intlayer_with_astro_svelte.md +115 -7
  1230. package/docs/pt/intlayer_with_astro_vanilla.md +109 -7
  1231. package/docs/pt/intlayer_with_astro_vue.md +114 -6
  1232. package/docs/pt/intlayer_with_create_react_app.md +110 -5
  1233. package/docs/pt/intlayer_with_elysia.md +125 -5
  1234. package/docs/pt/intlayer_with_express.md +118 -4
  1235. package/docs/pt/intlayer_with_fastify.md +119 -6
  1236. package/docs/pt/intlayer_with_hono.md +118 -4
  1237. package/docs/pt/intlayer_with_htmx.md +771 -0
  1238. package/docs/pt/intlayer_with_lynx+react.md +3 -10
  1239. package/docs/pt/intlayer_with_nestjs.md +118 -4
  1240. package/docs/pt/intlayer_with_next-i18next.md +3 -3
  1241. package/docs/pt/intlayer_with_nextjs_14.md +141 -120
  1242. package/docs/pt/intlayer_with_nextjs_15.md +123 -48
  1243. package/docs/pt/intlayer_with_nextjs_16.md +125 -48
  1244. package/docs/pt/intlayer_with_nextjs_compiler.md +125 -15
  1245. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +118 -6
  1246. package/docs/pt/intlayer_with_nextjs_page_router.md +124 -98
  1247. package/docs/pt/intlayer_with_nuxt.md +107 -5
  1248. package/docs/pt/intlayer_with_react_native+expo.md +106 -11
  1249. package/docs/pt/intlayer_with_react_router_v7.md +143 -36
  1250. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +115 -8
  1251. package/docs/pt/intlayer_with_solid_start.md +124 -9
  1252. package/docs/pt/intlayer_with_storybook.md +0 -13
  1253. package/docs/pt/intlayer_with_svelte_kit.md +102 -5
  1254. package/docs/pt/intlayer_with_tanstack+solid.md +123 -19
  1255. package/docs/pt/intlayer_with_tanstack.md +255 -147
  1256. package/docs/pt/intlayer_with_vanilla.md +111 -3
  1257. package/docs/pt/intlayer_with_vite+lit.md +116 -5
  1258. package/docs/pt/intlayer_with_vite+preact.md +146 -37
  1259. package/docs/pt/intlayer_with_vite+react.md +104 -7
  1260. package/docs/pt/intlayer_with_vite+react_compiler.md +110 -5
  1261. package/docs/pt/intlayer_with_vite+solid.md +117 -5
  1262. package/docs/pt/intlayer_with_vite+svelte.md +117 -14
  1263. package/docs/pt/intlayer_with_vite+vanilla.md +122 -5
  1264. package/docs/pt/intlayer_with_vite+vue.md +101 -5
  1265. package/docs/pt/introduction.md +105 -2
  1266. package/docs/pt/migration_from_i18next_to_intlayer.md +3 -5
  1267. package/docs/pt/migration_from_next-i18next_to_intlayer.md +3 -5
  1268. package/docs/pt/migration_from_next-intl_to_intlayer.md +3 -5
  1269. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1270. package/docs/pt/migration_from_react-i18next_to_intlayer.md +3 -5
  1271. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +3 -5
  1272. package/docs/pt/packages/vite-intlayer/intlayerMinify.md +1 -1
  1273. package/docs/ru/analytics.md +458 -12
  1274. package/docs/ru/bundle_optimization.md +186 -186
  1275. package/docs/ru/cli/doc-review.md +0 -2
  1276. package/docs/ru/configuration.md +99 -1
  1277. package/docs/ru/dictionary/content_file.md +4 -4
  1278. package/docs/ru/dictionary/markdown.md +0 -2
  1279. package/docs/ru/dictionary/plurial.md +6 -3
  1280. package/docs/ru/dictionary/translation.md +1 -1
  1281. package/docs/ru/how_works_intlayer.md +93 -1
  1282. package/docs/ru/interest_of_intlayer.md +97 -2
  1283. package/docs/ru/intlayer_CMS.md +93 -1
  1284. package/docs/ru/intlayer_visual_editor.md +88 -2
  1285. package/docs/ru/intlayer_with_adonisjs.md +124 -4
  1286. package/docs/ru/intlayer_with_analog.md +114 -5
  1287. package/docs/ru/intlayer_with_angular_19.md +112 -5
  1288. package/docs/ru/intlayer_with_angular_21.md +106 -5
  1289. package/docs/ru/intlayer_with_astro.md +114 -17
  1290. package/docs/ru/intlayer_with_astro_lit.md +115 -7
  1291. package/docs/ru/intlayer_with_astro_preact.md +115 -7
  1292. package/docs/ru/intlayer_with_astro_react.md +115 -7
  1293. package/docs/ru/intlayer_with_astro_solid.md +115 -7
  1294. package/docs/ru/intlayer_with_astro_svelte.md +115 -7
  1295. package/docs/ru/intlayer_with_astro_vanilla.md +109 -7
  1296. package/docs/ru/intlayer_with_astro_vue.md +115 -7
  1297. package/docs/ru/intlayer_with_create_react_app.md +110 -5
  1298. package/docs/ru/intlayer_with_elysia.md +125 -5
  1299. package/docs/ru/intlayer_with_express.md +118 -4
  1300. package/docs/ru/intlayer_with_fastify.md +119 -5
  1301. package/docs/ru/intlayer_with_hono.md +118 -4
  1302. package/docs/ru/intlayer_with_htmx.md +767 -0
  1303. package/docs/ru/intlayer_with_lynx+react.md +3 -10
  1304. package/docs/ru/intlayer_with_nestjs.md +118 -4
  1305. package/docs/ru/intlayer_with_next-i18next.md +3 -3
  1306. package/docs/ru/intlayer_with_nextjs_14.md +141 -117
  1307. package/docs/ru/intlayer_with_nextjs_15.md +126 -65
  1308. package/docs/ru/intlayer_with_nextjs_16.md +125 -48
  1309. package/docs/ru/intlayer_with_nextjs_compiler.md +126 -17
  1310. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +118 -6
  1311. package/docs/ru/intlayer_with_nextjs_page_router.md +113 -98
  1312. package/docs/ru/intlayer_with_nuxt.md +107 -5
  1313. package/docs/ru/intlayer_with_react_native+expo.md +106 -11
  1314. package/docs/ru/intlayer_with_react_router_v7.md +116 -7
  1315. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +111 -4
  1316. package/docs/ru/intlayer_with_solid_start.md +120 -5
  1317. package/docs/ru/intlayer_with_storybook.md +0 -13
  1318. package/docs/ru/intlayer_with_svelte_kit.md +102 -5
  1319. package/docs/ru/intlayer_with_tanstack+solid.md +122 -19
  1320. package/docs/ru/intlayer_with_tanstack.md +233 -154
  1321. package/docs/ru/intlayer_with_vanilla.md +111 -3
  1322. package/docs/ru/intlayer_with_vite+lit.md +116 -5
  1323. package/docs/ru/intlayer_with_vite+preact.md +146 -37
  1324. package/docs/ru/intlayer_with_vite+react.md +105 -17
  1325. package/docs/ru/intlayer_with_vite+react_compiler.md +110 -5
  1326. package/docs/ru/intlayer_with_vite+solid.md +117 -5
  1327. package/docs/ru/intlayer_with_vite+svelte.md +119 -24
  1328. package/docs/ru/intlayer_with_vite+vanilla.md +122 -5
  1329. package/docs/ru/intlayer_with_vite+vue.md +102 -6
  1330. package/docs/ru/introduction.md +105 -2
  1331. package/docs/ru/migration_from_i18next_to_intlayer.md +3 -5
  1332. package/docs/ru/migration_from_next-i18next_to_intlayer.md +3 -5
  1333. package/docs/ru/migration_from_next-intl_to_intlayer.md +3 -5
  1334. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1335. package/docs/ru/migration_from_react-i18next_to_intlayer.md +3 -5
  1336. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +3 -5
  1337. package/docs/ru/packages/vite-intlayer/intlayerMinify.md +1 -1
  1338. package/docs/tr/analytics.md +488 -21
  1339. package/docs/tr/bundle_optimization.md +186 -186
  1340. package/docs/tr/cli/doc-review.md +0 -2
  1341. package/docs/tr/configuration.md +98 -0
  1342. package/docs/tr/dictionary/content_file.md +4 -4
  1343. package/docs/tr/dictionary/markdown.md +3 -0
  1344. package/docs/tr/dictionary/plurial.md +6 -3
  1345. package/docs/tr/how_works_intlayer.md +92 -0
  1346. package/docs/tr/interest_of_intlayer.md +96 -1
  1347. package/docs/tr/intlayer_CMS.md +92 -0
  1348. package/docs/tr/intlayer_visual_editor.md +87 -1
  1349. package/docs/tr/intlayer_with_adonisjs.md +124 -3
  1350. package/docs/tr/intlayer_with_analog.md +112 -4
  1351. package/docs/tr/intlayer_with_angular_19.md +111 -4
  1352. package/docs/tr/intlayer_with_angular_21.md +105 -4
  1353. package/docs/tr/intlayer_with_astro.md +120 -30
  1354. package/docs/tr/intlayer_with_astro_lit.md +114 -6
  1355. package/docs/tr/intlayer_with_astro_preact.md +114 -6
  1356. package/docs/tr/intlayer_with_astro_react.md +114 -6
  1357. package/docs/tr/intlayer_with_astro_solid.md +114 -6
  1358. package/docs/tr/intlayer_with_astro_svelte.md +114 -6
  1359. package/docs/tr/intlayer_with_astro_vanilla.md +108 -6
  1360. package/docs/tr/intlayer_with_astro_vue.md +114 -6
  1361. package/docs/tr/intlayer_with_create_react_app.md +109 -4
  1362. package/docs/tr/intlayer_with_elysia.md +125 -4
  1363. package/docs/tr/intlayer_with_express.md +117 -3
  1364. package/docs/tr/intlayer_with_fastify.md +119 -4
  1365. package/docs/tr/intlayer_with_hono.md +117 -3
  1366. package/docs/tr/intlayer_with_htmx.md +761 -0
  1367. package/docs/tr/intlayer_with_lynx+react.md +3 -10
  1368. package/docs/tr/intlayer_with_nestjs.md +118 -3
  1369. package/docs/tr/intlayer_with_next-i18next.md +3 -3
  1370. package/docs/tr/intlayer_with_nextjs_14.md +128 -54
  1371. package/docs/tr/intlayer_with_nextjs_15.md +122 -47
  1372. package/docs/tr/intlayer_with_nextjs_16.md +123 -46
  1373. package/docs/tr/intlayer_with_nextjs_compiler.md +124 -16
  1374. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +117 -5
  1375. package/docs/tr/intlayer_with_nextjs_page_router.md +127 -123
  1376. package/docs/tr/intlayer_with_nuxt.md +106 -4
  1377. package/docs/tr/intlayer_with_react_native+expo.md +105 -10
  1378. package/docs/tr/intlayer_with_react_router_v7.md +115 -6
  1379. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +110 -3
  1380. package/docs/tr/intlayer_with_solid_start.md +118 -4
  1381. package/docs/tr/intlayer_with_storybook.md +0 -13
  1382. package/docs/tr/intlayer_with_svelte_kit.md +101 -4
  1383. package/docs/tr/intlayer_with_tanstack+solid.md +120 -18
  1384. package/docs/tr/intlayer_with_tanstack.md +262 -131
  1385. package/docs/tr/intlayer_with_vanilla.md +110 -2
  1386. package/docs/tr/intlayer_with_vite+lit.md +114 -4
  1387. package/docs/tr/intlayer_with_vite+preact.md +144 -36
  1388. package/docs/tr/intlayer_with_vite+react.md +103 -6
  1389. package/docs/tr/intlayer_with_vite+react_compiler.md +109 -4
  1390. package/docs/tr/intlayer_with_vite+solid.md +115 -4
  1391. package/docs/tr/intlayer_with_vite+svelte.md +115 -13
  1392. package/docs/tr/intlayer_with_vite+vanilla.md +121 -4
  1393. package/docs/tr/intlayer_with_vite+vue.md +102 -7
  1394. package/docs/tr/introduction.md +104 -1
  1395. package/docs/tr/migration_from_i18next_to_intlayer.md +3 -5
  1396. package/docs/tr/migration_from_next-i18next_to_intlayer.md +3 -5
  1397. package/docs/tr/migration_from_next-intl_to_intlayer.md +3 -5
  1398. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1399. package/docs/tr/migration_from_react-i18next_to_intlayer.md +3 -5
  1400. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +3 -5
  1401. package/docs/tr/packages/vite-intlayer/intlayerMinify.md +1 -1
  1402. package/docs/uk/analytics.md +488 -21
  1403. package/docs/uk/bundle_optimization.md +186 -186
  1404. package/docs/uk/configuration.md +98 -0
  1405. package/docs/uk/dictionary/content_file.md +4 -4
  1406. package/docs/uk/dictionary/markdown.md +3 -0
  1407. package/docs/uk/dictionary/plurial.md +6 -3
  1408. package/docs/uk/how_works_intlayer.md +92 -0
  1409. package/docs/uk/interest_of_intlayer.md +96 -1
  1410. package/docs/uk/intlayer_CMS.md +92 -0
  1411. package/docs/uk/intlayer_visual_editor.md +87 -1
  1412. package/docs/uk/intlayer_with_adonisjs.md +124 -3
  1413. package/docs/uk/intlayer_with_analog.md +112 -4
  1414. package/docs/uk/intlayer_with_angular_19.md +111 -4
  1415. package/docs/uk/intlayer_with_angular_21.md +105 -4
  1416. package/docs/uk/intlayer_with_astro.md +113 -16
  1417. package/docs/uk/intlayer_with_astro_lit.md +114 -6
  1418. package/docs/uk/intlayer_with_astro_preact.md +114 -6
  1419. package/docs/uk/intlayer_with_astro_react.md +114 -6
  1420. package/docs/uk/intlayer_with_astro_solid.md +114 -6
  1421. package/docs/uk/intlayer_with_astro_svelte.md +114 -6
  1422. package/docs/uk/intlayer_with_astro_vanilla.md +108 -6
  1423. package/docs/uk/intlayer_with_astro_vue.md +114 -6
  1424. package/docs/uk/intlayer_with_create_react_app.md +109 -4
  1425. package/docs/uk/intlayer_with_elysia.md +125 -4
  1426. package/docs/uk/intlayer_with_express.md +117 -3
  1427. package/docs/uk/intlayer_with_fastify.md +119 -4
  1428. package/docs/uk/intlayer_with_hono.md +117 -3
  1429. package/docs/uk/intlayer_with_htmx.md +760 -0
  1430. package/docs/uk/intlayer_with_lynx+react.md +3 -10
  1431. package/docs/uk/intlayer_with_nestjs.md +118 -3
  1432. package/docs/uk/intlayer_with_next-i18next.md +3 -3
  1433. package/docs/uk/intlayer_with_nextjs_14.md +122 -47
  1434. package/docs/uk/intlayer_with_nextjs_15.md +136 -59
  1435. package/docs/uk/intlayer_with_nextjs_16.md +124 -47
  1436. package/docs/uk/intlayer_with_nextjs_compiler.md +125 -17
  1437. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +117 -5
  1438. package/docs/uk/intlayer_with_nextjs_page_router.md +114 -99
  1439. package/docs/uk/intlayer_with_nuxt.md +106 -4
  1440. package/docs/uk/intlayer_with_react_native+expo.md +105 -10
  1441. package/docs/uk/intlayer_with_react_router_v7.md +115 -6
  1442. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +110 -3
  1443. package/docs/uk/intlayer_with_solid_start.md +118 -4
  1444. package/docs/uk/intlayer_with_storybook.md +0 -13
  1445. package/docs/uk/intlayer_with_svelte_kit.md +101 -4
  1446. package/docs/uk/intlayer_with_tanstack+solid.md +120 -18
  1447. package/docs/uk/intlayer_with_tanstack.md +238 -135
  1448. package/docs/uk/intlayer_with_vanilla.md +110 -2
  1449. package/docs/uk/intlayer_with_vite+lit.md +114 -4
  1450. package/docs/uk/intlayer_with_vite+preact.md +170 -34
  1451. package/docs/uk/intlayer_with_vite+react.md +104 -16
  1452. package/docs/uk/intlayer_with_vite+react_compiler.md +109 -4
  1453. package/docs/uk/intlayer_with_vite+solid.md +115 -4
  1454. package/docs/uk/intlayer_with_vite+svelte.md +115 -13
  1455. package/docs/uk/intlayer_with_vite+vanilla.md +121 -4
  1456. package/docs/uk/intlayer_with_vite+vue.md +100 -4
  1457. package/docs/uk/introduction.md +104 -1
  1458. package/docs/uk/migration_from_i18next_to_intlayer.md +3 -5
  1459. package/docs/uk/migration_from_next-i18next_to_intlayer.md +3 -5
  1460. package/docs/uk/migration_from_next-intl_to_intlayer.md +3 -5
  1461. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1462. package/docs/uk/migration_from_react-i18next_to_intlayer.md +3 -5
  1463. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +3 -5
  1464. package/docs/uk/packages/vite-intlayer/intlayerMinify.md +1 -1
  1465. package/docs/ur/bundle_optimization.md +186 -186
  1466. package/docs/ur/intlayer_with_angular_21.md +3 -3
  1467. package/docs/ur/intlayer_with_fastify.md +4 -4
  1468. package/docs/ur/intlayer_with_hono.md +3 -3
  1469. package/docs/ur/intlayer_with_storybook.md +0 -12
  1470. package/docs/ur/intlayer_with_vanilla.md +2 -1
  1471. package/docs/ur/intlayer_with_vite+lit.md +3 -3
  1472. package/docs/ur/intlayer_with_vite+vanilla.md +3 -3
  1473. package/docs/ur/introduction.md +0 -1
  1474. package/docs/vi/analytics.md +488 -21
  1475. package/docs/vi/bundle_optimization.md +186 -186
  1476. package/docs/vi/configuration.md +98 -0
  1477. package/docs/vi/dictionary/content_file.md +4 -4
  1478. package/docs/vi/dictionary/markdown.md +3 -0
  1479. package/docs/vi/dictionary/plurial.md +5 -2
  1480. package/docs/vi/how_works_intlayer.md +92 -0
  1481. package/docs/vi/interest_of_intlayer.md +96 -1
  1482. package/docs/vi/intlayer_CMS.md +92 -0
  1483. package/docs/vi/intlayer_visual_editor.md +87 -1
  1484. package/docs/vi/intlayer_with_adonisjs.md +124 -3
  1485. package/docs/vi/intlayer_with_analog.md +112 -4
  1486. package/docs/vi/intlayer_with_angular_19.md +111 -4
  1487. package/docs/vi/intlayer_with_angular_21.md +105 -4
  1488. package/docs/vi/intlayer_with_astro.md +113 -16
  1489. package/docs/vi/intlayer_with_astro_lit.md +114 -6
  1490. package/docs/vi/intlayer_with_astro_preact.md +114 -6
  1491. package/docs/vi/intlayer_with_astro_react.md +114 -6
  1492. package/docs/vi/intlayer_with_astro_solid.md +114 -6
  1493. package/docs/vi/intlayer_with_astro_svelte.md +114 -6
  1494. package/docs/vi/intlayer_with_astro_vanilla.md +108 -6
  1495. package/docs/vi/intlayer_with_astro_vue.md +114 -6
  1496. package/docs/vi/intlayer_with_create_react_app.md +109 -4
  1497. package/docs/vi/intlayer_with_elysia.md +125 -4
  1498. package/docs/vi/intlayer_with_express.md +117 -3
  1499. package/docs/vi/intlayer_with_fastify.md +119 -4
  1500. package/docs/vi/intlayer_with_hono.md +117 -3
  1501. package/docs/vi/intlayer_with_htmx.md +760 -0
  1502. package/docs/vi/intlayer_with_lynx+react.md +3 -10
  1503. package/docs/vi/intlayer_with_nestjs.md +118 -3
  1504. package/docs/vi/intlayer_with_next-i18next.md +3 -3
  1505. package/docs/vi/intlayer_with_nextjs_14.md +136 -56
  1506. package/docs/vi/intlayer_with_nextjs_15.md +136 -59
  1507. package/docs/vi/intlayer_with_nextjs_16.md +124 -47
  1508. package/docs/vi/intlayer_with_nextjs_compiler.md +125 -17
  1509. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +117 -5
  1510. package/docs/vi/intlayer_with_nextjs_page_router.md +114 -95
  1511. package/docs/vi/intlayer_with_nuxt.md +106 -4
  1512. package/docs/vi/intlayer_with_react_native+expo.md +105 -10
  1513. package/docs/vi/intlayer_with_react_router_v7.md +115 -6
  1514. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +116 -16
  1515. package/docs/vi/intlayer_with_solid_start.md +118 -4
  1516. package/docs/vi/intlayer_with_storybook.md +0 -13
  1517. package/docs/vi/intlayer_with_svelte_kit.md +101 -4
  1518. package/docs/vi/intlayer_with_tanstack+solid.md +120 -18
  1519. package/docs/vi/intlayer_with_tanstack.md +252 -172
  1520. package/docs/vi/intlayer_with_vanilla.md +110 -2
  1521. package/docs/vi/intlayer_with_vite+lit.md +114 -4
  1522. package/docs/vi/intlayer_with_vite+preact.md +150 -17
  1523. package/docs/vi/intlayer_with_vite+react.md +104 -16
  1524. package/docs/vi/intlayer_with_vite+react_compiler.md +109 -4
  1525. package/docs/vi/intlayer_with_vite+solid.md +115 -4
  1526. package/docs/vi/intlayer_with_vite+svelte.md +115 -13
  1527. package/docs/vi/intlayer_with_vite+vanilla.md +121 -4
  1528. package/docs/vi/intlayer_with_vite+vue.md +100 -4
  1529. package/docs/vi/introduction.md +104 -1
  1530. package/docs/vi/migration_from_i18next_to_intlayer.md +3 -5
  1531. package/docs/vi/migration_from_next-i18next_to_intlayer.md +3 -5
  1532. package/docs/vi/migration_from_next-intl_to_intlayer.md +3 -5
  1533. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1534. package/docs/vi/migration_from_react-i18next_to_intlayer.md +3 -5
  1535. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +3 -5
  1536. package/docs/vi/packages/vite-intlayer/intlayerMinify.md +1 -1
  1537. package/docs/zh/analytics.md +458 -12
  1538. package/docs/zh/bundle_optimization.md +186 -186
  1539. package/docs/zh/configuration.md +99 -1
  1540. package/docs/zh/dictionary/content_file.md +4 -4
  1541. package/docs/zh/dictionary/markdown.md +18 -1
  1542. package/docs/zh/dictionary/plurial.md +6 -3
  1543. package/docs/zh/how_works_intlayer.md +93 -1
  1544. package/docs/zh/interest_of_intlayer.md +108 -13
  1545. package/docs/zh/intlayer_CMS.md +93 -1
  1546. package/docs/zh/intlayer_visual_editor.md +88 -2
  1547. package/docs/zh/intlayer_with_adonisjs.md +124 -4
  1548. package/docs/zh/intlayer_with_analog.md +121 -12
  1549. package/docs/zh/intlayer_with_angular_19.md +120 -13
  1550. package/docs/zh/intlayer_with_angular_21.md +113 -12
  1551. package/docs/zh/intlayer_with_astro.md +111 -7
  1552. package/docs/zh/intlayer_with_astro_lit.md +117 -10
  1553. package/docs/zh/intlayer_with_astro_preact.md +117 -10
  1554. package/docs/zh/intlayer_with_astro_react.md +117 -10
  1555. package/docs/zh/intlayer_with_astro_solid.md +117 -10
  1556. package/docs/zh/intlayer_with_astro_svelte.md +117 -10
  1557. package/docs/zh/intlayer_with_astro_vanilla.md +111 -10
  1558. package/docs/zh/intlayer_with_astro_vue.md +117 -10
  1559. package/docs/zh/intlayer_with_create_react_app.md +113 -9
  1560. package/docs/zh/intlayer_with_elysia.md +125 -5
  1561. package/docs/zh/intlayer_with_express.md +118 -4
  1562. package/docs/zh/intlayer_with_fastify.md +119 -5
  1563. package/docs/zh/intlayer_with_hono.md +118 -4
  1564. package/docs/zh/intlayer_with_htmx.md +769 -0
  1565. package/docs/zh/intlayer_with_lynx+react.md +11 -16
  1566. package/docs/zh/intlayer_with_nestjs.md +118 -4
  1567. package/docs/zh/intlayer_with_next-i18next.md +3 -3
  1568. package/docs/zh/intlayer_with_nextjs_14.md +123 -48
  1569. package/docs/zh/intlayer_with_nextjs_15.md +124 -47
  1570. package/docs/zh/intlayer_with_nextjs_16.md +124 -45
  1571. package/docs/zh/intlayer_with_nextjs_compiler.md +124 -17
  1572. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +125 -13
  1573. package/docs/zh/intlayer_with_nextjs_page_router.md +113 -97
  1574. package/docs/zh/intlayer_with_nuxt.md +114 -12
  1575. package/docs/zh/intlayer_with_react_native+expo.md +106 -11
  1576. package/docs/zh/intlayer_with_react_router_v7.md +134 -31
  1577. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +134 -30
  1578. package/docs/zh/intlayer_with_solid_start.md +125 -10
  1579. package/docs/zh/intlayer_with_storybook.md +7 -20
  1580. package/docs/zh/intlayer_with_svelte_kit.md +109 -12
  1581. package/docs/zh/intlayer_with_tanstack+solid.md +132 -32
  1582. package/docs/zh/intlayer_with_tanstack.md +254 -194
  1583. package/docs/zh/intlayer_with_vanilla.md +118 -10
  1584. package/docs/zh/intlayer_with_vite+lit.md +124 -11
  1585. package/docs/zh/intlayer_with_vite+preact.md +153 -44
  1586. package/docs/zh/intlayer_with_vite+react.md +107 -15
  1587. package/docs/zh/intlayer_with_vite+react_compiler.md +110 -5
  1588. package/docs/zh/intlayer_with_vite+solid.md +116 -5
  1589. package/docs/zh/intlayer_with_vite+svelte.md +131 -26
  1590. package/docs/zh/intlayer_with_vite+vanilla.md +129 -12
  1591. package/docs/zh/intlayer_with_vite+vue.md +102 -6
  1592. package/docs/zh/introduction.md +105 -2
  1593. package/docs/zh/migration_from_i18next_to_intlayer.md +3 -5
  1594. package/docs/zh/migration_from_next-i18next_to_intlayer.md +3 -5
  1595. package/docs/zh/migration_from_next-intl_to_intlayer.md +3 -5
  1596. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
  1597. package/docs/zh/migration_from_react-i18next_to_intlayer.md +3 -5
  1598. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +3 -5
  1599. package/docs/zh/packages/vite-intlayer/intlayerMinify.md +1 -1
  1600. package/docs/zh/releases/v6.md +1 -1
  1601. package/docs/zh-TW/bundle_optimization.md +186 -186
  1602. package/docs/zh-TW/intlayer_with_angular_21.md +3 -3
  1603. package/docs/zh-TW/introduction.md +0 -1
  1604. package/package.json +7 -7
  1605. package/src/common.ts +45 -18
  1606. package/src/generated/blog.entry.ts +349 -0
  1607. package/src/generated/docs.entry.ts +20 -0
@@ -0,0 +1,179 @@
1
+ ---
2
+ createdAt: 2026-09-02
3
+ updatedAt: 2026-09-02
4
+ title: "Como testar traduções sem criar testes frágeis"
5
+ description: O que vale a pena testar em uma aplicação i18n e o que não vale. Testes de renderização baseados em provider, pseudolocalização, cobertura de RTL e plurais, e a armadilha dos snapshots.
6
+ keywords:
7
+ - testar traduções
8
+ - testes i18n
9
+ - testing library i18n
10
+ - pseudolocalização
11
+ - teste provider locale
12
+ - snapshot test i18n
13
+ slugs:
14
+ - blog
15
+ - i18n-testing-strategies
16
+ author: aymericzip
17
+ ---
18
+
19
+ # Como testar traduções sem criar testes frágeis
20
+
21
+ A maioria das suítes de testes de i18n falha por um de dois motivos. Ou fazem asserções sobre textos literais, fazendo com que qualquer alteração de redação quebre cinquenta testes e a equipe termine por deletá-los. Ou renderizam tudo no locale padrão, não provando nada sobre os outros dezessete. Ambos chegam ao mesmo destino, uma suíte na qual ninguém confia.
22
+
23
+ ## Sumário
24
+
25
+ <TOC/>
26
+
27
+ ## Os padrões são independentes de biblioteca
28
+
29
+ Cada padrão a seguir funciona em qualquer stack de i18n. Troque o provider por `I18nextProvider`, `NextIntlClientProvider` ou `IntlProvider` e os testes permanecerão idênticos, pois verificam a saída renderizada e não uma API de biblioteca específica.
30
+
31
+ As ferramentas de cobertura também se adaptam: com o [plugin Sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md) apontado para seus catálogos existentes, ou um [adaptador de compatibilidade](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compat/index.md) criando aliases para seus imports atuais, a asserção de cobertura é executada diretamente contra o JSON que você já possui.
32
+
33
+ ## Decida o que você realmente está testando
34
+
35
+ Qualidade de tradução não se valida com teste de código. Nenhuma asserção é capaz de informar se o alemão soa natural, e fingir o contrário apenas enche sua suíte de strings hardcoded.
36
+
37
+ O que vale a pena testar é mecânico:
38
+
39
+ | Vale a pena testar | Não vale a pena testar |
40
+ | :----------------------------------------- | :------------------------------- |
41
+ | Cada locale obrigatório possui valor | Se a redação é elegante |
42
+ | O locale correto alcança o componente | O texto exato de cada label |
43
+ | Plurais resolvem para cada categoria | Se o tradutor fez bem o trabalho |
44
+ | Locales RTL definem direção e espelhamento | Toda string em cada idioma |
45
+ | Datas e números formatados usam o locale | A precisão interna de `Intl` |
46
+
47
+ A cobertura pertence a um teste orientado a dados, não aos seus testes de componentes. Isso é abordado em [detectar traduções ausentes](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/detecting_missing_translations.md); este artigo trata do restante.
48
+
49
+ ## Renderize com um provider e consulte por papel (role)
50
+
51
+ O padrão central consiste em montar o componente dentro de um provider de locale e consultar por role ou test id em vez de pelo texto.
52
+
53
+ ```tsx fileName="CartSummary.test.tsx"
54
+ import { render, screen } from "@testing-library/react";
55
+ import { IntlayerProvider } from "react-intlayer/client";
56
+ import { CartSummary } from "./CartSummary";
57
+
58
+ test("renderiza o cabeçalho do resumo em francês", () => {
59
+ render(
60
+ <IntlayerProvider locale="fr-FR">
61
+ <CartSummary />
62
+ </IntlayerProvider>
63
+ );
64
+
65
+ expect(screen.getByRole("heading")).toBeInTheDocument();
66
+ });
67
+ ```
68
+
69
+ Consultar `getByRole("heading")` sobrevive a mudanças de texto. `getByText("Récapitulatif")` falha com qualquer alteração. Use o texto literal somente quando a própria string for o objeto do teste, o que é raro.
70
+
71
+ Para atributos como `aria-label`, você precisa da string bruta e não de um nó renderizável. No React, as entradas de `useIntlayer` expõem um campo `.value` para essa finalidade.
72
+
73
+ ## Parametrize os testes entre os locales
74
+
75
+ Um único corpo de teste executado para cada locale vale muito mais do que testes separados por idioma.
76
+
77
+ ```tsx fileName="direction.test.tsx"
78
+ import { getHTMLTextDir } from "intlayer";
79
+ import { render } from "@testing-library/react";
80
+ import { IntlayerProvider } from "react-intlayer/client";
81
+
82
+ describe.each(["en", "fr", "ja", "ar"])("locale %s", (locale) => {
83
+ it("renderiza sem recorrer à chave não traduzida", () => {
84
+ const { container } = render(
85
+ <IntlayerProvider locale={locale}>
86
+ <CartSummary />
87
+ </IntlayerProvider>
88
+ );
89
+
90
+ // Uma chave renderizada indica falha na resolução.
91
+ expect(container.textContent).not.toMatch(/^[a-z]+(\.[a-z]+)+$/);
92
+ });
93
+
94
+ it("define a direção de texto correta", () => {
95
+ expect(getHTMLTextDir(locale)).toBe(locale === "ar" ? "rtl" : "ltr");
96
+ });
97
+ });
98
+ ```
99
+
100
+ A primeira asserção traz um benefício genérico valioso: se uma chave falhar e a biblioteca renderizar a chave bruta, o DOM exibirá algo no formato `cart.summary.title`. Isso captura uma classe inteira de erros sem inspecionar uma única frase.
101
+
102
+ ## A pseudolocalização encontra o que os catálogos não veem
103
+
104
+ Adicione um locale fictício que transforme cada texto, por exemplo alterando `Checkout` para `[!!! Çĥéçķöũţ !!!]`. Em seguida, renderize a página nessa linguagem.
105
+
106
+ Qualquer texto que ainda apareça em inglês padrão está hardcoded no código, e nenhuma auditoria em catálogos consegue detectar isso, pois para as ferramentas essa string simplesmente não existe. Os colchetes cumprem uma segunda função: expandem o texto em cerca de 30 por cento, expondo quebras de layout antes mesmo de testar em alemão.
107
+
108
+ Convém rodar isso em uma passagem visual ou end-to-end em vez de testes unitários, já que a falha é identificada visualmente.
109
+
110
+ ## Plurais exigem um teste por categoria, não por idioma
111
+
112
+ Erros em plurais passam despercebidos porque o inglês possui apenas duas formas e a maioria dos desenvolvedores só testa essas. O polonês possui quatro, o árabe seis.
113
+
114
+ ```ts fileName="plural.test.ts"
115
+ // O árabe cobre zero, one, two, few, many, other.
116
+ describe.each([0, 1, 2, 3, 11, 100])("quantidade %i", (count) => {
117
+ it("produz uma string não vazia em árabe", () => {
118
+ expect(formatItems(count, "ar")).not.toBe("");
119
+ });
120
+ });
121
+ ```
122
+
123
+ Escolha quantidades que atinjam cada categoria CLDR para o idioma mais exigente em vez de testar apenas 1 e 2 em todos os lugares. O `Intl.PluralRules` informa em qual categoria um número se encaixa, permitindo deduzir os casos de teste com exatidão. Mais detalhes no [artigo sobre o formato de mensagens ICU](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/icu_message_format.md).
124
+
125
+ ## A armadilha dos snapshots
126
+
127
+ Snapshots e i18n formam uma combinação perigosa. O snapshot de um componente localizado fixa todas as strings contidas nele: quando um tradutor corrige um erro no português, uma suíte verde fica vermelha, em um arquivo que nenhum revisor consegue avaliar adequadamente. Após a terceira ocorrência, alguém executa `-u` sem verificar o diff, e os snapshots perdem todo o sentido.
128
+
129
+ Se quiser usar snapshots, capture-os apenas em um único locale e trate-os como verificação puramente estrutural. Tudo que for específico de um locale deve estar em asserções explícitas.
130
+
131
+ ## Teste a negociação do locale, não apenas a renderização
132
+
133
+ O bug de i18n mais frequente em produção não é uma string ausente. É a escolha do locale incorreto: a URL indica `/fr/`, o cliente lê `navigator.language`, e ambos entram em conflito.
134
+
135
+ Teste a ordem de resolução diretamente como uma função pura, separada de qualquer componente:
136
+
137
+ ```ts fileName="locale-resolution.test.ts"
138
+ it("prioriza a URL em relação à preferência salva", () => {
139
+ expect(resolveLocale({ url: "/fr/about", stored: "de", header: "ja" })).toBe(
140
+ "fr"
141
+ );
142
+ });
143
+
144
+ it("usa o cabeçalho quando a URL não possui prefixo", () => {
145
+ expect(resolveLocale({ url: "/about", stored: null, header: "ja" })).toBe(
146
+ "ja"
147
+ );
148
+ });
149
+ ```
150
+
151
+ Este é o teste de i18n de maior valor ausente na maioria dos projetos, e não requer nenhum DOM.
152
+
153
+ ## O que rodar e onde
154
+
155
+ - **Unitários**: negociação de locale, formatadores, categorias de plural. Rápido, sem DOM.
156
+ - **Componentes**: uma renderização com provider por locale, validando roles e a ausência de chaves brutas.
157
+ - **Cobertura**: um teste orientado a dados que garanta a ausência de locales obrigatórios faltantes.
158
+ - **Visual ou end-to-end**: verificação com pseudolocalização e uma página RTL, pois são falhas visuais.
159
+
160
+ Mantenha os três primeiros na pipeline a cada commit. O último pode rodar em builds noturnos, poupando tempo em cada push.
161
+
162
+ ## Erros comuns
163
+
164
+ - **Asserções em textos literais em toda parte.** Faz com que a suíte seja apagada em poucos meses.
165
+ - **Tirar snapshots de componentes localizados.** Tradutores quebram o build e revisores aprovam no piloto automático.
166
+ - **Testar somente o locale padrão.** O único locale que não tem como faltar.
167
+ - **Testar apenas 1 e 2 para plurais.** Ignora todas as categorias que o inglês não contempla.
168
+ - **Criar mocks da biblioteca de i18n.** Você passa a testar apenas se o seu mock retorna strings.
169
+ - **Nunca testar a negociação.** A falha mais comum em produção e a mais simples de testar.
170
+
171
+ ## Para se aprofundar
172
+
173
+ - [Testar seu conteúdo: auditoria CLI, API programática e asserções de UI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/testing.md)
174
+ - [Plugin ESLint: detecção de strings hardcoded e conteúdo não utilizado](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/eslint.md)
175
+ - [Formatadores e utilitários de locale, incluindo `getHTMLTextDir`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/formatters.md)
176
+ - [Relatórios de benchmark entre frameworks](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/benchmark/index.md)
177
+ - [Adaptador de compatibilidade react-i18next](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compat/react-i18next.md)
178
+ - [Como detectar traduções ausentes](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/detecting_missing_translations.md)
179
+ - [Formato de mensagem ICU: plurais, select e skeletons](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/icu_message_format.md)
@@ -74,15 +74,15 @@ npx intlayer init --interactive
74
74
  ```
75
75
 
76
76
  ```bash packageManager="pnpm"
77
- pnpm dlx intlayer@canary init --interactive
77
+ pnpm dlx intlayer init --interactive
78
78
  ```
79
79
 
80
80
  ```bash packageManager="yarn"
81
- yarn dlx intlayer@canary init --interactive
81
+ yarn dlx intlayer init --interactive
82
82
  ```
83
83
 
84
84
  ```bash packageManager="bun"
85
- bunx intlayer@canary init --interactive
85
+ bunx intlayer init --interactive
86
86
  ```
87
87
 
88
88
  > a flag `--interactive` é opcional. Use `intlayer-cli init` se você for um agente de IA.
@@ -191,8 +191,6 @@ export default config;
191
191
 
192
192
  Isso carregará todos os arquivos JSON no diretório `src` que correspondem ao padrão `{key}.i18n.json` e os carregará como dicionários do Intlayer.
193
193
 
194
- ---
195
-
196
194
  </Step>
197
195
 
198
196
  </Steps>
@@ -67,15 +67,15 @@ npx intlayer init --interactive
67
67
  ```
68
68
 
69
69
  ```bash packageManager="pnpm"
70
- pnpm dlx intlayer@canary init --interactive
70
+ pnpm dlx intlayer init --interactive
71
71
  ```
72
72
 
73
73
  ```bash packageManager="yarn"
74
- yarn dlx intlayer@canary init --interactive
74
+ yarn dlx intlayer init --interactive
75
75
  ```
76
76
 
77
77
  ```bash packageManager="bun"
78
- bunx intlayer@canary init --interactive
78
+ bunx intlayer init --interactive
79
79
  ```
80
80
 
81
81
  > a flag `--interactive` é opcional. Use `intlayer-cli init` se você for um agente de IA.
@@ -141,8 +141,6 @@ Se alterações forem feitas usando o CLI para traduzir o JSON, ou usando o CMS,
141
141
 
142
142
  Para ver mais detalhes sobre o plugin `syncJSON`, por favor consulte a [documentação do plugin syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md).
143
143
 
144
- ---
145
-
146
144
  </Step>
147
145
 
148
146
  <Step number={3} title="Implementar traduções JSON por componente" isOptional={true}>
@@ -186,8 +184,6 @@ export default config;
186
184
 
187
185
  Isso irá carregar todos os arquivos JSON no diretório `src` que correspondem ao padrão `{key}.i18n.json` e carregá-los como dicionários do Intlayer.
188
186
 
189
- ---
190
-
191
187
  </Step>
192
188
 
193
189
  </Steps>
@@ -68,15 +68,15 @@ npx intlayer init --interactive
68
68
  ```
69
69
 
70
70
  ```bash packageManager="pnpm"
71
- pnpm dlx intlayer@canary init --interactive
71
+ pnpm dlx intlayer init --interactive
72
72
  ```
73
73
 
74
74
  ```bash packageManager="yarn"
75
- yarn dlx intlayer@canary init --interactive
75
+ yarn dlx intlayer init --interactive
76
76
  ```
77
77
 
78
78
  ```bash packageManager="bun"
79
- bunx intlayer@canary init --interactive
79
+ bunx intlayer init --interactive
80
80
  ```
81
81
 
82
82
  > a flag `--interactive` é opcional. Use `intlayer-cli init` se você for um agente de IA.
@@ -68,15 +68,15 @@ npx intlayer init --interactive
68
68
  ```
69
69
 
70
70
  ```bash packageManager="pnpm"
71
- pnpm dlx intlayer@canary init --interactive
71
+ pnpm dlx intlayer init --interactive
72
72
  ```
73
73
 
74
74
  ```bash packageManager="yarn"
75
- yarn dlx intlayer@canary init --interactive
75
+ yarn dlx intlayer init --interactive
76
76
  ```
77
77
 
78
78
  ```bash packageManager="bun"
79
- bunx intlayer@canary init --interactive
79
+ bunx intlayer init --interactive
80
80
  ```
81
81
 
82
82
  > a flag `--interactive` é opcional. Use `intlayer-cli init` se você for um agente de IA.
@@ -66,15 +66,15 @@ npx intlayer init --interactive
66
66
  ```
67
67
 
68
68
  ```bash packageManager="pnpm"
69
- pnpm dlx intlayer@canary init --interactive
69
+ pnpm dlx intlayer init --interactive
70
70
  ```
71
71
 
72
72
  ```bash packageManager="yarn"
73
- yarn dlx intlayer@canary init --interactive
73
+ yarn dlx intlayer init --interactive
74
74
  ```
75
75
 
76
76
  ```bash packageManager="bun"
77
- bunx intlayer@canary init --interactive
77
+ bunx intlayer init --interactive
78
78
  ```
79
79
 
80
80
  > a flag `--interactive` é opcional. Use `intlayer-cli init` se você for um agente de IA.
@@ -68,15 +68,15 @@ npx intlayer init --interactive
68
68
  ```
69
69
 
70
70
  ```bash packageManager="pnpm"
71
- pnpm dlx intlayer@canary init --interactive
71
+ pnpm dlx intlayer init --interactive
72
72
  ```
73
73
 
74
74
  ```bash packageManager="yarn"
75
- yarn dlx intlayer@canary init --interactive
75
+ yarn dlx intlayer init --interactive
76
76
  ```
77
77
 
78
78
  ```bash packageManager="bun"
79
- bunx intlayer@canary init --interactive
79
+ bunx intlayer init --interactive
80
80
  ```
81
81
 
82
82
  > a flag `--interactive` é opcional. Use `intlayer-cli init` se você for um agente de IA.
@@ -143,8 +143,6 @@ Se alterações forem feitas usando o CLI para traduzir o JSON, ou usando o CMS,
143
143
 
144
144
  Para ver mais detalhes sobre o plugin `syncJSON`, por favor consulte a [documentação do plugin syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md).
145
145
 
146
- ---
147
-
148
146
  </Step>
149
147
 
150
148
  <Step number={3} title="Implementar traduções JSON por componente" isOptional={true}>
@@ -189,8 +187,6 @@ export default config;
189
187
 
190
188
  Isso carregará todos os arquivos JSON no diretório `src` que correspondem ao padrão `{key}.i18n.json` e os carregará como dicionários do Intlayer.
191
189
 
192
- ---
193
-
194
190
  </Step>
195
191
 
196
192
  </Steps>
@@ -0,0 +1,315 @@
1
+ ---
2
+ createdAt: 2026-09-02
3
+ updatedAt: 2026-09-02
4
+ title: O i18next está obsoleto em 2026?
5
+ description: O i18next alimenta milhões de sites, mas sua arquitetura em tempo de execução de 2011 começa a mostrar a idade. Uma análise sobre inchaço de bundle, limites de tree-shaking e estagnação.
6
+ keywords:
7
+ - i18next
8
+ - react-i18next
9
+ - next-i18next
10
+ - Intlayer
11
+ - Internacionalização
12
+ - i18n
13
+ - Tamanho do bundle
14
+ - Blog
15
+ slugs:
16
+ - blog
17
+ - is-i18next-outdated
18
+ author: aymericzip
19
+ ---
20
+
21
+ # O i18next está obsoleto em 2026?
22
+
23
+ Lançado em 2011, muito antes de componentes React, empacotamento com Webpack ou TypeScript se tornarem padrão, o `i18next` dominou o ecossistema por ser flexível e onipresente, conquistando plugins para diversas stacks e respostas no StackOverflow para quase todo tipo de dúvida.
24
+
25
+ O projeto não está abandonado, correções continuam sendo lançadas regularmente. No entanto, há uma diferença marcante entre manter um motor legado em funcionamento e evoluir ativamente com as arquiteturas frontend contemporâneas.
26
+
27
+ Nos últimos anos, o frontend migrou para compilação em tempo de build, React Server Components (RSC), tree-shaking agressivo e fluxos potencializados por IA. O núcleo do i18next segue fiel ao que era há mais de uma década: um singleton em tempo de execução que resolve chaves de texto no cliente.
28
+
29
+ <TOC/>
30
+
31
+ ## Principais conclusões
32
+
33
+ **Modo de manutenção:**
34
+
35
+ No último ano, o `next-i18next` registrou cerca de 63 commits (aproximadamente um por semana) e o `react-i18next` cerca de 157, a maioria voltada a atualizações de dependências e correções pontuais.
36
+
37
+ **Penalidade pesada em runtime:**
38
+
39
+ `react-i18next` e `next-i18next` injetam ~17–18 KB gzipped (~60 KB minificados) antes de renderizar qualquer palavra traduzida, quase 4x mais que o `next-intlayer` (~4.7 KB).
40
+
41
+ **Vazamento severo de conteúdo:**
42
+
43
+ Em configurações estáticas padrão, até **89.8%** dos dados de localização enviados para uma página pertencem a outras rotas ou a idiomas não visualizados.
44
+
45
+ **Tree-shaking inviável:**
46
+
47
+ Chamadas dinâmicas como `t("home.hero.title")` não podem ser analisadas por empacotadores, obrigando catálogos JSON inteiros a entrarem no chunk do cliente.
48
+
49
+ **Incentivos comerciais:**
50
+
51
+ Os mantenedores gerenciam o Locize. Criar uma esteira de tradução por IA local e sem custos diretamente na CLI concorreria com sua fonte primária de receita.
52
+
53
+ ## Manutenção vs. evolução ativa
54
+
55
+ Estrelas no GitHub refletem adoção histórica em vez de fôlego arquitetural recente.
56
+
57
+ | Repositório | Estrelas | Total de commits | Commits / ano | Último commit |
58
+ | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
59
+ | `i18next/i18next` | [![stars](https://img.shields.io/github/stars/i18next/i18next?style=for-the-badge&label=stars)](https://github.com/i18next/i18next/stargazers) | [![commits](https://img.shields.io/github/commit-activity/t/i18next/i18next?style=for-the-badge&label=commits)](https://github.com/i18next/i18next/commits) | [![yearly](https://img.shields.io/github/commit-activity/y/i18next/i18next?style=for-the-badge&label=%2Fyear)](https://github.com/i18next/i18next/commits) | [![last](https://img.shields.io/github/last-commit/i18next/i18next?style=for-the-badge)](https://github.com/i18next/i18next/commits) |
60
+ | `i18next/react-i18next` | [![stars](https://img.shields.io/github/stars/i18next/react-i18next?style=for-the-badge&label=stars)](https://github.com/i18next/react-i18next/stargazers) | [![commits](https://img.shields.io/github/commit-activity/t/i18next/react-i18next?style=for-the-badge&label=commits)](https://github.com/i18next/react-i18next/commits) | [![yearly](https://img.shields.io/github/commit-activity/y/i18next/react-i18next?style=for-the-badge&label=%2Fyear)](https://github.com/i18next/react-i18next/commits) | [![last](https://img.shields.io/github/last-commit/i18next/react-i18next?style=for-the-badge)](https://github.com/i18next/react-i18next/commits) |
61
+ | `i18next/next-i18next` | [![stars](https://img.shields.io/github/stars/i18next/next-i18next?style=for-the-badge&label=stars)](https://github.com/i18next/next-i18next/stargazers) | [![commits](https://img.shields.io/github/commit-activity/t/i18next/next-i18next?style=for-the-badge&label=commits)](https://github.com/i18next/next-i18next/commits) | [![yearly](https://img.shields.io/github/commit-activity/y/i18next/next-i18next?style=for-the-badge&label=%2Fyear)](https://github.com/i18next/next-i18next/commits) | [![last](https://img.shields.io/github/last-commit/i18next/next-i18next?style=for-the-badge)](https://github.com/i18next/next-i18next/commits) |
62
+ | `aymericzip/intlayer` | [![stars](https://img.shields.io/github/stars/aymericzip/intlayer?style=for-the-badge&label=stars)](https://github.com/aymericzip/intlayer/stargazers) | [![commits](https://img.shields.io/github/commit-activity/t/aymericzip/intlayer?style=for-the-badge&label=commits)](https://github.com/aymericzip/intlayer/commits) | [![yearly](https://img.shields.io/github/commit-activity/y/aymericzip/intlayer?style=for-the-badge&label=%2Fyear)](https://github.com/aymericzip/intlayer/commits) | [![last](https://img.shields.io/github/last-commit/aymericzip/intlayer?style=for-the-badge)](https://github.com/aymericzip/intlayer/commits) |
63
+
64
+ Atividade nos últimos doze meses:
65
+
66
+ | Projeto | Commits históricos | Últimos 12 meses | Foco |
67
+ | --------------- | ------------------ | ---------------- | ------------------------------------------ |
68
+ | `next-i18next` | 1.311 | **63** | Compatibilidade com Next.js e correções |
69
+ | `react-i18next` | 1.988 | **157** | Tipos e manutenção |
70
+ | `i18next` core | 2.626 | **259** | Correções menores |
71
+ | Intlayer | 7.156 | **4.343** | Compilador, extensões de IDE e motor de IA |
72
+
73
+ [![Star History Chart](https://api.star-history.com/chart?repos=i18next%2Fi18next%2Ci18next%2Freact-i18next%2Ci18next%2Fnext-i18next%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://www.star-history.com/#i18next/i18next&i18next/react-i18next&i18next/next-i18next&aymericzip/intlayer)
74
+
75
+ Uma biblioteca enxuta pode ser completa e estável. Contudo, o ferramental de i18n continua a se transformar: bundlers modernos eliminam conteúdo desnecessário em tempo de build, modelos de linguagem traduzem em CI e editores utilizam Language Servers (LSP) e agentes de IA. A dependência exclusiva de plugins em tempo de execução impede que o i18next acompanhe essa evolução.
76
+
77
+ ## Medindo o impacto no bundle
78
+
79
+ <I18nBenchmark framework="tanstack" vertical/>
80
+
81
+ <ClickToOpenIframe
82
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md"
83
+ width="100%"
84
+ height="600px"
85
+ style="border:none;"
86
+ />
87
+
88
+ > Avaliado em build de produção com 10 rotas e 10 idiomas sob compressão gzip. Mais detalhes no [relatório de benchmark de i18n](https://intlayer.org/pt/doc/benchmark).
89
+
90
+ ### Sobrecarga base da biblioteca
91
+
92
+ Tamanho inicial antes de adicionar qualquer texto traduzido:
93
+
94
+ | Biblioteca | Gzipped | Minificado |
95
+ | ---------------------- | ---------- | ----------- |
96
+ | `next-i18next@16.0.5` | 17.8 KB | 61.2 KB |
97
+ | `react-i18next@17.0.2` | 17.3 KB | 59.8 KB |
98
+ | `intlayer@8.7.12` | **4.7 KB** | **12.8 KB** |
99
+
100
+ ### Peso de página e vazamento de dados
101
+
102
+ Testado em React / TanStack Start (estratégia estática):
103
+
104
+ | Biblioteca | JS médio / pág (gz) | Vazamento idioma | Vazamento outras págs | Componente médio (gz) | Hidratação |
105
+ | --------------------- | ------------------- | ---------------- | --------------------- | --------------------- | ----------- |
106
+ | `react-i18next` | 180.3 KB | **50.0%** | **89.8%** | 24.3 KB | 85.1 ms |
107
+ | Intlayer | **127.8 KB** | 50.0% | **0.8%** | **7.1 KB** | **24.1 ms** |
108
+ | Intlayer (scoped dyn) | **118.1 KB** | **0.0%** | **0.8%** | **4.6 KB** | 23.7 ms |
109
+
110
+ No Next.js:
111
+
112
+ | Biblioteca | JS médio / pág (gz) | Vazamento outras págs | Componente médio (gz) |
113
+ | --------------- | ------------------- | --------------------- | --------------------- |
114
+ | Base (sem i18n) | 150.8 KB | 0.0% | 0.7 KB |
115
+ | `next-i18next` | **227.5 KB** | **89.8%** | 24.5 KB |
116
+ | `next-intlayer` | **152.1 KB** | **0.0%** | **7.2 KB** |
117
+
118
+ ### Principais constatações
119
+
120
+ **Peso de página:**
121
+
122
+ No Next.js, o `next-i18next` adiciona **76.7 KB gzipped** em relação ao projeto base (+50%). O `next-intlayer` acrescenta apenas 1.3 KB.
123
+
124
+ **Vazamento de traduções:**
125
+
126
+ Por padrão, cerca de **90% dos textos carregados** em uma rota pertencem a outras páginas. A divisão manual de namespaces é desgastante e vulnerável a omissões.
127
+
128
+ **Tempo de hidratação:**
129
+
130
+ Componentes com `react-i18next` levaram **85 ms** para hidratar, contra **24 ms** no Intlayer. Repassar grandes estruturas JSON aos componentes atrasa a interatividade.
131
+
132
+ ## Por que o i18next é pesado?
133
+
134
+ ### Acúmulo de funcionalidades em tempo de execução
135
+
136
+ Executar integralmente no navegador requer enviar todos os módulos previamente: interpolação, regras plurais, contextos, registros de formatação e barramentos de eventos. Até mesmo a troca de uma frase simples carrega todo o motor.
137
+
138
+ ### Chaves dinâmicas inviabilizam o tree-shaking
139
+
140
+ Como `"hero.title"` é interpretada dinamicamente em runtime, os bundlers não têm como saber quais textos são acessados. Textos não utilizados acabam permanecendo nos pacotes do cliente.
141
+
142
+ <Tabs defaultTab="intlayer" group="techno">
143
+ <Tab label="i18next" value="i18next">
144
+
145
+ ```tsx fileName="Component.tsx"
146
+ const { t } = useTranslation("home");
147
+
148
+ return <h1>{t("hero.title")}</h1>;
149
+ ```
150
+
151
+ </Tab>
152
+ <Tab label="Intlayer" value="intlayer">
153
+
154
+ ```tsx fileName="Hero.tsx"
155
+ const { title } = useIntlayer("hero");
156
+
157
+ return <h1>{title}</h1>;
158
+ ```
159
+
160
+ </Tab>
161
+ </Tabs>
162
+
163
+ O [compilador do Intlayer](https://intlayer.org/pt/doc/compiler) identifica o que `Hero.tsx` realmente utiliza e remove propriedades não referenciadas antes de emitir os bundles do cliente. Veja [otimização de bundle](https://intlayer.org/pt/doc/concept/bundle-optimization) para mais esclarecimentos.
164
+
165
+ ## Experiência do desenvolvedor
166
+
167
+ ### Arquivos JSON desconexos vs. co-localização
168
+
169
+ Com o i18next, as traduções ficam isoladas em diretórios JSON separados do código. O Intlayer reúne as declarações de conteúdo junto aos componentes:
170
+
171
+ <Tabs defaultTab="intlayer" group="techno">
172
+ <Tab label="i18next" value="i18next">
173
+
174
+ ```json fileName="locales/en/hero.json"
175
+ {
176
+ "title": "Ship in every language"
177
+ }
178
+ ```
179
+
180
+ ```json fileName="locales/pt/hero.json"
181
+ {
182
+ "title": "Lance em todos os idiomas"
183
+ }
184
+ ```
185
+
186
+ ```tsx fileName="Hero.tsx"
187
+ import { useTranslation } from "react-i18next";
188
+
189
+ export const Hero = () => {
190
+ const { t } = useTranslation("hero");
191
+ return <h1>{t("title")}</h1>;
192
+ };
193
+ ```
194
+
195
+ </Tab>
196
+ <Tab label="Intlayer" value="intlayer">
197
+
198
+ ```ts fileName="hero.content.ts"
199
+ import { t, type Dictionary } from "intlayer";
200
+
201
+ export default {
202
+ key: "hero",
203
+ content: {
204
+ title: t({
205
+ en: "Ship in every language",
206
+ pt: "Lance em todos os idiomas",
207
+ }),
208
+ },
209
+ } satisfies Dictionary;
210
+ ```
211
+
212
+ ```tsx fileName="Hero.tsx"
213
+ import { useIntlayer } from "react-intlayer";
214
+
215
+ export const Hero = () => {
216
+ const { title } = useIntlayer("hero");
217
+ return <h1>{title}</h1>;
218
+ };
219
+ ```
220
+
221
+ </Tab>
222
+ </Tabs>
223
+
224
+ Ao mover ou excluir `Hero.tsx`, seus arquivos de conteúdo acompanham o componente.
225
+
226
+ ### Autocompletar vs. segurança estrita de tipos
227
+
228
+ Estender `CustomTypeOptions` concede autocompletar no editor, mas não valida a integridade das traduções. Excluir uma chave de `pt/home.json` não causa falha no build, gerando apenas um fallback em tempo de execução.
229
+
230
+ O Intlayer infere os tipos a partir das próprias declarações, e o [`strictMode`](https://intlayer.org/pt/doc/concept/configuration) faz com que traduções faltantes interrompam o build com erros claros.
231
+
232
+ ### Comparativo de ferramentas
233
+
234
+ | Funcionalidade | Ecossistema i18next | Intlayer |
235
+ | -------------------------- | ------------------- | ----------------------------------------------------------------------- |
236
+ | **Extensão VS Code** | Somente terceiros | ✅ [Extensão oficial](https://intlayer.org/pt/doc/vs-code-extension) |
237
+ | **Language Server (LSP)** | ❌ Nenhum | ✅ [LSP dedicado](https://intlayer.org/pt/doc/lsp) |
238
+ | **Servidor MCP (para IA)** | ❌ Nenhum | ✅ [Servidor MCP embutido](https://intlayer.org/pt/doc/mcp-server) |
239
+ | **Habilidades de Agente** | ❌ Nenhuma | ✅ [Skills prontas](https://intlayer.org/pt/doc/agent_skills) |
240
+ | **CMS Visual em contexto** | Locize (SaaS pago) | ✅ [Gratuito & Open Source](https://intlayer.org/pt/doc/concept/editor) |
241
+
242
+ ## A tradução e o modelo do Locize
243
+
244
+ O Locize é a solução comercial mantida pelos mesmos criadores do i18next. Sustentar projetos abertos é fundamental, mas esse arranjo gera incentivos divergentes: uma biblioteca cuja renda depende de uma plataforma SaaS de tradução tem pouco interesse em oferecer uma solução gratuita de tradução local por IA na CLI.
245
+
246
+ O Intlayer apoia um formato aberto:
247
+
248
+ - [`intlayer fill`](https://intlayer.org/pt/doc/concept/auto-fill) preenche traduções pendentes no terminal ou em pipelines de CI usando suas próprias chaves de API da OpenAI, Anthropic, Mistral ou Gemini.
249
+ - O [CMS Intlayer](https://intlayer.org/pt/doc/concept/cms) é código aberto e pode ser hospedado via Docker Compose.
250
+ - Compilador, CLI, editor e CMS são distribuídos sob a licença Apache 2.0.
251
+
252
+ ## Em quais cenários o i18next ainda faz sentido?
253
+
254
+ <AccordionGroup>
255
+ <Accordion header="Projetos legados estáveis">
256
+
257
+ Se a aplicação opera com estabilidade e o tamanho do pacote não é um impedimento, migrar não se faz urgente.
258
+
259
+ </Accordion>
260
+ <Accordion header="Plataformas não convencionais">
261
+
262
+ O amplo ecossistema de plugins do i18next contempla configurações particulares (Electron, jQuery legado, pontes nativas sob medida) fora do foco de compiladores modernos.
263
+
264
+ </Accordion>
265
+ <Accordion header="Extensa base comunitária">
266
+
267
+ O histórico de discussões no StackOverflow e GitHub agiliza a solução de cenários atípicos.
268
+
269
+ </Accordion>
270
+ </AccordionGroup>
271
+
272
+ ## Como melhorar minha configuração atual do i18next?
273
+
274
+ O Intlayer oferece pacotes de compatibilidade direta que preservam com exatidão as assinaturas de função das bibliotecas i18next (`i18next`, `react-i18next` e `next-i18next`). Não é necessário reescrever seus componentes para usufruir de uma arquitetura otimizada por compilador.
275
+
276
+ A configuração é feita com um único comando:
277
+
278
+ ```bash packageManager="npm"
279
+ npx intlayer init --interactive
280
+ ```
281
+
282
+ ```bash packageManager="pnpm"
283
+ pnpm dlx intlayer init --interactive
284
+ ```
285
+
286
+ ```bash packageManager="yarn"
287
+ yarn dlx intlayer init --interactive
288
+ ```
289
+
290
+ ```bash packageManager="bun"
291
+ bunx intlayer init --interactive
292
+ ```
293
+
294
+ Essa CLI interativa:
295
+
296
+ 1. Instala o pacote de compatibilidade `@intlayer/i18next`.
297
+ 2. Configura aliases no empacotador para que suas importações habituais (`useTranslation`, `Trans`, `t`) apontem para o Intlayer, permitindo remover a biblioteca antiga do seu `package.json`.
298
+ 3. Ativa imediatamente o suporte a Language Server (LSP) no editor, a eliminação de código inútil no build (tree-shaking) e fluxos locais de tradução por IA.
299
+
300
+ Para instruções passo a passo, explore nossos guias dedicados:
301
+
302
+ - **Camadas de compatibilidade:** Mantenha a sintaxe existente com os adaptadores para [i18next](https://intlayer.org/pt/doc/compatibility/i18next), [react-i18next](https://intlayer.org/pt/doc/compatibility/react-i18next) e [next-i18next](https://intlayer.org/pt/doc/compatibility/next-i18next).
303
+ - **Migração de catálogos:** Converta arquivos JSON em dicionários tipados com os guias: [a partir do i18next](https://intlayer.org/pt/doc/migration/i18next), [a partir do react-i18next](https://intlayer.org/pt/doc/migration/react-i18next) ou [a partir do next-i18next](https://intlayer.org/pt/doc/migration/next-i18next).
304
+ - **Estratégia híbrida:** Mantenha o runtime do i18next enquanto [utiliza o Intlayer com o i18next](https://intlayer.org/pt/blog/intlayer-with-i18next) para tipar e traduzir catálogos automaticamente.
305
+
306
+ Examine sua aplicação em produção com o [scanner de SEO para i18n gratuito](https://intlayer.org/i18n-seo-scanner):
307
+
308
+ <ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
309
+
310
+ ## Leituras recomendadas
311
+
312
+ - [Benchmark Next.js i18n: avaliação detalhada de performance](https://intlayer.org/pt/doc/benchmark/nextjs)
313
+ - [react-i18next vs react-intl vs Intlayer](https://intlayer.org/pt/blog/react-i18next-vs-react-intl-vs-intlayer)
314
+ - [O next-intl está obsoleto em 2026?](https://intlayer.org/pt/blog/is-next-intl-outdated)
315
+ - [Arquitetura orientada a compilador vs i18n declarativa](https://intlayer.org/pt/blog/compiler-vs-declarative-i18n)