@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 - Полное руководство по переводу вашего приложения"
|
|
5
5
|
description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения Astro + Solid. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
20
20
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Использование хуков useIntlayer / useLocale из astro-intlayer на странице Astro"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Обновление использования API useIntlayer в Solid для прямого доступа к свойствам"
|
|
@@ -162,7 +165,7 @@ bun x intlayer init
|
|
|
162
165
|
Основной пакет, предоставляющий инструменты интернационализации для управления конфигурацией, переводами, [объявлением контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md), транспиляцией и [командами CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/index.md).
|
|
163
166
|
|
|
164
167
|
- **astro-intlayer**
|
|
165
|
-
Включает плагин интеграции
|
|
168
|
+
Включает плагин интеграции Astro для интеграции Intlayer с [бандлером Vite](https://vite.dev/guide/why.html#why-bundle-for-production), middleware, разрешающее локаль каждого запроса в `Astro.locals.intlayer`, и хуки `useIntlayer` / `useDictionary` / `useLocale`. Тот же путь импорта разрешается в серверную реализацию во фронтматтере `.astro` и в клиентскую (на базе `vanilla-intlayer`) в блоках `<script>`.
|
|
166
169
|
|
|
167
170
|
- **solid-js**
|
|
168
171
|
Основной пакет Solid.
|
|
@@ -176,6 +179,31 @@ bun x intlayer init
|
|
|
176
179
|
</Step>
|
|
177
180
|
<Step number={2} title="Настройка вашего проекта">
|
|
178
181
|
|
|
182
|
+
### Архитектура
|
|
183
|
+
|
|
184
|
+
В этой архитектуре интеграция `intlayer()`, зарегистрированная в `astro.config.ts`, собирает ваши словари и добавляет middleware, который определяет локаль каждого запроса и предоставляет её в `Astro.locals.intlayer`. Страницы располагаются в сегменте rest `src/pages/[...locale]/`, благодаря чему локаль по умолчанию отдается без префикса, а каждая другая локаль получает собственный выделенный URL. Файлы `.astro` читают контент с помощью хуков `useIntlayer` / `useLocale` из `astro-intlayer` для серверного рендеринга, а остров Solid (`src/components/solid/SolidIsland.tsx`) получает определённую сервером локаль в качестве пропа и передаёт её в `solid-intlayer` для интерактивной части. Объявления контента размещаются рядом с вашими компонентами в `src/`.
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
.
|
|
188
|
+
├── src
|
|
189
|
+
│ ├── app.content.tsx # App content declaration
|
|
190
|
+
│ ├── components
|
|
191
|
+
│ │ └── solid
|
|
192
|
+
│ │ ├── LocaleSwitcher.tsx # Locale switcher rendered inside the island
|
|
193
|
+
│ │ └── SolidIsland.tsx # Solid island wrapping the tree in IntlayerProvider
|
|
194
|
+
│ └── pages
|
|
195
|
+
│ ├── [...locale]
|
|
196
|
+
│ │ └── index.astro # Localized page mounting the island
|
|
197
|
+
│ ├── robots.txt.ts # robots.txt endpoint
|
|
198
|
+
│ └── sitemap.xml.ts # Localized sitemap endpoint
|
|
199
|
+
├── astro.config.ts # Astro config with the intlayer() and solid() integrations
|
|
200
|
+
├── intlayer.config.ts
|
|
201
|
+
├── package.json
|
|
202
|
+
└── tsconfig.json
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Конфигурация
|
|
206
|
+
|
|
179
207
|
Создайте конфигурационный файл для настройки языков вашего приложения:
|
|
180
208
|
|
|
181
209
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -250,19 +278,21 @@ export default appContent;
|
|
|
250
278
|
</Step>
|
|
251
279
|
<Step number={5} title="Использование контента в Astro">
|
|
252
280
|
|
|
253
|
-
|
|
281
|
+
Используйте ваши словари в файлах `.astro` с помощью хуков, экспортируемых `astro-intlayer`. Они имеют те же сигнатуры, что и `react-intlayer`: `useIntlayer("key")` возвращает содержимое словаря, а `useLocale()` текущую локаль, без необходимости передавать аргументы.
|
|
282
|
+
|
|
283
|
+
Локаль поступает из middleware `astro-intlayer`, которое интеграция регистрирует автоматически перед вашим собственным `src/middleware.ts`. Оно разрешает ее для каждого запроса, на основе префикса URL, затем сохраненной клиентом локали (cookie или заголовок), затем `Accept-Language`, и сохраняет в `Astro.locals.intlayer`. Предварительно отрендеренные страницы используют только URL, так как рендерятся один раз для каждого посетителя.
|
|
284
|
+
|
|
285
|
+
Вам также следует добавить SEO-метаданные, такие как hreflang и канонические ссылки, на каждую страницу и встроить остров Solid для интерактивного контента на стороне клиента.
|
|
254
286
|
|
|
255
287
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
256
288
|
---
|
|
289
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
257
290
|
import {
|
|
258
|
-
getIntlayer,
|
|
259
|
-
getLocaleFromPath,
|
|
260
291
|
getLocalizedUrl,
|
|
261
|
-
getHTMLTextDir,
|
|
262
292
|
getPrefix,
|
|
263
293
|
localeMap,
|
|
264
294
|
defaultLocale,
|
|
265
|
-
|
|
295
|
+
getHTMLTextDir,
|
|
266
296
|
} from "intlayer";
|
|
267
297
|
import { SolidIsland } from "../../components/solid/SolidIsland";
|
|
268
298
|
|
|
@@ -272,8 +302,11 @@ export const getStaticPaths = () => {
|
|
|
272
302
|
}));
|
|
273
303
|
};
|
|
274
304
|
|
|
275
|
-
|
|
276
|
-
const {
|
|
305
|
+
// Локаль, разрешенная middleware (напр. /ru/about -> 'ru')
|
|
306
|
+
const { locale } = useLocale();
|
|
307
|
+
|
|
308
|
+
// Содержимое словаря 'app' для этой локали
|
|
309
|
+
const { title } = useIntlayer("app");
|
|
277
310
|
---
|
|
278
311
|
|
|
279
312
|
<!doctype html>
|
|
@@ -329,6 +362,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
329
362
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
330
363
|
> ```
|
|
331
364
|
|
|
365
|
+
> `Astro.locals.intlayer` также предоставляет доступ к `locale`, `defaultLocale` и `availableLocales` в ваших собственных middleware и эндпоинтах. Передайте локаль или селектор вторым аргументом (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`), чтобы переопределить локаль запроса для одного вызова.
|
|
366
|
+
|
|
332
367
|
> **Примечание по конфигурации маршрутизации:**
|
|
333
368
|
> Структура каталогов, которую вы используете, зависит от настройки `middleware.routing` в вашем `intlayer.config.ts`:
|
|
334
369
|
>
|
|
@@ -445,10 +480,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
445
480
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
446
481
|
];
|
|
447
482
|
|
|
448
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
449
|
-
|
|
450
483
|
export const GET: APIRoute = async ({ site }) => {
|
|
451
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
484
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
485
|
+
siteUrl: "https://example.com",
|
|
486
|
+
});
|
|
452
487
|
|
|
453
488
|
return new Response(xmlOutput, {
|
|
454
489
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -548,21 +583,7 @@ bun x intlayer extract
|
|
|
548
583
|
</Tab>
|
|
549
584
|
<Tab value='Компилятор Babel'>
|
|
550
585
|
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
554
|
-
|
|
555
|
-
```ts fileName="vite.config.ts"
|
|
556
|
-
import { defineConfig } from "vite";
|
|
557
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
558
|
-
|
|
559
|
-
export default defineConfig({
|
|
560
|
-
plugins: [
|
|
561
|
-
intlayer(),
|
|
562
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
563
|
-
],
|
|
564
|
-
});
|
|
565
|
-
```
|
|
586
|
+
Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
|
|
566
587
|
|
|
567
588
|
```bash packageManager="npm"
|
|
568
589
|
npm run build # Или 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 - Полное руководство по переводу вашего приложения"
|
|
5
5
|
description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения Astro + Svelte. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
20
20
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Использование хуков useIntlayer / useLocale из astro-intlayer на странице Astro"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Обновление использования API useIntlayer в Solid для прямого доступа к свойствам"
|
|
@@ -162,7 +165,7 @@ bun x intlayer init
|
|
|
162
165
|
Основной пакет, предоставляющий инструменты интернационализации для управления конфигурацией, переводами, [объявлением контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md), транспиляцией и [командами CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/index.md).
|
|
163
166
|
|
|
164
167
|
- **astro-intlayer**
|
|
165
|
-
Включает плагин интеграции
|
|
168
|
+
Включает плагин интеграции Astro для интеграции Intlayer с [бандлером Vite](https://vite.dev/guide/why.html#why-bundle-for-production), middleware, разрешающее локаль каждого запроса в `Astro.locals.intlayer`, и хуки `useIntlayer` / `useDictionary` / `useLocale`. Тот же путь импорта разрешается в серверную реализацию во фронтматтере `.astro` и в клиентскую (на базе `vanilla-intlayer`) в блоках `<script>`.
|
|
166
169
|
|
|
167
170
|
- **svelte**
|
|
168
171
|
Основной пакет Svelte.
|
|
@@ -176,6 +179,30 @@ bun x intlayer init
|
|
|
176
179
|
</Step>
|
|
177
180
|
<Step number={2} title="Настройка вашего проекта">
|
|
178
181
|
|
|
182
|
+
### Архитектура
|
|
183
|
+
|
|
184
|
+
В этой архитектуре интеграция `intlayer()`, зарегистрированная в `astro.config.ts`, собирает ваши словари и добавляет middleware, который определяет локаль каждого запроса и предоставляет её в `Astro.locals.intlayer`. Страницы располагаются в сегменте rest `src/pages/[...locale]/`, благодаря чему локаль по умолчанию отдается без префикса, а каждая другая локаль получает собственный выделенный URL. Файлы `.astro` читают контент с помощью хуков `useIntlayer` / `useLocale` из `astro-intlayer` для серверного рендеринга, а остров Svelte (`src/components/svelte/SvelteIsland.svelte`) получает определённую сервером локаль в качестве пропа и передаёт её в `svelte-intlayer` для интерактивной части. Объявления контента размещаются рядом с вашими компонентами в `src/`.
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
.
|
|
188
|
+
├── src
|
|
189
|
+
│ ├── app.content.ts # App content declaration
|
|
190
|
+
│ ├── components
|
|
191
|
+
│ │ └── svelte
|
|
192
|
+
│ │ └── SvelteIsland.svelte # Svelte island (content + locale switcher)
|
|
193
|
+
│ └── pages
|
|
194
|
+
│ ├── [...locale]
|
|
195
|
+
│ │ └── index.astro # Localized page mounting the island
|
|
196
|
+
│ ├── robots.txt.ts # robots.txt endpoint
|
|
197
|
+
│ └── sitemap.xml.ts # Localized sitemap endpoint
|
|
198
|
+
├── astro.config.ts # Astro config with the intlayer() and svelte() integrations
|
|
199
|
+
├── intlayer.config.ts
|
|
200
|
+
├── package.json
|
|
201
|
+
└── tsconfig.json
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Конфигурация
|
|
205
|
+
|
|
179
206
|
Создайте конфигурационный файл для настройки языков вашего приложения:
|
|
180
207
|
|
|
181
208
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -250,19 +277,21 @@ export default appContent;
|
|
|
250
277
|
</Step>
|
|
251
278
|
<Step number={5} title="Использование контента в Astro">
|
|
252
279
|
|
|
253
|
-
|
|
280
|
+
Используйте ваши словари в файлах `.astro` с помощью хуков, экспортируемых `astro-intlayer`. Они имеют те же сигнатуры, что и `react-intlayer`: `useIntlayer("key")` возвращает содержимое словаря, а `useLocale()` текущую локаль, без необходимости передавать аргументы.
|
|
281
|
+
|
|
282
|
+
Локаль поступает из middleware `astro-intlayer`, которое интеграция регистрирует автоматически перед вашим собственным `src/middleware.ts`. Оно разрешает ее для каждого запроса, на основе префикса URL, затем сохраненной клиентом локали (cookie или заголовок), затем `Accept-Language`, и сохраняет в `Astro.locals.intlayer`. Предварительно отрендеренные страницы используют только URL, так как рендерятся один раз для каждого посетителя.
|
|
283
|
+
|
|
284
|
+
Вам также следует добавить SEO-метаданные, такие как hreflang и канонические ссылки, на каждую страницу и встроить остров Svelte для интерактивного контента на стороне клиента.
|
|
254
285
|
|
|
255
286
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
256
287
|
---
|
|
288
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
257
289
|
import {
|
|
258
|
-
getIntlayer,
|
|
259
|
-
getLocaleFromPath,
|
|
260
290
|
getLocalizedUrl,
|
|
261
|
-
getHTMLTextDir,
|
|
262
291
|
getPrefix,
|
|
263
292
|
localeMap,
|
|
264
293
|
defaultLocale,
|
|
265
|
-
|
|
294
|
+
getHTMLTextDir,
|
|
266
295
|
} from "intlayer";
|
|
267
296
|
import SvelteIsland from "../../components/svelte/SvelteIsland.svelte";
|
|
268
297
|
|
|
@@ -272,8 +301,11 @@ export const getStaticPaths = () => {
|
|
|
272
301
|
}));
|
|
273
302
|
};
|
|
274
303
|
|
|
275
|
-
|
|
276
|
-
const {
|
|
304
|
+
// Локаль, разрешенная middleware (напр. /ru/about -> 'ru')
|
|
305
|
+
const { locale } = useLocale();
|
|
306
|
+
|
|
307
|
+
// Содержимое словаря 'app' для этой локали
|
|
308
|
+
const { title } = useIntlayer("app");
|
|
277
309
|
---
|
|
278
310
|
|
|
279
311
|
<!doctype html>
|
|
@@ -329,6 +361,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
329
361
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
330
362
|
> ```
|
|
331
363
|
|
|
364
|
+
> `Astro.locals.intlayer` также предоставляет доступ к `locale`, `defaultLocale` и `availableLocales` в ваших собственных middleware и эндпоинтах. Передайте локаль или селектор вторым аргументом (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`), чтобы переопределить локаль запроса для одного вызова.
|
|
365
|
+
|
|
332
366
|
> **Примечание по конфигурации маршрутизации:**
|
|
333
367
|
> Структура каталогов, которую вы используете, зависит от настройки `middleware.routing` в вашем `intlayer.config.ts`:
|
|
334
368
|
>
|
|
@@ -449,10 +483,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
449
483
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
450
484
|
];
|
|
451
485
|
|
|
452
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
453
|
-
|
|
454
486
|
export const GET: APIRoute = async ({ site }) => {
|
|
455
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
487
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
488
|
+
siteUrl: "https://example.com",
|
|
489
|
+
});
|
|
456
490
|
|
|
457
491
|
return new Response(xmlOutput, {
|
|
458
492
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -552,21 +586,7 @@ bun x intlayer extract
|
|
|
552
586
|
</Tab>
|
|
553
587
|
<Tab value='Компилятор Babel'>
|
|
554
588
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
558
|
-
|
|
559
|
-
```ts fileName="vite.config.ts"
|
|
560
|
-
import { defineConfig } from "vite";
|
|
561
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
562
|
-
|
|
563
|
-
export default defineConfig({
|
|
564
|
-
plugins: [
|
|
565
|
-
intlayer(),
|
|
566
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
567
|
-
],
|
|
568
|
-
});
|
|
569
|
-
```
|
|
589
|
+
Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
|
|
570
590
|
|
|
571
591
|
```bash packageManager="npm"
|
|
572
592
|
npm run build # Или 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 - Полное руководство по переводу вашего приложения"
|
|
5
5
|
description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения Astro + Vue. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
20
20
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Использование хуков useIntlayer / useLocale из astro-intlayer на странице Astro"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Обновление использования API useIntlayer в Solid для прямого доступа к свойствам"
|
|
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer vue vue-intlayer @astrojs/vue
|
|
|
150
153
|
Основной пакет, предоставляющий инструменты интернационализации для управления конфигурацией, переводами, [объявлением контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md), транспиляцией и [командами CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
Включает плагин интеграции
|
|
156
|
+
Включает плагин интеграции Astro для интеграции Intlayer с [бандлером Vite](https://vite.dev/guide/why.html#why-bundle-for-production), middleware, разрешающее локаль каждого запроса в `Astro.locals.intlayer`, и хуки `useIntlayer` / `useDictionary` / `useLocale`. Тот же путь импорта разрешается в серверную реализацию во фронтматтере `.astro` и в клиентскую (на базе `vanilla-intlayer`) в блоках `<script>`.
|
|
154
157
|
|
|
155
158
|
- **vue**
|
|
156
159
|
Основной пакет Vue.
|
|
@@ -164,6 +167,30 @@ bun add intlayer astro-intlayer vue vue-intlayer @astrojs/vue
|
|
|
164
167
|
</Step>
|
|
165
168
|
<Step number={2} title="Настройка вашего проекта">
|
|
166
169
|
|
|
170
|
+
### Архитектура
|
|
171
|
+
|
|
172
|
+
В этой архитектуре интеграция `intlayer()`, зарегистрированная в `astro.config.ts`, собирает ваши словари и добавляет middleware, который определяет локаль каждого запроса и предоставляет её в `Astro.locals.intlayer`. Страницы располагаются в сегменте rest `src/pages/[...locale]/`, благодаря чему локаль по умолчанию отдается без префикса, а каждая другая локаль получает собственный выделенный URL. Файлы `.astro` читают контент с помощью хуков `useIntlayer` / `useLocale` из `astro-intlayer` для серверного рендеринга, а остров Vue (`src/components/vue/VueIsland.vue`) получает определённую сервером локаль в качестве пропа и передаёт её в `vue-intlayer` для интерактивной части. Объявления контента размещаются рядом с вашими компонентами в `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
|
+
### Конфигурация
|
|
193
|
+
|
|
167
194
|
Создайте конфигурационный файл для настройки языков вашего приложения:
|
|
168
195
|
|
|
169
196
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -238,19 +265,21 @@ export default appContent;
|
|
|
238
265
|
</Step>
|
|
239
266
|
<Step number={5} title="Использование контента в Astro">
|
|
240
267
|
|
|
241
|
-
|
|
268
|
+
Используйте ваши словари в файлах `.astro` с помощью хуков, экспортируемых `astro-intlayer`. Они имеют те же сигнатуры, что и `react-intlayer`: `useIntlayer("key")` возвращает содержимое словаря, а `useLocale()` текущую локаль, без необходимости передавать аргументы.
|
|
269
|
+
|
|
270
|
+
Локаль поступает из middleware `astro-intlayer`, которое интеграция регистрирует автоматически перед вашим собственным `src/middleware.ts`. Оно разрешает ее для каждого запроса, на основе префикса URL, затем сохраненной клиентом локали (cookie или заголовок), затем `Accept-Language`, и сохраняет в `Astro.locals.intlayer`. Предварительно отрендеренные страницы используют только URL, так как рендерятся один раз для каждого посетителя.
|
|
271
|
+
|
|
272
|
+
Вам также следует добавить SEO-метаданные, такие как hreflang и канонические ссылки, на каждую страницу и встроить остров Vue для интерактивного контента на стороне клиента.
|
|
242
273
|
|
|
243
274
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
244
275
|
---
|
|
276
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
245
277
|
import {
|
|
246
|
-
getIntlayer,
|
|
247
|
-
getLocaleFromPath,
|
|
248
278
|
getLocalizedUrl,
|
|
249
|
-
getHTMLTextDir,
|
|
250
279
|
getPrefix,
|
|
251
280
|
localeMap,
|
|
252
281
|
defaultLocale,
|
|
253
|
-
|
|
282
|
+
getHTMLTextDir,
|
|
254
283
|
} from "intlayer";
|
|
255
284
|
import VueIsland from "../../components/vue/VueIsland.vue";
|
|
256
285
|
|
|
@@ -260,8 +289,11 @@ export const getStaticPaths = () => {
|
|
|
260
289
|
}));
|
|
261
290
|
};
|
|
262
291
|
|
|
263
|
-
|
|
264
|
-
const {
|
|
292
|
+
// Локаль, разрешенная middleware (напр. /ru/about -> 'ru')
|
|
293
|
+
const { locale } = useLocale();
|
|
294
|
+
|
|
295
|
+
// Содержимое словаря 'app' для этой локали
|
|
296
|
+
const { title } = useIntlayer("app");
|
|
265
297
|
---
|
|
266
298
|
|
|
267
299
|
<!doctype html>
|
|
@@ -309,6 +341,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
309
341
|
</html>
|
|
310
342
|
```
|
|
311
343
|
|
|
344
|
+
> `Astro.locals.intlayer` также предоставляет доступ к `locale`, `defaultLocale` и `availableLocales` в ваших собственных middleware и эндпоинтах. Передайте локаль или селектор вторым аргументом (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`), чтобы переопределить локаль запроса для одного вызова.
|
|
345
|
+
|
|
312
346
|
> **Примечание по конфигурации маршрутизации:**
|
|
313
347
|
> Структура каталогов, которую вы используете, зависит от настройки `middleware.routing` в вашем `intlayer.config.ts`:
|
|
314
348
|
>
|
|
@@ -447,10 +481,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
447
481
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
448
482
|
];
|
|
449
483
|
|
|
450
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
451
|
-
|
|
452
484
|
export const GET: APIRoute = async ({ site }) => {
|
|
453
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
485
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
486
|
+
siteUrl: "https://example.com",
|
|
487
|
+
});
|
|
454
488
|
|
|
455
489
|
return new Response(xmlOutput, {
|
|
456
490
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -550,21 +584,7 @@ bun x intlayer extract
|
|
|
550
584
|
</Tab>
|
|
551
585
|
<Tab value='Компилятор Babel'>
|
|
552
586
|
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
556
|
-
|
|
557
|
-
```ts fileName="vite.config.ts"
|
|
558
|
-
import { defineConfig } from "vite";
|
|
559
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
560
|
-
|
|
561
|
-
export default defineConfig({
|
|
562
|
-
plugins: [
|
|
563
|
-
intlayer(),
|
|
564
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
565
|
-
],
|
|
566
|
-
});
|
|
567
|
-
```
|
|
587
|
+
Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
|
|
568
588
|
|
|
569
589
|
```bash packageManager="npm"
|
|
570
590
|
npm run build # Или 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 - Полное руководство по переводу вашего приложения"
|
|
5
5
|
description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения React Router v7. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
|
|
6
6
|
keywords:
|
|
@@ -888,8 +888,14 @@ bun x intlayer extract
|
|
|
888
888
|
</Tab>
|
|
889
889
|
<Tab value='Компилятор Babel'>
|
|
890
890
|
|
|
891
|
+
<Tabs>
|
|
892
|
+
<Tab value='intlayer >= 9'>
|
|
893
|
+
|
|
891
894
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
892
895
|
|
|
896
|
+
</Tab>
|
|
897
|
+
<Tab value='intlayer < 9'>
|
|
898
|
+
|
|
893
899
|
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
894
900
|
|
|
895
901
|
```ts fileName="vite.config.ts"
|
|
@@ -904,6 +910,11 @@ export default defineConfig({
|
|
|
904
910
|
});
|
|
905
911
|
```
|
|
906
912
|
|
|
913
|
+
</Tab>
|
|
914
|
+
</Tabs>
|
|
915
|
+
|
|
916
|
+
Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
|
|
917
|
+
|
|
907
918
|
```bash packageManager="npm"
|
|
908
919
|
npm run build # Или npm run dev
|
|
909
920
|
```
|
|
@@ -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 - Полное руководство по переводу вашего приложения"
|
|
5
5
|
description: "Забудьте об i18next. Руководство 2026 года по созданию многоязычного (i18n) приложения Remix 3. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
|
|
6
6
|
keywords:
|
|
@@ -137,6 +137,27 @@ bun add intlayer remix-intlayer remix@next
|
|
|
137
137
|
</Step>
|
|
138
138
|
<Step number={2} title="Настройка Intlayer">
|
|
139
139
|
|
|
140
|
+
### Архитектура
|
|
141
|
+
|
|
142
|
+
В этой архитектуре middleware `intlayer()` из `remix-intlayer` регистрируется в `createRouter()` перед middleware `render()`. Он удаляет префикс локали до сопоставления маршрутизатора, поэтому маршруты объявляются один раз в `src/routes.ts` без сегмента `:locale`, и выполняет остальную часть запроса внутри области `AsyncLocalStorage`, что позволяет `useIntlayer` / `useLocale` читать локаль без аргументов в обработчиках маршрутов и представлениях `remix/ui`. Объявления контента размещаются рядом с вашими представлениями в `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
|
+
### Конфигурация
|
|
160
|
+
|
|
140
161
|
Создайте файл `intlayer.config.ts` в корне проекта для объявления поддерживаемых языков и параметров интернационализации:
|
|
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 — полное руководство по переводу вашего приложения"
|
|
5
5
|
description: "Забудьте про i18next. Руководство 2026 года по созданию многоязычного (i18n) приложения на SolidStart. Серверная маршрутизация локалей, hreflang, sitemap и перевод с помощью ИИ."
|
|
6
6
|
keywords:
|
|
@@ -748,15 +748,13 @@ SolidStart превращает файл, экспортирующий HTTP-ме
|
|
|
748
748
|
import type { APIEvent } from "@solidjs/start/server";
|
|
749
749
|
import { generateSitemap } from "intlayer";
|
|
750
750
|
|
|
751
|
-
const SITE_URL = process.env.SITE_URL ?? "http://localhost:3000";
|
|
752
|
-
|
|
753
751
|
export const GET = (_event: APIEvent) => {
|
|
754
752
|
const sitemap = generateSitemap(
|
|
755
753
|
[
|
|
756
754
|
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
757
755
|
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
758
756
|
],
|
|
759
|
-
{ siteUrl:
|
|
757
|
+
{ siteUrl: "https://example.com" }
|
|
760
758
|
);
|
|
761
759
|
|
|
762
760
|
return new Response(sitemap, {
|
|
@@ -790,8 +788,6 @@ export const GET = (_event: APIEvent) => {
|
|
|
790
788
|
```typescript fileName="src/routes/robots.txt.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
791
789
|
import { getMultilingualUrls } from "intlayer";
|
|
792
790
|
|
|
793
|
-
const SITE_URL = process.env.SITE_URL ?? "http://localhost:3000";
|
|
794
|
-
|
|
795
791
|
const disallowedPaths = ["/admin", "/private"].flatMap((path) =>
|
|
796
792
|
Object.values(getMultilingualUrls(path))
|
|
797
793
|
);
|
|
@@ -803,7 +799,7 @@ export const GET = () =>
|
|
|
803
799
|
"Allow: /",
|
|
804
800
|
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
805
801
|
"",
|
|
806
|
-
`Sitemap:
|
|
802
|
+
`Sitemap: https://example.com/sitemap.xml`,
|
|
807
803
|
].join("\n"),
|
|
808
804
|
{ headers: { "Content-Type": "text/plain" } }
|
|
809
805
|
);
|
|
@@ -922,8 +918,14 @@ bun x intlayer extract
|
|
|
922
918
|
</Tab>
|
|
923
919
|
<Tab value='Babel compiler'>
|
|
924
920
|
|
|
921
|
+
<Tabs>
|
|
922
|
+
<Tab value='intlayer >= 9'>
|
|
923
|
+
|
|
925
924
|
> Начиная с v9, `intlayerCompiler` включён в плагин `intlayer`. Так что добавлять его вручную не нужно.
|
|
926
925
|
|
|
926
|
+
</Tab>
|
|
927
|
+
<Tab value='intlayer < 9'>
|
|
928
|
+
|
|
927
929
|
Обновите ваш `vite.config.ts`, включив плагин `intlayerCompiler`:
|
|
928
930
|
|
|
929
931
|
```ts fileName="vite.config.ts"
|
|
@@ -942,6 +944,11 @@ export default defineConfig({
|
|
|
942
944
|
});
|
|
943
945
|
```
|
|
944
946
|
|
|
947
|
+
</Tab>
|
|
948
|
+
</Tabs>
|
|
949
|
+
|
|
950
|
+
Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
|
|
951
|
+
|
|
945
952
|
```bash packageManager="npm"
|
|
946
953
|
npm run build # Или npm run dev
|
|
947
954
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-11-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "SvelteKit i18n - Полное руководство по переводу вашего приложения"
|
|
5
5
|
description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения SvelteKit. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
|
|
6
6
|
keywords:
|
|
@@ -707,8 +707,14 @@ bun x intlayer extract
|
|
|
707
707
|
</Tab>
|
|
708
708
|
<Tab value='Компилятор Babel'>
|
|
709
709
|
|
|
710
|
+
<Tabs>
|
|
711
|
+
<Tab value='intlayer >= 9'>
|
|
712
|
+
|
|
710
713
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
711
714
|
|
|
715
|
+
</Tab>
|
|
716
|
+
<Tab value='intlayer < 9'>
|
|
717
|
+
|
|
712
718
|
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
713
719
|
|
|
714
720
|
```ts fileName="vite.config.ts"
|
|
@@ -723,6 +729,11 @@ export default defineConfig({
|
|
|
723
729
|
});
|
|
724
730
|
```
|
|
725
731
|
|
|
732
|
+
</Tab>
|
|
733
|
+
</Tabs>
|
|
734
|
+
|
|
735
|
+
Соберите приложение, чтобы преобразовать ваши компоненты и извлечь контент
|
|
736
|
+
|
|
726
737
|
```bash packageManager="npm"
|
|
727
738
|
npm run build # Или npm run dev
|
|
728
739
|
```
|