@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.
- package/README.md +0 -1
- package/blog/ar/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/de/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/en/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/en-GB/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/es/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/fr/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/hi/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/id/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/it/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/ja/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/ko/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/pl/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/pt/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/ru/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/tr/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/uk/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/vi/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/zh/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/docs/ar/intlayer_with_astro.md +19 -32
- package/docs/ar/intlayer_with_astro_lit.md +32 -36
- package/docs/ar/intlayer_with_astro_preact.md +32 -36
- package/docs/ar/intlayer_with_astro_react.md +32 -36
- package/docs/ar/intlayer_with_astro_solid.md +32 -36
- package/docs/ar/intlayer_with_astro_svelte.md +32 -36
- package/docs/ar/intlayer_with_astro_vue.md +32 -36
- package/docs/ar/intlayer_with_react_router_v7.md +12 -1
- package/docs/ar/intlayer_with_solid_start.md +14 -7
- package/docs/ar/intlayer_with_svelte_kit.md +12 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +13 -2
- package/docs/ar/intlayer_with_tanstack.md +13 -6
- package/docs/ar/intlayer_with_vite+lit.md +75 -3
- package/docs/ar/intlayer_with_vite+preact.md +27 -19
- package/docs/ar/intlayer_with_vite+react.md +27 -19
- package/docs/ar/intlayer_with_vite+solid.md +27 -19
- package/docs/ar/intlayer_with_vite+svelte.md +27 -19
- package/docs/ar/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ar/intlayer_with_vite+vue.md +27 -19
- package/docs/ar/introduction.md +0 -1
- package/docs/ar/readme.md +0 -1
- package/docs/ar/releases/v8.md +1 -5
- package/docs/bn/intlayer_with_vite+lit.md +75 -3
- package/docs/bn/intlayer_with_vite+vanilla.md +16 -3
- package/docs/bn/introduction.md +0 -1
- package/docs/cs/intlayer_with_vite+lit.md +75 -3
- package/docs/cs/intlayer_with_vite+vanilla.md +16 -3
- package/docs/cs/introduction.md +0 -1
- package/docs/de/intlayer_with_astro.md +12 -25
- package/docs/de/intlayer_with_astro_lit.md +23 -27
- package/docs/de/intlayer_with_astro_preact.md +23 -27
- package/docs/de/intlayer_with_astro_react.md +23 -27
- package/docs/de/intlayer_with_astro_solid.md +23 -27
- package/docs/de/intlayer_with_astro_svelte.md +23 -27
- package/docs/de/intlayer_with_astro_vue.md +23 -27
- package/docs/de/intlayer_with_react_router_v7.md +12 -1
- package/docs/de/intlayer_with_solid_start.md +14 -7
- package/docs/de/intlayer_with_svelte_kit.md +12 -1
- package/docs/de/intlayer_with_tanstack+solid.md +13 -2
- package/docs/de/intlayer_with_tanstack.md +13 -6
- package/docs/de/intlayer_with_vite+lit.md +75 -3
- package/docs/de/intlayer_with_vite+preact.md +16 -3
- package/docs/de/intlayer_with_vite+react.md +16 -3
- package/docs/de/intlayer_with_vite+solid.md +16 -3
- package/docs/de/intlayer_with_vite+svelte.md +16 -3
- package/docs/de/intlayer_with_vite+vanilla.md +16 -3
- package/docs/de/intlayer_with_vite+vue.md +16 -3
- package/docs/de/introduction.md +0 -1
- package/docs/de/readme.md +0 -1
- package/docs/de/releases/v8.md +1 -5
- package/docs/en/intlayer_with_astro.md +5 -20
- package/docs/en/intlayer_with_astro_lit.md +22 -26
- package/docs/en/intlayer_with_astro_preact.md +22 -26
- package/docs/en/intlayer_with_astro_react.md +22 -26
- package/docs/en/intlayer_with_astro_solid.md +22 -26
- package/docs/en/intlayer_with_astro_svelte.md +22 -26
- package/docs/en/intlayer_with_astro_vanilla.md +20 -13
- package/docs/en/intlayer_with_astro_vue.md +22 -26
- package/docs/en/intlayer_with_react_router_v7.md +12 -1
- package/docs/en/intlayer_with_solid_start.md +14 -7
- package/docs/en/intlayer_with_svelte_kit.md +12 -1
- package/docs/en/intlayer_with_tanstack+solid.md +13 -2
- package/docs/en/intlayer_with_tanstack.md +12 -5
- package/docs/en/intlayer_with_vite+lit.md +75 -3
- package/docs/en/intlayer_with_vite+preact.md +16 -3
- package/docs/en/intlayer_with_vite+react.md +16 -3
- package/docs/en/intlayer_with_vite+solid.md +16 -3
- package/docs/en/intlayer_with_vite+svelte.md +16 -3
- package/docs/en/intlayer_with_vite+vanilla.md +16 -3
- package/docs/en/intlayer_with_vite+vue.md +16 -3
- package/docs/en/introduction.md +0 -1
- package/docs/en/readme.md +0 -1
- package/docs/en/releases/v8.md +1 -5
- package/docs/en-GB/intlayer_with_astro.md +12 -25
- package/docs/en-GB/intlayer_with_astro_lit.md +23 -27
- package/docs/en-GB/intlayer_with_astro_preact.md +23 -27
- package/docs/en-GB/intlayer_with_astro_react.md +23 -27
- package/docs/en-GB/intlayer_with_astro_solid.md +23 -27
- package/docs/en-GB/intlayer_with_astro_svelte.md +23 -27
- package/docs/en-GB/intlayer_with_astro_vue.md +23 -27
- package/docs/en-GB/intlayer_with_react_router_v7.md +12 -1
- package/docs/en-GB/intlayer_with_solid_start.md +14 -7
- package/docs/en-GB/intlayer_with_svelte_kit.md +12 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +13 -2
- package/docs/en-GB/intlayer_with_tanstack.md +13 -6
- package/docs/en-GB/intlayer_with_vite+lit.md +75 -3
- package/docs/en-GB/intlayer_with_vite+preact.md +16 -3
- package/docs/en-GB/intlayer_with_vite+react.md +16 -3
- package/docs/en-GB/intlayer_with_vite+solid.md +25 -15
- package/docs/en-GB/intlayer_with_vite+svelte.md +16 -3
- package/docs/en-GB/intlayer_with_vite+vanilla.md +16 -3
- package/docs/en-GB/intlayer_with_vite+vue.md +16 -3
- package/docs/en-GB/introduction.md +0 -1
- package/docs/en-GB/readme.md +0 -1
- package/docs/en-GB/releases/v8.md +1 -5
- package/docs/es/intlayer_with_astro.md +12 -25
- package/docs/es/intlayer_with_astro_lit.md +23 -27
- package/docs/es/intlayer_with_astro_preact.md +23 -27
- package/docs/es/intlayer_with_astro_react.md +23 -27
- package/docs/es/intlayer_with_astro_solid.md +23 -27
- package/docs/es/intlayer_with_astro_svelte.md +23 -27
- package/docs/es/intlayer_with_astro_vue.md +23 -27
- package/docs/es/intlayer_with_react_router_v7.md +12 -1
- package/docs/es/intlayer_with_solid_start.md +14 -7
- package/docs/es/intlayer_with_svelte_kit.md +12 -1
- package/docs/es/intlayer_with_tanstack+solid.md +13 -2
- package/docs/es/intlayer_with_tanstack.md +13 -6
- package/docs/es/intlayer_with_vite+lit.md +75 -3
- package/docs/es/intlayer_with_vite+preact.md +16 -3
- package/docs/es/intlayer_with_vite+react.md +16 -3
- package/docs/es/intlayer_with_vite+solid.md +16 -3
- package/docs/es/intlayer_with_vite+svelte.md +16 -3
- package/docs/es/intlayer_with_vite+vanilla.md +16 -3
- package/docs/es/intlayer_with_vite+vue.md +16 -3
- package/docs/es/introduction.md +0 -1
- package/docs/es/readme.md +0 -1
- package/docs/es/releases/v8.md +1 -5
- package/docs/fr/intlayer_with_astro.md +13 -26
- package/docs/fr/intlayer_with_astro_lit.md +24 -28
- package/docs/fr/intlayer_with_astro_preact.md +24 -28
- package/docs/fr/intlayer_with_astro_react.md +24 -28
- package/docs/fr/intlayer_with_astro_solid.md +24 -28
- package/docs/fr/intlayer_with_astro_svelte.md +24 -28
- package/docs/fr/intlayer_with_astro_vue.md +24 -28
- package/docs/fr/intlayer_with_react_router_v7.md +15 -4
- package/docs/fr/intlayer_with_solid_start.md +14 -7
- package/docs/fr/intlayer_with_svelte_kit.md +15 -4
- package/docs/fr/intlayer_with_tanstack+solid.md +15 -4
- package/docs/fr/intlayer_with_tanstack.md +13 -6
- package/docs/fr/intlayer_with_vite+lit.md +75 -3
- package/docs/fr/intlayer_with_vite+preact.md +19 -6
- package/docs/fr/intlayer_with_vite+react.md +19 -6
- package/docs/fr/intlayer_with_vite+solid.md +19 -6
- package/docs/fr/intlayer_with_vite+svelte.md +19 -6
- package/docs/fr/intlayer_with_vite+vanilla.md +19 -6
- package/docs/fr/intlayer_with_vite+vue.md +19 -6
- package/docs/fr/introduction.md +0 -1
- package/docs/fr/readme.md +0 -1
- package/docs/fr/releases/v8.md +1 -5
- package/docs/hi/intlayer_with_astro.md +15 -31
- package/docs/hi/intlayer_with_astro_lit.md +26 -33
- package/docs/hi/intlayer_with_astro_preact.md +26 -33
- package/docs/hi/intlayer_with_astro_react.md +26 -33
- package/docs/hi/intlayer_with_astro_solid.md +26 -33
- package/docs/hi/intlayer_with_astro_svelte.md +26 -33
- package/docs/hi/intlayer_with_astro_vue.md +26 -33
- package/docs/hi/intlayer_with_react_router_v7.md +20 -12
- package/docs/hi/intlayer_with_solid_start.md +14 -7
- package/docs/hi/intlayer_with_svelte_kit.md +20 -12
- package/docs/hi/intlayer_with_tanstack+solid.md +13 -2
- package/docs/hi/intlayer_with_tanstack.md +21 -17
- package/docs/hi/intlayer_with_vite+lit.md +75 -3
- package/docs/hi/intlayer_with_vite+preact.md +24 -14
- package/docs/hi/intlayer_with_vite+react.md +24 -14
- package/docs/hi/intlayer_with_vite+solid.md +24 -14
- package/docs/hi/intlayer_with_vite+svelte.md +24 -14
- package/docs/hi/intlayer_with_vite+vanilla.md +16 -3
- package/docs/hi/intlayer_with_vite+vue.md +24 -14
- package/docs/hi/introduction.md +0 -1
- package/docs/hi/readme.md +0 -1
- package/docs/hi/releases/v8.md +1 -5
- package/docs/id/intlayer_with_astro.md +12 -25
- package/docs/id/intlayer_with_astro_lit.md +23 -27
- package/docs/id/intlayer_with_astro_preact.md +23 -27
- package/docs/id/intlayer_with_astro_react.md +23 -27
- package/docs/id/intlayer_with_astro_solid.md +23 -27
- package/docs/id/intlayer_with_astro_svelte.md +23 -27
- package/docs/id/intlayer_with_astro_vue.md +23 -27
- package/docs/id/intlayer_with_react_router_v7.md +12 -1
- package/docs/id/intlayer_with_solid_start.md +14 -7
- package/docs/id/intlayer_with_svelte_kit.md +12 -1
- package/docs/id/intlayer_with_tanstack+solid.md +13 -2
- package/docs/id/intlayer_with_tanstack.md +13 -6
- package/docs/id/intlayer_with_vite+lit.md +75 -3
- package/docs/id/intlayer_with_vite+preact.md +16 -3
- package/docs/id/intlayer_with_vite+react.md +16 -3
- package/docs/id/intlayer_with_vite+solid.md +16 -3
- package/docs/id/intlayer_with_vite+svelte.md +16 -3
- package/docs/id/intlayer_with_vite+vanilla.md +16 -3
- package/docs/id/intlayer_with_vite+vue.md +16 -3
- package/docs/id/introduction.md +0 -1
- package/docs/id/readme.md +0 -1
- package/docs/id/releases/v8.md +1 -5
- package/docs/it/intlayer_with_astro.md +12 -25
- package/docs/it/intlayer_with_astro_lit.md +23 -27
- package/docs/it/intlayer_with_astro_preact.md +23 -27
- package/docs/it/intlayer_with_astro_react.md +23 -27
- package/docs/it/intlayer_with_astro_solid.md +23 -27
- package/docs/it/intlayer_with_astro_svelte.md +23 -27
- package/docs/it/intlayer_with_astro_vue.md +23 -27
- package/docs/it/intlayer_with_react_router_v7.md +12 -1
- package/docs/it/intlayer_with_solid_start.md +14 -7
- package/docs/it/intlayer_with_svelte_kit.md +12 -1
- package/docs/it/intlayer_with_tanstack+solid.md +13 -2
- package/docs/it/intlayer_with_tanstack.md +13 -6
- package/docs/it/intlayer_with_vite+lit.md +75 -3
- package/docs/it/intlayer_with_vite+preact.md +16 -3
- package/docs/it/intlayer_with_vite+react.md +16 -3
- package/docs/it/intlayer_with_vite+solid.md +16 -3
- package/docs/it/intlayer_with_vite+svelte.md +16 -3
- package/docs/it/intlayer_with_vite+vanilla.md +16 -3
- package/docs/it/intlayer_with_vite+vue.md +16 -3
- package/docs/it/introduction.md +0 -1
- package/docs/it/readme.md +0 -1
- package/docs/it/releases/v8.md +1 -5
- package/docs/ja/intlayer_with_astro.md +12 -25
- package/docs/ja/intlayer_with_astro_lit.md +23 -27
- package/docs/ja/intlayer_with_astro_preact.md +23 -27
- package/docs/ja/intlayer_with_astro_react.md +23 -27
- package/docs/ja/intlayer_with_astro_solid.md +23 -27
- package/docs/ja/intlayer_with_astro_svelte.md +23 -27
- package/docs/ja/intlayer_with_astro_vue.md +23 -27
- package/docs/ja/intlayer_with_react_router_v7.md +12 -1
- package/docs/ja/intlayer_with_solid_start.md +14 -7
- package/docs/ja/intlayer_with_svelte_kit.md +21 -15
- package/docs/ja/intlayer_with_tanstack+solid.md +13 -2
- package/docs/ja/intlayer_with_tanstack.md +13 -6
- package/docs/ja/intlayer_with_vite+lit.md +75 -3
- package/docs/ja/intlayer_with_vite+preact.md +16 -3
- package/docs/ja/intlayer_with_vite+react.md +16 -3
- package/docs/ja/intlayer_with_vite+solid.md +16 -3
- package/docs/ja/intlayer_with_vite+svelte.md +16 -3
- package/docs/ja/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ja/intlayer_with_vite+vue.md +16 -3
- package/docs/ja/introduction.md +0 -1
- package/docs/ja/readme.md +0 -1
- package/docs/ja/releases/v8.md +1 -5
- package/docs/ko/intlayer_with_astro.md +6 -21
- package/docs/ko/intlayer_with_astro_lit.md +23 -27
- package/docs/ko/intlayer_with_astro_preact.md +23 -27
- package/docs/ko/intlayer_with_astro_react.md +23 -27
- package/docs/ko/intlayer_with_astro_solid.md +23 -27
- package/docs/ko/intlayer_with_astro_svelte.md +23 -27
- package/docs/ko/intlayer_with_astro_vue.md +23 -27
- package/docs/ko/intlayer_with_react_router_v7.md +12 -1
- package/docs/ko/intlayer_with_solid_start.md +14 -7
- package/docs/ko/intlayer_with_svelte_kit.md +12 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +13 -2
- package/docs/ko/intlayer_with_tanstack.md +13 -6
- package/docs/ko/intlayer_with_vite+lit.md +75 -3
- package/docs/ko/intlayer_with_vite+preact.md +16 -3
- package/docs/ko/intlayer_with_vite+react.md +16 -3
- package/docs/ko/intlayer_with_vite+solid.md +26 -16
- package/docs/ko/intlayer_with_vite+svelte.md +16 -3
- package/docs/ko/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ko/intlayer_with_vite+vue.md +16 -3
- package/docs/ko/introduction.md +0 -1
- package/docs/ko/readme.md +0 -1
- package/docs/ko/releases/v8.md +1 -5
- package/docs/nl/intlayer_with_vite+lit.md +75 -3
- package/docs/nl/intlayer_with_vite+vanilla.md +16 -3
- package/docs/nl/introduction.md +0 -1
- package/docs/pl/intlayer_with_astro.md +6 -21
- package/docs/pl/intlayer_with_astro_lit.md +23 -27
- package/docs/pl/intlayer_with_astro_preact.md +23 -27
- package/docs/pl/intlayer_with_astro_react.md +23 -27
- package/docs/pl/intlayer_with_astro_solid.md +23 -27
- package/docs/pl/intlayer_with_astro_svelte.md +23 -27
- package/docs/pl/intlayer_with_astro_vue.md +23 -27
- package/docs/pl/intlayer_with_react_router_v7.md +12 -1
- package/docs/pl/intlayer_with_solid_start.md +14 -7
- package/docs/pl/intlayer_with_svelte_kit.md +12 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +13 -2
- package/docs/pl/intlayer_with_tanstack.md +13 -6
- package/docs/pl/intlayer_with_vite+lit.md +75 -3
- package/docs/pl/intlayer_with_vite+preact.md +16 -3
- package/docs/pl/intlayer_with_vite+react.md +16 -3
- package/docs/pl/intlayer_with_vite+solid.md +16 -3
- package/docs/pl/intlayer_with_vite+svelte.md +16 -3
- package/docs/pl/intlayer_with_vite+vanilla.md +16 -3
- package/docs/pl/intlayer_with_vite+vue.md +16 -3
- package/docs/pl/introduction.md +0 -1
- package/docs/pl/readme.md +0 -1
- package/docs/pl/releases/v8.md +1 -5
- package/docs/pt/intlayer_with_astro.md +6 -21
- package/docs/pt/intlayer_with_astro_lit.md +23 -27
- package/docs/pt/intlayer_with_astro_preact.md +23 -27
- package/docs/pt/intlayer_with_astro_react.md +23 -27
- package/docs/pt/intlayer_with_astro_solid.md +23 -27
- package/docs/pt/intlayer_with_astro_svelte.md +23 -27
- package/docs/pt/intlayer_with_astro_vue.md +23 -27
- package/docs/pt/intlayer_with_react_router_v7.md +12 -1
- package/docs/pt/intlayer_with_solid_start.md +14 -7
- package/docs/pt/intlayer_with_svelte_kit.md +12 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +13 -2
- package/docs/pt/intlayer_with_tanstack.md +13 -6
- package/docs/pt/intlayer_with_vite+lit.md +75 -3
- package/docs/pt/intlayer_with_vite+preact.md +16 -3
- package/docs/pt/intlayer_with_vite+react.md +16 -3
- package/docs/pt/intlayer_with_vite+solid.md +16 -3
- package/docs/pt/intlayer_with_vite+svelte.md +16 -3
- package/docs/pt/intlayer_with_vite+vanilla.md +16 -3
- package/docs/pt/intlayer_with_vite+vue.md +16 -3
- package/docs/pt/introduction.md +0 -1
- package/docs/pt/readme.md +0 -1
- package/docs/pt/releases/v8.md +1 -5
- package/docs/ru/intlayer_with_astro.md +12 -25
- package/docs/ru/intlayer_with_astro_lit.md +23 -27
- package/docs/ru/intlayer_with_astro_preact.md +23 -27
- package/docs/ru/intlayer_with_astro_react.md +23 -27
- package/docs/ru/intlayer_with_astro_solid.md +23 -27
- package/docs/ru/intlayer_with_astro_svelte.md +23 -27
- package/docs/ru/intlayer_with_astro_vue.md +23 -27
- package/docs/ru/intlayer_with_react_router_v7.md +12 -1
- package/docs/ru/intlayer_with_solid_start.md +14 -7
- package/docs/ru/intlayer_with_svelte_kit.md +12 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +13 -2
- package/docs/ru/intlayer_with_tanstack.md +13 -6
- package/docs/ru/intlayer_with_vite+lit.md +75 -3
- package/docs/ru/intlayer_with_vite+preact.md +16 -3
- package/docs/ru/intlayer_with_vite+react.md +16 -3
- package/docs/ru/intlayer_with_vite+solid.md +16 -3
- package/docs/ru/intlayer_with_vite+svelte.md +16 -3
- package/docs/ru/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ru/intlayer_with_vite+vue.md +16 -3
- package/docs/ru/introduction.md +0 -1
- package/docs/ru/readme.md +0 -1
- package/docs/ru/releases/v8.md +1 -5
- package/docs/tr/intlayer_with_astro.md +12 -25
- package/docs/tr/intlayer_with_astro_lit.md +24 -28
- package/docs/tr/intlayer_with_astro_preact.md +24 -28
- package/docs/tr/intlayer_with_astro_react.md +24 -28
- package/docs/tr/intlayer_with_astro_solid.md +24 -28
- package/docs/tr/intlayer_with_astro_svelte.md +24 -28
- package/docs/tr/intlayer_with_astro_vue.md +24 -28
- package/docs/tr/intlayer_with_react_router_v7.md +12 -1
- package/docs/tr/intlayer_with_solid_start.md +14 -7
- package/docs/tr/intlayer_with_svelte_kit.md +12 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +13 -2
- package/docs/tr/intlayer_with_tanstack.md +13 -6
- package/docs/tr/intlayer_with_vite+lit.md +75 -3
- package/docs/tr/intlayer_with_vite+preact.md +16 -3
- package/docs/tr/intlayer_with_vite+react.md +16 -3
- package/docs/tr/intlayer_with_vite+solid.md +16 -3
- package/docs/tr/intlayer_with_vite+svelte.md +16 -3
- package/docs/tr/intlayer_with_vite+vanilla.md +16 -3
- package/docs/tr/intlayer_with_vite+vue.md +16 -3
- package/docs/tr/introduction.md +0 -1
- package/docs/tr/readme.md +0 -1
- package/docs/tr/releases/v8.md +1 -5
- package/docs/uk/intlayer_with_astro.md +12 -25
- package/docs/uk/intlayer_with_astro_lit.md +23 -27
- package/docs/uk/intlayer_with_astro_preact.md +23 -27
- package/docs/uk/intlayer_with_astro_react.md +23 -27
- package/docs/uk/intlayer_with_astro_solid.md +23 -27
- package/docs/uk/intlayer_with_astro_svelte.md +23 -27
- package/docs/uk/intlayer_with_astro_vue.md +23 -27
- package/docs/uk/intlayer_with_react_router_v7.md +12 -1
- package/docs/uk/intlayer_with_solid_start.md +14 -7
- package/docs/uk/intlayer_with_svelte_kit.md +12 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +13 -2
- package/docs/uk/intlayer_with_tanstack.md +13 -6
- package/docs/uk/intlayer_with_vite+lit.md +75 -3
- package/docs/uk/intlayer_with_vite+preact.md +16 -3
- package/docs/uk/intlayer_with_vite+react.md +16 -3
- package/docs/uk/intlayer_with_vite+solid.md +16 -3
- package/docs/uk/intlayer_with_vite+svelte.md +16 -3
- package/docs/uk/intlayer_with_vite+vanilla.md +16 -3
- package/docs/uk/intlayer_with_vite+vue.md +16 -3
- package/docs/uk/introduction.md +0 -1
- package/docs/uk/readme.md +0 -1
- package/docs/uk/releases/v8.md +1 -5
- package/docs/ur/intlayer_with_vite+lit.md +75 -3
- package/docs/ur/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ur/introduction.md +0 -1
- package/docs/vi/intlayer_with_astro.md +12 -25
- package/docs/vi/intlayer_with_astro_lit.md +23 -27
- package/docs/vi/intlayer_with_astro_preact.md +23 -27
- package/docs/vi/intlayer_with_astro_react.md +23 -27
- package/docs/vi/intlayer_with_astro_solid.md +23 -27
- package/docs/vi/intlayer_with_astro_svelte.md +23 -27
- package/docs/vi/intlayer_with_astro_vue.md +23 -27
- package/docs/vi/intlayer_with_react_router_v7.md +12 -1
- package/docs/vi/intlayer_with_solid_start.md +14 -7
- package/docs/vi/intlayer_with_svelte_kit.md +12 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +13 -2
- package/docs/vi/intlayer_with_tanstack.md +13 -6
- package/docs/vi/intlayer_with_vite+lit.md +75 -3
- package/docs/vi/intlayer_with_vite+preact.md +16 -3
- package/docs/vi/intlayer_with_vite+react.md +16 -3
- package/docs/vi/intlayer_with_vite+solid.md +16 -3
- package/docs/vi/intlayer_with_vite+svelte.md +16 -3
- package/docs/vi/intlayer_with_vite+vanilla.md +16 -3
- package/docs/vi/intlayer_with_vite+vue.md +16 -3
- package/docs/vi/introduction.md +0 -1
- package/docs/vi/readme.md +0 -1
- package/docs/vi/releases/v8.md +1 -5
- package/docs/zh/intlayer_with_astro.md +6 -21
- package/docs/zh/intlayer_with_astro_lit.md +23 -27
- package/docs/zh/intlayer_with_astro_preact.md +23 -27
- package/docs/zh/intlayer_with_astro_react.md +23 -27
- package/docs/zh/intlayer_with_astro_solid.md +23 -27
- package/docs/zh/intlayer_with_astro_svelte.md +23 -27
- package/docs/zh/intlayer_with_astro_vue.md +23 -27
- package/docs/zh/intlayer_with_react_router_v7.md +12 -1
- package/docs/zh/intlayer_with_solid_start.md +14 -7
- package/docs/zh/intlayer_with_svelte_kit.md +12 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +13 -2
- package/docs/zh/intlayer_with_tanstack.md +13 -6
- package/docs/zh/intlayer_with_vite+lit.md +75 -3
- package/docs/zh/intlayer_with_vite+preact.md +16 -3
- package/docs/zh/intlayer_with_vite+react.md +16 -3
- package/docs/zh/intlayer_with_vite+solid.md +16 -3
- package/docs/zh/intlayer_with_vite+svelte.md +16 -3
- package/docs/zh/intlayer_with_vite+vanilla.md +16 -3
- package/docs/zh/intlayer_with_vite+vue.md +16 -3
- package/docs/zh/introduction.md +0 -1
- package/docs/zh/readme.md +0 -1
- package/docs/zh/releases/v8.md +1 -5
- package/docs/zh-TW/introduction.md +0 -1
- package/package.json +6 -6
- package/docs/ar/intlayer_with_astro_vanilla.md +0 -709
- package/docs/de/intlayer_with_astro_vanilla.md +0 -705
- package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -709
- package/docs/es/intlayer_with_astro_vanilla.md +0 -701
- package/docs/fr/intlayer_with_astro_vanilla.md +0 -701
- package/docs/hi/intlayer_with_astro_vanilla.md +0 -720
- package/docs/id/intlayer_with_astro_vanilla.md +0 -705
- package/docs/it/intlayer_with_astro_vanilla.md +0 -705
- package/docs/ja/intlayer_with_astro_vanilla.md +0 -708
- package/docs/ko/intlayer_with_astro_vanilla.md +0 -720
- package/docs/pl/intlayer_with_astro_vanilla.md +0 -705
- package/docs/pt/intlayer_with_astro_vanilla.md +0 -705
- package/docs/ru/intlayer_with_astro_vanilla.md +0 -716
- package/docs/tr/intlayer_with_astro_vanilla.md +0 -705
- package/docs/uk/intlayer_with_astro_vanilla.md +0 -705
- package/docs/vi/intlayer_with_astro_vanilla.md +0 -705
- package/docs/zh/intlayer_with_astro_vanilla.md +0 -704
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Astro + React i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Astro + React app. Translate with AI agents and optimise bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
20
20
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Use the useIntlayer / useLocale hooks of astro-intlayer in the Astro page"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
@@ -153,7 +156,7 @@ bun add intlayer astro-intlayer react react-dom react-intlayer @astrojs/react
|
|
|
153
156
|
The core package that provides i18n tools for configuration management, translations, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md).
|
|
154
157
|
|
|
155
158
|
- **astro-intlayer**
|
|
156
|
-
Includes the Astro integration plugin
|
|
159
|
+
Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), a middleware that resolves the locale of every request into `Astro.locals.intlayer`, and the `useIntlayer` / `useDictionary` / `useLocale` hooks. The same import path resolves to the server implementation in your `.astro` frontmatter and to the client one (backed by `vanilla-intlayer`) in `<script>` blocks.
|
|
157
160
|
|
|
158
161
|
- **react**, **react-dom**
|
|
159
162
|
Core React packages required for rendering React components in the browser.
|
|
@@ -243,19 +246,21 @@ export default appContent;
|
|
|
243
246
|
</Step>
|
|
244
247
|
<Step number={5} title="Using Content in Astro">
|
|
245
248
|
|
|
246
|
-
|
|
249
|
+
Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of `react-intlayer`: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
|
|
250
|
+
|
|
251
|
+
The locale comes from the `astro-intlayer` middleware, which the integration registers for you ahead of your own `src/middleware.ts`. It resolves it for every request, from the URL prefix, then the locale persisted by the client (cookie or header), then `Accept-Language`, and stores it in `Astro.locals.intlayer`. Prerendered pages only use the URL, since they are rendered once for every visitor.
|
|
252
|
+
|
|
253
|
+
You should also add SEO metadata (such as hreflang and canonical links) to every page and introduce a React island for interactive client-side content.
|
|
247
254
|
|
|
248
255
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
249
256
|
---
|
|
257
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
250
258
|
import {
|
|
251
|
-
getIntlayer,
|
|
252
|
-
getLocaleFromPath,
|
|
253
259
|
getLocalizedUrl,
|
|
254
|
-
getHTMLTextDir,
|
|
255
260
|
getPrefix,
|
|
256
261
|
localeMap,
|
|
257
262
|
defaultLocale,
|
|
258
|
-
|
|
263
|
+
getHTMLTextDir,
|
|
259
264
|
} from "intlayer";
|
|
260
265
|
import { ReactIsland } from "../../components/react/ReactIsland";
|
|
261
266
|
|
|
@@ -265,8 +270,11 @@ export const getStaticPaths = () => {
|
|
|
265
270
|
}));
|
|
266
271
|
};
|
|
267
272
|
|
|
268
|
-
|
|
269
|
-
const {
|
|
273
|
+
// Locale resolved by the middleware (e.g. /es/about -> 'es')
|
|
274
|
+
const { locale } = useLocale();
|
|
275
|
+
|
|
276
|
+
// Content of the 'app' dictionary for that locale
|
|
277
|
+
const { title } = useIntlayer("app");
|
|
270
278
|
---
|
|
271
279
|
|
|
272
280
|
<!doctype html>
|
|
@@ -322,6 +330,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
322
330
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
323
331
|
> ```
|
|
324
332
|
|
|
333
|
+
> `Astro.locals.intlayer` also exposes `locale`, `defaultLocale` and `availableLocales` to your own middleware and endpoints. Pass a locale or a selector as second argument (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) to override the request locale for one call.
|
|
334
|
+
|
|
325
335
|
> **Note on routing setup:**
|
|
326
336
|
> The directory structure you use depends on the `middleware.routing` setting in `intlayer.config.ts`:
|
|
327
337
|
>
|
|
@@ -434,10 +444,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
434
444
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
435
445
|
];
|
|
436
446
|
|
|
437
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
438
|
-
|
|
439
447
|
export const GET: APIRoute = async ({ site }) => {
|
|
440
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
448
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
449
|
+
siteUrl: "https://example.com",
|
|
450
|
+
});
|
|
441
451
|
|
|
442
452
|
return new Response(xmlOutput, {
|
|
443
453
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -541,21 +551,7 @@ bun x intlayer extract
|
|
|
541
551
|
</Tab>
|
|
542
552
|
<Tab value='Babel compiler'>
|
|
543
553
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
547
|
-
|
|
548
|
-
```ts fileName="vite.config.ts"
|
|
549
|
-
import { defineConfig } from "vite";
|
|
550
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
551
|
-
|
|
552
|
-
export default defineConfig({
|
|
553
|
-
plugins: [
|
|
554
|
-
intlayer(),
|
|
555
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
556
|
-
],
|
|
557
|
-
});
|
|
558
|
-
```
|
|
554
|
+
Build your application to transform your components and extract the content
|
|
559
555
|
|
|
560
556
|
```bash packageManager="npm"
|
|
561
557
|
npm run build # Or npm run dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-24
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Astro + Solid i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Astro + Solid app. Translate with AI agents and optimise bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
20
20
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Use the useIntlayer / useLocale hooks of astro-intlayer in the Astro page"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer solid-js solid-intlayer @astrojs/solid-js
|
|
|
150
153
|
The core package that provides i18n tools for configuration management, translations, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
Includes the Astro integration plugin
|
|
156
|
+
Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), a middleware that resolves the locale of every request into `Astro.locals.intlayer`, and the `useIntlayer` / `useDictionary` / `useLocale` hooks. The same import path resolves to the server implementation in your `.astro` frontmatter and to the client one (backed by `vanilla-intlayer`) in `<script>` blocks.
|
|
154
157
|
|
|
155
158
|
- **solid-js**
|
|
156
159
|
Core Solid package.
|
|
@@ -239,19 +242,21 @@ export default appContent;
|
|
|
239
242
|
</Step>
|
|
240
243
|
<Step number={5} title="Using Content in Astro">
|
|
241
244
|
|
|
242
|
-
|
|
245
|
+
Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of `react-intlayer`: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
|
|
246
|
+
|
|
247
|
+
The locale comes from the `astro-intlayer` middleware, which the integration registers for you ahead of your own `src/middleware.ts`. It resolves it for every request, from the URL prefix, then the locale persisted by the client (cookie or header), then `Accept-Language`, and stores it in `Astro.locals.intlayer`. Prerendered pages only use the URL, since they are rendered once for every visitor.
|
|
248
|
+
|
|
249
|
+
You should also add SEO metadata (such as hreflang and canonical links) to every page and introduce a Solid island for interactive client-side content.
|
|
243
250
|
|
|
244
251
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
245
252
|
---
|
|
253
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
246
254
|
import {
|
|
247
|
-
getIntlayer,
|
|
248
|
-
getLocaleFromPath,
|
|
249
255
|
getLocalizedUrl,
|
|
250
|
-
getHTMLTextDir,
|
|
251
256
|
getPrefix,
|
|
252
257
|
localeMap,
|
|
253
258
|
defaultLocale,
|
|
254
|
-
|
|
259
|
+
getHTMLTextDir,
|
|
255
260
|
} from "intlayer";
|
|
256
261
|
import { SolidIsland } from "../../components/solid/SolidIsland";
|
|
257
262
|
|
|
@@ -261,8 +266,11 @@ export const getStaticPaths = () => {
|
|
|
261
266
|
}));
|
|
262
267
|
};
|
|
263
268
|
|
|
264
|
-
|
|
265
|
-
const {
|
|
269
|
+
// Locale resolved by the middleware (e.g. /es/about -> 'es')
|
|
270
|
+
const { locale } = useLocale();
|
|
271
|
+
|
|
272
|
+
// Content of the 'app' dictionary for that locale
|
|
273
|
+
const { title } = useIntlayer("app");
|
|
266
274
|
---
|
|
267
275
|
|
|
268
276
|
<!doctype html>
|
|
@@ -318,6 +326,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
318
326
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
319
327
|
> ```
|
|
320
328
|
|
|
329
|
+
> `Astro.locals.intlayer` also exposes `locale`, `defaultLocale` and `availableLocales` to your own middleware and endpoints. Pass a locale or a selector as second argument (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) to override the request locale for one call.
|
|
330
|
+
|
|
321
331
|
> **Note on routing setup:**
|
|
322
332
|
> The directory structure you use depends on the `middleware.routing` setting in `intlayer.config.ts`:
|
|
323
333
|
>
|
|
@@ -434,10 +444,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
434
444
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
435
445
|
];
|
|
436
446
|
|
|
437
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
438
|
-
|
|
439
447
|
export const GET: APIRoute = async ({ site }) => {
|
|
440
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
448
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
449
|
+
siteUrl: "https://example.com",
|
|
450
|
+
});
|
|
441
451
|
|
|
442
452
|
return new Response(xmlOutput, {
|
|
443
453
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -541,21 +551,7 @@ bun x intlayer extract
|
|
|
541
551
|
</Tab>
|
|
542
552
|
<Tab value='Babel compiler'>
|
|
543
553
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
547
|
-
|
|
548
|
-
```ts fileName="vite.config.ts"
|
|
549
|
-
import { defineConfig } from "vite";
|
|
550
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
551
|
-
|
|
552
|
-
export default defineConfig({
|
|
553
|
-
plugins: [
|
|
554
|
-
intlayer(),
|
|
555
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
556
|
-
],
|
|
557
|
-
});
|
|
558
|
-
```
|
|
554
|
+
Build your application to transform your components and extract the content
|
|
559
555
|
|
|
560
556
|
```bash packageManager="npm"
|
|
561
557
|
npm run build # Or npm run dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-24
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Astro + Svelte i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Astro + Svelte app. Translate with AI agents and optimise bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
20
20
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Use the useIntlayer / useLocale hooks of astro-intlayer in the Astro page"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer svelte svelte-intlayer @astrojs/svelte
|
|
|
150
153
|
The core package that provides i18n tools for configuration management, translations, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
Includes the Astro integration plugin
|
|
156
|
+
Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), a middleware that resolves the locale of every request into `Astro.locals.intlayer`, and the `useIntlayer` / `useDictionary` / `useLocale` hooks. The same import path resolves to the server implementation in your `.astro` frontmatter and to the client one (backed by `vanilla-intlayer`) in `<script>` blocks.
|
|
154
157
|
|
|
155
158
|
- **svelte**
|
|
156
159
|
Core Svelte package.
|
|
@@ -239,19 +242,21 @@ export default appContent;
|
|
|
239
242
|
</Step>
|
|
240
243
|
<Step number={5} title="Using Content in Astro">
|
|
241
244
|
|
|
242
|
-
|
|
245
|
+
Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of `react-intlayer`: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
|
|
246
|
+
|
|
247
|
+
The locale comes from the `astro-intlayer` middleware, which the integration registers for you ahead of your own `src/middleware.ts`. It resolves it for every request, from the URL prefix, then the locale persisted by the client (cookie or header), then `Accept-Language`, and stores it in `Astro.locals.intlayer`. Prerendered pages only use the URL, since they are rendered once for every visitor.
|
|
248
|
+
|
|
249
|
+
You should also add SEO metadata (such as hreflang and canonical links) to every page and introduce a Svelte island for interactive client-side content.
|
|
243
250
|
|
|
244
251
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
245
252
|
---
|
|
253
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
246
254
|
import {
|
|
247
|
-
getIntlayer,
|
|
248
|
-
getLocaleFromPath,
|
|
249
255
|
getLocalizedUrl,
|
|
250
|
-
getHTMLTextDir,
|
|
251
256
|
getPrefix,
|
|
252
257
|
localeMap,
|
|
253
258
|
defaultLocale,
|
|
254
|
-
|
|
259
|
+
getHTMLTextDir,
|
|
255
260
|
} from "intlayer";
|
|
256
261
|
import SvelteIsland from "../../components/svelte/SvelteIsland.svelte";
|
|
257
262
|
|
|
@@ -261,8 +266,11 @@ export const getStaticPaths = () => {
|
|
|
261
266
|
}));
|
|
262
267
|
};
|
|
263
268
|
|
|
264
|
-
|
|
265
|
-
const {
|
|
269
|
+
// Locale resolved by the middleware (e.g. /es/about -> 'es')
|
|
270
|
+
const { locale } = useLocale();
|
|
271
|
+
|
|
272
|
+
// Content of the 'app' dictionary for that locale
|
|
273
|
+
const { title } = useIntlayer("app");
|
|
266
274
|
---
|
|
267
275
|
|
|
268
276
|
<!doctype html>
|
|
@@ -318,6 +326,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
318
326
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
319
327
|
> ```
|
|
320
328
|
|
|
329
|
+
> `Astro.locals.intlayer` also exposes `locale`, `defaultLocale` and `availableLocales` to your own middleware and endpoints. Pass a locale or a selector as second argument (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) to override the request locale for one call.
|
|
330
|
+
|
|
321
331
|
> **Note on routing setup:**
|
|
322
332
|
> The directory structure you use depends on the `middleware.routing` setting in `intlayer.config.ts`:
|
|
323
333
|
>
|
|
@@ -438,10 +448,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
438
448
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
439
449
|
];
|
|
440
450
|
|
|
441
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
442
|
-
|
|
443
451
|
export const GET: APIRoute = async ({ site }) => {
|
|
444
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
452
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
453
|
+
siteUrl: "https://example.com",
|
|
454
|
+
});
|
|
445
455
|
|
|
446
456
|
return new Response(xmlOutput, {
|
|
447
457
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -545,21 +555,7 @@ bun x intlayer extract
|
|
|
545
555
|
</Tab>
|
|
546
556
|
<Tab value='Babel compiler'>
|
|
547
557
|
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
551
|
-
|
|
552
|
-
```ts fileName="vite.config.ts"
|
|
553
|
-
import { defineConfig } from "vite";
|
|
554
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
555
|
-
|
|
556
|
-
export default defineConfig({
|
|
557
|
-
plugins: [
|
|
558
|
-
intlayer(),
|
|
559
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
560
|
-
],
|
|
561
|
-
});
|
|
562
|
-
```
|
|
558
|
+
Build your application to transform your components and extract the content
|
|
563
559
|
|
|
564
560
|
```bash packageManager="npm"
|
|
565
561
|
npm run build # Or npm run dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-24
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Astro + Vue i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Astro + Vue app. Translate with AI agents and optimise bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
20
20
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Use the useIntlayer / useLocale hooks of astro-intlayer in the Astro page"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer vue vue-intlayer @astrojs/vue
|
|
|
150
153
|
The core package that provides i18n tools for configuration management, translations, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
Includes the Astro integration plugin
|
|
156
|
+
Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), a middleware that resolves the locale of every request into `Astro.locals.intlayer`, and the `useIntlayer` / `useDictionary` / `useLocale` hooks. The same import path resolves to the server implementation in your `.astro` frontmatter and to the client one (backed by `vanilla-intlayer`) in `<script>` blocks.
|
|
154
157
|
|
|
155
158
|
- **vue**
|
|
156
159
|
Core Vue package.
|
|
@@ -239,19 +242,21 @@ export default appContent;
|
|
|
239
242
|
</Step>
|
|
240
243
|
<Step number={5} title="Using Content in Astro">
|
|
241
244
|
|
|
242
|
-
|
|
245
|
+
Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of `react-intlayer`: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
|
|
246
|
+
|
|
247
|
+
The locale comes from the `astro-intlayer` middleware, which the integration registers for you ahead of your own `src/middleware.ts`. It resolves it for every request, from the URL prefix, then the locale persisted by the client (cookie or header), then `Accept-Language`, and stores it in `Astro.locals.intlayer`. Prerendered pages only use the URL, since they are rendered once for every visitor.
|
|
248
|
+
|
|
249
|
+
You should also add SEO metadata (such as hreflang and canonical links) to every page and introduce a Vue island for interactive client-side content.
|
|
243
250
|
|
|
244
251
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
245
252
|
---
|
|
253
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
246
254
|
import {
|
|
247
|
-
getIntlayer,
|
|
248
|
-
getLocaleFromPath,
|
|
249
255
|
getLocalizedUrl,
|
|
250
|
-
getHTMLTextDir,
|
|
251
256
|
getPrefix,
|
|
252
257
|
localeMap,
|
|
253
258
|
defaultLocale,
|
|
254
|
-
|
|
259
|
+
getHTMLTextDir,
|
|
255
260
|
} from "intlayer";
|
|
256
261
|
import VueIsland from "../../components/vue/VueIsland.vue";
|
|
257
262
|
|
|
@@ -261,8 +266,11 @@ export const getStaticPaths = () => {
|
|
|
261
266
|
}));
|
|
262
267
|
};
|
|
263
268
|
|
|
264
|
-
|
|
265
|
-
const {
|
|
269
|
+
// Locale resolved by the middleware (e.g. /es/about -> 'es')
|
|
270
|
+
const { locale } = useLocale();
|
|
271
|
+
|
|
272
|
+
// Content of the 'app' dictionary for that locale
|
|
273
|
+
const { title } = useIntlayer("app");
|
|
266
274
|
---
|
|
267
275
|
|
|
268
276
|
<!doctype html>
|
|
@@ -310,6 +318,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
310
318
|
</html>
|
|
311
319
|
```
|
|
312
320
|
|
|
321
|
+
> `Astro.locals.intlayer` also exposes `locale`, `defaultLocale` and `availableLocales` to your own middleware and endpoints. Pass a locale or a selector as second argument (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) to override the request locale for one call.
|
|
322
|
+
|
|
313
323
|
> **Note on routing setup:**
|
|
314
324
|
> The directory structure you use depends on the `middleware.routing` setting in `intlayer.config.ts`:
|
|
315
325
|
>
|
|
@@ -448,10 +458,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
448
458
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
449
459
|
];
|
|
450
460
|
|
|
451
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
452
|
-
|
|
453
461
|
export const GET: APIRoute = async ({ site }) => {
|
|
454
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
462
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
463
|
+
siteUrl: "https://example.com",
|
|
464
|
+
});
|
|
455
465
|
|
|
456
466
|
return new Response(xmlOutput, {
|
|
457
467
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -555,21 +565,7 @@ bun x intlayer extract
|
|
|
555
565
|
</Tab>
|
|
556
566
|
<Tab value='Babel compiler'>
|
|
557
567
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
561
|
-
|
|
562
|
-
```ts fileName="vite.config.ts"
|
|
563
|
-
import { defineConfig } from "vite";
|
|
564
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
565
|
-
|
|
566
|
-
export default defineConfig({
|
|
567
|
-
plugins: [
|
|
568
|
-
intlayer(),
|
|
569
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
570
|
-
],
|
|
571
|
-
});
|
|
572
|
-
```
|
|
568
|
+
Build your application to transform your components and extract the content
|
|
573
569
|
|
|
574
570
|
```bash packageManager="npm"
|
|
575
571
|
npm run build # Or npm run dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-04
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "React Router v7 i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) React Router v7 app. Translate with AI agents and optimise bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -889,8 +889,14 @@ bun x intlayer extract
|
|
|
889
889
|
</Tab>
|
|
890
890
|
<Tab value='Babel compiler'>
|
|
891
891
|
|
|
892
|
+
<Tabs>
|
|
893
|
+
<Tab value='intlayer >= 9'>
|
|
894
|
+
|
|
892
895
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
893
896
|
|
|
897
|
+
</Tab>
|
|
898
|
+
<Tab value='intlayer < 9'>
|
|
899
|
+
|
|
894
900
|
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
895
901
|
|
|
896
902
|
```ts fileName="vite.config.ts"
|
|
@@ -905,6 +911,11 @@ export default defineConfig({
|
|
|
905
911
|
});
|
|
906
912
|
```
|
|
907
913
|
|
|
914
|
+
</Tab>
|
|
915
|
+
</Tabs>
|
|
916
|
+
|
|
917
|
+
Build your application to transform your components and extract the content
|
|
918
|
+
|
|
908
919
|
```bash packageManager="npm"
|
|
909
920
|
npm run build # Or npm run dev
|
|
910
921
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-08-06
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Solid Start i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) SolidStart app. Server-rendered locale routing, hreflang, sitemap, and AI-assisted translation."
|
|
6
6
|
keywords:
|
|
@@ -748,15 +748,13 @@ SolidStart turns a file exporting an HTTP method into an API route, and strips t
|
|
|
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:
|
|
757
|
+
{ siteUrl: "https://example.com" }
|
|
760
758
|
);
|
|
761
759
|
|
|
762
760
|
return new Response(sitemap, {
|
|
@@ -790,8 +788,6 @@ You can build a `robots.txt` the same way with `getMultilingualUrls`, so that `D
|
|
|
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:
|
|
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
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
926
925
|
|
|
926
|
+
</Tab>
|
|
927
|
+
<Tab value='intlayer < 9'>
|
|
928
|
+
|
|
927
929
|
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
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
|
+
Build your application to transform your components and extract the content
|
|
951
|
+
|
|
945
952
|
```bash packageManager="npm"
|
|
946
953
|
npm run build # Or npm run dev
|
|
947
954
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-11-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "SvelteKit i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) SvelteKit app. Translate with AI agents and optimise bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -713,8 +713,14 @@ bun x intlayer extract
|
|
|
713
713
|
</Tab>
|
|
714
714
|
<Tab value='Babel compiler'>
|
|
715
715
|
|
|
716
|
+
<Tabs>
|
|
717
|
+
<Tab value='intlayer >= 9'>
|
|
718
|
+
|
|
716
719
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
717
720
|
|
|
721
|
+
</Tab>
|
|
722
|
+
<Tab value='intlayer < 9'>
|
|
723
|
+
|
|
718
724
|
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
719
725
|
|
|
720
726
|
```ts fileName="vite.config.ts"
|
|
@@ -729,6 +735,11 @@ export default defineConfig({
|
|
|
729
735
|
});
|
|
730
736
|
```
|
|
731
737
|
|
|
738
|
+
</Tab>
|
|
739
|
+
</Tabs>
|
|
740
|
+
|
|
741
|
+
Build your application to transform your components and extract the content
|
|
742
|
+
|
|
732
743
|
```bash packageManager="npm"
|
|
733
744
|
npm run build # Or npm run dev
|
|
734
745
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-25
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "TanStack Start + Solid i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) TanStack Start + Solid app. Translate with AI agents and optimise bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -987,8 +987,14 @@ bun x intlayer extract
|
|
|
987
987
|
</Tab>
|
|
988
988
|
<Tab value='Babel compiler'>
|
|
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
|
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
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
|
+
Build your application to transform your components and extract the content
|
|
1027
|
+
|
|
1017
1028
|
```bash packageManager="npm"
|
|
1018
1029
|
npm run build # Or rpm 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:
|
|
1107
|
+
{ siteUrl: "https://example.com" }
|
|
1097
1108
|
);
|
|
1098
1109
|
|
|
1099
1110
|
return new Response(sitemap, {
|