@intlayer/docs 9.5.5 → 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 (447) hide show
  1. package/README.md +0 -1
  2. package/blog/ar/transform_existing_vite_react_app_using_compiler.md +4 -2
  3. package/blog/de/transform_existing_vite_react_app_using_compiler.md +4 -2
  4. package/blog/en/transform_existing_vite_react_app_using_compiler.md +4 -2
  5. package/blog/en-GB/transform_existing_vite_react_app_using_compiler.md +4 -2
  6. package/blog/es/transform_existing_vite_react_app_using_compiler.md +4 -2
  7. package/blog/fr/transform_existing_vite_react_app_using_compiler.md +4 -2
  8. package/blog/hi/transform_existing_vite_react_app_using_compiler.md +4 -2
  9. package/blog/id/transform_existing_vite_react_app_using_compiler.md +4 -2
  10. package/blog/it/transform_existing_vite_react_app_using_compiler.md +4 -2
  11. package/blog/ja/transform_existing_vite_react_app_using_compiler.md +4 -2
  12. package/blog/ko/transform_existing_vite_react_app_using_compiler.md +4 -2
  13. package/blog/pl/transform_existing_vite_react_app_using_compiler.md +4 -2
  14. package/blog/pt/transform_existing_vite_react_app_using_compiler.md +4 -2
  15. package/blog/ru/transform_existing_vite_react_app_using_compiler.md +4 -2
  16. package/blog/tr/transform_existing_vite_react_app_using_compiler.md +4 -2
  17. package/blog/uk/transform_existing_vite_react_app_using_compiler.md +4 -2
  18. package/blog/vi/transform_existing_vite_react_app_using_compiler.md +4 -2
  19. package/blog/zh/transform_existing_vite_react_app_using_compiler.md +4 -2
  20. package/docs/ar/intlayer_with_astro.md +19 -32
  21. package/docs/ar/intlayer_with_astro_lit.md +32 -36
  22. package/docs/ar/intlayer_with_astro_preact.md +32 -36
  23. package/docs/ar/intlayer_with_astro_react.md +32 -36
  24. package/docs/ar/intlayer_with_astro_solid.md +32 -36
  25. package/docs/ar/intlayer_with_astro_svelte.md +32 -36
  26. package/docs/ar/intlayer_with_astro_vue.md +32 -36
  27. package/docs/ar/intlayer_with_react_router_v7.md +12 -1
  28. package/docs/ar/intlayer_with_solid_start.md +14 -7
  29. package/docs/ar/intlayer_with_svelte_kit.md +12 -1
  30. package/docs/ar/intlayer_with_tanstack+solid.md +13 -2
  31. package/docs/ar/intlayer_with_tanstack.md +13 -6
  32. package/docs/ar/intlayer_with_vite+lit.md +75 -3
  33. package/docs/ar/intlayer_with_vite+preact.md +27 -19
  34. package/docs/ar/intlayer_with_vite+react.md +27 -19
  35. package/docs/ar/intlayer_with_vite+solid.md +27 -19
  36. package/docs/ar/intlayer_with_vite+svelte.md +27 -19
  37. package/docs/ar/intlayer_with_vite+vanilla.md +16 -3
  38. package/docs/ar/intlayer_with_vite+vue.md +27 -19
  39. package/docs/ar/introduction.md +0 -1
  40. package/docs/ar/readme.md +0 -1
  41. package/docs/ar/releases/v8.md +1 -5
  42. package/docs/bn/intlayer_with_vite+lit.md +75 -3
  43. package/docs/bn/intlayer_with_vite+vanilla.md +16 -3
  44. package/docs/bn/introduction.md +0 -1
  45. package/docs/cs/intlayer_with_vite+lit.md +75 -3
  46. package/docs/cs/intlayer_with_vite+vanilla.md +16 -3
  47. package/docs/cs/introduction.md +0 -1
  48. package/docs/de/intlayer_with_astro.md +12 -25
  49. package/docs/de/intlayer_with_astro_lit.md +23 -27
  50. package/docs/de/intlayer_with_astro_preact.md +23 -27
  51. package/docs/de/intlayer_with_astro_react.md +23 -27
  52. package/docs/de/intlayer_with_astro_solid.md +23 -27
  53. package/docs/de/intlayer_with_astro_svelte.md +23 -27
  54. package/docs/de/intlayer_with_astro_vue.md +23 -27
  55. package/docs/de/intlayer_with_react_router_v7.md +12 -1
  56. package/docs/de/intlayer_with_solid_start.md +14 -7
  57. package/docs/de/intlayer_with_svelte_kit.md +12 -1
  58. package/docs/de/intlayer_with_tanstack+solid.md +13 -2
  59. package/docs/de/intlayer_with_tanstack.md +13 -6
  60. package/docs/de/intlayer_with_vite+lit.md +75 -3
  61. package/docs/de/intlayer_with_vite+preact.md +16 -3
  62. package/docs/de/intlayer_with_vite+react.md +16 -3
  63. package/docs/de/intlayer_with_vite+solid.md +16 -3
  64. package/docs/de/intlayer_with_vite+svelte.md +16 -3
  65. package/docs/de/intlayer_with_vite+vanilla.md +16 -3
  66. package/docs/de/intlayer_with_vite+vue.md +16 -3
  67. package/docs/de/introduction.md +0 -1
  68. package/docs/de/readme.md +0 -1
  69. package/docs/de/releases/v8.md +1 -5
  70. package/docs/en/intlayer_with_astro.md +5 -20
  71. package/docs/en/intlayer_with_astro_lit.md +22 -26
  72. package/docs/en/intlayer_with_astro_preact.md +22 -26
  73. package/docs/en/intlayer_with_astro_react.md +22 -26
  74. package/docs/en/intlayer_with_astro_solid.md +22 -26
  75. package/docs/en/intlayer_with_astro_svelte.md +22 -26
  76. package/docs/en/intlayer_with_astro_vanilla.md +20 -13
  77. package/docs/en/intlayer_with_astro_vue.md +22 -26
  78. package/docs/en/intlayer_with_react_router_v7.md +12 -1
  79. package/docs/en/intlayer_with_solid_start.md +14 -7
  80. package/docs/en/intlayer_with_svelte_kit.md +12 -1
  81. package/docs/en/intlayer_with_tanstack+solid.md +13 -2
  82. package/docs/en/intlayer_with_tanstack.md +12 -5
  83. package/docs/en/intlayer_with_vite+lit.md +75 -3
  84. package/docs/en/intlayer_with_vite+preact.md +16 -3
  85. package/docs/en/intlayer_with_vite+react.md +16 -3
  86. package/docs/en/intlayer_with_vite+solid.md +16 -3
  87. package/docs/en/intlayer_with_vite+svelte.md +16 -3
  88. package/docs/en/intlayer_with_vite+vanilla.md +16 -3
  89. package/docs/en/intlayer_with_vite+vue.md +16 -3
  90. package/docs/en/introduction.md +0 -1
  91. package/docs/en/readme.md +0 -1
  92. package/docs/en/releases/v8.md +1 -5
  93. package/docs/en-GB/intlayer_with_astro.md +12 -25
  94. package/docs/en-GB/intlayer_with_astro_lit.md +23 -27
  95. package/docs/en-GB/intlayer_with_astro_preact.md +23 -27
  96. package/docs/en-GB/intlayer_with_astro_react.md +23 -27
  97. package/docs/en-GB/intlayer_with_astro_solid.md +23 -27
  98. package/docs/en-GB/intlayer_with_astro_svelte.md +23 -27
  99. package/docs/en-GB/intlayer_with_astro_vue.md +23 -27
  100. package/docs/en-GB/intlayer_with_react_router_v7.md +12 -1
  101. package/docs/en-GB/intlayer_with_solid_start.md +14 -7
  102. package/docs/en-GB/intlayer_with_svelte_kit.md +12 -1
  103. package/docs/en-GB/intlayer_with_tanstack+solid.md +13 -2
  104. package/docs/en-GB/intlayer_with_tanstack.md +13 -6
  105. package/docs/en-GB/intlayer_with_vite+lit.md +75 -3
  106. package/docs/en-GB/intlayer_with_vite+preact.md +16 -3
  107. package/docs/en-GB/intlayer_with_vite+react.md +16 -3
  108. package/docs/en-GB/intlayer_with_vite+solid.md +25 -15
  109. package/docs/en-GB/intlayer_with_vite+svelte.md +16 -3
  110. package/docs/en-GB/intlayer_with_vite+vanilla.md +16 -3
  111. package/docs/en-GB/intlayer_with_vite+vue.md +16 -3
  112. package/docs/en-GB/introduction.md +0 -1
  113. package/docs/en-GB/readme.md +0 -1
  114. package/docs/en-GB/releases/v8.md +1 -5
  115. package/docs/es/intlayer_with_astro.md +12 -25
  116. package/docs/es/intlayer_with_astro_lit.md +23 -27
  117. package/docs/es/intlayer_with_astro_preact.md +23 -27
  118. package/docs/es/intlayer_with_astro_react.md +23 -27
  119. package/docs/es/intlayer_with_astro_solid.md +23 -27
  120. package/docs/es/intlayer_with_astro_svelte.md +23 -27
  121. package/docs/es/intlayer_with_astro_vue.md +23 -27
  122. package/docs/es/intlayer_with_react_router_v7.md +12 -1
  123. package/docs/es/intlayer_with_solid_start.md +14 -7
  124. package/docs/es/intlayer_with_svelte_kit.md +12 -1
  125. package/docs/es/intlayer_with_tanstack+solid.md +13 -2
  126. package/docs/es/intlayer_with_tanstack.md +13 -6
  127. package/docs/es/intlayer_with_vite+lit.md +75 -3
  128. package/docs/es/intlayer_with_vite+preact.md +16 -3
  129. package/docs/es/intlayer_with_vite+react.md +16 -3
  130. package/docs/es/intlayer_with_vite+solid.md +16 -3
  131. package/docs/es/intlayer_with_vite+svelte.md +16 -3
  132. package/docs/es/intlayer_with_vite+vanilla.md +16 -3
  133. package/docs/es/intlayer_with_vite+vue.md +16 -3
  134. package/docs/es/introduction.md +0 -1
  135. package/docs/es/readme.md +0 -1
  136. package/docs/es/releases/v8.md +1 -5
  137. package/docs/fr/intlayer_with_astro.md +13 -26
  138. package/docs/fr/intlayer_with_astro_lit.md +24 -28
  139. package/docs/fr/intlayer_with_astro_preact.md +24 -28
  140. package/docs/fr/intlayer_with_astro_react.md +24 -28
  141. package/docs/fr/intlayer_with_astro_solid.md +24 -28
  142. package/docs/fr/intlayer_with_astro_svelte.md +24 -28
  143. package/docs/fr/intlayer_with_astro_vue.md +24 -28
  144. package/docs/fr/intlayer_with_react_router_v7.md +15 -4
  145. package/docs/fr/intlayer_with_solid_start.md +14 -7
  146. package/docs/fr/intlayer_with_svelte_kit.md +15 -4
  147. package/docs/fr/intlayer_with_tanstack+solid.md +15 -4
  148. package/docs/fr/intlayer_with_tanstack.md +13 -6
  149. package/docs/fr/intlayer_with_vite+lit.md +75 -3
  150. package/docs/fr/intlayer_with_vite+preact.md +19 -6
  151. package/docs/fr/intlayer_with_vite+react.md +19 -6
  152. package/docs/fr/intlayer_with_vite+solid.md +19 -6
  153. package/docs/fr/intlayer_with_vite+svelte.md +19 -6
  154. package/docs/fr/intlayer_with_vite+vanilla.md +19 -6
  155. package/docs/fr/intlayer_with_vite+vue.md +19 -6
  156. package/docs/fr/introduction.md +0 -1
  157. package/docs/fr/readme.md +0 -1
  158. package/docs/fr/releases/v8.md +1 -5
  159. package/docs/hi/intlayer_with_astro.md +15 -31
  160. package/docs/hi/intlayer_with_astro_lit.md +26 -33
  161. package/docs/hi/intlayer_with_astro_preact.md +26 -33
  162. package/docs/hi/intlayer_with_astro_react.md +26 -33
  163. package/docs/hi/intlayer_with_astro_solid.md +26 -33
  164. package/docs/hi/intlayer_with_astro_svelte.md +26 -33
  165. package/docs/hi/intlayer_with_astro_vue.md +26 -33
  166. package/docs/hi/intlayer_with_react_router_v7.md +20 -12
  167. package/docs/hi/intlayer_with_solid_start.md +14 -7
  168. package/docs/hi/intlayer_with_svelte_kit.md +20 -12
  169. package/docs/hi/intlayer_with_tanstack+solid.md +13 -2
  170. package/docs/hi/intlayer_with_tanstack.md +21 -17
  171. package/docs/hi/intlayer_with_vite+lit.md +75 -3
  172. package/docs/hi/intlayer_with_vite+preact.md +24 -14
  173. package/docs/hi/intlayer_with_vite+react.md +24 -14
  174. package/docs/hi/intlayer_with_vite+solid.md +24 -14
  175. package/docs/hi/intlayer_with_vite+svelte.md +24 -14
  176. package/docs/hi/intlayer_with_vite+vanilla.md +16 -3
  177. package/docs/hi/intlayer_with_vite+vue.md +24 -14
  178. package/docs/hi/introduction.md +0 -1
  179. package/docs/hi/readme.md +0 -1
  180. package/docs/hi/releases/v8.md +1 -5
  181. package/docs/id/intlayer_with_astro.md +12 -25
  182. package/docs/id/intlayer_with_astro_lit.md +23 -27
  183. package/docs/id/intlayer_with_astro_preact.md +23 -27
  184. package/docs/id/intlayer_with_astro_react.md +23 -27
  185. package/docs/id/intlayer_with_astro_solid.md +23 -27
  186. package/docs/id/intlayer_with_astro_svelte.md +23 -27
  187. package/docs/id/intlayer_with_astro_vue.md +23 -27
  188. package/docs/id/intlayer_with_react_router_v7.md +12 -1
  189. package/docs/id/intlayer_with_solid_start.md +14 -7
  190. package/docs/id/intlayer_with_svelte_kit.md +12 -1
  191. package/docs/id/intlayer_with_tanstack+solid.md +13 -2
  192. package/docs/id/intlayer_with_tanstack.md +13 -6
  193. package/docs/id/intlayer_with_vite+lit.md +75 -3
  194. package/docs/id/intlayer_with_vite+preact.md +16 -3
  195. package/docs/id/intlayer_with_vite+react.md +16 -3
  196. package/docs/id/intlayer_with_vite+solid.md +16 -3
  197. package/docs/id/intlayer_with_vite+svelte.md +16 -3
  198. package/docs/id/intlayer_with_vite+vanilla.md +16 -3
  199. package/docs/id/intlayer_with_vite+vue.md +16 -3
  200. package/docs/id/introduction.md +0 -1
  201. package/docs/id/readme.md +0 -1
  202. package/docs/id/releases/v8.md +1 -5
  203. package/docs/it/intlayer_with_astro.md +12 -25
  204. package/docs/it/intlayer_with_astro_lit.md +23 -27
  205. package/docs/it/intlayer_with_astro_preact.md +23 -27
  206. package/docs/it/intlayer_with_astro_react.md +23 -27
  207. package/docs/it/intlayer_with_astro_solid.md +23 -27
  208. package/docs/it/intlayer_with_astro_svelte.md +23 -27
  209. package/docs/it/intlayer_with_astro_vue.md +23 -27
  210. package/docs/it/intlayer_with_react_router_v7.md +12 -1
  211. package/docs/it/intlayer_with_solid_start.md +14 -7
  212. package/docs/it/intlayer_with_svelte_kit.md +12 -1
  213. package/docs/it/intlayer_with_tanstack+solid.md +13 -2
  214. package/docs/it/intlayer_with_tanstack.md +13 -6
  215. package/docs/it/intlayer_with_vite+lit.md +75 -3
  216. package/docs/it/intlayer_with_vite+preact.md +16 -3
  217. package/docs/it/intlayer_with_vite+react.md +16 -3
  218. package/docs/it/intlayer_with_vite+solid.md +16 -3
  219. package/docs/it/intlayer_with_vite+svelte.md +16 -3
  220. package/docs/it/intlayer_with_vite+vanilla.md +16 -3
  221. package/docs/it/intlayer_with_vite+vue.md +16 -3
  222. package/docs/it/introduction.md +0 -1
  223. package/docs/it/readme.md +0 -1
  224. package/docs/it/releases/v8.md +1 -5
  225. package/docs/ja/intlayer_with_astro.md +12 -25
  226. package/docs/ja/intlayer_with_astro_lit.md +23 -27
  227. package/docs/ja/intlayer_with_astro_preact.md +23 -27
  228. package/docs/ja/intlayer_with_astro_react.md +23 -27
  229. package/docs/ja/intlayer_with_astro_solid.md +23 -27
  230. package/docs/ja/intlayer_with_astro_svelte.md +23 -27
  231. package/docs/ja/intlayer_with_astro_vue.md +23 -27
  232. package/docs/ja/intlayer_with_react_router_v7.md +12 -1
  233. package/docs/ja/intlayer_with_solid_start.md +14 -7
  234. package/docs/ja/intlayer_with_svelte_kit.md +21 -15
  235. package/docs/ja/intlayer_with_tanstack+solid.md +13 -2
  236. package/docs/ja/intlayer_with_tanstack.md +13 -6
  237. package/docs/ja/intlayer_with_vite+lit.md +75 -3
  238. package/docs/ja/intlayer_with_vite+preact.md +16 -3
  239. package/docs/ja/intlayer_with_vite+react.md +16 -3
  240. package/docs/ja/intlayer_with_vite+solid.md +16 -3
  241. package/docs/ja/intlayer_with_vite+svelte.md +16 -3
  242. package/docs/ja/intlayer_with_vite+vanilla.md +16 -3
  243. package/docs/ja/intlayer_with_vite+vue.md +16 -3
  244. package/docs/ja/introduction.md +0 -1
  245. package/docs/ja/readme.md +0 -1
  246. package/docs/ja/releases/v8.md +1 -5
  247. package/docs/ko/intlayer_with_astro.md +6 -21
  248. package/docs/ko/intlayer_with_astro_lit.md +23 -27
  249. package/docs/ko/intlayer_with_astro_preact.md +23 -27
  250. package/docs/ko/intlayer_with_astro_react.md +23 -27
  251. package/docs/ko/intlayer_with_astro_solid.md +23 -27
  252. package/docs/ko/intlayer_with_astro_svelte.md +23 -27
  253. package/docs/ko/intlayer_with_astro_vue.md +23 -27
  254. package/docs/ko/intlayer_with_react_router_v7.md +12 -1
  255. package/docs/ko/intlayer_with_solid_start.md +14 -7
  256. package/docs/ko/intlayer_with_svelte_kit.md +12 -1
  257. package/docs/ko/intlayer_with_tanstack+solid.md +13 -2
  258. package/docs/ko/intlayer_with_tanstack.md +13 -6
  259. package/docs/ko/intlayer_with_vite+lit.md +75 -3
  260. package/docs/ko/intlayer_with_vite+preact.md +16 -3
  261. package/docs/ko/intlayer_with_vite+react.md +16 -3
  262. package/docs/ko/intlayer_with_vite+solid.md +26 -16
  263. package/docs/ko/intlayer_with_vite+svelte.md +16 -3
  264. package/docs/ko/intlayer_with_vite+vanilla.md +16 -3
  265. package/docs/ko/intlayer_with_vite+vue.md +16 -3
  266. package/docs/ko/introduction.md +0 -1
  267. package/docs/ko/readme.md +0 -1
  268. package/docs/ko/releases/v8.md +1 -5
  269. package/docs/nl/intlayer_with_vite+lit.md +75 -3
  270. package/docs/nl/intlayer_with_vite+vanilla.md +16 -3
  271. package/docs/nl/introduction.md +0 -1
  272. package/docs/pl/intlayer_with_astro.md +6 -21
  273. package/docs/pl/intlayer_with_astro_lit.md +23 -27
  274. package/docs/pl/intlayer_with_astro_preact.md +23 -27
  275. package/docs/pl/intlayer_with_astro_react.md +23 -27
  276. package/docs/pl/intlayer_with_astro_solid.md +23 -27
  277. package/docs/pl/intlayer_with_astro_svelte.md +23 -27
  278. package/docs/pl/intlayer_with_astro_vue.md +23 -27
  279. package/docs/pl/intlayer_with_react_router_v7.md +12 -1
  280. package/docs/pl/intlayer_with_solid_start.md +14 -7
  281. package/docs/pl/intlayer_with_svelte_kit.md +12 -1
  282. package/docs/pl/intlayer_with_tanstack+solid.md +13 -2
  283. package/docs/pl/intlayer_with_tanstack.md +13 -6
  284. package/docs/pl/intlayer_with_vite+lit.md +75 -3
  285. package/docs/pl/intlayer_with_vite+preact.md +16 -3
  286. package/docs/pl/intlayer_with_vite+react.md +16 -3
  287. package/docs/pl/intlayer_with_vite+solid.md +16 -3
  288. package/docs/pl/intlayer_with_vite+svelte.md +16 -3
  289. package/docs/pl/intlayer_with_vite+vanilla.md +16 -3
  290. package/docs/pl/intlayer_with_vite+vue.md +16 -3
  291. package/docs/pl/introduction.md +0 -1
  292. package/docs/pl/readme.md +0 -1
  293. package/docs/pl/releases/v8.md +1 -5
  294. package/docs/pt/intlayer_with_astro.md +6 -21
  295. package/docs/pt/intlayer_with_astro_lit.md +23 -27
  296. package/docs/pt/intlayer_with_astro_preact.md +23 -27
  297. package/docs/pt/intlayer_with_astro_react.md +23 -27
  298. package/docs/pt/intlayer_with_astro_solid.md +23 -27
  299. package/docs/pt/intlayer_with_astro_svelte.md +23 -27
  300. package/docs/pt/intlayer_with_astro_vue.md +23 -27
  301. package/docs/pt/intlayer_with_react_router_v7.md +12 -1
  302. package/docs/pt/intlayer_with_solid_start.md +14 -7
  303. package/docs/pt/intlayer_with_svelte_kit.md +12 -1
  304. package/docs/pt/intlayer_with_tanstack+solid.md +13 -2
  305. package/docs/pt/intlayer_with_tanstack.md +13 -6
  306. package/docs/pt/intlayer_with_vite+lit.md +75 -3
  307. package/docs/pt/intlayer_with_vite+preact.md +16 -3
  308. package/docs/pt/intlayer_with_vite+react.md +16 -3
  309. package/docs/pt/intlayer_with_vite+solid.md +16 -3
  310. package/docs/pt/intlayer_with_vite+svelte.md +16 -3
  311. package/docs/pt/intlayer_with_vite+vanilla.md +16 -3
  312. package/docs/pt/intlayer_with_vite+vue.md +16 -3
  313. package/docs/pt/introduction.md +0 -1
  314. package/docs/pt/readme.md +0 -1
  315. package/docs/pt/releases/v8.md +1 -5
  316. package/docs/ru/intlayer_with_astro.md +12 -25
  317. package/docs/ru/intlayer_with_astro_lit.md +23 -27
  318. package/docs/ru/intlayer_with_astro_preact.md +23 -27
  319. package/docs/ru/intlayer_with_astro_react.md +23 -27
  320. package/docs/ru/intlayer_with_astro_solid.md +23 -27
  321. package/docs/ru/intlayer_with_astro_svelte.md +23 -27
  322. package/docs/ru/intlayer_with_astro_vue.md +23 -27
  323. package/docs/ru/intlayer_with_react_router_v7.md +12 -1
  324. package/docs/ru/intlayer_with_solid_start.md +14 -7
  325. package/docs/ru/intlayer_with_svelte_kit.md +12 -1
  326. package/docs/ru/intlayer_with_tanstack+solid.md +13 -2
  327. package/docs/ru/intlayer_with_tanstack.md +13 -6
  328. package/docs/ru/intlayer_with_vite+lit.md +75 -3
  329. package/docs/ru/intlayer_with_vite+preact.md +16 -3
  330. package/docs/ru/intlayer_with_vite+react.md +16 -3
  331. package/docs/ru/intlayer_with_vite+solid.md +16 -3
  332. package/docs/ru/intlayer_with_vite+svelte.md +16 -3
  333. package/docs/ru/intlayer_with_vite+vanilla.md +16 -3
  334. package/docs/ru/intlayer_with_vite+vue.md +16 -3
  335. package/docs/ru/introduction.md +0 -1
  336. package/docs/ru/readme.md +0 -1
  337. package/docs/ru/releases/v8.md +1 -5
  338. package/docs/tr/intlayer_with_astro.md +12 -25
  339. package/docs/tr/intlayer_with_astro_lit.md +24 -28
  340. package/docs/tr/intlayer_with_astro_preact.md +24 -28
  341. package/docs/tr/intlayer_with_astro_react.md +24 -28
  342. package/docs/tr/intlayer_with_astro_solid.md +24 -28
  343. package/docs/tr/intlayer_with_astro_svelte.md +24 -28
  344. package/docs/tr/intlayer_with_astro_vue.md +24 -28
  345. package/docs/tr/intlayer_with_react_router_v7.md +12 -1
  346. package/docs/tr/intlayer_with_solid_start.md +14 -7
  347. package/docs/tr/intlayer_with_svelte_kit.md +12 -1
  348. package/docs/tr/intlayer_with_tanstack+solid.md +13 -2
  349. package/docs/tr/intlayer_with_tanstack.md +13 -6
  350. package/docs/tr/intlayer_with_vite+lit.md +75 -3
  351. package/docs/tr/intlayer_with_vite+preact.md +16 -3
  352. package/docs/tr/intlayer_with_vite+react.md +16 -3
  353. package/docs/tr/intlayer_with_vite+solid.md +16 -3
  354. package/docs/tr/intlayer_with_vite+svelte.md +16 -3
  355. package/docs/tr/intlayer_with_vite+vanilla.md +16 -3
  356. package/docs/tr/intlayer_with_vite+vue.md +16 -3
  357. package/docs/tr/introduction.md +0 -1
  358. package/docs/tr/readme.md +0 -1
  359. package/docs/tr/releases/v8.md +1 -5
  360. package/docs/uk/intlayer_with_astro.md +12 -25
  361. package/docs/uk/intlayer_with_astro_lit.md +23 -27
  362. package/docs/uk/intlayer_with_astro_preact.md +23 -27
  363. package/docs/uk/intlayer_with_astro_react.md +23 -27
  364. package/docs/uk/intlayer_with_astro_solid.md +23 -27
  365. package/docs/uk/intlayer_with_astro_svelte.md +23 -27
  366. package/docs/uk/intlayer_with_astro_vue.md +23 -27
  367. package/docs/uk/intlayer_with_react_router_v7.md +12 -1
  368. package/docs/uk/intlayer_with_solid_start.md +14 -7
  369. package/docs/uk/intlayer_with_svelte_kit.md +12 -1
  370. package/docs/uk/intlayer_with_tanstack+solid.md +13 -2
  371. package/docs/uk/intlayer_with_tanstack.md +13 -6
  372. package/docs/uk/intlayer_with_vite+lit.md +75 -3
  373. package/docs/uk/intlayer_with_vite+preact.md +16 -3
  374. package/docs/uk/intlayer_with_vite+react.md +16 -3
  375. package/docs/uk/intlayer_with_vite+solid.md +16 -3
  376. package/docs/uk/intlayer_with_vite+svelte.md +16 -3
  377. package/docs/uk/intlayer_with_vite+vanilla.md +16 -3
  378. package/docs/uk/intlayer_with_vite+vue.md +16 -3
  379. package/docs/uk/introduction.md +0 -1
  380. package/docs/uk/readme.md +0 -1
  381. package/docs/uk/releases/v8.md +1 -5
  382. package/docs/ur/intlayer_with_vite+lit.md +75 -3
  383. package/docs/ur/intlayer_with_vite+vanilla.md +16 -3
  384. package/docs/ur/introduction.md +0 -1
  385. package/docs/vi/intlayer_with_astro.md +12 -25
  386. package/docs/vi/intlayer_with_astro_lit.md +23 -27
  387. package/docs/vi/intlayer_with_astro_preact.md +23 -27
  388. package/docs/vi/intlayer_with_astro_react.md +23 -27
  389. package/docs/vi/intlayer_with_astro_solid.md +23 -27
  390. package/docs/vi/intlayer_with_astro_svelte.md +23 -27
  391. package/docs/vi/intlayer_with_astro_vue.md +23 -27
  392. package/docs/vi/intlayer_with_react_router_v7.md +12 -1
  393. package/docs/vi/intlayer_with_solid_start.md +14 -7
  394. package/docs/vi/intlayer_with_svelte_kit.md +12 -1
  395. package/docs/vi/intlayer_with_tanstack+solid.md +13 -2
  396. package/docs/vi/intlayer_with_tanstack.md +13 -6
  397. package/docs/vi/intlayer_with_vite+lit.md +75 -3
  398. package/docs/vi/intlayer_with_vite+preact.md +16 -3
  399. package/docs/vi/intlayer_with_vite+react.md +16 -3
  400. package/docs/vi/intlayer_with_vite+solid.md +16 -3
  401. package/docs/vi/intlayer_with_vite+svelte.md +16 -3
  402. package/docs/vi/intlayer_with_vite+vanilla.md +16 -3
  403. package/docs/vi/intlayer_with_vite+vue.md +16 -3
  404. package/docs/vi/introduction.md +0 -1
  405. package/docs/vi/readme.md +0 -1
  406. package/docs/vi/releases/v8.md +1 -5
  407. package/docs/zh/intlayer_with_astro.md +6 -21
  408. package/docs/zh/intlayer_with_astro_lit.md +23 -27
  409. package/docs/zh/intlayer_with_astro_preact.md +23 -27
  410. package/docs/zh/intlayer_with_astro_react.md +23 -27
  411. package/docs/zh/intlayer_with_astro_solid.md +23 -27
  412. package/docs/zh/intlayer_with_astro_svelte.md +23 -27
  413. package/docs/zh/intlayer_with_astro_vue.md +23 -27
  414. package/docs/zh/intlayer_with_react_router_v7.md +12 -1
  415. package/docs/zh/intlayer_with_solid_start.md +14 -7
  416. package/docs/zh/intlayer_with_svelte_kit.md +12 -1
  417. package/docs/zh/intlayer_with_tanstack+solid.md +13 -2
  418. package/docs/zh/intlayer_with_tanstack.md +13 -6
  419. package/docs/zh/intlayer_with_vite+lit.md +75 -3
  420. package/docs/zh/intlayer_with_vite+preact.md +16 -3
  421. package/docs/zh/intlayer_with_vite+react.md +16 -3
  422. package/docs/zh/intlayer_with_vite+solid.md +16 -3
  423. package/docs/zh/intlayer_with_vite+svelte.md +16 -3
  424. package/docs/zh/intlayer_with_vite+vanilla.md +16 -3
  425. package/docs/zh/intlayer_with_vite+vue.md +16 -3
  426. package/docs/zh/introduction.md +0 -1
  427. package/docs/zh/readme.md +0 -1
  428. package/docs/zh/releases/v8.md +1 -5
  429. package/docs/zh-TW/introduction.md +0 -1
  430. package/package.json +6 -6
  431. package/docs/ar/intlayer_with_astro_vanilla.md +0 -709
  432. package/docs/de/intlayer_with_astro_vanilla.md +0 -705
  433. package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -709
  434. package/docs/es/intlayer_with_astro_vanilla.md +0 -701
  435. package/docs/fr/intlayer_with_astro_vanilla.md +0 -701
  436. package/docs/hi/intlayer_with_astro_vanilla.md +0 -720
  437. package/docs/id/intlayer_with_astro_vanilla.md +0 -705
  438. package/docs/it/intlayer_with_astro_vanilla.md +0 -705
  439. package/docs/ja/intlayer_with_astro_vanilla.md +0 -708
  440. package/docs/ko/intlayer_with_astro_vanilla.md +0 -720
  441. package/docs/pl/intlayer_with_astro_vanilla.md +0 -705
  442. package/docs/pt/intlayer_with_astro_vanilla.md +0 -705
  443. package/docs/ru/intlayer_with_astro_vanilla.md +0 -716
  444. package/docs/tr/intlayer_with_astro_vanilla.md +0 -705
  445. package/docs/uk/intlayer_with_astro_vanilla.md +0 -705
  446. package/docs/vi/intlayer_with_astro_vanilla.md +0 -705
  447. package/docs/zh/intlayer_with_astro_vanilla.md +0 -704
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-03-23
3
- updatedAt: 2026-06-23
3
+ updatedAt: 2026-09-20
4
4
  title: "Vite + Vanilla JS i18n - Hướng dẫn đầy đủ để dịch ứng dụng của bạn"
5
5
  description: "Không còn i18next nữa. Hướng dẫn 2026 để xây dựng ứng dụng Vite + Vanilla JS đa ngôn ngữ (i18n). Dịch với các AI agent và tối ưu hóa kích thước bundle, SEO và hiệu suất."
6
6
  keywords:
@@ -613,8 +613,14 @@ bun x intlayer extract
613
613
  </Tab>
614
614
  <Tab value='Trình biên dịch Babel'>
615
615
 
616
+ <Tabs>
617
+ <Tab value='intlayer >= 9'>
618
+
616
619
  > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
617
620
 
621
+ </Tab>
622
+ <Tab value='intlayer < 9'>
623
+
618
624
  Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
619
625
 
620
626
  ```ts fileName="vite.config.ts"
@@ -629,6 +635,11 @@ export default defineConfig({
629
635
  });
630
636
  ```
631
637
 
638
+ </Tab>
639
+ </Tabs>
640
+
641
+ Build ứng dụng của bạn để chuyển đổi các thành phần và trích xuất nội dung
642
+
632
643
  ```bash packageManager="npm"
633
644
  npm run build # Hoặc npm run dev
634
645
  ```
@@ -685,7 +696,9 @@ const pathList = [
685
696
  { path: "/about", changefreq: "monthly", priority: 0.7 },
686
697
  ];
687
698
 
688
- const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
699
+ const sitemapXml = generateSitemap(pathList, {
700
+ siteUrl: "https://example.com",
701
+ });
689
702
  fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
690
703
 
691
704
  const getAllMultilingualUrls = (urls) =>
@@ -698,7 +711,7 @@ const robotsTxt = [
698
711
  "Allow: /",
699
712
  ...disallowedPaths.map((path) => `Disallow: ${path}`),
700
713
  "",
701
- `Sitemap: ${SITE_URL}/sitemap.xml`,
714
+ `Sitemap: https://example.com/sitemap.xml`,
702
715
  ].join("\n");
703
716
 
704
717
  fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2026-06-23
3
+ updatedAt: 2026-09-20
4
4
  title: "Vite + Vue i18n - Hướng dẫn đầy đủ để dịch ứng dụng của bạn"
5
5
  description: "Không còn i18next nữa. Hướng dẫn 2026 để xây dựng ứng dụng Vite + Vue đa ngôn ngữ (i18n). Dịch với các AI agent và tối ưu hóa kích thước bundle, SEO và hiệu suất."
6
6
  keywords:
@@ -982,8 +982,14 @@ bun x intlayer extract
982
982
  </Tab>
983
983
  <Tab value='Trình biên dịch Babel'>
984
984
 
985
+ <Tabs>
986
+ <Tab value='intlayer >= 9'>
987
+
985
988
  > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
986
989
 
990
+ </Tab>
991
+ <Tab value='intlayer < 9'>
992
+
987
993
  Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
988
994
 
989
995
  ```ts fileName="vite.config.ts"
@@ -998,6 +1004,11 @@ export default defineConfig({
998
1004
  });
999
1005
  ```
1000
1006
 
1007
+ </Tab>
1008
+ </Tabs>
1009
+
1010
+ Build ứng dụng của bạn để chuyển đổi các thành phần và trích xuất nội dung
1011
+
1001
1012
  ```bash packageManager="npm"
1002
1013
  npm run build # Hoặc npm run dev
1003
1014
  ```
@@ -1054,7 +1065,9 @@ const pathList = [
1054
1065
  { path: "/about", changefreq: "monthly", priority: 0.7 },
1055
1066
  ];
1056
1067
 
1057
- const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
1068
+ const sitemapXml = generateSitemap(pathList, {
1069
+ siteUrl: "https://example.com",
1070
+ });
1058
1071
  fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
1059
1072
 
1060
1073
  const getAllMultilingualUrls = (urls) =>
@@ -1067,7 +1080,7 @@ const robotsTxt = [
1067
1080
  "Allow: /",
1068
1081
  ...disallowedPaths.map((path) => `Disallow: ${path}`),
1069
1082
  "",
1070
- `Sitemap: ${SITE_URL}/sitemap.xml`,
1083
+ `Sitemap: https://example.com/sitemap.xml`,
1071
1084
  ].join("\n");
1072
1085
 
1073
1086
  fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
@@ -189,7 +189,6 @@ Chúng tôi đã xây dựng Intlayer với tính linh hoạt cao, cung cấp kh
189
189
  - **[Intlayer với Astro + Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_astro_solid.md)**
190
190
  - **[Intlayer với Astro + Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_astro_preact.md)**
191
191
  - **[Intlayer với Astro + Lit](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_astro_lit.md)**
192
- - **[Intlayer với Astro + Vanilla JS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_astro_vanilla.md)**
193
192
  - **[Intlayer với Vite + Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_vite+vue.md)**
194
193
  - **[Intlayer với Nuxt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_nuxt.md)**
195
194
  - **[Intlayer với Vite + Svelte](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_vite+svelte.md)**
package/docs/vi/readme.md CHANGED
@@ -212,7 +212,6 @@ Khám phá tài liệu toàn diện của chúng tôi để bắt đầu với I
212
212
  <li><a href="https://intlayer.org/doc/environment/astro/vue" rel=''>Vue</a></li>
213
213
  <li><a href="https://intlayer.org/doc/environment/astro/svelte" rel=''>Svelte</a></li>
214
214
  <li><a href="https://intlayer.org/doc/environment/astro/solid" rel=''>Solid</a></li>
215
- <li><a href="https://intlayer.org/doc/environment/astro/vanilla" rel=''>Vanilla JS</a></li>
216
215
  <li><a href="https://intlayer.org/doc/environment/astro/lit" rel=''>Lit</a></li>
217
216
  </ul>
218
217
  </li>
@@ -1328,10 +1328,6 @@ Intlayer hiện tự động tạo sitemap dựa trên các locale và chế đ
1328
1328
  import { createFileRoute } from "@tanstack/react-router";
1329
1329
  import { generateSitemap } from "intlayer";
1330
1330
 
1331
- const SITE_URL = (
1332
- import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
1333
- ).replace(/\/$/, "");
1334
-
1335
1331
  export const Route = createFileRoute("/sitemap.xml")({
1336
1332
  server: {
1337
1333
  handlers: {
@@ -1341,7 +1337,7 @@ export const Route = createFileRoute("/sitemap.xml")({
1341
1337
  { path: "/", changefreq: "daily", priority: 1.0 },
1342
1338
  { path: "/about", changefreq: "monthly", priority: 0.8 },
1343
1339
  ],
1344
- { siteUrl: SITE_URL }
1340
+ { siteUrl: "https://example.com" }
1345
1341
  );
1346
1342
 
1347
1343
  return new Response(sitemap, {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-03-07
3
- updatedAt: 2026-09-19
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro i18n - 翻译你的应用的完整指南"
5
5
  description: "告别 i18next。2026 年构建多语言 (i18n) Astro 应用的完整指南。使用 AI 代理翻译并优化包体积、SEO 和性能。"
6
6
  keywords:
@@ -401,7 +401,7 @@ const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
401
401
  ```
402
402
 
403
403
  > **持久化注意事项:**
404
- > 客户端 `useLocale` 中的 `setLocale` 将用户的语言偏好保存在 Cookie 中。这允许 Intlayer 中间件记住该选择,并在将来的访问中自动将用户重定向到其首选语言。
404
+ > 客户端 `useLocale` 中的 `setLocale` 将用户的语言偏好保存在 cookie 中。这使 Intlayer 能够记住该选择,并在将来的访问中自动将用户重定向到其首选语言:按需渲染的页面(带有 `output: 'server'` 或 `prerender = false` 的适配器)在发送任何 HTML 之前由 Intlayer 中间件重定向,而作为静态文件提供的预渲染页面则由集成注入每个页面的小脚本重定向。将 `routing.enableProxy` 设置为 `false` 可同时关闭两者。在 `astro dev` 中,除非将 `routing.enableProxy` 设置为 `true`,否则 cookie 将被忽略作为重定向来源,因此过期的 cookie 不会劫持你正在处理的页面。
405
405
  >
406
406
  > **服务端 / 客户端互兼容性:**
407
407
  > `astro-intlayer` 在 frontmatter 中解析为服务端钩子(读取 `Astro.locals`),在 `<script>` 块和孤岛(islands)中解析为 `vanilla-intlayer` 的客户端钩子,具有相同的名称和内容结构。`setLocale` 和 `onChange` 仅在客户端起作用,在客户端调用一次 `installIntlayer()` 以初始化客户端存储。`astro-intlayer/client` 显式公开客户端入口。
@@ -428,10 +428,10 @@ const pathList: SitemapUrlEntry[] = [
428
428
  { path: "/about", changefreq: "monthly", priority: 0.7 },
429
429
  ];
430
430
 
431
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
432
-
433
431
  export const GET: APIRoute = async ({ site }) => {
434
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
432
+ const xmlOutput = generateSitemap(pathList, {
433
+ siteUrl: "https://example.com",
434
+ });
435
435
 
436
436
  return new Response(xmlOutput, {
437
437
  headers: { "Content-Type": "application/xml" },
@@ -478,7 +478,6 @@ export const GET: APIRoute = ({ site }) => {
478
478
  - Intlayer + Solid: [Intlayer with Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_astro_solid.md)
479
479
  - Intlayer + Preact: [Intlayer with Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_astro_preact.md)
480
480
  - Intlayer + Lit: [Intlayer with Lit](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_astro_lit.md)
481
- - Intlayer + Vanilla JS: [Intlayer with Vanilla JS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_astro_vanilla.md)
482
481
  </Step>
483
482
 
484
483
  <Step number={15} title="提取组件中的内容" isOptional={true}>
@@ -544,21 +543,7 @@ bun x intlayer extract
544
543
  </Tab>
545
544
  <Tab value='Babel 编译器'>
546
545
 
547
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
548
-
549
- 更新您的 `vite.config.ts` 以包含 `intlayerCompiler` 插件:
550
-
551
- ```ts fileName="vite.config.ts"
552
- import { defineConfig } from "vite";
553
- import { intlayer, intlayerCompiler } from "vite-intlayer";
554
-
555
- export default defineConfig({
556
- plugins: [
557
- intlayer(),
558
- intlayerCompiler(), // Adds the compiler plugin
559
- ],
560
- });
561
- ```
546
+ 构建你的应用程序来转换你的组件并提取内容
562
547
 
563
548
  ```bash packageManager="npm"
564
549
  npm run build # 或 npm run dev
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-24
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro + Lit i18n - 翻译你的应用的完整指南"
5
5
  description: "告别 i18next。2026 年构建多语言 (i18n) Astro + Lit 应用的完整指南。使用 AI 代理翻译并优化包体积、SEO 和性能。"
6
6
  keywords:
@@ -20,6 +20,9 @@ slugs:
20
20
  applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
21
21
  applicationShowcase: https://intlayer-astro-template.vercel.app
22
22
  history:
23
+ - version: 9.5.5
24
+ date: 2026-09-19
25
+ changes: "在 Astro 页面中使用 astro-intlayer 的 useIntlayer / useLocale 钩子"
23
26
  - version: 8.9.0
24
27
  date: 2026-05-04
25
28
  changes: "更新 Solid useIntlayer API 用法以直接访问属性"
@@ -151,7 +154,7 @@ bun add intlayer astro-intlayer lit lit-intlayer @astrojs/lit
151
154
  核心软件包,提供用于配置管理、翻译、[内容声明](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)、编译和 [CLI 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md)的国际化工具。
152
155
 
153
156
  - **astro-intlayer**
154
- 包含将 Intlayer 与 [Vite 构建器](https://vite.dev/guide/why.html#why-bundle-for-production)集成的 Astro 集成插件,以及用于检测用户首选语言、管理 Cookie 和处理 URL 重定向的中间件。
157
+ 包含用于将 Intlayer 与 [Vite 打包器](https://vite.dev/guide/why.html#why-bundle-for-production) 集成的 Astro 集成插件、将每个请求的语言环境解析到 `Astro.locals.intlayer` 的中间件,以及 `useIntlayer` / `useDictionary` / `useLocale` 钩子。相同的导入路径在 `.astro` frontmatter 中解析为服务端实现,在 `<script>` 块中解析为客户端实现(由 `vanilla-intlayer` 支持)。
155
158
 
156
159
  - **lit**
157
160
  核心 Lit 软件包,用于构建快速且轻量级的 Web Components。
@@ -245,19 +248,21 @@ export default litDemoContent;
245
248
  </Step>
246
249
  <Step number={5} title="在 Astro 中使用内容">
247
250
 
248
- 您可以使用 `intlayer` 导出的核心辅助函数直接在 `.astro` 文件中消费词典。您还应在每个页面添加 SEO 元数据(如 hreflang 和规范链接)。Lit 自定义元素通过客户端 `<script>` 导入并放置在 body 中。
251
+ 使用 `astro-intlayer` 导出的钩子在 `.astro` 文件中使用你的字典。它们与 `react-intlayer` 具有相同的签名:`useIntlayer("key")` 返回字典内容,`useLocale()` 返回当前语言环境,无需传递参数。
252
+
253
+ 语言环境来自 `astro-intlayer` 中间件,集成会自动在你的 `src/middleware.ts` 之前注册该中间件。它会依次从 URL 前缀、客户端持久化的语言环境(Cookie 或标头)、`Accept-Language` 解析每个请求的语言环境,并将其存储在 `Astro.locals.intlayer` 中。预渲染页面仅使用 URL,因为它们只为每个访客渲染一次。
254
+
255
+ Lit 自定义元素通过客户端 `<script>` 导入并放置在 body 中。
249
256
 
250
257
  ```astro fileName="src/pages/[...locale]/index.astro"
251
258
  ---
259
+ import { useIntlayer, useLocale } from "astro-intlayer";
252
260
  import {
253
- getIntlayer,
254
- getLocaleFromPath,
255
261
  getLocalizedUrl,
256
- getHTMLTextDir,
257
262
  getPrefix,
258
263
  localeMap,
259
264
  defaultLocale,
260
- type LocalesValues,
265
+ getHTMLTextDir,
261
266
  } from "intlayer";
262
267
 
263
268
  export const getStaticPaths = () => {
@@ -266,8 +271,11 @@ export const getStaticPaths = () => {
266
271
  }));
267
272
  };
268
273
 
269
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
270
- const { greeting } = getIntlayer("lit-demo", locale);
274
+ // 中间件解析的语言环境(例如 /zh/about -> 'zh')
275
+ const { locale } = useLocale();
276
+
277
+ // 该语言环境的 'lit-demo' 字典内容
278
+ const { greeting } = useIntlayer("lit-demo");
271
279
  ---
272
280
 
273
281
  <!doctype html>
@@ -326,6 +334,8 @@ const { greeting } = getIntlayer("lit-demo", locale);
326
334
  > <img src={String(content.image.src)} alt={String(content.image)} />
327
335
  > ```
328
336
 
337
+ > `Astro.locals.intlayer` 还向你自己的中间件和端点公开 `locale`、`defaultLocale` 和 `availableLocales`。将语言环境或选择器作为第二个参数传递(`useIntlayer("app", "fr")`、`useIntlayer("faq", { item: 2 })`)可在单次调用中覆盖请求语言环境。
338
+
329
339
  > **关于路由设置的说明:**
330
340
  > 您使用的目录结构取决于 `intlayer.config.ts` 中的 `middleware.routing` 设置:
331
341
  >
@@ -482,10 +492,10 @@ const pathList: SitemapUrlEntry[] = [
482
492
  { path: "/about", changefreq: "monthly", priority: 0.7 },
483
493
  ];
484
494
 
485
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
486
-
487
495
  export const GET: APIRoute = async ({ site }) => {
488
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
496
+ const xmlOutput = generateSitemap(pathList, {
497
+ siteUrl: "https://example.com",
498
+ });
489
499
 
490
500
  return new Response(xmlOutput, {
491
501
  headers: { "Content-Type": "application/xml" },
@@ -585,21 +595,7 @@ bun x intlayer extract
585
595
  </Tab>
586
596
  <Tab value='Babel 编译器'>
587
597
 
588
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
589
-
590
- 更新您的 `vite.config.ts` 以包含 `intlayerCompiler` 插件:
591
-
592
- ```ts fileName="vite.config.ts"
593
- import { defineConfig } from "vite";
594
- import { intlayer, intlayerCompiler } from "vite-intlayer";
595
-
596
- export default defineConfig({
597
- plugins: [
598
- intlayer(),
599
- intlayerCompiler(), // Adds the compiler plugin
600
- ],
601
- });
602
- ```
598
+ 构建你的应用程序来转换你的组件并提取内容
603
599
 
604
600
  ```bash packageManager="npm"
605
601
  npm run build # 或 npm run dev
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-24
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro + Preact i18n - 翻译你的应用的完整指南"
5
5
  description: "告别 i18next。2026 年构建多语言 (i18n) Astro + Preact 应用的完整指南。使用 AI 代理翻译并优化包体积、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: "在 Astro 页面中使用 astro-intlayer 的 useIntlayer / useLocale 钩子"
22
25
  - version: 8.9.0
23
26
  date: 2026-05-04
24
27
  changes: "更新 Solid useIntlayer API 用法以直接访问属性"
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer preact preact-intlayer @astrojs/preact
150
153
  核心软件包,提供用于配置管理、翻译、[内容声明](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)、编译和 [CLI 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md)的国际化工具。
151
154
 
152
155
  - **astro-intlayer**
153
- 包含将 Intlayer 与 [Vite 构建器](https://vite.dev/guide/why.html#why-bundle-for-production)集成的 Astro 集成插件,以及用于检测用户首选语言、管理 Cookie 和处理 URL 重定向的中间件。
156
+ 包含用于将 Intlayer 与 [Vite 打包器](https://vite.dev/guide/why.html#why-bundle-for-production) 集成的 Astro 集成插件、将每个请求的语言环境解析到 `Astro.locals.intlayer` 的中间件,以及 `useIntlayer` / `useDictionary` / `useLocale` 钩子。相同的导入路径在 `.astro` frontmatter 中解析为服务端实现,在 `<script>` 块中解析为客户端实现(由 `vanilla-intlayer` 支持)。
154
157
 
155
158
  - **preact**
156
159
  核心 Preact 软件包 - React 的快速且轻量级的替代方案。
@@ -242,19 +245,21 @@ export default appContent;
242
245
  </Step>
243
246
  <Step number={5} title="在 Astro 中使用内容">
244
247
 
245
- 您可以使用 `intlayer` 导出的核心辅助函数直接在 `.astro` 文件中消费词典。您还应在每个页面添加 SEO 元数据(如 hreflang 和规范链接),并为客户端交互内容引入 Preact 岛。
248
+ 使用 `astro-intlayer` 导出的钩子在 `.astro` 文件中使用你的字典。它们与 `react-intlayer` 具有相同的签名:`useIntlayer("key")` 返回字典内容,`useLocale()` 返回当前语言环境,无需传递参数。
249
+
250
+ 语言环境来自 `astro-intlayer` 中间件,集成会自动在你的 `src/middleware.ts` 之前注册该中间件。它会依次从 URL 前缀、客户端持久化的语言环境(Cookie 或标头)、`Accept-Language` 解析每个请求的语言环境,并将其存储在 `Astro.locals.intlayer` 中。预渲染页面仅使用 URL,因为它们只为每个访客渲染一次。
251
+
252
+ 您还应在每个页面添加 SEO 元数据(如 hreflang 和规范链接),并为客户端交互内容引入 Preact 岛。
246
253
 
247
254
  ```astro fileName="src/pages/[...locale]/index.astro"
248
255
  ---
256
+ import { useIntlayer, useLocale } from "astro-intlayer";
249
257
  import {
250
- getIntlayer,
251
- getLocaleFromPath,
252
258
  getLocalizedUrl,
253
- getHTMLTextDir,
254
259
  getPrefix,
255
260
  localeMap,
256
261
  defaultLocale,
257
- type LocalesValues,
262
+ getHTMLTextDir,
258
263
  } from "intlayer";
259
264
  import { PreactIsland } from "../../components/preact/PreactIsland";
260
265
 
@@ -264,8 +269,11 @@ export const getStaticPaths = () => {
264
269
  }));
265
270
  };
266
271
 
267
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
268
- const { title } = getIntlayer("app", locale);
272
+ // 中间件解析的语言环境(例如 /zh/about -> 'zh')
273
+ const { locale } = useLocale();
274
+
275
+ // 该语言环境的 'app' 字典内容
276
+ const { title } = useIntlayer("app");
269
277
  ---
270
278
 
271
279
  <!doctype html>
@@ -321,6 +329,8 @@ const { title } = getIntlayer("app", locale);
321
329
  > <img src={String(content.image.src)} alt={String(content.image)} />
322
330
  > ```
323
331
 
332
+ > `Astro.locals.intlayer` 还向你自己的中间件和端点公开 `locale`、`defaultLocale` 和 `availableLocales`。将语言环境或选择器作为第二个参数传递(`useIntlayer("app", "fr")`、`useIntlayer("faq", { item: 2 })`)可在单次调用中覆盖请求语言环境。
333
+
324
334
  > **关于路由设置的说明:**
325
335
  > 您使用的目录结构取决于 `intlayer.config.ts` 中的 `middleware.routing` 设置:
326
336
  >
@@ -437,10 +447,10 @@ const pathList: SitemapUrlEntry[] = [
437
447
  { path: "/about", changefreq: "monthly", priority: 0.7 },
438
448
  ];
439
449
 
440
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
441
-
442
450
  export const GET: APIRoute = async ({ site }) => {
443
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
451
+ const xmlOutput = generateSitemap(pathList, {
452
+ siteUrl: "https://example.com",
453
+ });
444
454
 
445
455
  return new Response(xmlOutput, {
446
456
  headers: { "Content-Type": "application/xml" },
@@ -540,21 +550,7 @@ bun x intlayer extract
540
550
  </Tab>
541
551
  <Tab value='Babel 编译器'>
542
552
 
543
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
544
-
545
- 更新您的 `vite.config.ts` 以包含 `intlayerCompiler` 插件:
546
-
547
- ```ts fileName="vite.config.ts"
548
- import { defineConfig } from "vite";
549
- import { intlayer, intlayerCompiler } from "vite-intlayer";
550
-
551
- export default defineConfig({
552
- plugins: [
553
- intlayer(),
554
- intlayerCompiler(), // Adds the compiler plugin
555
- ],
556
- });
557
- ```
553
+ 构建你的应用程序来转换你的组件并提取内容
558
554
 
559
555
  ```bash packageManager="npm"
560
556
  npm run build # 或 npm run dev
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-03-07
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro + React i18n - 翻译你的应用的完整指南"
5
5
  description: "告别 i18next。2026 年构建多语言 (i18n) Astro + React 应用的完整指南。使用 AI 代理翻译并优化包体积、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: "在 Astro 页面中使用 astro-intlayer 的 useIntlayer / useLocale 钩子"
22
25
  - version: 8.9.0
23
26
  date: 2026-05-04
24
27
  changes: "更新 Solid useIntlayer API 用法以直接访问属性"
@@ -153,7 +156,7 @@ bun add intlayer astro-intlayer react react-dom react-intlayer @astrojs/react
153
156
  核心软件包,提供用于配置管理、翻译、[内容声明](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)、编译和 [CLI 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md)的国际化工具。
154
157
 
155
158
  - **astro-intlayer**
156
- 包含将 Intlayer 与 [Vite 构建器](https://vite.dev/guide/why.html#why-bundle-for-production)集成的 Astro 集成插件,以及用于检测用户首选语言、管理 Cookie 和处理 URL 重定向的中间件。
159
+ 包含用于将 Intlayer 与 [Vite 打包器](https://vite.dev/guide/why.html#why-bundle-for-production) 集成的 Astro 集成插件、将每个请求的语言环境解析到 `Astro.locals.intlayer` 的中间件,以及 `useIntlayer` / `useDictionary` / `useLocale` 钩子。相同的导入路径在 `.astro` frontmatter 中解析为服务端实现,在 `<script>` 块中解析为客户端实现(由 `vanilla-intlayer` 支持)。
157
160
 
158
161
  - **react**, **react-dom**
159
162
  在浏览器中渲染 React 组件所需的核心 React 软件包。
@@ -242,19 +245,21 @@ export default appContent;
242
245
  </Step>
243
246
  <Step number={5} title="在 Astro 中使用内容">
244
247
 
245
- 您可以使用 `intlayer` 导出的核心辅助函数直接在 `.astro` 文件中消费词典。您还应在每个页面添加 SEO 元数据(如 hreflang 和规范链接),并为客户端交互内容引入 React 岛。
248
+ 使用 `astro-intlayer` 导出的钩子在 `.astro` 文件中使用你的字典。它们与 `react-intlayer` 具有相同的签名:`useIntlayer("key")` 返回字典内容,`useLocale()` 返回当前语言环境,无需传递参数。
249
+
250
+ 语言环境来自 `astro-intlayer` 中间件,集成会自动在你的 `src/middleware.ts` 之前注册该中间件。它会依次从 URL 前缀、客户端持久化的语言环境(Cookie 或标头)、`Accept-Language` 解析每个请求的语言环境,并将其存储在 `Astro.locals.intlayer` 中。预渲染页面仅使用 URL,因为它们只为每个访客渲染一次。
251
+
252
+ 您还应在每个页面添加 SEO 元数据(如 hreflang 和规范链接),并为客户端交互内容引入 React 岛。
246
253
 
247
254
  ```astro fileName="src/pages/[...locale]/index.astro"
248
255
  ---
256
+ import { useIntlayer, useLocale } from "astro-intlayer";
249
257
  import {
250
- getIntlayer,
251
- getLocaleFromPath,
252
258
  getLocalizedUrl,
253
- getHTMLTextDir,
254
259
  getPrefix,
255
260
  localeMap,
256
261
  defaultLocale,
257
- type LocalesValues,
262
+ getHTMLTextDir,
258
263
  } from "intlayer";
259
264
  import { ReactIsland } from "../../components/react/ReactIsland";
260
265
 
@@ -264,8 +269,11 @@ export const getStaticPaths = () => {
264
269
  }));
265
270
  };
266
271
 
267
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
268
- const { title } = getIntlayer("app", locale);
272
+ // 中间件解析的语言环境(例如 /zh/about -> 'zh')
273
+ const { locale } = useLocale();
274
+
275
+ // 该语言环境的 'app' 字典内容
276
+ const { title } = useIntlayer("app");
269
277
  ---
270
278
 
271
279
  <!doctype html>
@@ -321,6 +329,8 @@ const { title } = getIntlayer("app", locale);
321
329
  > <img src={String(content.image.src)} alt={String(content.image)} />
322
330
  > ```
323
331
 
332
+ > `Astro.locals.intlayer` 还向你自己的中间件和端点公开 `locale`、`defaultLocale` 和 `availableLocales`。将语言环境或选择器作为第二个参数传递(`useIntlayer("app", "fr")`、`useIntlayer("faq", { item: 2 })`)可在单次调用中覆盖请求语言环境。
333
+
324
334
  > **关于路由设置的说明:**
325
335
  > 您使用的目录结构取决于 `intlayer.config.ts` 中的 `middleware.routing` 设置:
326
336
  >
@@ -433,10 +443,10 @@ const pathList: SitemapUrlEntry[] = [
433
443
  { path: "/about", changefreq: "monthly", priority: 0.7 },
434
444
  ];
435
445
 
436
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
437
-
438
446
  export const GET: APIRoute = async ({ site }) => {
439
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
447
+ const xmlOutput = generateSitemap(pathList, {
448
+ siteUrl: "https://example.com",
449
+ });
440
450
 
441
451
  return new Response(xmlOutput, {
442
452
  headers: { "Content-Type": "application/xml" },
@@ -536,21 +546,7 @@ bun x intlayer extract
536
546
  </Tab>
537
547
  <Tab value='Babel 编译器'>
538
548
 
539
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
540
-
541
- 更新您的 `vite.config.ts` 以包含 `intlayerCompiler` 插件:
542
-
543
- ```ts fileName="vite.config.ts"
544
- import { defineConfig } from "vite";
545
- import { intlayer, intlayerCompiler } from "vite-intlayer";
546
-
547
- export default defineConfig({
548
- plugins: [
549
- intlayer(),
550
- intlayerCompiler(), // Adds the compiler plugin
551
- ],
552
- });
553
- ```
549
+ 构建你的应用程序来转换你的组件并提取内容
554
550
 
555
551
  ```bash packageManager="npm"
556
552
  npm run build # 或 npm run dev
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-24
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-20
4
4
  title: "Astro + Solid i18n - 翻译你的应用的完整指南"
5
5
  description: "告别 i18next。2026 年构建多语言 (i18n) Astro + Solid 应用的完整指南。使用 AI 代理翻译并优化包体积、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: "在 Astro 页面中使用 astro-intlayer 的 useIntlayer / useLocale 钩子"
22
25
  - version: 8.9.0
23
26
  date: 2026-05-04
24
27
  changes: "更新 Solid useIntlayer API 用法以直接访问属性"
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer solid-js solid-intlayer @astrojs/solid-js
150
153
  核心软件包,提供用于配置管理、翻译、[内容声明](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)、编译和 [CLI 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md)的国际化工具。
151
154
 
152
155
  - **astro-intlayer**
153
- 包含将 Intlayer 与 [Vite 构建器](https://vite.dev/guide/why.html#why-bundle-for-production)集成的 Astro 集成插件,以及用于检测用户首选语言、管理 Cookie 和处理 URL 重定向的中间件。
156
+ 包含用于将 Intlayer 与 [Vite 打包器](https://vite.dev/guide/why.html#why-bundle-for-production) 集成的 Astro 集成插件、将每个请求的语言环境解析到 `Astro.locals.intlayer` 的中间件,以及 `useIntlayer` / `useDictionary` / `useLocale` 钩子。相同的导入路径在 `.astro` frontmatter 中解析为服务端实现,在 `<script>` 块中解析为客户端实现(由 `vanilla-intlayer` 支持)。
154
157
 
155
158
  - **solid-js**
156
159
  核心 Solid 软件包。
@@ -238,19 +241,21 @@ export default appContent;
238
241
  </Step>
239
242
  <Step number={5} title="在 Astro 中使用内容">
240
243
 
241
- 您可以使用 `intlayer` 导出的核心辅助函数直接在 `.astro` 文件中消费词典。您还应在每个页面添加 SEO 元数据(如 hreflang 和规范链接),并为客户端交互内容引入 Solid 岛。
244
+ 使用 `astro-intlayer` 导出的钩子在 `.astro` 文件中使用你的字典。它们与 `react-intlayer` 具有相同的签名:`useIntlayer("key")` 返回字典内容,`useLocale()` 返回当前语言环境,无需传递参数。
245
+
246
+ 语言环境来自 `astro-intlayer` 中间件,集成会自动在你的 `src/middleware.ts` 之前注册该中间件。它会依次从 URL 前缀、客户端持久化的语言环境(Cookie 或标头)、`Accept-Language` 解析每个请求的语言环境,并将其存储在 `Astro.locals.intlayer` 中。预渲染页面仅使用 URL,因为它们只为每个访客渲染一次。
247
+
248
+ 您还应在每个页面添加 SEO 元数据(如 hreflang 和规范链接),并为客户端交互内容引入 Solid 岛。
242
249
 
243
250
  ```astro fileName="src/pages/[...locale]/index.astro"
244
251
  ---
252
+ import { useIntlayer, useLocale } from "astro-intlayer";
245
253
  import {
246
- getIntlayer,
247
- getLocaleFromPath,
248
254
  getLocalizedUrl,
249
- getHTMLTextDir,
250
255
  getPrefix,
251
256
  localeMap,
252
257
  defaultLocale,
253
- type LocalesValues,
258
+ getHTMLTextDir,
254
259
  } from "intlayer";
255
260
  import { SolidIsland } from "../../components/solid/SolidIsland";
256
261
 
@@ -260,8 +265,11 @@ export const getStaticPaths = () => {
260
265
  }));
261
266
  };
262
267
 
263
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
264
- const { title } = getIntlayer("app", locale);
268
+ // 中间件解析的语言环境(例如 /zh/about -> 'zh')
269
+ const { locale } = useLocale();
270
+
271
+ // 该语言环境的 'app' 字典内容
272
+ const { title } = useIntlayer("app");
265
273
  ---
266
274
 
267
275
  <!doctype html>
@@ -317,6 +325,8 @@ const { title } = getIntlayer("app", locale);
317
325
  > <img src={String(content.image.src)} alt={String(content.image)} />
318
326
  > ```
319
327
 
328
+ > `Astro.locals.intlayer` 还向你自己的中间件和端点公开 `locale`、`defaultLocale` 和 `availableLocales`。将语言环境或选择器作为第二个参数传递(`useIntlayer("app", "fr")`、`useIntlayer("faq", { item: 2 })`)可在单次调用中覆盖请求语言环境。
329
+
320
330
  > **关于路由设置的说明:**
321
331
  > 您使用的目录结构取决于 `intlayer.config.ts` 中的 `middleware.routing` 设置:
322
332
  >
@@ -433,10 +443,10 @@ const pathList: SitemapUrlEntry[] = [
433
443
  { path: "/about", changefreq: "monthly", priority: 0.7 },
434
444
  ];
435
445
 
436
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
437
-
438
446
  export const GET: APIRoute = async ({ site }) => {
439
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
447
+ const xmlOutput = generateSitemap(pathList, {
448
+ siteUrl: "https://example.com",
449
+ });
440
450
 
441
451
  return new Response(xmlOutput, {
442
452
  headers: { "Content-Type": "application/xml" },
@@ -536,21 +546,7 @@ bun x intlayer extract
536
546
  </Tab>
537
547
  <Tab value='Babel 编译器'>
538
548
 
539
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
540
-
541
- 更新您的 `vite.config.ts` 以包含 `intlayerCompiler` 插件:
542
-
543
- ```ts fileName="vite.config.ts"
544
- import { defineConfig } from "vite";
545
- import { intlayer, intlayerCompiler } from "vite-intlayer";
546
-
547
- export default defineConfig({
548
- plugins: [
549
- intlayer(),
550
- intlayerCompiler(), // Adds the compiler plugin
551
- ],
552
- });
553
- ```
549
+ 构建你的应用程序来转换你的组件并提取内容
554
550
 
555
551
  ```bash packageManager="npm"
556
552
  npm run build # 或 npm run dev