@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,769 @@
1
+ ---
2
+ createdAt: 2026-08-29
3
+ updatedAt: 2026-08-29
4
+ title: "htmx i18n - 完整的应用翻译指南"
5
+ description: "不再使用 i18next。2026 年构建多语言 (i18n) htmx 应用的指南。使用 AI 代理进行翻译,优化 bundle 大小、SEO 和性能。"
6
+ keywords:
7
+ - Internationalization
8
+ - Documentation
9
+ - Intlayer
10
+ - htmx
11
+ - Hypermedia
12
+ - JavaScript
13
+ - Backend
14
+ slugs:
15
+ - doc
16
+ - environment
17
+ - htmx
18
+ history:
19
+ - version: 9.4.1
20
+ date: 2026-08-29
21
+ changes: "Initial history"
22
+ author: aymericzip
23
+ ---
24
+
25
+ # 使用 Intlayer 翻译您的 htmx 应用 | 国际化 (i18n)
26
+
27
+ htmx 不渲染任何自己的内容。访问者读到的每个标签都是您的服务器生成的 HTML,每次交换都是一个单独的 HTTP 请求。因此,国际化 htmx 应用是一个服务器问题:需要在每个请求上解析 locale,并且每个片段都必须以该 locale 呈现。
28
+
29
+ Intlayer 通过其后端集成涵盖了这一点,这些集成按请求检测 locale 并向构建 HTML 的处理程序暴露您声明的内容。
30
+
31
+ ## 目录
32
+
33
+ <TOC/>
34
+
35
+ ## htmx 应用中 i18n 的三个规则
36
+
37
+ <AccordionGroup>
38
+ <Accordion header="必须在每个请求上解析 locale,而不仅仅是第一个请求">
39
+
40
+ 一个单页面可以触发数十个交换。每一个都是一个新的请求,对发起它的页面没有任何记忆。如果locale存储在初始渲染期间设置的变量中,之后的每个片段都会回退到默认语言。
41
+
42
+ Intlayer middleware 从请求本身解析locale,因此在第十分钟提供的片段用的是与第零分钟提供的页面相同的语言。
43
+
44
+ </Accordion>
45
+
46
+ <Accordion header="locale必须随请求传递">
47
+
48
+ 两种方式可与htmx配合使用。浏览器会自动在每个请求(包括htmx请求)上发送cookie(`INTLAYER_LOCALE`)。可以使用`hx-headers`属性将header(`x-intlayer-locale`)附加到htmx请求。默认情况下两者都会被读取。
49
+
50
+ </Accordion>
51
+
52
+ <Accordion header="交换的 HTML 仍然是 HTML">
53
+
54
+ 插入到片段中的翻译值是标记。对其进行转义,就像对待任何其他动态值一样,这样包含 `<` 的翻译就无法破坏它被交换到的文档。
55
+
56
+ </Accordion>
57
+ </AccordionGroup>
58
+
59
+ ---
60
+
61
+ ## 逐步指南
62
+
63
+ <iframe
64
+ src="https://ide.intlayer.org/aymericzip/intlayer-htmx-template?file=intlayer.config.ts"
65
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
66
+ title="演示 CodeSandbox - 如何使用 Intlayer 国际化您的应用程序"
67
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
68
+ loading="lazy"
69
+ />
70
+
71
+ 查看 GitHub 上的[应用程序模板](https://github.com/aymericzip/intlayer-htmx-template)。
72
+
73
+ <Steps>
74
+
75
+ <Step number={1} title="安装依赖项">
76
+
77
+ 安装 `intlayer` 加上适用于你的服务器的集成。
78
+
79
+ <Tabs group="backend" defaultTab="express">
80
+ <Tab label="Express" value="express">
81
+
82
+ ```bash packageManager="npm"
83
+ npm install intlayer express-intlayer cookie-parser
84
+ ```
85
+
86
+ ```bash packageManager="pnpm"
87
+ pnpm add intlayer express-intlayer cookie-parser
88
+ ```
89
+
90
+ ```bash packageManager="yarn"
91
+ yarn add intlayer express-intlayer cookie-parser
92
+ ```
93
+
94
+ ```bash packageManager="bun"
95
+ bun add intlayer express-intlayer cookie-parser
96
+ ```
97
+
98
+ </Tab>
99
+ <Tab label="Fastify" value="fastify">
100
+
101
+ ```bash packageManager="npm"
102
+ npm install intlayer fastify-intlayer @fastify/cookie @fastify/formbody
103
+ ```
104
+
105
+ ```bash packageManager="pnpm"
106
+ pnpm add intlayer fastify-intlayer @fastify/cookie @fastify/formbody
107
+ ```
108
+
109
+ ```bash packageManager="yarn"
110
+ yarn add intlayer fastify-intlayer @fastify/cookie @fastify/formbody
111
+ ```
112
+
113
+ ```bash packageManager="bun"
114
+ bun add intlayer fastify-intlayer @fastify/cookie @fastify/formbody
115
+ ```
116
+
117
+ </Tab>
118
+ <Tab label="Hono" value="hono">
119
+
120
+ ```bash packageManager="npm"
121
+ npm install intlayer hono-intlayer
122
+ ```
123
+
124
+ ```bash packageManager="pnpm"
125
+ pnpm add intlayer hono-intlayer
126
+ ```
127
+
128
+ ```bash packageManager="yarn"
129
+ yarn add intlayer hono-intlayer
130
+ ```
131
+
132
+ ```bash packageManager="bun"
133
+ bun add intlayer hono-intlayer
134
+ ```
135
+
136
+ </Tab>
137
+ <Tab label="Elysia" value="elysia">
138
+
139
+ ```bash packageManager="npm"
140
+ npm install intlayer elysia-intlayer
141
+ ```
142
+
143
+ ```bash packageManager="pnpm"
144
+ pnpm add intlayer elysia-intlayer
145
+ ```
146
+
147
+ ```bash packageManager="yarn"
148
+ yarn add intlayer elysia-intlayer
149
+ ```
150
+
151
+ ```bash
152
+ bun add intlayer elysia-intlayer
153
+ ```
154
+
155
+ </Tab>
156
+ </Tabs>
157
+
158
+ > Express 和 Fastify 通过各自的 cookie 解析器读取 locale cookie,因此必须与其一起安装。Hono 和 Elysia 原生解析 cookies。
159
+
160
+ htmx 本身是一个单独的脚本标签,在第 4 步中添加。
161
+
162
+ </Step>
163
+
164
+ <Step number={2} title="配置您的项目">
165
+
166
+ 在项目根目录创建 `intlayer.config.ts`:
167
+
168
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
169
+ import { Locales, type IntlayerConfig } from "intlayer";
170
+
171
+ const config: IntlayerConfig = {
172
+ internationalization: {
173
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, Locales.ARABIC],
174
+ defaultLocale: Locales.ENGLISH,
175
+ },
176
+ };
177
+
178
+ export default config;
179
+ ```
180
+
181
+ > 有关完整的选项列表,请参阅[配置文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)。
182
+
183
+ </Step>
184
+
185
+ <Step number={3} title="声明您的内容">
186
+
187
+ 声明服务器将呈现的每个标签,包括仅出现在片段内的标签:
188
+
189
+ ```typescript fileName="src/app.content.ts" contentDeclarationFormat={["typescript", "esm"]}
190
+ import { insert, t, type Dictionary } from "intlayer";
191
+
192
+ const appContent = {
193
+ key: "app",
194
+ content: {
195
+ pageTitle: "Intlayer + htmx",
196
+
197
+ localeLabel: t({
198
+ zh: "语言",
199
+ en: "Language",
200
+ fr: "Langue",
201
+ es: "Idioma",
202
+ ar: "اللغة",
203
+ }),
204
+
205
+ cartSummary: insert(
206
+ t({
207
+ zh: "购物车中的商品: {{count}}",
208
+ en: "Items in your cart: {{count}}",
209
+ fr: "Articles dans votre panier : {{count}}",
210
+ es: "Artículos en tu carrito: {{count}}",
211
+ ar: "المنتجات في سلتك: {{count}}",
212
+ })
213
+ ),
214
+
215
+ addItem: t({
216
+ zh: "添加商品",
217
+ en: "Add an item",
218
+ fr: "Ajouter un article",
219
+ es: "Añadir un artículo",
220
+ ar: "أضف منتجًا",
221
+ }),
222
+ },
223
+ } satisfies Dictionary;
224
+
225
+ export default appContent;
226
+ ```
227
+
228
+ > 内容声明可以存在于 `contentDir` 下的任何位置(默认为 `./src`)并匹配 `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`。见 [内容声明文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)。
229
+
230
+ </Step>
231
+
232
+ <Step number={4} title="注册 Intlayer middleware">
233
+
234
+ 中间件解决每个请求的 locale,并将其暴露给你的处理程序。
235
+
236
+ <Tabs group="backend" defaultTab="express">
237
+ <Tab label="Express" value="express">
238
+
239
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
240
+ import cookieParser from "cookie-parser";
241
+ import express from "express";
242
+ import { intlayer } from "express-intlayer";
243
+
244
+ const app = express();
245
+
246
+ // cookie 解析器必须首先运行:`express-intlayer` 通过 `req.cookies` 读取 locale cookie。
247
+ app.use(cookieParser());
248
+ app.use(express.urlencoded({ extended: false }));
249
+ app.use(intlayer());
250
+ ```
251
+
252
+ 解决的 locale 在 `res.locals.locale` 上。
253
+
254
+ </Tab>
255
+ <Tab label="Fastify" value="fastify">
256
+
257
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
258
+ import cookie from "@fastify/cookie";
259
+ import formbody from "@fastify/formbody";
260
+ import Fastify from "fastify";
261
+ import { intlayer } from "fastify-intlayer";
262
+
263
+ const fastify = Fastify();
264
+
265
+ await fastify.register(cookie);
266
+ await fastify.register(formbody);
267
+ await fastify.register(intlayer);
268
+ ```
269
+
270
+ 解析后的 locale 在 `req.intlayer.locale` 上。
271
+
272
+ </Tab>
273
+ <Tab label="Hono" value="hono">
274
+
275
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
276
+ import { Hono } from "hono";
277
+ import { intlayer } from "hono-intlayer";
278
+
279
+ const app = new Hono();
280
+
281
+ app.use("*", intlayer());
282
+ ```
283
+
284
+ 解析后的 locale 是 `c.get("locale")`。
285
+
286
+ </Tab>
287
+ <Tab label="Elysia" value="elysia">
288
+
289
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
290
+ import { Elysia } from "elysia";
291
+ import { intlayer } from "elysia-intlayer";
292
+
293
+ const app = new Elysia().use(intlayer());
294
+ ```
295
+
296
+ 已解析的 locale 在路由上下文中的 `intlayer!.locale` 上。
297
+
298
+ </Tab>
299
+ </Tabs>
300
+
301
+ 默认情况下,locale 是从 `INTLAYER_LOCALE` cookie 获取的,然后是 `x-intlayer-locale` header,然后是 `Accept-Language` 协商。
302
+
303
+ </Step>
304
+
305
+ <Step number={5} title="使用请求 locale 渲染片段">
306
+
307
+ 将你的片段渲染器编写为 locale 的纯函数,并传递中间件解析的 locale。显式传递它可以保持片段与请求它的服务器相关联。
308
+
309
+ ```typescript fileName="src/views.ts" codeFormat={["typescript", "esm"]}
310
+ import { currency, getIntlayer, type Locale } from "intlayer";
311
+
312
+ const HTML_ENTITIES: Record<string, string> = {
313
+ "&": "&amp;",
314
+ "<": "&lt;",
315
+ ">": "&gt;",
316
+ '"': "&quot;",
317
+ "'": "&#39;",
318
+ };
319
+
320
+ /** 转义已翻译的值,防止其突破标记。 */
321
+ const escapeHtml = (value: string): string =>
322
+ value.replace(
323
+ /[&<>"']/g,
324
+ (character) => HTML_ENTITIES[character] ?? character
325
+ );
326
+
327
+ export const renderCart = (locale: Locale, itemCount: number): string => {
328
+ const content = getIntlayer("app", locale);
329
+
330
+ return `<section id="cart">
331
+ <p>${escapeHtml(String(content.cartSummary({ count: itemCount })))}</p>
332
+ <p>${escapeHtml(currency(itemCount * 12.5, { locale, currency: "EUR" }))}</p>
333
+ <button
334
+ hx-post="/cart/items"
335
+ hx-vals='{"itemCount": ${itemCount}}'
336
+ hx-target="#cart"
337
+ hx-swap="outerHTML"
338
+ >${escapeHtml(String(content.addItem))}</button>
339
+ </section>`;
340
+ };
341
+ ```
342
+
343
+ 从路由提供服务:
344
+
345
+ <Tabs group="backend" defaultTab="express">
346
+ <Tab label="Express" value="express">
347
+
348
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
349
+ app.post("/cart/items", (req, res) => {
350
+ // 从请求体获取项目数量,如果不存在则默认为0,然后加1
351
+ const itemCount = Number(req.body?.itemCount ?? 0) + 1;
352
+
353
+ // 设置响应类型为HTML并发送渲染后的购物车
354
+ res.type("html").send(renderCart(res.locals.locale, itemCount));
355
+ });
356
+ ```
357
+
358
+ </Tab>
359
+ <Tab label="Fastify" value="fastify">
360
+
361
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
362
+ fastify.post("/cart/items", async (req, reply) => {
363
+ // 从请求体获取项目数量,如果不存在则默认为0,然后加1
364
+ const itemCount =
365
+ Number((req.body as { itemCount?: string })?.itemCount ?? 0) + 1;
366
+
367
+ // 设置响应类型为HTML并发送渲染后的购物车
368
+ return reply
369
+ .type("text/html")
370
+ .send(renderCart(req.intlayer.locale, itemCount));
371
+ });
372
+ ```
373
+
374
+ </Tab>
375
+ <Tab label="Hono" value="hono">
376
+
377
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
378
+ app.post("/cart/items", async (c) => {
379
+ const body = await c.req.parseBody();
380
+ const itemCount = Number(body["itemCount"] ?? 0) + 1;
381
+
382
+ return c.html(renderCart(c.get("locale"), itemCount));
383
+ });
384
+ ```
385
+
386
+ </Tab>
387
+ <Tab label="Elysia" value="elysia">
388
+
389
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
390
+ app.post("/cart/items", ({ body, intlayer }) => {
391
+ const itemCount =
392
+ Number((body as { itemCount?: string })?.itemCount ?? 0) + 1;
393
+
394
+ return new Response(renderCart(intlayer!.locale, itemCount), {
395
+ headers: { "content-type": "text/html" },
396
+ });
397
+ });
398
+ ```
399
+
400
+ </Tab>
401
+ </Tabs>
402
+
403
+ 同一个片段现在为 cookie 设置为 `fr` 的访问者用法语回答,为 cookie 设置为 `ar` 的访问者用阿拉伯语回答,无需对调用标记进行任何更改。
404
+
405
+ </Step>
406
+
407
+ <Step number={6} title="提供第一个页面">
408
+
409
+ 单独渲染 `<body>`,以便第 7 步中的语言切换器可以整体交换它,然后将其包装在加载 htmx 的文档中:
410
+
411
+ ```typescript fileName="src/views.ts" codeFormat={["typescript", "esm"]}
412
+ import { getHTMLTextDir, getIntlayer, type Locale } from "intlayer";
413
+
414
+ export const renderBody = (locale: Locale, itemCount: number): string => {
415
+ // 获取应用内容配置
416
+ const content = getIntlayer("app", locale);
417
+
418
+ return `<body lang="${locale}" dir="${getHTMLTextDir(locale)}">
419
+ <main>
420
+ <h1>${escapeHtml(String(content.pageTitle))}</h1>
421
+ ${renderLocaleSwitcher(locale)}
422
+ ${renderCart(locale, itemCount)}
423
+ </main>
424
+ </body>`;
425
+ };
426
+
427
+ export const renderPage = (locale: Locale, itemCount: number): string =>
428
+ `<!doctype html>
429
+ <html lang="${locale}" dir="${getHTMLTextDir(locale)}">
430
+ <head>
431
+ <meta charset="utf-8" />
432
+ <title>${escapeHtml(String(getIntlayer("app", locale).pageTitle))}</title>
433
+ <script src="https://unpkg.com/htmx.org@2.0.4"></script>
434
+ </head>
435
+ ${renderBody(locale, itemCount)}
436
+ </html>`;
437
+ ```
438
+
439
+ `getHTMLTextDir` 为该语言返回 `ltr`、`rtl` 或 `auto`,这使得阿拉伯语和希伯来语能够正确显示。
440
+
441
+ </Step>
442
+
443
+ <Step number={7} title="切换语言">
444
+
445
+ 切换语言就像任何其他请求一样。服务器将选择存储在中间件读取的 cookie 中,然后返回以新语言环境重新渲染的页面。
446
+
447
+ 将切换器渲染为一个 `select`,它自己发送请求并交换整个 `<body>`,这样你的片段周围的静态标签也会改变:
448
+
449
+ ```typescript fileName="src/views.ts" codeFormat={["typescript", "esm"]}
450
+ import { getIntlayer, getLocaleName, type Locale, locales } from "intlayer";
451
+
452
+ const renderLocaleSwitcher = (locale: Locale): string => {
453
+ const content = getIntlayer("app", locale);
454
+
455
+ const options = locales
456
+ .map(
457
+ (availableLocale: Locale) =>
458
+ `<option value="${availableLocale}"${availableLocale === locale ? " selected" : ""}>${escapeHtml(getLocaleName(availableLocale, locale))}</option>`
459
+ )
460
+ .join("");
461
+
462
+ return `<form>
463
+ <label for="locale">${escapeHtml(String(content.localeLabel))}</label>
464
+ <select
465
+ id="locale"
466
+ name="locale"
467
+ hx-post="/locale"
468
+ hx-trigger="change"
469
+ hx-target="body"
470
+ hx-swap="outerHTML"
471
+ >${options}</select>
472
+ </form>`;
473
+ };
474
+ ```
475
+
476
+ > `getLocaleName(availableLocale, locale)` 用当前显示的语言写出每种语言。如果不传第二个参数,则用各自的语言写出。
477
+
478
+ 通过验证值、设置 cookie 并返回新的 body 来处理 post 请求:
479
+
480
+ <Tabs group="backend" defaultTab="express">
481
+ <Tab label="Express" value="express">
482
+
483
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
484
+ import { isDeclaredLocale } from "intlayer";
485
+
486
+ app.post("/locale", (req, res) => {
487
+ const requestedLocale = String(req.body?.locale);
488
+
489
+ if (!isDeclaredLocale(requestedLocale)) {
490
+ res.status(400).send("Unknown locale");
491
+ return;
492
+ }
493
+
494
+ res.cookie("INTLAYER_LOCALE", requestedLocale, {
495
+ sameSite: "lax",
496
+ path: "/",
497
+ });
498
+ res.type("html").send(renderBody(requestedLocale, 0));
499
+ });
500
+ ```
501
+
502
+ </Tab>
503
+ <Tab label="Fastify" value="fastify">
504
+
505
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
506
+ import { isDeclaredLocale } from "intlayer";
507
+
508
+ fastify.post("/locale", async (req, reply) => {
509
+ const requestedLocale = String((req.body as { locale?: string })?.locale);
510
+
511
+ if (!isDeclaredLocale(requestedLocale)) {
512
+ return reply.status(400).send("Unknown locale");
513
+ }
514
+
515
+ return reply
516
+ .setCookie("INTLAYER_LOCALE", requestedLocale, {
517
+ sameSite: "lax",
518
+ path: "/",
519
+ })
520
+ .type("text/html")
521
+ .send(renderBody(requestedLocale, 0));
522
+ });
523
+ ```
524
+
525
+ </Tab>
526
+ <Tab label="Hono" value="hono">
527
+
528
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
529
+ import { setCookie } from "hono/cookie";
530
+ import { isDeclaredLocale } from "intlayer";
531
+
532
+ app.post("/locale", async (c) => {
533
+ // 解析请求体
534
+ const body = await c.req.parseBody();
535
+ // 获取请求的语言环境
536
+ const requestedLocale = String(body["locale"]);
537
+
538
+ // 检查语言环境是否已声明
539
+ if (!isDeclaredLocale(requestedLocale)) {
540
+ return c.text("Unknown locale", 400);
541
+ }
542
+
543
+ // 设置语言环境 cookie
544
+ setCookie(c, "INTLAYER_LOCALE", requestedLocale, {
545
+ sameSite: "Lax",
546
+ path: "/",
547
+ });
548
+ // 返回渲染后的HTML
549
+ return c.html(renderBody(requestedLocale, 0));
550
+ });
551
+ ```
552
+
553
+ </Tab>
554
+ <Tab label="Elysia" value="elysia">
555
+
556
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
557
+ import { isDeclaredLocale } from "intlayer";
558
+
559
+ app.post("/locale", ({ body, cookie, status }) => {
560
+ const requestedLocale = String((body as { locale?: string })?.locale);
561
+
562
+ // 检查请求的locale是否在声明的locale中
563
+ if (!isDeclaredLocale(requestedLocale)) {
564
+ return status(400, "Unknown locale");
565
+ }
566
+
567
+ // 设置INTLAYER_LOCALE cookie
568
+ cookie["INTLAYER_LOCALE"]!.set({
569
+ value: requestedLocale,
570
+ sameSite: "lax",
571
+ path: "/",
572
+ });
573
+
574
+ // 返回渲染后的body内容,设置content-type为text/html
575
+ return new Response(renderBody(requestedLocale, 0), {
576
+ headers: { "content-type": "text/html" },
577
+ });
578
+ });
579
+ ```
580
+
581
+ </Tab>
582
+ </Tabs>
583
+
584
+ > `isDeclaredLocale` 将任意字符串缩小到你配置的locale之一,因此意外的值永远不会到达你的渲染器。
585
+
586
+ </Step>
587
+
588
+ <Step number={8} title="在swap后保持lang和dir同步" isOptional={true}>
589
+
590
+ 交换可以替换 `<body>`,但不会替换它周围的 `<html>`。在交换的 body 上渲染 `lang` 和 `dir`,然后从 head 中将它们复制回根元素一次:
591
+
592
+ ```html fileName="src/views.ts"
593
+ <script>
594
+ document.addEventListener("htmx:afterSwap", () => {
595
+ document.documentElement.lang = document.body.lang;
596
+ document.documentElement.dir = document.body.dir;
597
+ });
598
+ </script>
599
+ ```
600
+
601
+ 没有这个脚本,切换到阿拉伯语时会在 body 内渲染从右到左的文本,而文档仍然向辅助技术和爬虫宣传前一种语言。
602
+
603
+ </Step>
604
+
605
+ <Step number={9} title="发送区域设置作为标头而不是 cookie" isOptional={true}>
606
+
607
+ 如果 cookie 不适合你,可以使用 `hx-headers` 在祖先元素上将区域设置附加到每个 htmx 请求。后代元素会继承它:
608
+
609
+ ```html
610
+ <body hx-headers='{"x-intlayer-locale": "fr"}'>
611
+ ...
612
+ </body>
613
+ ```
614
+
615
+ 中间件默认读取 `x-intlayer-locale`。你可以在配置中重新命名这两个载体:
616
+
617
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
618
+ import { Locales, type IntlayerConfig } from "intlayer";
619
+
620
+ const config: IntlayerConfig = {
621
+ // ... 其他配置选项
622
+ routing: {
623
+ storage: [
624
+ { type: "header", name: "my-locale-header" },
625
+ { type: "cookie", name: "my-locale-cookie" },
626
+ ],
627
+ },
628
+ };
629
+
630
+ export default config;
631
+ ```
632
+
633
+ </Step>
634
+
635
+ </Steps>
636
+
637
+ ### 配置 TypeScript
638
+
639
+ 包含自动生成的类型,使得未声明的键在编译时报错,而不是在运行时返回空字符串。
640
+
641
+ ```json5 fileName="tsconfig.json"
642
+ {
643
+ // ... 你现有的 TypeScript 配置
644
+ "include": [
645
+ // ... 你现有的 TypeScript 配置
646
+ ".intlayer/**/*.ts", // 包含自动生成的类型
647
+ ],
648
+ }
649
+ ```
650
+
651
+ ### Git 配置
652
+
653
+ 建议忽略由 Intlayer 生成的文件:
654
+
655
+ ```plaintext fileName=".gitignore"
656
+ # 忽略由 Intlayer 生成的文件
657
+ .intlayer
658
+ ```
659
+
660
+ ### VS Code 扩展
661
+
662
+ 为了改进你在 Intlayer 中的开发体验,你可以安装官方的 **Intlayer VS Code 扩展**。
663
+
664
+ [从 VS Code Marketplace 安装](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
665
+
666
+ 该扩展提供:
667
+
668
+ - **翻译键的自动完成**。
669
+ - **实时错误检测**,用于检测缺失的翻译。
670
+ - **内联预览**已翻译内容。
671
+ - **快速操作**,轻松创建和更新翻译。
672
+
673
+ 有关如何使用该扩展的更多详细信息,请参阅 [Intlayer VS Code 扩展文档](https://intlayer.org/doc/vs-code-extension)。
674
+
675
+ ---
676
+
677
+ ### 进一步探索
678
+
679
+ 要进一步探索,您可以使用 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_CMS.md) 外部化您的内容,这样翻译人员可以在不需要部署的情况下更改文案。
680
+
681
+ ## 常见问题
682
+
683
+ <FAQ>
684
+
685
+ <Question title="为什么我交换的片段返回的语言不对?">
686
+
687
+ 因为片段请求没有携带 locale。htmx 请求独立于发送它们的页面,所以 locale 必须通过 `INTLAYER_LOCALE` cookie 或通过 `hx-headers` 设置的 `x-intlayer-locale` header 在每个请求上传输。检查 cookie 解析器在 Express 和 Fastify 上的 Intlayer middleware 之前运行,否则 cookie 永远不会被读取,每个请求都会回退到 `Accept-Language`。
688
+
689
+ </Question>
690
+
691
+ <Question title="我应该将 locale 传递给 `getIntlayer` 还是依赖请求上下文?">
692
+
693
+ 将它传递过去。这些集成公开了解析后的 locale(`res.locals.locale`、`req.intlayer.locale`、`c.get("locale")`、`intlayer!.locale`),将其传递给 `getIntlayer` 使每个渲染器成为 locale 的纯函数。这样更容易测试,如果你更换服务器,也能让你的 fragment 渲染器更具可移植性。
694
+
695
+ </Question>
696
+
697
+ <Question title="我需要在 htmx 旁边使用客户端 i18n 库吗?">
698
+
699
+ 不需要。访问者看到的所有内容都是由服务器生成的,所以浏览器中没有任何东西需要翻译。这也是为什么 htmx 应用中 i18n 的页面权重成本接近于零:没有 catalog 会被传送到客户端。
700
+
701
+ </Question>
702
+
703
+ <Question title="我如何本地化 URL,用于 SEO?">
704
+
705
+ 在区域设置前缀下提供您的页面(`/fr/cart`),并在您的路由处理程序中从路径而不是从 cookie 读取区域设置,以进行完整页面渲染。片段可以继续使用 cookie 或标头。请参阅[配置](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)以了解路由选项和[自定义 URL 重写](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/custom_url_rewrites.md)。
706
+
707
+ </Question>
708
+
709
+ <Question title="我如何处理从右到左的语言?">
710
+
711
+ `getHTMLTextDir(locale)` 返回 `ltr`、`rtl` 或 `auto`。在初始渲染时将其设置在文档上,并在交换后重新应用,如第 8 步所示。使用 CSS 逻辑属性(例如 `margin-inline-start` 而不是 `margin-left`),以便您的布局遵循。
712
+
713
+ </Question>
714
+
715
+ <Question title="我是否需要转义翻译后的值?">
716
+
717
+ 是的,对于您插入到模板字符串中的任何内容,与任何其他动态值完全相同。来自 CMS 或翻译人员的内容不是您控制的标记。第 5 步显示了一个最小的转义器。
718
+
719
+ </Question>
720
+
721
+ <Question title="相同的内容能否也用于我的 API 响应?">
722
+
723
+ 是的。后端集成将 `t()` 和 `getIntlayer()` 暴露给任何处理程序,因此在 toast 中显示的错误消息和在片段中呈现的标签来自相同的已声明内容。请参阅 [Express](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_express.md)、[Fastify](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_fastify.md)、[Hono](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_hono.md) 和 [Elysia](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_elysia.md) 指南。
724
+
725
+ </Question>
726
+
727
+ <Question title="我需要逐个移动我的内容键吗?">
728
+
729
+ 不是。运行 `npx intlayer extract`,Intlayer 会读取你的源文件,提取面向用户的字符串,并在每个文件旁边写入一个 `.content` 文件,这样你可以审查差异,而不是一次一个地将字符串复制到目录中。参见 [extract 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/extract.md)。
730
+
731
+ </Question>
732
+
733
+ <Question title="我可以保留我现有的 JSON 翻译文件吗?">
734
+
735
+ 是的。[sync JSON 插件](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/plugins/sync-json.md)将您的 `/messages/{locale}/{namespace}.json` 文件作为真实源,并在两个方向上从它们生成 Intlayer 字典。[sync PO 插件](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/plugins/sync-po.md)对 gettext 目录执行相同操作,[按语言区域的文件](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/per_locale_file.md)允许您按语言拆分内容,而不是在一个文件中分组 locales。
736
+
737
+ </Question>
738
+
739
+ <Question title="我如何使用 AI 自动翻译应用?">
740
+
741
+ 运行 `npx intlayer fill`,它使用您选择的 LLM 通过您自己的提供商和 API 密钥填充缺失的翻译。添加 `--git-diff` 以仅翻译分支上更改的内容。请参阅 [fill 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/fill.md) 和 [CI/CD 集成](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/CI_CD.md)。
742
+
743
+ </Question>
744
+
745
+ <Question title="Intlayer 是否支持性别、条件和插值值?">
746
+
747
+ 是的:[基于性别的内容](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/gender.md)、条件、[枚举](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/enumeration.md)、[插入](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/insertion.md)用于插值,以及[格式化器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/formatters.md)用于数字、日期和货币。
748
+
749
+ </Question>
750
+
751
+ <Question title="有哪些编辑器和 AI 代理工具可用?">
752
+
753
+ 五个部分,均为可选:
754
+
755
+ - **[VS Code extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/vs_code_extension.md)**: 从一个key跳转到声明它的内容文件,从文件中提取内容,以及从命令面板运行build、fill、test、push和pull。
756
+ - **[LSP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/lsp.md)**: 在任何支持LSP的编辑器中提供相同的感知能力,具有定义跳转、翻译值的悬停预览、key的自动完成,以及在key未在任何地方声明时显示警告。
757
+ - **[MCP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/mcp_server.md)**: 将Intlayer文档和CLI暴露给Cursor、VS Code、Claude Desktop、Claude Code和ChatGPT。
758
+ - **[Agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/agent_skills.md)**: 专注的技能,如 `intlayer-config`、`intlayer-cli` 和 `intlayer-content`。
759
+ - **[ESLint plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/eslint.md)**: `no-raw-text` 标记硬编码字符串。
760
+
761
+ </Question>
762
+
763
+ <Question title="Intlayer 是免费和开源的吗?">
764
+
765
+ 是的,根据 Apache 2.0 许可证,包括商业用途。托管的 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_CMS.md) 是一项可选的付费服务,也可以 [自托管](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/self_hosting.md)。
766
+
767
+ </Question>
768
+
769
+ </FAQ>