@intlayer/docs 9.5.5 → 9.5.7
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/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/ar/i18next_vs_intlayer.md +130 -16
- package/blog/ar/lingui_vs_intlayer.md +122 -15
- package/blog/ar/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/ar/next-intl_vs_intlayer.md +136 -20
- package/blog/ar/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +119 -17
- package/blog/ar/vue-i18n_vs_intlayer.md +193 -31
- package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/de/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/de/i18next_vs_intlayer.md +128 -14
- package/blog/de/lingui_vs_intlayer.md +122 -15
- package/blog/de/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/de/next-intl_vs_intlayer.md +125 -15
- package/blog/de/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/de/vue-i18n_vs_intlayer.md +193 -31
- package/blog/en/i18next_vs_intlayer-i18next.md +121 -14
- package/blog/en/i18next_vs_intlayer.md +128 -14
- package/blog/en/lingui_vs_intlayer.md +124 -15
- package/blog/en/next-intl_vs_intlayer-next-intl.md +123 -14
- package/blog/en/next-intl_vs_intlayer.md +125 -13
- package/blog/en/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +115 -15
- package/blog/en/vue-i18n_vs_intlayer.md +188 -27
- package/blog/en-GB/i18next_vs_intlayer-i18next.md +121 -14
- package/blog/en-GB/i18next_vs_intlayer.md +128 -14
- package/blog/en-GB/lingui_vs_intlayer.md +122 -15
- package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/en-GB/next-intl_vs_intlayer.md +125 -15
- package/blog/en-GB/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/en-GB/vue-i18n_vs_intlayer.md +187 -25
- package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +116 -0
- package/blog/es/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/es/i18next_vs_intlayer.md +128 -14
- package/blog/es/lingui_vs_intlayer.md +122 -15
- package/blog/es/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/es/next-intl_vs_intlayer.md +125 -15
- package/blog/es/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/es/vue-i18n_vs_intlayer.md +193 -31
- package/blog/fr/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/fr/i18next_vs_intlayer.md +128 -14
- package/blog/fr/lingui_vs_intlayer.md +122 -15
- package/blog/fr/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/fr/next-intl_vs_intlayer.md +127 -15
- package/blog/fr/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +118 -17
- package/blog/fr/vue-i18n_vs_intlayer.md +192 -31
- package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +329 -7
- package/blog/hi/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/hi/i18next_vs_intlayer.md +130 -16
- package/blog/hi/lingui_vs_intlayer.md +122 -15
- package/blog/hi/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/hi/next-intl_vs_intlayer.md +135 -19
- package/blog/hi/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/hi/vue-i18n_vs_intlayer.md +193 -31
- package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/id/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/id/i18next_vs_intlayer.md +128 -14
- package/blog/id/lingui_vs_intlayer.md +122 -15
- package/blog/id/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/id/next-intl_vs_intlayer.md +135 -19
- package/blog/id/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +354 -2
- package/blog/id/vue-i18n_vs_intlayer.md +188 -26
- package/blog/id/vue-i18n_vs_intlayer_benchmark.md +327 -7
- package/blog/it/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/it/i18next_vs_intlayer.md +128 -14
- package/blog/it/lingui_vs_intlayer.md +122 -15
- package/blog/it/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/it/next-intl_vs_intlayer.md +125 -15
- package/blog/it/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/it/vue-i18n_vs_intlayer.md +191 -31
- package/blog/it/vue-i18n_vs_intlayer_benchmark.md +332 -5
- package/blog/ja/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/ja/i18next_vs_intlayer.md +129 -17
- package/blog/ja/lingui_vs_intlayer.md +122 -15
- package/blog/ja/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/ja/next-intl_vs_intlayer.md +124 -14
- package/blog/ja/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/ja/vue-i18n_vs_intlayer.md +193 -31
- package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/ko/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/ko/i18next_vs_intlayer.md +129 -17
- package/blog/ko/lingui_vs_intlayer.md +122 -15
- package/blog/ko/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/ko/next-intl_vs_intlayer.md +134 -18
- package/blog/ko/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/ko/vue-i18n_vs_intlayer.md +193 -31
- package/blog/pl/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/pl/i18next_vs_intlayer.md +128 -14
- package/blog/pl/lingui_vs_intlayer.md +122 -15
- package/blog/pl/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/pl/next-intl_vs_intlayer.md +134 -18
- package/blog/pl/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/pl/vue-i18n_vs_intlayer.md +188 -26
- package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/pt/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/pt/i18next_vs_intlayer.md +128 -14
- package/blog/pt/lingui_vs_intlayer.md +122 -15
- package/blog/pt/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/pt/next-intl_vs_intlayer.md +131 -15
- package/blog/pt/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/pt/vue-i18n_vs_intlayer.md +193 -31
- package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/ru/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/ru/i18next_vs_intlayer.md +130 -16
- package/blog/ru/lingui_vs_intlayer.md +122 -15
- package/blog/ru/next-intl_vs_intlayer-next-intl.md +125 -16
- package/blog/ru/next-intl_vs_intlayer.md +123 -13
- package/blog/ru/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +127 -27
- package/blog/ru/vue-i18n_vs_intlayer.md +193 -31
- package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +326 -19
- package/blog/tr/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/tr/i18next_vs_intlayer.md +128 -14
- package/blog/tr/lingui_vs_intlayer.md +122 -15
- package/blog/tr/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/tr/next-intl_vs_intlayer.md +136 -20
- package/blog/tr/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/tr/vue-i18n_vs_intlayer.md +188 -26
- package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/uk/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/uk/i18next_vs_intlayer.md +130 -16
- package/blog/uk/lingui_vs_intlayer.md +122 -15
- package/blog/uk/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/uk/next-intl_vs_intlayer.md +135 -19
- package/blog/uk/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +135 -17
- package/blog/uk/vue-i18n_vs_intlayer.md +188 -27
- package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/vi/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/vi/i18next_vs_intlayer.md +128 -14
- package/blog/vi/lingui_vs_intlayer.md +122 -15
- package/blog/vi/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/vi/next-intl_vs_intlayer.md +135 -19
- package/blog/vi/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/vi/vue-i18n_vs_intlayer.md +188 -26
- package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/zh/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/zh/i18next_vs_intlayer.md +128 -14
- package/blog/zh/lingui_vs_intlayer.md +122 -15
- package/blog/zh/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/zh/next-intl_vs_intlayer.md +125 -15
- package/blog/zh/transform_existing_vite_react_app_using_compiler.md +4 -2
- package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/zh/vue-i18n_vs_intlayer.md +192 -31
- package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +340 -9
- package/dist/cjs/generated/docs.entry.cjs +40 -40
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/esm/generated/docs.entry.mjs +40 -40
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/types/generated/docs.entry.d.ts +2 -2
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/benchmark/nextjs.md +13 -13
- package/docs/ar/benchmark/solid.md +5 -5
- package/docs/ar/benchmark/svelte.md +4 -4
- package/docs/ar/benchmark/tanstack.md +14 -13
- package/docs/ar/benchmark/vue.md +5 -5
- package/docs/ar/chrome_extension.md +130 -0
- package/docs/ar/cli/index.md +6 -1
- package/docs/ar/cli/infra.md +162 -0
- package/docs/ar/cli/init.md +24 -1
- package/docs/ar/dictionary/html.md +173 -5
- package/docs/ar/dictionary/markdown.md +263 -1
- package/docs/ar/intlayer_with_analog.md +23 -1
- package/docs/ar/intlayer_with_angular_19.md +24 -1
- package/docs/ar/intlayer_with_angular_21.md +24 -1
- package/docs/ar/intlayer_with_astro.md +42 -32
- package/docs/ar/intlayer_with_astro_lit.md +56 -36
- package/docs/ar/intlayer_with_astro_preact.md +57 -36
- package/docs/ar/intlayer_with_astro_react.md +57 -36
- package/docs/ar/intlayer_with_astro_solid.md +57 -36
- package/docs/ar/intlayer_with_astro_svelte.md +56 -36
- package/docs/ar/intlayer_with_astro_vue.md +56 -36
- package/docs/ar/intlayer_with_react_router_v7.md +12 -1
- package/docs/ar/intlayer_with_remix_3.md +22 -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/ar/self_hosting.md +406 -231
- 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/benchmark/nextjs.md +13 -13
- package/docs/de/benchmark/solid.md +5 -5
- package/docs/de/benchmark/svelte.md +4 -4
- package/docs/de/benchmark/tanstack.md +14 -13
- package/docs/de/benchmark/vue.md +5 -5
- package/docs/de/chrome_extension.md +130 -0
- package/docs/de/cli/index.md +6 -1
- package/docs/de/cli/infra.md +162 -0
- package/docs/de/cli/init.md +24 -1
- package/docs/de/dictionary/html.md +173 -5
- package/docs/de/dictionary/markdown.md +263 -1
- package/docs/de/intlayer_with_analog.md +23 -1
- package/docs/de/intlayer_with_angular_19.md +24 -1
- package/docs/de/intlayer_with_angular_21.md +24 -1
- package/docs/de/intlayer_with_astro.md +35 -25
- package/docs/de/intlayer_with_astro_lit.md +47 -27
- package/docs/de/intlayer_with_astro_preact.md +48 -27
- package/docs/de/intlayer_with_astro_react.md +48 -27
- package/docs/de/intlayer_with_astro_solid.md +48 -27
- package/docs/de/intlayer_with_astro_svelte.md +47 -27
- package/docs/de/intlayer_with_astro_vue.md +47 -27
- package/docs/de/intlayer_with_react_router_v7.md +12 -1
- package/docs/de/intlayer_with_remix_3.md +22 -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/de/self_hosting.md +404 -227
- package/docs/en/benchmark/nextjs.md +13 -13
- package/docs/en/benchmark/solid.md +5 -5
- package/docs/en/benchmark/svelte.md +4 -4
- package/docs/en/benchmark/tanstack.md +14 -13
- package/docs/en/benchmark/vue.md +5 -5
- package/docs/en/chrome_extension.md +130 -0
- package/docs/en/cli/index.md +6 -1
- package/docs/en/cli/infra.md +175 -0
- package/docs/en/cli/init.md +25 -1
- package/docs/en/dictionary/html.md +173 -5
- package/docs/en/dictionary/markdown.md +263 -1
- package/docs/en/intlayer_with_analog.md +23 -1
- package/docs/en/intlayer_with_angular_19.md +24 -1
- package/docs/en/intlayer_with_angular_21.md +24 -1
- package/docs/en/intlayer_with_astro.md +29 -21
- package/docs/en/intlayer_with_astro_lit.md +46 -26
- package/docs/en/intlayer_with_astro_preact.md +47 -26
- package/docs/en/intlayer_with_astro_react.md +47 -26
- package/docs/en/intlayer_with_astro_solid.md +47 -26
- package/docs/en/intlayer_with_astro_svelte.md +46 -26
- package/docs/en/intlayer_with_astro_vue.md +46 -26
- package/docs/en/intlayer_with_react_router_v7.md +12 -1
- package/docs/en/intlayer_with_remix_3.md +22 -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/self_hosting.md +418 -176
- package/docs/en-GB/benchmark/nextjs.md +13 -13
- package/docs/en-GB/benchmark/solid.md +5 -5
- package/docs/en-GB/benchmark/svelte.md +4 -4
- package/docs/en-GB/benchmark/tanstack.md +14 -13
- package/docs/en-GB/benchmark/vue.md +5 -5
- package/docs/en-GB/chrome_extension.md +130 -0
- package/docs/en-GB/cli/index.md +6 -1
- package/docs/en-GB/cli/infra.md +162 -0
- package/docs/en-GB/cli/init.md +24 -1
- package/docs/en-GB/dictionary/html.md +173 -5
- package/docs/en-GB/dictionary/markdown.md +263 -1
- package/docs/en-GB/intlayer_with_analog.md +23 -1
- package/docs/en-GB/intlayer_with_angular_19.md +24 -1
- package/docs/en-GB/intlayer_with_angular_21.md +24 -1
- package/docs/en-GB/intlayer_with_astro.md +35 -25
- package/docs/en-GB/intlayer_with_astro_lit.md +47 -27
- package/docs/en-GB/intlayer_with_astro_preact.md +48 -27
- package/docs/en-GB/intlayer_with_astro_react.md +48 -27
- package/docs/en-GB/intlayer_with_astro_solid.md +48 -27
- package/docs/en-GB/intlayer_with_astro_svelte.md +47 -27
- package/docs/en-GB/intlayer_with_astro_vue.md +47 -27
- package/docs/en-GB/intlayer_with_react_router_v7.md +12 -1
- package/docs/en-GB/intlayer_with_remix_3.md +22 -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/en-GB/self_hosting.md +381 -206
- package/docs/es/benchmark/nextjs.md +13 -13
- package/docs/es/benchmark/solid.md +5 -5
- package/docs/es/benchmark/svelte.md +4 -4
- package/docs/es/benchmark/tanstack.md +14 -13
- package/docs/es/benchmark/vue.md +5 -5
- package/docs/es/chrome_extension.md +130 -0
- package/docs/es/cli/index.md +6 -1
- package/docs/es/cli/infra.md +162 -0
- package/docs/es/cli/init.md +24 -1
- package/docs/es/dictionary/html.md +173 -5
- package/docs/es/dictionary/markdown.md +263 -1
- package/docs/es/intlayer_with_analog.md +23 -1
- package/docs/es/intlayer_with_angular_19.md +24 -1
- package/docs/es/intlayer_with_angular_21.md +24 -1
- package/docs/es/intlayer_with_astro.md +35 -25
- package/docs/es/intlayer_with_astro_lit.md +47 -27
- package/docs/es/intlayer_with_astro_preact.md +48 -27
- package/docs/es/intlayer_with_astro_react.md +48 -27
- package/docs/es/intlayer_with_astro_solid.md +48 -27
- package/docs/es/intlayer_with_astro_svelte.md +47 -27
- package/docs/es/intlayer_with_astro_vue.md +47 -27
- package/docs/es/intlayer_with_react_router_v7.md +12 -1
- package/docs/es/intlayer_with_remix_3.md +22 -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/es/self_hosting.md +400 -223
- package/docs/fr/benchmark/nextjs.md +13 -13
- package/docs/fr/benchmark/solid.md +5 -5
- package/docs/fr/benchmark/svelte.md +4 -4
- package/docs/fr/benchmark/tanstack.md +14 -13
- package/docs/fr/benchmark/vue.md +5 -5
- package/docs/fr/chrome_extension.md +130 -0
- package/docs/fr/cli/index.md +6 -1
- package/docs/fr/cli/infra.md +162 -0
- package/docs/fr/cli/init.md +24 -1
- package/docs/fr/dictionary/html.md +173 -5
- package/docs/fr/dictionary/markdown.md +265 -4
- package/docs/fr/intlayer_with_analog.md +23 -1
- package/docs/fr/intlayer_with_angular_19.md +24 -1
- package/docs/fr/intlayer_with_angular_21.md +24 -1
- package/docs/fr/intlayer_with_astro.md +36 -26
- package/docs/fr/intlayer_with_astro_lit.md +48 -28
- package/docs/fr/intlayer_with_astro_preact.md +49 -28
- package/docs/fr/intlayer_with_astro_react.md +49 -28
- package/docs/fr/intlayer_with_astro_solid.md +49 -28
- package/docs/fr/intlayer_with_astro_svelte.md +48 -28
- package/docs/fr/intlayer_with_astro_vue.md +48 -28
- package/docs/fr/intlayer_with_react_router_v7.md +15 -4
- package/docs/fr/intlayer_with_remix_3.md +22 -1
- 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/fr/self_hosting.md +401 -224
- package/docs/hi/benchmark/nextjs.md +13 -13
- package/docs/hi/benchmark/solid.md +5 -5
- package/docs/hi/benchmark/svelte.md +4 -4
- package/docs/hi/benchmark/tanstack.md +14 -13
- package/docs/hi/benchmark/vue.md +5 -5
- package/docs/hi/chrome_extension.md +130 -0
- package/docs/hi/cli/index.md +6 -1
- package/docs/hi/cli/infra.md +162 -0
- package/docs/hi/cli/init.md +24 -1
- package/docs/hi/dictionary/html.md +173 -5
- package/docs/hi/dictionary/markdown.md +263 -1
- package/docs/hi/intlayer_with_analog.md +23 -1
- package/docs/hi/intlayer_with_angular_19.md +24 -1
- package/docs/hi/intlayer_with_angular_21.md +24 -1
- package/docs/hi/intlayer_with_astro.md +38 -31
- package/docs/hi/intlayer_with_astro_lit.md +50 -33
- package/docs/hi/intlayer_with_astro_preact.md +51 -33
- package/docs/hi/intlayer_with_astro_react.md +51 -33
- package/docs/hi/intlayer_with_astro_solid.md +51 -33
- package/docs/hi/intlayer_with_astro_svelte.md +50 -33
- package/docs/hi/intlayer_with_astro_vue.md +50 -33
- package/docs/hi/intlayer_with_react_router_v7.md +20 -12
- package/docs/hi/intlayer_with_remix_3.md +22 -1
- 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/hi/self_hosting.md +409 -235
- package/docs/id/benchmark/nextjs.md +13 -13
- package/docs/id/benchmark/solid.md +5 -5
- package/docs/id/benchmark/svelte.md +4 -4
- package/docs/id/benchmark/tanstack.md +14 -13
- package/docs/id/benchmark/vue.md +5 -5
- package/docs/id/chrome_extension.md +130 -0
- package/docs/id/cli/index.md +6 -1
- package/docs/id/cli/infra.md +162 -0
- package/docs/id/cli/init.md +24 -1
- package/docs/id/dictionary/html.md +173 -5
- package/docs/id/dictionary/markdown.md +263 -1
- package/docs/id/intlayer_with_analog.md +23 -1
- package/docs/id/intlayer_with_angular_19.md +24 -1
- package/docs/id/intlayer_with_angular_21.md +24 -1
- package/docs/id/intlayer_with_astro.md +35 -25
- package/docs/id/intlayer_with_astro_lit.md +47 -27
- package/docs/id/intlayer_with_astro_preact.md +48 -27
- package/docs/id/intlayer_with_astro_react.md +48 -27
- package/docs/id/intlayer_with_astro_solid.md +48 -27
- package/docs/id/intlayer_with_astro_svelte.md +47 -27
- package/docs/id/intlayer_with_astro_vue.md +47 -27
- package/docs/id/intlayer_with_react_router_v7.md +12 -1
- package/docs/id/intlayer_with_remix_3.md +22 -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/id/self_hosting.md +416 -243
- package/docs/it/benchmark/nextjs.md +13 -13
- package/docs/it/benchmark/solid.md +5 -5
- package/docs/it/benchmark/svelte.md +4 -4
- package/docs/it/benchmark/tanstack.md +14 -13
- package/docs/it/benchmark/vue.md +5 -5
- package/docs/it/chrome_extension.md +130 -0
- package/docs/it/cli/index.md +6 -1
- package/docs/it/cli/infra.md +162 -0
- package/docs/it/cli/init.md +24 -1
- package/docs/it/dictionary/html.md +173 -5
- package/docs/it/dictionary/markdown.md +263 -1
- package/docs/it/intlayer_with_analog.md +23 -1
- package/docs/it/intlayer_with_angular_19.md +24 -1
- package/docs/it/intlayer_with_angular_21.md +24 -1
- package/docs/it/intlayer_with_astro.md +35 -25
- package/docs/it/intlayer_with_astro_lit.md +47 -27
- package/docs/it/intlayer_with_astro_preact.md +48 -27
- package/docs/it/intlayer_with_astro_react.md +48 -27
- package/docs/it/intlayer_with_astro_solid.md +48 -27
- package/docs/it/intlayer_with_astro_svelte.md +47 -27
- package/docs/it/intlayer_with_astro_vue.md +47 -27
- package/docs/it/intlayer_with_react_router_v7.md +12 -1
- package/docs/it/intlayer_with_remix_3.md +22 -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/it/self_hosting.md +412 -237
- package/docs/ja/benchmark/nextjs.md +13 -13
- package/docs/ja/benchmark/solid.md +5 -5
- package/docs/ja/benchmark/svelte.md +4 -4
- package/docs/ja/benchmark/tanstack.md +13 -12
- package/docs/ja/benchmark/vue.md +5 -5
- package/docs/ja/chrome_extension.md +130 -0
- package/docs/ja/cli/index.md +6 -1
- package/docs/ja/cli/infra.md +162 -0
- package/docs/ja/cli/init.md +24 -1
- package/docs/ja/dictionary/html.md +173 -5
- package/docs/ja/dictionary/markdown.md +263 -1
- package/docs/ja/intlayer_with_analog.md +23 -1
- package/docs/ja/intlayer_with_angular_19.md +24 -1
- package/docs/ja/intlayer_with_angular_21.md +24 -1
- package/docs/ja/intlayer_with_astro.md +35 -25
- package/docs/ja/intlayer_with_astro_lit.md +47 -27
- package/docs/ja/intlayer_with_astro_preact.md +48 -27
- package/docs/ja/intlayer_with_astro_react.md +48 -27
- package/docs/ja/intlayer_with_astro_solid.md +48 -27
- package/docs/ja/intlayer_with_astro_svelte.md +47 -27
- package/docs/ja/intlayer_with_astro_vue.md +47 -27
- package/docs/ja/intlayer_with_react_router_v7.md +12 -1
- package/docs/ja/intlayer_with_remix_3.md +22 -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/ja/self_hosting.md +398 -223
- package/docs/ko/benchmark/nextjs.md +13 -13
- package/docs/ko/benchmark/solid.md +5 -5
- package/docs/ko/benchmark/svelte.md +4 -4
- package/docs/ko/benchmark/tanstack.md +14 -13
- package/docs/ko/benchmark/vue.md +5 -5
- package/docs/ko/chrome_extension.md +130 -0
- package/docs/ko/cli/index.md +6 -1
- package/docs/ko/cli/infra.md +162 -0
- package/docs/ko/cli/init.md +24 -1
- package/docs/ko/dictionary/html.md +173 -5
- package/docs/ko/dictionary/markdown.md +263 -1
- package/docs/ko/intlayer_with_analog.md +23 -1
- package/docs/ko/intlayer_with_angular_19.md +24 -1
- package/docs/ko/intlayer_with_angular_21.md +24 -1
- package/docs/ko/intlayer_with_astro.md +29 -21
- package/docs/ko/intlayer_with_astro_lit.md +47 -27
- package/docs/ko/intlayer_with_astro_preact.md +48 -27
- package/docs/ko/intlayer_with_astro_react.md +48 -27
- package/docs/ko/intlayer_with_astro_solid.md +48 -27
- package/docs/ko/intlayer_with_astro_svelte.md +47 -27
- package/docs/ko/intlayer_with_astro_vue.md +47 -27
- package/docs/ko/intlayer_with_react_router_v7.md +12 -1
- package/docs/ko/intlayer_with_remix_3.md +22 -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/ko/self_hosting.md +411 -238
- 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/benchmark/nextjs.md +13 -13
- package/docs/pl/benchmark/solid.md +5 -5
- package/docs/pl/benchmark/svelte.md +4 -4
- package/docs/pl/benchmark/tanstack.md +14 -13
- package/docs/pl/benchmark/vue.md +5 -5
- package/docs/pl/chrome_extension.md +130 -0
- package/docs/pl/cli/index.md +6 -1
- package/docs/pl/cli/infra.md +162 -0
- package/docs/pl/cli/init.md +24 -1
- package/docs/pl/dictionary/html.md +173 -5
- package/docs/pl/dictionary/markdown.md +263 -1
- package/docs/pl/intlayer_with_analog.md +23 -1
- package/docs/pl/intlayer_with_angular_19.md +24 -1
- package/docs/pl/intlayer_with_angular_21.md +24 -1
- package/docs/pl/intlayer_with_astro.md +29 -21
- package/docs/pl/intlayer_with_astro_lit.md +47 -27
- package/docs/pl/intlayer_with_astro_preact.md +48 -27
- package/docs/pl/intlayer_with_astro_react.md +48 -27
- package/docs/pl/intlayer_with_astro_solid.md +48 -27
- package/docs/pl/intlayer_with_astro_svelte.md +47 -27
- package/docs/pl/intlayer_with_astro_vue.md +47 -27
- package/docs/pl/intlayer_with_react_router_v7.md +12 -1
- package/docs/pl/intlayer_with_remix_3.md +22 -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/pl/self_hosting.md +408 -233
- package/docs/pt/benchmark/nextjs.md +13 -13
- package/docs/pt/benchmark/solid.md +5 -5
- package/docs/pt/benchmark/svelte.md +4 -4
- package/docs/pt/benchmark/tanstack.md +14 -13
- package/docs/pt/benchmark/vue.md +5 -5
- package/docs/pt/chrome_extension.md +130 -0
- package/docs/pt/cli/index.md +6 -1
- package/docs/pt/cli/infra.md +162 -0
- package/docs/pt/cli/init.md +24 -1
- package/docs/pt/dictionary/html.md +173 -5
- package/docs/pt/dictionary/markdown.md +263 -1
- package/docs/pt/intlayer_with_analog.md +23 -1
- package/docs/pt/intlayer_with_angular_19.md +24 -1
- package/docs/pt/intlayer_with_angular_21.md +24 -1
- package/docs/pt/intlayer_with_astro.md +29 -21
- package/docs/pt/intlayer_with_astro_lit.md +47 -27
- package/docs/pt/intlayer_with_astro_preact.md +48 -27
- package/docs/pt/intlayer_with_astro_react.md +48 -27
- package/docs/pt/intlayer_with_astro_solid.md +48 -27
- package/docs/pt/intlayer_with_astro_svelte.md +47 -27
- package/docs/pt/intlayer_with_astro_vue.md +47 -27
- package/docs/pt/intlayer_with_react_router_v7.md +12 -1
- package/docs/pt/intlayer_with_remix_3.md +22 -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/pt/self_hosting.md +399 -224
- package/docs/ru/benchmark/nextjs.md +13 -13
- package/docs/ru/benchmark/solid.md +5 -5
- package/docs/ru/benchmark/svelte.md +4 -4
- package/docs/ru/benchmark/tanstack.md +14 -13
- package/docs/ru/benchmark/vue.md +5 -5
- package/docs/ru/chrome_extension.md +130 -0
- package/docs/ru/cli/index.md +6 -1
- package/docs/ru/cli/infra.md +162 -0
- package/docs/ru/cli/init.md +24 -1
- package/docs/ru/dictionary/html.md +173 -5
- package/docs/ru/dictionary/markdown.md +263 -1
- package/docs/ru/intlayer_with_analog.md +23 -1
- package/docs/ru/intlayer_with_angular_19.md +24 -1
- package/docs/ru/intlayer_with_angular_21.md +24 -1
- package/docs/ru/intlayer_with_astro.md +35 -25
- package/docs/ru/intlayer_with_astro_lit.md +47 -27
- package/docs/ru/intlayer_with_astro_preact.md +48 -27
- package/docs/ru/intlayer_with_astro_react.md +48 -27
- package/docs/ru/intlayer_with_astro_solid.md +48 -27
- package/docs/ru/intlayer_with_astro_svelte.md +47 -27
- package/docs/ru/intlayer_with_astro_vue.md +47 -27
- package/docs/ru/intlayer_with_react_router_v7.md +12 -1
- package/docs/ru/intlayer_with_remix_3.md +22 -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/ru/self_hosting.md +403 -228
- package/docs/tr/benchmark/nextjs.md +13 -13
- package/docs/tr/benchmark/solid.md +5 -5
- package/docs/tr/benchmark/svelte.md +4 -4
- package/docs/tr/benchmark/tanstack.md +14 -13
- package/docs/tr/benchmark/vue.md +5 -5
- package/docs/tr/chrome_extension.md +130 -0
- package/docs/tr/cli/index.md +6 -1
- package/docs/tr/cli/infra.md +162 -0
- package/docs/tr/cli/init.md +24 -1
- package/docs/tr/dictionary/html.md +173 -5
- package/docs/tr/dictionary/markdown.md +263 -1
- package/docs/tr/intlayer_with_analog.md +23 -1
- package/docs/tr/intlayer_with_angular_19.md +24 -1
- package/docs/tr/intlayer_with_angular_21.md +24 -1
- package/docs/tr/intlayer_with_astro.md +35 -25
- package/docs/tr/intlayer_with_astro_lit.md +48 -28
- package/docs/tr/intlayer_with_astro_preact.md +49 -28
- package/docs/tr/intlayer_with_astro_react.md +49 -28
- package/docs/tr/intlayer_with_astro_solid.md +49 -28
- package/docs/tr/intlayer_with_astro_svelte.md +48 -28
- package/docs/tr/intlayer_with_astro_vue.md +48 -28
- package/docs/tr/intlayer_with_react_router_v7.md +12 -1
- package/docs/tr/intlayer_with_remix_3.md +22 -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/tr/self_hosting.md +410 -234
- package/docs/uk/benchmark/nextjs.md +13 -13
- package/docs/uk/benchmark/solid.md +5 -5
- package/docs/uk/benchmark/svelte.md +4 -4
- package/docs/uk/benchmark/tanstack.md +14 -13
- package/docs/uk/benchmark/vue.md +5 -5
- package/docs/uk/chrome_extension.md +130 -0
- package/docs/uk/cli/index.md +6 -1
- package/docs/uk/cli/infra.md +162 -0
- package/docs/uk/cli/init.md +24 -1
- package/docs/uk/dictionary/html.md +173 -5
- package/docs/uk/dictionary/markdown.md +263 -1
- package/docs/uk/intlayer_with_analog.md +23 -1
- package/docs/uk/intlayer_with_angular_19.md +24 -1
- package/docs/uk/intlayer_with_angular_21.md +24 -1
- package/docs/uk/intlayer_with_astro.md +35 -25
- package/docs/uk/intlayer_with_astro_lit.md +47 -27
- package/docs/uk/intlayer_with_astro_preact.md +48 -27
- package/docs/uk/intlayer_with_astro_react.md +48 -27
- package/docs/uk/intlayer_with_astro_solid.md +48 -27
- package/docs/uk/intlayer_with_astro_svelte.md +47 -27
- package/docs/uk/intlayer_with_astro_vue.md +47 -27
- package/docs/uk/intlayer_with_react_router_v7.md +12 -1
- package/docs/uk/intlayer_with_remix_3.md +22 -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/uk/self_hosting.md +413 -238
- 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/benchmark/nextjs.md +13 -13
- package/docs/vi/benchmark/solid.md +5 -5
- package/docs/vi/benchmark/svelte.md +4 -4
- package/docs/vi/benchmark/tanstack.md +14 -13
- package/docs/vi/benchmark/vue.md +5 -5
- package/docs/vi/chrome_extension.md +130 -0
- package/docs/vi/cli/index.md +6 -1
- package/docs/vi/cli/infra.md +162 -0
- package/docs/vi/cli/init.md +24 -1
- package/docs/vi/dictionary/html.md +173 -5
- package/docs/vi/dictionary/markdown.md +263 -1
- package/docs/vi/intlayer_with_analog.md +23 -1
- package/docs/vi/intlayer_with_angular_19.md +24 -1
- package/docs/vi/intlayer_with_angular_21.md +24 -1
- package/docs/vi/intlayer_with_astro.md +35 -25
- package/docs/vi/intlayer_with_astro_lit.md +47 -27
- package/docs/vi/intlayer_with_astro_preact.md +48 -27
- package/docs/vi/intlayer_with_astro_react.md +48 -27
- package/docs/vi/intlayer_with_astro_solid.md +48 -27
- package/docs/vi/intlayer_with_astro_svelte.md +47 -27
- package/docs/vi/intlayer_with_astro_vue.md +47 -27
- package/docs/vi/intlayer_with_react_router_v7.md +12 -1
- package/docs/vi/intlayer_with_remix_3.md +22 -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/vi/self_hosting.md +408 -234
- package/docs/zh/benchmark/nextjs.md +13 -13
- package/docs/zh/benchmark/solid.md +5 -5
- package/docs/zh/benchmark/svelte.md +4 -4
- package/docs/zh/benchmark/tanstack.md +14 -13
- package/docs/zh/benchmark/vue.md +5 -5
- package/docs/zh/chrome_extension.md +130 -0
- package/docs/zh/cli/index.md +6 -1
- package/docs/zh/cli/infra.md +162 -0
- package/docs/zh/cli/init.md +24 -1
- package/docs/zh/dictionary/html.md +172 -5
- package/docs/zh/dictionary/markdown.md +262 -1
- package/docs/zh/intlayer_with_analog.md +23 -1
- package/docs/zh/intlayer_with_angular_19.md +24 -1
- package/docs/zh/intlayer_with_angular_21.md +24 -1
- package/docs/zh/intlayer_with_astro.md +29 -21
- package/docs/zh/intlayer_with_astro_lit.md +47 -27
- package/docs/zh/intlayer_with_astro_preact.md +48 -27
- package/docs/zh/intlayer_with_astro_react.md +48 -27
- package/docs/zh/intlayer_with_astro_solid.md +48 -27
- package/docs/zh/intlayer_with_astro_svelte.md +47 -27
- package/docs/zh/intlayer_with_astro_vue.md +47 -27
- package/docs/zh/intlayer_with_react_router_v7.md +12 -1
- package/docs/zh/intlayer_with_remix_3.md +22 -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/self_hosting.md +410 -237
- package/docs/zh-TW/introduction.md +0 -1
- package/legal/ar/privacy_notice.md +9 -3
- package/legal/de/privacy_notice.md +9 -3
- package/legal/en/privacy_notice.md +10 -3
- package/legal/en-GB/privacy_notice.md +9 -3
- package/legal/es/privacy_notice.md +9 -3
- package/legal/fr/privacy_notice.md +9 -3
- package/legal/hi/privacy_notice.md +9 -3
- package/legal/id/privacy_notice.md +9 -3
- package/legal/it/privacy_notice.md +9 -3
- package/legal/ja/privacy_notice.md +9 -3
- package/legal/ko/privacy_notice.md +9 -3
- package/legal/pl/privacy_notice.md +9 -3
- package/legal/pt/privacy_notice.md +9 -3
- package/legal/ru/privacy_notice.md +9 -3
- package/legal/tr/privacy_notice.md +9 -3
- package/legal/uk/privacy_notice.md +9 -3
- package/legal/vi/privacy_notice.md +9 -3
- package/legal/zh/privacy_notice.md +9 -3
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +40 -40
- package/docs/ar/intlayer_with_astro_vanilla.md +0 -709
- package/docs/ar/roadmap.md +0 -321
- package/docs/de/intlayer_with_astro_vanilla.md +0 -705
- package/docs/de/roadmap.md +0 -322
- package/docs/en/intlayer_with_astro_vanilla.md +0 -706
- package/docs/en/roadmap.md +0 -325
- package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -709
- package/docs/en-GB/roadmap.md +0 -322
- package/docs/es/intlayer_with_astro_vanilla.md +0 -701
- package/docs/es/roadmap.md +0 -322
- package/docs/fr/intlayer_with_astro_vanilla.md +0 -701
- package/docs/fr/roadmap.md +0 -322
- package/docs/hi/intlayer_with_astro_vanilla.md +0 -720
- package/docs/hi/roadmap.md +0 -322
- package/docs/id/intlayer_with_astro_vanilla.md +0 -705
- package/docs/id/roadmap.md +0 -325
- package/docs/it/intlayer_with_astro_vanilla.md +0 -705
- package/docs/it/roadmap.md +0 -322
- package/docs/ja/intlayer_with_astro_vanilla.md +0 -708
- package/docs/ja/roadmap.md +0 -322
- package/docs/ko/intlayer_with_astro_vanilla.md +0 -720
- package/docs/ko/roadmap.md +0 -322
- package/docs/pl/intlayer_with_astro_vanilla.md +0 -705
- package/docs/pl/roadmap.md +0 -325
- package/docs/pt/intlayer_with_astro_vanilla.md +0 -705
- package/docs/pt/roadmap.md +0 -322
- package/docs/ru/intlayer_with_astro_vanilla.md +0 -716
- package/docs/ru/roadmap.md +0 -322
- package/docs/tr/intlayer_with_astro_vanilla.md +0 -705
- package/docs/tr/roadmap.md +0 -325
- package/docs/uk/intlayer_with_astro_vanilla.md +0 -705
- package/docs/uk/roadmap.md +0 -325
- package/docs/vi/intlayer_with_astro_vanilla.md +0 -705
- package/docs/vi/roadmap.md +0 -325
- package/docs/zh/intlayer_with_astro_vanilla.md +0 -704
- package/docs/zh/roadmap.md +0 -322
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-24
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
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 optimize 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 internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production),
|
|
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
|
The core Solid package.
|
|
@@ -164,6 +167,31 @@ bun add intlayer astro-intlayer solid-js solid-intlayer @astrojs/solid-js
|
|
|
164
167
|
</Step>
|
|
165
168
|
<Step number={2} title="Configuration of your project">
|
|
166
169
|
|
|
170
|
+
### Architecture
|
|
171
|
+
|
|
172
|
+
In this architecture, the `intlayer()` integration registered in `astro.config.ts` builds your dictionaries and adds a middleware that resolves the locale of every request and exposes it on `Astro.locals.intlayer`. Pages live under a `src/pages/[...locale]/` rest segment, so the default locale is served without prefix and every other locale gets its own dedicated URL. `.astro` files read the content with the `useIntlayer` / `useLocale` hooks of `astro-intlayer` for the server render, and the Solid island (`src/components/solid/SolidIsland.tsx`) receives the server-detected locale as a prop and hands it to `solid-intlayer` for the interactive part. Content declarations are placed alongside your components in `src/`.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
.
|
|
176
|
+
├── src
|
|
177
|
+
│ ├── app.content.tsx # App content declaration
|
|
178
|
+
│ ├── components
|
|
179
|
+
│ │ └── solid
|
|
180
|
+
│ │ ├── LocaleSwitcher.tsx # Locale switcher rendered inside the island
|
|
181
|
+
│ │ └── SolidIsland.tsx # Solid island wrapping the tree in IntlayerProvider
|
|
182
|
+
│ └── pages
|
|
183
|
+
│ ├── [...locale]
|
|
184
|
+
│ │ └── index.astro # Localized page mounting the island
|
|
185
|
+
│ ├── robots.txt.ts # robots.txt endpoint
|
|
186
|
+
│ └── sitemap.xml.ts # Localized sitemap endpoint
|
|
187
|
+
├── astro.config.ts # Astro config with the intlayer() and solid() integrations
|
|
188
|
+
├── intlayer.config.ts
|
|
189
|
+
├── package.json
|
|
190
|
+
└── tsconfig.json
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Configuration
|
|
194
|
+
|
|
167
195
|
Create a config file to configure the languages of your application:
|
|
168
196
|
|
|
169
197
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -237,19 +265,21 @@ export default appContent;
|
|
|
237
265
|
</Step>
|
|
238
266
|
<Step number={5} title="Use your content in Astro">
|
|
239
267
|
|
|
240
|
-
|
|
268
|
+
Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of the framework bindings: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
|
|
269
|
+
|
|
270
|
+
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.
|
|
271
|
+
|
|
272
|
+
You should also add SEO metadata like hreflang and canonical links to each page, and embed the Solid island for interactive client-side content.
|
|
241
273
|
|
|
242
274
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
243
275
|
---
|
|
276
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
244
277
|
import {
|
|
245
|
-
getIntlayer,
|
|
246
|
-
getLocaleFromPath,
|
|
247
278
|
getLocalizedUrl,
|
|
248
279
|
getPrefix,
|
|
249
280
|
localeMap,
|
|
250
281
|
defaultLocale,
|
|
251
282
|
getHTMLTextDir,
|
|
252
|
-
type LocalesValues,
|
|
253
283
|
} from "intlayer";
|
|
254
284
|
import { SolidIsland } from "../../components/solid/SolidIsland";
|
|
255
285
|
|
|
@@ -259,8 +289,11 @@ export const getStaticPaths = () => {
|
|
|
259
289
|
}));
|
|
260
290
|
};
|
|
261
291
|
|
|
262
|
-
|
|
263
|
-
const {
|
|
292
|
+
// Locale resolved by the middleware (e.g. /es/about -> 'es')
|
|
293
|
+
const { locale } = useLocale();
|
|
294
|
+
|
|
295
|
+
// Content of the 'app' dictionary for that locale
|
|
296
|
+
const { title } = useIntlayer("app");
|
|
264
297
|
---
|
|
265
298
|
|
|
266
299
|
<!doctype html>
|
|
@@ -316,6 +349,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
316
349
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
317
350
|
> ```
|
|
318
351
|
|
|
352
|
+
> `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.
|
|
353
|
+
|
|
319
354
|
> **Note on Routing Configuration:**
|
|
320
355
|
> The directory structure you use depends on the `middleware.routing` setting in your `intlayer.config.ts`:
|
|
321
356
|
>
|
|
@@ -432,10 +467,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
432
467
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
433
468
|
];
|
|
434
469
|
|
|
435
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
436
|
-
|
|
437
470
|
export const GET: APIRoute = async ({ site }) => {
|
|
438
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
471
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
472
|
+
siteUrl: "https://example.com",
|
|
473
|
+
});
|
|
439
474
|
|
|
440
475
|
return new Response(xmlOutput, {
|
|
441
476
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -539,21 +574,7 @@ bun x intlayer extract
|
|
|
539
574
|
</Tab>
|
|
540
575
|
<Tab value='Babel compiler'>
|
|
541
576
|
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
545
|
-
|
|
546
|
-
```ts fileName="vite.config.ts"
|
|
547
|
-
import { defineConfig } from "vite";
|
|
548
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
549
|
-
|
|
550
|
-
export default defineConfig({
|
|
551
|
-
plugins: [
|
|
552
|
-
intlayer(),
|
|
553
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
554
|
-
],
|
|
555
|
-
});
|
|
556
|
-
```
|
|
577
|
+
Build your application to transform your components and extract the content
|
|
557
578
|
|
|
558
579
|
```bash packageManager="npm"
|
|
559
580
|
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-21
|
|
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 optimize 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 internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production),
|
|
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
|
The core Svelte package.
|
|
@@ -164,6 +167,30 @@ bun add intlayer astro-intlayer svelte svelte-intlayer @astrojs/svelte
|
|
|
164
167
|
</Step>
|
|
165
168
|
<Step number={2} title="Configuration of your project">
|
|
166
169
|
|
|
170
|
+
### Architecture
|
|
171
|
+
|
|
172
|
+
In this architecture, the `intlayer()` integration registered in `astro.config.ts` builds your dictionaries and adds a middleware that resolves the locale of every request and exposes it on `Astro.locals.intlayer`. Pages live under a `src/pages/[...locale]/` rest segment, so the default locale is served without prefix and every other locale gets its own dedicated URL. `.astro` files read the content with the `useIntlayer` / `useLocale` hooks of `astro-intlayer` for the server render, and the Svelte island (`src/components/svelte/SvelteIsland.svelte`) receives the server-detected locale as a prop and hands it to `svelte-intlayer` for the interactive part. Content declarations are placed alongside your components in `src/`.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
.
|
|
176
|
+
├── src
|
|
177
|
+
│ ├── app.content.ts # App content declaration
|
|
178
|
+
│ ├── components
|
|
179
|
+
│ │ └── svelte
|
|
180
|
+
│ │ └── SvelteIsland.svelte # Svelte island (content + locale switcher)
|
|
181
|
+
│ └── pages
|
|
182
|
+
│ ├── [...locale]
|
|
183
|
+
│ │ └── index.astro # Localized page mounting the island
|
|
184
|
+
│ ├── robots.txt.ts # robots.txt endpoint
|
|
185
|
+
│ └── sitemap.xml.ts # Localized sitemap endpoint
|
|
186
|
+
├── astro.config.ts # Astro config with the intlayer() and svelte() integrations
|
|
187
|
+
├── intlayer.config.ts
|
|
188
|
+
├── package.json
|
|
189
|
+
└── tsconfig.json
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Configuration
|
|
193
|
+
|
|
167
194
|
Create a config file to configure the languages of your application:
|
|
168
195
|
|
|
169
196
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -237,19 +264,21 @@ export default appContent;
|
|
|
237
264
|
</Step>
|
|
238
265
|
<Step number={5} title="Use your content in Astro">
|
|
239
266
|
|
|
240
|
-
|
|
267
|
+
Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of the framework bindings: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
|
|
268
|
+
|
|
269
|
+
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.
|
|
270
|
+
|
|
271
|
+
You should also add SEO metadata like hreflang and canonical links to each page, and embed the Svelte island for interactive client-side content.
|
|
241
272
|
|
|
242
273
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
243
274
|
---
|
|
275
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
244
276
|
import {
|
|
245
|
-
getIntlayer,
|
|
246
|
-
getLocaleFromPath,
|
|
247
277
|
getLocalizedUrl,
|
|
248
278
|
getPrefix,
|
|
249
279
|
localeMap,
|
|
250
280
|
defaultLocale,
|
|
251
281
|
getHTMLTextDir,
|
|
252
|
-
type LocalesValues,
|
|
253
282
|
} from "intlayer";
|
|
254
283
|
import SvelteIsland from "../../components/svelte/SvelteIsland.svelte";
|
|
255
284
|
|
|
@@ -259,8 +288,11 @@ export const getStaticPaths = () => {
|
|
|
259
288
|
}));
|
|
260
289
|
};
|
|
261
290
|
|
|
262
|
-
|
|
263
|
-
const {
|
|
291
|
+
// Locale resolved by the middleware (e.g. /es/about -> 'es')
|
|
292
|
+
const { locale } = useLocale();
|
|
293
|
+
|
|
294
|
+
// Content of the 'app' dictionary for that locale
|
|
295
|
+
const { title } = useIntlayer("app");
|
|
264
296
|
---
|
|
265
297
|
|
|
266
298
|
<!doctype html>
|
|
@@ -316,6 +348,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
316
348
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
317
349
|
> ```
|
|
318
350
|
|
|
351
|
+
> `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.
|
|
352
|
+
|
|
319
353
|
> **Note on Routing Configuration:**
|
|
320
354
|
> The directory structure you use depends on the `middleware.routing` setting in your `intlayer.config.ts`:
|
|
321
355
|
>
|
|
@@ -436,10 +470,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
436
470
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
437
471
|
];
|
|
438
472
|
|
|
439
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
440
|
-
|
|
441
473
|
export const GET: APIRoute = async ({ site }) => {
|
|
442
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
474
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
475
|
+
siteUrl: "https://example.com",
|
|
476
|
+
});
|
|
443
477
|
|
|
444
478
|
return new Response(xmlOutput, {
|
|
445
479
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -543,21 +577,7 @@ bun x intlayer extract
|
|
|
543
577
|
</Tab>
|
|
544
578
|
<Tab value='Babel compiler'>
|
|
545
579
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
549
|
-
|
|
550
|
-
```ts fileName="vite.config.ts"
|
|
551
|
-
import { defineConfig } from "vite";
|
|
552
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
553
|
-
|
|
554
|
-
export default defineConfig({
|
|
555
|
-
plugins: [
|
|
556
|
-
intlayer(),
|
|
557
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
558
|
-
],
|
|
559
|
-
});
|
|
560
|
-
```
|
|
580
|
+
Build your application to transform your components and extract the content
|
|
561
581
|
|
|
562
582
|
```bash packageManager="npm"
|
|
563
583
|
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-21
|
|
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 optimize 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 internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
Includes the Astro integration plugin for integrating Intlayer with the [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production),
|
|
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
|
The core Vue package.
|
|
@@ -164,6 +167,30 @@ bun add intlayer astro-intlayer vue vue-intlayer @astrojs/vue
|
|
|
164
167
|
</Step>
|
|
165
168
|
<Step number={2} title="Configuration of your project">
|
|
166
169
|
|
|
170
|
+
### Architecture
|
|
171
|
+
|
|
172
|
+
In this architecture, the `intlayer()` integration registered in `astro.config.ts` builds your dictionaries and adds a middleware that resolves the locale of every request and exposes it on `Astro.locals.intlayer`. Pages live under a `src/pages/[...locale]/` rest segment, so the default locale is served without prefix and every other locale gets its own dedicated URL. `.astro` files read the content with the `useIntlayer` / `useLocale` hooks of `astro-intlayer` for the server render, and the Vue island (`src/components/vue/VueIsland.vue`) receives the server-detected locale as a prop and hands it to `vue-intlayer` for the interactive part. Content declarations are placed alongside your components in `src/`.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
.
|
|
176
|
+
├── src
|
|
177
|
+
│ ├── app.content.ts # App content declaration
|
|
178
|
+
│ ├── components
|
|
179
|
+
│ │ └── vue
|
|
180
|
+
│ │ └── VueIsland.vue # Vue island (content + locale switcher)
|
|
181
|
+
│ └── pages
|
|
182
|
+
│ ├── [...locale]
|
|
183
|
+
│ │ └── index.astro # Localized page mounting the island
|
|
184
|
+
│ ├── robots.txt.ts # robots.txt endpoint
|
|
185
|
+
│ └── sitemap.xml.ts # Localized sitemap endpoint
|
|
186
|
+
├── astro.config.ts # Astro config with the intlayer() and vue() integrations
|
|
187
|
+
├── intlayer.config.ts
|
|
188
|
+
├── package.json
|
|
189
|
+
└── tsconfig.json
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Configuration
|
|
193
|
+
|
|
167
194
|
Create a config file to configure the languages of your application:
|
|
168
195
|
|
|
169
196
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -237,19 +264,21 @@ export default appContent;
|
|
|
237
264
|
</Step>
|
|
238
265
|
<Step number={5} title="Use your content in Astro">
|
|
239
266
|
|
|
240
|
-
|
|
267
|
+
Consume your dictionaries in `.astro` files with the hooks exported by `astro-intlayer`. They share the signatures of the framework bindings: `useIntlayer("key")` returns the content of a dictionary and `useLocale()` the current locale, with no argument to pass around.
|
|
268
|
+
|
|
269
|
+
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.
|
|
270
|
+
|
|
271
|
+
You should also add SEO metadata like hreflang and canonical links to each page, and embed the Vue island for interactive client-side content.
|
|
241
272
|
|
|
242
273
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
243
274
|
---
|
|
275
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
244
276
|
import {
|
|
245
|
-
getIntlayer,
|
|
246
|
-
getLocaleFromPath,
|
|
247
277
|
getLocalizedUrl,
|
|
248
278
|
getPrefix,
|
|
249
279
|
localeMap,
|
|
250
280
|
defaultLocale,
|
|
251
281
|
getHTMLTextDir,
|
|
252
|
-
type LocalesValues,
|
|
253
282
|
} from "intlayer";
|
|
254
283
|
import VueIsland from "../../components/vue/VueIsland.vue";
|
|
255
284
|
|
|
@@ -259,8 +288,11 @@ export const getStaticPaths = () => {
|
|
|
259
288
|
}));
|
|
260
289
|
};
|
|
261
290
|
|
|
262
|
-
|
|
263
|
-
const {
|
|
291
|
+
// Locale resolved by the middleware (e.g. /es/about -> 'es')
|
|
292
|
+
const { locale } = useLocale();
|
|
293
|
+
|
|
294
|
+
// Content of the 'app' dictionary for that locale
|
|
295
|
+
const { title } = useIntlayer("app");
|
|
264
296
|
---
|
|
265
297
|
|
|
266
298
|
<!doctype html>
|
|
@@ -308,6 +340,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
308
340
|
</html>
|
|
309
341
|
```
|
|
310
342
|
|
|
343
|
+
> `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.
|
|
344
|
+
|
|
311
345
|
> **Note on Routing Configuration:**
|
|
312
346
|
> The directory structure you use depends on the `middleware.routing` setting in your `intlayer.config.ts`:
|
|
313
347
|
>
|
|
@@ -446,10 +480,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
446
480
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
447
481
|
];
|
|
448
482
|
|
|
449
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
450
|
-
|
|
451
483
|
export const GET: APIRoute = async ({ site }) => {
|
|
452
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
484
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
485
|
+
siteUrl: "https://example.com",
|
|
486
|
+
});
|
|
453
487
|
|
|
454
488
|
return new Response(xmlOutput, {
|
|
455
489
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -553,21 +587,7 @@ bun x intlayer extract
|
|
|
553
587
|
</Tab>
|
|
554
588
|
<Tab value='Babel compiler'>
|
|
555
589
|
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
559
|
-
|
|
560
|
-
```ts fileName="vite.config.ts"
|
|
561
|
-
import { defineConfig } from "vite";
|
|
562
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
563
|
-
|
|
564
|
-
export default defineConfig({
|
|
565
|
-
plugins: [
|
|
566
|
-
intlayer(),
|
|
567
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
568
|
-
],
|
|
569
|
-
});
|
|
570
|
-
```
|
|
590
|
+
Build your application to transform your components and extract the content
|
|
571
591
|
|
|
572
592
|
```bash packageManager="npm"
|
|
573
593
|
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 optimize 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: 2026-09-09
|
|
3
|
-
updatedAt: 2026-09-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: "Remix 3 i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Remix 3 app. Translate with AI agents and optimize bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -137,6 +137,27 @@ bun add intlayer remix-intlayer remix@next
|
|
|
137
137
|
</Step>
|
|
138
138
|
<Step number={2} title="Configure Intlayer">
|
|
139
139
|
|
|
140
|
+
### Architecture
|
|
141
|
+
|
|
142
|
+
In this architecture, the `intlayer()` middleware of `remix-intlayer` is registered in `createRouter()` ahead of the `render()` middleware. It strips the locale prefix before the router matches, so routes are declared once in `src/routes.ts` without a `:locale` segment, and it runs the rest of the request inside an `AsyncLocalStorage` scope, which is what lets `useIntlayer` / `useLocale` read the locale with no argument in route handlers and `remix/ui` views. Content declarations are placed alongside your views in `src/`:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
.
|
|
146
|
+
├── src
|
|
147
|
+
│ ├── home.content.ts # Home page content declaration
|
|
148
|
+
│ ├── router.tsx # createRouter() with the intlayer() and render() middleware
|
|
149
|
+
│ ├── routes.ts # Type-safe routes, declared once without locale segment
|
|
150
|
+
│ ├── server.ts # fetch handler (Node.js, Bun, Deno, Cloudflare Workers)
|
|
151
|
+
│ └── views
|
|
152
|
+
│ ├── document.tsx # HTML shell setting <html lang dir> from the locale
|
|
153
|
+
│ └── home.tsx # Localized page using useIntlayer / useLocale
|
|
154
|
+
├── intlayer.config.ts
|
|
155
|
+
├── package.json
|
|
156
|
+
└── tsconfig.json
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Configuration
|
|
160
|
+
|
|
140
161
|
Create an `intlayer.config.ts` in the root of your project to declare your supported languages and internationalization settings:
|
|
141
162
|
|
|
142
163
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
@@ -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:
|
|
@@ -749,15 +749,13 @@ SolidStart turns a file exporting an HTTP method into an API route, and strips t
|
|
|
749
749
|
import type { APIEvent } from "@solidjs/start/server";
|
|
750
750
|
import { generateSitemap } from "intlayer";
|
|
751
751
|
|
|
752
|
-
const SITE_URL = process.env.SITE_URL ?? "http://localhost:3000";
|
|
753
|
-
|
|
754
752
|
export const GET = (_event: APIEvent) => {
|
|
755
753
|
const sitemap = generateSitemap(
|
|
756
754
|
[
|
|
757
755
|
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
758
756
|
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
759
757
|
],
|
|
760
|
-
{ siteUrl:
|
|
758
|
+
{ siteUrl: "https://example.com" }
|
|
761
759
|
);
|
|
762
760
|
|
|
763
761
|
return new Response(sitemap, {
|
|
@@ -791,8 +789,6 @@ You can build a `robots.txt` the same way with `getMultilingualUrls`, so that `D
|
|
|
791
789
|
```typescript fileName="src/routes/robots.txt.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
792
790
|
import { getMultilingualUrls } from "intlayer";
|
|
793
791
|
|
|
794
|
-
const SITE_URL = process.env.SITE_URL ?? "http://localhost:3000";
|
|
795
|
-
|
|
796
792
|
const disallowedPaths = ["/admin", "/private"].flatMap((path) =>
|
|
797
793
|
Object.values(getMultilingualUrls(path))
|
|
798
794
|
);
|
|
@@ -804,7 +800,7 @@ export const GET = () =>
|
|
|
804
800
|
"Allow: /",
|
|
805
801
|
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
806
802
|
"",
|
|
807
|
-
`Sitemap:
|
|
803
|
+
`Sitemap: https://example.com/sitemap.xml`,
|
|
808
804
|
].join("\n"),
|
|
809
805
|
{ headers: { "Content-Type": "text/plain" } }
|
|
810
806
|
);
|
|
@@ -923,8 +919,14 @@ bun x intlayer extract
|
|
|
923
919
|
</Tab>
|
|
924
920
|
<Tab value='Babel compiler'>
|
|
925
921
|
|
|
922
|
+
<Tabs>
|
|
923
|
+
<Tab value='intlayer >= 9'>
|
|
924
|
+
|
|
926
925
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
927
926
|
|
|
927
|
+
</Tab>
|
|
928
|
+
<Tab value='intlayer < 9'>
|
|
929
|
+
|
|
928
930
|
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
929
931
|
|
|
930
932
|
```ts fileName="vite.config.ts"
|
|
@@ -943,6 +945,11 @@ export default defineConfig({
|
|
|
943
945
|
});
|
|
944
946
|
```
|
|
945
947
|
|
|
948
|
+
</Tab>
|
|
949
|
+
</Tabs>
|
|
950
|
+
|
|
951
|
+
Build your application to transform your components and extract the content
|
|
952
|
+
|
|
946
953
|
```bash packageManager="npm"
|
|
947
954
|
npm run build # Or npm run dev
|
|
948
955
|
```
|
|
@@ -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 optimize bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -711,8 +711,14 @@ bun x intlayer extract
|
|
|
711
711
|
</Tab>
|
|
712
712
|
<Tab value='Babel compiler'>
|
|
713
713
|
|
|
714
|
+
<Tabs>
|
|
715
|
+
<Tab value='intlayer >= 9'>
|
|
716
|
+
|
|
714
717
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
715
718
|
|
|
719
|
+
</Tab>
|
|
720
|
+
<Tab value='intlayer < 9'>
|
|
721
|
+
|
|
716
722
|
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
717
723
|
|
|
718
724
|
```ts fileName="vite.config.ts"
|
|
@@ -727,6 +733,11 @@ export default defineConfig({
|
|
|
727
733
|
});
|
|
728
734
|
```
|
|
729
735
|
|
|
736
|
+
</Tab>
|
|
737
|
+
</Tabs>
|
|
738
|
+
|
|
739
|
+
Build your application to transform your components and extract the content
|
|
740
|
+
|
|
730
741
|
```bash packageManager="npm"
|
|
731
742
|
npm run build # Or npm run dev
|
|
732
743
|
```
|
|
@@ -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 optimize bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -992,8 +992,14 @@ bun x intlayer extract
|
|
|
992
992
|
</Tab>
|
|
993
993
|
<Tab value='Babel compiler'>
|
|
994
994
|
|
|
995
|
+
<Tabs>
|
|
996
|
+
<Tab value='intlayer >= 9'>
|
|
997
|
+
|
|
995
998
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
996
999
|
|
|
1000
|
+
</Tab>
|
|
1001
|
+
<Tab value='intlayer < 9'>
|
|
1002
|
+
|
|
997
1003
|
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
998
1004
|
|
|
999
1005
|
```ts fileName="vite.config.ts"
|
|
@@ -1019,6 +1025,11 @@ export default defineConfig({
|
|
|
1019
1025
|
});
|
|
1020
1026
|
```
|
|
1021
1027
|
|
|
1028
|
+
</Tab>
|
|
1029
|
+
</Tabs>
|
|
1030
|
+
|
|
1031
|
+
Build your application to transform your components and extract the content
|
|
1032
|
+
|
|
1022
1033
|
```bash packageManager="npm"
|
|
1023
1034
|
npm run build # Or npm run dev
|
|
1024
1035
|
```
|
|
@@ -1098,7 +1109,7 @@ export const Route = createFileRoute("/sitemap.xml")({
|
|
|
1098
1109
|
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
1099
1110
|
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
1100
1111
|
],
|
|
1101
|
-
{ siteUrl:
|
|
1112
|
+
{ siteUrl: "https://example.com" }
|
|
1102
1113
|
);
|
|
1103
1114
|
|
|
1104
1115
|
return new Response(sitemap, {
|