@intlayer/docs 9.5.4 → 9.5.5

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 (622) hide show
  1. package/README.md +2 -1
  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/de/how_to_pick_react_i18n_library.md +28 -0
  5. package/blog/de/how_to_pick_solid_i18n_library.md +19 -5
  6. package/blog/en/how_to_pick_react_i18n_library.md +28 -0
  7. package/blog/en/how_to_pick_solid_i18n_library.md +19 -5
  8. package/blog/en-GB/how_to_pick_react_i18n_library.md +28 -0
  9. package/blog/en-GB/how_to_pick_solid_i18n_library.md +19 -5
  10. package/blog/es/how_to_pick_react_i18n_library.md +28 -0
  11. package/blog/es/how_to_pick_solid_i18n_library.md +19 -5
  12. package/blog/fr/how_to_pick_react_i18n_library.md +28 -0
  13. package/blog/fr/how_to_pick_solid_i18n_library.md +19 -5
  14. package/blog/hi/how_to_pick_react_i18n_library.md +28 -0
  15. package/blog/hi/how_to_pick_solid_i18n_library.md +19 -5
  16. package/blog/id/how_to_pick_react_i18n_library.md +28 -0
  17. package/blog/id/how_to_pick_solid_i18n_library.md +19 -5
  18. package/blog/it/how_to_pick_react_i18n_library.md +28 -0
  19. package/blog/it/how_to_pick_solid_i18n_library.md +19 -5
  20. package/blog/ja/how_to_pick_react_i18n_library.md +28 -0
  21. package/blog/ja/how_to_pick_solid_i18n_library.md +19 -5
  22. package/blog/ko/how_to_pick_react_i18n_library.md +28 -0
  23. package/blog/ko/how_to_pick_solid_i18n_library.md +19 -5
  24. package/blog/pl/how_to_pick_react_i18n_library.md +28 -0
  25. package/blog/pl/how_to_pick_solid_i18n_library.md +19 -5
  26. package/blog/pt/how_to_pick_react_i18n_library.md +28 -0
  27. package/blog/pt/how_to_pick_solid_i18n_library.md +19 -5
  28. package/blog/ru/how_to_pick_react_i18n_library.md +28 -0
  29. package/blog/ru/how_to_pick_solid_i18n_library.md +19 -5
  30. package/blog/tr/how_to_pick_react_i18n_library.md +28 -0
  31. package/blog/tr/how_to_pick_solid_i18n_library.md +19 -5
  32. package/blog/uk/how_to_pick_react_i18n_library.md +28 -0
  33. package/blog/uk/how_to_pick_solid_i18n_library.md +19 -5
  34. package/blog/vi/how_to_pick_react_i18n_library.md +28 -0
  35. package/blog/vi/how_to_pick_solid_i18n_library.md +19 -5
  36. package/blog/zh/how_to_pick_react_i18n_library.md +28 -0
  37. package/blog/zh/how_to_pick_solid_i18n_library.md +19 -5
  38. package/dist/cjs/generated/docs.entry.cjs +220 -0
  39. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  40. package/dist/esm/generated/docs.entry.mjs +220 -0
  41. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  42. package/dist/types/generated/docs.entry.d.ts +11 -0
  43. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  44. package/docs/ar/how_works_intlayer.md +86 -14
  45. package/docs/ar/intlayer_visual_editor.md +7 -0
  46. package/docs/ar/intlayer_with_astro.md +60 -36
  47. package/docs/ar/intlayer_with_astro_preact.md +7 -0
  48. package/docs/ar/intlayer_with_astro_react.md +7 -0
  49. package/docs/ar/intlayer_with_astro_solid.md +7 -0
  50. package/docs/ar/intlayer_with_astro_svelte.md +7 -0
  51. package/docs/ar/intlayer_with_astro_vanilla.md +7 -0
  52. package/docs/ar/intlayer_with_astro_vue.md +7 -0
  53. package/docs/ar/intlayer_with_nextjs_14.md +7 -0
  54. package/docs/ar/intlayer_with_nextjs_15.md +7 -0
  55. package/docs/ar/intlayer_with_nextjs_16.md +7 -0
  56. package/docs/ar/intlayer_with_react_router_v7.md +7 -0
  57. package/docs/ar/intlayer_with_remix_3.md +73 -112
  58. package/docs/ar/intlayer_with_tanstack+solid.md +7 -0
  59. package/docs/ar/intlayer_with_tanstack.md +7 -0
  60. package/docs/ar/intlayer_with_vite+preact.md +7 -0
  61. package/docs/ar/intlayer_with_vite+react.md +7 -0
  62. package/docs/ar/intlayer_with_vite+solid.md +7 -0
  63. package/docs/ar/packages/astro-intlayer/exports.md +161 -9
  64. package/docs/ar/packages/astro-intlayer/intlayer.md +76 -0
  65. package/docs/ar/packages/astro-intlayer/onRequest.md +76 -0
  66. package/docs/ar/packages/astro-intlayer/useDictionary.md +95 -0
  67. package/docs/ar/packages/astro-intlayer/useIntlayer.md +98 -0
  68. package/docs/ar/packages/astro-intlayer/useLocale.md +126 -0
  69. package/docs/ar/packages/remix-intlayer/Intlayer.md +55 -0
  70. package/docs/ar/packages/remix-intlayer/exports.md +80 -0
  71. package/docs/ar/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  72. package/docs/ar/packages/remix-intlayer/useDictionary.md +95 -0
  73. package/docs/ar/packages/remix-intlayer/useIntlayer.md +94 -0
  74. package/docs/ar/packages/remix-intlayer/useLocale.md +104 -0
  75. package/docs/ar/readme.md +2 -1
  76. package/docs/de/how_works_intlayer.md +86 -14
  77. package/docs/de/intlayer_visual_editor.md +7 -0
  78. package/docs/de/intlayer_with_astro.md +60 -36
  79. package/docs/de/intlayer_with_astro_preact.md +7 -0
  80. package/docs/de/intlayer_with_astro_react.md +7 -0
  81. package/docs/de/intlayer_with_astro_solid.md +7 -0
  82. package/docs/de/intlayer_with_astro_svelte.md +7 -0
  83. package/docs/de/intlayer_with_astro_vanilla.md +7 -0
  84. package/docs/de/intlayer_with_astro_vue.md +7 -0
  85. package/docs/de/intlayer_with_nextjs_14.md +7 -0
  86. package/docs/de/intlayer_with_nextjs_15.md +7 -0
  87. package/docs/de/intlayer_with_nextjs_16.md +7 -0
  88. package/docs/de/intlayer_with_react_router_v7.md +7 -0
  89. package/docs/de/intlayer_with_remix_3.md +70 -109
  90. package/docs/de/intlayer_with_tanstack+solid.md +7 -0
  91. package/docs/de/intlayer_with_tanstack.md +7 -0
  92. package/docs/de/intlayer_with_vite+preact.md +7 -0
  93. package/docs/de/intlayer_with_vite+react.md +7 -0
  94. package/docs/de/intlayer_with_vite+solid.md +7 -0
  95. package/docs/de/packages/astro-intlayer/exports.md +164 -12
  96. package/docs/de/packages/astro-intlayer/intlayer.md +76 -0
  97. package/docs/de/packages/astro-intlayer/onRequest.md +76 -0
  98. package/docs/de/packages/astro-intlayer/useDictionary.md +95 -0
  99. package/docs/de/packages/astro-intlayer/useIntlayer.md +98 -0
  100. package/docs/de/packages/astro-intlayer/useLocale.md +126 -0
  101. package/docs/de/packages/remix-intlayer/Intlayer.md +77 -0
  102. package/docs/de/packages/remix-intlayer/exports.md +176 -0
  103. package/docs/de/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  104. package/docs/de/packages/remix-intlayer/useDictionary.md +94 -0
  105. package/docs/de/packages/remix-intlayer/useIntlayer.md +94 -0
  106. package/docs/de/packages/remix-intlayer/useLocale.md +104 -0
  107. package/docs/de/readme.md +2 -1
  108. package/docs/en/how_works_intlayer.md +86 -14
  109. package/docs/en/intlayer_visual_editor.md +7 -0
  110. package/docs/en/intlayer_with_astro.md +63 -41
  111. package/docs/en/intlayer_with_astro_preact.md +7 -0
  112. package/docs/en/intlayer_with_astro_react.md +7 -0
  113. package/docs/en/intlayer_with_astro_solid.md +7 -0
  114. package/docs/en/intlayer_with_astro_svelte.md +7 -0
  115. package/docs/en/intlayer_with_astro_vanilla.md +7 -0
  116. package/docs/en/intlayer_with_astro_vue.md +7 -0
  117. package/docs/en/intlayer_with_nextjs_14.md +7 -0
  118. package/docs/en/intlayer_with_nextjs_15.md +7 -0
  119. package/docs/en/intlayer_with_nextjs_16.md +7 -0
  120. package/docs/en/intlayer_with_react_router_v7.md +7 -0
  121. package/docs/en/intlayer_with_remix_3.md +74 -122
  122. package/docs/en/intlayer_with_tanstack+solid.md +7 -0
  123. package/docs/en/intlayer_with_tanstack.md +7 -0
  124. package/docs/en/intlayer_with_vite+preact.md +7 -0
  125. package/docs/en/intlayer_with_vite+react.md +7 -0
  126. package/docs/en/intlayer_with_vite+solid.md +7 -0
  127. package/docs/en/introduction.md +2 -1
  128. package/docs/en/packages/astro-intlayer/exports.md +161 -9
  129. package/docs/en/packages/astro-intlayer/intlayer.md +76 -0
  130. package/docs/en/packages/astro-intlayer/onRequest.md +76 -0
  131. package/docs/en/packages/astro-intlayer/useDictionary.md +94 -0
  132. package/docs/en/packages/astro-intlayer/useIntlayer.md +98 -0
  133. package/docs/en/packages/astro-intlayer/useLocale.md +126 -0
  134. package/docs/en/packages/remix-intlayer/Intlayer.md +77 -0
  135. package/docs/en/packages/remix-intlayer/exports.md +176 -0
  136. package/docs/en/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  137. package/docs/en/packages/remix-intlayer/useDictionary.md +94 -0
  138. package/docs/en/packages/remix-intlayer/useIntlayer.md +94 -0
  139. package/docs/en/packages/remix-intlayer/useLocale.md +104 -0
  140. package/docs/en/readme.md +2 -1
  141. package/docs/en-GB/how_works_intlayer.md +86 -14
  142. package/docs/en-GB/intlayer_visual_editor.md +7 -0
  143. package/docs/en-GB/intlayer_with_astro.md +60 -36
  144. package/docs/en-GB/intlayer_with_astro_preact.md +7 -0
  145. package/docs/en-GB/intlayer_with_astro_react.md +7 -0
  146. package/docs/en-GB/intlayer_with_astro_solid.md +7 -0
  147. package/docs/en-GB/intlayer_with_astro_svelte.md +7 -0
  148. package/docs/en-GB/intlayer_with_astro_vanilla.md +7 -0
  149. package/docs/en-GB/intlayer_with_astro_vue.md +7 -0
  150. package/docs/en-GB/intlayer_with_nextjs_14.md +7 -0
  151. package/docs/en-GB/intlayer_with_nextjs_15.md +7 -0
  152. package/docs/en-GB/intlayer_with_nextjs_16.md +7 -0
  153. package/docs/en-GB/intlayer_with_react_router_v7.md +7 -0
  154. package/docs/en-GB/intlayer_with_remix_3.md +66 -105
  155. package/docs/en-GB/intlayer_with_tanstack+solid.md +7 -0
  156. package/docs/en-GB/intlayer_with_tanstack.md +7 -0
  157. package/docs/en-GB/intlayer_with_vite+preact.md +7 -0
  158. package/docs/en-GB/intlayer_with_vite+react.md +7 -0
  159. package/docs/en-GB/intlayer_with_vite+solid.md +7 -0
  160. package/docs/en-GB/packages/astro-intlayer/exports.md +162 -10
  161. package/docs/en-GB/packages/astro-intlayer/intlayer.md +76 -0
  162. package/docs/en-GB/packages/astro-intlayer/onRequest.md +76 -0
  163. package/docs/en-GB/packages/astro-intlayer/useDictionary.md +95 -0
  164. package/docs/en-GB/packages/astro-intlayer/useIntlayer.md +98 -0
  165. package/docs/en-GB/packages/astro-intlayer/useLocale.md +126 -0
  166. package/docs/en-GB/packages/remix-intlayer/Intlayer.md +77 -0
  167. package/docs/en-GB/packages/remix-intlayer/exports.md +176 -0
  168. package/docs/en-GB/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  169. package/docs/en-GB/packages/remix-intlayer/useDictionary.md +94 -0
  170. package/docs/en-GB/packages/remix-intlayer/useIntlayer.md +94 -0
  171. package/docs/en-GB/packages/remix-intlayer/useLocale.md +104 -0
  172. package/docs/en-GB/readme.md +2 -1
  173. package/docs/es/how_works_intlayer.md +86 -14
  174. package/docs/es/intlayer_visual_editor.md +7 -0
  175. package/docs/es/intlayer_with_astro.md +60 -36
  176. package/docs/es/intlayer_with_astro_preact.md +7 -0
  177. package/docs/es/intlayer_with_astro_react.md +7 -0
  178. package/docs/es/intlayer_with_astro_solid.md +7 -0
  179. package/docs/es/intlayer_with_astro_svelte.md +7 -0
  180. package/docs/es/intlayer_with_astro_vanilla.md +7 -0
  181. package/docs/es/intlayer_with_astro_vue.md +7 -0
  182. package/docs/es/intlayer_with_nextjs_14.md +7 -0
  183. package/docs/es/intlayer_with_nextjs_15.md +7 -0
  184. package/docs/es/intlayer_with_nextjs_16.md +7 -0
  185. package/docs/es/intlayer_with_react_router_v7.md +7 -0
  186. package/docs/es/intlayer_with_remix_3.md +73 -112
  187. package/docs/es/intlayer_with_tanstack+solid.md +7 -0
  188. package/docs/es/intlayer_with_tanstack.md +7 -0
  189. package/docs/es/intlayer_with_vite+preact.md +7 -0
  190. package/docs/es/intlayer_with_vite+react.md +7 -0
  191. package/docs/es/intlayer_with_vite+solid.md +7 -0
  192. package/docs/es/packages/astro-intlayer/exports.md +162 -10
  193. package/docs/es/packages/astro-intlayer/intlayer.md +76 -0
  194. package/docs/es/packages/astro-intlayer/onRequest.md +76 -0
  195. package/docs/es/packages/astro-intlayer/useDictionary.md +94 -0
  196. package/docs/es/packages/astro-intlayer/useIntlayer.md +98 -0
  197. package/docs/es/packages/astro-intlayer/useLocale.md +126 -0
  198. package/docs/es/packages/remix-intlayer/Intlayer.md +77 -0
  199. package/docs/es/packages/remix-intlayer/exports.md +176 -0
  200. package/docs/es/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  201. package/docs/es/packages/remix-intlayer/useDictionary.md +94 -0
  202. package/docs/es/packages/remix-intlayer/useIntlayer.md +94 -0
  203. package/docs/es/packages/remix-intlayer/useLocale.md +104 -0
  204. package/docs/es/readme.md +2 -1
  205. package/docs/fr/how_works_intlayer.md +86 -14
  206. package/docs/fr/intlayer_visual_editor.md +7 -0
  207. package/docs/fr/intlayer_with_astro.md +60 -36
  208. package/docs/fr/intlayer_with_astro_preact.md +7 -0
  209. package/docs/fr/intlayer_with_astro_react.md +7 -0
  210. package/docs/fr/intlayer_with_astro_solid.md +7 -0
  211. package/docs/fr/intlayer_with_astro_svelte.md +7 -0
  212. package/docs/fr/intlayer_with_astro_vanilla.md +7 -0
  213. package/docs/fr/intlayer_with_astro_vue.md +7 -0
  214. package/docs/fr/intlayer_with_nextjs_14.md +7 -0
  215. package/docs/fr/intlayer_with_nextjs_15.md +7 -0
  216. package/docs/fr/intlayer_with_nextjs_16.md +7 -0
  217. package/docs/fr/intlayer_with_react_router_v7.md +7 -0
  218. package/docs/fr/intlayer_with_remix_3.md +74 -122
  219. package/docs/fr/intlayer_with_tanstack+solid.md +7 -0
  220. package/docs/fr/intlayer_with_tanstack.md +7 -0
  221. package/docs/fr/intlayer_with_vite+preact.md +7 -0
  222. package/docs/fr/intlayer_with_vite+react.md +7 -0
  223. package/docs/fr/intlayer_with_vite+solid.md +7 -0
  224. package/docs/fr/packages/astro-intlayer/exports.md +162 -10
  225. package/docs/fr/packages/astro-intlayer/intlayer.md +76 -0
  226. package/docs/fr/packages/astro-intlayer/onRequest.md +76 -0
  227. package/docs/fr/packages/astro-intlayer/useDictionary.md +94 -0
  228. package/docs/fr/packages/astro-intlayer/useIntlayer.md +98 -0
  229. package/docs/fr/packages/astro-intlayer/useLocale.md +126 -0
  230. package/docs/fr/packages/remix-intlayer/Intlayer.md +77 -0
  231. package/docs/fr/packages/remix-intlayer/exports.md +176 -0
  232. package/docs/fr/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  233. package/docs/fr/packages/remix-intlayer/useDictionary.md +94 -0
  234. package/docs/fr/packages/remix-intlayer/useIntlayer.md +94 -0
  235. package/docs/fr/packages/remix-intlayer/useLocale.md +104 -0
  236. package/docs/fr/readme.md +2 -1
  237. package/docs/hi/how_works_intlayer.md +86 -14
  238. package/docs/hi/intlayer_visual_editor.md +7 -0
  239. package/docs/hi/intlayer_with_astro.md +61 -37
  240. package/docs/hi/intlayer_with_astro_preact.md +7 -0
  241. package/docs/hi/intlayer_with_astro_react.md +7 -0
  242. package/docs/hi/intlayer_with_astro_solid.md +7 -0
  243. package/docs/hi/intlayer_with_astro_svelte.md +7 -0
  244. package/docs/hi/intlayer_with_astro_vanilla.md +7 -0
  245. package/docs/hi/intlayer_with_astro_vue.md +7 -0
  246. package/docs/hi/intlayer_with_nextjs_14.md +7 -0
  247. package/docs/hi/intlayer_with_nextjs_15.md +7 -0
  248. package/docs/hi/intlayer_with_nextjs_16.md +7 -0
  249. package/docs/hi/intlayer_with_react_router_v7.md +7 -0
  250. package/docs/hi/intlayer_with_remix_3.md +73 -112
  251. package/docs/hi/intlayer_with_tanstack+solid.md +7 -0
  252. package/docs/hi/intlayer_with_tanstack.md +7 -0
  253. package/docs/hi/intlayer_with_vite+preact.md +7 -0
  254. package/docs/hi/intlayer_with_vite+react.md +7 -0
  255. package/docs/hi/intlayer_with_vite+solid.md +7 -0
  256. package/docs/hi/packages/astro-intlayer/exports.md +165 -13
  257. package/docs/hi/packages/astro-intlayer/intlayer.md +76 -0
  258. package/docs/hi/packages/astro-intlayer/onRequest.md +76 -0
  259. package/docs/hi/packages/astro-intlayer/useDictionary.md +95 -0
  260. package/docs/hi/packages/astro-intlayer/useIntlayer.md +98 -0
  261. package/docs/hi/packages/astro-intlayer/useLocale.md +126 -0
  262. package/docs/hi/packages/remix-intlayer/Intlayer.md +55 -0
  263. package/docs/hi/packages/remix-intlayer/exports.md +80 -0
  264. package/docs/hi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  265. package/docs/hi/packages/remix-intlayer/useDictionary.md +95 -0
  266. package/docs/hi/packages/remix-intlayer/useIntlayer.md +94 -0
  267. package/docs/hi/packages/remix-intlayer/useLocale.md +104 -0
  268. package/docs/hi/readme.md +2 -1
  269. package/docs/id/how_works_intlayer.md +86 -14
  270. package/docs/id/intlayer_visual_editor.md +7 -0
  271. package/docs/id/intlayer_with_astro.md +60 -36
  272. package/docs/id/intlayer_with_astro_preact.md +7 -0
  273. package/docs/id/intlayer_with_astro_react.md +7 -0
  274. package/docs/id/intlayer_with_astro_solid.md +7 -0
  275. package/docs/id/intlayer_with_astro_svelte.md +7 -0
  276. package/docs/id/intlayer_with_astro_vanilla.md +7 -0
  277. package/docs/id/intlayer_with_astro_vue.md +7 -0
  278. package/docs/id/intlayer_with_nextjs_14.md +7 -0
  279. package/docs/id/intlayer_with_nextjs_15.md +7 -0
  280. package/docs/id/intlayer_with_nextjs_16.md +7 -0
  281. package/docs/id/intlayer_with_react_router_v7.md +7 -0
  282. package/docs/id/intlayer_with_remix_3.md +101 -148
  283. package/docs/id/intlayer_with_tanstack+solid.md +7 -0
  284. package/docs/id/intlayer_with_tanstack.md +7 -0
  285. package/docs/id/intlayer_with_vite+preact.md +7 -0
  286. package/docs/id/intlayer_with_vite+react.md +7 -0
  287. package/docs/id/intlayer_with_vite+solid.md +7 -0
  288. package/docs/id/packages/astro-intlayer/exports.md +163 -11
  289. package/docs/id/packages/astro-intlayer/intlayer.md +76 -0
  290. package/docs/id/packages/astro-intlayer/onRequest.md +76 -0
  291. package/docs/id/packages/astro-intlayer/useDictionary.md +94 -0
  292. package/docs/id/packages/astro-intlayer/useIntlayer.md +98 -0
  293. package/docs/id/packages/astro-intlayer/useLocale.md +126 -0
  294. package/docs/id/packages/remix-intlayer/Intlayer.md +55 -0
  295. package/docs/id/packages/remix-intlayer/exports.md +80 -0
  296. package/docs/id/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  297. package/docs/id/packages/remix-intlayer/useDictionary.md +95 -0
  298. package/docs/id/packages/remix-intlayer/useIntlayer.md +94 -0
  299. package/docs/id/packages/remix-intlayer/useLocale.md +104 -0
  300. package/docs/id/readme.md +2 -1
  301. package/docs/it/how_works_intlayer.md +86 -14
  302. package/docs/it/intlayer_visual_editor.md +7 -0
  303. package/docs/it/intlayer_with_astro.md +60 -36
  304. package/docs/it/intlayer_with_astro_preact.md +7 -0
  305. package/docs/it/intlayer_with_astro_react.md +7 -0
  306. package/docs/it/intlayer_with_astro_solid.md +7 -0
  307. package/docs/it/intlayer_with_astro_svelte.md +7 -0
  308. package/docs/it/intlayer_with_astro_vanilla.md +7 -0
  309. package/docs/it/intlayer_with_astro_vue.md +7 -0
  310. package/docs/it/intlayer_with_nextjs_14.md +7 -0
  311. package/docs/it/intlayer_with_nextjs_15.md +7 -0
  312. package/docs/it/intlayer_with_nextjs_16.md +7 -0
  313. package/docs/it/intlayer_with_react_router_v7.md +7 -0
  314. package/docs/it/intlayer_with_remix_3.md +70 -109
  315. package/docs/it/intlayer_with_tanstack+solid.md +7 -0
  316. package/docs/it/intlayer_with_tanstack.md +7 -0
  317. package/docs/it/intlayer_with_vite+preact.md +7 -0
  318. package/docs/it/intlayer_with_vite+react.md +7 -0
  319. package/docs/it/intlayer_with_vite+solid.md +7 -0
  320. package/docs/it/packages/astro-intlayer/exports.md +161 -9
  321. package/docs/it/packages/astro-intlayer/intlayer.md +76 -0
  322. package/docs/it/packages/astro-intlayer/onRequest.md +76 -0
  323. package/docs/it/packages/astro-intlayer/useDictionary.md +95 -0
  324. package/docs/it/packages/astro-intlayer/useIntlayer.md +98 -0
  325. package/docs/it/packages/astro-intlayer/useLocale.md +126 -0
  326. package/docs/it/packages/remix-intlayer/Intlayer.md +77 -0
  327. package/docs/it/packages/remix-intlayer/exports.md +176 -0
  328. package/docs/it/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  329. package/docs/it/packages/remix-intlayer/useDictionary.md +94 -0
  330. package/docs/it/packages/remix-intlayer/useIntlayer.md +94 -0
  331. package/docs/it/packages/remix-intlayer/useLocale.md +104 -0
  332. package/docs/it/readme.md +2 -1
  333. package/docs/ja/how_works_intlayer.md +86 -14
  334. package/docs/ja/intlayer_visual_editor.md +7 -0
  335. package/docs/ja/intlayer_with_astro.md +61 -37
  336. package/docs/ja/intlayer_with_astro_preact.md +7 -0
  337. package/docs/ja/intlayer_with_astro_react.md +7 -0
  338. package/docs/ja/intlayer_with_astro_solid.md +7 -0
  339. package/docs/ja/intlayer_with_astro_svelte.md +7 -0
  340. package/docs/ja/intlayer_with_astro_vanilla.md +7 -0
  341. package/docs/ja/intlayer_with_astro_vue.md +7 -0
  342. package/docs/ja/intlayer_with_nextjs_14.md +7 -0
  343. package/docs/ja/intlayer_with_nextjs_15.md +7 -0
  344. package/docs/ja/intlayer_with_nextjs_16.md +7 -0
  345. package/docs/ja/intlayer_with_react_router_v7.md +7 -0
  346. package/docs/ja/intlayer_with_remix_3.md +73 -112
  347. package/docs/ja/intlayer_with_tanstack+solid.md +7 -0
  348. package/docs/ja/intlayer_with_tanstack.md +7 -0
  349. package/docs/ja/intlayer_with_vite+preact.md +7 -0
  350. package/docs/ja/intlayer_with_vite+react.md +7 -0
  351. package/docs/ja/intlayer_with_vite+solid.md +7 -0
  352. package/docs/ja/packages/astro-intlayer/exports.md +163 -11
  353. package/docs/ja/packages/astro-intlayer/intlayer.md +76 -0
  354. package/docs/ja/packages/astro-intlayer/onRequest.md +76 -0
  355. package/docs/ja/packages/astro-intlayer/useDictionary.md +95 -0
  356. package/docs/ja/packages/astro-intlayer/useIntlayer.md +98 -0
  357. package/docs/ja/packages/astro-intlayer/useLocale.md +126 -0
  358. package/docs/ja/packages/remix-intlayer/Intlayer.md +55 -0
  359. package/docs/ja/packages/remix-intlayer/exports.md +80 -0
  360. package/docs/ja/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  361. package/docs/ja/packages/remix-intlayer/useDictionary.md +95 -0
  362. package/docs/ja/packages/remix-intlayer/useIntlayer.md +94 -0
  363. package/docs/ja/packages/remix-intlayer/useLocale.md +104 -0
  364. package/docs/ja/readme.md +2 -1
  365. package/docs/ko/how_works_intlayer.md +86 -14
  366. package/docs/ko/intlayer_visual_editor.md +7 -0
  367. package/docs/ko/intlayer_with_astro.md +61 -37
  368. package/docs/ko/intlayer_with_astro_preact.md +7 -0
  369. package/docs/ko/intlayer_with_astro_react.md +7 -0
  370. package/docs/ko/intlayer_with_astro_solid.md +7 -0
  371. package/docs/ko/intlayer_with_astro_svelte.md +7 -0
  372. package/docs/ko/intlayer_with_astro_vanilla.md +7 -0
  373. package/docs/ko/intlayer_with_astro_vue.md +7 -0
  374. package/docs/ko/intlayer_with_nextjs_14.md +7 -0
  375. package/docs/ko/intlayer_with_nextjs_15.md +7 -0
  376. package/docs/ko/intlayer_with_nextjs_16.md +7 -0
  377. package/docs/ko/intlayer_with_react_router_v7.md +7 -0
  378. package/docs/ko/intlayer_with_remix_3.md +73 -112
  379. package/docs/ko/intlayer_with_tanstack+solid.md +7 -0
  380. package/docs/ko/intlayer_with_tanstack.md +7 -0
  381. package/docs/ko/intlayer_with_vite+preact.md +7 -0
  382. package/docs/ko/intlayer_with_vite+react.md +7 -0
  383. package/docs/ko/intlayer_with_vite+solid.md +7 -0
  384. package/docs/ko/packages/astro-intlayer/exports.md +163 -11
  385. package/docs/ko/packages/astro-intlayer/intlayer.md +76 -0
  386. package/docs/ko/packages/astro-intlayer/onRequest.md +76 -0
  387. package/docs/ko/packages/astro-intlayer/useDictionary.md +95 -0
  388. package/docs/ko/packages/astro-intlayer/useIntlayer.md +98 -0
  389. package/docs/ko/packages/astro-intlayer/useLocale.md +126 -0
  390. package/docs/ko/packages/remix-intlayer/Intlayer.md +55 -0
  391. package/docs/ko/packages/remix-intlayer/exports.md +80 -0
  392. package/docs/ko/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  393. package/docs/ko/packages/remix-intlayer/useDictionary.md +95 -0
  394. package/docs/ko/packages/remix-intlayer/useIntlayer.md +94 -0
  395. package/docs/ko/packages/remix-intlayer/useLocale.md +104 -0
  396. package/docs/ko/readme.md +2 -1
  397. package/docs/pl/how_works_intlayer.md +86 -14
  398. package/docs/pl/intlayer_visual_editor.md +7 -0
  399. package/docs/pl/intlayer_with_astro.md +61 -37
  400. package/docs/pl/intlayer_with_astro_preact.md +7 -0
  401. package/docs/pl/intlayer_with_astro_react.md +7 -0
  402. package/docs/pl/intlayer_with_astro_solid.md +7 -0
  403. package/docs/pl/intlayer_with_astro_svelte.md +7 -0
  404. package/docs/pl/intlayer_with_astro_vanilla.md +7 -0
  405. package/docs/pl/intlayer_with_astro_vue.md +7 -0
  406. package/docs/pl/intlayer_with_nextjs_14.md +7 -0
  407. package/docs/pl/intlayer_with_nextjs_15.md +7 -0
  408. package/docs/pl/intlayer_with_nextjs_16.md +7 -0
  409. package/docs/pl/intlayer_with_react_router_v7.md +7 -0
  410. package/docs/pl/intlayer_with_remix_3.md +101 -148
  411. package/docs/pl/intlayer_with_tanstack+solid.md +7 -0
  412. package/docs/pl/intlayer_with_tanstack.md +7 -0
  413. package/docs/pl/intlayer_with_vite+preact.md +7 -0
  414. package/docs/pl/intlayer_with_vite+react.md +7 -0
  415. package/docs/pl/intlayer_with_vite+solid.md +7 -0
  416. package/docs/pl/packages/astro-intlayer/exports.md +162 -10
  417. package/docs/pl/packages/astro-intlayer/intlayer.md +76 -0
  418. package/docs/pl/packages/astro-intlayer/onRequest.md +76 -0
  419. package/docs/pl/packages/astro-intlayer/useDictionary.md +94 -0
  420. package/docs/pl/packages/astro-intlayer/useIntlayer.md +98 -0
  421. package/docs/pl/packages/astro-intlayer/useLocale.md +126 -0
  422. package/docs/pl/packages/remix-intlayer/Intlayer.md +55 -0
  423. package/docs/pl/packages/remix-intlayer/exports.md +80 -0
  424. package/docs/pl/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  425. package/docs/pl/packages/remix-intlayer/useDictionary.md +95 -0
  426. package/docs/pl/packages/remix-intlayer/useIntlayer.md +94 -0
  427. package/docs/pl/packages/remix-intlayer/useLocale.md +104 -0
  428. package/docs/pl/readme.md +2 -1
  429. package/docs/pt/how_works_intlayer.md +86 -14
  430. package/docs/pt/intlayer_visual_editor.md +7 -0
  431. package/docs/pt/intlayer_with_astro.md +61 -37
  432. package/docs/pt/intlayer_with_astro_preact.md +7 -0
  433. package/docs/pt/intlayer_with_astro_react.md +7 -0
  434. package/docs/pt/intlayer_with_astro_solid.md +7 -0
  435. package/docs/pt/intlayer_with_astro_svelte.md +7 -0
  436. package/docs/pt/intlayer_with_astro_vanilla.md +7 -0
  437. package/docs/pt/intlayer_with_astro_vue.md +7 -0
  438. package/docs/pt/intlayer_with_nextjs_14.md +7 -0
  439. package/docs/pt/intlayer_with_nextjs_15.md +7 -0
  440. package/docs/pt/intlayer_with_nextjs_16.md +7 -0
  441. package/docs/pt/intlayer_with_react_router_v7.md +7 -0
  442. package/docs/pt/intlayer_with_remix_3.md +73 -112
  443. package/docs/pt/intlayer_with_tanstack+solid.md +7 -0
  444. package/docs/pt/intlayer_with_tanstack.md +7 -0
  445. package/docs/pt/intlayer_with_vite+preact.md +7 -0
  446. package/docs/pt/intlayer_with_vite+react.md +7 -0
  447. package/docs/pt/intlayer_with_vite+solid.md +7 -0
  448. package/docs/pt/packages/astro-intlayer/exports.md +162 -10
  449. package/docs/pt/packages/astro-intlayer/intlayer.md +76 -0
  450. package/docs/pt/packages/astro-intlayer/onRequest.md +76 -0
  451. package/docs/pt/packages/astro-intlayer/useDictionary.md +95 -0
  452. package/docs/pt/packages/astro-intlayer/useIntlayer.md +98 -0
  453. package/docs/pt/packages/astro-intlayer/useLocale.md +126 -0
  454. package/docs/pt/packages/remix-intlayer/Intlayer.md +77 -0
  455. package/docs/pt/packages/remix-intlayer/exports.md +176 -0
  456. package/docs/pt/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  457. package/docs/pt/packages/remix-intlayer/useDictionary.md +94 -0
  458. package/docs/pt/packages/remix-intlayer/useIntlayer.md +94 -0
  459. package/docs/pt/packages/remix-intlayer/useLocale.md +104 -0
  460. package/docs/pt/readme.md +2 -1
  461. package/docs/ru/how_works_intlayer.md +86 -14
  462. package/docs/ru/intlayer_visual_editor.md +7 -0
  463. package/docs/ru/intlayer_with_astro.md +61 -37
  464. package/docs/ru/intlayer_with_astro_preact.md +7 -0
  465. package/docs/ru/intlayer_with_astro_react.md +7 -0
  466. package/docs/ru/intlayer_with_astro_solid.md +7 -0
  467. package/docs/ru/intlayer_with_astro_svelte.md +7 -0
  468. package/docs/ru/intlayer_with_astro_vanilla.md +7 -0
  469. package/docs/ru/intlayer_with_astro_vue.md +7 -0
  470. package/docs/ru/intlayer_with_nextjs_14.md +7 -0
  471. package/docs/ru/intlayer_with_nextjs_15.md +7 -0
  472. package/docs/ru/intlayer_with_nextjs_16.md +7 -0
  473. package/docs/ru/intlayer_with_react_router_v7.md +7 -0
  474. package/docs/ru/intlayer_with_remix_3.md +73 -112
  475. package/docs/ru/intlayer_with_tanstack+solid.md +7 -0
  476. package/docs/ru/intlayer_with_tanstack.md +7 -0
  477. package/docs/ru/intlayer_with_vite+preact.md +7 -0
  478. package/docs/ru/intlayer_with_vite+react.md +7 -0
  479. package/docs/ru/intlayer_with_vite+solid.md +7 -0
  480. package/docs/ru/packages/astro-intlayer/exports.md +164 -12
  481. package/docs/ru/packages/astro-intlayer/intlayer.md +76 -0
  482. package/docs/ru/packages/astro-intlayer/onRequest.md +76 -0
  483. package/docs/ru/packages/astro-intlayer/useDictionary.md +95 -0
  484. package/docs/ru/packages/astro-intlayer/useIntlayer.md +98 -0
  485. package/docs/ru/packages/astro-intlayer/useLocale.md +126 -0
  486. package/docs/ru/packages/remix-intlayer/Intlayer.md +55 -0
  487. package/docs/ru/packages/remix-intlayer/exports.md +80 -0
  488. package/docs/ru/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  489. package/docs/ru/packages/remix-intlayer/useDictionary.md +95 -0
  490. package/docs/ru/packages/remix-intlayer/useIntlayer.md +94 -0
  491. package/docs/ru/packages/remix-intlayer/useLocale.md +104 -0
  492. package/docs/ru/readme.md +2 -1
  493. package/docs/tr/how_works_intlayer.md +86 -14
  494. package/docs/tr/intlayer_visual_editor.md +7 -0
  495. package/docs/tr/intlayer_with_astro.md +60 -36
  496. package/docs/tr/intlayer_with_astro_preact.md +7 -0
  497. package/docs/tr/intlayer_with_astro_react.md +7 -0
  498. package/docs/tr/intlayer_with_astro_solid.md +7 -0
  499. package/docs/tr/intlayer_with_astro_svelte.md +7 -0
  500. package/docs/tr/intlayer_with_astro_vanilla.md +7 -0
  501. package/docs/tr/intlayer_with_astro_vue.md +7 -0
  502. package/docs/tr/intlayer_with_nextjs_14.md +7 -0
  503. package/docs/tr/intlayer_with_nextjs_15.md +7 -0
  504. package/docs/tr/intlayer_with_nextjs_16.md +7 -0
  505. package/docs/tr/intlayer_with_react_router_v7.md +7 -0
  506. package/docs/tr/intlayer_with_remix_3.md +101 -148
  507. package/docs/tr/intlayer_with_tanstack+solid.md +7 -0
  508. package/docs/tr/intlayer_with_tanstack.md +7 -0
  509. package/docs/tr/intlayer_with_vite+preact.md +7 -0
  510. package/docs/tr/intlayer_with_vite+react.md +7 -0
  511. package/docs/tr/intlayer_with_vite+solid.md +7 -0
  512. package/docs/tr/packages/astro-intlayer/exports.md +165 -13
  513. package/docs/tr/packages/astro-intlayer/intlayer.md +76 -0
  514. package/docs/tr/packages/astro-intlayer/onRequest.md +76 -0
  515. package/docs/tr/packages/astro-intlayer/useDictionary.md +95 -0
  516. package/docs/tr/packages/astro-intlayer/useIntlayer.md +98 -0
  517. package/docs/tr/packages/astro-intlayer/useLocale.md +126 -0
  518. package/docs/tr/packages/remix-intlayer/Intlayer.md +55 -0
  519. package/docs/tr/packages/remix-intlayer/exports.md +80 -0
  520. package/docs/tr/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  521. package/docs/tr/packages/remix-intlayer/useDictionary.md +95 -0
  522. package/docs/tr/packages/remix-intlayer/useIntlayer.md +94 -0
  523. package/docs/tr/packages/remix-intlayer/useLocale.md +104 -0
  524. package/docs/tr/readme.md +2 -1
  525. package/docs/uk/how_works_intlayer.md +86 -14
  526. package/docs/uk/intlayer_visual_editor.md +7 -0
  527. package/docs/uk/intlayer_with_astro.md +61 -37
  528. package/docs/uk/intlayer_with_astro_preact.md +7 -0
  529. package/docs/uk/intlayer_with_astro_react.md +7 -0
  530. package/docs/uk/intlayer_with_astro_solid.md +7 -0
  531. package/docs/uk/intlayer_with_astro_svelte.md +7 -0
  532. package/docs/uk/intlayer_with_astro_vanilla.md +7 -0
  533. package/docs/uk/intlayer_with_astro_vue.md +7 -0
  534. package/docs/uk/intlayer_with_nextjs_14.md +7 -0
  535. package/docs/uk/intlayer_with_nextjs_15.md +7 -0
  536. package/docs/uk/intlayer_with_nextjs_16.md +7 -0
  537. package/docs/uk/intlayer_with_react_router_v7.md +7 -0
  538. package/docs/uk/intlayer_with_remix_3.md +101 -148
  539. package/docs/uk/intlayer_with_tanstack+solid.md +7 -0
  540. package/docs/uk/intlayer_with_tanstack.md +7 -0
  541. package/docs/uk/intlayer_with_vite+preact.md +7 -0
  542. package/docs/uk/intlayer_with_vite+react.md +7 -0
  543. package/docs/uk/intlayer_with_vite+solid.md +7 -0
  544. package/docs/uk/packages/astro-intlayer/exports.md +162 -10
  545. package/docs/uk/packages/astro-intlayer/intlayer.md +76 -0
  546. package/docs/uk/packages/astro-intlayer/onRequest.md +76 -0
  547. package/docs/uk/packages/astro-intlayer/useDictionary.md +94 -0
  548. package/docs/uk/packages/astro-intlayer/useIntlayer.md +98 -0
  549. package/docs/uk/packages/astro-intlayer/useLocale.md +126 -0
  550. package/docs/uk/packages/remix-intlayer/Intlayer.md +55 -0
  551. package/docs/uk/packages/remix-intlayer/exports.md +80 -0
  552. package/docs/uk/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  553. package/docs/uk/packages/remix-intlayer/useDictionary.md +95 -0
  554. package/docs/uk/packages/remix-intlayer/useIntlayer.md +94 -0
  555. package/docs/uk/packages/remix-intlayer/useLocale.md +104 -0
  556. package/docs/uk/readme.md +2 -1
  557. package/docs/vi/how_works_intlayer.md +86 -14
  558. package/docs/vi/intlayer_visual_editor.md +7 -0
  559. package/docs/vi/intlayer_with_astro.md +60 -36
  560. package/docs/vi/intlayer_with_astro_preact.md +7 -0
  561. package/docs/vi/intlayer_with_astro_react.md +7 -0
  562. package/docs/vi/intlayer_with_astro_solid.md +7 -0
  563. package/docs/vi/intlayer_with_astro_svelte.md +7 -0
  564. package/docs/vi/intlayer_with_astro_vanilla.md +7 -0
  565. package/docs/vi/intlayer_with_astro_vue.md +7 -0
  566. package/docs/vi/intlayer_with_nextjs_14.md +7 -0
  567. package/docs/vi/intlayer_with_nextjs_15.md +7 -0
  568. package/docs/vi/intlayer_with_nextjs_16.md +7 -0
  569. package/docs/vi/intlayer_with_react_router_v7.md +7 -0
  570. package/docs/vi/intlayer_with_remix_3.md +101 -148
  571. package/docs/vi/intlayer_with_tanstack+solid.md +7 -0
  572. package/docs/vi/intlayer_with_tanstack.md +7 -0
  573. package/docs/vi/intlayer_with_vite+preact.md +7 -0
  574. package/docs/vi/intlayer_with_vite+react.md +7 -0
  575. package/docs/vi/intlayer_with_vite+solid.md +7 -0
  576. package/docs/vi/packages/astro-intlayer/exports.md +167 -15
  577. package/docs/vi/packages/astro-intlayer/intlayer.md +76 -0
  578. package/docs/vi/packages/astro-intlayer/onRequest.md +76 -0
  579. package/docs/vi/packages/astro-intlayer/useDictionary.md +94 -0
  580. package/docs/vi/packages/astro-intlayer/useIntlayer.md +98 -0
  581. package/docs/vi/packages/astro-intlayer/useLocale.md +126 -0
  582. package/docs/vi/packages/remix-intlayer/Intlayer.md +55 -0
  583. package/docs/vi/packages/remix-intlayer/exports.md +80 -0
  584. package/docs/vi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  585. package/docs/vi/packages/remix-intlayer/useDictionary.md +95 -0
  586. package/docs/vi/packages/remix-intlayer/useIntlayer.md +94 -0
  587. package/docs/vi/packages/remix-intlayer/useLocale.md +104 -0
  588. package/docs/vi/readme.md +2 -1
  589. package/docs/zh/how_works_intlayer.md +86 -14
  590. package/docs/zh/intlayer_visual_editor.md +7 -0
  591. package/docs/zh/intlayer_with_astro.md +61 -37
  592. package/docs/zh/intlayer_with_astro_preact.md +7 -0
  593. package/docs/zh/intlayer_with_astro_react.md +7 -0
  594. package/docs/zh/intlayer_with_astro_solid.md +7 -0
  595. package/docs/zh/intlayer_with_astro_svelte.md +7 -0
  596. package/docs/zh/intlayer_with_astro_vanilla.md +7 -0
  597. package/docs/zh/intlayer_with_astro_vue.md +7 -0
  598. package/docs/zh/intlayer_with_nextjs_14.md +7 -0
  599. package/docs/zh/intlayer_with_nextjs_15.md +7 -0
  600. package/docs/zh/intlayer_with_nextjs_16.md +7 -0
  601. package/docs/zh/intlayer_with_react_router_v7.md +7 -0
  602. package/docs/zh/intlayer_with_remix_3.md +74 -112
  603. package/docs/zh/intlayer_with_tanstack+solid.md +7 -0
  604. package/docs/zh/intlayer_with_tanstack.md +7 -0
  605. package/docs/zh/intlayer_with_vite+preact.md +7 -0
  606. package/docs/zh/intlayer_with_vite+react.md +7 -0
  607. package/docs/zh/intlayer_with_vite+solid.md +7 -0
  608. package/docs/zh/packages/astro-intlayer/exports.md +166 -14
  609. package/docs/zh/packages/astro-intlayer/intlayer.md +76 -0
  610. package/docs/zh/packages/astro-intlayer/onRequest.md +76 -0
  611. package/docs/zh/packages/astro-intlayer/useDictionary.md +95 -0
  612. package/docs/zh/packages/astro-intlayer/useIntlayer.md +98 -0
  613. package/docs/zh/packages/astro-intlayer/useLocale.md +126 -0
  614. package/docs/zh/packages/remix-intlayer/Intlayer.md +55 -0
  615. package/docs/zh/packages/remix-intlayer/exports.md +80 -0
  616. package/docs/zh/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  617. package/docs/zh/packages/remix-intlayer/useDictionary.md +95 -0
  618. package/docs/zh/packages/remix-intlayer/useIntlayer.md +94 -0
  619. package/docs/zh/packages/remix-intlayer/useLocale.md +104 -0
  620. package/docs/zh/readme.md +2 -1
  621. package/package.json +6 -6
  622. package/src/generated/docs.entry.ts +223 -0
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2026-01-21
3
- updatedAt: 2026-01-21
3
+ updatedAt: 2026-09-19
4
4
  title: astro-intlayer Package Documentation
5
- description: Astro integration for Intlayer, providing setup for locale-based routing and dictionary management.
5
+ description: Astro integration for Intlayer, providing setup for locale-based routing, middleware, hooks, client store, and dictionary management.
6
6
  keywords:
7
7
  - astro-intlayer
8
8
  - astro
@@ -14,6 +14,9 @@ slugs:
14
14
  - astro-intlayer
15
15
  - exports
16
16
  history:
17
+ - version: 9.5.5
18
+ date: 2026-09-19
19
+ changes: "Add useIntlayer, useDictionary, useLocale hooks, middleware, and formatters documentation"
17
20
  - version: 8.0.0
18
21
  date: 2026-01-21
19
22
  changes: "Unified documentation for all exports"
@@ -22,7 +25,7 @@ author: aymericzip
22
25
 
23
26
  # astro-intlayer Package
24
27
 
25
- The `astro-intlayer` package provides the necessary tools to integrate Intlayer into Astro applications. It configures locale-based routing and dictionary management.
28
+ The `astro-intlayer` package provides the necessary tools to integrate Intlayer into Astro applications. It configures locale-based routing, dictionary management, build-time page rewriting, request middleware, and hooks for accessing multilingual content across both server-rendered `.astro` components and client-side scripts.
26
29
 
27
30
  ## Installation
28
31
 
@@ -34,22 +37,171 @@ npm install astro-intlayer
34
37
 
35
38
  ### Integration
36
39
 
37
- The `astro-intlayer` package provides an Astro integration to set up Intlayer in your project.
40
+ The `astro-intlayer` package provides an Astro integration that sets up Intlayer in your project.
38
41
 
39
42
  Import:
40
43
 
41
44
  ```tsx
42
- import "astro-intlayer";
45
+ import { intlayer } from "astro-intlayer";
43
46
  ```
44
47
 
45
- or adding to `astro.config.mjs`:
48
+ or default import in `astro.config.mjs`:
46
49
 
47
50
  ```ts
51
+ import { defineConfig } from "astro/config";
52
+ import intlayer from "astro-intlayer";
53
+
48
54
  export default defineConfig({
49
55
  integrations: [intlayer()],
50
56
  });
51
57
  ```
52
58
 
53
- | Function | Description |
54
- | ---------- | -------------------------------------------------------- |
55
- | `intlayer` | Astro integration that sets up Intlayer in your project. |
59
+ | Function | Description | Related Doc |
60
+ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
61
+ | `intlayer` | Astro integration that prepares dictionaries, configures Vite plugins (aliases, routing proxy, prune), automatically registers request middleware, and emits prerendered pages at localized rewritten URLs. | [intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/intlayer.md) |
62
+
63
+ ### Hooks (Server & Client)
64
+
65
+ Import:
66
+
67
+ ```tsx
68
+ import { useIntlayer, useDictionary, useLocale } from "astro-intlayer";
69
+ ```
70
+
71
+ | Hook | Description | Related Doc |
72
+ | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
73
+ | `useIntlayer` | Picks one dictionary by its key and returns its localized content. In `.astro` frontmatter, it reads the request locale from `Astro.locals`. In client `<script>`, it reads from the client store. | [useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useIntlayer.md) |
74
+ | `useDictionary` | Transforms a dictionary object and returns content for the resolved locale. Works in frontmatter and client scripts. | [useDictionary](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useDictionary.md) |
75
+ | `useLocale` | Returns the current locale, default locale, available locales, and a function to update the locale. | [useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useLocale.md) |
76
+
77
+ ### Middleware (astro-intlayer/middleware)
78
+
79
+ Import:
80
+
81
+ ```tsx
82
+ import { onRequest } from "astro-intlayer/middleware";
83
+ ```
84
+
85
+ | Export | Type | Description | Related Doc |
86
+ | ----------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
87
+ | `onRequest` | `MiddlewareHandler` | Astro middleware that detects the request locale and attaches `Astro.locals.intlayer`. Registered automatically by `intlayer()`, or imported manually to compose. | [onRequest](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/onRequest.md) |
88
+
89
+ ### Utilities
90
+
91
+ Import:
92
+
93
+ ```tsx
94
+ import { getIntlayerLocals } from "astro-intlayer";
95
+ ```
96
+
97
+ | Function | Description | Related Doc |
98
+ | ------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------- |
99
+ | `getIntlayerLocals` | Helper function to retrieve the current `IntlayerLocals` object from the request storage scope outside of Astro.locals. | - |
100
+
101
+ ### Client Utilities (astro-intlayer/client)
102
+
103
+ Import:
104
+
105
+ ```tsx
106
+ import {
107
+ useIntlayer,
108
+ useDictionary,
109
+ useDictionaryDynamic,
110
+ useLocale,
111
+ useLocaleStorage,
112
+ useLocaleCookie,
113
+ getIntlayer,
114
+ getDictionary,
115
+ installIntlayer,
116
+ setLocaleInStorage,
117
+ setLocaleCookie,
118
+ localeInStorage,
119
+ localeCookie,
120
+ } from "astro-intlayer/client";
121
+ ```
122
+
123
+ When imported in the browser or inside client `<script>` tags, `astro-intlayer` automatically maps to `astro-intlayer/client` (powered by `vanilla-intlayer`), providing client-side dictionary getters, store subscribers, and locale persistence tools.
124
+
125
+ ### Formatters (astro-intlayer/format)
126
+
127
+ Import:
128
+
129
+ ```tsx
130
+ import {
131
+ useIntl,
132
+ useDate,
133
+ useNumber,
134
+ useCurrency,
135
+ usePercentage,
136
+ useRelativeTime,
137
+ useList,
138
+ useUnit,
139
+ useCompact,
140
+ } from "astro-intlayer/format";
141
+ ```
142
+
143
+ | Hook | Description |
144
+ | ----------------- | ---------------------------------------------------------------------------------------------------------- |
145
+ | `useIntl` | Returns an Intl instance bound to the request or client locale with caching and subscription capabilities. |
146
+ | `useDate` | Returns a date formatting function pre-bound to the current locale (`Intl.DateTimeFormat`). |
147
+ | `useNumber` | Returns a number formatting function pre-bound to the current locale (`Intl.NumberFormat`). |
148
+ | `useCurrency` | Returns a currency formatting function pre-bound to the current locale. |
149
+ | `usePercentage` | Returns a percentage formatting function pre-bound to the current locale. |
150
+ | `useRelativeTime` | Returns a relative time formatting function pre-bound to the current locale (`Intl.RelativeTimeFormat`). |
151
+ | `useList` | Returns a list formatting function pre-bound to the current locale (`Intl.ListFormat`). |
152
+ | `useUnit` | Returns a unit formatting function pre-bound to the current locale. |
153
+ | `useCompact` | Returns a compact number formatting function pre-bound to the current locale (e.g. `1.5K`). |
154
+
155
+ ### HTML Utilities (astro-intlayer/html)
156
+
157
+ Import:
158
+
159
+ ```tsx
160
+ import { renderHTML, useHTML, useHTMLRenderer } from "astro-intlayer/html";
161
+ ```
162
+
163
+ | Export | Type | Description |
164
+ | ----------------- | ---------- | -------------------------------------------------------- |
165
+ | `renderHTML` | `Function` | Standalone utility function to render HTML nodes. |
166
+ | `useHTML` | `Hook` | Hook to get the HTML provider context and configuration. |
167
+ | `useHTMLRenderer` | `Hook` | Hook to obtain a pre-configured HTML renderer function. |
168
+
169
+ ### Markdown Utilities (astro-intlayer/markdown)
170
+
171
+ Import:
172
+
173
+ ```tsx
174
+ import {
175
+ compileMarkdown,
176
+ renderMarkdown,
177
+ parseMarkdown,
178
+ useMarkdown,
179
+ useMarkdownRenderer,
180
+ } from "astro-intlayer/markdown";
181
+ ```
182
+
183
+ | Export | Type | Description |
184
+ | --------------------- | ---------- | ----------------------------------------------------------- |
185
+ | `compileMarkdown` | `Function` | Compiles markdown strings into structured representation. |
186
+ | `renderMarkdown` | `Function` | Renders markdown content into output nodes. |
187
+ | `parseMarkdown` | `Function` | Parses raw markdown content into an AST. |
188
+ | `useMarkdown` | `Hook` | Hook to get the markdown provider context. |
189
+ | `useMarkdownRenderer` | `Hook` | Hook to obtain a pre-configured Markdown renderer function. |
190
+
191
+ ### Types
192
+
193
+ Import:
194
+
195
+ ```tsx
196
+ import type {
197
+ IntlayerLocals,
198
+ UseLocaleProps,
199
+ UseLocaleResult,
200
+ } from "astro-intlayer";
201
+ ```
202
+
203
+ | Type | Description |
204
+ | ----------------- | ------------------------------------------------------------------------------------------------------------ |
205
+ | `IntlayerLocals` | The object attached to `Astro.locals.intlayer` containing `locale`, `defaultLocale`, and `availableLocales`. |
206
+ | `UseLocaleProps` | Optional configuration properties accepted by `useLocale()`. |
207
+ | `UseLocaleResult` | The return type of `useLocale()`, providing locale properties and update methods. |
@@ -0,0 +1,76 @@
1
+ ---
2
+ createdAt: 2026-01-21
3
+ updatedAt: 2026-09-19
4
+ title: intlayer Integration Documentation | astro-intlayer
5
+ description: See how to configure and use the intlayer Astro integration in astro.config.mjs.
6
+ keywords:
7
+ - intlayer
8
+ - astro
9
+ - astro-intlayer
10
+ - integration
11
+ - i18n
12
+ - Internationalization
13
+ - Documentation
14
+ slugs:
15
+ - doc
16
+ - packages
17
+ - astro-intlayer
18
+ - intlayer
19
+ history:
20
+ - version: 9.5.5
21
+ date: 2026-09-19
22
+ changes: "Update integration documentation with middleware and hooks details"
23
+ - version: 8.0.0
24
+ date: 2026-01-21
25
+ changes: "Init doc"
26
+ author: aymericzip
27
+ ---
28
+
29
+ # intlayer Astro Integration Documentation
30
+
31
+ The `intlayer` integration for Astro configures your project for multilingual internationalization (i18n). It handles build-time dictionary preparation, Vite plugin injection, automatic request middleware registration, and emitting localized prerendered pages.
32
+
33
+ ## Usage
34
+
35
+ Add `intlayer()` to your `astro.config.mjs`:
36
+
37
+ ```ts fileName="astro.config.mjs"
38
+ import { defineConfig } from "astro/config";
39
+ import { intlayer } from "astro-intlayer";
40
+
41
+ export default defineConfig({
42
+ integrations: [intlayer()],
43
+ });
44
+ ```
45
+
46
+ Astro CLI's codemod (`astro add astro-intlayer`) also generates a default import which is supported:
47
+
48
+ ```ts
49
+ import intlayer from "astro-intlayer";
50
+ ```
51
+
52
+ ## Description
53
+
54
+ The integration hooks into Astro's build and runtime lifecycle:
55
+
56
+ 1. **Config Setup (`astro:config:setup`)**:
57
+ - **Dictionary Preparation**: Prepares Intlayer dictionaries and generated types before the build runs.
58
+ - **Vite Plugins**: Injects plugins for Vite aliases (enabling seamless dictionary imports), locale routing proxies, and build pruning.
59
+ - **Middleware Registration**: Automatically injects `astro-intlayer/middleware` into your project's middleware chain, populating `Astro.locals.intlayer` on every incoming request.
60
+ 2. **Build Done (`astro:build:done`)**:
61
+ - **Page Rewrites**: Inspects localized URL rewrite rules and emits prerendered HTML pages at their corresponding localized paths.
62
+
63
+ ## What is Provided Out of the Box
64
+
65
+ Once configured, your Astro application can immediately use:
66
+
67
+ - The `useIntlayer`, `useDictionary`, and `useLocale` hooks inside `.astro` component frontmatter.
68
+ - The `Astro.locals.intlayer` object in Astro endpoints and pages.
69
+ - Client-side imports in `<script>` blocks that mirror the same API with reactive updates.
70
+ - Built-in formatters under `astro-intlayer/format` (`useDate`, `useNumber`, `useCurrency`, etc.).
71
+
72
+ ## Related Documentation
73
+
74
+ - [`useIntlayer` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useIntlayer.md)
75
+ - [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useLocale.md)
76
+ - [`onRequest` Middleware](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/onRequest.md)
@@ -0,0 +1,76 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: onRequest Middleware Documentation | astro-intlayer
5
+ description: See how to use the onRequest middleware in Astro applications to resolve the request locale and populate Astro.locals.intlayer.
6
+ keywords:
7
+ - onRequest
8
+ - middleware
9
+ - astro
10
+ - astro-intlayer
11
+ - Astro.locals
12
+ - Internationalization
13
+ - Documentation
14
+ slugs:
15
+ - doc
16
+ - packages
17
+ - astro-intlayer
18
+ - onRequest
19
+ history:
20
+ - version: 9.5.5
21
+ date: 2026-09-19
22
+ changes: "Init doc"
23
+ author: aymericzip
24
+ ---
25
+
26
+ # onRequest Astro Middleware Documentation
27
+
28
+ The `onRequest` middleware from `astro-intlayer/middleware` resolves the locale of each incoming HTTP request and populates `Astro.locals.intlayer`.
29
+
30
+ When you register the `intlayer()` integration in `astro.config.mjs`, this middleware is injected automatically. You only need to import it directly if you are manually composing Astro middleware using `sequence(...)`.
31
+
32
+ ## Usage
33
+
34
+ ```ts fileName="src/middleware.ts"
35
+ import { onRequest as intlayer } from "astro-intlayer/middleware";
36
+ import { sequence } from "astro:middleware";
37
+
38
+ export const onRequest = sequence(intlayer, async (context, next) => {
39
+ // Access the resolved locale in your custom middleware
40
+ const { locale } = context.locals.intlayer;
41
+ console.log(`Handling request for locale: ${locale}`);
42
+
43
+ return next();
44
+ });
45
+ ```
46
+
47
+ ## Description
48
+
49
+ The middleware performs the following:
50
+
51
+ 1. **Locale Detection**:
52
+ - **URL**: Analyzes the URL path prefix or `?locale=` search parameter (unless `routing.mode` is set to `no-prefix`).
53
+ - **Cookies / Headers**: Checks persisted locale cookies or custom header values.
54
+ - **Accept-Language**: Falls back to the browser's preferred language negotiation.
55
+ - For prerendered pages (`context.isPrerendered`), the locale is extracted strictly from the URL to prevent Astro build warnings.
56
+ 2. **Context Population**: Populates `Astro.locals.intlayer` with:
57
+ - `locale`: The resolved locale.
58
+ - `defaultLocale`: The default fallback locale.
59
+ - `availableLocales`: The array of configured locales.
60
+ 3. **AsyncLocalStorage Scope**: Wraps the downstream request processing inside an `AsyncLocalStorage` scope, allowing `useIntlayer()`, `useDictionary()`, and `useLocale()` to access request state without passing arguments.
61
+
62
+ ## `IntlayerLocals` Type
63
+
64
+ ```ts
65
+ export type IntlayerLocals = {
66
+ locale: DeclaredLocales;
67
+ defaultLocale: DeclaredLocales;
68
+ availableLocales: DeclaredLocales[];
69
+ };
70
+ ```
71
+
72
+ ## Related Documentation
73
+
74
+ - [`intlayer` Integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/intlayer.md)
75
+ - [`useIntlayer` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useIntlayer.md)
76
+ - [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useLocale.md)
@@ -0,0 +1,94 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: useDictionary Hook Documentation | astro-intlayer
5
+ description: See how to use the useDictionary hook in Astro components and scripts to resolve dictionary objects.
6
+ keywords:
7
+ - useDictionary
8
+ - dictionary
9
+ - astro
10
+ - astro-intlayer
11
+ - Intlayer
12
+ - intlayer
13
+ - Internationalization
14
+ - Documentation
15
+ slugs:
16
+ - doc
17
+ - packages
18
+ - astro-intlayer
19
+ - useDictionary
20
+ history:
21
+ - version: 9.5.5
22
+ date: 2026-09-19
23
+ changes: "Init doc"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # useDictionary Hook Documentation
28
+
29
+ The `useDictionary` hook resolves an imported or inline dictionary object and returns its content for the current locale in Astro applications.
30
+
31
+ Unlike `useIntlayer`, which retrieves dictionaries by key from the global dictionary registry, `useDictionary` works directly with a dictionary object.
32
+
33
+ ## Usage
34
+
35
+ ```astro fileName="src/pages/index.astro"
36
+ ---
37
+ import { useDictionary } from "astro-intlayer";
38
+ import homeContent from "../content/home.content";
39
+
40
+ const content = useDictionary(homeContent);
41
+ ---
42
+
43
+ <main>
44
+ <h1>{content.title}</h1>
45
+ <p>{content.description}</p>
46
+ </main>
47
+ ```
48
+
49
+ You can also pass inline dictionaries defined with `t()`:
50
+
51
+ ```astro fileName="src/components/Footer.astro"
52
+ ---
53
+ import { useDictionary } from "astro-intlayer";
54
+ import { t } from "intlayer";
55
+
56
+ const footer = useDictionary({
57
+ key: "footer",
58
+ content: {
59
+ copyright: t({
60
+ en: "All rights reserved.",
61
+ fr: "Tous droits réservés.",
62
+ es: "Todos los derechos reservados.",
63
+ }),
64
+ },
65
+ });
66
+ ---
67
+
68
+ <footer>
69
+ <p>{footer.copyright}</p>
70
+ </footer>
71
+ ```
72
+
73
+ ## Parameters
74
+
75
+ ```ts
76
+ useDictionary(dictionary, localeOrSelector?)
77
+ ```
78
+
79
+ 1. **`dictionary`**: A dictionary object or qualified dictionary group.
80
+ 2. **`localeOrSelector`** (optional): A specific locale or selector object (`{ item }`, `{ variant }`, optionally with `locale`).
81
+
82
+ ## Description
83
+
84
+ The hook performs the following tasks:
85
+
86
+ 1. **Locale Detection**: On the server, it obtains the locale from `Astro.locals.intlayer`. In the browser, it uses the client-side store locale.
87
+ 2. **Content Processing**: Resolves translations (`t()`), enumerations, conditions, and nested structures according to the resolved locale.
88
+ 3. **Selectors**: Applies any item or variant selectors provided in the arguments.
89
+
90
+ ## Related Documentation
91
+
92
+ - [`intlayer` Integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/intlayer.md)
93
+ - [`useIntlayer` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useIntlayer.md)
94
+ - [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useLocale.md)
@@ -0,0 +1,98 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: useIntlayer Hook Documentation | astro-intlayer
5
+ description: See how to use the useIntlayer hook in Astro components and client scripts to access localized content.
6
+ keywords:
7
+ - useIntlayer
8
+ - dictionary
9
+ - astro
10
+ - astro-intlayer
11
+ - Intlayer
12
+ - intlayer
13
+ - Internationalization
14
+ - Documentation
15
+ slugs:
16
+ - doc
17
+ - packages
18
+ - astro-intlayer
19
+ - useIntlayer
20
+ history:
21
+ - version: 9.5.5
22
+ date: 2026-09-19
23
+ changes: "Init doc"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # useIntlayer Hook Documentation
28
+
29
+ The `useIntlayer` hook allows you to retrieve localized dictionary content by key in Astro applications.
30
+
31
+ It can be called in two distinct contexts using the same import path:
32
+
33
+ 1. **Server / Frontmatter**: Inside `.astro` files, it automatically resolves content using the request locale stored in `Astro.locals.intlayer`.
34
+ 2. **Browser / Client `<script>`**: Inside client scripts or UI framework components, it resolves to the client-side store implementation (`vanilla-intlayer`).
35
+
36
+ ## Usage
37
+
38
+ ### In Astro Component Frontmatter
39
+
40
+ ```astro fileName="src/pages/index.astro"
41
+ ---
42
+ import { useIntlayer } from "astro-intlayer";
43
+
44
+ const content = useIntlayer("home");
45
+ ---
46
+
47
+ <main>
48
+ <h1>{content.title}</h1>
49
+ <p>{content.description}</p>
50
+ </main>
51
+ ```
52
+
53
+ ### In Client `<script>` Blocks
54
+
55
+ ```astro fileName="src/components/InteractiveWidget.astro"
56
+ ---
57
+ import { useIntlayer } from "astro-intlayer";
58
+
59
+ const content = useIntlayer("home");
60
+ ---
61
+
62
+ <button id="alert-btn">{content.buttonText}</button>
63
+
64
+ <script>
65
+ import { useIntlayer } from "astro-intlayer";
66
+
67
+ const content = useIntlayer("home");
68
+
69
+ document.getElementById("alert-btn")?.addEventListener("click", () => {
70
+ alert(content.buttonText);
71
+ });
72
+ </script>
73
+ ```
74
+
75
+ ## Parameters
76
+
77
+ ```ts
78
+ useIntlayer(key, localeOrSelector?)
79
+ ```
80
+
81
+ 1. **`key`**: The unique key of the dictionary (as defined in your `.content.ts` declaration files).
82
+ 2. **`localeOrSelector`** (optional): A specific locale or selector object (`{ item }`, `{ variant }`, optionally with `locale`). When provided, it overrides the locale detected from the request context or client store.
83
+
84
+ ## Description
85
+
86
+ The hook performs the following tasks:
87
+
88
+ 1. **Locale Resolution**:
89
+ - On the server, reads the active locale from `Astro.locals.intlayer` via an `AsyncLocalStorage` scope initialized by the `astro-intlayer/middleware`.
90
+ - In the browser, reads the active locale from the client storage/store.
91
+ 2. **Dictionary Retrieval**: Injects the dictionary content matching the specified key.
92
+ 3. **Translation Processing**: Resolves translations (`t()`), enumerations, conditions, and markdown into ready-to-render content.
93
+
94
+ ## Related Documentation
95
+
96
+ - [`intlayer` Integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/intlayer.md)
97
+ - [`useDictionary` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useDictionary.md)
98
+ - [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useLocale.md)
@@ -0,0 +1,126 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: useLocale Hook Documentation | astro-intlayer
5
+ description: See how to use the useLocale hook in Astro applications to access and manage the current locale.
6
+ keywords:
7
+ - useLocale
8
+ - locale
9
+ - astro
10
+ - astro-intlayer
11
+ - Intlayer
12
+ - intlayer
13
+ - Internationalization
14
+ - Documentation
15
+ slugs:
16
+ - doc
17
+ - packages
18
+ - astro-intlayer
19
+ - useLocale
20
+ history:
21
+ - version: 9.5.5
22
+ date: 2026-09-19
23
+ changes: "Init doc"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # useLocale Hook Documentation
28
+
29
+ The `useLocale` hook from `astro-intlayer` provides access to the current request locale, the configured default locale, and all available locales in Astro applications.
30
+
31
+ It behaves consistently across server-rendered `.astro` frontmatter and client-side `<script>` blocks.
32
+
33
+ ## Usage
34
+
35
+ ### In Component Frontmatter (Server-Rendered)
36
+
37
+ ```astro fileName="src/layouts/Layout.astro"
38
+ ---
39
+ import { useLocale } from "astro-intlayer";
40
+ import { getLocalizedUrl, getPathWithoutLocale } from "intlayer";
41
+
42
+ const { locale, defaultLocale, availableLocales } = useLocale();
43
+ const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
44
+ ---
45
+
46
+ <!DOCTYPE html>
47
+ <html lang={locale}>
48
+ <head>
49
+ <meta charset="utf-8" />
50
+ <title>Astro + Intlayer</title>
51
+ </head>
52
+ <body>
53
+ <header>
54
+ <span>Current: {locale}</span>
55
+ <span>Default: {defaultLocale}</span>
56
+ <nav>
57
+ <ul>
58
+ {availableLocales.map((localeItem) => (
59
+ <li key={localeItem} className="p-1">
60
+ <a
61
+ href={getLocalizedUrl(pathWithoutLocale, localeItem)}
62
+ aria-current={localeItem === locale ? "page" : undefined}
63
+ >
64
+ {localeItem.toUpperCase()}
65
+ </a>
66
+ </li>
67
+ ))}
68
+ </ul>
69
+ </nav>
70
+ </header>
71
+ <slot />
72
+ </body>
73
+ </html>
74
+ ```
75
+
76
+ ### In Client `<script>` (Interactive)
77
+
78
+ ```astro fileName="src/components/LocaleSwitcher.astro"
79
+ ---
80
+ import { useLocale } from "astro-intlayer";
81
+
82
+ const { locale, availableLocales } = useLocale();
83
+ ---
84
+
85
+ <select id="locale-select">
86
+ {availableLocales.map((loc) => (
87
+ <option value={loc} selected={loc === locale}>
88
+ {loc.toUpperCase()}
89
+ </option>
90
+ ))}
91
+ </select>
92
+
93
+ <script>
94
+ import { useLocale, setLocaleInStorage } from "astro-intlayer";
95
+
96
+ const { setLocale } = useLocale();
97
+
98
+ document.getElementById("locale-select")?.addEventListener("change", (e) => {
99
+ const target = e.target as HTMLSelectElement;
100
+ setLocale(target.value);
101
+ });
102
+ </script>
103
+ ```
104
+
105
+ ## Return Values
106
+
107
+ The hook returns an object of type `UseLocaleResult`:
108
+
109
+ | Property | Type | Description |
110
+ | ------------------ | -------------------------------------- | ------------------------------------------------------------------------------------ |
111
+ | `locale` | `DeclaredLocales` | The active locale. |
112
+ | `defaultLocale` | `DeclaredLocales` | The default fallback locale configured in `intlayer.config.ts`. |
113
+ | `availableLocales` | `DeclaredLocales[]` | Array of all supported locales configured for the project. |
114
+ | `setLocale` | `(locale: LocalesValues) => void` | Function to update the locale. (Interactive in client `<script>`, warns during SSR). |
115
+ | `subscribe` | `(callback: () => void) => () => void` | Subscribes to client-side locale changes. |
116
+
117
+ ## Server vs Client Behavior
118
+
119
+ - **During SSR / Server Rendering**: A request is rendered once with fixed parameters. Calling `setLocale()` during a server render has no effect and emits a warning; locale switching should be performed on the client or by navigating to the target locale URL.
120
+ - **In Client Scripts**: `setLocale` updates the client store and updates persisted cookies or local storage according to your Intlayer configuration.
121
+
122
+ ## Related Documentation
123
+
124
+ - [`intlayer` Integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/intlayer.md)
125
+ - [`useIntlayer` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useIntlayer.md)
126
+ - [`useDictionary` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/astro-intlayer/useDictionary.md)