@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: 2026-04-24
3
- updatedAt: 2026-06-23
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro + Vue i18n - Повний посібник з перекладу вашого застосунку"
5
5
  description: "Більше ніякого i18next. Посібник 2026 зі створення багатомовного (i18n) застосунку Astro + Vue. Перекладайте за допомогою ШІ-агентів та оптимізуйте розмір бандлу, SEO та продуктивність."
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: "Використання хуків useIntlayer / useLocale з astro-intlayer на сторінці Astro"
22
25
  - version: 8.9.0
23
26
  date: 2026-05-04
24
27
  changes: "Оновлення використання API useIntlayer у Solid для прямого доступу до властивостей"
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer vue vue-intlayer @astrojs/vue
150
153
  Основний пакет, що надає інструменти i18n для керування конфігурацією, перекладами, [декларацією вмісту](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/content_file.md), транспіляцією та [командами CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md).
151
154
 
152
155
  - **astro-intlayer**
153
- Плагін інтеграції Astro для зв'язку Intlayer з [бандлером Vite](https://vite.dev/guide/why.html#why-bundle-for-production); він також включає middleware для визначення бажаної мови користувача, керування cookie та обробки перенаправлень URL.
156
+ Включає плагін інтеграції Astro для інтеграції Intlayer із [бандлером Vite](https://vite.dev/guide/why.html#why-bundle-for-production), middleware, що розпізнає локаль кожного запиту в `Astro.locals.intlayer`, та хуки `useIntlayer` / `useDictionary` / `useLocale`. Той самий шлях імпорту розпізнається як серверна реалізація у фронтматтері `.astro` та як клієнтська (на базі `vanilla-intlayer`) у блоках `<script>`.
154
157
 
155
158
  - **vue**
156
159
  Основний пакет Vue.
@@ -239,19 +242,21 @@ export default appContent;
239
242
  </Step>
240
243
  <Step number={5} title="Використання вмісту в Astro">
241
244
 
242
- Ви можете використовувати словники безпосередньо у ваших `.astro` файлах, використовуючи основні допоміжні функції, експортовані з `intlayer`. Вам також слід додати метадані SEO (такі як hreflang та канонічні посилання) на кожній сторінці та додати Vue island для інтерактивного вмісту на стороні клієнта.
245
+ Використовуйте ваші словники у файлах `.astro` за допомогою хуків, що експортуються `astro-intlayer`. Вони мають такі ж сигнатури, як і `react-intlayer`: `useIntlayer("key")` повертає вміст словника, а `useLocale()` поточну локаль, без необхідності передавати аргументи.
246
+
247
+ Локаль надходить із middleware `astro-intlayer`, яке інтеграція реєструє перед вашим власним `src/middleware.ts`. Воно визначає її для кожного запиту, на основі префікса URL, потім збереженої клієнтом локалі (cookie або заголовок), потім `Accept-Language`, і зберігає в `Astro.locals.intlayer`. Попередньо відрендерені сторінки використовують лише URL, оскільки вони рендеряться один раз для кожного відвідувача.
248
+
249
+ Вам також слід додати метадані SEO (такі як hreflang та канонічні посилання) на кожній сторінці та додати Vue island для інтерактивного вмісту на стороні клієнта.
243
250
 
244
251
  ```astro fileName="src/pages/[...locale]/index.astro"
245
252
  ---
253
+ import { useIntlayer, useLocale } from "astro-intlayer";
246
254
  import {
247
- getIntlayer,
248
- getLocaleFromPath,
249
255
  getLocalizedUrl,
250
- getHTMLTextDir,
251
256
  getPrefix,
252
257
  localeMap,
253
258
  defaultLocale,
254
- type LocalesValues,
259
+ getHTMLTextDir,
255
260
  } from "intlayer";
256
261
  import VueIsland from "../../components/vue/VueIsland.vue";
257
262
 
@@ -261,8 +266,11 @@ export const getStaticPaths = () => {
261
266
  }));
262
267
  };
263
268
 
264
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
265
- const { title } = getIntlayer("app", locale);
269
+ // Локаль, визначена middleware (напр. /uk/about -> 'uk')
270
+ const { locale } = useLocale();
271
+
272
+ // Вміст словника 'app' для цієї локалі
273
+ const { title } = useIntlayer("app");
266
274
  ---
267
275
 
268
276
  <!doctype html>
@@ -310,6 +318,8 @@ const { title } = getIntlayer("app", locale);
310
318
  </html>
311
319
  ```
312
320
 
321
+ > `Astro.locals.intlayer` також надає доступ до `locale`, `defaultLocale` та `availableLocales` у ваших власних middleware та ендпоінтах. Передайте локаль або селектор другим аргументом (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`), щоб перевизначити локаль запиту для одного виклику.
322
+
313
323
  > **Примітка щодо налаштування маршрутизації:**
314
324
  > Структура каталогів, яку ви використовуєте, залежить від параметра `middleware.routing` у `intlayer.config.ts`:
315
325
  >
@@ -448,10 +458,10 @@ const pathList: SitemapUrlEntry[] = [
448
458
  { path: "/about", changefreq: "monthly", priority: 0.7 },
449
459
  ];
450
460
 
451
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
452
-
453
461
  export const GET: APIRoute = async ({ site }) => {
454
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
462
+ const xmlOutput = generateSitemap(pathList, {
463
+ siteUrl: "https://example.com",
464
+ });
455
465
 
456
466
  return new Response(xmlOutput, {
457
467
  headers: { "Content-Type": "application/xml" },
@@ -551,21 +561,7 @@ bun x intlayer extract
551
561
  </Tab>
552
562
  <Tab value='Компілятор Babel'>
553
563
 
554
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
555
-
556
- Оновіть свій `vite.config.ts`, щоб включити плагін `intlayerCompiler`:
557
-
558
- ```ts fileName="vite.config.ts"
559
- import { defineConfig } from "vite";
560
- import { intlayer, intlayerCompiler } from "vite-intlayer";
561
-
562
- export default defineConfig({
563
- plugins: [
564
- intlayer(),
565
- intlayerCompiler(), // Adds the compiler plugin
566
- ],
567
- });
568
- ```
564
+ Зберіть застосунок, щоб перетворити ваші компоненти та витягти вміст
569
565
 
570
566
  ```bash packageManager="npm"
571
567
  npm run build # Або npm run dev
@@ -728,6 +724,13 @@ Intlayer використовує розширення модулів (module au
728
724
 
729
725
  Через [візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md), який дозволяє будь-кому редагувати тексти безпосередньо у працюючому додатку, або через [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md), яка відокремлює вміст і дозволяє оновлювати його без повторного розгортання коду.
730
726
 
727
+ </Question>
728
+ <Question title="Яка вартість візуального редактора? Чи не є він надлишковим, якщо він мені не потрібен?">
729
+
730
+ [Візуальний редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) має **нульову вартість** для вашого застосунку, якщо він не налаштований. Додаткова логіка завантажується лише тоді, коли вона явно увімкнена та необхідна.
731
+
732
+ Навіть якщо він увімкнений, вплив є надзвичайно малим (+5 кБ, завантажується динамічно лише під час активації), оскільки основна логіка обробляється серверним редактором на [app.intlayer.org](https://app.intlayer.org) або через пакет `intlayer-editor`. Якщо вам потрібне просте рішення для перекладу без візуального редагування, Intlayer не створює жодних накладних витрат для вашого застосунку.
733
+
731
734
  </Question>
732
735
  <Question title="Чи є Intlayer безкоштовним та відкритим кодом?">
733
736
 
@@ -1112,6 +1112,13 @@ Middleware визначає мову відвідувача та перенап
1112
1112
 
1113
1113
  Через [візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md), який дозволяє будь-кому редагувати тексти безпосередньо у працюючому додатку, або через [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md), яка відокремлює вміст і дозволяє оновлювати його без повторного розгортання коду.
1114
1114
 
1115
+ </Question>
1116
+ <Question title="Яка вартість візуального редактора? Чи не є він надлишковим, якщо він мені не потрібен?">
1117
+
1118
+ [Візуальний редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) має **нульову вартість** для вашого застосунку, якщо він не налаштований. Додаткова логіка завантажується лише тоді, коли вона явно увімкнена та необхідна.
1119
+
1120
+ Навіть якщо він увімкнений, вплив є надзвичайно малим (+5 кБ, завантажується динамічно лише під час активації), оскільки основна логіка обробляється серверним редактором на [app.intlayer.org](https://app.intlayer.org) або через пакет `intlayer-editor`. Якщо вам потрібне просте рішення для перекладу без візуального редагування, Intlayer не створює жодних накладних витрат для вашого застосунку.
1121
+
1115
1122
  </Question>
1116
1123
  <Question title="Чи є Intlayer безкоштовним та відкритим кодом?">
1117
1124
 
@@ -1227,6 +1227,13 @@ Middleware визначає мову відвідувача та перенап
1227
1227
 
1228
1228
  Через [візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md), який дозволяє будь-кому редагувати тексти безпосередньо у працюючому додатку, або через [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md), яка відокремлює вміст і дозволяє оновлювати його без повторного розгортання коду.
1229
1229
 
1230
+ </Question>
1231
+ <Question title="Яка вартість візуального редактора? Чи не є він надлишковим, якщо він мені не потрібен?">
1232
+
1233
+ [Візуальний редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) має **нульову вартість** для вашого застосунку, якщо він не налаштований. Додаткова логіка завантажується лише тоді, коли вона явно увімкнена та необхідна.
1234
+
1235
+ Навіть якщо він увімкнений, вплив є надзвичайно малим (+5 кБ, завантажується динамічно лише під час активації), оскільки основна логіка обробляється серверним редактором на [app.intlayer.org](https://app.intlayer.org) або через пакет `intlayer-editor`. Якщо вам потрібне просте рішення для перекладу без візуального редагування, Intlayer не створює жодних накладних витрат для вашого застосунку.
1236
+
1230
1237
  </Question>
1231
1238
  <Question title="Чи є Intlayer безкоштовним та відкритим кодом?">
1232
1239
 
@@ -1442,6 +1442,13 @@ Middleware визначає мову відвідувача та перенап
1442
1442
 
1443
1443
  Так: [форми множини](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/plurial.md), [контент з урахуванням статі](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/gender.md), умови, [вставки (insertions)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/insertion.md), [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/markdown.md) та [форматування](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/formatters.md) для чисел, дат і валют.
1444
1444
 
1445
+ </Question>
1446
+ <Question title="Яка вартість візуального редактора? Чи не є він надлишковим, якщо він мені не потрібен?">
1447
+
1448
+ [Візуальний редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) має **нульову вартість** для вашого застосунку, якщо він не налаштований. Додаткова логіка завантажується лише тоді, коли вона явно увімкнена та необхідна.
1449
+
1450
+ Навіть якщо він увімкнений, вплив є надзвичайно малим (+5 кБ, завантажується динамічно лише під час активації), оскільки основна логіка обробляється серверним редактором на [app.intlayer.org](https://app.intlayer.org) або через пакет `intlayer-editor`. Якщо вам потрібне просте рішення для перекладу без візуального редагування, Intlayer не створює жодних накладних витрат для вашого застосунку.
1451
+
1445
1452
  </Question>
1446
1453
  <Question title="Чи є Intlayer безкоштовним та відкритим кодом?">
1447
1454
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-04
3
- updatedAt: 2026-06-23
3
+ updatedAt: 2026-09-20
4
4
  title: "React Router v7 i18n - Повний посібник з перекладу вашого застосунку"
5
5
  description: "Більше ніякого i18next. Посібник 2026 зі створення багатомовного (i18n) застосунку React Router v7. Перекладайте за допомогою ШІ-агентів та оптимізуйте розмір бандлу, SEO та продуктивність."
6
6
  keywords:
@@ -889,8 +889,14 @@ bun x intlayer extract
889
889
  </Tab>
890
890
  <Tab value='Компілятор Babel'>
891
891
 
892
+ <Tabs>
893
+ <Tab value='intlayer >= 9'>
894
+
892
895
  > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
893
896
 
897
+ </Tab>
898
+ <Tab value='intlayer < 9'>
899
+
894
900
  Оновіть свій `vite.config.ts`, щоб включити плагін `intlayerCompiler`:
895
901
 
896
902
  ```ts fileName="vite.config.ts"
@@ -905,6 +911,11 @@ export default defineConfig({
905
911
  });
906
912
  ```
907
913
 
914
+ </Tab>
915
+ </Tabs>
916
+
917
+ Зберіть застосунок, щоб перетворити ваші компоненти та витягти вміст
918
+
908
919
  ```bash packageManager="npm"
909
920
  npm run build # Або npm run dev
910
921
  ```
@@ -1074,6 +1085,13 @@ React Router v7 не надає рівня повідомлень, тому ви
1074
1085
 
1075
1086
  Через [візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md), який дозволяє будь-кому редагувати тексти безпосередньо у працюючому додатку, або через [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md), яка відокремлює вміст і дозволяє оновлювати його без повторного розгортання коду.
1076
1087
 
1088
+ </Question>
1089
+ <Question title="Яка вартість візуального редактора? Чи не є він надлишковим, якщо він мені не потрібен?">
1090
+
1091
+ [Візуальний редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) має **нульову вартість** для вашого застосунку, якщо він не налаштований. Додаткова логіка завантажується лише тоді, коли вона явно увімкнена та необхідна.
1092
+
1093
+ Навіть якщо він увімкнений, вплив є надзвичайно малим (+5 кБ, завантажується динамічно лише під час активації), оскільки основна логіка обробляється серверним редактором на [app.intlayer.org](https://app.intlayer.org) або через пакет `intlayer-editor`. Якщо вам потрібне просте рішення для перекладу без візуального редагування, Intlayer не створює жодних накладних витрат для вашого застосунку.
1094
+
1077
1095
  </Question>
1078
1096
  <Question title="Чи є Intlayer безкоштовним та відкритим кодом?">
1079
1097
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-09-09
3
- updatedAt: 2026-09-11
3
+ updatedAt: 2026-09-19
4
4
  title: "Remix 3 i18n - Повний посібник з перекладу вашого застосунку"
5
5
  description: "Забудьте про i18next. Посібник 2026 року зі створення багатомовного (i18n) застосунку Remix 3. Перекладайте за допомогою агентів ШІ та оптимізуйте розмір бандла, SEO та продуктивність."
6
6
  keywords:
@@ -19,6 +19,9 @@ slugs:
19
19
  applicationTemplate: https://github.com/aymericzip/intlayer-remix-3-template
20
20
  applicationShowcase: https://intlayer-remix-3-template.vercel.app
21
21
  history:
22
+ - version: 9.5.5
23
+ date: 2026-09-19
24
+ changes: "Використання middleware та хуків remix-intlayer"
22
25
  - version: 9.5.0
23
26
  date: 2026-09-09
24
27
  changes: "Початкова документація для Remix 3"
@@ -39,7 +42,7 @@ author: aymericzip
39
42
  - **`remix/node-fetch-server`**: Серверні адаптери для Node.js із нативною підтримкою Bun, Deno та edge-середовищ.
40
43
  - **`remix/cookie`**: Криптографічно підписаний парсинг і серіалізація файлів cookie.
41
44
 
42
- У поєднанні з **Intlayer** ви отримуєте повноцінну систему інтернаціоналізації, що гарантує безпеку під час компіляції, автоматизовані переклади за допомогою ШІ, серверний рендеринг без додаткових накладних витрат та зручну маршрутизацію локалей.
45
+ У поєднанні з **Intlayer** та пакетом **`remix-intlayer`**, middleware локалі плюс ті самі хуки `useIntlayer` / `useDictionary` / `useLocale`, що й у `react-intlayer`, прив'язані до контексту запиту Remix, ви отримуєте повноцінну систему інтернаціоналізації, що забезпечує безпеку типів під час компіляції, автоматичні переклади за допомогою ШІ, серверний рендеринг без накладних витрат та безшовну маршрутизацію локалей.
43
46
 
44
47
  ## Зміст
45
48
 
@@ -52,7 +55,7 @@ author: aymericzip
52
55
  <AccordionGroup>
53
56
  <Accordion header="Повне охоплення Remix 3 та веб-стандартів">
54
57
 
55
- Intlayer розроблений для бездоганної роботи з веб-стандартами (`Request`, `Response`, `Headers` та `URL`). Він легко інтегрується у Fetch-роутер Remix 3 через легке middleware, витягуючи локалі зі шляхів URL, cookie або заголовків `Accept-Language` без прив'язки до певного рантайму.
58
+ Intlayer розроблений для природної роботи з веб-стандартами (`Request`, `Response`, `Headers` і `URL`). `remix-intlayer` підключається до маршрутизатора Fetch Remix 3 як легке middleware, витягуючи локаль зі шляхів URL, cookie або заголовків `Accept-Language` та надаючи її решті запиту, обробникам, представленням і компонентам `remix/ui`, без необхідності передавати її вручну чи прив'язуватися до конкретного середовища виконання.
56
59
 
57
60
  </Accordion>
58
61
  <Accordion header="Типобезпечні оголошення вмісту">
@@ -109,25 +112,26 @@ Intlayer розміщує оголошення контенту (`.content.ts`)
109
112
  <Steps>
110
113
  <Step number={1} title="Встановлення залежностей">
111
114
 
112
- Встановіть `intlayer` та `remix` (версії 3) за допомогою обраного пакетного менеджера:
115
+ Встановіть `intlayer`, `remix-intlayer` та `remix` (версія 3) за допомогою обраного менеджера пакетів:
113
116
 
114
117
  ```bash packageManager="npm"
115
- npm install intlayer remix@next
118
+ npm install intlayer remix-intlayer remix@next
116
119
  ```
117
120
 
118
121
  ```bash packageManager="pnpm"
119
- pnpm add intlayer remix@next
122
+ pnpm add intlayer remix-intlayer remix@next
120
123
  ```
121
124
 
122
125
  ```bash packageManager="yarn"
123
- yarn add intlayer remix@next
126
+ yarn add intlayer remix-intlayer remix@next
124
127
  ```
125
128
 
126
129
  ```bash packageManager="bun"
127
- bun add intlayer remix@next
130
+ bun add intlayer remix-intlayer remix@next
128
131
  ```
129
132
 
130
133
  - **`intlayer`**: Основний рушій інтернаціоналізації для керування конфігурацією, оголошення словників (`t()`, `Dictionary`), утиліт CLI та рантайм-інтерпретатора.
134
+ - **`remix-intlayer`**: Інтеграція з Remix 3: middleware маршрутизатора `intlayer()`, що визначає локаль кожного запиту, та хуки `useIntlayer`, `useDictionary` і `useLocale`, які зчитують її далі в коді.
131
135
  - **`remix`**: Уніфікований пакет фреймворку Remix 3, що експортує `remix/router`, `remix/routes`, `remix/ui`, `remix/middleware/render` та `remix/node-fetch-server`.
132
136
 
133
137
  </Step>
@@ -254,65 +258,30 @@ bun x intlayer build
254
258
  Ця команда компілює ваш контент у каталог артефактів `.intlayer`, надаючи автодоповнення TypeScript та швидкий доступ до словників.
255
259
 
256
260
  </Step>
257
- <Step number={5} title="Реалізація middleware Intlayer">
258
-
259
- Remix 3 надає конвеєр middleware через `createRouter({ middleware: [...] })`.
260
-
261
- Створіть middleware Intlayer для визначення мови кожного вхідного запиту за:
262
-
263
- 1. Префіксом шляху URL через `getLocaleFromPath` (наприклад, `/uk` або `/fr`).
264
- 2. Допоміжною функцією `getLocale`, яка узгоджує мову через cookie (`INTLAYER_LOCALE`), власні заголовки (`x-intlayer-locale`), стандартні заголовки `Accept-Language` та значення `defaultLocale`.
265
-
266
- ```typescript fileName="src/middleware/intlayer.ts" codeFormat={["typescript", "esm"]}
267
- import {
268
- defaultLocale,
269
- getCookie,
270
- getLocale,
271
- getLocaleFromPath,
272
- type Locale,
273
- } from "intlayer";
274
- import { createContextKey, type Middleware } from "remix/router";
275
-
276
- /**
277
- * Типобезпечний ключ контексту для отримання визначеної локалі з RequestContext Remix 3.
278
- */
279
- export const localeKey = createContextKey<Locale>(defaultLocale);
280
-
281
- /**
282
- * Middleware Intlayer для Remix 3.
283
- *
284
- * Визначає локаль запиту за таким пріоритетом:
285
- * 1. Префікс шляху URL (напр. `/uk/...`) через `getLocaleFromPath`
286
- * 2. Узгодження заголовків і сховища через `getLocale` (cookie, власний заголовок, Accept-Language, fallback defaultLocale)
287
- *
288
- * Прикріплює визначену локаль до RequestContext Remix 3.
289
- */
290
- export const intlayer = (): Middleware => {
291
- return async (context, next) => {
292
- // Визначення шляху (/uk/about -> "uk", /about -> undefined)
293
- const pathLocale = getLocaleFromPath(context.url.pathname);
294
-
295
- if (pathLocale) {
296
- // Додати визначену локаль до контексту запиту Remix 3
297
- context.set(localeKey, pathLocale);
298
-
299
- return next();
300
- }
301
-
302
- const storedLocale = await getLocale({
303
- getHeader: (name) => context.headers.get(name),
304
- getCookie: (name) =>
305
- getCookie(name, context.headers.get("cookie") ?? undefined),
306
- });
307
-
308
- // Додати визначену локаль до контексту запиту Remix 3
309
- context.set(localeKey, storedLocale ?? defaultLocale);
310
-
311
- return next();
312
- };
313
- };
261
+ <Step number={5} title="Додавання middleware Intlayer">
262
+
263
+ Remix 3 надає компонований конвеєр middleware через `createRouter({ middleware: [...] })`.
264
+
265
+ `remix-intlayer` постачає middleware `intlayer()`. Для кожного вхідного запиту воно визначає локаль за допомогою:
266
+
267
+ 1. URL, у всіх режимах маршрутизації, крім `no-prefix`: префікса шляху (напр. `/uk` або `/en`) або пошукового параметра `?locale=`.
268
+ 2. Локалі, збереженої клієнтом: cookie сховища (`INTLAYER_LOCALE`) або спеціального заголовка (`x-intlayer-locale`).
269
+ 3. Стандартного узгодження `Accept-Language` із поверненням до налаштованої `defaultLocale`.
270
+
271
+ Результат зберігається в контексті запиту Remix як `context.intlayer` (або `context.get(Intlayer)`), з полями `locale`, `defaultLocale` та `availableLocales`. Потім middleware виконує решту запиту всередині області `AsyncLocalStorage`, прив'язаної до цього контексту, що дозволяє хукам пакета зчитувати локаль без аргументів, в обробниках маршрутів, представленнях і компонентах `remix/ui`:
272
+
273
+ ```typescript
274
+ import { useIntlayer, useLocale } from "remix-intlayer";
275
+
276
+ // У будь-якому місці після middleware
277
+ const { locale, availableLocales } = useLocale();
278
+ const { title } = useIntlayer("home");
314
279
  ```
315
280
 
281
+ `useIntlayer("home", "fr")` або `useIntlayer("faq", { item: 2 })` перевизначають локаль запиту для одного виклику, а `useDictionary(homeContent)` зчитує імпортований словник замість ключа. Поза межами запиту хуки повертаються до стандартної локалі.
282
+
283
+ > Middleware також готує словники Intlayer під час запуску сервера, тому відсутність `intlayer build` не залишить реєстр порожнім.
284
+
316
285
  </Step>
317
286
  <Step number={6} title="Визначення типобезпечних маршрутів">
318
287
 
@@ -342,89 +311,81 @@ routes.localizedHome.href({ locale: "uk" }); // "/uk"
342
311
 
343
312
  Remix 3 використовує `remix/ui` для компонентів JSX. Компонент є **функцією налаштування (setup function)**, яка повертає **функцію рендерингу (render function)**. Пропси передаються через типізований `handle` (наприклад, `handle.props.locale`):
344
313
 
345
- Створіть спільну оболонку HTML-документа:
314
+ Почніть зі спільної оболонки `Document`, яка встановлює атрибути `<html lang="..." dir="...">` на основі локалі, визначеної middleware:
346
315
 
347
316
  ```tsx fileName="src/views/document.tsx" codeFormat={["typescript", "esm"]}
348
- import type { SetupFunction } from "remix/ui";
317
+ import { getHTMLTextDir } from "intlayer";
318
+ import { useLocale } from "remix-intlayer";
319
+ import type { Handle, RemixNode } from "remix/ui";
349
320
 
350
- export const Document: SetupFunction<{
321
+ type DocumentProps = {
351
322
  title: string;
352
- lang?: string;
353
- dir?: string;
354
- children?: any;
355
- }> = (handle) => {
356
- return () => {
357
- const { title, lang = "en", dir = "ltr", children } = handle.props;
358
-
359
- return (
360
- <html lang={lang} dir={dir}>
361
- <head>
362
- <meta charSet="utf-8" />
363
- <meta name="viewport" content="width=device-width, initial-scale=1" />
364
- <title>{title}</title>
365
- </head>
366
- <body>{children}</body>
367
- </html>
368
- );
369
- };
323
+ children?: RemixNode;
324
+ };
325
+
326
+ export const Document = (handle: Handle<DocumentProps>) => () => {
327
+ const { title, children } = handle.props;
328
+ const { locale } = useLocale();
329
+
330
+ return (
331
+ <html lang={locale} dir={getHTMLTextDir(locale)}>
332
+ <head>
333
+ <meta charSet="utf-8" />
334
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
335
+ <title>{title}</title>
336
+ </head>
337
+ <body>{children}</body>
338
+ </html>
339
+ );
370
340
  };
371
341
  ```
372
342
 
373
- Потім створіть відображення головної сторінки. Використовуйте `getIntlayer` для отримання вмісту словника для активної локалі та відобразіть перемикач мов за допомогою `getLocalizedPath`:
343
+ Потім створіть головну сторінку. Вона зчитує локалізований словник за допомогою `useIntlayer` та відображає перемикач мов:
374
344
 
375
345
  ```tsx fileName="src/views/home.tsx" codeFormat={["typescript", "esm"]}
376
- import {
377
- getIntlayer,
378
- getHTMLTextDir,
379
- getLocaleName,
380
- getLocalizedPath,
381
- type Locale,
382
- locales,
383
- } from "intlayer";
384
- import type { SetupFunction } from "remix/ui";
385
- import { routes } from "../routes";
346
+ import { getLocaleName, getLocalizedUrl, getPathWithoutLocale } from "intlayer";
347
+ import { useIntlayer, useLocale } from "remix-intlayer";
386
348
  import { Document } from "./document";
387
349
 
388
- export const HomePage: SetupFunction<{ locale: Locale }> = (handle) => {
389
- return () => {
390
- const { locale } = handle.props;
391
- const content = getIntlayer("home", locale);
392
-
393
- return (
394
- <Document
395
- title={content.title}
396
- lang={locale}
397
- dir={getHTMLTextDir(locale)}
398
- >
399
- <header>
400
- <nav aria-label="Languages">
401
- <span>{content.switchLanguage}</span>
402
- {locales.map((loc) => {
403
- const href = getLocalizedPath(routes.home.href(), loc);
404
- const isActive = loc === locale;
350
+ export const HomePage = () => () => {
351
+ const { locale, availableLocales } = useLocale();
352
+ const home = useIntlayer("home");
353
+ const pathWithoutLocale = getPathWithoutLocale();
354
+
355
+ return (
356
+ <Document title={home.title}>
357
+ <header>
358
+ <nav aria-label="Languages">
359
+ <span>{home.switchLanguage}</span>
360
+ <ul>
361
+ {availableLocales.map((localeItem) => {
362
+ const isActive = localeItem === locale;
363
+
405
364
  return (
406
- <a
407
- href={href}
408
- class={isActive ? "active" : undefined}
409
- aria-current={isActive ? "page" : undefined}
410
- >
411
- {getLocaleName(loc, locale)}
412
- </a>
365
+ <li key={localeItem} class="p-1">
366
+ <a
367
+ href={getLocalizedUrl(pathWithoutLocale, localeItem)}
368
+ class={isActive ? "active" : undefined}
369
+ aria-current={isActive ? "page" : undefined}
370
+ >
371
+ {getLocaleName(localeItem, locale)}
372
+ </a>
373
+ </li>
413
374
  );
414
375
  })}
415
- </nav>
416
- </header>
417
- <main>
418
- <h1>{content.title}</h1>
419
- <p>{content.description}</p>
420
- </main>
421
- </Document>
422
- );
423
- };
376
+ </ul>
377
+ </nav>
378
+ </header>
379
+ <main>
380
+ <h1>{home.title}</h1>
381
+ <p>{home.description}</p>
382
+ </main>
383
+ </Document>
384
+ );
424
385
  };
425
386
  ```
426
387
 
427
- > Remix JSX не є React: тут немає хуків, `class` пишеться як є (не `className`), а компоненти транслюються безпосередньо в HTML-відповідь без будь-яких накладних витрат JavaScript на стороні клієнта.
388
+ > JSX у Remix — це не React: `class` пишеться як є (`className` також підтримується), а повторні рендери викликаються явно через `handle.update()`. Інтерпольовані значення екрануються автоматично. Хуки Intlayer є звичайними функціями, що зчитують область запиту, тому їх можна викликати як із функції setup, так і з функції рендерингу.
428
389
 
429
390
  </Step>
430
391
  <Step number={8} title="Підключення маршрутизатора та сервера">
@@ -433,45 +394,37 @@ export const HomePage: SetupFunction<{ locale: Locale }> = (handle) => {
433
394
 
434
395
  ```tsx fileName="src/router.tsx" codeFormat={["typescript", "esm"]}
435
396
  import { isDeclaredLocale } from "intlayer";
397
+ import { intlayer } from "remix-intlayer";
436
398
  import { render } from "remix/middleware/render";
437
399
  import { createRouter } from "remix/router";
438
- import { intlayer, localeKey } from "./middleware/intlayer";
439
400
  import { routes } from "./routes";
440
401
  import { HomePage } from "./views/home";
441
402
 
403
+ // 1. Initialize router with Intlayer + render middleware
442
404
  export const router = createRouter({
443
405
  middleware: [intlayer(), render()],
444
406
  });
445
407
 
408
+ // 2. Map route handlers
446
409
  router.map(routes, {
447
410
  actions: {
448
- // Маршрут мови за замовчуванням (наприклад /)
411
+ // Default locale route
449
412
  home(context) {
450
- const locale = context.get(localeKey);
451
- return context.render(<HomePage locale={locale} />);
413
+ return context.render(<HomePage />);
452
414
  },
453
415
 
454
- // Локалізований маршрут (наприклад /fr, /es)
416
+ // Localized route
455
417
  localizedHome(context) {
456
- const { locale } = context.params;
457
-
458
- if (!isDeclaredLocale(locale)) {
418
+ if (!isDeclaredLocale(context.params.locale)) {
459
419
  return new Response("Not Found", { status: 404 });
460
420
  }
461
-
462
- return context.render(<HomePage locale={locale} />);
421
+ return context.render(<HomePage />);
463
422
  },
464
423
  },
465
424
  });
466
425
  ```
467
426
 
468
- > `context.render` приймає необов'язковий `ResponseInit` другим аргументом, що дозволяє встановлювати власні заголовки (наприклад `Content-Language` або `Cache-Control`) поруч із відрендереною сторінкою:
469
- >
470
- > ```typescript
471
- > return context.render(<HomePage locale={locale} />, {
472
- > headers: { "Content-Language": locale },
473
- > });
474
- > ```
427
+ > `context.render` приймає необов'язковий `ResponseInit` як другий аргумент, наприклад `context.render(<NotFoundPage />, { status: 404 })`. Визначена локаль залишається доступною з обробника як `context.intlayer.locale`, наприклад для формування відповіді `Response.json`.
475
428
 
476
429
  Тепер підключіть `src/server.ts`, використовуючи `remix/node-fetch-server` для Node.js (або експортуйте обробник `fetch` напряму для Bun, Deno або Cloudflare Workers):
477
430