@intlayer/docs 9.4.0 → 9.4.2

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 (1198) hide show
  1. package/README.md +1 -1
  2. package/blog/ar/hreflang_guide_multilingual_seo.md +317 -0
  3. package/blog/ar/intlayer_with_i18next.md +0 -2
  4. package/blog/ar/intlayer_with_next-i18next.md +0 -4
  5. package/blog/ar/intlayer_with_vue-i18n.md +0 -4
  6. package/blog/de/hreflang_guide_multilingual_seo.md +314 -0
  7. package/blog/de/intlayer_with_vue-i18n.md +0 -4
  8. package/blog/en/hreflang_guide_multilingual_seo.md +314 -0
  9. package/blog/en/intlayer_with_i18next.md +0 -2
  10. package/blog/en/intlayer_with_next-i18next.md +0 -2
  11. package/blog/en/intlayer_with_next-intl.md +0 -2
  12. package/blog/en/intlayer_with_react-intl.md +0 -2
  13. package/blog/en/intlayer_with_vue-i18n.md +0 -2
  14. package/blog/en-GB/hreflang_guide_multilingual_seo.md +314 -0
  15. package/blog/es/hreflang_guide_multilingual_seo.md +314 -0
  16. package/blog/fr/hreflang_guide_multilingual_seo.md +315 -0
  17. package/blog/hi/hreflang_guide_multilingual_seo.md +323 -0
  18. package/blog/hi/intlayer_with_i18next.md +0 -2
  19. package/blog/hi/intlayer_with_next-i18next.md +0 -4
  20. package/blog/hi/intlayer_with_vue-i18n.md +0 -4
  21. package/blog/id/hreflang_guide_multilingual_seo.md +314 -0
  22. package/blog/id/intlayer_with_i18next.md +0 -2
  23. package/blog/id/intlayer_with_next-i18next.md +0 -4
  24. package/blog/id/intlayer_with_vue-i18n.md +0 -4
  25. package/blog/it/hreflang_guide_multilingual_seo.md +315 -0
  26. package/blog/it/intlayer_with_i18next.md +0 -2
  27. package/blog/it/intlayer_with_next-i18next.md +0 -4
  28. package/blog/it/intlayer_with_vue-i18n.md +0 -4
  29. package/blog/ja/hreflang_guide_multilingual_seo.md +320 -0
  30. package/blog/ko/hreflang_guide_multilingual_seo.md +314 -0
  31. package/blog/ko/intlayer_with_i18next.md +0 -2
  32. package/blog/ko/intlayer_with_next-i18next.md +0 -4
  33. package/blog/ko/intlayer_with_vue-i18n.md +0 -4
  34. package/blog/pl/hreflang_guide_multilingual_seo.md +316 -0
  35. package/blog/pt/hreflang_guide_multilingual_seo.md +314 -0
  36. package/blog/pt/intlayer_with_i18next.md +0 -2
  37. package/blog/pt/intlayer_with_next-i18next.md +0 -4
  38. package/blog/pt/intlayer_with_vue-i18n.md +0 -4
  39. package/blog/ru/hreflang_guide_multilingual_seo.md +314 -0
  40. package/blog/tr/hreflang_guide_multilingual_seo.md +314 -0
  41. package/blog/tr/intlayer_with_i18next.md +0 -2
  42. package/blog/tr/intlayer_with_next-i18next.md +0 -4
  43. package/blog/tr/intlayer_with_vue-i18n.md +0 -4
  44. package/blog/uk/hreflang_guide_multilingual_seo.md +314 -0
  45. package/blog/uk/intlayer_with_i18next.md +0 -2
  46. package/blog/uk/intlayer_with_next-i18next.md +0 -2
  47. package/blog/uk/intlayer_with_next-intl.md +0 -2
  48. package/blog/uk/intlayer_with_react-intl.md +0 -2
  49. package/blog/uk/intlayer_with_vue-i18n.md +0 -2
  50. package/blog/vi/hreflang_guide_multilingual_seo.md +314 -0
  51. package/blog/vi/intlayer_with_i18next.md +0 -2
  52. package/blog/vi/intlayer_with_next-i18next.md +0 -4
  53. package/blog/vi/intlayer_with_vue-i18n.md +0 -4
  54. package/blog/zh/hreflang_guide_multilingual_seo.md +314 -0
  55. package/blog/zh/intlayer_with_i18next.md +0 -2
  56. package/blog/zh/intlayer_with_next-i18next.md +0 -2
  57. package/blog/zh/intlayer_with_next-intl.md +0 -2
  58. package/blog/zh/intlayer_with_react-intl.md +0 -2
  59. package/blog/zh/intlayer_with_vue-i18n.md +0 -2
  60. package/dist/cjs/common.cjs +29 -6
  61. package/dist/cjs/common.cjs.map +1 -1
  62. package/dist/cjs/generated/blog.entry.cjs +20 -0
  63. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  64. package/dist/cjs/generated/docs.entry.cjs +20 -0
  65. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  66. package/dist/esm/common.mjs +29 -6
  67. package/dist/esm/common.mjs.map +1 -1
  68. package/dist/esm/generated/blog.entry.mjs +20 -0
  69. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  70. package/dist/esm/generated/docs.entry.mjs +20 -0
  71. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  72. package/dist/types/common.d.ts.map +1 -1
  73. package/dist/types/generated/blog.entry.d.ts +1 -0
  74. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  75. package/dist/types/generated/docs.entry.d.ts +1 -0
  76. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  77. package/docs/ar/analytics.md +458 -12
  78. package/docs/ar/configuration.md +98 -0
  79. package/docs/ar/dictionary/content_file.md +4 -4
  80. package/docs/ar/dictionary/html.md +117 -1
  81. package/docs/ar/dictionary/markdown.md +18 -1
  82. package/docs/ar/dictionary/plurial.md +5 -2
  83. package/docs/ar/how_works_intlayer.md +92 -0
  84. package/docs/ar/interest_of_intlayer.md +106 -9
  85. package/docs/ar/intlayer_CMS.md +92 -0
  86. package/docs/ar/intlayer_visual_editor.md +87 -1
  87. package/docs/ar/intlayer_with_adonisjs.md +121 -0
  88. package/docs/ar/intlayer_with_analog.md +116 -8
  89. package/docs/ar/intlayer_with_angular_19.md +115 -8
  90. package/docs/ar/intlayer_with_angular_21.md +109 -8
  91. package/docs/ar/intlayer_with_astro.md +117 -20
  92. package/docs/ar/intlayer_with_astro_lit.md +118 -10
  93. package/docs/ar/intlayer_with_astro_preact.md +118 -10
  94. package/docs/ar/intlayer_with_astro_react.md +118 -10
  95. package/docs/ar/intlayer_with_astro_solid.md +118 -10
  96. package/docs/ar/intlayer_with_astro_svelte.md +118 -10
  97. package/docs/ar/intlayer_with_astro_vanilla.md +112 -10
  98. package/docs/ar/intlayer_with_astro_vue.md +118 -10
  99. package/docs/ar/intlayer_with_create_react_app.md +105 -0
  100. package/docs/ar/intlayer_with_elysia.md +121 -0
  101. package/docs/ar/intlayer_with_express.md +114 -0
  102. package/docs/ar/intlayer_with_fastify.md +115 -0
  103. package/docs/ar/intlayer_with_hono.md +114 -0
  104. package/docs/ar/intlayer_with_htmx.md +771 -0
  105. package/docs/ar/intlayer_with_lynx+react.md +7 -14
  106. package/docs/ar/intlayer_with_nestjs.md +115 -0
  107. package/docs/ar/intlayer_with_nextjs_14.md +144 -120
  108. package/docs/ar/intlayer_with_nextjs_15.md +126 -51
  109. package/docs/ar/intlayer_with_nextjs_16.md +127 -49
  110. package/docs/ar/intlayer_with_nextjs_compiler.md +122 -13
  111. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +121 -9
  112. package/docs/ar/intlayer_with_nextjs_page_router.md +139 -107
  113. package/docs/ar/intlayer_with_nuxt.md +110 -8
  114. package/docs/ar/intlayer_with_react_native+expo.md +102 -7
  115. package/docs/ar/intlayer_with_react_router_v7.md +119 -10
  116. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +122 -22
  117. package/docs/ar/intlayer_with_solid_start.md +115 -1
  118. package/docs/ar/intlayer_with_storybook.md +7 -20
  119. package/docs/ar/intlayer_with_svelte_kit.md +107 -17
  120. package/docs/ar/intlayer_with_tanstack+solid.md +124 -22
  121. package/docs/ar/intlayer_with_tanstack.md +134 -43
  122. package/docs/ar/intlayer_with_vanilla.md +117 -9
  123. package/docs/ar/intlayer_with_vite+lit.md +118 -8
  124. package/docs/ar/intlayer_with_vite+preact.md +148 -40
  125. package/docs/ar/intlayer_with_vite+react.md +108 -20
  126. package/docs/ar/intlayer_with_vite+react_compiler.md +106 -1
  127. package/docs/ar/intlayer_with_vite+solid.md +114 -5
  128. package/docs/ar/intlayer_with_vite+svelte.md +118 -8
  129. package/docs/ar/intlayer_with_vite+vanilla.md +125 -8
  130. package/docs/ar/intlayer_with_vite+vue.md +105 -9
  131. package/docs/ar/introduction.md +104 -1
  132. package/docs/ar/migration_from_i18next_to_intlayer.md +0 -2
  133. package/docs/ar/migration_from_next-i18next_to_intlayer.md +0 -2
  134. package/docs/ar/migration_from_next-intl_to_intlayer.md +0 -2
  135. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  136. package/docs/ar/migration_from_react-i18next_to_intlayer.md +0 -2
  137. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +0 -2
  138. package/docs/ar/packages/vite-intlayer/intlayerMinify.md +1 -1
  139. package/docs/bn/introduction.md +0 -1
  140. package/docs/cs/interest_of_intlayer.md +0 -1
  141. package/docs/cs/intlayer_with_storybook.md +0 -12
  142. package/docs/cs/intlayer_with_vanilla.md +2 -1
  143. package/docs/cs/introduction.md +0 -1
  144. package/docs/de/analytics.md +458 -12
  145. package/docs/de/configuration.md +99 -1
  146. package/docs/de/dictionary/content_file.md +4 -4
  147. package/docs/de/dictionary/markdown.md +3 -0
  148. package/docs/de/dictionary/plurial.md +6 -3
  149. package/docs/de/how_works_intlayer.md +93 -1
  150. package/docs/de/interest_of_intlayer.md +97 -2
  151. package/docs/de/intlayer_CMS.md +93 -1
  152. package/docs/de/intlayer_visual_editor.md +88 -2
  153. package/docs/de/intlayer_with_adonisjs.md +121 -1
  154. package/docs/de/intlayer_with_analog.md +111 -2
  155. package/docs/de/intlayer_with_angular_19.md +109 -2
  156. package/docs/de/intlayer_with_angular_21.md +103 -2
  157. package/docs/de/intlayer_with_astro.md +111 -14
  158. package/docs/de/intlayer_with_astro_lit.md +112 -4
  159. package/docs/de/intlayer_with_astro_preact.md +112 -4
  160. package/docs/de/intlayer_with_astro_react.md +112 -4
  161. package/docs/de/intlayer_with_astro_solid.md +112 -4
  162. package/docs/de/intlayer_with_astro_svelte.md +112 -4
  163. package/docs/de/intlayer_with_astro_vanilla.md +106 -4
  164. package/docs/de/intlayer_with_astro_vue.md +112 -4
  165. package/docs/de/intlayer_with_create_react_app.md +107 -2
  166. package/docs/de/intlayer_with_elysia.md +121 -1
  167. package/docs/de/intlayer_with_express.md +115 -1
  168. package/docs/de/intlayer_with_fastify.md +115 -1
  169. package/docs/de/intlayer_with_hono.md +115 -1
  170. package/docs/de/intlayer_with_htmx.md +770 -0
  171. package/docs/de/intlayer_with_lynx+react.md +0 -7
  172. package/docs/de/intlayer_with_nestjs.md +115 -1
  173. package/docs/de/intlayer_with_nextjs_14.md +138 -110
  174. package/docs/de/intlayer_with_nextjs_15.md +120 -45
  175. package/docs/de/intlayer_with_nextjs_16.md +147 -51
  176. package/docs/de/intlayer_with_nextjs_compiler.md +113 -3
  177. package/docs/de/intlayer_with_nextjs_no_locale_path.md +115 -3
  178. package/docs/de/intlayer_with_nextjs_page_router.md +121 -95
  179. package/docs/de/intlayer_with_nuxt.md +104 -2
  180. package/docs/de/intlayer_with_react_native+expo.md +103 -8
  181. package/docs/de/intlayer_with_react_router_v7.md +113 -4
  182. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +111 -4
  183. package/docs/de/intlayer_with_solid_start.md +117 -2
  184. package/docs/de/intlayer_with_storybook.md +0 -13
  185. package/docs/de/intlayer_with_svelte_kit.md +99 -2
  186. package/docs/de/intlayer_with_tanstack+solid.md +119 -16
  187. package/docs/de/intlayer_with_tanstack.md +231 -152
  188. package/docs/de/intlayer_with_vanilla.md +111 -3
  189. package/docs/de/intlayer_with_vite+lit.md +113 -2
  190. package/docs/de/intlayer_with_vite+preact.md +170 -33
  191. package/docs/de/intlayer_with_vite+react.md +102 -6
  192. package/docs/de/intlayer_with_vite+react_compiler.md +107 -2
  193. package/docs/de/intlayer_with_vite+solid.md +113 -2
  194. package/docs/de/intlayer_with_vite+svelte.md +113 -2
  195. package/docs/de/intlayer_with_vite+vanilla.md +119 -2
  196. package/docs/de/intlayer_with_vite+vue.md +98 -2
  197. package/docs/de/introduction.md +105 -2
  198. package/docs/de/migration_from_i18next_to_intlayer.md +0 -2
  199. package/docs/de/migration_from_next-i18next_to_intlayer.md +0 -2
  200. package/docs/de/migration_from_next-intl_to_intlayer.md +0 -2
  201. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  202. package/docs/de/migration_from_react-i18next_to_intlayer.md +0 -2
  203. package/docs/de/migration_from_vue-i18n_to_intlayer.md +0 -2
  204. package/docs/de/packages/vite-intlayer/intlayerMinify.md +1 -1
  205. package/docs/en/configuration.md +99 -1
  206. package/docs/en/dictionary/content_file.md +4 -4
  207. package/docs/en/how_works_intlayer.md +93 -1
  208. package/docs/en/interest_of_intlayer.md +97 -2
  209. package/docs/en/intlayer_CMS.md +93 -1
  210. package/docs/en/intlayer_visual_editor.md +88 -2
  211. package/docs/en/intlayer_with_adonisjs.md +121 -1
  212. package/docs/en/intlayer_with_analog.md +111 -2
  213. package/docs/en/intlayer_with_angular_19.md +109 -2
  214. package/docs/en/intlayer_with_angular_21.md +103 -2
  215. package/docs/en/intlayer_with_astro.md +107 -4
  216. package/docs/en/intlayer_with_astro_lit.md +112 -4
  217. package/docs/en/intlayer_with_astro_preact.md +112 -4
  218. package/docs/en/intlayer_with_astro_react.md +112 -4
  219. package/docs/en/intlayer_with_astro_solid.md +112 -4
  220. package/docs/en/intlayer_with_astro_svelte.md +112 -4
  221. package/docs/en/intlayer_with_astro_vanilla.md +106 -4
  222. package/docs/en/intlayer_with_astro_vue.md +112 -4
  223. package/docs/en/intlayer_with_create_react_app.md +105 -2
  224. package/docs/en/intlayer_with_elysia.md +121 -1
  225. package/docs/en/intlayer_with_express.md +115 -1
  226. package/docs/en/intlayer_with_fastify.md +115 -1
  227. package/docs/en/intlayer_with_hono.md +115 -1
  228. package/docs/en/intlayer_with_htmx.md +754 -0
  229. package/docs/en/intlayer_with_lynx+react.md +0 -7
  230. package/docs/en/intlayer_with_nestjs.md +115 -1
  231. package/docs/en/intlayer_with_nextjs_14.md +120 -43
  232. package/docs/en/intlayer_with_nextjs_15.md +120 -44
  233. package/docs/en/intlayer_with_nextjs_16.md +121 -43
  234. package/docs/en/intlayer_with_nextjs_compiler.md +111 -2
  235. package/docs/en/intlayer_with_nextjs_no_locale_path.md +115 -3
  236. package/docs/en/intlayer_with_nextjs_page_router.md +110 -95
  237. package/docs/en/intlayer_with_nuxt.md +104 -2
  238. package/docs/en/intlayer_with_react_native+expo.md +103 -8
  239. package/docs/en/intlayer_with_react_router_v7.md +113 -4
  240. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +112 -5
  241. package/docs/en/intlayer_with_solid_start.md +117 -2
  242. package/docs/en/intlayer_with_storybook.md +0 -13
  243. package/docs/en/intlayer_with_svelte_kit.md +99 -2
  244. package/docs/en/intlayer_with_tanstack+solid.md +120 -16
  245. package/docs/en/intlayer_with_tanstack.md +114 -16
  246. package/docs/en/intlayer_with_vanilla.md +111 -3
  247. package/docs/en/intlayer_with_vite+lit.md +113 -2
  248. package/docs/en/intlayer_with_vite+preact.md +143 -34
  249. package/docs/en/intlayer_with_vite+react.md +101 -4
  250. package/docs/en/intlayer_with_vite+react_compiler.md +107 -2
  251. package/docs/en/intlayer_with_vite+solid.md +113 -2
  252. package/docs/en/intlayer_with_vite+svelte.md +113 -2
  253. package/docs/en/intlayer_with_vite+vanilla.md +119 -2
  254. package/docs/en/intlayer_with_vite+vue.md +98 -2
  255. package/docs/en/introduction.md +105 -2
  256. package/docs/en/migration_from_i18next_to_intlayer.md +0 -2
  257. package/docs/en/migration_from_next-i18next_to_intlayer.md +0 -2
  258. package/docs/en/migration_from_next-intl_to_intlayer.md +0 -2
  259. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  260. package/docs/en/migration_from_react-i18next_to_intlayer.md +0 -2
  261. package/docs/en/migration_from_vue-i18n_to_intlayer.md +0 -2
  262. package/docs/en/packages/vite-intlayer/intlayerMinify.md +1 -1
  263. package/docs/en-GB/analytics.md +527 -58
  264. package/docs/en-GB/configuration.md +99 -1
  265. package/docs/en-GB/dictionary/content_file.md +4 -4
  266. package/docs/en-GB/dictionary/html.md +117 -1
  267. package/docs/en-GB/dictionary/markdown.md +18 -1
  268. package/docs/en-GB/dictionary/plurial.md +5 -2
  269. package/docs/en-GB/dictionary/translation.md +1 -1
  270. package/docs/en-GB/how_works_intlayer.md +93 -1
  271. package/docs/en-GB/interest_of_intlayer.md +97 -2
  272. package/docs/en-GB/intlayer_CMS.md +93 -1
  273. package/docs/en-GB/intlayer_visual_editor.md +88 -2
  274. package/docs/en-GB/intlayer_with_adonisjs.md +121 -1
  275. package/docs/en-GB/intlayer_with_analog.md +111 -2
  276. package/docs/en-GB/intlayer_with_angular_19.md +109 -2
  277. package/docs/en-GB/intlayer_with_angular_21.md +103 -2
  278. package/docs/en-GB/intlayer_with_astro.md +111 -14
  279. package/docs/en-GB/intlayer_with_astro_lit.md +112 -4
  280. package/docs/en-GB/intlayer_with_astro_preact.md +112 -4
  281. package/docs/en-GB/intlayer_with_astro_react.md +112 -4
  282. package/docs/en-GB/intlayer_with_astro_solid.md +112 -4
  283. package/docs/en-GB/intlayer_with_astro_svelte.md +112 -4
  284. package/docs/en-GB/intlayer_with_astro_vanilla.md +106 -4
  285. package/docs/en-GB/intlayer_with_astro_vue.md +112 -4
  286. package/docs/en-GB/intlayer_with_create_react_app.md +105 -2
  287. package/docs/en-GB/intlayer_with_elysia.md +121 -1
  288. package/docs/en-GB/intlayer_with_express.md +115 -1
  289. package/docs/en-GB/intlayer_with_fastify.md +115 -1
  290. package/docs/en-GB/intlayer_with_hono.md +115 -1
  291. package/docs/en-GB/intlayer_with_htmx.md +757 -0
  292. package/docs/en-GB/intlayer_with_lynx+react.md +0 -7
  293. package/docs/en-GB/intlayer_with_nestjs.md +115 -1
  294. package/docs/en-GB/intlayer_with_nextjs_14.md +120 -44
  295. package/docs/en-GB/intlayer_with_nextjs_15.md +123 -45
  296. package/docs/en-GB/intlayer_with_nextjs_16.md +121 -44
  297. package/docs/en-GB/intlayer_with_nextjs_compiler.md +121 -12
  298. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +115 -3
  299. package/docs/en-GB/intlayer_with_nextjs_page_router.md +122 -137
  300. package/docs/en-GB/intlayer_with_nuxt.md +104 -2
  301. package/docs/en-GB/intlayer_with_react_native+expo.md +103 -8
  302. package/docs/en-GB/intlayer_with_react_router_v7.md +113 -4
  303. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +111 -4
  304. package/docs/en-GB/intlayer_with_solid_start.md +117 -2
  305. package/docs/en-GB/intlayer_with_storybook.md +0 -13
  306. package/docs/en-GB/intlayer_with_svelte_kit.md +99 -2
  307. package/docs/en-GB/intlayer_with_tanstack+solid.md +120 -16
  308. package/docs/en-GB/intlayer_with_tanstack.md +255 -167
  309. package/docs/en-GB/intlayer_with_vanilla.md +111 -3
  310. package/docs/en-GB/intlayer_with_vite+lit.md +113 -2
  311. package/docs/en-GB/intlayer_with_vite+preact.md +179 -32
  312. package/docs/en-GB/intlayer_with_vite+react.md +101 -13
  313. package/docs/en-GB/intlayer_with_vite+react_compiler.md +107 -2
  314. package/docs/en-GB/intlayer_with_vite+solid.md +118 -2
  315. package/docs/en-GB/intlayer_with_vite+svelte.md +113 -11
  316. package/docs/en-GB/intlayer_with_vite+vanilla.md +119 -2
  317. package/docs/en-GB/intlayer_with_vite+vue.md +102 -8
  318. package/docs/en-GB/introduction.md +105 -2
  319. package/docs/en-GB/migration_from_i18next_to_intlayer.md +0 -2
  320. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +0 -2
  321. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +0 -2
  322. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  323. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +0 -2
  324. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +0 -2
  325. package/docs/en-GB/packages/vite-intlayer/intlayerMinify.md +1 -1
  326. package/docs/es/analytics.md +458 -12
  327. package/docs/es/configuration.md +99 -1
  328. package/docs/es/dictionary/content_file.md +4 -4
  329. package/docs/es/dictionary/markdown.md +18 -1
  330. package/docs/es/dictionary/plurial.md +5 -2
  331. package/docs/es/how_works_intlayer.md +93 -1
  332. package/docs/es/interest_of_intlayer.md +97 -2
  333. package/docs/es/intlayer_CMS.md +93 -1
  334. package/docs/es/intlayer_visual_editor.md +88 -2
  335. package/docs/es/intlayer_with_adonisjs.md +121 -1
  336. package/docs/es/intlayer_with_analog.md +111 -2
  337. package/docs/es/intlayer_with_angular_19.md +109 -2
  338. package/docs/es/intlayer_with_angular_21.md +103 -2
  339. package/docs/es/intlayer_with_astro.md +111 -14
  340. package/docs/es/intlayer_with_astro_lit.md +112 -4
  341. package/docs/es/intlayer_with_astro_preact.md +112 -4
  342. package/docs/es/intlayer_with_astro_react.md +112 -4
  343. package/docs/es/intlayer_with_astro_solid.md +112 -4
  344. package/docs/es/intlayer_with_astro_svelte.md +112 -4
  345. package/docs/es/intlayer_with_astro_vanilla.md +106 -4
  346. package/docs/es/intlayer_with_astro_vue.md +112 -4
  347. package/docs/es/intlayer_with_create_react_app.md +107 -2
  348. package/docs/es/intlayer_with_elysia.md +121 -1
  349. package/docs/es/intlayer_with_express.md +115 -1
  350. package/docs/es/intlayer_with_fastify.md +115 -1
  351. package/docs/es/intlayer_with_hono.md +115 -1
  352. package/docs/es/intlayer_with_htmx.md +763 -0
  353. package/docs/es/intlayer_with_lynx+react.md +0 -7
  354. package/docs/es/intlayer_with_nestjs.md +115 -1
  355. package/docs/es/intlayer_with_nextjs_14.md +120 -44
  356. package/docs/es/intlayer_with_nextjs_15.md +123 -45
  357. package/docs/es/intlayer_with_nextjs_16.md +142 -52
  358. package/docs/es/intlayer_with_nextjs_compiler.md +122 -12
  359. package/docs/es/intlayer_with_nextjs_no_locale_path.md +115 -3
  360. package/docs/es/intlayer_with_nextjs_page_router.md +110 -95
  361. package/docs/es/intlayer_with_nuxt.md +104 -2
  362. package/docs/es/intlayer_with_react_native+expo.md +103 -8
  363. package/docs/es/intlayer_with_react_router_v7.md +113 -4
  364. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +111 -4
  365. package/docs/es/intlayer_with_solid_start.md +117 -2
  366. package/docs/es/intlayer_with_storybook.md +0 -13
  367. package/docs/es/intlayer_with_svelte_kit.md +99 -2
  368. package/docs/es/intlayer_with_tanstack+solid.md +119 -16
  369. package/docs/es/intlayer_with_tanstack.md +252 -147
  370. package/docs/es/intlayer_with_vanilla.md +111 -3
  371. package/docs/es/intlayer_with_vite+lit.md +113 -2
  372. package/docs/es/intlayer_with_vite+preact.md +143 -34
  373. package/docs/es/intlayer_with_vite+react.md +101 -4
  374. package/docs/es/intlayer_with_vite+react_compiler.md +107 -2
  375. package/docs/es/intlayer_with_vite+solid.md +114 -2
  376. package/docs/es/intlayer_with_vite+svelte.md +113 -2
  377. package/docs/es/intlayer_with_vite+vanilla.md +119 -2
  378. package/docs/es/intlayer_with_vite+vue.md +99 -3
  379. package/docs/es/introduction.md +105 -2
  380. package/docs/es/migration_from_i18next_to_intlayer.md +0 -2
  381. package/docs/es/migration_from_next-i18next_to_intlayer.md +0 -2
  382. package/docs/es/migration_from_next-intl_to_intlayer.md +0 -2
  383. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  384. package/docs/es/migration_from_react-i18next_to_intlayer.md +0 -2
  385. package/docs/es/migration_from_vue-i18n_to_intlayer.md +0 -2
  386. package/docs/es/packages/vite-intlayer/intlayerMinify.md +1 -1
  387. package/docs/fr/analytics.md +437 -13
  388. package/docs/fr/configuration.md +99 -1
  389. package/docs/fr/dictionary/content_file.md +4 -4
  390. package/docs/fr/dictionary/markdown.md +18 -1
  391. package/docs/fr/dictionary/plurial.md +5 -2
  392. package/docs/fr/how_works_intlayer.md +93 -1
  393. package/docs/fr/interest_of_intlayer.md +97 -2
  394. package/docs/fr/intlayer_CMS.md +93 -1
  395. package/docs/fr/intlayer_visual_editor.md +88 -2
  396. package/docs/fr/intlayer_with_adonisjs.md +121 -1
  397. package/docs/fr/intlayer_with_analog.md +111 -2
  398. package/docs/fr/intlayer_with_angular_19.md +109 -2
  399. package/docs/fr/intlayer_with_angular_21.md +103 -2
  400. package/docs/fr/intlayer_with_astro.md +111 -14
  401. package/docs/fr/intlayer_with_astro_lit.md +112 -4
  402. package/docs/fr/intlayer_with_astro_preact.md +112 -4
  403. package/docs/fr/intlayer_with_astro_react.md +112 -4
  404. package/docs/fr/intlayer_with_astro_solid.md +112 -4
  405. package/docs/fr/intlayer_with_astro_svelte.md +112 -4
  406. package/docs/fr/intlayer_with_astro_vanilla.md +106 -4
  407. package/docs/fr/intlayer_with_astro_vue.md +112 -4
  408. package/docs/fr/intlayer_with_create_react_app.md +107 -2
  409. package/docs/fr/intlayer_with_elysia.md +121 -1
  410. package/docs/fr/intlayer_with_express.md +115 -1
  411. package/docs/fr/intlayer_with_fastify.md +115 -1
  412. package/docs/fr/intlayer_with_hono.md +115 -1
  413. package/docs/fr/intlayer_with_htmx.md +756 -0
  414. package/docs/fr/intlayer_with_lynx+react.md +0 -7
  415. package/docs/fr/intlayer_with_nestjs.md +115 -1
  416. package/docs/fr/intlayer_with_nextjs_14.md +138 -110
  417. package/docs/fr/intlayer_with_nextjs_15.md +124 -46
  418. package/docs/fr/intlayer_with_nextjs_16.md +121 -43
  419. package/docs/fr/intlayer_with_nextjs_compiler.md +122 -12
  420. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +115 -3
  421. package/docs/fr/intlayer_with_nextjs_page_router.md +110 -95
  422. package/docs/fr/intlayer_with_nuxt.md +104 -2
  423. package/docs/fr/intlayer_with_react_native+expo.md +103 -8
  424. package/docs/fr/intlayer_with_react_router_v7.md +117 -10
  425. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +111 -4
  426. package/docs/fr/intlayer_with_solid_start.md +117 -2
  427. package/docs/fr/intlayer_with_storybook.md +0 -13
  428. package/docs/fr/intlayer_with_svelte_kit.md +99 -2
  429. package/docs/fr/intlayer_with_tanstack+solid.md +119 -16
  430. package/docs/fr/intlayer_with_tanstack.md +235 -128
  431. package/docs/fr/intlayer_with_vanilla.md +111 -3
  432. package/docs/fr/intlayer_with_vite+lit.md +113 -2
  433. package/docs/fr/intlayer_with_vite+preact.md +143 -34
  434. package/docs/fr/intlayer_with_vite+react.md +101 -4
  435. package/docs/fr/intlayer_with_vite+react_compiler.md +107 -2
  436. package/docs/fr/intlayer_with_vite+solid.md +114 -2
  437. package/docs/fr/intlayer_with_vite+svelte.md +113 -2
  438. package/docs/fr/intlayer_with_vite+vanilla.md +119 -2
  439. package/docs/fr/intlayer_with_vite+vue.md +99 -3
  440. package/docs/fr/introduction.md +105 -2
  441. package/docs/fr/migration_from_i18next_to_intlayer.md +0 -2
  442. package/docs/fr/migration_from_next-i18next_to_intlayer.md +0 -2
  443. package/docs/fr/migration_from_next-intl_to_intlayer.md +0 -2
  444. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  445. package/docs/fr/migration_from_react-i18next_to_intlayer.md +0 -2
  446. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +0 -2
  447. package/docs/fr/packages/vite-intlayer/intlayerMinify.md +1 -1
  448. package/docs/hi/analytics.md +488 -21
  449. package/docs/hi/configuration.md +98 -0
  450. package/docs/hi/dictionary/content_file.md +4 -4
  451. package/docs/hi/dictionary/html.md +100 -3
  452. package/docs/hi/dictionary/markdown.md +3 -0
  453. package/docs/hi/dictionary/plurial.md +6 -3
  454. package/docs/hi/how_works_intlayer.md +92 -0
  455. package/docs/hi/interest_of_intlayer.md +106 -9
  456. package/docs/hi/intlayer_CMS.md +92 -0
  457. package/docs/hi/intlayer_visual_editor.md +87 -1
  458. package/docs/hi/intlayer_with_adonisjs.md +121 -0
  459. package/docs/hi/intlayer_with_analog.md +116 -8
  460. package/docs/hi/intlayer_with_angular_19.md +115 -8
  461. package/docs/hi/intlayer_with_angular_21.md +109 -8
  462. package/docs/hi/intlayer_with_astro.md +117 -20
  463. package/docs/hi/intlayer_with_astro_lit.md +118 -10
  464. package/docs/hi/intlayer_with_astro_preact.md +118 -10
  465. package/docs/hi/intlayer_with_astro_react.md +118 -10
  466. package/docs/hi/intlayer_with_astro_solid.md +118 -10
  467. package/docs/hi/intlayer_with_astro_svelte.md +118 -10
  468. package/docs/hi/intlayer_with_astro_vanilla.md +112 -10
  469. package/docs/hi/intlayer_with_astro_vue.md +118 -10
  470. package/docs/hi/intlayer_with_create_react_app.md +106 -1
  471. package/docs/hi/intlayer_with_elysia.md +121 -0
  472. package/docs/hi/intlayer_with_express.md +114 -0
  473. package/docs/hi/intlayer_with_fastify.md +115 -0
  474. package/docs/hi/intlayer_with_hono.md +114 -0
  475. package/docs/hi/intlayer_with_htmx.md +771 -0
  476. package/docs/hi/intlayer_with_lynx+react.md +7 -14
  477. package/docs/hi/intlayer_with_nestjs.md +115 -0
  478. package/docs/hi/intlayer_with_nextjs_14.md +144 -120
  479. package/docs/hi/intlayer_with_nextjs_15.md +129 -51
  480. package/docs/hi/intlayer_with_nextjs_16.md +129 -50
  481. package/docs/hi/intlayer_with_nextjs_compiler.md +121 -12
  482. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +121 -9
  483. package/docs/hi/intlayer_with_nextjs_page_router.md +123 -96
  484. package/docs/hi/intlayer_with_nuxt.md +110 -8
  485. package/docs/hi/intlayer_with_react_native+expo.md +102 -7
  486. package/docs/hi/intlayer_with_react_router_v7.md +119 -10
  487. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +122 -22
  488. package/docs/hi/intlayer_with_solid_start.md +115 -1
  489. package/docs/hi/intlayer_with_storybook.md +7 -20
  490. package/docs/hi/intlayer_with_svelte_kit.md +105 -8
  491. package/docs/hi/intlayer_with_tanstack+solid.md +124 -22
  492. package/docs/hi/intlayer_with_tanstack.md +269 -155
  493. package/docs/hi/intlayer_with_vanilla.md +117 -9
  494. package/docs/hi/intlayer_with_vite+lit.md +118 -8
  495. package/docs/hi/intlayer_with_vite+preact.md +170 -41
  496. package/docs/hi/intlayer_with_vite+react.md +108 -20
  497. package/docs/hi/intlayer_with_vite+react_compiler.md +106 -1
  498. package/docs/hi/intlayer_with_vite+solid.md +118 -8
  499. package/docs/hi/intlayer_with_vite+svelte.md +120 -9
  500. package/docs/hi/intlayer_with_vite+vanilla.md +125 -8
  501. package/docs/hi/intlayer_with_vite+vue.md +104 -8
  502. package/docs/hi/introduction.md +104 -1
  503. package/docs/hi/migration_from_i18next_to_intlayer.md +0 -2
  504. package/docs/hi/migration_from_next-i18next_to_intlayer.md +0 -2
  505. package/docs/hi/migration_from_next-intl_to_intlayer.md +0 -2
  506. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  507. package/docs/hi/migration_from_react-i18next_to_intlayer.md +0 -2
  508. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +0 -2
  509. package/docs/hi/packages/vite-intlayer/intlayerMinify.md +1 -1
  510. package/docs/id/analytics.md +488 -21
  511. package/docs/id/configuration.md +98 -0
  512. package/docs/id/dictionary/content_file.md +4 -4
  513. package/docs/id/dictionary/markdown.md +3 -0
  514. package/docs/id/dictionary/plurial.md +5 -2
  515. package/docs/id/how_works_intlayer.md +92 -0
  516. package/docs/id/interest_of_intlayer.md +96 -1
  517. package/docs/id/intlayer_CMS.md +92 -0
  518. package/docs/id/intlayer_visual_editor.md +87 -1
  519. package/docs/id/intlayer_with_adonisjs.md +121 -0
  520. package/docs/id/intlayer_with_analog.md +109 -1
  521. package/docs/id/intlayer_with_angular_19.md +108 -1
  522. package/docs/id/intlayer_with_angular_21.md +102 -1
  523. package/docs/id/intlayer_with_astro.md +110 -13
  524. package/docs/id/intlayer_with_astro_lit.md +111 -3
  525. package/docs/id/intlayer_with_astro_preact.md +111 -3
  526. package/docs/id/intlayer_with_astro_react.md +111 -3
  527. package/docs/id/intlayer_with_astro_solid.md +111 -3
  528. package/docs/id/intlayer_with_astro_svelte.md +111 -3
  529. package/docs/id/intlayer_with_astro_vanilla.md +105 -3
  530. package/docs/id/intlayer_with_astro_vue.md +111 -3
  531. package/docs/id/intlayer_with_create_react_app.md +106 -1
  532. package/docs/id/intlayer_with_elysia.md +121 -0
  533. package/docs/id/intlayer_with_express.md +114 -0
  534. package/docs/id/intlayer_with_fastify.md +115 -0
  535. package/docs/id/intlayer_with_hono.md +114 -0
  536. package/docs/id/intlayer_with_htmx.md +761 -0
  537. package/docs/id/intlayer_with_lynx+react.md +0 -7
  538. package/docs/id/intlayer_with_nestjs.md +115 -0
  539. package/docs/id/intlayer_with_nextjs_14.md +132 -66
  540. package/docs/id/intlayer_with_nextjs_15.md +119 -43
  541. package/docs/id/intlayer_with_nextjs_16.md +122 -42
  542. package/docs/id/intlayer_with_nextjs_compiler.md +122 -14
  543. package/docs/id/intlayer_with_nextjs_no_locale_path.md +114 -2
  544. package/docs/id/intlayer_with_nextjs_page_router.md +111 -94
  545. package/docs/id/intlayer_with_nuxt.md +103 -1
  546. package/docs/id/intlayer_with_react_native+expo.md +102 -7
  547. package/docs/id/intlayer_with_react_router_v7.md +112 -3
  548. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +116 -16
  549. package/docs/id/intlayer_with_solid_start.md +115 -1
  550. package/docs/id/intlayer_with_storybook.md +0 -13
  551. package/docs/id/intlayer_with_svelte_kit.md +98 -1
  552. package/docs/id/intlayer_with_tanstack+solid.md +117 -15
  553. package/docs/id/intlayer_with_tanstack.md +229 -129
  554. package/docs/id/intlayer_with_vanilla.md +110 -2
  555. package/docs/id/intlayer_with_vite+lit.md +111 -1
  556. package/docs/id/intlayer_with_vite+preact.md +141 -33
  557. package/docs/id/intlayer_with_vite+react.md +101 -13
  558. package/docs/id/intlayer_with_vite+react_compiler.md +106 -1
  559. package/docs/id/intlayer_with_vite+solid.md +112 -1
  560. package/docs/id/intlayer_with_vite+svelte.md +111 -1
  561. package/docs/id/intlayer_with_vite+vanilla.md +118 -1
  562. package/docs/id/intlayer_with_vite+vue.md +97 -1
  563. package/docs/id/introduction.md +104 -1
  564. package/docs/id/migration_from_i18next_to_intlayer.md +0 -2
  565. package/docs/id/migration_from_next-i18next_to_intlayer.md +0 -2
  566. package/docs/id/migration_from_next-intl_to_intlayer.md +0 -2
  567. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  568. package/docs/id/migration_from_react-i18next_to_intlayer.md +0 -2
  569. package/docs/id/migration_from_vue-i18n_to_intlayer.md +0 -2
  570. package/docs/id/packages/vite-intlayer/intlayerMinify.md +1 -1
  571. package/docs/it/analytics.md +488 -21
  572. package/docs/it/configuration.md +99 -1
  573. package/docs/it/dictionary/content_file.md +4 -4
  574. package/docs/it/dictionary/markdown.md +18 -1
  575. package/docs/it/dictionary/plurial.md +5 -2
  576. package/docs/it/how_works_intlayer.md +93 -1
  577. package/docs/it/interest_of_intlayer.md +97 -2
  578. package/docs/it/intlayer_CMS.md +93 -1
  579. package/docs/it/intlayer_visual_editor.md +88 -2
  580. package/docs/it/intlayer_with_adonisjs.md +121 -1
  581. package/docs/it/intlayer_with_analog.md +111 -2
  582. package/docs/it/intlayer_with_angular_19.md +109 -2
  583. package/docs/it/intlayer_with_angular_21.md +103 -2
  584. package/docs/it/intlayer_with_astro.md +111 -14
  585. package/docs/it/intlayer_with_astro_lit.md +112 -4
  586. package/docs/it/intlayer_with_astro_preact.md +112 -4
  587. package/docs/it/intlayer_with_astro_react.md +112 -4
  588. package/docs/it/intlayer_with_astro_solid.md +112 -4
  589. package/docs/it/intlayer_with_astro_svelte.md +112 -4
  590. package/docs/it/intlayer_with_astro_vanilla.md +106 -4
  591. package/docs/it/intlayer_with_astro_vue.md +112 -4
  592. package/docs/it/intlayer_with_create_react_app.md +107 -2
  593. package/docs/it/intlayer_with_elysia.md +121 -1
  594. package/docs/it/intlayer_with_express.md +115 -1
  595. package/docs/it/intlayer_with_fastify.md +115 -1
  596. package/docs/it/intlayer_with_hono.md +115 -1
  597. package/docs/it/intlayer_with_htmx.md +761 -0
  598. package/docs/it/intlayer_with_lynx+react.md +0 -7
  599. package/docs/it/intlayer_with_nestjs.md +115 -1
  600. package/docs/it/intlayer_with_nextjs_14.md +138 -115
  601. package/docs/it/intlayer_with_nextjs_15.md +124 -47
  602. package/docs/it/intlayer_with_nextjs_16.md +123 -44
  603. package/docs/it/intlayer_with_nextjs_compiler.md +123 -14
  604. package/docs/it/intlayer_with_nextjs_no_locale_path.md +115 -3
  605. package/docs/it/intlayer_with_nextjs_page_router.md +119 -95
  606. package/docs/it/intlayer_with_nuxt.md +104 -2
  607. package/docs/it/intlayer_with_react_native+expo.md +103 -8
  608. package/docs/it/intlayer_with_react_router_v7.md +113 -4
  609. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +111 -4
  610. package/docs/it/intlayer_with_solid_start.md +117 -2
  611. package/docs/it/intlayer_with_storybook.md +0 -13
  612. package/docs/it/intlayer_with_svelte_kit.md +99 -2
  613. package/docs/it/intlayer_with_tanstack+solid.md +119 -16
  614. package/docs/it/intlayer_with_tanstack.md +232 -131
  615. package/docs/it/intlayer_with_vanilla.md +111 -3
  616. package/docs/it/intlayer_with_vite+lit.md +113 -2
  617. package/docs/it/intlayer_with_vite+preact.md +143 -34
  618. package/docs/it/intlayer_with_vite+react.md +102 -14
  619. package/docs/it/intlayer_with_vite+react_compiler.md +107 -2
  620. package/docs/it/intlayer_with_vite+solid.md +114 -2
  621. package/docs/it/intlayer_with_vite+svelte.md +113 -2
  622. package/docs/it/intlayer_with_vite+vanilla.md +119 -2
  623. package/docs/it/intlayer_with_vite+vue.md +99 -3
  624. package/docs/it/introduction.md +105 -2
  625. package/docs/it/migration_from_i18next_to_intlayer.md +0 -2
  626. package/docs/it/migration_from_next-i18next_to_intlayer.md +0 -2
  627. package/docs/it/migration_from_next-intl_to_intlayer.md +0 -2
  628. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  629. package/docs/it/migration_from_react-i18next_to_intlayer.md +0 -2
  630. package/docs/it/migration_from_vue-i18n_to_intlayer.md +0 -2
  631. package/docs/it/packages/vite-intlayer/intlayerMinify.md +1 -1
  632. package/docs/ja/analytics.md +458 -12
  633. package/docs/ja/configuration.md +99 -1
  634. package/docs/ja/dictionary/content_file.md +4 -4
  635. package/docs/ja/dictionary/plurial.md +5 -2
  636. package/docs/ja/how_works_intlayer.md +93 -1
  637. package/docs/ja/interest_of_intlayer.md +107 -10
  638. package/docs/ja/intlayer_CMS.md +93 -1
  639. package/docs/ja/intlayer_visual_editor.md +88 -2
  640. package/docs/ja/intlayer_with_adonisjs.md +121 -1
  641. package/docs/ja/intlayer_with_analog.md +119 -10
  642. package/docs/ja/intlayer_with_angular_19.md +117 -10
  643. package/docs/ja/intlayer_with_angular_21.md +111 -10
  644. package/docs/ja/intlayer_with_astro.md +119 -22
  645. package/docs/ja/intlayer_with_astro_lit.md +120 -12
  646. package/docs/ja/intlayer_with_astro_preact.md +120 -12
  647. package/docs/ja/intlayer_with_astro_react.md +120 -12
  648. package/docs/ja/intlayer_with_astro_solid.md +120 -12
  649. package/docs/ja/intlayer_with_astro_svelte.md +120 -12
  650. package/docs/ja/intlayer_with_astro_vanilla.md +114 -12
  651. package/docs/ja/intlayer_with_astro_vue.md +120 -12
  652. package/docs/ja/intlayer_with_create_react_app.md +107 -2
  653. package/docs/ja/intlayer_with_elysia.md +121 -1
  654. package/docs/ja/intlayer_with_express.md +121 -1
  655. package/docs/ja/intlayer_with_fastify.md +115 -1
  656. package/docs/ja/intlayer_with_hono.md +115 -1
  657. package/docs/ja/intlayer_with_htmx.md +769 -0
  658. package/docs/ja/intlayer_with_lynx+react.md +8 -15
  659. package/docs/ja/intlayer_with_nestjs.md +115 -1
  660. package/docs/ja/intlayer_with_nextjs_14.md +128 -51
  661. package/docs/ja/intlayer_with_nextjs_15.md +136 -59
  662. package/docs/ja/intlayer_with_nextjs_16.md +131 -52
  663. package/docs/ja/intlayer_with_nextjs_compiler.md +123 -15
  664. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +123 -11
  665. package/docs/ja/intlayer_with_nextjs_page_router.md +215 -110
  666. package/docs/ja/intlayer_with_nuxt.md +112 -10
  667. package/docs/ja/intlayer_with_react_native+expo.md +103 -8
  668. package/docs/ja/intlayer_with_react_router_v7.md +121 -11
  669. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +123 -23
  670. package/docs/ja/intlayer_with_solid_start.md +117 -2
  671. package/docs/ja/intlayer_with_storybook.md +8 -21
  672. package/docs/ja/intlayer_with_svelte_kit.md +107 -10
  673. package/docs/ja/intlayer_with_tanstack+solid.md +128 -24
  674. package/docs/ja/intlayer_with_tanstack.md +254 -203
  675. package/docs/ja/intlayer_with_vanilla.md +119 -11
  676. package/docs/ja/intlayer_with_vite+lit.md +121 -10
  677. package/docs/ja/intlayer_with_vite+preact.md +151 -23
  678. package/docs/ja/intlayer_with_vite+react.md +109 -12
  679. package/docs/ja/intlayer_with_vite+react_compiler.md +107 -2
  680. package/docs/ja/intlayer_with_vite+solid.md +121 -10
  681. package/docs/ja/intlayer_with_vite+svelte.md +121 -10
  682. package/docs/ja/intlayer_with_vite+vanilla.md +127 -10
  683. package/docs/ja/intlayer_with_vite+vue.md +107 -11
  684. package/docs/ja/introduction.md +105 -2
  685. package/docs/ja/migration_from_i18next_to_intlayer.md +0 -2
  686. package/docs/ja/migration_from_next-i18next_to_intlayer.md +0 -2
  687. package/docs/ja/migration_from_next-intl_to_intlayer.md +0 -2
  688. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  689. package/docs/ja/migration_from_react-i18next_to_intlayer.md +0 -2
  690. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +0 -2
  691. package/docs/ja/packages/vite-intlayer/intlayerMinify.md +1 -1
  692. package/docs/ko/analytics.md +457 -11
  693. package/docs/ko/configuration.md +99 -1
  694. package/docs/ko/dictionary/content_file.md +4 -4
  695. package/docs/ko/dictionary/markdown.md +18 -1
  696. package/docs/ko/dictionary/plurial.md +6 -3
  697. package/docs/ko/how_works_intlayer.md +93 -1
  698. package/docs/ko/interest_of_intlayer.md +98 -3
  699. package/docs/ko/intlayer_CMS.md +93 -1
  700. package/docs/ko/intlayer_visual_editor.md +88 -2
  701. package/docs/ko/intlayer_with_adonisjs.md +121 -1
  702. package/docs/ko/intlayer_with_analog.md +111 -2
  703. package/docs/ko/intlayer_with_angular_19.md +110 -3
  704. package/docs/ko/intlayer_with_angular_21.md +104 -3
  705. package/docs/ko/intlayer_with_astro.md +119 -19
  706. package/docs/ko/intlayer_with_astro_lit.md +112 -4
  707. package/docs/ko/intlayer_with_astro_preact.md +112 -4
  708. package/docs/ko/intlayer_with_astro_react.md +112 -4
  709. package/docs/ko/intlayer_with_astro_solid.md +112 -4
  710. package/docs/ko/intlayer_with_astro_svelte.md +112 -4
  711. package/docs/ko/intlayer_with_astro_vanilla.md +106 -4
  712. package/docs/ko/intlayer_with_astro_vue.md +112 -4
  713. package/docs/ko/intlayer_with_create_react_app.md +107 -5
  714. package/docs/ko/intlayer_with_elysia.md +121 -1
  715. package/docs/ko/intlayer_with_express.md +115 -1
  716. package/docs/ko/intlayer_with_fastify.md +115 -2
  717. package/docs/ko/intlayer_with_hono.md +115 -1
  718. package/docs/ko/intlayer_with_htmx.md +763 -0
  719. package/docs/ko/intlayer_with_lynx+react.md +0 -7
  720. package/docs/ko/intlayer_with_nestjs.md +115 -1
  721. package/docs/ko/intlayer_with_nextjs_14.md +118 -42
  722. package/docs/ko/intlayer_with_nextjs_15.md +118 -43
  723. package/docs/ko/intlayer_with_nextjs_16.md +121 -43
  724. package/docs/ko/intlayer_with_nextjs_compiler.md +110 -1
  725. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +117 -7
  726. package/docs/ko/intlayer_with_nextjs_page_router.md +110 -94
  727. package/docs/ko/intlayer_with_nuxt.md +104 -2
  728. package/docs/ko/intlayer_with_react_native+expo.md +103 -8
  729. package/docs/ko/intlayer_with_react_router_v7.md +116 -10
  730. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +113 -11
  731. package/docs/ko/intlayer_with_solid_start.md +122 -7
  732. package/docs/ko/intlayer_with_storybook.md +0 -14
  733. package/docs/ko/intlayer_with_svelte_kit.md +99 -2
  734. package/docs/ko/intlayer_with_tanstack+solid.md +121 -17
  735. package/docs/ko/intlayer_with_tanstack.md +260 -191
  736. package/docs/ko/intlayer_with_vanilla.md +111 -2
  737. package/docs/ko/intlayer_with_vite+lit.md +114 -3
  738. package/docs/ko/intlayer_with_vite+preact.md +143 -34
  739. package/docs/ko/intlayer_with_vite+react.md +101 -5
  740. package/docs/ko/intlayer_with_vite+react_compiler.md +107 -10
  741. package/docs/ko/intlayer_with_vite+solid.md +115 -2
  742. package/docs/ko/intlayer_with_vite+svelte.md +114 -6
  743. package/docs/ko/intlayer_with_vite+vanilla.md +121 -11
  744. package/docs/ko/intlayer_with_vite+vue.md +99 -3
  745. package/docs/ko/introduction.md +105 -2
  746. package/docs/ko/migration_from_i18next_to_intlayer.md +0 -2
  747. package/docs/ko/migration_from_next-i18next_to_intlayer.md +0 -2
  748. package/docs/ko/migration_from_next-intl_to_intlayer.md +0 -2
  749. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  750. package/docs/ko/migration_from_react-i18next_to_intlayer.md +0 -2
  751. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +0 -2
  752. package/docs/ko/packages/express-intlayer/t.md +9 -6
  753. package/docs/ko/packages/vite-intlayer/intlayerMinify.md +1 -1
  754. package/docs/nl/interest_of_intlayer.md +0 -1
  755. package/docs/nl/intlayer_with_storybook.md +0 -12
  756. package/docs/nl/intlayer_with_vanilla.md +2 -1
  757. package/docs/nl/introduction.md +0 -1
  758. package/docs/pl/analytics.md +488 -21
  759. package/docs/pl/configuration.md +98 -0
  760. package/docs/pl/dictionary/content_file.md +4 -4
  761. package/docs/pl/dictionary/markdown.md +3 -0
  762. package/docs/pl/dictionary/plurial.md +5 -2
  763. package/docs/pl/how_works_intlayer.md +92 -0
  764. package/docs/pl/interest_of_intlayer.md +96 -1
  765. package/docs/pl/intlayer_CMS.md +92 -0
  766. package/docs/pl/intlayer_visual_editor.md +87 -1
  767. package/docs/pl/intlayer_with_adonisjs.md +120 -0
  768. package/docs/pl/intlayer_with_analog.md +116 -8
  769. package/docs/pl/intlayer_with_angular_19.md +115 -8
  770. package/docs/pl/intlayer_with_angular_21.md +109 -8
  771. package/docs/pl/intlayer_with_astro.md +117 -20
  772. package/docs/pl/intlayer_with_astro_lit.md +118 -10
  773. package/docs/pl/intlayer_with_astro_preact.md +118 -10
  774. package/docs/pl/intlayer_with_astro_react.md +118 -10
  775. package/docs/pl/intlayer_with_astro_solid.md +118 -10
  776. package/docs/pl/intlayer_with_astro_svelte.md +118 -10
  777. package/docs/pl/intlayer_with_astro_vanilla.md +112 -10
  778. package/docs/pl/intlayer_with_astro_vue.md +118 -10
  779. package/docs/pl/intlayer_with_create_react_app.md +106 -1
  780. package/docs/pl/intlayer_with_elysia.md +120 -0
  781. package/docs/pl/intlayer_with_express.md +114 -0
  782. package/docs/pl/intlayer_with_fastify.md +114 -0
  783. package/docs/pl/intlayer_with_hono.md +114 -0
  784. package/docs/pl/intlayer_with_htmx.md +767 -0
  785. package/docs/pl/intlayer_with_lynx+react.md +7 -14
  786. package/docs/pl/intlayer_with_nestjs.md +114 -0
  787. package/docs/pl/intlayer_with_nextjs_14.md +127 -50
  788. package/docs/pl/intlayer_with_nextjs_15.md +141 -62
  789. package/docs/pl/intlayer_with_nextjs_16.md +128 -51
  790. package/docs/pl/intlayer_with_nextjs_compiler.md +122 -13
  791. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +122 -10
  792. package/docs/pl/intlayer_with_nextjs_page_router.md +115 -97
  793. package/docs/pl/intlayer_with_nuxt.md +110 -8
  794. package/docs/pl/intlayer_with_react_native+expo.md +102 -7
  795. package/docs/pl/intlayer_with_react_router_v7.md +131 -22
  796. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +121 -20
  797. package/docs/pl/intlayer_with_solid_start.md +115 -1
  798. package/docs/pl/intlayer_with_storybook.md +7 -20
  799. package/docs/pl/intlayer_with_svelte_kit.md +105 -8
  800. package/docs/pl/intlayer_with_tanstack+solid.md +124 -22
  801. package/docs/pl/intlayer_with_tanstack.md +238 -160
  802. package/docs/pl/intlayer_with_vanilla.md +117 -9
  803. package/docs/pl/intlayer_with_vite+lit.md +118 -8
  804. package/docs/pl/intlayer_with_vite+preact.md +148 -40
  805. package/docs/pl/intlayer_with_vite+react.md +108 -20
  806. package/docs/pl/intlayer_with_vite+react_compiler.md +108 -3
  807. package/docs/pl/intlayer_with_vite+solid.md +112 -5
  808. package/docs/pl/intlayer_with_vite+svelte.md +118 -8
  809. package/docs/pl/intlayer_with_vite+vanilla.md +125 -8
  810. package/docs/pl/intlayer_with_vite+vue.md +104 -8
  811. package/docs/pl/introduction.md +104 -1
  812. package/docs/pl/migration_from_i18next_to_intlayer.md +0 -2
  813. package/docs/pl/migration_from_next-i18next_to_intlayer.md +0 -2
  814. package/docs/pl/migration_from_next-intl_to_intlayer.md +0 -2
  815. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  816. package/docs/pl/migration_from_react-i18next_to_intlayer.md +0 -2
  817. package/docs/pl/migration_from_vue-i18n_to_intlayer.md +0 -2
  818. package/docs/pl/packages/next-intlayer/useIntlayer.md +3 -0
  819. package/docs/pl/packages/vite-intlayer/intlayerMinify.md +1 -1
  820. package/docs/pt/analytics.md +488 -21
  821. package/docs/pt/configuration.md +99 -1
  822. package/docs/pt/dictionary/content_file.md +4 -4
  823. package/docs/pt/dictionary/html.md +18 -1
  824. package/docs/pt/dictionary/markdown.md +3 -0
  825. package/docs/pt/dictionary/plurial.md +5 -2
  826. package/docs/pt/how_works_intlayer.md +93 -1
  827. package/docs/pt/interest_of_intlayer.md +98 -3
  828. package/docs/pt/intlayer_CMS.md +93 -1
  829. package/docs/pt/intlayer_visual_editor.md +88 -2
  830. package/docs/pt/intlayer_with_adonisjs.md +121 -1
  831. package/docs/pt/intlayer_with_analog.md +112 -3
  832. package/docs/pt/intlayer_with_angular_19.md +109 -2
  833. package/docs/pt/intlayer_with_angular_21.md +103 -2
  834. package/docs/pt/intlayer_with_astro.md +111 -14
  835. package/docs/pt/intlayer_with_astro_lit.md +112 -4
  836. package/docs/pt/intlayer_with_astro_preact.md +112 -4
  837. package/docs/pt/intlayer_with_astro_react.md +112 -4
  838. package/docs/pt/intlayer_with_astro_solid.md +112 -4
  839. package/docs/pt/intlayer_with_astro_svelte.md +112 -4
  840. package/docs/pt/intlayer_with_astro_vanilla.md +106 -4
  841. package/docs/pt/intlayer_with_astro_vue.md +111 -3
  842. package/docs/pt/intlayer_with_create_react_app.md +107 -2
  843. package/docs/pt/intlayer_with_elysia.md +121 -1
  844. package/docs/pt/intlayer_with_express.md +115 -1
  845. package/docs/pt/intlayer_with_fastify.md +115 -2
  846. package/docs/pt/intlayer_with_hono.md +115 -1
  847. package/docs/pt/intlayer_with_htmx.md +771 -0
  848. package/docs/pt/intlayer_with_lynx+react.md +0 -7
  849. package/docs/pt/intlayer_with_nestjs.md +115 -1
  850. package/docs/pt/intlayer_with_nextjs_14.md +138 -117
  851. package/docs/pt/intlayer_with_nextjs_15.md +120 -45
  852. package/docs/pt/intlayer_with_nextjs_16.md +122 -45
  853. package/docs/pt/intlayer_with_nextjs_compiler.md +122 -12
  854. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +115 -3
  855. package/docs/pt/intlayer_with_nextjs_page_router.md +121 -95
  856. package/docs/pt/intlayer_with_nuxt.md +104 -2
  857. package/docs/pt/intlayer_with_react_native+expo.md +103 -8
  858. package/docs/pt/intlayer_with_react_router_v7.md +140 -33
  859. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +115 -8
  860. package/docs/pt/intlayer_with_solid_start.md +121 -6
  861. package/docs/pt/intlayer_with_storybook.md +0 -13
  862. package/docs/pt/intlayer_with_svelte_kit.md +99 -2
  863. package/docs/pt/intlayer_with_tanstack+solid.md +120 -16
  864. package/docs/pt/intlayer_with_tanstack.md +252 -144
  865. package/docs/pt/intlayer_with_vanilla.md +111 -3
  866. package/docs/pt/intlayer_with_vite+lit.md +113 -2
  867. package/docs/pt/intlayer_with_vite+preact.md +143 -34
  868. package/docs/pt/intlayer_with_vite+react.md +101 -4
  869. package/docs/pt/intlayer_with_vite+react_compiler.md +107 -2
  870. package/docs/pt/intlayer_with_vite+solid.md +114 -2
  871. package/docs/pt/intlayer_with_vite+svelte.md +113 -2
  872. package/docs/pt/intlayer_with_vite+vanilla.md +119 -2
  873. package/docs/pt/intlayer_with_vite+vue.md +98 -2
  874. package/docs/pt/introduction.md +105 -2
  875. package/docs/pt/migration_from_i18next_to_intlayer.md +0 -2
  876. package/docs/pt/migration_from_next-i18next_to_intlayer.md +0 -2
  877. package/docs/pt/migration_from_next-intl_to_intlayer.md +0 -2
  878. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  879. package/docs/pt/migration_from_react-i18next_to_intlayer.md +0 -2
  880. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +0 -2
  881. package/docs/pt/packages/vite-intlayer/intlayerMinify.md +1 -1
  882. package/docs/ru/analytics.md +458 -12
  883. package/docs/ru/cli/doc-review.md +0 -2
  884. package/docs/ru/configuration.md +99 -1
  885. package/docs/ru/dictionary/content_file.md +4 -4
  886. package/docs/ru/dictionary/markdown.md +0 -2
  887. package/docs/ru/dictionary/plurial.md +6 -3
  888. package/docs/ru/dictionary/translation.md +1 -1
  889. package/docs/ru/how_works_intlayer.md +93 -1
  890. package/docs/ru/interest_of_intlayer.md +97 -2
  891. package/docs/ru/intlayer_CMS.md +93 -1
  892. package/docs/ru/intlayer_visual_editor.md +88 -2
  893. package/docs/ru/intlayer_with_adonisjs.md +121 -1
  894. package/docs/ru/intlayer_with_analog.md +111 -2
  895. package/docs/ru/intlayer_with_angular_19.md +109 -2
  896. package/docs/ru/intlayer_with_angular_21.md +103 -2
  897. package/docs/ru/intlayer_with_astro.md +111 -14
  898. package/docs/ru/intlayer_with_astro_lit.md +112 -4
  899. package/docs/ru/intlayer_with_astro_preact.md +112 -4
  900. package/docs/ru/intlayer_with_astro_react.md +112 -4
  901. package/docs/ru/intlayer_with_astro_solid.md +112 -4
  902. package/docs/ru/intlayer_with_astro_svelte.md +112 -4
  903. package/docs/ru/intlayer_with_astro_vanilla.md +106 -4
  904. package/docs/ru/intlayer_with_astro_vue.md +112 -4
  905. package/docs/ru/intlayer_with_create_react_app.md +107 -2
  906. package/docs/ru/intlayer_with_elysia.md +121 -1
  907. package/docs/ru/intlayer_with_express.md +115 -1
  908. package/docs/ru/intlayer_with_fastify.md +115 -1
  909. package/docs/ru/intlayer_with_hono.md +115 -1
  910. package/docs/ru/intlayer_with_htmx.md +767 -0
  911. package/docs/ru/intlayer_with_lynx+react.md +0 -7
  912. package/docs/ru/intlayer_with_nestjs.md +115 -1
  913. package/docs/ru/intlayer_with_nextjs_14.md +138 -114
  914. package/docs/ru/intlayer_with_nextjs_15.md +123 -62
  915. package/docs/ru/intlayer_with_nextjs_16.md +122 -45
  916. package/docs/ru/intlayer_with_nextjs_compiler.md +123 -14
  917. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +115 -3
  918. package/docs/ru/intlayer_with_nextjs_page_router.md +110 -95
  919. package/docs/ru/intlayer_with_nuxt.md +104 -2
  920. package/docs/ru/intlayer_with_react_native+expo.md +103 -8
  921. package/docs/ru/intlayer_with_react_router_v7.md +113 -4
  922. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +111 -4
  923. package/docs/ru/intlayer_with_solid_start.md +117 -2
  924. package/docs/ru/intlayer_with_storybook.md +0 -13
  925. package/docs/ru/intlayer_with_svelte_kit.md +99 -2
  926. package/docs/ru/intlayer_with_tanstack+solid.md +119 -16
  927. package/docs/ru/intlayer_with_tanstack.md +230 -151
  928. package/docs/ru/intlayer_with_vanilla.md +111 -3
  929. package/docs/ru/intlayer_with_vite+lit.md +113 -2
  930. package/docs/ru/intlayer_with_vite+preact.md +143 -34
  931. package/docs/ru/intlayer_with_vite+react.md +102 -14
  932. package/docs/ru/intlayer_with_vite+react_compiler.md +107 -2
  933. package/docs/ru/intlayer_with_vite+solid.md +114 -2
  934. package/docs/ru/intlayer_with_vite+svelte.md +115 -12
  935. package/docs/ru/intlayer_with_vite+vanilla.md +119 -2
  936. package/docs/ru/intlayer_with_vite+vue.md +99 -3
  937. package/docs/ru/introduction.md +105 -2
  938. package/docs/ru/migration_from_i18next_to_intlayer.md +0 -2
  939. package/docs/ru/migration_from_next-i18next_to_intlayer.md +0 -2
  940. package/docs/ru/migration_from_next-intl_to_intlayer.md +0 -2
  941. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  942. package/docs/ru/migration_from_react-i18next_to_intlayer.md +0 -2
  943. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +0 -2
  944. package/docs/ru/packages/vite-intlayer/intlayerMinify.md +1 -1
  945. package/docs/tr/analytics.md +488 -21
  946. package/docs/tr/cli/doc-review.md +0 -2
  947. package/docs/tr/configuration.md +98 -0
  948. package/docs/tr/dictionary/content_file.md +4 -4
  949. package/docs/tr/dictionary/markdown.md +3 -0
  950. package/docs/tr/dictionary/plurial.md +6 -3
  951. package/docs/tr/how_works_intlayer.md +92 -0
  952. package/docs/tr/interest_of_intlayer.md +96 -1
  953. package/docs/tr/intlayer_CMS.md +92 -0
  954. package/docs/tr/intlayer_visual_editor.md +87 -1
  955. package/docs/tr/intlayer_with_adonisjs.md +121 -0
  956. package/docs/tr/intlayer_with_analog.md +109 -1
  957. package/docs/tr/intlayer_with_angular_19.md +108 -1
  958. package/docs/tr/intlayer_with_angular_21.md +102 -1
  959. package/docs/tr/intlayer_with_astro.md +117 -27
  960. package/docs/tr/intlayer_with_astro_lit.md +111 -3
  961. package/docs/tr/intlayer_with_astro_preact.md +111 -3
  962. package/docs/tr/intlayer_with_astro_react.md +111 -3
  963. package/docs/tr/intlayer_with_astro_solid.md +111 -3
  964. package/docs/tr/intlayer_with_astro_svelte.md +111 -3
  965. package/docs/tr/intlayer_with_astro_vanilla.md +105 -3
  966. package/docs/tr/intlayer_with_astro_vue.md +111 -3
  967. package/docs/tr/intlayer_with_create_react_app.md +106 -1
  968. package/docs/tr/intlayer_with_elysia.md +121 -0
  969. package/docs/tr/intlayer_with_express.md +114 -0
  970. package/docs/tr/intlayer_with_fastify.md +115 -0
  971. package/docs/tr/intlayer_with_hono.md +114 -0
  972. package/docs/tr/intlayer_with_htmx.md +761 -0
  973. package/docs/tr/intlayer_with_lynx+react.md +0 -7
  974. package/docs/tr/intlayer_with_nestjs.md +115 -0
  975. package/docs/tr/intlayer_with_nextjs_14.md +125 -51
  976. package/docs/tr/intlayer_with_nextjs_15.md +119 -44
  977. package/docs/tr/intlayer_with_nextjs_16.md +120 -43
  978. package/docs/tr/intlayer_with_nextjs_compiler.md +121 -13
  979. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +114 -2
  980. package/docs/tr/intlayer_with_nextjs_page_router.md +124 -120
  981. package/docs/tr/intlayer_with_nuxt.md +103 -1
  982. package/docs/tr/intlayer_with_react_native+expo.md +102 -7
  983. package/docs/tr/intlayer_with_react_router_v7.md +112 -3
  984. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +110 -3
  985. package/docs/tr/intlayer_with_solid_start.md +115 -1
  986. package/docs/tr/intlayer_with_storybook.md +0 -13
  987. package/docs/tr/intlayer_with_svelte_kit.md +98 -1
  988. package/docs/tr/intlayer_with_tanstack+solid.md +117 -15
  989. package/docs/tr/intlayer_with_tanstack.md +259 -128
  990. package/docs/tr/intlayer_with_vanilla.md +110 -2
  991. package/docs/tr/intlayer_with_vite+lit.md +111 -1
  992. package/docs/tr/intlayer_with_vite+preact.md +141 -33
  993. package/docs/tr/intlayer_with_vite+react.md +100 -3
  994. package/docs/tr/intlayer_with_vite+react_compiler.md +106 -1
  995. package/docs/tr/intlayer_with_vite+solid.md +112 -1
  996. package/docs/tr/intlayer_with_vite+svelte.md +111 -1
  997. package/docs/tr/intlayer_with_vite+vanilla.md +118 -1
  998. package/docs/tr/intlayer_with_vite+vue.md +99 -4
  999. package/docs/tr/introduction.md +104 -1
  1000. package/docs/tr/migration_from_i18next_to_intlayer.md +0 -2
  1001. package/docs/tr/migration_from_next-i18next_to_intlayer.md +0 -2
  1002. package/docs/tr/migration_from_next-intl_to_intlayer.md +0 -2
  1003. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  1004. package/docs/tr/migration_from_react-i18next_to_intlayer.md +0 -2
  1005. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +0 -2
  1006. package/docs/tr/packages/vite-intlayer/intlayerMinify.md +1 -1
  1007. package/docs/uk/analytics.md +488 -21
  1008. package/docs/uk/configuration.md +98 -0
  1009. package/docs/uk/dictionary/content_file.md +4 -4
  1010. package/docs/uk/dictionary/markdown.md +3 -0
  1011. package/docs/uk/dictionary/plurial.md +6 -3
  1012. package/docs/uk/how_works_intlayer.md +92 -0
  1013. package/docs/uk/interest_of_intlayer.md +96 -1
  1014. package/docs/uk/intlayer_CMS.md +92 -0
  1015. package/docs/uk/intlayer_visual_editor.md +87 -1
  1016. package/docs/uk/intlayer_with_adonisjs.md +121 -0
  1017. package/docs/uk/intlayer_with_analog.md +109 -1
  1018. package/docs/uk/intlayer_with_angular_19.md +108 -1
  1019. package/docs/uk/intlayer_with_angular_21.md +102 -1
  1020. package/docs/uk/intlayer_with_astro.md +110 -13
  1021. package/docs/uk/intlayer_with_astro_lit.md +111 -3
  1022. package/docs/uk/intlayer_with_astro_preact.md +111 -3
  1023. package/docs/uk/intlayer_with_astro_react.md +111 -3
  1024. package/docs/uk/intlayer_with_astro_solid.md +111 -3
  1025. package/docs/uk/intlayer_with_astro_svelte.md +111 -3
  1026. package/docs/uk/intlayer_with_astro_vanilla.md +105 -3
  1027. package/docs/uk/intlayer_with_astro_vue.md +111 -3
  1028. package/docs/uk/intlayer_with_create_react_app.md +106 -1
  1029. package/docs/uk/intlayer_with_elysia.md +121 -0
  1030. package/docs/uk/intlayer_with_express.md +114 -0
  1031. package/docs/uk/intlayer_with_fastify.md +115 -0
  1032. package/docs/uk/intlayer_with_hono.md +114 -0
  1033. package/docs/uk/intlayer_with_htmx.md +760 -0
  1034. package/docs/uk/intlayer_with_lynx+react.md +0 -7
  1035. package/docs/uk/intlayer_with_nestjs.md +115 -0
  1036. package/docs/uk/intlayer_with_nextjs_14.md +119 -44
  1037. package/docs/uk/intlayer_with_nextjs_15.md +133 -56
  1038. package/docs/uk/intlayer_with_nextjs_16.md +121 -44
  1039. package/docs/uk/intlayer_with_nextjs_compiler.md +122 -14
  1040. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +114 -2
  1041. package/docs/uk/intlayer_with_nextjs_page_router.md +111 -96
  1042. package/docs/uk/intlayer_with_nuxt.md +103 -1
  1043. package/docs/uk/intlayer_with_react_native+expo.md +102 -7
  1044. package/docs/uk/intlayer_with_react_router_v7.md +112 -3
  1045. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +110 -3
  1046. package/docs/uk/intlayer_with_solid_start.md +115 -1
  1047. package/docs/uk/intlayer_with_storybook.md +0 -13
  1048. package/docs/uk/intlayer_with_svelte_kit.md +98 -1
  1049. package/docs/uk/intlayer_with_tanstack+solid.md +117 -15
  1050. package/docs/uk/intlayer_with_tanstack.md +235 -132
  1051. package/docs/uk/intlayer_with_vanilla.md +110 -2
  1052. package/docs/uk/intlayer_with_vite+lit.md +111 -1
  1053. package/docs/uk/intlayer_with_vite+preact.md +167 -31
  1054. package/docs/uk/intlayer_with_vite+react.md +101 -13
  1055. package/docs/uk/intlayer_with_vite+react_compiler.md +106 -1
  1056. package/docs/uk/intlayer_with_vite+solid.md +112 -1
  1057. package/docs/uk/intlayer_with_vite+svelte.md +111 -1
  1058. package/docs/uk/intlayer_with_vite+vanilla.md +118 -1
  1059. package/docs/uk/intlayer_with_vite+vue.md +97 -1
  1060. package/docs/uk/introduction.md +104 -1
  1061. package/docs/uk/migration_from_i18next_to_intlayer.md +0 -2
  1062. package/docs/uk/migration_from_next-i18next_to_intlayer.md +0 -2
  1063. package/docs/uk/migration_from_next-intl_to_intlayer.md +0 -2
  1064. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  1065. package/docs/uk/migration_from_react-i18next_to_intlayer.md +0 -2
  1066. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +0 -2
  1067. package/docs/uk/packages/vite-intlayer/intlayerMinify.md +1 -1
  1068. package/docs/ur/intlayer_with_storybook.md +0 -12
  1069. package/docs/ur/intlayer_with_vanilla.md +2 -1
  1070. package/docs/ur/introduction.md +0 -1
  1071. package/docs/vi/analytics.md +488 -21
  1072. package/docs/vi/configuration.md +98 -0
  1073. package/docs/vi/dictionary/content_file.md +4 -4
  1074. package/docs/vi/dictionary/markdown.md +3 -0
  1075. package/docs/vi/dictionary/plurial.md +5 -2
  1076. package/docs/vi/how_works_intlayer.md +92 -0
  1077. package/docs/vi/interest_of_intlayer.md +96 -1
  1078. package/docs/vi/intlayer_CMS.md +92 -0
  1079. package/docs/vi/intlayer_visual_editor.md +87 -1
  1080. package/docs/vi/intlayer_with_adonisjs.md +121 -0
  1081. package/docs/vi/intlayer_with_analog.md +109 -1
  1082. package/docs/vi/intlayer_with_angular_19.md +108 -1
  1083. package/docs/vi/intlayer_with_angular_21.md +102 -1
  1084. package/docs/vi/intlayer_with_astro.md +110 -13
  1085. package/docs/vi/intlayer_with_astro_lit.md +111 -3
  1086. package/docs/vi/intlayer_with_astro_preact.md +111 -3
  1087. package/docs/vi/intlayer_with_astro_react.md +111 -3
  1088. package/docs/vi/intlayer_with_astro_solid.md +111 -3
  1089. package/docs/vi/intlayer_with_astro_svelte.md +111 -3
  1090. package/docs/vi/intlayer_with_astro_vanilla.md +105 -3
  1091. package/docs/vi/intlayer_with_astro_vue.md +111 -3
  1092. package/docs/vi/intlayer_with_create_react_app.md +106 -1
  1093. package/docs/vi/intlayer_with_elysia.md +121 -0
  1094. package/docs/vi/intlayer_with_express.md +114 -0
  1095. package/docs/vi/intlayer_with_fastify.md +115 -0
  1096. package/docs/vi/intlayer_with_hono.md +114 -0
  1097. package/docs/vi/intlayer_with_htmx.md +760 -0
  1098. package/docs/vi/intlayer_with_lynx+react.md +0 -7
  1099. package/docs/vi/intlayer_with_nestjs.md +115 -0
  1100. package/docs/vi/intlayer_with_nextjs_14.md +133 -53
  1101. package/docs/vi/intlayer_with_nextjs_15.md +133 -56
  1102. package/docs/vi/intlayer_with_nextjs_16.md +121 -44
  1103. package/docs/vi/intlayer_with_nextjs_compiler.md +122 -14
  1104. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +114 -2
  1105. package/docs/vi/intlayer_with_nextjs_page_router.md +111 -92
  1106. package/docs/vi/intlayer_with_nuxt.md +103 -1
  1107. package/docs/vi/intlayer_with_react_native+expo.md +102 -7
  1108. package/docs/vi/intlayer_with_react_router_v7.md +112 -3
  1109. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +116 -16
  1110. package/docs/vi/intlayer_with_solid_start.md +115 -1
  1111. package/docs/vi/intlayer_with_storybook.md +0 -13
  1112. package/docs/vi/intlayer_with_svelte_kit.md +98 -1
  1113. package/docs/vi/intlayer_with_tanstack+solid.md +117 -15
  1114. package/docs/vi/intlayer_with_tanstack.md +249 -169
  1115. package/docs/vi/intlayer_with_vanilla.md +110 -2
  1116. package/docs/vi/intlayer_with_vite+lit.md +111 -1
  1117. package/docs/vi/intlayer_with_vite+preact.md +147 -14
  1118. package/docs/vi/intlayer_with_vite+react.md +101 -13
  1119. package/docs/vi/intlayer_with_vite+react_compiler.md +106 -1
  1120. package/docs/vi/intlayer_with_vite+solid.md +112 -1
  1121. package/docs/vi/intlayer_with_vite+svelte.md +111 -1
  1122. package/docs/vi/intlayer_with_vite+vanilla.md +118 -1
  1123. package/docs/vi/intlayer_with_vite+vue.md +97 -1
  1124. package/docs/vi/introduction.md +104 -1
  1125. package/docs/vi/migration_from_i18next_to_intlayer.md +0 -2
  1126. package/docs/vi/migration_from_next-i18next_to_intlayer.md +0 -2
  1127. package/docs/vi/migration_from_next-intl_to_intlayer.md +0 -2
  1128. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  1129. package/docs/vi/migration_from_react-i18next_to_intlayer.md +0 -2
  1130. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +0 -2
  1131. package/docs/vi/packages/vite-intlayer/intlayerMinify.md +1 -1
  1132. package/docs/zh/analytics.md +458 -12
  1133. package/docs/zh/configuration.md +99 -1
  1134. package/docs/zh/dictionary/content_file.md +4 -4
  1135. package/docs/zh/dictionary/markdown.md +18 -1
  1136. package/docs/zh/dictionary/plurial.md +6 -3
  1137. package/docs/zh/how_works_intlayer.md +93 -1
  1138. package/docs/zh/interest_of_intlayer.md +108 -13
  1139. package/docs/zh/intlayer_CMS.md +93 -1
  1140. package/docs/zh/intlayer_visual_editor.md +88 -2
  1141. package/docs/zh/intlayer_with_adonisjs.md +121 -1
  1142. package/docs/zh/intlayer_with_analog.md +118 -9
  1143. package/docs/zh/intlayer_with_angular_19.md +117 -10
  1144. package/docs/zh/intlayer_with_angular_21.md +110 -9
  1145. package/docs/zh/intlayer_with_astro.md +108 -4
  1146. package/docs/zh/intlayer_with_astro_lit.md +114 -7
  1147. package/docs/zh/intlayer_with_astro_preact.md +114 -7
  1148. package/docs/zh/intlayer_with_astro_react.md +114 -7
  1149. package/docs/zh/intlayer_with_astro_solid.md +114 -7
  1150. package/docs/zh/intlayer_with_astro_svelte.md +114 -7
  1151. package/docs/zh/intlayer_with_astro_vanilla.md +108 -7
  1152. package/docs/zh/intlayer_with_astro_vue.md +114 -7
  1153. package/docs/zh/intlayer_with_create_react_app.md +110 -6
  1154. package/docs/zh/intlayer_with_elysia.md +121 -1
  1155. package/docs/zh/intlayer_with_express.md +115 -1
  1156. package/docs/zh/intlayer_with_fastify.md +115 -1
  1157. package/docs/zh/intlayer_with_hono.md +115 -1
  1158. package/docs/zh/intlayer_with_htmx.md +769 -0
  1159. package/docs/zh/intlayer_with_lynx+react.md +8 -13
  1160. package/docs/zh/intlayer_with_nestjs.md +115 -1
  1161. package/docs/zh/intlayer_with_nextjs_14.md +120 -45
  1162. package/docs/zh/intlayer_with_nextjs_15.md +121 -44
  1163. package/docs/zh/intlayer_with_nextjs_16.md +121 -42
  1164. package/docs/zh/intlayer_with_nextjs_compiler.md +121 -14
  1165. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +122 -10
  1166. package/docs/zh/intlayer_with_nextjs_page_router.md +110 -94
  1167. package/docs/zh/intlayer_with_nuxt.md +111 -9
  1168. package/docs/zh/intlayer_with_react_native+expo.md +103 -8
  1169. package/docs/zh/intlayer_with_react_router_v7.md +131 -28
  1170. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +134 -30
  1171. package/docs/zh/intlayer_with_solid_start.md +122 -7
  1172. package/docs/zh/intlayer_with_storybook.md +7 -20
  1173. package/docs/zh/intlayer_with_svelte_kit.md +106 -9
  1174. package/docs/zh/intlayer_with_tanstack+solid.md +129 -29
  1175. package/docs/zh/intlayer_with_tanstack.md +251 -191
  1176. package/docs/zh/intlayer_with_vanilla.md +118 -10
  1177. package/docs/zh/intlayer_with_vite+lit.md +121 -8
  1178. package/docs/zh/intlayer_with_vite+preact.md +150 -41
  1179. package/docs/zh/intlayer_with_vite+react.md +104 -12
  1180. package/docs/zh/intlayer_with_vite+react_compiler.md +107 -2
  1181. package/docs/zh/intlayer_with_vite+solid.md +113 -2
  1182. package/docs/zh/intlayer_with_vite+svelte.md +127 -14
  1183. package/docs/zh/intlayer_with_vite+vanilla.md +126 -9
  1184. package/docs/zh/intlayer_with_vite+vue.md +99 -3
  1185. package/docs/zh/introduction.md +105 -2
  1186. package/docs/zh/migration_from_i18next_to_intlayer.md +0 -2
  1187. package/docs/zh/migration_from_next-i18next_to_intlayer.md +0 -2
  1188. package/docs/zh/migration_from_next-intl_to_intlayer.md +0 -2
  1189. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  1190. package/docs/zh/migration_from_react-i18next_to_intlayer.md +0 -2
  1191. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +0 -2
  1192. package/docs/zh/packages/vite-intlayer/intlayerMinify.md +1 -1
  1193. package/docs/zh/releases/v6.md +1 -1
  1194. package/docs/zh-TW/introduction.md +0 -1
  1195. package/package.json +7 -7
  1196. package/src/common.ts +45 -18
  1197. package/src/generated/blog.entry.ts +20 -0
  1198. package/src/generated/docs.entry.ts +20 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-08-23
3
- updatedAt: 2026-05-31
3
+ updatedAt: 2026-08-29
4
4
  title: "Express i18n - Complete guide to translate your app"
5
5
  description: "No more i18next. The 2026 guide to building a multilingual (i18n) Express app. Translate with AI agents and optimize bundle size, SEO and performances."
6
6
  keywords:
@@ -277,3 +277,117 @@ To do this, you can add the following instructions to your `.gitignore` file:
277
277
  # Ignore the files generated by Intlayer
278
278
  .intlayer
279
279
  ```
280
+
281
+ ## Frequently Asked Questions
282
+
283
+ <FAQ>
284
+
285
+ <Question title="What are the different solutions available to internationalize a Express backend?">
286
+
287
+ The historical option is `i18next` with `i18next-http-middleware`, which loads JSON catalogs per namespace and stores the locale on the request. The alternative is `Intlayer` through `express-intlayer`, which declares content in typed files shared with your frontend, resolves the locale per request, and adds AI translation and a CMS.
288
+
289
+ The reason to internationalize the backend at all is that a large part of the text a user reads never passes through the frontend: API error messages, transactional emails, push notifications, SMS and PDF exports. Those need the recipient's language, resolved per request rather than per session.
290
+
291
+ See [why Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/interest_of_intlayer.md).
292
+
293
+ </Question>
294
+
295
+ <Question title="How much does i18n add to my Express server bundle size?">
296
+
297
+ Very little. Dictionaries are compiled ahead of time and only the locales you declare are included, so there is no catalog loading at boot and no file reads on the request path. That matters most on serverless and edge deployments, where the bundle size drives cold start time. See [bundle optimization](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/bundle_optimization.md).
298
+
299
+ </Question>
300
+
301
+ <Question title="Can I migrate from `i18next` without rewriting my handlers?">
302
+
303
+ Yes, and there are two paths. You can migrate the content progressively with the [i18next migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/migration_from_i18next_to_intlayer.md). Or you can keep your current API entirely: the [compat adapters](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md) expose the exact same API as `i18next`, but served by Intlayer dictionaries, so imports change and handler code does not.
304
+
305
+ </Question>
306
+
307
+ <Question title="Can I keep my existing JSON translation files?">
308
+
309
+ Yes. The [sync JSON plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md) keeps your `/messages/{locale}/{namespace}.json` files as the source of truth and generates Intlayer dictionaries from them, in both directions. A [sync PO plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-po.md) does the same for gettext catalogs, and [per locale files](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/per_locale_file.md) let you split content by language instead of grouping locales in one file.
310
+
311
+ </Question>
312
+
313
+ <Question title="Do I have to move my content key by key?">
314
+
315
+ No. Run `npx intlayer extract` and Intlayer reads your source files, pulls the user facing strings out and writes a `.content` file next to each one, so you review a diff instead of copying strings into a catalog one at a time. See the [extract command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/extract.md).
316
+
317
+ On the frontend side of the same project, the [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compiler.md) goes further and generates the dictionaries at build time from your JSX, TSX, Vue or Svelte source, so the two halves of the app share one content layer with no keys maintained by hand.
318
+
319
+ </Question>
320
+
321
+ <Question title="What editor and AI agent tooling is available?">
322
+
323
+ Five pieces, all optional:
324
+
325
+ - **[VS Code extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/vs_code_extension.md)**: jump from a `useIntlayer` key to the content file that declares it, extract content from a component, and run build, fill, test, push and pull from the command palette or a dedicated Intlayer tab.
326
+ - **[LSP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**: the same awareness in any editor that speaks LSP, with go to definition, find all references, hover previews of a translated value, autocompletion of keys and fields, and a warning when a key is not declared anywhere. It also resolves `i18next`, `react-i18next`, `next-intl` and `use-intl` calls, which helps while you migrate.
327
+ - **[MCP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)**: exposes the Intlayer documentation and CLI to Cursor, VS Code, Claude Desktop, Claude Code and ChatGPT, so an assistant answers from current docs instead of guessing, and can run commands such as `intlayer fill` itself.
328
+ - **[Agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**: focused skills such as `intlayer-config`, `intlayer-cli` and `intlayer-content`, plus one per framework, that teach an agent your routing setup and the content node types.
329
+ - **[ESLint plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/eslint.md)**: `no-raw-text` flags hardcoded strings, with further rules for static dictionary keys and unused content.
330
+
331
+ </Question>
332
+
333
+ <Question title="How does Intlayer know which language to answer in?">
334
+
335
+ By default `express-intlayer` reads the `Accept-Language` header of the incoming request and picks the closest declared locale, falling back to your default locale. You can change the source with `routing.storage`, for example a custom header or a cookie set by your frontend, so the API answers in the language the user actually selected rather than the one their browser advertises. See the [configuration reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md).
336
+
337
+ </Question>
338
+
339
+ <Question title="Is the locale isolated per request?">
340
+
341
+ Yes. The middleware scopes the active locale to the request, so two concurrent requests in different languages never read each other's locale. That is what makes `t()` and `getIntlayer()` safe to call from a service without threading a locale argument through every function.
342
+
343
+ </Question>
344
+
345
+ <Question title="How do I send transactional emails in the recipient's language?">
346
+
347
+ Declare the email content in a content file like any other content, then resolve it with `getIntlayer` for the recipient's stored locale instead of the request locale. This matters for jobs and queues, where the language belongs to the user record and there is no incoming request to read a header from.
348
+
349
+ </Question>
350
+
351
+ <Question title="How do I localize API error messages?">
352
+
353
+ Wrap the message in `t()` at the point where the error is built. The active request locale resolves it, so the client receives a message it can display directly, and your frontend does not need a parallel catalog of error codes.
354
+
355
+ </Question>
356
+
357
+ <Question title="Does it work with an existing Express app and other middleware?">
358
+
359
+ Yes. `express-intlayer` is a standard Express middleware, so it composes with your existing stack. Register it before the routes that read content, so the locale is resolved by the time a handler calls `t()` or `getIntlayer()`.
360
+
361
+ </Question>
362
+
363
+ <Question title="How do I translate the backend content automatically with AI?">
364
+
365
+ Run `npx intlayer fill`, which fills missing translations with the LLM of your choice using your own provider and API key. Add `--git-diff` to translate only the content changed on the branch. See the [fill command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/fill.md) and [CI/CD integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/CI_CD.md).
366
+
367
+ </Question>
368
+
369
+ <Question title="Does Intlayer support plurals, gender and interpolated values on the server?">
370
+
371
+ Yes: [plural forms](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/plurial.md), [gender based content](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/gender.md), conditions, [insertions](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/insertion.md) for interpolated values, [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/markdown.md) for email bodies, and [formatters](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/formatters.md) for numbers, dates and currencies.
372
+
373
+ </Question>
374
+
375
+ <Question title="Do I get TypeScript autocompletion on the server?">
376
+
377
+ Yes. Intlayer generates the types of your dictionaries into `./types/intlayer.d.ts`, so a key that does not exist is a compile error rather than an empty string at runtime. Run `npx intlayer test` in CI to fail the build when a declared locale is missing content.
378
+
379
+ </Question>
380
+
381
+ <Question title="Can the frontend and the backend share the same content?">
382
+
383
+ Yes, and that is the usual setup. `express-intlayer` works alongside `react-intlayer`, `next-intlayer` and `vite-intlayer` on the same declared content, so a label used both in an API response and in a page is declared once. See [how Intlayer works](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/how_works_intlayer.md).
384
+
385
+ </Question>
386
+
387
+ <Question title="Is Intlayer free and open source?">
388
+
389
+ Yes, under the Apache 2.0 license, commercial use included. The hosted [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) is an optional paid service that can also be [self hosted](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md).
390
+
391
+ </Question>
392
+
393
+ </FAQ>
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-12-30
3
- updatedAt: 2026-05-31
3
+ updatedAt: 2026-08-29
4
4
  title: "Fastify i18n - Complete guide to translate your app"
5
5
  description: "No more i18next. The 2026 guide to building a multilingual (i18n) Fastify app. Translate with AI agents and optimize bundle size, SEO and performances."
6
6
  keywords:
@@ -278,3 +278,117 @@ To do this, you can add the following instructions to your `.gitignore` file:
278
278
  # Ignore the files generated by Intlayer
279
279
  .intlayer
280
280
  ```
281
+
282
+ ## Frequently Asked Questions
283
+
284
+ <FAQ>
285
+
286
+ <Question title="What are the different solutions available to internationalize a Fastify backend?">
287
+
288
+ The generic option is `i18next` with `fastify-i18next` or a hand written hook, which loads JSON catalogs per namespace and stores the locale on the request. The alternative is `Intlayer` through `fastify-intlayer`, which registers the plugin for you, resolves the locale per request, and shares the same typed content as your frontend.
289
+
290
+ The reason to internationalize the backend at all is that a large part of the text a user reads never passes through the frontend: API error messages, transactional emails, push notifications, SMS and PDF exports. Those need the recipient's language, resolved per request rather than per session.
291
+
292
+ See [why Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/interest_of_intlayer.md).
293
+
294
+ </Question>
295
+
296
+ <Question title="How much does i18n add to my Fastify server bundle size?">
297
+
298
+ Very little. Dictionaries are compiled ahead of time and only the locales you declare are included, so there is no catalog loading at boot and no file reads on the request path. That matters most on serverless and edge deployments, where the bundle size drives cold start time. See [bundle optimization](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/bundle_optimization.md).
299
+
300
+ </Question>
301
+
302
+ <Question title="Can I migrate from `i18next` without rewriting my handlers?">
303
+
304
+ Yes, and there are two paths. You can migrate the content progressively with the [i18next migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/migration_from_i18next_to_intlayer.md). Or you can keep your current API entirely: the [compat adapters](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md) expose the exact same API as `i18next`, but served by Intlayer dictionaries, so imports change and handler code does not.
305
+
306
+ </Question>
307
+
308
+ <Question title="Can I keep my existing JSON translation files?">
309
+
310
+ Yes. The [sync JSON plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md) keeps your `/messages/{locale}/{namespace}.json` files as the source of truth and generates Intlayer dictionaries from them, in both directions. A [sync PO plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-po.md) does the same for gettext catalogs, and [per locale files](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/per_locale_file.md) let you split content by language instead of grouping locales in one file.
311
+
312
+ </Question>
313
+
314
+ <Question title="Do I have to move my content key by key?">
315
+
316
+ No. Run `npx intlayer extract` and Intlayer reads your source files, pulls the user facing strings out and writes a `.content` file next to each one, so you review a diff instead of copying strings into a catalog one at a time. See the [extract command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/extract.md).
317
+
318
+ On the frontend side of the same project, the [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compiler.md) goes further and generates the dictionaries at build time from your JSX, TSX, Vue or Svelte source, so the two halves of the app share one content layer with no keys maintained by hand.
319
+
320
+ </Question>
321
+
322
+ <Question title="What editor and AI agent tooling is available?">
323
+
324
+ Five pieces, all optional:
325
+
326
+ - **[VS Code extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/vs_code_extension.md)**: jump from a `useIntlayer` key to the content file that declares it, extract content from a component, and run build, fill, test, push and pull from the command palette or a dedicated Intlayer tab.
327
+ - **[LSP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**: the same awareness in any editor that speaks LSP, with go to definition, find all references, hover previews of a translated value, autocompletion of keys and fields, and a warning when a key is not declared anywhere. It also resolves `i18next`, `react-i18next`, `next-intl` and `use-intl` calls, which helps while you migrate.
328
+ - **[MCP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)**: exposes the Intlayer documentation and CLI to Cursor, VS Code, Claude Desktop, Claude Code and ChatGPT, so an assistant answers from current docs instead of guessing, and can run commands such as `intlayer fill` itself.
329
+ - **[Agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**: focused skills such as `intlayer-config`, `intlayer-cli` and `intlayer-content`, plus one per framework, that teach an agent your routing setup and the content node types.
330
+ - **[ESLint plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/eslint.md)**: `no-raw-text` flags hardcoded strings, with further rules for static dictionary keys and unused content.
331
+
332
+ </Question>
333
+
334
+ <Question title="How does Intlayer know which language to answer in?">
335
+
336
+ By default `fastify-intlayer` reads the `Accept-Language` header of the incoming request and picks the closest declared locale, falling back to your default locale. You can change the source with `routing.storage`, for example a custom header or a cookie set by your frontend, so the API answers in the language the user actually selected rather than the one their browser advertises. See the [configuration reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md).
337
+
338
+ </Question>
339
+
340
+ <Question title="Is the locale isolated per request?">
341
+
342
+ Yes. The plugin scopes the active locale to the request, so two concurrent requests in different languages never read each other's locale. That is what makes `t()` and `getIntlayer()` safe to call from a service without threading a locale argument through every function.
343
+
344
+ </Question>
345
+
346
+ <Question title="How do I send transactional emails in the recipient's language?">
347
+
348
+ Declare the email content in a content file like any other content, then resolve it with `getIntlayer` for the recipient's stored locale instead of the request locale. This matters for jobs and queues, where the language belongs to the user record and there is no incoming request to read a header from.
349
+
350
+ </Question>
351
+
352
+ <Question title="How do I localize API error messages?">
353
+
354
+ Wrap the message in `t()` at the point where the error is built. The active request locale resolves it, so the client receives a message it can display directly, and your frontend does not need a parallel catalog of error codes.
355
+
356
+ </Question>
357
+
358
+ <Question title="Does it work with the Fastify plugin lifecycle and encapsulation?">
359
+
360
+ Yes. `fastify-intlayer` registers as a standard Fastify plugin, so it follows the usual encapsulation rules. Register it at the root, or inside the scope that needs it, before the routes that read content.
361
+
362
+ </Question>
363
+
364
+ <Question title="How do I translate the backend content automatically with AI?">
365
+
366
+ Run `npx intlayer fill`, which fills missing translations with the LLM of your choice using your own provider and API key. Add `--git-diff` to translate only the content changed on the branch. See the [fill command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/fill.md) and [CI/CD integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/CI_CD.md).
367
+
368
+ </Question>
369
+
370
+ <Question title="Does Intlayer support plurals, gender and interpolated values on the server?">
371
+
372
+ Yes: [plural forms](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/plurial.md), [gender based content](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/gender.md), conditions, [insertions](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/insertion.md) for interpolated values, [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/markdown.md) for email bodies, and [formatters](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/formatters.md) for numbers, dates and currencies.
373
+
374
+ </Question>
375
+
376
+ <Question title="Do I get TypeScript autocompletion on the server?">
377
+
378
+ Yes. Intlayer generates the types of your dictionaries into `./types/intlayer.d.ts`, so a key that does not exist is a compile error rather than an empty string at runtime. Run `npx intlayer test` in CI to fail the build when a declared locale is missing content.
379
+
380
+ </Question>
381
+
382
+ <Question title="Can the frontend and the backend share the same content?">
383
+
384
+ Yes, and that is the usual setup. `fastify-intlayer` works alongside `react-intlayer`, `next-intlayer` and `vite-intlayer` on the same declared content, so a label used both in an API response and in a page is declared once. See [how Intlayer works](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/how_works_intlayer.md).
385
+
386
+ </Question>
387
+
388
+ <Question title="Is Intlayer free and open source?">
389
+
390
+ Yes, under the Apache 2.0 license, commercial use included. The hosted [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) is an optional paid service that can also be [self hosted](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md).
391
+
392
+ </Question>
393
+
394
+ </FAQ>
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-08-23
3
- updatedAt: 2026-05-31
3
+ updatedAt: 2026-08-29
4
4
  title: "Hono i18n - Complete guide to translate your app"
5
5
  description: "No more i18next. The 2026 guide to building a multilingual (i18n) Hono app. Translate with AI agents and optimize bundle size, SEO and performances."
6
6
  keywords:
@@ -295,3 +295,117 @@ To do this, you can add the following instructions to your `.gitignore` file:
295
295
  # Ignore the files generated by Intlayer
296
296
  .intlayer
297
297
  ```
298
+
299
+ ## Frequently Asked Questions
300
+
301
+ <FAQ>
302
+
303
+ <Question title="What are the different solutions available to internationalize a Hono backend?">
304
+
305
+ Hono has no i18n layer of its own, so the options are a generic library such as `i18next` wired manually into a middleware, or `Intlayer` through `hono-intlayer`, which registers the middleware for you, resolves the locale per request, and shares the same declared content as your frontend.
306
+
307
+ The reason to internationalize the backend at all is that a large part of the text a user reads never passes through the frontend: API error messages, transactional emails, push notifications, SMS and PDF exports. Those need the recipient's language, resolved per request rather than per session.
308
+
309
+ See [why Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/interest_of_intlayer.md).
310
+
311
+ </Question>
312
+
313
+ <Question title="How much does i18n add to my Hono server bundle size?">
314
+
315
+ Very little. Dictionaries are compiled ahead of time and only the locales you declare are included, so there is no catalog loading at boot and no file reads on the request path. That matters most on serverless and edge deployments, where the bundle size drives cold start time. See [bundle optimization](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/bundle_optimization.md).
316
+
317
+ </Question>
318
+
319
+ <Question title="Can I migrate from `i18next` without rewriting my handlers?">
320
+
321
+ Yes, and there are two paths. You can migrate the content progressively with the [i18next migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/migration_from_i18next_to_intlayer.md). Or you can keep your current API entirely: the [compat adapters](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md) expose the exact same API as `i18next`, but served by Intlayer dictionaries, so imports change and handler code does not.
322
+
323
+ </Question>
324
+
325
+ <Question title="Can I keep my existing JSON translation files?">
326
+
327
+ Yes. The [sync JSON plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md) keeps your `/messages/{locale}/{namespace}.json` files as the source of truth and generates Intlayer dictionaries from them, in both directions. A [sync PO plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-po.md) does the same for gettext catalogs, and [per locale files](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/per_locale_file.md) let you split content by language instead of grouping locales in one file.
328
+
329
+ </Question>
330
+
331
+ <Question title="Do I have to move my content key by key?">
332
+
333
+ No. Run `npx intlayer extract` and Intlayer reads your source files, pulls the user facing strings out and writes a `.content` file next to each one, so you review a diff instead of copying strings into a catalog one at a time. See the [extract command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/extract.md).
334
+
335
+ On the frontend side of the same project, the [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compiler.md) goes further and generates the dictionaries at build time from your JSX, TSX, Vue or Svelte source, so the two halves of the app share one content layer with no keys maintained by hand.
336
+
337
+ </Question>
338
+
339
+ <Question title="What editor and AI agent tooling is available?">
340
+
341
+ Five pieces, all optional:
342
+
343
+ - **[VS Code extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/vs_code_extension.md)**: jump from a `useIntlayer` key to the content file that declares it, extract content from a component, and run build, fill, test, push and pull from the command palette or a dedicated Intlayer tab.
344
+ - **[LSP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**: the same awareness in any editor that speaks LSP, with go to definition, find all references, hover previews of a translated value, autocompletion of keys and fields, and a warning when a key is not declared anywhere. It also resolves `i18next`, `react-i18next`, `next-intl` and `use-intl` calls, which helps while you migrate.
345
+ - **[MCP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)**: exposes the Intlayer documentation and CLI to Cursor, VS Code, Claude Desktop, Claude Code and ChatGPT, so an assistant answers from current docs instead of guessing, and can run commands such as `intlayer fill` itself.
346
+ - **[Agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**: focused skills such as `intlayer-config`, `intlayer-cli` and `intlayer-content`, plus one per framework, that teach an agent your routing setup and the content node types.
347
+ - **[ESLint plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/eslint.md)**: `no-raw-text` flags hardcoded strings, with further rules for static dictionary keys and unused content.
348
+
349
+ </Question>
350
+
351
+ <Question title="How does Intlayer know which language to answer in?">
352
+
353
+ By default `hono-intlayer` reads the `Accept-Language` header of the incoming request and picks the closest declared locale, falling back to your default locale. You can change the source with `routing.storage`, for example a custom header or a cookie set by your frontend, so the API answers in the language the user actually selected rather than the one their browser advertises. See the [configuration reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md).
354
+
355
+ </Question>
356
+
357
+ <Question title="Is the locale isolated per request?">
358
+
359
+ Yes. The middleware scopes the active locale to the request, so two concurrent requests in different languages never read each other's locale. That is what makes `t()` and `getIntlayer()` safe to call from a service without threading a locale argument through every function.
360
+
361
+ </Question>
362
+
363
+ <Question title="How do I send transactional emails in the recipient's language?">
364
+
365
+ Declare the email content in a content file like any other content, then resolve it with `getIntlayer` for the recipient's stored locale instead of the request locale. This matters for jobs and queues, where the language belongs to the user record and there is no incoming request to read a header from.
366
+
367
+ </Question>
368
+
369
+ <Question title="How do I localize API error messages?">
370
+
371
+ Wrap the message in `t()` at the point where the error is built. The active request locale resolves it, so the client receives a message it can display directly, and your frontend does not need a parallel catalog of error codes.
372
+
373
+ </Question>
374
+
375
+ <Question title="Does it work on edge runtimes such as Cloudflare Workers, Deno or Bun?">
376
+
377
+ Hono targets all of them, and Intlayer resolves content from dictionaries compiled at build time rather than reading catalog files from disk at runtime, which is what usually breaks on edge runtimes. Keep `dictionary.importMode` at its default `"static"` so the content is bundled with the worker.
378
+
379
+ </Question>
380
+
381
+ <Question title="How do I translate the backend content automatically with AI?">
382
+
383
+ Run `npx intlayer fill`, which fills missing translations with the LLM of your choice using your own provider and API key. Add `--git-diff` to translate only the content changed on the branch. See the [fill command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/fill.md) and [CI/CD integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/CI_CD.md).
384
+
385
+ </Question>
386
+
387
+ <Question title="Does Intlayer support plurals, gender and interpolated values on the server?">
388
+
389
+ Yes: [plural forms](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/plurial.md), [gender based content](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/gender.md), conditions, [insertions](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/insertion.md) for interpolated values, [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/markdown.md) for email bodies, and [formatters](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/formatters.md) for numbers, dates and currencies.
390
+
391
+ </Question>
392
+
393
+ <Question title="Do I get TypeScript autocompletion on the server?">
394
+
395
+ Yes. Intlayer generates the types of your dictionaries into `./types/intlayer.d.ts`, so a key that does not exist is a compile error rather than an empty string at runtime. Run `npx intlayer test` in CI to fail the build when a declared locale is missing content.
396
+
397
+ </Question>
398
+
399
+ <Question title="Can the frontend and the backend share the same content?">
400
+
401
+ Yes, and that is the usual setup. `hono-intlayer` works alongside `react-intlayer`, `next-intlayer` and `vite-intlayer` on the same declared content, so a label used both in an API response and in a page is declared once. See [how Intlayer works](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/how_works_intlayer.md).
402
+
403
+ </Question>
404
+
405
+ <Question title="Is Intlayer free and open source?">
406
+
407
+ Yes, under the Apache 2.0 license, commercial use included. The hosted [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) is an optional paid service that can also be [self hosted](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md).
408
+
409
+ </Question>
410
+
411
+ </FAQ>