@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-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` (например, `/ru` или `/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 (напр. `/ru/...`) через `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
- // Определение пути (/ru/about -> "ru", /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`: префикс пути (напр. `/ru` или `/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,20 +311,21 @@ routes.localizedHome.href({ locale: "ru" }); // "/ru"
342
311
 
343
312
  Remix 3 рендерит пользовательский интерфейс с помощью JSX-компонентов из `remix/ui`. Компонент представляет собой **setup-функцию**, которая принимает `Handle` и возвращает **функцию рендеринга**. Setup выполняется один раз для каждого экземпляра, рендеринг запускается при каждом обновлении, а props считываются через `handle.props`.
344
313
 
345
- Начните с общей оболочки `Document`, устанавливающей атрибуты `<html lang="..." dir="...">` на основе определенной локали:
314
+ Начните с общей оболочки `Document`, которая задает атрибуты `<html lang="..." dir="...">` на основе локали, разрешенной middleware:
346
315
 
347
316
  ```tsx fileName="src/views/document.tsx" codeFormat={["typescript", "esm"]}
348
- import { getHTMLTextDir, type Locale } from "intlayer";
317
+ import { getHTMLTextDir } from "intlayer";
318
+ import { useLocale } from "remix-intlayer";
349
319
  import type { Handle, RemixNode } from "remix/ui";
350
320
 
351
321
  type DocumentProps = {
352
- locale: Locale;
353
322
  title: string;
354
323
  children?: RemixNode;
355
324
  };
356
325
 
357
326
  export const Document = (handle: Handle<DocumentProps>) => () => {
358
- const { locale, title, children } = handle.props;
327
+ const { title, children } = handle.props;
328
+ const { locale } = useLocale();
359
329
 
360
330
  return (
361
331
  <html lang={locale} dir={getHTMLTextDir(locale)}>
@@ -370,47 +340,40 @@ export const Document = (handle: Handle<DocumentProps>) => () => {
370
340
  };
371
341
  ```
372
342
 
373
- Затем создайте главную страницу. Она извлекает локализованный словарь с помощью `getIntlayer` и отображает переключатель языков:
343
+ Затем создайте главную страницу. Она считывает локализованный словарь с помощью `useIntlayer` и отображает переключатель языков:
374
344
 
375
345
  ```tsx fileName="src/views/home.tsx" codeFormat={["typescript", "esm"]}
376
- import {
377
- getIntlayer,
378
- getLocaleName,
379
- getLocalizedPath,
380
- type Locale,
381
- locales,
382
- } from "intlayer";
383
- import type { Handle } from "remix/ui";
384
- import { routes } from "../routes";
346
+ import { getLocaleName, getLocalizedUrl, getPathWithoutLocale } from "intlayer";
347
+ import { useIntlayer, useLocale } from "remix-intlayer";
385
348
  import { Document } from "./document";
386
349
 
387
- type HomePageProps = {
388
- locale: Locale;
389
- };
390
-
391
- export const HomePage = (handle: Handle<HomePageProps>) => () => {
392
- const { locale } = handle.props;
393
- const home = getIntlayer("home", locale);
350
+ export const HomePage = () => () => {
351
+ const { locale, availableLocales } = useLocale();
352
+ const home = useIntlayer("home");
353
+ const pathWithoutLocale = getPathWithoutLocale();
394
354
 
395
355
  return (
396
- <Document locale={locale} title={home.title}>
356
+ <Document title={home.title}>
397
357
  <header>
398
358
  <nav aria-label="Languages">
399
359
  <span>{home.switchLanguage}</span>
400
- {locales.map((targetLocale) => {
401
- const isActive = targetLocale === locale;
402
-
403
- return (
404
- <a
405
- key={targetLocale}
406
- href={getLocalizedPath(routes.home.href(), targetLocale)}
407
- class={isActive ? "active" : undefined}
408
- aria-current={isActive ? "page" : undefined}
409
- >
410
- {getLocaleName(targetLocale, locale)}
411
- </a>
412
- );
413
- })}
360
+ <ul>
361
+ {availableLocales.map((localeItem) => {
362
+ const isActive = localeItem === locale;
363
+
364
+ return (
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>
374
+ );
375
+ })}
376
+ </ul>
414
377
  </nav>
415
378
  </header>
416
379
  <main>
@@ -422,7 +385,7 @@ export const HomePage = (handle: Handle<HomePageProps>) => () => {
422
385
  };
423
386
  ```
424
387
 
425
- > Remix JSX не является React: здесь нет хуков, атрибут `class` записывается как есть (также поддерживается `className`), а повторный рендеринг запускается явно через `handle.update()`. Интерполированные значения экранируются автоматически.
388
+ > JSX в Remix — это не React: `class` пишется как есть (`className` также поддерживается), а повторные рендеры вызываются явно через `handle.update()`. Интерполированные значения экранируются автоматически. Хуки Intlayer представляют собой простые функции, считывающие область запроса, поэтому их можно вызывать как из функции setup, так и из функции рендеринга.
426
389
 
427
390
  </Step>
428
391
  <Step number={8} title="Подключение роутера и сервера">
@@ -431,39 +394,37 @@ export const HomePage = (handle: Handle<HomePageProps>) => () => {
431
394
 
432
395
  ```tsx fileName="src/router.tsx" codeFormat={["typescript", "esm"]}
433
396
  import { isDeclaredLocale } from "intlayer";
397
+ import { intlayer } from "remix-intlayer";
434
398
  import { render } from "remix/middleware/render";
435
399
  import { createRouter } from "remix/router";
436
- import { intlayer, localeKey } from "./middleware/intlayer";
437
400
  import { routes } from "./routes";
438
401
  import { HomePage } from "./views/home";
439
402
 
440
- // 1. Инициализация роутера с middleware Intlayer + render
403
+ // 1. Initialize router with Intlayer + render middleware
441
404
  export const router = createRouter({
442
405
  middleware: [intlayer(), render()],
443
406
  });
444
407
 
445
- // 2. Назначение обработчиков маршрутов
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
- // Локализованный маршрут
416
+ // Localized route
455
417
  localizedHome(context) {
456
418
  if (!isDeclaredLocale(context.params.locale)) {
457
419
  return new Response("Not Found", { status: 404 });
458
420
  }
459
- const locale = context.get(localeKey);
460
- return context.render(<HomePage locale={locale} />);
421
+ return context.render(<HomePage />);
461
422
  },
462
423
  },
463
424
  });
464
425
  ```
465
426
 
466
- > `context.render` принимает необязательный `ResponseInit` в качестве второго аргумента, например: `context.render(<NotFoundPage locale={locale} />, { status: 404 })`.
427
+ > `context.render` принимает необязательный `ResponseInit` в качестве второго аргумента, например `context.render(<NotFoundPage />, { status: 404 })`. Разрешенная локаль остается доступной из обработчика как `context.intlayer.locale`, например для формирования ответа `Response.json`.
467
428
 
468
429
  Наконец, экспортируйте роутер через стандартный обработчик `fetch`. Один и тот же роутер работает на Node.js, Bun, Deno и Cloudflare Workers:
469
430
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-08-06
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Solid Start i18n — полное руководство по переводу вашего приложения"
5
5
  description: "Забудьте про i18next. Руководство 2026 года по созданию многоязычного (i18n) приложения на SolidStart. Серверная маршрутизация локалей, hreflang, sitemap и перевод с помощью ИИ."
6
6
  keywords:
@@ -748,15 +748,13 @@ SolidStart превращает файл, экспортирующий HTTP-ме
748
748
  import type { APIEvent } from "@solidjs/start/server";
749
749
  import { generateSitemap } from "intlayer";
750
750
 
751
- const SITE_URL = process.env.SITE_URL ?? "http://localhost:3000";
752
-
753
751
  export const GET = (_event: APIEvent) => {
754
752
  const sitemap = generateSitemap(
755
753
  [
756
754
  { path: "/", changefreq: "daily", priority: 1.0 },
757
755
  { path: "/about", changefreq: "monthly", priority: 0.8 },
758
756
  ],
759
- { siteUrl: SITE_URL }
757
+ { siteUrl: "https://example.com" }
760
758
  );
761
759
 
762
760
  return new Response(sitemap, {
@@ -790,8 +788,6 @@ export const GET = (_event: APIEvent) => {
790
788
  ```typescript fileName="src/routes/robots.txt.ts" codeFormat={["typescript", "esm", "commonjs"]}
791
789
  import { getMultilingualUrls } from "intlayer";
792
790
 
793
- const SITE_URL = process.env.SITE_URL ?? "http://localhost:3000";
794
-
795
791
  const disallowedPaths = ["/admin", "/private"].flatMap((path) =>
796
792
  Object.values(getMultilingualUrls(path))
797
793
  );
@@ -803,7 +799,7 @@ export const GET = () =>
803
799
  "Allow: /",
804
800
  ...disallowedPaths.map((path) => `Disallow: ${path}`),
805
801
  "",
806
- `Sitemap: ${SITE_URL}/sitemap.xml`,
802
+ `Sitemap: https://example.com/sitemap.xml`,
807
803
  ].join("\n"),
808
804
  { headers: { "Content-Type": "text/plain" } }
809
805
  );
@@ -922,8 +918,14 @@ bun x intlayer extract
922
918
  </Tab>
923
919
  <Tab value='Babel compiler'>
924
920
 
921
+ <Tabs>
922
+ <Tab value='intlayer >= 9'>
923
+
925
924
  > Начиная с v9, `intlayerCompiler` включён в плагин `intlayer`. Так что добавлять его вручную не нужно.
926
925
 
926
+ </Tab>
927
+ <Tab value='intlayer < 9'>
928
+
927
929
  Обновите ваш `vite.config.ts`, включив плагин `intlayerCompiler`:
928
930
 
929
931
  ```ts fileName="vite.config.ts"
@@ -942,6 +944,11 @@ export default defineConfig({
942
944
  });
943
945
  ```
944
946
 
947
+ </Tab>
948
+ </Tabs>
949
+
950
+ Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
951
+
945
952
  ```bash packageManager="npm"
946
953
  npm run build # Или npm run dev
947
954
  ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-11-20
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "SvelteKit i18n - Полное руководство по переводу вашего приложения"
5
5
  description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения SvelteKit. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
6
6
  keywords:
@@ -707,8 +707,14 @@ bun x intlayer extract
707
707
  </Tab>
708
708
  <Tab value='Компилятор Babel'>
709
709
 
710
+ <Tabs>
711
+ <Tab value='intlayer >= 9'>
712
+
710
713
  > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
711
714
 
715
+ </Tab>
716
+ <Tab value='intlayer < 9'>
717
+
712
718
  Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
713
719
 
714
720
  ```ts fileName="vite.config.ts"
@@ -723,6 +729,11 @@ export default defineConfig({
723
729
  });
724
730
  ```
725
731
 
732
+ </Tab>
733
+ </Tabs>
734
+
735
+ Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
736
+
726
737
  ```bash packageManager="npm"
727
738
  npm run build # Или npm run dev
728
739
  ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-03-25
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "TanStack Start + Solid i18n - Полное руководство по переводу вашего приложения"
5
5
  description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения TanStack Start + Solid. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
6
6
  keywords:
@@ -987,8 +987,14 @@ bun x intlayer extract
987
987
  </Tab>
988
988
  <Tab value='Babel-компилятор'>
989
989
 
990
+ <Tabs>
991
+ <Tab value='intlayer >= 9'>
992
+
990
993
  > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
991
994
 
995
+ </Tab>
996
+ <Tab value='intlayer < 9'>
997
+
992
998
  Обновите ваш `vite.config.ts`, включив плагин `intlayerCompiler`:
993
999
 
994
1000
  ```ts fileName="vite.config.ts"
@@ -1014,6 +1020,11 @@ export default defineConfig({
1014
1020
  });
1015
1021
  ```
1016
1022
 
1023
+ </Tab>
1024
+ </Tabs>
1025
+
1026
+ Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
1027
+
1017
1028
  ```bash packageManager="npm"
1018
1029
  npm run build # Или npm run dev
1019
1030
  ```
@@ -1093,7 +1104,7 @@ export const Route = createFileRoute("/sitemap.xml")({
1093
1104
  { path: "/", changefreq: "daily", priority: 1.0 },
1094
1105
  { path: "/about", changefreq: "monthly", priority: 0.8 },
1095
1106
  ],
1096
- { siteUrl: SITE_URL }
1107
+ { siteUrl: "https://example.com" }
1097
1108
  );
1098
1109
 
1099
1110
  return new Response(sitemap, {
@@ -1259,6 +1270,13 @@ TanStack Start не поставляется со слоем i18n, а вариа
1259
1270
 
1260
1271
  Через [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md), который работает на вашей собственной инфраструктуре и позволяет любому редактировать текст на месте в работающем приложении, или [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md), которая выносит контент вовне, чтобы он мог меняться без развёртывания.
1261
1272
 
1273
+ </Question>
1274
+ <Question title="Каковы затраты ресурсов на визуальный редактор? Не является ли он избыточным, если он мне не нужен?">
1275
+
1276
+ [Визуальный редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md) имеет **нулевую стоимость** для вашего приложения, если он не настроен. Дополнительная логика загружается только в том случае, если она явно включена и необходима.
1277
+
1278
+ Даже если он включен, влияние крайне незначительно (+5 кБ, загружается динамически только при активации), поскольку основная логика обрабатывается серверным редактором на [app.intlayer.org](https://app.intlayer.org) или через пакет `intlayer-editor`. Если вам нужно простое решение для перевода без визуального редактирования, Intlayer не создает никаких накладных расходов для вашего приложения.
1279
+
1262
1280
  </Question>
1263
1281
  <Question title="Является ли Intlayer бесплатным и с открытым исходным кодом?">
1264
1282
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "TanStack Start i18n - Полное руководство по переводу вашего приложения"
5
5
  description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения TanStack Start. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
6
6
  keywords:
@@ -1069,8 +1069,14 @@ bun x intlayer extract
1069
1069
  </Tab>
1070
1070
  <Tab value="Компилятор Babel">
1071
1071
 
1072
+ <Tabs>
1073
+ <Tab value='intlayer >= 9'>
1074
+
1072
1075
  > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
1073
1076
 
1077
+ </Tab>
1078
+ <Tab value='intlayer < 9'>
1079
+
1074
1080
  Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
1075
1081
 
1076
1082
  ```ts fileName="vite.config.ts"
@@ -1085,6 +1091,11 @@ export default defineConfig({
1085
1091
  });
1086
1092
  ```
1087
1093
 
1094
+ </Tab>
1095
+ </Tabs>
1096
+
1097
+ Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
1098
+
1088
1099
  ```bash packageManager="npm"
1089
1100
  npm run build # Или npm run dev
1090
1101
  ```
@@ -1153,10 +1164,6 @@ export default defineConfig({
1153
1164
  import { createFileRoute } from "@tanstack/react-router";
1154
1165
  import { generateSitemap } from "intlayer";
1155
1166
 
1156
- const SITE_URL = (
1157
- import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
1158
- ).replace(/\/$/, "");
1159
-
1160
1167
  export const Route = createFileRoute("/sitemap.xml")({
1161
1168
  server: {
1162
1169
  handlers: {
@@ -1166,7 +1173,7 @@ export const Route = createFileRoute("/sitemap.xml")({
1166
1173
  { path: "/", changefreq: "daily", priority: 1.0 },
1167
1174
  { path: "/about", changefreq: "monthly", priority: 0.8 },
1168
1175
  ],
1169
- { siteUrl: SITE_URL }
1176
+ { siteUrl: "https://example.com" }
1170
1177
  );
1171
1178
 
1172
1179
  return new Response(sitemap, {
@@ -1327,6 +1334,13 @@ TanStack Start не поставляется с собственным слое
1327
1334
 
1328
1335
  Через [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md), который работает на вашей собственной инфраструктуре и позволяет любому редактировать текст на месте на работающем сайте, или [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md), которая выносит контент вовне, чтобы он мог меняться без развёртывания.
1329
1336
 
1337
+ </Question>
1338
+ <Question title="Каковы затраты ресурсов на визуальный редактор? Не является ли он избыточным, если он мне не нужен?">
1339
+
1340
+ [Визуальный редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md) имеет **нулевую стоимость** для вашего приложения, если он не настроен. Дополнительная логика загружается только в том случае, если она явно включена и необходима.
1341
+
1342
+ Даже если он включен, влияние крайне незначительно (+5 кБ, загружается динамически только при активации), поскольку основная логика обрабатывается серверным редактором на [app.intlayer.org](https://app.intlayer.org) или через пакет `intlayer-editor`. Если вам нужно простое решение для перевода без визуального редактирования, Intlayer не создает никаких накладных расходов для вашего приложения.
1343
+
1330
1344
  </Question>
1331
1345
  <Question title="Является ли Intlayer бесплатным и с открытым исходным кодом?">
1332
1346
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-03-23
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Vite + Lit i18n - Полное руководство по переводу вашего приложения"
5
5
  description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения Vite + Lit. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
6
6
  keywords:
@@ -606,6 +606,76 @@ const config: IntlayerConfig = {
606
606
  export default config;
607
607
  ```
608
608
 
609
+ <Tabs>
610
+ <Tab value='Команда Extract'>
611
+
612
+ Запустите экстрактор, чтобы преобразовать ваши компоненты и извлечь контент
613
+
614
+ ```bash packageManager="npm"
615
+ npx intlayer extract
616
+ ```
617
+
618
+ ```bash packageManager="pnpm"
619
+ pnpm intlayer extract
620
+ ```
621
+
622
+ ```bash packageManager="yarn"
623
+ yarn intlayer extract
624
+ ```
625
+
626
+ ```bash packageManager="bun"
627
+ bun x intlayer extract
628
+ ```
629
+
630
+ </Tab>
631
+ <Tab value='Компилятор Babel'>
632
+
633
+ <Tabs>
634
+ <Tab value='intlayer >= 9'>
635
+
636
+ > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
637
+
638
+ </Tab>
639
+ <Tab value='intlayer < 9'>
640
+
641
+ Обновите `vite.config.ts`, включив плагин `intlayerCompiler`:
642
+
643
+ ```ts fileName="vite.config.ts"
644
+ import { defineConfig } from "vite";
645
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
646
+
647
+ export default defineConfig({
648
+ plugins: [
649
+ intlayer(),
650
+ intlayerCompiler(), // Adds the compiler plugin
651
+ ],
652
+ });
653
+ ```
654
+
655
+ </Tab>
656
+ </Tabs>
657
+
658
+ Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
659
+
660
+ ```bash packageManager="npm"
661
+ npm run build # Или npm run dev
662
+ ```
663
+
664
+ ```bash packageManager="pnpm"
665
+ pnpm run build # Или pnpm run dev
666
+ ```
667
+
668
+ ```bash packageManager="yarn"
669
+ yarn build # Или yarn dev
670
+ ```
671
+
672
+ ```bash packageManager="bun"
673
+ bun run build # Или bun run dev
674
+ ```
675
+
676
+ </Tab>
677
+ </Tabs>
678
+
609
679
  </Step>
610
680
 
611
681
  </Steps>
@@ -644,7 +714,9 @@ const pathList = [
644
714
  { path: "/about", changefreq: "monthly", priority: 0.7 },
645
715
  ];
646
716
 
647
- const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
717
+ const sitemapXml = generateSitemap(pathList, {
718
+ siteUrl: "https://example.com",
719
+ });
648
720
  fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
649
721
 
650
722
  const getAllMultilingualUrls = (urls) =>
@@ -657,7 +729,7 @@ const robotsTxt = [
657
729
  "Allow: /",
658
730
  ...disallowedPaths.map((path) => `Disallow: ${path}`),
659
731
  "",
660
- `Sitemap: ${SITE_URL}/sitemap.xml`,
732
+ `Sitemap: https://example.com/sitemap.xml`,
661
733
  ].join("\n");
662
734
 
663
735
  fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);