@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: 2026-04-24
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Astro + 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 Astro + 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:
|
|
@@ -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: "Sử dụng các hook useIntlayer / useLocale của astro-intlayer trong trang Astro"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Cập nhật cách sử dụng API useIntlayer của Solid sang truy cập thuộc tính trực tiếp"
|
|
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer vue vue-intlayer @astrojs/vue
|
|
|
150
153
|
Gói cốt lõi cung cấp các công cụ i18n để quản lý cấu hình, bản dịch, [khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md), chuyển mã và [các lệnh CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
|
|
156
|
+
Bao gồm plugin tích hợp Astro để tích hợp Intlayer với [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), một middleware phân giải ngôn ngữ của mỗi yêu cầu vào `Astro.locals.intlayer`, và các hook `useIntlayer` / `useDictionary` / `useLocale`. Cùng một đường dẫn import sẽ phân giải thành triển khai máy chủ trong frontmatter `.astro` của bạn và thành triển khai máy khách (được hỗ trợ bởi `vanilla-intlayer`) trong các khối `<script>`.
|
|
154
157
|
|
|
155
158
|
- **vue**
|
|
156
159
|
Gói Vue cốt lõi.
|
|
@@ -239,19 +242,21 @@ export default appContent;
|
|
|
239
242
|
</Step>
|
|
240
243
|
<Step number={5} title="Sử dụng nội dung trong Astro">
|
|
241
244
|
|
|
242
|
-
|
|
245
|
+
Sử dụng từ điển của bạn trong các tệp `.astro` với các hook được xuất bởi `astro-intlayer`. Chúng chia sẻ chữ ký của `react-intlayer`: `useIntlayer("key")` trả về nội dung của từ điển và `useLocale()` trả về ngôn ngữ hiện tại mà không cần truyền tham số.
|
|
246
|
+
|
|
247
|
+
Ngôn ngữ đến từ middleware `astro-intlayer`, mà tích hợp tự động đăng ký trước `src/middleware.ts` của riêng bạn. Nó phân giải ngôn ngữ cho mỗi yêu cầu, từ tiền tố URL, sau đó đến ngôn ngữ được lưu trữ bởi máy khách (cookie hoặc tiêu đề), sau đó đến `Accept-Language`, và lưu trữ trong `Astro.locals.intlayer`. Các trang được kết xuất trước chỉ sử dụng URL vì chúng được kết xuất một lần cho mọi khách truy cập.
|
|
248
|
+
|
|
249
|
+
Bạn cũng nên thêm metadata cho SEO (như hreflang và liên kết canonical) vào mỗi trang và giới thiệu một Vue island cho nội dung tương tác phía client.
|
|
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
|
+
// Ngôn ngữ được phân giải bởi middleware (ví dụ /vi/about -> 'vi')
|
|
270
|
+
const { locale } = useLocale();
|
|
271
|
+
|
|
272
|
+
// Nội dung của từ điển 'app' cho ngôn ngữ đó
|
|
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` cũng hiển thị `locale`, `defaultLocale` và `availableLocales` cho middleware và điểm cuối của riêng bạn. Truyền ngôn ngữ hoặc bộ chọn làm đối số thứ hai (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) để ghi đè ngôn ngữ yêu cầu cho một lệnh gọi.
|
|
322
|
+
|
|
313
323
|
> **Lưu ý về thiết lập định tuyến:**
|
|
314
324
|
> Cấu trúc thư mục bạn sử dụng phụ thuộc vào cài đặt `middleware.routing` trong `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" },
|
|
@@ -551,21 +561,7 @@ bun x intlayer extract
|
|
|
551
561
|
</Tab>
|
|
552
562
|
<Tab value='Trình biên dịch Babel'>
|
|
553
563
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
557
|
-
|
|
558
|
-
```ts fileName="vite.config.ts"
|
|
559
|
-
import { defineConfig } from "vite";
|
|
560
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
561
|
-
|
|
562
|
-
export default defineConfig({
|
|
563
|
-
plugins: [
|
|
564
|
-
intlayer(),
|
|
565
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
566
|
-
],
|
|
567
|
-
});
|
|
568
|
-
```
|
|
564
|
+
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
|
|
569
565
|
|
|
570
566
|
```bash packageManager="npm"
|
|
571
567
|
npm run build # Hoặc npm run dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-04
|
|
3
|
-
updatedAt: 2026-09-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "React Router v7 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 React Router v7 đ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:
|
|
@@ -889,8 +889,14 @@ bun x intlayer extract
|
|
|
889
889
|
</Tab>
|
|
890
890
|
<Tab value='Trình biên dịch Babel'>
|
|
891
891
|
|
|
892
|
+
<Tabs>
|
|
893
|
+
<Tab value='intlayer >= 9'>
|
|
894
|
+
|
|
892
895
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
893
896
|
|
|
897
|
+
</Tab>
|
|
898
|
+
<Tab value='intlayer < 9'>
|
|
899
|
+
|
|
894
900
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
895
901
|
|
|
896
902
|
```ts fileName="vite.config.ts"
|
|
@@ -905,6 +911,11 @@ export default defineConfig({
|
|
|
905
911
|
});
|
|
906
912
|
```
|
|
907
913
|
|
|
914
|
+
</Tab>
|
|
915
|
+
</Tabs>
|
|
916
|
+
|
|
917
|
+
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
|
|
918
|
+
|
|
908
919
|
```bash packageManager="npm"
|
|
909
920
|
npm run build # Hoặc 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 - 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 SolidStart đa ngôn ngữ (i18n). Định tuyến locale được render trên server, hreflang, sitemap và dịch thuật với sự hỗ trợ của AI."
|
|
6
6
|
keywords:
|
|
@@ -748,15 +748,13 @@ SolidStart chuyển đổi một tệp xuất ra phương thức HTTP thành m
|
|
|
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 @@ Bạn có thể xây dựng `robots.txt` theo cách tương tự với `getMulti
|
|
|
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
|
> Kể từ v9, `intlayerCompiler` được bao gồm trong plugin `intlayer`. Vì vậy bạn không cần thêm nó thủ công.
|
|
926
925
|
|
|
926
|
+
</Tab>
|
|
927
|
+
<Tab value='intlayer < 9'>
|
|
928
|
+
|
|
927
929
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
928
930
|
|
|
929
931
|
```ts fileName="vite.config.ts"
|
|
@@ -942,6 +944,11 @@ export default defineConfig({
|
|
|
942
944
|
});
|
|
943
945
|
```
|
|
944
946
|
|
|
947
|
+
</Tab>
|
|
948
|
+
</Tabs>
|
|
949
|
+
|
|
950
|
+
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
|
|
951
|
+
|
|
945
952
|
```bash packageManager="npm"
|
|
946
953
|
npm run build # Hoặc 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 - 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 SvelteKit đ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:
|
|
@@ -707,8 +707,14 @@ bun x intlayer extract
|
|
|
707
707
|
</Tab>
|
|
708
708
|
<Tab value='Trình biên dịch Babel'>
|
|
709
709
|
|
|
710
|
+
<Tabs>
|
|
711
|
+
<Tab value='intlayer >= 9'>
|
|
712
|
+
|
|
710
713
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
711
714
|
|
|
715
|
+
</Tab>
|
|
716
|
+
<Tab value='intlayer < 9'>
|
|
717
|
+
|
|
712
718
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
713
719
|
|
|
714
720
|
```ts fileName="vite.config.ts"
|
|
@@ -723,6 +729,11 @@ export default defineConfig({
|
|
|
723
729
|
});
|
|
724
730
|
```
|
|
725
731
|
|
|
732
|
+
</Tab>
|
|
733
|
+
</Tabs>
|
|
734
|
+
|
|
735
|
+
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
|
|
736
|
+
|
|
726
737
|
```bash packageManager="npm"
|
|
727
738
|
npm run build # Hoặc npm run dev
|
|
728
739
|
```
|
|
@@ -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 - 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 TanStack Start + Solid đ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:
|
|
@@ -986,8 +986,14 @@ bun x intlayer extract
|
|
|
986
986
|
</Tab>
|
|
987
987
|
<Tab value='Babel compiler'>
|
|
988
988
|
|
|
989
|
+
<Tabs>
|
|
990
|
+
<Tab value='intlayer >= 9'>
|
|
991
|
+
|
|
989
992
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
990
993
|
|
|
994
|
+
</Tab>
|
|
995
|
+
<Tab value='intlayer < 9'>
|
|
996
|
+
|
|
991
997
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
992
998
|
|
|
993
999
|
```ts fileName="vite.config.ts"
|
|
@@ -1013,6 +1019,11 @@ export default defineConfig({
|
|
|
1013
1019
|
});
|
|
1014
1020
|
```
|
|
1015
1021
|
|
|
1022
|
+
</Tab>
|
|
1023
|
+
</Tabs>
|
|
1024
|
+
|
|
1025
|
+
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
|
|
1026
|
+
|
|
1016
1027
|
```bash packageManager="npm"
|
|
1017
1028
|
npm run build # Hoặc npm run dev
|
|
1018
1029
|
```
|
|
@@ -1092,7 +1103,7 @@ export const Route = createFileRoute("/sitemap.xml")({
|
|
|
1092
1103
|
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
1093
1104
|
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
1094
1105
|
],
|
|
1095
|
-
{ siteUrl:
|
|
1106
|
+
{ siteUrl: "https://example.com" }
|
|
1096
1107
|
);
|
|
1097
1108
|
|
|
1098
1109
|
return new Response(sitemap, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "TanStack Start 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 TanStack Start đ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:
|
|
@@ -1068,8 +1068,14 @@ bun x intlayer extract
|
|
|
1068
1068
|
</Tab>
|
|
1069
1069
|
<Tab value="Trình biên dịch Babel">
|
|
1070
1070
|
|
|
1071
|
+
<Tabs>
|
|
1072
|
+
<Tab value='intlayer >= 9'>
|
|
1073
|
+
|
|
1071
1074
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
1072
1075
|
|
|
1076
|
+
</Tab>
|
|
1077
|
+
<Tab value='intlayer < 9'>
|
|
1078
|
+
|
|
1073
1079
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
1074
1080
|
|
|
1075
1081
|
```ts fileName="vite.config.ts"
|
|
@@ -1084,6 +1090,11 @@ export default defineConfig({
|
|
|
1084
1090
|
});
|
|
1085
1091
|
```
|
|
1086
1092
|
|
|
1093
|
+
</Tab>
|
|
1094
|
+
</Tabs>
|
|
1095
|
+
|
|
1096
|
+
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
|
|
1097
|
+
|
|
1087
1098
|
```bash packageManager="npm"
|
|
1088
1099
|
npm run build # Hoặc npm run dev
|
|
1089
1100
|
```
|
|
@@ -1152,10 +1163,6 @@ Sau đó, tạo một route `src/routes/sitemap[.]xml.ts` sử dụng hàm `gene
|
|
|
1152
1163
|
import { createFileRoute } from "@tanstack/react-router";
|
|
1153
1164
|
import { generateSitemap } from "intlayer";
|
|
1154
1165
|
|
|
1155
|
-
const SITE_URL = (
|
|
1156
|
-
import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
|
|
1157
|
-
).replace(/\/$/, "");
|
|
1158
|
-
|
|
1159
1166
|
export const Route = createFileRoute("/sitemap.xml")({
|
|
1160
1167
|
server: {
|
|
1161
1168
|
handlers: {
|
|
@@ -1165,7 +1172,7 @@ export const Route = createFileRoute("/sitemap.xml")({
|
|
|
1165
1172
|
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
1166
1173
|
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
1167
1174
|
],
|
|
1168
|
-
{ siteUrl:
|
|
1175
|
+
{ siteUrl: "https://example.com" }
|
|
1169
1176
|
);
|
|
1170
1177
|
|
|
1171
1178
|
return new Response(sitemap, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-03-23
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Vite + Lit 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 + Lit đ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:
|
|
@@ -600,6 +600,76 @@ const config: IntlayerConfig = {
|
|
|
600
600
|
export default config;
|
|
601
601
|
```
|
|
602
602
|
|
|
603
|
+
<Tabs>
|
|
604
|
+
<Tab value='Lệnh Extract'>
|
|
605
|
+
|
|
606
|
+
Chạy trình trích xuất để chuyển đổi các thành phần và trích xuất nội dung
|
|
607
|
+
|
|
608
|
+
```bash packageManager="npm"
|
|
609
|
+
npx intlayer extract
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
```bash packageManager="pnpm"
|
|
613
|
+
pnpm intlayer extract
|
|
614
|
+
```
|
|
615
|
+
|
|
616
|
+
```bash packageManager="yarn"
|
|
617
|
+
yarn intlayer extract
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
```bash packageManager="bun"
|
|
621
|
+
bun x intlayer extract
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
</Tab>
|
|
625
|
+
<Tab value='Trình biên dịch Babel'>
|
|
626
|
+
|
|
627
|
+
<Tabs>
|
|
628
|
+
<Tab value='intlayer >= 9'>
|
|
629
|
+
|
|
630
|
+
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
631
|
+
|
|
632
|
+
</Tab>
|
|
633
|
+
<Tab value='intlayer < 9'>
|
|
634
|
+
|
|
635
|
+
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
636
|
+
|
|
637
|
+
```ts fileName="vite.config.ts"
|
|
638
|
+
import { defineConfig } from "vite";
|
|
639
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
640
|
+
|
|
641
|
+
export default defineConfig({
|
|
642
|
+
plugins: [
|
|
643
|
+
intlayer(),
|
|
644
|
+
intlayerCompiler(), // Adds the compiler plugin
|
|
645
|
+
],
|
|
646
|
+
});
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
</Tab>
|
|
650
|
+
</Tabs>
|
|
651
|
+
|
|
652
|
+
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
|
|
653
|
+
|
|
654
|
+
```bash packageManager="npm"
|
|
655
|
+
npm run build # Hoặc npm run dev
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
```bash packageManager="pnpm"
|
|
659
|
+
pnpm run build # Hoặc pnpm run dev
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
```bash packageManager="yarn"
|
|
663
|
+
yarn build # Hoặc yarn dev
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
```bash packageManager="bun"
|
|
667
|
+
bun run build # Hoặc bun run dev
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
</Tab>
|
|
671
|
+
</Tabs>
|
|
672
|
+
|
|
603
673
|
</Step>
|
|
604
674
|
|
|
605
675
|
</Steps>
|
|
@@ -638,7 +708,9 @@ const pathList = [
|
|
|
638
708
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
639
709
|
];
|
|
640
710
|
|
|
641
|
-
const sitemapXml = generateSitemap(pathList, {
|
|
711
|
+
const sitemapXml = generateSitemap(pathList, {
|
|
712
|
+
siteUrl: "https://example.com",
|
|
713
|
+
});
|
|
642
714
|
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
643
715
|
|
|
644
716
|
const getAllMultilingualUrls = (urls) =>
|
|
@@ -651,7 +723,7 @@ const robotsTxt = [
|
|
|
651
723
|
"Allow: /",
|
|
652
724
|
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
653
725
|
"",
|
|
654
|
-
`Sitemap:
|
|
726
|
+
`Sitemap: https://example.com/sitemap.xml`,
|
|
655
727
|
].join("\n");
|
|
656
728
|
|
|
657
729
|
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Vite + Preact 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 + Preact đ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:
|
|
@@ -863,8 +863,14 @@ bun x intlayer extract
|
|
|
863
863
|
</Tab>
|
|
864
864
|
<Tab value='Trình biên dịch Babel'>
|
|
865
865
|
|
|
866
|
+
<Tabs>
|
|
867
|
+
<Tab value='intlayer >= 9'>
|
|
868
|
+
|
|
866
869
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
867
870
|
|
|
871
|
+
</Tab>
|
|
872
|
+
<Tab value='intlayer < 9'>
|
|
873
|
+
|
|
868
874
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
869
875
|
|
|
870
876
|
```ts fileName="vite.config.ts"
|
|
@@ -879,6 +885,11 @@ export default defineConfig({
|
|
|
879
885
|
});
|
|
880
886
|
```
|
|
881
887
|
|
|
888
|
+
</Tab>
|
|
889
|
+
</Tabs>
|
|
890
|
+
|
|
891
|
+
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
|
|
892
|
+
|
|
882
893
|
```bash packageManager="npm"
|
|
883
894
|
npm run build # Hoặc npm run dev
|
|
884
895
|
```
|
|
@@ -935,7 +946,9 @@ const pathList = [
|
|
|
935
946
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
936
947
|
];
|
|
937
948
|
|
|
938
|
-
const sitemapXml = generateSitemap(pathList, {
|
|
949
|
+
const sitemapXml = generateSitemap(pathList, {
|
|
950
|
+
siteUrl: "https://example.com",
|
|
951
|
+
});
|
|
939
952
|
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
940
953
|
|
|
941
954
|
const getAllMultilingualUrls = (urls) =>
|
|
@@ -948,7 +961,7 @@ const robotsTxt = [
|
|
|
948
961
|
"Allow: /",
|
|
949
962
|
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
950
963
|
"",
|
|
951
|
-
`Sitemap:
|
|
964
|
+
`Sitemap: https://example.com/sitemap.xml`,
|
|
952
965
|
].join("\n");
|
|
953
966
|
|
|
954
967
|
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Vite + React 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 + React đ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:
|
|
@@ -832,8 +832,14 @@ bun x intlayer extract
|
|
|
832
832
|
</Tab>
|
|
833
833
|
<Tab value='Babel compiler'>
|
|
834
834
|
|
|
835
|
+
<Tabs>
|
|
836
|
+
<Tab value='intlayer >= 9'>
|
|
837
|
+
|
|
835
838
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
836
839
|
|
|
840
|
+
</Tab>
|
|
841
|
+
<Tab value='intlayer < 9'>
|
|
842
|
+
|
|
837
843
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
838
844
|
|
|
839
845
|
```ts fileName="vite.config.ts"
|
|
@@ -848,6 +854,11 @@ export default defineConfig({
|
|
|
848
854
|
});
|
|
849
855
|
```
|
|
850
856
|
|
|
857
|
+
</Tab>
|
|
858
|
+
</Tabs>
|
|
859
|
+
|
|
860
|
+
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
|
|
861
|
+
|
|
851
862
|
```bash packageManager="npm"
|
|
852
863
|
npm run build # Hoặc npm run dev
|
|
853
864
|
```
|
|
@@ -904,7 +915,9 @@ const pathList = [
|
|
|
904
915
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
905
916
|
];
|
|
906
917
|
|
|
907
|
-
const sitemapXml = generateSitemap(pathList, {
|
|
918
|
+
const sitemapXml = generateSitemap(pathList, {
|
|
919
|
+
siteUrl: "https://example.com",
|
|
920
|
+
});
|
|
908
921
|
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
909
922
|
|
|
910
923
|
const getAllMultilingualUrls = (urls) =>
|
|
@@ -917,7 +930,7 @@ const robotsTxt = [
|
|
|
917
930
|
"Allow: /",
|
|
918
931
|
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
919
932
|
"",
|
|
920
|
-
`Sitemap:
|
|
933
|
+
`Sitemap: https://example.com/sitemap.xml`,
|
|
921
934
|
].join("\n");
|
|
922
935
|
|
|
923
936
|
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Vite + Solid 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 + Solid đ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:
|
|
@@ -585,8 +585,14 @@ bun x intlayer extract
|
|
|
585
585
|
</Tab>
|
|
586
586
|
<Tab value='Trình biên dịch Babel'>
|
|
587
587
|
|
|
588
|
+
<Tabs>
|
|
589
|
+
<Tab value='intlayer >= 9'>
|
|
590
|
+
|
|
588
591
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
589
592
|
|
|
593
|
+
</Tab>
|
|
594
|
+
<Tab value='intlayer < 9'>
|
|
595
|
+
|
|
590
596
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
591
597
|
|
|
592
598
|
```ts fileName="vite.config.ts"
|
|
@@ -601,6 +607,11 @@ export default defineConfig({
|
|
|
601
607
|
});
|
|
602
608
|
```
|
|
603
609
|
|
|
610
|
+
</Tab>
|
|
611
|
+
</Tabs>
|
|
612
|
+
|
|
613
|
+
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
|
|
614
|
+
|
|
604
615
|
```bash packageManager="npm"
|
|
605
616
|
npm run build # Hoặc npm run dev
|
|
606
617
|
```
|
|
@@ -657,7 +668,9 @@ const pathList = [
|
|
|
657
668
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
658
669
|
];
|
|
659
670
|
|
|
660
|
-
const sitemapXml = generateSitemap(pathList, {
|
|
671
|
+
const sitemapXml = generateSitemap(pathList, {
|
|
672
|
+
siteUrl: "https://example.com",
|
|
673
|
+
});
|
|
661
674
|
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
662
675
|
|
|
663
676
|
const getAllMultilingualUrls = (urls) =>
|
|
@@ -670,7 +683,7 @@ const robotsTxt = [
|
|
|
670
683
|
"Allow: /",
|
|
671
684
|
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
672
685
|
"",
|
|
673
|
-
`Sitemap:
|
|
686
|
+
`Sitemap: https://example.com/sitemap.xml`,
|
|
674
687
|
].join("\n");
|
|
675
688
|
|
|
676
689
|
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Vite + Svelte 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 + Svelte đ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:
|
|
@@ -599,8 +599,14 @@ bun x intlayer extract
|
|
|
599
599
|
</Tab>
|
|
600
600
|
<Tab value='Trình biên dịch Babel'>
|
|
601
601
|
|
|
602
|
+
<Tabs>
|
|
603
|
+
<Tab value='intlayer >= 9'>
|
|
604
|
+
|
|
602
605
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
603
606
|
|
|
607
|
+
</Tab>
|
|
608
|
+
<Tab value='intlayer < 9'>
|
|
609
|
+
|
|
604
610
|
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
605
611
|
|
|
606
612
|
```ts fileName="vite.config.ts"
|
|
@@ -615,6 +621,11 @@ export default defineConfig({
|
|
|
615
621
|
});
|
|
616
622
|
```
|
|
617
623
|
|
|
624
|
+
</Tab>
|
|
625
|
+
</Tabs>
|
|
626
|
+
|
|
627
|
+
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
|
|
628
|
+
|
|
618
629
|
```bash packageManager="npm"
|
|
619
630
|
npm run build # Hoặc npm run dev
|
|
620
631
|
```
|
|
@@ -671,7 +682,9 @@ const pathList = [
|
|
|
671
682
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
672
683
|
];
|
|
673
684
|
|
|
674
|
-
const sitemapXml = generateSitemap(pathList, {
|
|
685
|
+
const sitemapXml = generateSitemap(pathList, {
|
|
686
|
+
siteUrl: "https://example.com",
|
|
687
|
+
});
|
|
675
688
|
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
676
689
|
|
|
677
690
|
const getAllMultilingualUrls = (urls) =>
|
|
@@ -684,7 +697,7 @@ const robotsTxt = [
|
|
|
684
697
|
"Allow: /",
|
|
685
698
|
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
686
699
|
"",
|
|
687
|
-
`Sitemap:
|
|
700
|
+
`Sitemap: https://example.com/sitemap.xml`,
|
|
688
701
|
].join("\n");
|
|
689
702
|
|
|
690
703
|
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|