@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,314 @@
1
+ ---
2
+ createdAt: 2026-08-29
3
+ updatedAt: 2026-08-29
4
+ title: "Hreflang, guia para SEO multilíngue"
5
+ description: "O que é hreflang, as regras que os mecanismos de busca aplicam, por que x-default é quase sempre errado, e como gerar tags corretas em Next.js e TanStack Start."
6
+ keywords:
7
+ - hreflang
8
+ - SEO
9
+ - Internationalization
10
+ - Intlayer
11
+ - i18n
12
+ - Sitemap
13
+ - Canonical
14
+ - Next.js
15
+ - TanStack Start
16
+ slugs:
17
+ - blog
18
+ - hreflang-guide-multilingual-seo
19
+ author: aymericzip
20
+ ---
21
+
22
+ # Hreflang: o guia para SEO multilíngue
23
+
24
+ Você traduziu seu app. Você fez deploy de `/en`, `/fr`, `/es`. E usuários franceses ainda caem na página em inglês.
25
+
26
+ Traduzir é a metade fácil. A metade difícil é dizer aos search engines que essas páginas são a **mesma página em outro idioma**, não três documentos competindo entre si. É isso que `hreflang` faz, e é onde a maioria dos sites multilíngues perde silenciosamente seu tráfego.
27
+
28
+ ---
29
+
30
+ ## O que hreflang realmente é
31
+
32
+ Uma anotação em uma página dizendo: _esta URL tem versões equivalentes ali, para esses idiomas._
33
+
34
+ ```html
35
+ <link rel="alternate" hreflang="en" href="https://example.com/about" />
36
+ <link rel="alternate" hreflang="fr" href="https://example.com/fr/about" />
37
+ <link rel="alternate" hreflang="es" href="https://example.com/es/about" />
38
+ <link rel="alternate" hreflang="x-default" href="https://example.com/about" />
39
+ ```
40
+
41
+ Isso oferece duas coisas: a versão correta mostrada ao usuário certo, e suas locales consolidadas em um cluster em vez de canibalizarem uma à outra como duplicatas.
42
+
43
+ É importante ser claro sobre o que não é. Não é um **redirecionamento** — é uma dica, e o Google pode sobrescrevê-la. Não é um **aumento de ranking** — muda _qual_ versão classifica, não _se_ você classifica. E o Bing ignora completamente, confiando em `content-language` e geolocalização em vez disso.
44
+
45
+ ---
46
+
47
+ ## Onde declarar
48
+
49
+ Três posicionamentos, todos válidos. Escolha um e mantenha-se — o mesmo cluster declarado em dois lugares é como os conjuntos divergem.
50
+
51
+ **HTML `<head>`** é a escolha usual. Uma ressalva: tags injetadas após hidratação são não confiáveis. Se seu framework apenas as adiciona do lado do cliente, o rastreador pode nunca vê-las.
52
+
53
+ **XML sitemap** é melhor em escala. Dez locales em 5 000 páginas significa 50 000 elementos `<link>` enviados para browsers desnecessariamente; em um sitemap custa zero bytes nas suas páginas.
54
+
55
+ **HTTP `Link` header** é a única opção para arquivos não-HTML como PDFs.
56
+
57
+ ---
58
+
59
+ ## As regras
60
+
61
+ ### Auto-referência e reciprocidade
62
+
63
+ O conjunto em `/fr/about` deve incluir `hreflang="fr"` apontando para `/fr/about`. E se `/about` aponta para `/fr/about`, `/fr/about` deve apontar de volta. Google chama uma referência unidirecional de "no return tag" e a descarta.
64
+
65
+ Na prática isto significa **cada página em um cluster envia o conjunto idêntico de links**. Gerá-los a partir de uma lista de locale compartilhada não é uma conveniência, é a única forma de manter-se correto uma vez que você tenha mais de dois locales.
66
+
67
+ ### URLs absolutas, sempre
68
+
69
+ ```html
70
+ <!-- Silenciosamente ignorado -->
71
+ <link rel="alternate" hreflang="fr" href="/fr/about" />
72
+
73
+ <!-- Correto -->
74
+ <link rel="alternate" hreflang="fr" href="https://example.com/fr/about" />
75
+ ```
76
+
77
+ A razão vale a pena ser compreendida em vez de memorizada. `hreflang` é uma referência entre documentos: os mecanismos de busca constroem um cluster codificado por URL, compartilhado em todas as páginas nele. Um caminho relativo só tem significado em relação ao documento em que está, portanto não pode expressar isso. Também não pode cruzar um host — e uma alternativa muito frequentemente faz isso, quando uma localidade vive em `example.fr` ou `fr.example.com`. Em um sitemap ou em um cabeçalho HTTP não há documento base para resolver.
78
+
79
+ Isso tem uma consequência direta no código. `getLocalizedUrl("/about", "fr")` retorna `/fr/about` — relativo dentro, relativo fora. Para `hreflang` você deve fornecer uma URL absoluta:
80
+
81
+ ```ts
82
+ getLocalizedUrl("/about", "fr"); // → "/fr/about" ❌ descartado
83
+ getLocalizedUrl("https://example.com/about", "fr"); // → "https://example.com/fr/about" ✅
84
+ ```
85
+
86
+ A única exceção é um framework que resolve valores relativos para você antes de renderizar: Next.js expande `alternates` relativos contra `metadataBase`. Tudo bem — mas a regra se aplica ao **HTML emitido**, então verifique com `curl`, não com o inspetor DevTools.
87
+
88
+ ### Códigos de idioma
89
+
90
+ ISO 639-1 para o idioma, ISO 3166-1 Alpha 2 para a região opcional: `fr`, `fr-CA`, `pt-BR`.
91
+
92
+ Duas armadilhas pegam quase todo mundo. Uma região sozinha é inválida — `hreflang="ca"` é catalão, não Canadá; você precisa de `en-CA` ou `fr-CA`. E `en-UK` não existe: o código de país para o Reino Unido é `GB`, então é `en-GB`.
93
+
94
+ Adicione uma região apenas quando você realmente servir a essa região conteúdo diferente — preços diferentes, avisos legais diferentes. `fr` e `fr-FR` em conteúdo idêntico é ruído.
95
+
96
+ ### x-default
97
+
98
+ ```html
99
+ <link rel="alternate" hreflang="x-default" href="https://example.com/" />
100
+ ```
101
+
102
+ Um conceito que é o mais frequentemente esquecido, e mal compreendido, é `x-default` — menos de 30% das apps o implementam corretamente.
103
+
104
+ É o fallback para usuários cuja língua não corresponde a nada em seu conjunto. Um falante de holandês em um site oferecendo inglês, francês e espanhol não corresponde a nenhuma entrada; sem `x-default`, o Google escolhe por você.
105
+
106
+ O que as pessoas entendem errado é o que significa. `x-default` **não é "a versão em inglês"** e **não é "a locale padrão"**, mesmo que geralmente aponte para lá. Significa _a página para usuários que este conjunto não cobre_. É por isso que é legítimo — e frequentemente melhor — apontá-lo para um seletor de idioma ou uma página de destino com redirecionamento geográfico em vez de para `/en`. Se você não tem tal página, seu idioma principal é a resposta sensata.
107
+
108
+ Duas coisas para esclarecer: `x-default` é uma entrada extra no conjunto, não uma substituição para a auto-referenciada, e como todas as outras entradas, deve aparecer identicamente em todas as páginas do cluster.
109
+
110
+ ---
111
+
112
+ ## A armadilha do canonical
113
+
114
+ Cada página localizada deve ser **seu próprio canonical**:
115
+
116
+ ```html
117
+ <!-- Em https://example.com/fr/about -->
118
+ <link rel="canonical" href="https://example.com/fr/about" />
119
+ <link rel="alternate" hreflang="fr" href="https://example.com/fr/about" />
120
+ <link rel="alternate" hreflang="en" href="https://example.com/about" />
121
+ ```
122
+
123
+ Apontando o canonical de todas as locales para a versão em inglês:
124
+
125
+ ```html
126
+ <!-- Em https://example.com/fr/about — mata a página -->
127
+ <link rel="canonical" href="https://example.com/about" />
128
+ ```
129
+
130
+ diz que a página francesa é uma duplicata que não deve ser indexada, enquanto `hreflang` diz que é a página a servir para usuários franceses. Os sinais se contradizem, canonical vence, e suas páginas em francês caem do índice.
131
+
132
+ **Canonical é auto-referencial por locale. `hreflang` descreve o cluster.**
133
+
134
+ ---
135
+
136
+ ## Escolhendo uma estrutura de URL
137
+
138
+ `hreflang` anota URLs, então a estrutura vem em primeiro lugar.
139
+
140
+ | Structure | Example | Trade-off |
141
+ | ------------------ | ----------------- | -------------------------------------------------------------------- |
142
+ | **Subdirectories** | `example.com/fr/` | Um domínio, autoridade compartilhada — sinal geográfico mais fraco |
143
+ | **Subdomains** | `fr.example.com` | Fácil adicionar ou remover um locale — pode parecer um site separado |
144
+ | **ccTLDs** | `example.fr` | Sinal de país mais forte — autoridade construída por domínio |
145
+
146
+ Subdirectórios são a escolha padrão correta para a maioria dos projetos. Recorra a ccTLDs apenas quando você realmente operar como negócios separados por país.
147
+
148
+ A única estrutura a evitar: servir diferentes idiomas na **mesma URL** com base em `Accept-Language` ou IP. Os crawlers veem uma versão e indexam uma versão; tudo o mais é invisível.
149
+
150
+ > Intlayer cobre todos os três através de `routing.mode` e `routing.domains`. Veja [custom domains](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/custom_domains.md) e a [referência de configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md).
151
+
152
+ ---
153
+
154
+ ## Implementação
155
+
156
+ Escrever essas tags manualmente não sobrevive ao contato com um segundo locale. Derive-as da sua lista de locales em vez disso.
157
+
158
+ <Steps>
159
+
160
+ <Step number={1} title="Emitir o cluster em cada página">
161
+
162
+ Mesmo conjunto em todos os lugares, canonical por locale, URLs absolutas, `x-default` incluído.
163
+
164
+ <Tabs>
165
+
166
+ <Tab label="Next.js" value="nextjs">
167
+
168
+ A Metadata API expõe `alternates.languages`, e `getMultilingualUrls` constrói todo o registro a partir dos seus locales configurados:
169
+
170
+ ```tsx fileName="src/app/[locale]/about/page.tsx"
171
+ import { getMultilingualUrls } from "intlayer";
172
+ import type { Metadata } from "next";
173
+ import type { LocalPromiseParams } from "next-intlayer";
174
+
175
+ const SITE_URL = "https://example.com";
176
+
177
+ export const generateMetadata = async ({
178
+ params,
179
+ }: LocalPromiseParams): Promise<Metadata> => {
180
+ const { locale } = await params;
181
+
182
+ /**
183
+ * getMultilingualUrls(`${SITE_URL}/about`) retorna:
184
+ * {
185
+ * en: 'https://example.com/about',
186
+ * fr: 'https://example.com/fr/about',
187
+ * es: 'https://example.com/es/about',
188
+ * }
189
+ */
190
+ const multilingualUrls = getMultilingualUrls(`${SITE_URL}/about`);
191
+
192
+ return {
193
+ alternates: {
194
+ canonical: multilingualUrls[locale as keyof typeof multilingualUrls],
195
+ languages: { ...multilingualUrls, "x-default": `${SITE_URL}/about` },
196
+ },
197
+ };
198
+ };
199
+ ```
200
+
201
+ Setup completo: [Guia i18n Next.js 16](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_nextjs_16.md).
202
+
203
+ </Tab>
204
+
205
+ <Tab label="TanStack Start" value="tanstack">
206
+
207
+ A função `head` da rota constrói os links. `localeMap` itera sobre as localizações configuradas, portanto adicionar uma localização à configuração a adiciona em todos os lugares de uma vez:
208
+
209
+ ```tsx fileName="src/routes/{-$locale}/about.tsx"
210
+ import { createFileRoute } from "@tanstack/react-router";
211
+ import { defaultLocale, getLocalizedUrl, localeMap } from "intlayer";
212
+
213
+ const SITE_URL = "https://example.com";
214
+
215
+ export const Route = createFileRoute("/{-$locale}/about")({
216
+ head: ({ params }) => {
217
+ const { locale = defaultLocale } = params;
218
+ const url = `${SITE_URL}/about`;
219
+
220
+ return {
221
+ links: [
222
+ { rel: "canonical", href: getLocalizedUrl(url, locale) },
223
+
224
+ ...localeMap(({ locale: mapLocale }) => ({
225
+ rel: "alternate",
226
+ hrefLang: mapLocale,
227
+ href: getLocalizedUrl(url, mapLocale),
228
+ })),
229
+
230
+ {
231
+ rel: "alternate",
232
+ hrefLang: "x-default",
233
+ href: getLocalizedUrl(url, defaultLocale),
234
+ },
235
+ ],
236
+ };
237
+ },
238
+ });
239
+ ```
240
+
241
+ `head` executa no servidor, então as tags chegam no HTML inicial. Setup completo: [guia i18n do TanStack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_tanstack.md).
242
+
243
+ </Tab>
244
+
245
+ </Tabs>
246
+
247
+ </Step>
248
+
249
+ <Step number={2} title="Ou mova tudo para o sitemap">
250
+
251
+ Em larga escala, mantenha as anotações fora de suas páginas completamente. `generateSitemap` emite alternates `xhtml:link` por entrada, lendo locales e modo de roteamento de sua config:
252
+
253
+ ```ts fileName="src/routes/sitemap[.]xml.ts"
254
+ import { generateSitemap } from "intlayer";
255
+
256
+ const sitemap = generateSitemap(
257
+ [
258
+ { path: "/", changefreq: "daily", priority: 1.0 },
259
+ { path: "/about", changefreq: "monthly", priority: 0.8 },
260
+ ],
261
+ { siteUrl: "https://example.com" }
262
+ );
263
+ ```
264
+
265
+ Duas opções que vale a pena conhecer:
266
+
267
+ - `xhtmlLinks` (padrão `true`) — alternates são emitidos apenas onde as URLs de locale realmente diferem. No modo `no-prefix` cada locale compartilha uma URL, então são ignorados a menos que `routing.domains` dê aos locales seus próprios hostnames.
268
+ - `entryPerLocale` (padrão `false`) — por padrão uma entrada `<url>` carrega todos os alternates. Ambas as formas são válidas, mas apenas uma URL listada como `<loc>` conta como _enviada_ no Search Console; locales alternativas permanecem descobríveis mas atribuídas a nenhum sitemap. Ativar isso dá a cada URL localizada sua própria entrada com o conjunto completo de alternates repetido. Multiplica as entradas pela contagem de locale, então fique atento ao limite de 50 000 URLs / 50 MB e divida em um índice de sitemap se ultrapassar.
269
+
270
+ </Step>
271
+
272
+ <Step number={3} title="Verifique o que o crawler recebe">
273
+
274
+ `hreflang` falha silenciosamente, então verifique-o em vez de assumir.
275
+
276
+ Leia a fonte, não o inspector — `curl https://example.com/fr/about | grep hreflang` mostra o que um crawler recebe; DevTools mostra o DOM após JavaScript ser executado. Em seguida, siga cada alternativa e confirme que ela aponta de volta com o mesmo conjunto, e que nenhuma delas redireciona. O relatório de Direcionamento Internacional do Search Console captura o resto em todo o site.
277
+
278
+ Para um crawl específico multilíngue, o [Intlayer SEO Scanner](https://intlayer.org/i18n-seo-scanner) verifica tags ausentes, alternativas quebradas e conflitos canônicos em suas páginas localizadas.
279
+
280
+ </Step>
281
+
282
+ </Steps>
283
+
284
+ ---
285
+
286
+ ## Lista de verificação
287
+
288
+ - [ ] Cada locale possui uma URL distinta e rastreável
289
+ - [ ] Toda página se auto-referencia, e toda referência é recíproca
290
+ - [ ] O mesmo conjunto é entregue em todas as páginas do cluster
291
+ - [ ] Todos os valores `href` são absolutos no HTML emitido
292
+ - [ ] Os códigos são ISO 639-1 + ISO 3166-1 Alpha 2 (`en-GB`, não `en-UK`)
293
+ - [ ] `x-default` está presente e aponta para onde os usuários não correspondidos devem ir
294
+ - [ ] Canonical é autorreferencial por locale
295
+ - [ ] Tags são renderizadas no servidor, não injetadas após hidratação
296
+ - [ ] Declaradas em exatamente um lugar
297
+ - [ ] Sem redirecionamentos alternados
298
+
299
+ ---
300
+
301
+ ## Finalizando
302
+
303
+ `hreflang` é simples e implacável. Uma tag de retorno ausente, uma URL relativa, um canonical entre locales, e o cluster é descartado sem nenhum erro em lugar nenhum. Cada um desses problemas vem de escrever as tags manualmente.
304
+
305
+ Derive the set from a single locale list, render it server-side, keep canonical self-referential, and give `x-default` the thought it deserves. Do that once and correctness stops being something you maintain.
306
+
307
+ ### Going further
308
+
309
+ - [SEO and Internationalization](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/internationalization_and_SEO.md) — the broader multilingual SEO picture
310
+ - [SEO and i18n in Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/nextjs-multilingual-seo-comparison.md) — `next-intl` vs `next-i18next` vs Intlayer
311
+ - [Next.js 16 i18n guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_nextjs_16.md)
312
+ - [Guia i18n do TanStack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_tanstack.md)
313
+ - [Domínios personalizados por locale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/custom_domains.md)
314
+ - [Referência de configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md)
@@ -0,0 +1,247 @@
1
+ ---
2
+ createdAt: 2026-09-02
3
+ updatedAt: 2026-09-02
4
+ title: "Automatizando traduções em CI/CD sem entregar textos ruins"
5
+ description: Três locais para automatizar i18n, pre-push, pull request e runtime. Como barrar um build por cobertura, preencher com segurança e evitar o loop de commits no CI.
6
+ keywords:
7
+ - automatizar traduções ci
8
+ - i18n ci cd
9
+ - github actions traduções
10
+ - husky pre-push
11
+ - localização contínua
12
+ - pipeline de tradução
13
+ slugs:
14
+ - blog
15
+ - i18n-in-ci-cd-pipelines
16
+ author: aymericzip
17
+ ---
18
+
19
+ # Automatizando traduções em CI/CD sem entregar textos ruins
20
+
21
+ A tradução manual não resiste ao ritmo acelerado de lançamentos. Alguém adiciona uma string na sexta-feira, a exportação só ocorre no próximo sprint, e três outros idiomas já estão defasados. Automatizar o fluxo é simples. Automatizar sem publicar silenciosamente conteúdo gerado por máquina para seus usuários é a parte que realmente exige atenção.
22
+
23
+ ## Sumário
24
+
25
+ <TOC/>
26
+
27
+ ## Você não precisa migrar para automatizar
28
+
29
+ Os formatos de pipeline descritos abaixo são independentes de biblioteca, assim como as ferramentas. Se suas mensagens residem em catálogos JSON para i18next, next-intl, react-intl, vue-i18n ou next-translate, o [plugin Sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md) lê e escreve esses arquivos diretamente no local:
30
+
31
+ ```ts fileName="intlayer.config.ts"
32
+ import { syncJSON } from "@intlayer/sync-json-plugin";
33
+
34
+ const config = {
35
+ plugins: [
36
+ syncJSON({
37
+ source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
38
+ format: "i18next", // ou "icu" para next-intl / react-intl
39
+ }),
40
+ ],
41
+ };
42
+
43
+ export default config;
44
+ ```
45
+
46
+ Sua aplicação continua importando o que sempre importou. Os jobs de CI então preenchem e protegem seus catálogos existentes, e o diff exibido ao revisor é uma simples alteração em `locales/fr/checkout.json`, e não uma migração estrutural. Há também o [plugin Sync PO](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-po.md) para fluxos gettext e [adaptadores de compatibilidade](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compat/index.md) para manter sua API em tempo de execução inalterada.
47
+
48
+ ## Separe o bloqueio (gate) do preenchimento (fill)
49
+
50
+ Duas tarefas distintas são constantemente confundidas.
51
+
52
+ Um **gate** é uma verificação que falha. Ele determina que esta compilação não deve ser lançada porque idiomas obrigatórios estão ausentes. Ele não escreve nenhum arquivo.
53
+
54
+ Um **fill** é uma mutação. Ele gera as traduções ausentes e realiza o commit delas. Ele nunca quebra um build.
55
+
56
+ Executar apenas o fill significa que nada é bloqueado e textos gerados por máquina chegam à produção sem revisão. Executar apenas o gate faz com que o build fique vermelho e um humano precise intervir a cada push. A maioria das equipes precisa de ambos acionados em momentos distintos: fill em pull requests, gate ao realizar o merge na branch de lançamento.
57
+
58
+ ## Onde a automação pode residir
59
+
60
+ | Etapa | Gatilho | Indicado para | Custo |
61
+ | :------------- | :-------- | :------------------------------------- | :----------------------------------------------- |
62
+ | Hook pre-push | Git local | Feedback rápido, zero minutos de CI | Roda na máquina do dev com sua própria chave API |
63
+ | Pull request | Job de CI | Revisão pré-merge, segredos protegidos | Minutos de CI mais chamadas de modelo por PR |
64
+ | Branch release | Job de CI | Bloqueio estrito de cobertura | Econômico, sem chamadas a modelos |
65
+ | Runtime | CMS | Mudanças de texto sem recompilar | Dependência de serviço hospedado |
66
+
67
+ ## Pre-push: o ciclo mais ágil
68
+
69
+ O Husky executa o preenchimento antes do código sair da máquina local, fazendo com que as traduções cheguem no mesmo push em que as novas strings foram adicionadas.
70
+
71
+ ```bash fileName=".husky/pre-push"
72
+ npx intlayer build
73
+ npx intlayer fill --unpushed --mode complete
74
+ ```
75
+
76
+ `--unpushed` restringe a execução ao conteúdo que ainda não foi enviado ao repositório remoto, evitando lentidão a cada push. `--mode complete` preenche apenas o que está faltando sem reescrever entradas que já possuem valor, assegurando que uma tradução revisada nunca seja sobrescrita.
77
+
78
+ Em um monorepo, delimite o escopo de cada aplicação:
79
+
80
+ ```bash fileName=".husky/pre-push"
81
+ npx intlayer build --base-dir ./app1
82
+ npx intlayer fill --base-dir ./app1 --unpushed --mode complete
83
+ npx intlayer build --base-dir ./app2
84
+ npx intlayer fill --base-dir ./app2 --unpushed --mode complete
85
+ ```
86
+
87
+ A desvantagem é evidente: cada desenvolvedor precisa de uma chave de API, e o custo recai sobre quem faz o push. Por isso, a maioria dos times migra essa etapa para o CI à medida que a equipe cresce.
88
+
89
+ ## Pull request: preencher onde a revisão acontece
90
+
91
+ O mesmo fluxo no GitHub Actions, delimitado pelo diff:
92
+
93
+ ```yaml fileName=".github/workflows/intlayer-translate.yml"
94
+ name: Intlayer Auto-Fill
95
+ on:
96
+ pull_request:
97
+ branches: ["main"]
98
+
99
+ permissions:
100
+ contents: write
101
+ pull-requests: write
102
+
103
+ concurrency:
104
+ group: "autofill-${{ github.ref }}"
105
+ cancel-in-progress: true
106
+
107
+ jobs:
108
+ autofill:
109
+ runs-on: ubuntu-latest
110
+ env:
111
+ AI_PROVIDER: openai
112
+ AI_MODEL: gpt-5-mini
113
+ AI_API_KEY: ${{ secrets.AI_API_KEY }}
114
+ steps:
115
+ - uses: actions/checkout@v4
116
+ with:
117
+ persist-credentials: true
118
+ fetch-depth: 0
119
+ - uses: actions/setup-node@v4
120
+ with:
121
+ node-version: 20
122
+ - run: npm install
123
+ - run: npx intlayer build
124
+ - run: npx intlayer fill --git-diff --mode complete --provider $AI_PROVIDER --model $AI_MODEL --api-key $AI_API_KEY
125
+ - name: Commit
126
+ run: |
127
+ if [ -n "$(git status --porcelain)" ]; then
128
+ git config --local user.email "action@github.com"
129
+ git config --local user.name "GitHub Action"
130
+ git add .
131
+ git commit -m "chore: auto-fill missing translations [skip ci]"
132
+ git push origin HEAD:${{ github.head_ref }}
133
+ fi
134
+ ```
135
+
136
+ Quatro detalhes são cruciais aqui:
137
+
138
+ - **`fetch-depth: 0`** é indispensável para o funcionamento de `--git-diff`. Um clone raso não possui base de comparação e nada é preenchido silenciosamente.
139
+ - **`[skip ci]` na mensagem de commit** impede que o workflow entre em loop infinito. Sem isso, o job commita, aciona uma nova execução, que commita novamente, esgotando o limite de CI durante a noite.
140
+ - **`concurrency` com `cancel-in-progress`** impede que pushes simultâneos tentem alterar os mesmos arquivos ao mesmo tempo.
141
+ - **`--git-diff`** restringe o preenchimento às alterações do PR. Se for omitido, todo o catálogo será retraduzido em cada execução.
142
+
143
+ As traduções chegam como um commit na branch do PR, permitindo que o revisor inspecione o diff. Essa é a grande vantagem em relação a rodar o preenchimento após o merge.
144
+
145
+ ## Branch de release: o gate de validação
146
+
147
+ O gate não requer acesso a modelos de IA e deve ser rápido.
148
+
149
+ ```yaml fileName=".github/workflows/ci.yml"
150
+ - run: npm run test:i18n
151
+ ```
152
+
153
+ Apoiado por um teste com asserções explícitas de cobertura em vez de simples relatórios no terminal:
154
+
155
+ ```ts fileName="i18n.test.ts"
156
+ import { listMissingTranslations } from "intlayer/cli";
157
+
158
+ test("não possui locales obrigatórios ausentes", async () => {
159
+ const result = await listMissingTranslations();
160
+ if (result.missingRequiredLocales.length > 0) {
161
+ console.log(result.missingTranslations);
162
+ }
163
+ expect(result.missingRequiredLocales).toHaveLength(0);
164
+ });
165
+ ```
166
+
167
+ `npx intlayer content test` imprime um relatório mas sai com código zero, portanto apenas informa sem interromper a esteira. Use-o localmente; use a asserção no CI. Mais detalhes em [detectar traduções ausentes](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/detecting_missing_translations.md).
168
+
169
+ ## `requiredLocales` torna o gate sustentável
170
+
171
+ Um gate que exija todas as dezoito línguas completas trava qualquer entrega até que o idioma mais lento fique pronto, acabando por ser desativado em menos de um mês.
172
+
173
+ ```ts fileName="intlayer.config.ts"
174
+ import { Locales, type IntlayerConfig } from "intlayer";
175
+
176
+ const config: IntlayerConfig = {
177
+ internationalization: {
178
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
179
+ requiredLocales: [Locales.ENGLISH],
180
+ defaultLocale: Locales.ENGLISH,
181
+ },
182
+ };
183
+
184
+ export default config;
185
+ ```
186
+
187
+ Declare as línguas atendidas e defina como obrigatórias apenas as que realmente devem bloquear um deploy. O restante é completado de modo assíncrono sem reter os lançamentos.
188
+
189
+ ## Gerenciando traduções fora do repositório
190
+
191
+ A outra abordagem consiste em manter um idioma base no código e administrar os demais remotamente via CMS com Live Sync. As alterações de texto não exigem novo build, separando o ciclo de edição do ritmo de deploys de código.
192
+
193
+ ```ts fileName="intlayer.config.ts"
194
+ const config: IntlayerConfig = {
195
+ internationalization: {
196
+ locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH],
197
+ requiredLocales: [Locales.ENGLISH],
198
+ defaultLocale: Locales.ENGLISH,
199
+ },
200
+ editor: {
201
+ clientId: process.env.INTLAYER_CLIENT_ID,
202
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
203
+ liveSync: true,
204
+ },
205
+ };
206
+
207
+ export default config;
208
+ ```
209
+
210
+ Essa solução é ideal para equipes onde profissionais não técnicos cuidam dos textos. Trata-se de uma troca: ganha-se autonomia editorial mas perde-se a propriedade de que um checkout do git reflete fielmente o que o app renderiza. Detalhes na [documentação do CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md).
211
+
212
+ Lembre-se de que `clientSecret` é uma credencial do servidor. Deve permanecer nos segredos do CI e nas variáveis de ambiente do backend, nunca exposta em bundles de cliente.
213
+
214
+ ## A limitação real
215
+
216
+ Tudo o que foi exposto automatiza a _cobertura_, não a _qualidade_. Um preenchimento automático transforma uma ausência explícita em um texto presente sem revisão: o teste passa porque a chave tem valor, mas ninguém o leu.
217
+
218
+ Isso é admissível em ferramentas internas, changelogs ou idiomas em fase beta. Não é tolerável em páginas de preços, termos legais ou avisos de falha no pagamento. Encaminhe essas áreas para revisão humana e utilize `--mode complete` para nunca sobrescrever strings já revisadas.
219
+
220
+ Forneça contexto ao modelo para que o resultado mantenha a coerência:
221
+
222
+ ```ts
223
+ ai: {
224
+ applicationContext: "App de faturamento B2B. Tom formal. Nunca traduzir o nome do produto.",
225
+ }
226
+ ```
227
+
228
+ ## Erros comuns
229
+
230
+ - **Esquecer `[skip ci]` no auto-commit.** O job se reexecuta em loop indefinidamente.
231
+ - **Clone raso com `--git-diff`.** Sem base de diff, nada é preenchido e nenhum erro é emitido.
232
+ - **Preencher todo o catálogo a cada execução.** Limite com `--git-diff` ou `--unpushed` para controlar a conta.
233
+ - **Usar o relatório da CLI como gate.** Ele encerra sempre com código 0.
234
+ - **Tornar todas as línguas obrigatórias.** O gate é desativado no primeiro deploy bloqueado.
235
+ - **Um job de fill sem gate em lugar nenhum.** Nada falha e textos crus de IA vão direto para a produção.
236
+ - **Chaves de API de modelos no repositório.** Devem ficar nos segredos do CI, assim como o `clientSecret`.
237
+
238
+ ## Para se aprofundar
239
+
240
+ - [CI/CD: autogeração de traduções com Husky, GitHub Actions e o CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/CI_CD.md)
241
+ - [Testando seu conteúdo e bloqueando builds por cobertura](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/testing.md)
242
+ - [autoFill: geração de arquivos de declaração por locale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/autoFill.md)
243
+ - [Referência de configuração: `locales`, `requiredLocales`, `editor`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md)
244
+ - [Relatórios de benchmark entre frameworks](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/benchmark/index.md)
245
+ - [Adaptador de compatibilidade i18next](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compat/i18next.md)
246
+ - [Como detectar traduções ausentes](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/detecting_missing_translations.md)
247
+ - [Como testar traduções sem testes frágeis](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pt/i18n_testing_strategies.md)
@@ -19,8 +19,6 @@ author: aymericzip
19
19
 
20
20
  # Significado de i18n: O que é Internacionalização e por que ela é importante?
21
21
 
22
- ![ilustração i18n](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
23
-
24
22
  ## Entendendo o "Significado de i18n"
25
23
 
26
24
  Se você está envolvido em desenvolvimento de software, web design ou marketing digital, provavelmente já se deparou com o termo **i18n**. O verdadeiro **significado de i18n** é simplesmente um numerônimo para **internationalization** (internacionalização).