@intlayer/docs 9.5.4 → 9.5.6

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 (814) hide show
  1. package/README.md +2 -2
  2. package/blog/ar/how_to_pick_react_i18n_library.md +28 -0
  3. package/blog/ar/how_to_pick_solid_i18n_library.md +19 -5
  4. package/blog/ar/transform_existing_vite_react_app_using_compiler.md +4 -2
  5. package/blog/de/how_to_pick_react_i18n_library.md +28 -0
  6. package/blog/de/how_to_pick_solid_i18n_library.md +19 -5
  7. package/blog/de/transform_existing_vite_react_app_using_compiler.md +4 -2
  8. package/blog/en/how_to_pick_react_i18n_library.md +28 -0
  9. package/blog/en/how_to_pick_solid_i18n_library.md +19 -5
  10. package/blog/en/transform_existing_vite_react_app_using_compiler.md +4 -2
  11. package/blog/en-GB/how_to_pick_react_i18n_library.md +28 -0
  12. package/blog/en-GB/how_to_pick_solid_i18n_library.md +19 -5
  13. package/blog/en-GB/transform_existing_vite_react_app_using_compiler.md +4 -2
  14. package/blog/es/how_to_pick_react_i18n_library.md +28 -0
  15. package/blog/es/how_to_pick_solid_i18n_library.md +19 -5
  16. package/blog/es/transform_existing_vite_react_app_using_compiler.md +4 -2
  17. package/blog/fr/how_to_pick_react_i18n_library.md +28 -0
  18. package/blog/fr/how_to_pick_solid_i18n_library.md +19 -5
  19. package/blog/fr/transform_existing_vite_react_app_using_compiler.md +4 -2
  20. package/blog/hi/how_to_pick_react_i18n_library.md +28 -0
  21. package/blog/hi/how_to_pick_solid_i18n_library.md +19 -5
  22. package/blog/hi/transform_existing_vite_react_app_using_compiler.md +4 -2
  23. package/blog/id/how_to_pick_react_i18n_library.md +28 -0
  24. package/blog/id/how_to_pick_solid_i18n_library.md +19 -5
  25. package/blog/id/transform_existing_vite_react_app_using_compiler.md +4 -2
  26. package/blog/it/how_to_pick_react_i18n_library.md +28 -0
  27. package/blog/it/how_to_pick_solid_i18n_library.md +19 -5
  28. package/blog/it/transform_existing_vite_react_app_using_compiler.md +4 -2
  29. package/blog/ja/how_to_pick_react_i18n_library.md +28 -0
  30. package/blog/ja/how_to_pick_solid_i18n_library.md +19 -5
  31. package/blog/ja/transform_existing_vite_react_app_using_compiler.md +4 -2
  32. package/blog/ko/how_to_pick_react_i18n_library.md +28 -0
  33. package/blog/ko/how_to_pick_solid_i18n_library.md +19 -5
  34. package/blog/ko/transform_existing_vite_react_app_using_compiler.md +4 -2
  35. package/blog/pl/how_to_pick_react_i18n_library.md +28 -0
  36. package/blog/pl/how_to_pick_solid_i18n_library.md +19 -5
  37. package/blog/pl/transform_existing_vite_react_app_using_compiler.md +4 -2
  38. package/blog/pt/how_to_pick_react_i18n_library.md +28 -0
  39. package/blog/pt/how_to_pick_solid_i18n_library.md +19 -5
  40. package/blog/pt/transform_existing_vite_react_app_using_compiler.md +4 -2
  41. package/blog/ru/how_to_pick_react_i18n_library.md +28 -0
  42. package/blog/ru/how_to_pick_solid_i18n_library.md +19 -5
  43. package/blog/ru/transform_existing_vite_react_app_using_compiler.md +4 -2
  44. package/blog/tr/how_to_pick_react_i18n_library.md +28 -0
  45. package/blog/tr/how_to_pick_solid_i18n_library.md +19 -5
  46. package/blog/tr/transform_existing_vite_react_app_using_compiler.md +4 -2
  47. package/blog/uk/how_to_pick_react_i18n_library.md +28 -0
  48. package/blog/uk/how_to_pick_solid_i18n_library.md +19 -5
  49. package/blog/uk/transform_existing_vite_react_app_using_compiler.md +4 -2
  50. package/blog/vi/how_to_pick_react_i18n_library.md +28 -0
  51. package/blog/vi/how_to_pick_solid_i18n_library.md +19 -5
  52. package/blog/vi/transform_existing_vite_react_app_using_compiler.md +4 -2
  53. package/blog/zh/how_to_pick_react_i18n_library.md +28 -0
  54. package/blog/zh/how_to_pick_solid_i18n_library.md +19 -5
  55. package/blog/zh/transform_existing_vite_react_app_using_compiler.md +4 -2
  56. package/dist/cjs/generated/docs.entry.cjs +220 -0
  57. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  58. package/dist/esm/generated/docs.entry.mjs +220 -0
  59. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  60. package/dist/types/generated/docs.entry.d.ts +11 -0
  61. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  62. package/docs/ar/how_works_intlayer.md +86 -14
  63. package/docs/ar/intlayer_visual_editor.md +7 -0
  64. package/docs/ar/intlayer_with_astro.md +77 -66
  65. package/docs/ar/intlayer_with_astro_lit.md +32 -36
  66. package/docs/ar/intlayer_with_astro_preact.md +39 -36
  67. package/docs/ar/intlayer_with_astro_react.md +39 -36
  68. package/docs/ar/intlayer_with_astro_solid.md +39 -36
  69. package/docs/ar/intlayer_with_astro_svelte.md +39 -36
  70. package/docs/ar/intlayer_with_astro_vue.md +39 -36
  71. package/docs/ar/intlayer_with_nextjs_14.md +7 -0
  72. package/docs/ar/intlayer_with_nextjs_15.md +7 -0
  73. package/docs/ar/intlayer_with_nextjs_16.md +7 -0
  74. package/docs/ar/intlayer_with_react_router_v7.md +19 -1
  75. package/docs/ar/intlayer_with_remix_3.md +73 -112
  76. package/docs/ar/intlayer_with_solid_start.md +14 -7
  77. package/docs/ar/intlayer_with_svelte_kit.md +12 -1
  78. package/docs/ar/intlayer_with_tanstack+solid.md +20 -2
  79. package/docs/ar/intlayer_with_tanstack.md +20 -6
  80. package/docs/ar/intlayer_with_vite+lit.md +75 -3
  81. package/docs/ar/intlayer_with_vite+preact.md +34 -19
  82. package/docs/ar/intlayer_with_vite+react.md +34 -19
  83. package/docs/ar/intlayer_with_vite+solid.md +34 -19
  84. package/docs/ar/intlayer_with_vite+svelte.md +27 -19
  85. package/docs/ar/intlayer_with_vite+vanilla.md +16 -3
  86. package/docs/ar/intlayer_with_vite+vue.md +27 -19
  87. package/docs/ar/introduction.md +0 -1
  88. package/docs/ar/packages/astro-intlayer/exports.md +161 -9
  89. package/docs/ar/packages/astro-intlayer/intlayer.md +76 -0
  90. package/docs/ar/packages/astro-intlayer/onRequest.md +76 -0
  91. package/docs/ar/packages/astro-intlayer/useDictionary.md +95 -0
  92. package/docs/ar/packages/astro-intlayer/useIntlayer.md +98 -0
  93. package/docs/ar/packages/astro-intlayer/useLocale.md +126 -0
  94. package/docs/ar/packages/remix-intlayer/Intlayer.md +55 -0
  95. package/docs/ar/packages/remix-intlayer/exports.md +80 -0
  96. package/docs/ar/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  97. package/docs/ar/packages/remix-intlayer/useDictionary.md +95 -0
  98. package/docs/ar/packages/remix-intlayer/useIntlayer.md +94 -0
  99. package/docs/ar/packages/remix-intlayer/useLocale.md +104 -0
  100. package/docs/ar/readme.md +2 -2
  101. package/docs/ar/releases/v8.md +1 -5
  102. package/docs/bn/intlayer_with_vite+lit.md +75 -3
  103. package/docs/bn/intlayer_with_vite+vanilla.md +16 -3
  104. package/docs/bn/introduction.md +0 -1
  105. package/docs/cs/intlayer_with_vite+lit.md +75 -3
  106. package/docs/cs/intlayer_with_vite+vanilla.md +16 -3
  107. package/docs/cs/introduction.md +0 -1
  108. package/docs/de/how_works_intlayer.md +86 -14
  109. package/docs/de/intlayer_visual_editor.md +7 -0
  110. package/docs/de/intlayer_with_astro.md +70 -59
  111. package/docs/de/intlayer_with_astro_lit.md +23 -27
  112. package/docs/de/intlayer_with_astro_preact.md +30 -27
  113. package/docs/de/intlayer_with_astro_react.md +30 -27
  114. package/docs/de/intlayer_with_astro_solid.md +30 -27
  115. package/docs/de/intlayer_with_astro_svelte.md +30 -27
  116. package/docs/de/intlayer_with_astro_vue.md +30 -27
  117. package/docs/de/intlayer_with_nextjs_14.md +7 -0
  118. package/docs/de/intlayer_with_nextjs_15.md +7 -0
  119. package/docs/de/intlayer_with_nextjs_16.md +7 -0
  120. package/docs/de/intlayer_with_react_router_v7.md +19 -1
  121. package/docs/de/intlayer_with_remix_3.md +70 -109
  122. package/docs/de/intlayer_with_solid_start.md +14 -7
  123. package/docs/de/intlayer_with_svelte_kit.md +12 -1
  124. package/docs/de/intlayer_with_tanstack+solid.md +20 -2
  125. package/docs/de/intlayer_with_tanstack.md +20 -6
  126. package/docs/de/intlayer_with_vite+lit.md +75 -3
  127. package/docs/de/intlayer_with_vite+preact.md +23 -3
  128. package/docs/de/intlayer_with_vite+react.md +23 -3
  129. package/docs/de/intlayer_with_vite+solid.md +23 -3
  130. package/docs/de/intlayer_with_vite+svelte.md +16 -3
  131. package/docs/de/intlayer_with_vite+vanilla.md +16 -3
  132. package/docs/de/intlayer_with_vite+vue.md +16 -3
  133. package/docs/de/introduction.md +0 -1
  134. package/docs/de/packages/astro-intlayer/exports.md +164 -12
  135. package/docs/de/packages/astro-intlayer/intlayer.md +76 -0
  136. package/docs/de/packages/astro-intlayer/onRequest.md +76 -0
  137. package/docs/de/packages/astro-intlayer/useDictionary.md +95 -0
  138. package/docs/de/packages/astro-intlayer/useIntlayer.md +98 -0
  139. package/docs/de/packages/astro-intlayer/useLocale.md +126 -0
  140. package/docs/de/packages/remix-intlayer/Intlayer.md +77 -0
  141. package/docs/de/packages/remix-intlayer/exports.md +176 -0
  142. package/docs/de/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  143. package/docs/de/packages/remix-intlayer/useDictionary.md +94 -0
  144. package/docs/de/packages/remix-intlayer/useIntlayer.md +94 -0
  145. package/docs/de/packages/remix-intlayer/useLocale.md +104 -0
  146. package/docs/de/readme.md +2 -2
  147. package/docs/de/releases/v8.md +1 -5
  148. package/docs/en/how_works_intlayer.md +86 -14
  149. package/docs/en/intlayer_visual_editor.md +7 -0
  150. package/docs/en/intlayer_with_astro.md +67 -60
  151. package/docs/en/intlayer_with_astro_lit.md +22 -26
  152. package/docs/en/intlayer_with_astro_preact.md +29 -26
  153. package/docs/en/intlayer_with_astro_react.md +29 -26
  154. package/docs/en/intlayer_with_astro_solid.md +29 -26
  155. package/docs/en/intlayer_with_astro_svelte.md +29 -26
  156. package/docs/en/intlayer_with_astro_vanilla.md +27 -13
  157. package/docs/en/intlayer_with_astro_vue.md +29 -26
  158. package/docs/en/intlayer_with_nextjs_14.md +7 -0
  159. package/docs/en/intlayer_with_nextjs_15.md +7 -0
  160. package/docs/en/intlayer_with_nextjs_16.md +7 -0
  161. package/docs/en/intlayer_with_react_router_v7.md +19 -1
  162. package/docs/en/intlayer_with_remix_3.md +74 -122
  163. package/docs/en/intlayer_with_solid_start.md +14 -7
  164. package/docs/en/intlayer_with_svelte_kit.md +12 -1
  165. package/docs/en/intlayer_with_tanstack+solid.md +20 -2
  166. package/docs/en/intlayer_with_tanstack.md +19 -5
  167. package/docs/en/intlayer_with_vite+lit.md +75 -3
  168. package/docs/en/intlayer_with_vite+preact.md +23 -3
  169. package/docs/en/intlayer_with_vite+react.md +23 -3
  170. package/docs/en/intlayer_with_vite+solid.md +23 -3
  171. package/docs/en/intlayer_with_vite+svelte.md +16 -3
  172. package/docs/en/intlayer_with_vite+vanilla.md +16 -3
  173. package/docs/en/intlayer_with_vite+vue.md +16 -3
  174. package/docs/en/introduction.md +2 -2
  175. package/docs/en/packages/astro-intlayer/exports.md +161 -9
  176. package/docs/en/packages/astro-intlayer/intlayer.md +76 -0
  177. package/docs/en/packages/astro-intlayer/onRequest.md +76 -0
  178. package/docs/en/packages/astro-intlayer/useDictionary.md +94 -0
  179. package/docs/en/packages/astro-intlayer/useIntlayer.md +98 -0
  180. package/docs/en/packages/astro-intlayer/useLocale.md +126 -0
  181. package/docs/en/packages/remix-intlayer/Intlayer.md +77 -0
  182. package/docs/en/packages/remix-intlayer/exports.md +176 -0
  183. package/docs/en/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  184. package/docs/en/packages/remix-intlayer/useDictionary.md +94 -0
  185. package/docs/en/packages/remix-intlayer/useIntlayer.md +94 -0
  186. package/docs/en/packages/remix-intlayer/useLocale.md +104 -0
  187. package/docs/en/readme.md +2 -2
  188. package/docs/en/releases/v8.md +1 -5
  189. package/docs/en-GB/how_works_intlayer.md +86 -14
  190. package/docs/en-GB/intlayer_visual_editor.md +7 -0
  191. package/docs/en-GB/intlayer_with_astro.md +70 -59
  192. package/docs/en-GB/intlayer_with_astro_lit.md +23 -27
  193. package/docs/en-GB/intlayer_with_astro_preact.md +30 -27
  194. package/docs/en-GB/intlayer_with_astro_react.md +30 -27
  195. package/docs/en-GB/intlayer_with_astro_solid.md +30 -27
  196. package/docs/en-GB/intlayer_with_astro_svelte.md +30 -27
  197. package/docs/en-GB/intlayer_with_astro_vue.md +30 -27
  198. package/docs/en-GB/intlayer_with_nextjs_14.md +7 -0
  199. package/docs/en-GB/intlayer_with_nextjs_15.md +7 -0
  200. package/docs/en-GB/intlayer_with_nextjs_16.md +7 -0
  201. package/docs/en-GB/intlayer_with_react_router_v7.md +19 -1
  202. package/docs/en-GB/intlayer_with_remix_3.md +66 -105
  203. package/docs/en-GB/intlayer_with_solid_start.md +14 -7
  204. package/docs/en-GB/intlayer_with_svelte_kit.md +12 -1
  205. package/docs/en-GB/intlayer_with_tanstack+solid.md +20 -2
  206. package/docs/en-GB/intlayer_with_tanstack.md +20 -6
  207. package/docs/en-GB/intlayer_with_vite+lit.md +75 -3
  208. package/docs/en-GB/intlayer_with_vite+preact.md +23 -3
  209. package/docs/en-GB/intlayer_with_vite+react.md +23 -3
  210. package/docs/en-GB/intlayer_with_vite+solid.md +32 -15
  211. package/docs/en-GB/intlayer_with_vite+svelte.md +16 -3
  212. package/docs/en-GB/intlayer_with_vite+vanilla.md +16 -3
  213. package/docs/en-GB/intlayer_with_vite+vue.md +16 -3
  214. package/docs/en-GB/introduction.md +0 -1
  215. package/docs/en-GB/packages/astro-intlayer/exports.md +162 -10
  216. package/docs/en-GB/packages/astro-intlayer/intlayer.md +76 -0
  217. package/docs/en-GB/packages/astro-intlayer/onRequest.md +76 -0
  218. package/docs/en-GB/packages/astro-intlayer/useDictionary.md +95 -0
  219. package/docs/en-GB/packages/astro-intlayer/useIntlayer.md +98 -0
  220. package/docs/en-GB/packages/astro-intlayer/useLocale.md +126 -0
  221. package/docs/en-GB/packages/remix-intlayer/Intlayer.md +77 -0
  222. package/docs/en-GB/packages/remix-intlayer/exports.md +176 -0
  223. package/docs/en-GB/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  224. package/docs/en-GB/packages/remix-intlayer/useDictionary.md +94 -0
  225. package/docs/en-GB/packages/remix-intlayer/useIntlayer.md +94 -0
  226. package/docs/en-GB/packages/remix-intlayer/useLocale.md +104 -0
  227. package/docs/en-GB/readme.md +2 -2
  228. package/docs/en-GB/releases/v8.md +1 -5
  229. package/docs/es/how_works_intlayer.md +86 -14
  230. package/docs/es/intlayer_visual_editor.md +7 -0
  231. package/docs/es/intlayer_with_astro.md +70 -59
  232. package/docs/es/intlayer_with_astro_lit.md +23 -27
  233. package/docs/es/intlayer_with_astro_preact.md +30 -27
  234. package/docs/es/intlayer_with_astro_react.md +30 -27
  235. package/docs/es/intlayer_with_astro_solid.md +30 -27
  236. package/docs/es/intlayer_with_astro_svelte.md +30 -27
  237. package/docs/es/intlayer_with_astro_vue.md +30 -27
  238. package/docs/es/intlayer_with_nextjs_14.md +7 -0
  239. package/docs/es/intlayer_with_nextjs_15.md +7 -0
  240. package/docs/es/intlayer_with_nextjs_16.md +7 -0
  241. package/docs/es/intlayer_with_react_router_v7.md +19 -1
  242. package/docs/es/intlayer_with_remix_3.md +73 -112
  243. package/docs/es/intlayer_with_solid_start.md +14 -7
  244. package/docs/es/intlayer_with_svelte_kit.md +12 -1
  245. package/docs/es/intlayer_with_tanstack+solid.md +20 -2
  246. package/docs/es/intlayer_with_tanstack.md +20 -6
  247. package/docs/es/intlayer_with_vite+lit.md +75 -3
  248. package/docs/es/intlayer_with_vite+preact.md +23 -3
  249. package/docs/es/intlayer_with_vite+react.md +23 -3
  250. package/docs/es/intlayer_with_vite+solid.md +23 -3
  251. package/docs/es/intlayer_with_vite+svelte.md +16 -3
  252. package/docs/es/intlayer_with_vite+vanilla.md +16 -3
  253. package/docs/es/intlayer_with_vite+vue.md +16 -3
  254. package/docs/es/introduction.md +0 -1
  255. package/docs/es/packages/astro-intlayer/exports.md +162 -10
  256. package/docs/es/packages/astro-intlayer/intlayer.md +76 -0
  257. package/docs/es/packages/astro-intlayer/onRequest.md +76 -0
  258. package/docs/es/packages/astro-intlayer/useDictionary.md +94 -0
  259. package/docs/es/packages/astro-intlayer/useIntlayer.md +98 -0
  260. package/docs/es/packages/astro-intlayer/useLocale.md +126 -0
  261. package/docs/es/packages/remix-intlayer/Intlayer.md +77 -0
  262. package/docs/es/packages/remix-intlayer/exports.md +176 -0
  263. package/docs/es/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  264. package/docs/es/packages/remix-intlayer/useDictionary.md +94 -0
  265. package/docs/es/packages/remix-intlayer/useIntlayer.md +94 -0
  266. package/docs/es/packages/remix-intlayer/useLocale.md +104 -0
  267. package/docs/es/readme.md +2 -2
  268. package/docs/es/releases/v8.md +1 -5
  269. package/docs/fr/how_works_intlayer.md +86 -14
  270. package/docs/fr/intlayer_visual_editor.md +7 -0
  271. package/docs/fr/intlayer_with_astro.md +71 -60
  272. package/docs/fr/intlayer_with_astro_lit.md +24 -28
  273. package/docs/fr/intlayer_with_astro_preact.md +31 -28
  274. package/docs/fr/intlayer_with_astro_react.md +31 -28
  275. package/docs/fr/intlayer_with_astro_solid.md +31 -28
  276. package/docs/fr/intlayer_with_astro_svelte.md +31 -28
  277. package/docs/fr/intlayer_with_astro_vue.md +31 -28
  278. package/docs/fr/intlayer_with_nextjs_14.md +7 -0
  279. package/docs/fr/intlayer_with_nextjs_15.md +7 -0
  280. package/docs/fr/intlayer_with_nextjs_16.md +7 -0
  281. package/docs/fr/intlayer_with_react_router_v7.md +22 -4
  282. package/docs/fr/intlayer_with_remix_3.md +74 -122
  283. package/docs/fr/intlayer_with_solid_start.md +14 -7
  284. package/docs/fr/intlayer_with_svelte_kit.md +15 -4
  285. package/docs/fr/intlayer_with_tanstack+solid.md +22 -4
  286. package/docs/fr/intlayer_with_tanstack.md +20 -6
  287. package/docs/fr/intlayer_with_vite+lit.md +75 -3
  288. package/docs/fr/intlayer_with_vite+preact.md +26 -6
  289. package/docs/fr/intlayer_with_vite+react.md +26 -6
  290. package/docs/fr/intlayer_with_vite+solid.md +26 -6
  291. package/docs/fr/intlayer_with_vite+svelte.md +19 -6
  292. package/docs/fr/intlayer_with_vite+vanilla.md +19 -6
  293. package/docs/fr/intlayer_with_vite+vue.md +19 -6
  294. package/docs/fr/introduction.md +0 -1
  295. package/docs/fr/packages/astro-intlayer/exports.md +162 -10
  296. package/docs/fr/packages/astro-intlayer/intlayer.md +76 -0
  297. package/docs/fr/packages/astro-intlayer/onRequest.md +76 -0
  298. package/docs/fr/packages/astro-intlayer/useDictionary.md +94 -0
  299. package/docs/fr/packages/astro-intlayer/useIntlayer.md +98 -0
  300. package/docs/fr/packages/astro-intlayer/useLocale.md +126 -0
  301. package/docs/fr/packages/remix-intlayer/Intlayer.md +77 -0
  302. package/docs/fr/packages/remix-intlayer/exports.md +176 -0
  303. package/docs/fr/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  304. package/docs/fr/packages/remix-intlayer/useDictionary.md +94 -0
  305. package/docs/fr/packages/remix-intlayer/useIntlayer.md +94 -0
  306. package/docs/fr/packages/remix-intlayer/useLocale.md +104 -0
  307. package/docs/fr/readme.md +2 -2
  308. package/docs/fr/releases/v8.md +1 -5
  309. package/docs/hi/how_works_intlayer.md +86 -14
  310. package/docs/hi/intlayer_visual_editor.md +7 -0
  311. package/docs/hi/intlayer_with_astro.md +74 -66
  312. package/docs/hi/intlayer_with_astro_lit.md +26 -33
  313. package/docs/hi/intlayer_with_astro_preact.md +33 -33
  314. package/docs/hi/intlayer_with_astro_react.md +33 -33
  315. package/docs/hi/intlayer_with_astro_solid.md +33 -33
  316. package/docs/hi/intlayer_with_astro_svelte.md +33 -33
  317. package/docs/hi/intlayer_with_astro_vue.md +33 -33
  318. package/docs/hi/intlayer_with_nextjs_14.md +7 -0
  319. package/docs/hi/intlayer_with_nextjs_15.md +7 -0
  320. package/docs/hi/intlayer_with_nextjs_16.md +7 -0
  321. package/docs/hi/intlayer_with_react_router_v7.md +27 -12
  322. package/docs/hi/intlayer_with_remix_3.md +73 -112
  323. package/docs/hi/intlayer_with_solid_start.md +14 -7
  324. package/docs/hi/intlayer_with_svelte_kit.md +20 -12
  325. package/docs/hi/intlayer_with_tanstack+solid.md +20 -2
  326. package/docs/hi/intlayer_with_tanstack.md +28 -17
  327. package/docs/hi/intlayer_with_vite+lit.md +75 -3
  328. package/docs/hi/intlayer_with_vite+preact.md +31 -14
  329. package/docs/hi/intlayer_with_vite+react.md +31 -14
  330. package/docs/hi/intlayer_with_vite+solid.md +31 -14
  331. package/docs/hi/intlayer_with_vite+svelte.md +24 -14
  332. package/docs/hi/intlayer_with_vite+vanilla.md +16 -3
  333. package/docs/hi/intlayer_with_vite+vue.md +24 -14
  334. package/docs/hi/introduction.md +0 -1
  335. package/docs/hi/packages/astro-intlayer/exports.md +165 -13
  336. package/docs/hi/packages/astro-intlayer/intlayer.md +76 -0
  337. package/docs/hi/packages/astro-intlayer/onRequest.md +76 -0
  338. package/docs/hi/packages/astro-intlayer/useDictionary.md +95 -0
  339. package/docs/hi/packages/astro-intlayer/useIntlayer.md +98 -0
  340. package/docs/hi/packages/astro-intlayer/useLocale.md +126 -0
  341. package/docs/hi/packages/remix-intlayer/Intlayer.md +55 -0
  342. package/docs/hi/packages/remix-intlayer/exports.md +80 -0
  343. package/docs/hi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  344. package/docs/hi/packages/remix-intlayer/useDictionary.md +95 -0
  345. package/docs/hi/packages/remix-intlayer/useIntlayer.md +94 -0
  346. package/docs/hi/packages/remix-intlayer/useLocale.md +104 -0
  347. package/docs/hi/readme.md +2 -2
  348. package/docs/hi/releases/v8.md +1 -5
  349. package/docs/id/how_works_intlayer.md +86 -14
  350. package/docs/id/intlayer_visual_editor.md +7 -0
  351. package/docs/id/intlayer_with_astro.md +70 -59
  352. package/docs/id/intlayer_with_astro_lit.md +23 -27
  353. package/docs/id/intlayer_with_astro_preact.md +30 -27
  354. package/docs/id/intlayer_with_astro_react.md +30 -27
  355. package/docs/id/intlayer_with_astro_solid.md +30 -27
  356. package/docs/id/intlayer_with_astro_svelte.md +30 -27
  357. package/docs/id/intlayer_with_astro_vue.md +30 -27
  358. package/docs/id/intlayer_with_nextjs_14.md +7 -0
  359. package/docs/id/intlayer_with_nextjs_15.md +7 -0
  360. package/docs/id/intlayer_with_nextjs_16.md +7 -0
  361. package/docs/id/intlayer_with_react_router_v7.md +19 -1
  362. package/docs/id/intlayer_with_remix_3.md +101 -148
  363. package/docs/id/intlayer_with_solid_start.md +14 -7
  364. package/docs/id/intlayer_with_svelte_kit.md +12 -1
  365. package/docs/id/intlayer_with_tanstack+solid.md +20 -2
  366. package/docs/id/intlayer_with_tanstack.md +20 -6
  367. package/docs/id/intlayer_with_vite+lit.md +75 -3
  368. package/docs/id/intlayer_with_vite+preact.md +23 -3
  369. package/docs/id/intlayer_with_vite+react.md +23 -3
  370. package/docs/id/intlayer_with_vite+solid.md +23 -3
  371. package/docs/id/intlayer_with_vite+svelte.md +16 -3
  372. package/docs/id/intlayer_with_vite+vanilla.md +16 -3
  373. package/docs/id/intlayer_with_vite+vue.md +16 -3
  374. package/docs/id/introduction.md +0 -1
  375. package/docs/id/packages/astro-intlayer/exports.md +163 -11
  376. package/docs/id/packages/astro-intlayer/intlayer.md +76 -0
  377. package/docs/id/packages/astro-intlayer/onRequest.md +76 -0
  378. package/docs/id/packages/astro-intlayer/useDictionary.md +94 -0
  379. package/docs/id/packages/astro-intlayer/useIntlayer.md +98 -0
  380. package/docs/id/packages/astro-intlayer/useLocale.md +126 -0
  381. package/docs/id/packages/remix-intlayer/Intlayer.md +55 -0
  382. package/docs/id/packages/remix-intlayer/exports.md +80 -0
  383. package/docs/id/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  384. package/docs/id/packages/remix-intlayer/useDictionary.md +95 -0
  385. package/docs/id/packages/remix-intlayer/useIntlayer.md +94 -0
  386. package/docs/id/packages/remix-intlayer/useLocale.md +104 -0
  387. package/docs/id/readme.md +2 -2
  388. package/docs/id/releases/v8.md +1 -5
  389. package/docs/it/how_works_intlayer.md +86 -14
  390. package/docs/it/intlayer_visual_editor.md +7 -0
  391. package/docs/it/intlayer_with_astro.md +70 -59
  392. package/docs/it/intlayer_with_astro_lit.md +23 -27
  393. package/docs/it/intlayer_with_astro_preact.md +30 -27
  394. package/docs/it/intlayer_with_astro_react.md +30 -27
  395. package/docs/it/intlayer_with_astro_solid.md +30 -27
  396. package/docs/it/intlayer_with_astro_svelte.md +30 -27
  397. package/docs/it/intlayer_with_astro_vue.md +30 -27
  398. package/docs/it/intlayer_with_nextjs_14.md +7 -0
  399. package/docs/it/intlayer_with_nextjs_15.md +7 -0
  400. package/docs/it/intlayer_with_nextjs_16.md +7 -0
  401. package/docs/it/intlayer_with_react_router_v7.md +19 -1
  402. package/docs/it/intlayer_with_remix_3.md +70 -109
  403. package/docs/it/intlayer_with_solid_start.md +14 -7
  404. package/docs/it/intlayer_with_svelte_kit.md +12 -1
  405. package/docs/it/intlayer_with_tanstack+solid.md +20 -2
  406. package/docs/it/intlayer_with_tanstack.md +20 -6
  407. package/docs/it/intlayer_with_vite+lit.md +75 -3
  408. package/docs/it/intlayer_with_vite+preact.md +23 -3
  409. package/docs/it/intlayer_with_vite+react.md +23 -3
  410. package/docs/it/intlayer_with_vite+solid.md +23 -3
  411. package/docs/it/intlayer_with_vite+svelte.md +16 -3
  412. package/docs/it/intlayer_with_vite+vanilla.md +16 -3
  413. package/docs/it/intlayer_with_vite+vue.md +16 -3
  414. package/docs/it/introduction.md +0 -1
  415. package/docs/it/packages/astro-intlayer/exports.md +161 -9
  416. package/docs/it/packages/astro-intlayer/intlayer.md +76 -0
  417. package/docs/it/packages/astro-intlayer/onRequest.md +76 -0
  418. package/docs/it/packages/astro-intlayer/useDictionary.md +95 -0
  419. package/docs/it/packages/astro-intlayer/useIntlayer.md +98 -0
  420. package/docs/it/packages/astro-intlayer/useLocale.md +126 -0
  421. package/docs/it/packages/remix-intlayer/Intlayer.md +77 -0
  422. package/docs/it/packages/remix-intlayer/exports.md +176 -0
  423. package/docs/it/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  424. package/docs/it/packages/remix-intlayer/useDictionary.md +94 -0
  425. package/docs/it/packages/remix-intlayer/useIntlayer.md +94 -0
  426. package/docs/it/packages/remix-intlayer/useLocale.md +104 -0
  427. package/docs/it/readme.md +2 -2
  428. package/docs/it/releases/v8.md +1 -5
  429. package/docs/ja/how_works_intlayer.md +86 -14
  430. package/docs/ja/intlayer_visual_editor.md +7 -0
  431. package/docs/ja/intlayer_with_astro.md +71 -60
  432. package/docs/ja/intlayer_with_astro_lit.md +23 -27
  433. package/docs/ja/intlayer_with_astro_preact.md +30 -27
  434. package/docs/ja/intlayer_with_astro_react.md +30 -27
  435. package/docs/ja/intlayer_with_astro_solid.md +30 -27
  436. package/docs/ja/intlayer_with_astro_svelte.md +30 -27
  437. package/docs/ja/intlayer_with_astro_vue.md +30 -27
  438. package/docs/ja/intlayer_with_nextjs_14.md +7 -0
  439. package/docs/ja/intlayer_with_nextjs_15.md +7 -0
  440. package/docs/ja/intlayer_with_nextjs_16.md +7 -0
  441. package/docs/ja/intlayer_with_react_router_v7.md +19 -1
  442. package/docs/ja/intlayer_with_remix_3.md +73 -112
  443. package/docs/ja/intlayer_with_solid_start.md +14 -7
  444. package/docs/ja/intlayer_with_svelte_kit.md +21 -15
  445. package/docs/ja/intlayer_with_tanstack+solid.md +20 -2
  446. package/docs/ja/intlayer_with_tanstack.md +20 -6
  447. package/docs/ja/intlayer_with_vite+lit.md +75 -3
  448. package/docs/ja/intlayer_with_vite+preact.md +23 -3
  449. package/docs/ja/intlayer_with_vite+react.md +23 -3
  450. package/docs/ja/intlayer_with_vite+solid.md +23 -3
  451. package/docs/ja/intlayer_with_vite+svelte.md +16 -3
  452. package/docs/ja/intlayer_with_vite+vanilla.md +16 -3
  453. package/docs/ja/intlayer_with_vite+vue.md +16 -3
  454. package/docs/ja/introduction.md +0 -1
  455. package/docs/ja/packages/astro-intlayer/exports.md +163 -11
  456. package/docs/ja/packages/astro-intlayer/intlayer.md +76 -0
  457. package/docs/ja/packages/astro-intlayer/onRequest.md +76 -0
  458. package/docs/ja/packages/astro-intlayer/useDictionary.md +95 -0
  459. package/docs/ja/packages/astro-intlayer/useIntlayer.md +98 -0
  460. package/docs/ja/packages/astro-intlayer/useLocale.md +126 -0
  461. package/docs/ja/packages/remix-intlayer/Intlayer.md +55 -0
  462. package/docs/ja/packages/remix-intlayer/exports.md +80 -0
  463. package/docs/ja/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  464. package/docs/ja/packages/remix-intlayer/useDictionary.md +95 -0
  465. package/docs/ja/packages/remix-intlayer/useIntlayer.md +94 -0
  466. package/docs/ja/packages/remix-intlayer/useLocale.md +104 -0
  467. package/docs/ja/readme.md +2 -2
  468. package/docs/ja/releases/v8.md +1 -5
  469. package/docs/ko/how_works_intlayer.md +86 -14
  470. package/docs/ko/intlayer_visual_editor.md +7 -0
  471. package/docs/ko/intlayer_with_astro.md +65 -56
  472. package/docs/ko/intlayer_with_astro_lit.md +23 -27
  473. package/docs/ko/intlayer_with_astro_preact.md +30 -27
  474. package/docs/ko/intlayer_with_astro_react.md +30 -27
  475. package/docs/ko/intlayer_with_astro_solid.md +30 -27
  476. package/docs/ko/intlayer_with_astro_svelte.md +30 -27
  477. package/docs/ko/intlayer_with_astro_vue.md +30 -27
  478. package/docs/ko/intlayer_with_nextjs_14.md +7 -0
  479. package/docs/ko/intlayer_with_nextjs_15.md +7 -0
  480. package/docs/ko/intlayer_with_nextjs_16.md +7 -0
  481. package/docs/ko/intlayer_with_react_router_v7.md +19 -1
  482. package/docs/ko/intlayer_with_remix_3.md +73 -112
  483. package/docs/ko/intlayer_with_solid_start.md +14 -7
  484. package/docs/ko/intlayer_with_svelte_kit.md +12 -1
  485. package/docs/ko/intlayer_with_tanstack+solid.md +20 -2
  486. package/docs/ko/intlayer_with_tanstack.md +20 -6
  487. package/docs/ko/intlayer_with_vite+lit.md +75 -3
  488. package/docs/ko/intlayer_with_vite+preact.md +23 -3
  489. package/docs/ko/intlayer_with_vite+react.md +23 -3
  490. package/docs/ko/intlayer_with_vite+solid.md +33 -16
  491. package/docs/ko/intlayer_with_vite+svelte.md +16 -3
  492. package/docs/ko/intlayer_with_vite+vanilla.md +16 -3
  493. package/docs/ko/intlayer_with_vite+vue.md +16 -3
  494. package/docs/ko/introduction.md +0 -1
  495. package/docs/ko/packages/astro-intlayer/exports.md +163 -11
  496. package/docs/ko/packages/astro-intlayer/intlayer.md +76 -0
  497. package/docs/ko/packages/astro-intlayer/onRequest.md +76 -0
  498. package/docs/ko/packages/astro-intlayer/useDictionary.md +95 -0
  499. package/docs/ko/packages/astro-intlayer/useIntlayer.md +98 -0
  500. package/docs/ko/packages/astro-intlayer/useLocale.md +126 -0
  501. package/docs/ko/packages/remix-intlayer/Intlayer.md +55 -0
  502. package/docs/ko/packages/remix-intlayer/exports.md +80 -0
  503. package/docs/ko/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  504. package/docs/ko/packages/remix-intlayer/useDictionary.md +95 -0
  505. package/docs/ko/packages/remix-intlayer/useIntlayer.md +94 -0
  506. package/docs/ko/packages/remix-intlayer/useLocale.md +104 -0
  507. package/docs/ko/readme.md +2 -2
  508. package/docs/ko/releases/v8.md +1 -5
  509. package/docs/nl/intlayer_with_vite+lit.md +75 -3
  510. package/docs/nl/intlayer_with_vite+vanilla.md +16 -3
  511. package/docs/nl/introduction.md +0 -1
  512. package/docs/pl/how_works_intlayer.md +86 -14
  513. package/docs/pl/intlayer_visual_editor.md +7 -0
  514. package/docs/pl/intlayer_with_astro.md +65 -56
  515. package/docs/pl/intlayer_with_astro_lit.md +23 -27
  516. package/docs/pl/intlayer_with_astro_preact.md +30 -27
  517. package/docs/pl/intlayer_with_astro_react.md +30 -27
  518. package/docs/pl/intlayer_with_astro_solid.md +30 -27
  519. package/docs/pl/intlayer_with_astro_svelte.md +30 -27
  520. package/docs/pl/intlayer_with_astro_vue.md +30 -27
  521. package/docs/pl/intlayer_with_nextjs_14.md +7 -0
  522. package/docs/pl/intlayer_with_nextjs_15.md +7 -0
  523. package/docs/pl/intlayer_with_nextjs_16.md +7 -0
  524. package/docs/pl/intlayer_with_react_router_v7.md +19 -1
  525. package/docs/pl/intlayer_with_remix_3.md +101 -148
  526. package/docs/pl/intlayer_with_solid_start.md +14 -7
  527. package/docs/pl/intlayer_with_svelte_kit.md +12 -1
  528. package/docs/pl/intlayer_with_tanstack+solid.md +20 -2
  529. package/docs/pl/intlayer_with_tanstack.md +20 -6
  530. package/docs/pl/intlayer_with_vite+lit.md +75 -3
  531. package/docs/pl/intlayer_with_vite+preact.md +23 -3
  532. package/docs/pl/intlayer_with_vite+react.md +23 -3
  533. package/docs/pl/intlayer_with_vite+solid.md +23 -3
  534. package/docs/pl/intlayer_with_vite+svelte.md +16 -3
  535. package/docs/pl/intlayer_with_vite+vanilla.md +16 -3
  536. package/docs/pl/intlayer_with_vite+vue.md +16 -3
  537. package/docs/pl/introduction.md +0 -1
  538. package/docs/pl/packages/astro-intlayer/exports.md +162 -10
  539. package/docs/pl/packages/astro-intlayer/intlayer.md +76 -0
  540. package/docs/pl/packages/astro-intlayer/onRequest.md +76 -0
  541. package/docs/pl/packages/astro-intlayer/useDictionary.md +94 -0
  542. package/docs/pl/packages/astro-intlayer/useIntlayer.md +98 -0
  543. package/docs/pl/packages/astro-intlayer/useLocale.md +126 -0
  544. package/docs/pl/packages/remix-intlayer/Intlayer.md +55 -0
  545. package/docs/pl/packages/remix-intlayer/exports.md +80 -0
  546. package/docs/pl/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  547. package/docs/pl/packages/remix-intlayer/useDictionary.md +95 -0
  548. package/docs/pl/packages/remix-intlayer/useIntlayer.md +94 -0
  549. package/docs/pl/packages/remix-intlayer/useLocale.md +104 -0
  550. package/docs/pl/readme.md +2 -2
  551. package/docs/pl/releases/v8.md +1 -5
  552. package/docs/pt/how_works_intlayer.md +86 -14
  553. package/docs/pt/intlayer_visual_editor.md +7 -0
  554. package/docs/pt/intlayer_with_astro.md +65 -56
  555. package/docs/pt/intlayer_with_astro_lit.md +23 -27
  556. package/docs/pt/intlayer_with_astro_preact.md +30 -27
  557. package/docs/pt/intlayer_with_astro_react.md +30 -27
  558. package/docs/pt/intlayer_with_astro_solid.md +30 -27
  559. package/docs/pt/intlayer_with_astro_svelte.md +30 -27
  560. package/docs/pt/intlayer_with_astro_vue.md +30 -27
  561. package/docs/pt/intlayer_with_nextjs_14.md +7 -0
  562. package/docs/pt/intlayer_with_nextjs_15.md +7 -0
  563. package/docs/pt/intlayer_with_nextjs_16.md +7 -0
  564. package/docs/pt/intlayer_with_react_router_v7.md +19 -1
  565. package/docs/pt/intlayer_with_remix_3.md +73 -112
  566. package/docs/pt/intlayer_with_solid_start.md +14 -7
  567. package/docs/pt/intlayer_with_svelte_kit.md +12 -1
  568. package/docs/pt/intlayer_with_tanstack+solid.md +20 -2
  569. package/docs/pt/intlayer_with_tanstack.md +20 -6
  570. package/docs/pt/intlayer_with_vite+lit.md +75 -3
  571. package/docs/pt/intlayer_with_vite+preact.md +23 -3
  572. package/docs/pt/intlayer_with_vite+react.md +23 -3
  573. package/docs/pt/intlayer_with_vite+solid.md +23 -3
  574. package/docs/pt/intlayer_with_vite+svelte.md +16 -3
  575. package/docs/pt/intlayer_with_vite+vanilla.md +16 -3
  576. package/docs/pt/intlayer_with_vite+vue.md +16 -3
  577. package/docs/pt/introduction.md +0 -1
  578. package/docs/pt/packages/astro-intlayer/exports.md +162 -10
  579. package/docs/pt/packages/astro-intlayer/intlayer.md +76 -0
  580. package/docs/pt/packages/astro-intlayer/onRequest.md +76 -0
  581. package/docs/pt/packages/astro-intlayer/useDictionary.md +95 -0
  582. package/docs/pt/packages/astro-intlayer/useIntlayer.md +98 -0
  583. package/docs/pt/packages/astro-intlayer/useLocale.md +126 -0
  584. package/docs/pt/packages/remix-intlayer/Intlayer.md +77 -0
  585. package/docs/pt/packages/remix-intlayer/exports.md +176 -0
  586. package/docs/pt/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  587. package/docs/pt/packages/remix-intlayer/useDictionary.md +94 -0
  588. package/docs/pt/packages/remix-intlayer/useIntlayer.md +94 -0
  589. package/docs/pt/packages/remix-intlayer/useLocale.md +104 -0
  590. package/docs/pt/readme.md +2 -2
  591. package/docs/pt/releases/v8.md +1 -5
  592. package/docs/ru/how_works_intlayer.md +86 -14
  593. package/docs/ru/intlayer_visual_editor.md +7 -0
  594. package/docs/ru/intlayer_with_astro.md +71 -60
  595. package/docs/ru/intlayer_with_astro_lit.md +23 -27
  596. package/docs/ru/intlayer_with_astro_preact.md +30 -27
  597. package/docs/ru/intlayer_with_astro_react.md +30 -27
  598. package/docs/ru/intlayer_with_astro_solid.md +30 -27
  599. package/docs/ru/intlayer_with_astro_svelte.md +30 -27
  600. package/docs/ru/intlayer_with_astro_vue.md +30 -27
  601. package/docs/ru/intlayer_with_nextjs_14.md +7 -0
  602. package/docs/ru/intlayer_with_nextjs_15.md +7 -0
  603. package/docs/ru/intlayer_with_nextjs_16.md +7 -0
  604. package/docs/ru/intlayer_with_react_router_v7.md +19 -1
  605. package/docs/ru/intlayer_with_remix_3.md +73 -112
  606. package/docs/ru/intlayer_with_solid_start.md +14 -7
  607. package/docs/ru/intlayer_with_svelte_kit.md +12 -1
  608. package/docs/ru/intlayer_with_tanstack+solid.md +20 -2
  609. package/docs/ru/intlayer_with_tanstack.md +20 -6
  610. package/docs/ru/intlayer_with_vite+lit.md +75 -3
  611. package/docs/ru/intlayer_with_vite+preact.md +23 -3
  612. package/docs/ru/intlayer_with_vite+react.md +23 -3
  613. package/docs/ru/intlayer_with_vite+solid.md +23 -3
  614. package/docs/ru/intlayer_with_vite+svelte.md +16 -3
  615. package/docs/ru/intlayer_with_vite+vanilla.md +16 -3
  616. package/docs/ru/intlayer_with_vite+vue.md +16 -3
  617. package/docs/ru/introduction.md +0 -1
  618. package/docs/ru/packages/astro-intlayer/exports.md +164 -12
  619. package/docs/ru/packages/astro-intlayer/intlayer.md +76 -0
  620. package/docs/ru/packages/astro-intlayer/onRequest.md +76 -0
  621. package/docs/ru/packages/astro-intlayer/useDictionary.md +95 -0
  622. package/docs/ru/packages/astro-intlayer/useIntlayer.md +98 -0
  623. package/docs/ru/packages/astro-intlayer/useLocale.md +126 -0
  624. package/docs/ru/packages/remix-intlayer/Intlayer.md +55 -0
  625. package/docs/ru/packages/remix-intlayer/exports.md +80 -0
  626. package/docs/ru/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  627. package/docs/ru/packages/remix-intlayer/useDictionary.md +95 -0
  628. package/docs/ru/packages/remix-intlayer/useIntlayer.md +94 -0
  629. package/docs/ru/packages/remix-intlayer/useLocale.md +104 -0
  630. package/docs/ru/readme.md +2 -2
  631. package/docs/ru/releases/v8.md +1 -5
  632. package/docs/tr/how_works_intlayer.md +86 -14
  633. package/docs/tr/intlayer_visual_editor.md +7 -0
  634. package/docs/tr/intlayer_with_astro.md +70 -59
  635. package/docs/tr/intlayer_with_astro_lit.md +24 -28
  636. package/docs/tr/intlayer_with_astro_preact.md +31 -28
  637. package/docs/tr/intlayer_with_astro_react.md +31 -28
  638. package/docs/tr/intlayer_with_astro_solid.md +31 -28
  639. package/docs/tr/intlayer_with_astro_svelte.md +31 -28
  640. package/docs/tr/intlayer_with_astro_vue.md +31 -28
  641. package/docs/tr/intlayer_with_nextjs_14.md +7 -0
  642. package/docs/tr/intlayer_with_nextjs_15.md +7 -0
  643. package/docs/tr/intlayer_with_nextjs_16.md +7 -0
  644. package/docs/tr/intlayer_with_react_router_v7.md +19 -1
  645. package/docs/tr/intlayer_with_remix_3.md +101 -148
  646. package/docs/tr/intlayer_with_solid_start.md +14 -7
  647. package/docs/tr/intlayer_with_svelte_kit.md +12 -1
  648. package/docs/tr/intlayer_with_tanstack+solid.md +20 -2
  649. package/docs/tr/intlayer_with_tanstack.md +20 -6
  650. package/docs/tr/intlayer_with_vite+lit.md +75 -3
  651. package/docs/tr/intlayer_with_vite+preact.md +23 -3
  652. package/docs/tr/intlayer_with_vite+react.md +23 -3
  653. package/docs/tr/intlayer_with_vite+solid.md +23 -3
  654. package/docs/tr/intlayer_with_vite+svelte.md +16 -3
  655. package/docs/tr/intlayer_with_vite+vanilla.md +16 -3
  656. package/docs/tr/intlayer_with_vite+vue.md +16 -3
  657. package/docs/tr/introduction.md +0 -1
  658. package/docs/tr/packages/astro-intlayer/exports.md +165 -13
  659. package/docs/tr/packages/astro-intlayer/intlayer.md +76 -0
  660. package/docs/tr/packages/astro-intlayer/onRequest.md +76 -0
  661. package/docs/tr/packages/astro-intlayer/useDictionary.md +95 -0
  662. package/docs/tr/packages/astro-intlayer/useIntlayer.md +98 -0
  663. package/docs/tr/packages/astro-intlayer/useLocale.md +126 -0
  664. package/docs/tr/packages/remix-intlayer/Intlayer.md +55 -0
  665. package/docs/tr/packages/remix-intlayer/exports.md +80 -0
  666. package/docs/tr/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  667. package/docs/tr/packages/remix-intlayer/useDictionary.md +95 -0
  668. package/docs/tr/packages/remix-intlayer/useIntlayer.md +94 -0
  669. package/docs/tr/packages/remix-intlayer/useLocale.md +104 -0
  670. package/docs/tr/readme.md +2 -2
  671. package/docs/tr/releases/v8.md +1 -5
  672. package/docs/uk/how_works_intlayer.md +86 -14
  673. package/docs/uk/intlayer_visual_editor.md +7 -0
  674. package/docs/uk/intlayer_with_astro.md +71 -60
  675. package/docs/uk/intlayer_with_astro_lit.md +23 -27
  676. package/docs/uk/intlayer_with_astro_preact.md +30 -27
  677. package/docs/uk/intlayer_with_astro_react.md +30 -27
  678. package/docs/uk/intlayer_with_astro_solid.md +30 -27
  679. package/docs/uk/intlayer_with_astro_svelte.md +30 -27
  680. package/docs/uk/intlayer_with_astro_vue.md +30 -27
  681. package/docs/uk/intlayer_with_nextjs_14.md +7 -0
  682. package/docs/uk/intlayer_with_nextjs_15.md +7 -0
  683. package/docs/uk/intlayer_with_nextjs_16.md +7 -0
  684. package/docs/uk/intlayer_with_react_router_v7.md +19 -1
  685. package/docs/uk/intlayer_with_remix_3.md +101 -148
  686. package/docs/uk/intlayer_with_solid_start.md +14 -7
  687. package/docs/uk/intlayer_with_svelte_kit.md +12 -1
  688. package/docs/uk/intlayer_with_tanstack+solid.md +20 -2
  689. package/docs/uk/intlayer_with_tanstack.md +20 -6
  690. package/docs/uk/intlayer_with_vite+lit.md +75 -3
  691. package/docs/uk/intlayer_with_vite+preact.md +23 -3
  692. package/docs/uk/intlayer_with_vite+react.md +23 -3
  693. package/docs/uk/intlayer_with_vite+solid.md +23 -3
  694. package/docs/uk/intlayer_with_vite+svelte.md +16 -3
  695. package/docs/uk/intlayer_with_vite+vanilla.md +16 -3
  696. package/docs/uk/intlayer_with_vite+vue.md +16 -3
  697. package/docs/uk/introduction.md +0 -1
  698. package/docs/uk/packages/astro-intlayer/exports.md +162 -10
  699. package/docs/uk/packages/astro-intlayer/intlayer.md +76 -0
  700. package/docs/uk/packages/astro-intlayer/onRequest.md +76 -0
  701. package/docs/uk/packages/astro-intlayer/useDictionary.md +94 -0
  702. package/docs/uk/packages/astro-intlayer/useIntlayer.md +98 -0
  703. package/docs/uk/packages/astro-intlayer/useLocale.md +126 -0
  704. package/docs/uk/packages/remix-intlayer/Intlayer.md +55 -0
  705. package/docs/uk/packages/remix-intlayer/exports.md +80 -0
  706. package/docs/uk/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  707. package/docs/uk/packages/remix-intlayer/useDictionary.md +95 -0
  708. package/docs/uk/packages/remix-intlayer/useIntlayer.md +94 -0
  709. package/docs/uk/packages/remix-intlayer/useLocale.md +104 -0
  710. package/docs/uk/readme.md +2 -2
  711. package/docs/uk/releases/v8.md +1 -5
  712. package/docs/ur/intlayer_with_vite+lit.md +75 -3
  713. package/docs/ur/intlayer_with_vite+vanilla.md +16 -3
  714. package/docs/ur/introduction.md +0 -1
  715. package/docs/vi/how_works_intlayer.md +86 -14
  716. package/docs/vi/intlayer_visual_editor.md +7 -0
  717. package/docs/vi/intlayer_with_astro.md +70 -59
  718. package/docs/vi/intlayer_with_astro_lit.md +23 -27
  719. package/docs/vi/intlayer_with_astro_preact.md +30 -27
  720. package/docs/vi/intlayer_with_astro_react.md +30 -27
  721. package/docs/vi/intlayer_with_astro_solid.md +30 -27
  722. package/docs/vi/intlayer_with_astro_svelte.md +30 -27
  723. package/docs/vi/intlayer_with_astro_vue.md +30 -27
  724. package/docs/vi/intlayer_with_nextjs_14.md +7 -0
  725. package/docs/vi/intlayer_with_nextjs_15.md +7 -0
  726. package/docs/vi/intlayer_with_nextjs_16.md +7 -0
  727. package/docs/vi/intlayer_with_react_router_v7.md +19 -1
  728. package/docs/vi/intlayer_with_remix_3.md +101 -148
  729. package/docs/vi/intlayer_with_solid_start.md +14 -7
  730. package/docs/vi/intlayer_with_svelte_kit.md +12 -1
  731. package/docs/vi/intlayer_with_tanstack+solid.md +20 -2
  732. package/docs/vi/intlayer_with_tanstack.md +20 -6
  733. package/docs/vi/intlayer_with_vite+lit.md +75 -3
  734. package/docs/vi/intlayer_with_vite+preact.md +23 -3
  735. package/docs/vi/intlayer_with_vite+react.md +23 -3
  736. package/docs/vi/intlayer_with_vite+solid.md +23 -3
  737. package/docs/vi/intlayer_with_vite+svelte.md +16 -3
  738. package/docs/vi/intlayer_with_vite+vanilla.md +16 -3
  739. package/docs/vi/intlayer_with_vite+vue.md +16 -3
  740. package/docs/vi/introduction.md +0 -1
  741. package/docs/vi/packages/astro-intlayer/exports.md +167 -15
  742. package/docs/vi/packages/astro-intlayer/intlayer.md +76 -0
  743. package/docs/vi/packages/astro-intlayer/onRequest.md +76 -0
  744. package/docs/vi/packages/astro-intlayer/useDictionary.md +94 -0
  745. package/docs/vi/packages/astro-intlayer/useIntlayer.md +98 -0
  746. package/docs/vi/packages/astro-intlayer/useLocale.md +126 -0
  747. package/docs/vi/packages/remix-intlayer/Intlayer.md +55 -0
  748. package/docs/vi/packages/remix-intlayer/exports.md +80 -0
  749. package/docs/vi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  750. package/docs/vi/packages/remix-intlayer/useDictionary.md +95 -0
  751. package/docs/vi/packages/remix-intlayer/useIntlayer.md +94 -0
  752. package/docs/vi/packages/remix-intlayer/useLocale.md +104 -0
  753. package/docs/vi/readme.md +2 -2
  754. package/docs/vi/releases/v8.md +1 -5
  755. package/docs/zh/how_works_intlayer.md +86 -14
  756. package/docs/zh/intlayer_visual_editor.md +7 -0
  757. package/docs/zh/intlayer_with_astro.md +65 -56
  758. package/docs/zh/intlayer_with_astro_lit.md +23 -27
  759. package/docs/zh/intlayer_with_astro_preact.md +30 -27
  760. package/docs/zh/intlayer_with_astro_react.md +30 -27
  761. package/docs/zh/intlayer_with_astro_solid.md +30 -27
  762. package/docs/zh/intlayer_with_astro_svelte.md +30 -27
  763. package/docs/zh/intlayer_with_astro_vue.md +30 -27
  764. package/docs/zh/intlayer_with_nextjs_14.md +7 -0
  765. package/docs/zh/intlayer_with_nextjs_15.md +7 -0
  766. package/docs/zh/intlayer_with_nextjs_16.md +7 -0
  767. package/docs/zh/intlayer_with_react_router_v7.md +19 -1
  768. package/docs/zh/intlayer_with_remix_3.md +74 -112
  769. package/docs/zh/intlayer_with_solid_start.md +14 -7
  770. package/docs/zh/intlayer_with_svelte_kit.md +12 -1
  771. package/docs/zh/intlayer_with_tanstack+solid.md +20 -2
  772. package/docs/zh/intlayer_with_tanstack.md +20 -6
  773. package/docs/zh/intlayer_with_vite+lit.md +75 -3
  774. package/docs/zh/intlayer_with_vite+preact.md +23 -3
  775. package/docs/zh/intlayer_with_vite+react.md +23 -3
  776. package/docs/zh/intlayer_with_vite+solid.md +23 -3
  777. package/docs/zh/intlayer_with_vite+svelte.md +16 -3
  778. package/docs/zh/intlayer_with_vite+vanilla.md +16 -3
  779. package/docs/zh/intlayer_with_vite+vue.md +16 -3
  780. package/docs/zh/introduction.md +0 -1
  781. package/docs/zh/packages/astro-intlayer/exports.md +166 -14
  782. package/docs/zh/packages/astro-intlayer/intlayer.md +76 -0
  783. package/docs/zh/packages/astro-intlayer/onRequest.md +76 -0
  784. package/docs/zh/packages/astro-intlayer/useDictionary.md +95 -0
  785. package/docs/zh/packages/astro-intlayer/useIntlayer.md +98 -0
  786. package/docs/zh/packages/astro-intlayer/useLocale.md +126 -0
  787. package/docs/zh/packages/remix-intlayer/Intlayer.md +55 -0
  788. package/docs/zh/packages/remix-intlayer/exports.md +80 -0
  789. package/docs/zh/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  790. package/docs/zh/packages/remix-intlayer/useDictionary.md +95 -0
  791. package/docs/zh/packages/remix-intlayer/useIntlayer.md +94 -0
  792. package/docs/zh/packages/remix-intlayer/useLocale.md +104 -0
  793. package/docs/zh/readme.md +2 -2
  794. package/docs/zh/releases/v8.md +1 -5
  795. package/docs/zh-TW/introduction.md +0 -1
  796. package/package.json +6 -6
  797. package/src/generated/docs.entry.ts +223 -0
  798. package/docs/ar/intlayer_with_astro_vanilla.md +0 -702
  799. package/docs/de/intlayer_with_astro_vanilla.md +0 -698
  800. package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -702
  801. package/docs/es/intlayer_with_astro_vanilla.md +0 -694
  802. package/docs/fr/intlayer_with_astro_vanilla.md +0 -694
  803. package/docs/hi/intlayer_with_astro_vanilla.md +0 -713
  804. package/docs/id/intlayer_with_astro_vanilla.md +0 -698
  805. package/docs/it/intlayer_with_astro_vanilla.md +0 -698
  806. package/docs/ja/intlayer_with_astro_vanilla.md +0 -701
  807. package/docs/ko/intlayer_with_astro_vanilla.md +0 -713
  808. package/docs/pl/intlayer_with_astro_vanilla.md +0 -698
  809. package/docs/pt/intlayer_with_astro_vanilla.md +0 -698
  810. package/docs/ru/intlayer_with_astro_vanilla.md +0 -709
  811. package/docs/tr/intlayer_with_astro_vanilla.md +0 -698
  812. package/docs/uk/intlayer_with_astro_vanilla.md +0 -698
  813. package/docs/vi/intlayer_with_astro_vanilla.md +0 -698
  814. package/docs/zh/intlayer_with_astro_vanilla.md +0 -697
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-12
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-19
4
4
  title: How Intlayer Works
5
5
  description: Learn how Intlayer operates internally. Understand the architecture and components that make Intlayer powerful.
6
6
  keywords:
@@ -135,49 +135,105 @@ Intlayer is composed of several packages, each with a specific role in the trans
135
135
 
136
136
  The `intlayer` package is used in applications to declare content in content files.
137
137
 
138
- ### react-intlayer
138
+ ### Frontend Frameworks
139
+
140
+ <Tabs group="framework">
141
+ <Tab label="React" value="react">
139
142
 
140
143
  The `react-intlayer` package is used to interpret Intlayer dictionaries and make them usable in React applications.
141
144
 
142
- ### next-intlayer
145
+ </Tab>
146
+ <Tab label="Next.js" value="nextjs">
143
147
 
144
148
  The `next-intlayer` package is used as a layer on top of `react-intlayer` to make Intlayer dictionaries usable in Next.js applications. It integrates essential features to make Intlayer work in a Next.js environment, such as translation middleware, routing, or the `next.config.js` file configuration.
145
149
 
146
- ### vue-intlayer
150
+ </Tab>
151
+ <Tab label="Vue" value="vue">
147
152
 
148
153
  The `vue-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Vue applications.
149
154
 
150
- ### nuxt-intlayer
155
+ </Tab>
156
+ <Tab label="Nuxt" value="nuxt">
151
157
 
152
158
  The `nuxt-intlayer` package is a Nuxt module to make Intlayer dictionaries usable in Nuxt applications. It integrates essential features to make Intlayer work in a Nuxt environment, such as translation middleware, routing, or the `nuxt.config.js` file configuration.
153
159
 
154
- ### svelte-intlayer
160
+ </Tab>
161
+ <Tab label="Svelte" value="svelte">
155
162
 
156
163
  The `svelte-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Svelte applications.
157
164
 
158
- ### solid-intlayer (WIP)
165
+ </Tab>
166
+ <Tab label="Solid" value="solid">
159
167
 
160
168
  The `solid-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Solid.js applications.
161
169
 
162
- ### preact-intlayer
170
+ </Tab>
171
+ <Tab label="Preact" value="preact">
163
172
 
164
173
  The `preact-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Preact applications.
165
174
 
166
- ### angular-intlayer (WIP)
175
+ </Tab>
176
+ <Tab label="Angular" value="angular">
167
177
 
168
178
  The `angular-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Angular applications.
169
179
 
170
- ### express-intlayer
180
+ </Tab>
181
+ <Tab label="Astro" value="astro">
171
182
 
172
- The `express-intlayer` package is used to use Intlayer on an Express.js backend.
183
+ The `astro-intlayer` package provides the necessary tools to integrate Intlayer into Astro applications. It configures locale-based routing and dictionary management.
184
+
185
+ </Tab>
186
+ <Tab label="Remix" value="remix">
187
+
188
+ The `remix-intlayer` package provides the necessary tools to integrate Intlayer into Remix applications. It configures locale-based routing, server-side context, and dictionary management.
173
189
 
174
- ### react-native-intlayer
190
+ </Tab>
191
+ <Tab label="React Native" value="react-native">
175
192
 
176
193
  The `react-native-intlayer` package provides tools that integrate plugins for Intlayer to work with the Metro bundler.
177
194
 
178
- ### lynx-intlayer
195
+ </Tab>
196
+ <Tab label="Lit" value="lit">
197
+
198
+ The `lit-intlayer` package provides tools and components to interpret and use Intlayer dictionaries in Lit applications.
199
+
200
+ </Tab>
201
+ <Tab label="Vanilla JS" value="vanilla">
202
+
203
+ The `vanilla-intlayer` package provides tools to integrate Intlayer into vanilla JavaScript, HTML, or PHP applications.
204
+
205
+ </Tab>
206
+ </Tabs>
207
+
208
+ ### Backend Frameworks
209
+
210
+ <Tabs group="backend">
211
+ <Tab label="Express" value="express">
212
+
213
+ The `express-intlayer` package is used to use Intlayer on an Express.js backend.
214
+
215
+ </Tab>
216
+ <Tab label="Fastify" value="fastify">
217
+
218
+ The `fastify-intlayer` package provides a plugin for Fastify applications to handle internationalisation. It detects the user's locale and decorates the request object.
179
219
 
180
- The `lynx-intlayer` package provides tools that integrate plugins for Intlayer to work with the Lynx bundler.
220
+ </Tab>
221
+ <Tab label="Hono" value="hono">
222
+
223
+ The `hono-intlayer` package provides a middleware for Hono applications to handle internationalization. It detects the user's locale and populates the context object.
224
+
225
+ </Tab>
226
+ <Tab label="Elysia" value="elysia">
227
+
228
+ The `elysia-intlayer` package provides a plugin for Elysia applications to handle internationalisation. It detects the user's locale and injects an `intlayer` object into the route context.
229
+
230
+ </Tab>
231
+ <Tab label="AdonisJS" value="adonis">
232
+
233
+ The `adonis-intlayer` package provides a middleware for AdonisJS applications to handle internationalisation. It detects the user's locale and provides translation functions.
234
+
235
+ </Tab>
236
+ </Tabs>
181
237
 
182
238
  ### vite-intlayer
183
239
 
@@ -187,6 +243,10 @@ Includes the Vite plugin for integrating Intlayer with the [Vite bundler](https:
187
243
 
188
244
  Includes the `react-scripts-intlayer` commands and plugins for integrating Intlayer with the Create React App based application. These plugins are based on [craco](https://craco.js.org/) and include additional configuration for the [Webpack](https://webpack.js.org/) bundler.
189
245
 
246
+ ### eslint-plugin-intlayer
247
+
248
+ The `eslint-plugin-intlayer` package provides ESLint and oxlint rules to catch untranslated strings, validate dictionary definitions, and enforce i18n best practices across your codebase.
249
+
190
250
  ### intlayer-editor
191
251
 
192
252
  The `intlayer-editor` package is used to allow the use of the visual editor. This package, optional, can be installed in applications and will be used by the `react-intlayer` package.
@@ -220,6 +280,18 @@ The `@intlayer/cli` package is an NPM package that is used to declare the script
220
280
 
221
281
  The `@intlayer/mcp` package provides an MCP (Model Context Protocol) server that delivers AI-powered IDE assistance tailored for the Intlayer ecosystem. It automatically loads documentation and integrates with the Intlayer CLI.
222
282
 
283
+ ### @intlayer/lsp
284
+
285
+ The `@intlayer/lsp` package provides a Language Server Protocol (LSP) server tailored for Intlayer. It brings IDE features like Go to Definition, Find References, hover previews, autocompletion of dictionary keys, and diagnostic warnings to any editor that speaks LSP.
286
+
287
+ ### @intlayer/ai
288
+
289
+ The `@intlayer/ai` package provides SDK capabilities for Intlayer applications, enabling automated translation and AI-powered content generation.
290
+
291
+ ### @intlayer/analytics
292
+
293
+ The `@intlayer/analytics` package provides tools to collect content impression metrics, page/locale and node-level analytics, and powers content A/B testing.
294
+
223
295
  ### @intlayer/dictionaries-entry
224
296
 
225
297
  The `@intlayer/dictionaries-entry` package returns the entry path of the Intlayer dictionaries: the merged dictionaries from its root, and the unmerged, remote, dynamic and fetch ones from its `/unmerged`, `/remote`, `/dynamic` and `/fetch` subpaths. Since searching the filesystem from the browser is impossible, using bundlers like Webpack or Rollup to retrieve the entry path of the dictionaries is not possible. The package and its subpaths are designed to be aliased, allowing for bundling optimisation across various bundlers such as Vite, Webpack, and Turbopack.
@@ -278,6 +278,13 @@ The editor displays your application in an iframe, so your Content Security Poli
278
278
 
279
279
  It is designed for development and staging, where a rebuild after an edit is acceptable. For editing content on a live site without a deployment, use the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_CMS.md) and its remote dictionaries instead.
280
280
 
281
+ </Question>
282
+ <Question title="What is the cost of the visual editor? Is it overkill if I don't need it?">
283
+
284
+ The Intlayer visual editor has **zero cost** on your application if it is not set up. The extra logic is only loaded if explicitly enabled and needed.
285
+
286
+ If enabled, the cost is extremely light (+5 KB, dynamically loaded only when activated) because the main logic is handled by the server editor on [app.intlayer.org](https://app.intlayer.org) or via the `intlayer-editor` package. If you only need a simple translation setup without visual editing, Intlayer adds no overhead to your app.
287
+
281
288
  </Question>
282
289
  <Question title="Is the visual editor free?">
283
290
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-03-07
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro i18n - Complete guide to translate your app"
5
5
  description: "No more i18next. The 2026 guide to building a multilingual (i18n) Astro app. Translate with AI agents and optimise bundle size, SEO and performances."
6
6
  keywords:
@@ -18,6 +18,9 @@ slugs:
18
18
  applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
19
19
  applicationShowcase: https://intlayer-astro-template.vercel.app
20
20
  history:
21
+ - version: 9.5.5
22
+ date: 2026-09-19
23
+ changes: "Add useIntlayer / useLocale hooks and the Astro.locals middleware to astro-intlayer"
21
24
  - version: 8.9.0
22
25
  date: 2026-05-04
23
26
  changes: "Update Solid useIntlayer API usage to direct property access"
@@ -152,7 +155,7 @@ bun add intlayer astro-intlayer
152
155
  The core package that provides i18n tools for configuration management, translations, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md).
153
156
 
154
157
  - **astro-intlayer**
155
- Includes the Astro integration plugin to link Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), as well as the middleware to detect the user's preferred language, manage cookies, and handle URL redirects.
158
+ Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), a middleware that resolves the locale of every request into `Astro.locals.intlayer`, and the `useIntlayer` / `useDictionary` / `useLocale` hooks. The same import path resolves to the server implementation in your `.astro` frontmatter and to the client one (backed by `vanilla-intlayer`) in `<script>` blocks.
156
159
 
157
160
  </Step>
158
161
  <Step number={2} title="Configure Your Project">
@@ -230,26 +233,28 @@ export default appContent;
230
233
  </Step>
231
234
  <Step number={5} title="Using Content in Astro">
232
235
 
233
- You can consume the dictionaries directly in your `.astro` files using the core helpers exported from `intlayer`.
236
+ Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of `react-intlayer`: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
237
+
238
+ The locale comes from the `astro-intlayer` middleware, which the integration registers for you ahead of your own `src/middleware.ts`. It resolves it for every request, from the URL prefix, then the locale persisted by the client (cookie or header), then `Accept-Language`, and stores it in `Astro.locals.intlayer`. Prerendered pages only use the URL, since they are rendered once for every visitor.
239
+
240
+ You should also add SEO metadata like hreflang and canonical links to each page and include a locale switcher to allow users to change languages.
234
241
 
235
242
  ```astro fileName="src/pages/index.astro"
236
243
  ---
244
+ import { useIntlayer, useLocale } from "astro-intlayer";
237
245
  import {
238
- getIntlayer,
239
- getLocaleFromPath,
240
246
  getLocalizedUrl,
241
247
  defaultLocale,
242
248
  localeMap,
243
249
  getHTMLTextDir,
244
- type LocalesValues,
245
250
  } from "intlayer";
246
251
  import LocaleSwitcher from "../components/LocaleSwitcher.astro";
247
252
 
248
- // Get the current locale from the URL (e.g. /es/about -> 'es')
249
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
253
+ // Locale resolved by the middleware (e.g. /es/about -> 'es')
254
+ const { locale } = useLocale();
250
255
 
251
- // Get the content for the 'app' dictionary
252
- const { title } = getIntlayer("app", locale);
256
+ // Content of the 'app' dictionary for that locale
257
+ const { title } = useIntlayer("app");
253
258
  ---
254
259
 
255
260
  <!doctype html>
@@ -301,6 +306,8 @@ const { title } = getIntlayer("app", locale);
301
306
  </html>
302
307
  ```
303
308
 
309
+ > `Astro.locals.intlayer` also exposes `locale`, `defaultLocale` and `availableLocales` to your own middleware and endpoints. Pass a locale or a selector as second argument (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) to override the request locale for one call.
310
+
304
311
  </Step>
305
312
  <Step number={6} title="Localised Routing">
306
313
 
@@ -325,44 +332,51 @@ To allow users to switch between languages, you can create a `LocaleSwitcher` co
325
332
 
326
333
  ```astro fileName="src/components/LocaleSwitcher.astro"
327
334
  ---
328
- import {
329
- locales,
330
- getLocaleName,
331
- getLocalizedUrl,
332
- getLocaleFromPath,
333
- getPathWithoutLocale,
334
- type LocalesValues,
335
- } from "intlayer";
335
+ import { useLocale } from "astro-intlayer";
336
+ import { getLocaleName, getLocalizedUrl, getPathWithoutLocale } from "intlayer";
336
337
 
337
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
338
+ const { locale, availableLocales } = useLocale();
338
339
  const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
339
340
  ---
340
341
 
341
- <nav>
342
- {
343
- locales.map((localeItem) => (
344
- <a
345
- href={getLocalizedUrl(pathWithoutLocale, localeItem)}
346
- data-locale={localeItem}
347
- aria-current={localeItem === locale ? "page" : undefined}
348
- >
349
- {getLocaleName(localeItem)}
350
- </a>
351
- ))
352
- }
342
+ <nav aria-label="Languages">
343
+ <ul>
344
+ {
345
+ availableLocales.map((localeItem) => (
346
+ <li key={localeItem} class="p-1">
347
+ <a
348
+ href={getLocalizedUrl(pathWithoutLocale, localeItem)}
349
+ data-locale={localeItem}
350
+ aria-current={localeItem === locale ? "page" : undefined}
351
+ >
352
+ {getLocaleName(localeItem)}
353
+ </a>
354
+ </li>
355
+ ))
356
+ }
357
+ </ul>
353
358
  </nav>
354
359
 
355
360
  <script>
356
- import { setLocaleInStorageClient, getLocalizedUrl, type LocalesValues } from "intlayer";
361
+ // In the browser, the same import resolves to the client implementation
362
+ import { useLocale } from "astro-intlayer";
363
+ import { getLocalizedUrl, type LocalesValues } from "intlayer";
364
+
365
+ // Persists the choice in the locale cookie, then navigates to the localised URL
366
+ const { setLocale } = useLocale({
367
+ onLocaleChange: (newLocale) => {
368
+ window.location.href = getLocalizedUrl(window.location.pathname, newLocale);
369
+ },
370
+ });
357
371
 
358
372
  const localeLinks = document.querySelectorAll("[data-locale]");
359
373
 
360
374
  localeLinks.forEach((link) => {
361
- link.addEventListener("click", (e) => {
375
+ link.addEventListener("click", (event) => {
362
376
  const locale = link.getAttribute("data-locale") as LocalesValues;
363
377
 
364
- // Update the locale cookie
365
- setLocaleInStorageClient(locale);
378
+ event.preventDefault();
379
+ setLocale(locale);
366
380
  });
367
381
  });
368
382
  </script>
@@ -372,6 +386,13 @@ const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
372
386
  display: flex;
373
387
  gap: 1rem;
374
388
  }
389
+ ul {
390
+ display: flex;
391
+ list-style: none;
392
+ padding: 0;
393
+ margin: 0;
394
+ gap: 0.5rem;
395
+ }
375
396
  a[aria-current="page"] {
376
397
  font-weight: bold;
377
398
  text-decoration: underline;
@@ -380,7 +401,10 @@ const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
380
401
  ```
381
402
 
382
403
  > **Note on Persistence:**
383
- > Using `setLocaleInStorageClient` in the client-side script ensures that the user's language preference is saved in a cookie. This allows the Intlayer middleware to remember the choice and automatically redirect the user to their preferred language on future visits.
404
+ > `setLocale` from the client-side `useLocale` saves the user's language preference in a cookie. This allows Intlayer to remember the choice and automatically redirect the user to their preferred language on future visits: on-demand rendered pages (an adapter with `output: 'server'` or `prerender = false`) are redirected by the Intlayer middleware before any HTML is sent, while prerendered pages, served as static files, are redirected by a small script the integration injects in every page. Set `routing.enableProxy` to `false` to turn both off. In `astro dev`, the cookie is ignored as a redirect source unless `routing.enableProxy` is set to `true`, so a stale cookie cannot hijack the pages you are working on.
405
+ >
406
+ > **Server / client intercompatibility:**
407
+ > `astro-intlayer` resolves to its server hooks in the frontmatter (reading `Astro.locals`) and to the client hooks of `vanilla-intlayer` in `<script>` blocks and islands, with the same names and content shape. `setLocale` and `onChange` only act on the client, call `installIntlayer()` there once to seed the client store. `astro-intlayer/client` exposes the client entry explicitly.
384
408
 
385
409
  </Step>
386
410
  <Step number={8} title="Sitemap and Robots.txt">
@@ -404,10 +428,10 @@ const pathList: SitemapUrlEntry[] = [
404
428
  { path: "/about", changefreq: "monthly", priority: 0.7 },
405
429
  ];
406
430
 
407
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
408
-
409
431
  export const GET: APIRoute = async ({ site }) => {
410
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
432
+ const xmlOutput = generateSitemap(pathList, {
433
+ siteUrl: "https://example.com",
434
+ });
411
435
 
412
436
  return new Response(xmlOutput, {
413
437
  headers: { "Content-Type": "application/xml" },
@@ -448,11 +472,12 @@ export const GET: APIRoute = ({ site }) => {
448
472
 
449
473
  Keep building your application using the framework of your choice.
450
474
 
451
- - Intlayer + React: [Intlayer with React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_vite+react.md)
452
- - Intlayer + Vue: [Intlayer with Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_vite+vue.md)
453
- - Intlayer + Svelte: [Intlayer with Svelte](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_vite+svelte.md)
454
- - Intlayer + Solid: [Intlayer with Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_vite+solid.md)
455
- - Intlayer + Preact: [Intlayer with Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_vite+preact.md)
475
+ - Intlayer + React: [Intlayer with React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_astro_react.md)
476
+ - Intlayer + Vue: [Intlayer with Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_astro_vue.md)
477
+ - Intlayer + Svelte: [Intlayer with Svelte](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_astro_svelte.md)
478
+ - Intlayer + Solid: [Intlayer with Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_astro_solid.md)
479
+ - Intlayer + Preact: [Intlayer with Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_astro_preact.md)
480
+ - Intlayer + Lit: [Intlayer with Lit](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_astro_lit.md)
456
481
  </Step>
457
482
 
458
483
  <Step number={15} title="Extract the content of your components" isOptional={true}>
@@ -522,21 +547,7 @@ bun x intlayer extract
522
547
  </Tab>
523
548
  <Tab value='Babel compiler'>
524
549
 
525
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
526
-
527
- Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
528
-
529
- ```ts fileName="vite.config.ts"
530
- import { defineConfig } from "vite";
531
- import { intlayer, intlayerCompiler } from "vite-intlayer";
532
-
533
- export default defineConfig({
534
- plugins: [
535
- intlayer(),
536
- intlayerCompiler(), // Adds the compiler plugin
537
- ],
538
- });
539
- ```
550
+ Build your application to transform your components and extract the content
540
551
 
541
552
  ```bash packageManager="npm"
542
553
  npm run build # Or npm run dev
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-24
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro + Lit i18n - Complete guide to translate your app"
5
5
  description: "No more i18next. The 2026 guide to building a multilingual (i18n) Astro + Lit app. Translate with AI agents and optimise bundle size, SEO and performances."
6
6
  keywords:
@@ -20,6 +20,9 @@ slugs:
20
20
  applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
21
21
  applicationShowcase: https://intlayer-astro-template.vercel.app
22
22
  history:
23
+ - version: 9.5.5
24
+ date: 2026-09-19
25
+ changes: "Use the useIntlayer / useLocale hooks of astro-intlayer in the Astro page"
23
26
  - version: 8.9.0
24
27
  date: 2026-05-04
25
28
  changes: "Update Solid useIntlayer API usage to direct property access"
@@ -151,7 +154,7 @@ bun add intlayer astro-intlayer lit lit-intlayer @astrojs/lit
151
154
  The core package that provides i18n tools for configuration management, translations, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md).
152
155
 
153
156
  - **astro-intlayer**
154
- Includes the Astro integration plugin to link Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), as well as the middleware to detect the user's preferred language, manage cookies, and handle URL redirects.
157
+ Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), a middleware that resolves the locale of every request into `Astro.locals.intlayer`, and the `useIntlayer` / `useDictionary` / `useLocale` hooks. The same import path resolves to the server implementation in your `.astro` frontmatter and to the client one (backed by `vanilla-intlayer`) in `<script>` blocks.
155
158
 
156
159
  - **lit**
157
160
  Core Lit package for building fast, lightweight Web Components.
@@ -246,19 +249,21 @@ export default litDemoContent;
246
249
  </Step>
247
250
  <Step number={5} title="Using Content in Astro">
248
251
 
249
- You can consume the dictionaries directly in your `.astro` files using the core helpers exported from `intlayer`. You should also add SEO metadata (such as hreflang and canonical links) to every page. Lit custom elements are imported via a client `<script>` and placed in the body.
252
+ Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of `react-intlayer`: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
253
+
254
+ The locale comes from the `astro-intlayer` middleware, which the integration registers for you ahead of your own `src/middleware.ts`. It resolves it for every request, from the URL prefix, then the locale persisted by the client (cookie or header), then `Accept-Language`, and stores it in `Astro.locals.intlayer`. Prerendered pages only use the URL, since they are rendered once for every visitor.
255
+
256
+ Lit custom elements are imported via a client `<script>` and placed in the body.
250
257
 
251
258
  ```astro fileName="src/pages/[...locale]/index.astro"
252
259
  ---
260
+ import { useIntlayer, useLocale } from "astro-intlayer";
253
261
  import {
254
- getIntlayer,
255
- getLocaleFromPath,
256
262
  getLocalizedUrl,
257
- getHTMLTextDir,
258
263
  getPrefix,
259
264
  localeMap,
260
265
  defaultLocale,
261
- type LocalesValues,
266
+ getHTMLTextDir,
262
267
  } from "intlayer";
263
268
 
264
269
  export const getStaticPaths = () => {
@@ -267,8 +272,11 @@ export const getStaticPaths = () => {
267
272
  }));
268
273
  };
269
274
 
270
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
271
- const { greeting } = getIntlayer("lit-demo", locale);
275
+ // Locale resolved by the middleware (e.g. /es/about -> 'es')
276
+ const { locale } = useLocale();
277
+
278
+ // Content of the 'lit-demo' dictionary for that locale
279
+ const { greeting } = useIntlayer("lit-demo");
272
280
  ---
273
281
 
274
282
  <!doctype html>
@@ -327,6 +335,8 @@ const { greeting } = getIntlayer("lit-demo", locale);
327
335
  > <img src={String(content.image.src)} alt={String(content.image)} />
328
336
  > ```
329
337
 
338
+ > `Astro.locals.intlayer` also exposes `locale`, `defaultLocale` and `availableLocales` to your own middleware and endpoints. Pass a locale or a selector as second argument (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) to override the request locale for one call.
339
+
330
340
  > **Note on routing setup:**
331
341
  > The directory structure you use depends on the `middleware.routing` setting in `intlayer.config.ts`:
332
342
  >
@@ -483,10 +493,10 @@ const pathList: SitemapUrlEntry[] = [
483
493
  { path: "/about", changefreq: "monthly", priority: 0.7 },
484
494
  ];
485
495
 
486
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
487
-
488
496
  export const GET: APIRoute = async ({ site }) => {
489
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
497
+ const xmlOutput = generateSitemap(pathList, {
498
+ siteUrl: "https://example.com",
499
+ });
490
500
 
491
501
  return new Response(xmlOutput, {
492
502
  headers: { "Content-Type": "application/xml" },
@@ -590,21 +600,7 @@ bun x intlayer extract
590
600
  </Tab>
591
601
  <Tab value='Babel compiler'>
592
602
 
593
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
594
-
595
- Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
596
-
597
- ```ts fileName="vite.config.ts"
598
- import { defineConfig } from "vite";
599
- import { intlayer, intlayerCompiler } from "vite-intlayer";
600
-
601
- export default defineConfig({
602
- plugins: [
603
- intlayer(),
604
- intlayerCompiler(), // Adds the compiler plugin
605
- ],
606
- });
607
- ```
603
+ Build your application to transform your components and extract the content
608
604
 
609
605
  ```bash packageManager="npm"
610
606
  npm run build # Or npm run dev
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-24
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro + Preact i18n - Complete guide to translate your app"
5
5
  description: "No more i18next. The 2026 guide to building a multilingual (i18n) Astro + Preact app. Translate with AI agents and optimise bundle size, SEO and performances."
6
6
  keywords:
@@ -19,6 +19,9 @@ slugs:
19
19
  applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
20
20
  applicationShowcase: https://intlayer-astro-template.vercel.app
21
21
  history:
22
+ - version: 9.5.5
23
+ date: 2026-09-19
24
+ changes: "Use the useIntlayer / useLocale hooks of astro-intlayer in the Astro page"
22
25
  - version: 8.9.0
23
26
  date: 2026-05-04
24
27
  changes: "Update Solid useIntlayer API usage to direct property access"
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer preact preact-intlayer @astrojs/preact
150
153
  The core package that provides i18n tools for configuration management, translations, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md).
151
154
 
152
155
  - **astro-intlayer**
153
- Includes the Astro integration plugin to link Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), as well as the middleware to detect the user's preferred language, manage cookies, and handle URL redirects.
156
+ Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), a middleware that resolves the locale of every request into `Astro.locals.intlayer`, and the `useIntlayer` / `useDictionary` / `useLocale` hooks. The same import path resolves to the server implementation in your `.astro` frontmatter and to the client one (backed by `vanilla-intlayer`) in `<script>` blocks.
154
157
 
155
158
  - **preact**
156
159
  Core Preact package - a fast, lightweight alternative to React.
@@ -243,19 +246,21 @@ export default appContent;
243
246
  </Step>
244
247
  <Step number={5} title="Using Content in Astro">
245
248
 
246
- You can consume the dictionaries directly in your `.astro` files using the core helpers exported from `intlayer`. You should also add SEO metadata (such as hreflang and canonical links) to every page and introduce a Preact island for interactive client-side content.
249
+ Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of `react-intlayer`: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
250
+
251
+ The locale comes from the `astro-intlayer` middleware, which the integration registers for you ahead of your own `src/middleware.ts`. It resolves it for every request, from the URL prefix, then the locale persisted by the client (cookie or header), then `Accept-Language`, and stores it in `Astro.locals.intlayer`. Prerendered pages only use the URL, since they are rendered once for every visitor.
252
+
253
+ You should also add SEO metadata (such as hreflang and canonical links) to every page and introduce a Preact island for interactive client-side content.
247
254
 
248
255
  ```astro fileName="src/pages/[...locale]/index.astro"
249
256
  ---
257
+ import { useIntlayer, useLocale } from "astro-intlayer";
250
258
  import {
251
- getIntlayer,
252
- getLocaleFromPath,
253
259
  getLocalizedUrl,
254
- getHTMLTextDir,
255
260
  getPrefix,
256
261
  localeMap,
257
262
  defaultLocale,
258
- type LocalesValues,
263
+ getHTMLTextDir,
259
264
  } from "intlayer";
260
265
  import { PreactIsland } from "../../components/preact/ReactIsland";
261
266
 
@@ -265,8 +270,11 @@ export const getStaticPaths = () => {
265
270
  }));
266
271
  };
267
272
 
268
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
269
- const { title } = getIntlayer("app", locale);
273
+ // Locale resolved by the middleware (e.g. /es/about -> 'es')
274
+ const { locale } = useLocale();
275
+
276
+ // Content of the 'app' dictionary for that locale
277
+ const { title } = useIntlayer("app");
270
278
  ---
271
279
 
272
280
  <!doctype html>
@@ -322,6 +330,8 @@ const { title } = getIntlayer("app", locale);
322
330
  > <img src={String(content.image.src)} alt={String(content.image)} />
323
331
  > ```
324
332
 
333
+ > `Astro.locals.intlayer` also exposes `locale`, `defaultLocale` and `availableLocales` to your own middleware and endpoints. Pass a locale or a selector as second argument (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) to override the request locale for one call.
334
+
325
335
  > **Note on routing setup:**
326
336
  > The directory structure you use depends on the `middleware.routing` setting in `intlayer.config.ts`:
327
337
  >
@@ -438,10 +448,10 @@ const pathList: SitemapUrlEntry[] = [
438
448
  { path: "/about", changefreq: "monthly", priority: 0.7 },
439
449
  ];
440
450
 
441
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
442
-
443
451
  export const GET: APIRoute = async ({ site }) => {
444
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
452
+ const xmlOutput = generateSitemap(pathList, {
453
+ siteUrl: "https://example.com",
454
+ });
445
455
 
446
456
  return new Response(xmlOutput, {
447
457
  headers: { "Content-Type": "application/xml" },
@@ -545,21 +555,7 @@ bun x intlayer extract
545
555
  </Tab>
546
556
  <Tab value='Babel compiler'>
547
557
 
548
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
549
-
550
- Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
551
-
552
- ```ts fileName="vite.config.ts"
553
- import { defineConfig } from "vite";
554
- import { intlayer, intlayerCompiler } from "vite-intlayer";
555
-
556
- export default defineConfig({
557
- plugins: [
558
- intlayer(),
559
- intlayerCompiler(), // Adds the compiler plugin
560
- ],
561
- });
562
- ```
558
+ Build your application to transform your components and extract the content
563
559
 
564
560
  ```bash packageManager="npm"
565
561
  npm run build # Or npm run dev
@@ -726,6 +722,13 @@ Yes: [plural forms](https://github.com/aymericzip/intlayer/blob/main/docs/docs/e
726
722
 
727
723
  Through the [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_visual_editor.md), which runs on your own infrastructure and lets anyone edit text in place on the running app, or the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_CMS.md), which externalizes content so it can change without a deployment.
728
724
 
725
+ </Question>
726
+ <Question title="What is the cost of the visual editor? Is it overkill if I don't need it?">
727
+
728
+ The [Intlayer visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_visual_editor.md) has **zero cost** on your application if it is not set up. The extra logic is only loaded if explicitly enabled and needed.
729
+
730
+ If enabled, the cost is extremely light (+5 KB, dynamically loaded only when activated) because the main logic is handled by the server editor on [app.intlayer.org](https://app.intlayer.org) or via the `intlayer-editor` package. If you only need a simple translation setup without visual editing, Intlayer adds no overhead to your app.
731
+
729
732
  </Question>
730
733
  <Question title="Is Intlayer free and open source?">
731
734