@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: 2024-03-07
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: "تدويل Astro + React - الدليل الكامل لترجمة تطبيقك"
|
|
5
5
|
description: "لا مزيد من i18next. دليل 2026 لبناء تطبيق Astro + React متعدد اللغات (i18n). ترجم باستخدام وكلاء الذكاء الاصطناعي وحسّن حجم الحزمة وتحسين محركات البحث والأداء."
|
|
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: "تحديث استخدام واجهة برمجة تطبيقات useIntlayer في Solid للوصول المباشر إلى الخصائص"
|
|
@@ -153,7 +156,7 @@ bun add intlayer astro-intlayer react react-dom react-intlayer @astrojs/react
|
|
|
153
156
|
الحزمة الأساسية التي توفر أدوات i18n لإدارة التكوين، الترجمات، [تعريف المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md)، التحويل، و[أوامر CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/index.md).
|
|
154
157
|
|
|
155
158
|
- **astro-intlayer**
|
|
156
|
-
|
|
159
|
+
يتضمن ملحق تكامل Astro لدمج Intlayer مع [حازم Vite](https://vite.dev/guide/why.html#why-bundle-for-production)، ووسيطاً برمجياً يحدد لغة كل طلب في `Astro.locals.intlayer`، وخطافات `useIntlayer` / `useDictionary` / `useLocale`. يحل نفس مسار الاستيراد إلى تنفيذ الخادم في واجهة `.astro` وإلى تنفيذ العميل (المدعوم بـ `vanilla-intlayer`) في كتل `<script>`.
|
|
157
160
|
|
|
158
161
|
- **react**, **react-dom**
|
|
159
162
|
حزم React الأساسية المطلوبة لرندر مكونات React في المتصفح.
|
|
@@ -167,6 +170,31 @@ bun add intlayer astro-intlayer react react-dom react-intlayer @astrojs/react
|
|
|
167
170
|
</Step>
|
|
168
171
|
<Step number={2} title="تهيئة مشروعك">
|
|
169
172
|
|
|
173
|
+
### البنية
|
|
174
|
+
|
|
175
|
+
في هذه البنية، يقوم تكامل `intlayer()` المسجل في `astro.config.ts` ببناء القواميس الخاصة بك وإضافة برمجية وسيطة (middleware) تحدد لغة كل طلب وتوفرها عبر `Astro.locals.intlayer`. تتواجد الصفحات تحت مقطع `src/pages/[...locale]/`، بحيث يتم تقديم اللغة الافتراضية بدون بادئة ويحصل كل خيار لغة آخر على عنوان URL مخصص له. تقرأ ملفات `.astro` المحتوى باستخدام خطافات `useIntlayer` / `useLocale` الخاصة بـ `astro-intlayer` للعرض على جانب الخادم، وتتلقى جزيرة React (`src/components/react/ReactIsland.tsx`) اللغة المكتشفة من الخادم كخاصية (prop) وتمررها إلى `react-intlayer` للجزء التفاعلي. وتوضع تصريحات المحتوى جنباً إلى جنب مع مكوناتك في `src/`.
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
.
|
|
179
|
+
├── src
|
|
180
|
+
│ ├── app.content.tsx # App content declaration
|
|
181
|
+
│ ├── components
|
|
182
|
+
│ │ └── react
|
|
183
|
+
│ │ ├── LocaleSwitcher.tsx # Locale switcher rendered inside the island
|
|
184
|
+
│ │ └── ReactIsland.tsx # React island wrapping the tree in IntlayerProvider
|
|
185
|
+
│ └── pages
|
|
186
|
+
│ ├── [...locale]
|
|
187
|
+
│ │ └── index.astro # Localized page mounting the island
|
|
188
|
+
│ ├── robots.txt.ts # robots.txt endpoint
|
|
189
|
+
│ └── sitemap.xml.ts # Localized sitemap endpoint
|
|
190
|
+
├── astro.config.ts # Astro config with the intlayer() and react() integrations
|
|
191
|
+
├── intlayer.config.ts
|
|
192
|
+
├── package.json
|
|
193
|
+
└── tsconfig.json
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### التكوين
|
|
197
|
+
|
|
170
198
|
أنشئ ملف تكوين لتحديد لغات تطبيقك:
|
|
171
199
|
|
|
172
200
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -243,30 +271,35 @@ export default appContent;
|
|
|
243
271
|
</Step>
|
|
244
272
|
<Step number={5} title="استخدام المحتوى في Astro">
|
|
245
273
|
|
|
246
|
-
|
|
274
|
+
استخدم قواميسك في ملفات `.astro` باستخدام الخطافات المصدرة بواسطة `astro-intlayer`. تشترك هذه الخطافات في نفس تواقيع روابط إطار العمل: يُرجع `useIntlayer("key")` محتوى القاموس ويُرجع `useLocale()` اللغة الحالية، دون الحاجة إلى تمرير أي وسيطات.
|
|
275
|
+
|
|
276
|
+
تأتي اللغة من الوسيط البرمجي `astro-intlayer`، والذي يسجله التكامل تلقائياً قبل `src/middleware.ts` الخاص بك. يحدد الوسيط اللغة لكل طلب، بدءاً من بادئة عنوان URL، ثم اللغة المحفوظة بواسطة العميل (ملف تعريف الارتباط أو الترويسة)، ثم `Accept-Language`، ويخزنها في `Astro.locals.intlayer`. تستخدم الصفحات المعروضة مسبقاً عنوان URL فقط، حيث يتم عرضها مرة واحدة لكل زائر.
|
|
277
|
+
|
|
278
|
+
يجب عليك أيضاً إضافة بيانات تعريف SEO مثل hreflang والروابط الأساسية (canonical) إلى كل صفحة وتضمين جزيرة React للمحتوى التفاعلي من جانب العميل.
|
|
247
279
|
|
|
248
280
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
249
281
|
---
|
|
282
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
250
283
|
import {
|
|
251
|
-
getIntlayer,
|
|
252
|
-
getLocaleFromPath,
|
|
253
284
|
getLocalizedUrl,
|
|
254
|
-
getHTMLTextDir,
|
|
255
285
|
getPrefix,
|
|
256
286
|
localeMap,
|
|
257
287
|
defaultLocale,
|
|
258
|
-
|
|
288
|
+
getHTMLTextDir,
|
|
259
289
|
} from "intlayer";
|
|
260
290
|
import { ReactIsland } from "../../components/react/ReactIsland";
|
|
261
291
|
|
|
262
292
|
export const getStaticPaths = () => {
|
|
263
|
-
return
|
|
264
|
-
params: { locale
|
|
293
|
+
return defaultLocale.map((locale) => ({
|
|
294
|
+
params: { locale },
|
|
265
295
|
}));
|
|
266
296
|
};
|
|
267
297
|
|
|
268
|
-
|
|
269
|
-
const {
|
|
298
|
+
// اللغة المحددة بواسطة الوسيط البرمجي (مثال: /ar/about -> 'ar')
|
|
299
|
+
const { locale } = useLocale();
|
|
300
|
+
|
|
301
|
+
// محتوى قاموس 'app' لتلك اللغة
|
|
302
|
+
const { title } = useIntlayer("app");
|
|
270
303
|
---
|
|
271
304
|
|
|
272
305
|
<!doctype html>
|
|
@@ -322,6 +355,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
322
355
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
323
356
|
> ```
|
|
324
357
|
|
|
358
|
+
> يعرض `Astro.locals.intlayer` أيضاً `locale` و `defaultLocale` و `availableLocales` للوسطاء البرمجيين ونقاط النهاية الخاصة بك. مرر لغة أو محدداً كوسيط ثانٍ (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) لتجاوز لغة الطلب لاستدعاء واحد.
|
|
359
|
+
|
|
325
360
|
> **ملاحظة حول إعداد التوجيه:**
|
|
326
361
|
> تعتمد بنية الدليل التي تستخدمها على إعداد `middleware.routing` في `intlayer.config.ts`:
|
|
327
362
|
>
|
|
@@ -419,9 +454,9 @@ export function LocaleSwitcher() {
|
|
|
419
454
|
|
|
420
455
|
#### خريطة الموقع (Sitemap)
|
|
421
456
|
|
|
422
|
-
Intlayer
|
|
457
|
+
يأتي Intlayer مع مولد خريطة موقع مدمج لمساعدتك في إنشاء خريطة موقع لتطبيقك بسهولة. يتعامل مع المسارات المترجمة ويضيف البيانات الوصفية اللازمة لمحركات البحث.
|
|
423
458
|
|
|
424
|
-
>
|
|
459
|
+
> تدعم خريطة الموقع المُنشأة من قِبل Intlayer مساحة الأسماء `xhtml:link` (Hreflang XML Extensions). على عكس مولدات خرائط الموقع الافتراضية التي تُدرج عناوين URL الخام فقط، ينشئ Intlayer تلقائياً الروابط ثنائية الاتجاه المطلوبة بين جميع إصدارات الصفحة باللغات المختلفة (على سبيل المثال، `/about` و `/about?lang=fr` و `/about?lang=es`). هذا يضمن أن محركات البحث تفهرس بشكل صحيح وتقدم النسخة الصحيحة من اللغة للجمهور المناسب.
|
|
425
460
|
|
|
426
461
|
أنشئ `src/pages/sitemap.xml.ts` لإنشاء خريطة موقع تتضمن جميع مساراتك المترجمة.
|
|
427
462
|
|
|
@@ -434,10 +469,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
434
469
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
435
470
|
];
|
|
436
471
|
|
|
437
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
438
|
-
|
|
439
472
|
export const GET: APIRoute = async ({ site }) => {
|
|
440
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
473
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
474
|
+
siteUrl: "https://example.com",
|
|
475
|
+
});
|
|
441
476
|
|
|
442
477
|
return new Response(xmlOutput, {
|
|
443
478
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -474,13 +509,13 @@ export const GET: APIRoute = ({ site }) => {
|
|
|
474
509
|
```
|
|
475
510
|
|
|
476
511
|
</Step>
|
|
477
|
-
<Step number={15} title="
|
|
512
|
+
<Step number={15} title="استخراج محتوى مكوناتك" isOptional={true}>
|
|
478
513
|
|
|
479
|
-
|
|
514
|
+
إذا كان لديك كود برمجي موجود بالفعل، فقد يستغرق تحويل آلاف الملفات وقتاً طويلاً.
|
|
480
515
|
|
|
481
|
-
|
|
516
|
+
لتسهيل هذه العملية، يقترح Intlayer [مترجمًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرجًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
|
|
482
517
|
|
|
483
|
-
|
|
518
|
+
لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
|
|
484
519
|
|
|
485
520
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
486
521
|
import { type IntlayerConfig } from "intlayer";
|
|
@@ -520,7 +555,7 @@ export default config;
|
|
|
520
555
|
<Tabs>
|
|
521
556
|
<Tab value='Extract command'>
|
|
522
557
|
|
|
523
|
-
|
|
558
|
+
قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
|
|
524
559
|
|
|
525
560
|
```bash packageManager="npm"
|
|
526
561
|
npx intlayer extract
|
|
@@ -541,21 +576,7 @@ bun x intlayer extract
|
|
|
541
576
|
</Tab>
|
|
542
577
|
<Tab value='Babel compiler'>
|
|
543
578
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
547
|
-
|
|
548
|
-
```ts fileName="vite.config.ts"
|
|
549
|
-
import { defineConfig } from "vite";
|
|
550
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
551
|
-
|
|
552
|
-
export default defineConfig({
|
|
553
|
-
plugins: [
|
|
554
|
-
intlayer(),
|
|
555
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
556
|
-
],
|
|
557
|
-
});
|
|
558
|
-
```
|
|
579
|
+
قم ببناء تطبيقك لتحويل مكوناتك واستخراج المحتوى
|
|
559
580
|
|
|
560
581
|
```bash packageManager="npm"
|
|
561
582
|
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 + Solid - الدليل الكامل لترجمة تطبيقك"
|
|
5
5
|
description: "لا مزيد من i18next. دليل 2026 لبناء تطبيق Astro + Solid متعدد اللغات (i18n). ترجم باستخدام وكلاء الذكاء الاصطناعي وحسّن حجم الحزمة وتحسين محركات البحث والأداء."
|
|
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: "تحديث استخدام واجهة برمجة تطبيقات useIntlayer في Solid للوصول المباشر إلى الخصائص"
|
|
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer solid-js solid-intlayer @astrojs/solid-js
|
|
|
150
153
|
الحزمة الأساسية التي توفر أدوات i18n لإدارة التكوين، الترجمات، [تعريف المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md)، التحويل، و[أوامر CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
|
|
156
|
+
يتضمن ملحق تكامل Astro لدمج Intlayer مع [حازم Vite](https://vite.dev/guide/why.html#why-bundle-for-production)، ووسيطاً برمجياً يحدد لغة كل طلب في `Astro.locals.intlayer`، وخطافات `useIntlayer` / `useDictionary` / `useLocale`. يحل نفس مسار الاستيراد إلى تنفيذ الخادم في واجهة `.astro` وإلى تنفيذ العميل (المدعوم بـ `vanilla-intlayer`) في كتل `<script>`.
|
|
154
157
|
|
|
155
158
|
- **solid-js**
|
|
156
159
|
حزمة Solid الأساسية.
|
|
@@ -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="تهيئة مشروعك">
|
|
166
169
|
|
|
170
|
+
### البنية
|
|
171
|
+
|
|
172
|
+
في هذه البنية، يقوم تكامل `intlayer()` المسجل في `astro.config.ts` ببناء القواميس الخاصة بك وإضافة برمجية وسيطة (middleware) تحدد لغة كل طلب وتوفرها عبر `Astro.locals.intlayer`. تتواجد الصفحات تحت مقطع `src/pages/[...locale]/`، بحيث يتم تقديم اللغة الافتراضية بدون بادئة ويحصل كل خيار لغة آخر على عنوان URL مخصص له. تقرأ ملفات `.astro` المحتوى باستخدام خطافات `useIntlayer` / `useLocale` الخاصة بـ `astro-intlayer` للعرض على جانب الخادم، وتتلقى جزيرة Solid (`src/components/solid/SolidIsland.tsx`) اللغة المكتشفة من الخادم كخاصية (prop) وتمررها إلى `solid-intlayer` للجزء التفاعلي. وتوضع تصريحات المحتوى جنباً إلى جنب مع مكوناتك في `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
|
+
### التكوين
|
|
194
|
+
|
|
167
195
|
أنشئ ملف تكوين لتحديد لغات تطبيقك:
|
|
168
196
|
|
|
169
197
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -239,30 +267,35 @@ export default appContent;
|
|
|
239
267
|
</Step>
|
|
240
268
|
<Step number={5} title="استخدام المحتوى في Astro">
|
|
241
269
|
|
|
242
|
-
|
|
270
|
+
استخدم قواميسك في ملفات `.astro` باستخدام الخطافات المصدرة بواسطة `astro-intlayer`. تشترك هذه الخطافات في نفس تواقيع روابط إطار العمل: يُرجع `useIntlayer("key")` محتوى القاموس ويُرجع `useLocale()` اللغة الحالية، دون الحاجة إلى تمرير أي وسيطات.
|
|
271
|
+
|
|
272
|
+
تأتي اللغة من الوسيط البرمجي `astro-intlayer`، والذي يسجله التكامل تلقائياً قبل `src/middleware.ts` الخاص بك. يحدد الوسيط اللغة لكل طلب، بدءاً من بادئة عنوان URL، ثم اللغة المحفوظة بواسطة العميل (ملف تعريف الارتباط أو الترويسة)، ثم `Accept-Language`، ويخزنها في `Astro.locals.intlayer`. تستخدم الصفحات المعروضة مسبقاً عنوان URL فقط، حيث يتم عرضها مرة واحدة لكل زائر.
|
|
273
|
+
|
|
274
|
+
يجب عليك أيضاً إضافة بيانات تعريف SEO مثل hreflang والروابط الأساسية (canonical) إلى كل صفحة وتضمين جزيرة Solid للمحتوى التفاعلي من جانب العميل.
|
|
243
275
|
|
|
244
276
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
245
277
|
---
|
|
278
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
246
279
|
import {
|
|
247
|
-
getIntlayer,
|
|
248
|
-
getLocaleFromPath,
|
|
249
280
|
getLocalizedUrl,
|
|
250
|
-
getHTMLTextDir,
|
|
251
281
|
getPrefix,
|
|
252
282
|
localeMap,
|
|
253
283
|
defaultLocale,
|
|
254
|
-
|
|
284
|
+
getHTMLTextDir,
|
|
255
285
|
} from "intlayer";
|
|
256
286
|
import { SolidIsland } from "../../components/solid/SolidIsland";
|
|
257
287
|
|
|
258
288
|
export const getStaticPaths = () => {
|
|
259
|
-
return
|
|
260
|
-
params: { locale
|
|
289
|
+
return defaultLocale.map((locale) => ({
|
|
290
|
+
params: { locale },
|
|
261
291
|
}));
|
|
262
292
|
};
|
|
263
293
|
|
|
264
|
-
|
|
265
|
-
const {
|
|
294
|
+
// اللغة المحددة بواسطة الوسيط البرمجي (مثال: /ar/about -> 'ar')
|
|
295
|
+
const { locale } = useLocale();
|
|
296
|
+
|
|
297
|
+
// محتوى قاموس 'app' لتلك اللغة
|
|
298
|
+
const { title } = useIntlayer("app");
|
|
266
299
|
---
|
|
267
300
|
|
|
268
301
|
<!doctype html>
|
|
@@ -318,6 +351,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
318
351
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
319
352
|
> ```
|
|
320
353
|
|
|
354
|
+
> يعرض `Astro.locals.intlayer` أيضاً `locale` و `defaultLocale` و `availableLocales` للوسطاء البرمجيين ونقاط النهاية الخاصة بك. مرر لغة أو محدداً كوسيط ثانٍ (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) لتجاوز لغة الطلب لاستدعاء واحد.
|
|
355
|
+
|
|
321
356
|
> **ملاحظة حول إعداد التوجيه:**
|
|
322
357
|
> تعتمد بنية الدليل التي تستخدمها على إعداد `middleware.routing` في `intlayer.config.ts`:
|
|
323
358
|
>
|
|
@@ -419,9 +454,9 @@ export function LocaleSwitcher() {
|
|
|
419
454
|
|
|
420
455
|
#### خريطة الموقع (Sitemap)
|
|
421
456
|
|
|
422
|
-
Intlayer
|
|
457
|
+
يأتي Intlayer مع مولد خريطة موقع مدمج لمساعدتك في إنشاء خريطة موقع لتطبيقك بسهولة. يتعامل مع المسارات المترجمة ويضيف البيانات الوصفية اللازمة لمحركات البحث.
|
|
423
458
|
|
|
424
|
-
>
|
|
459
|
+
> تدعم خريطة الموقع المُنشأة من قِبل Intlayer مساحة الأسماء `xhtml:link` (Hreflang XML Extensions). على عكس مولدات خرائط الموقع الافتراضية التي تُدرج عناوين URL الخام فقط، ينشئ Intlayer تلقائياً الروابط ثنائية الاتجاه المطلوبة بين جميع إصدارات الصفحة باللغات المختلفة (على سبيل المثال، `/about` و `/about?lang=fr` و `/about?lang=es`). هذا يضمن أن محركات البحث تفهرس بشكل صحيح وتقدم النسخة الصحيحة من اللغة للجمهور المناسب.
|
|
425
460
|
|
|
426
461
|
أنشئ `src/pages/sitemap.xml.ts` لإنشاء خريطة موقع تتضمن جميع مساراتك المترجمة.
|
|
427
462
|
|
|
@@ -434,10 +469,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
434
469
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
435
470
|
];
|
|
436
471
|
|
|
437
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
438
|
-
|
|
439
472
|
export const GET: APIRoute = async ({ site }) => {
|
|
440
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
473
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
474
|
+
siteUrl: "https://example.com",
|
|
475
|
+
});
|
|
441
476
|
|
|
442
477
|
return new Response(xmlOutput, {
|
|
443
478
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -474,13 +509,13 @@ export const GET: APIRoute = ({ site }) => {
|
|
|
474
509
|
```
|
|
475
510
|
|
|
476
511
|
</Step>
|
|
477
|
-
<Step number={15} title="
|
|
512
|
+
<Step number={15} title="استخراج محتوى مكوناتك" isOptional={true}>
|
|
478
513
|
|
|
479
|
-
|
|
514
|
+
إذا كان لديك كود برمجي موجود بالفعل، فقد يستغرق تحويل آلاف الملفات وقتاً طويلاً.
|
|
480
515
|
|
|
481
|
-
|
|
516
|
+
لتسهيل هذه العملية، يقترح Intlayer [مترجمًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرجًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
|
|
482
517
|
|
|
483
|
-
|
|
518
|
+
لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
|
|
484
519
|
|
|
485
520
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
486
521
|
import { type IntlayerConfig } from "intlayer";
|
|
@@ -520,7 +555,7 @@ export default config;
|
|
|
520
555
|
<Tabs>
|
|
521
556
|
<Tab value='Extract command'>
|
|
522
557
|
|
|
523
|
-
|
|
558
|
+
قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
|
|
524
559
|
|
|
525
560
|
```bash packageManager="npm"
|
|
526
561
|
npx intlayer extract
|
|
@@ -541,21 +576,7 @@ bun x intlayer extract
|
|
|
541
576
|
</Tab>
|
|
542
577
|
<Tab value='Babel compiler'>
|
|
543
578
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
547
|
-
|
|
548
|
-
```ts fileName="vite.config.ts"
|
|
549
|
-
import { defineConfig } from "vite";
|
|
550
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
551
|
-
|
|
552
|
-
export default defineConfig({
|
|
553
|
-
plugins: [
|
|
554
|
-
intlayer(),
|
|
555
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
556
|
-
],
|
|
557
|
-
});
|
|
558
|
-
```
|
|
579
|
+
قم ببناء تطبيقك لتحويل مكوناتك واستخراج المحتوى
|
|
559
580
|
|
|
560
581
|
```bash packageManager="npm"
|
|
561
582
|
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 - الدليل الكامل لترجمة تطبيقك"
|
|
5
5
|
description: "لا مزيد من i18next. دليل 2026 لبناء تطبيق Astro + Svelte متعدد اللغات (i18n). ترجم باستخدام وكلاء الذكاء الاصطناعي وحسّن حجم الحزمة وتحسين محركات البحث والأداء."
|
|
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: "تحديث استخدام واجهة برمجة تطبيقات useIntlayer في Solid للوصول المباشر إلى الخصائص"
|
|
@@ -150,7 +153,7 @@ bun add intlayer astro-intlayer svelte svelte-intlayer @astrojs/svelte
|
|
|
150
153
|
الحزمة الأساسية التي توفر أدوات i18n لإدارة التكوين، الترجمات، [تعريف المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md)، التحويل، و[أوامر CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/index.md).
|
|
151
154
|
|
|
152
155
|
- **astro-intlayer**
|
|
153
|
-
|
|
156
|
+
يتضمن ملحق تكامل Astro لدمج Intlayer مع [حازم Vite](https://vite.dev/guide/why.html#why-bundle-for-production)، ووسيطاً برمجياً يحدد لغة كل طلب في `Astro.locals.intlayer`، وخطافات `useIntlayer` / `useDictionary` / `useLocale`. يحل نفس مسار الاستيراد إلى تنفيذ الخادم في واجهة `.astro` وإلى تنفيذ العميل (المدعوم بـ `vanilla-intlayer`) في كتل `<script>`.
|
|
154
157
|
|
|
155
158
|
- **svelte**
|
|
156
159
|
حزمة Svelte الأساسية.
|
|
@@ -164,6 +167,30 @@ bun add intlayer astro-intlayer svelte svelte-intlayer @astrojs/svelte
|
|
|
164
167
|
</Step>
|
|
165
168
|
<Step number={2} title="تهيئة مشروعك">
|
|
166
169
|
|
|
170
|
+
### البنية
|
|
171
|
+
|
|
172
|
+
في هذه البنية، يقوم تكامل `intlayer()` المسجل في `astro.config.ts` ببناء القواميس الخاصة بك وإضافة برمجية وسيطة (middleware) تحدد لغة كل طلب وتوفرها عبر `Astro.locals.intlayer`. تتواجد الصفحات تحت مقطع `src/pages/[...locale]/`، بحيث يتم تقديم اللغة الافتراضية بدون بادئة ويحصل كل خيار لغة آخر على عنوان URL مخصص له. تقرأ ملفات `.astro` المحتوى باستخدام خطافات `useIntlayer` / `useLocale` الخاصة بـ `astro-intlayer` للعرض على جانب الخادم، وتتلقى جزيرة Svelte (`src/components/svelte/SvelteIsland.svelte`) اللغة المكتشفة من الخادم كخاصية (prop) وتمررها إلى `svelte-intlayer` للجزء التفاعلي. وتوضع تصريحات المحتوى جنباً إلى جنب مع مكوناتك في `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
|
+
### التكوين
|
|
193
|
+
|
|
167
194
|
أنشئ ملف تكوين لتحديد لغات تطبيقك:
|
|
168
195
|
|
|
169
196
|
```typescript fileName="intlayer.config.ts"
|
|
@@ -239,30 +266,35 @@ export default appContent;
|
|
|
239
266
|
</Step>
|
|
240
267
|
<Step number={5} title="استخدام المحتوى في Astro">
|
|
241
268
|
|
|
242
|
-
|
|
269
|
+
استخدم قواميسك في ملفات `.astro` باستخدام الخطافات المصدرة بواسطة `astro-intlayer`. تشترك هذه الخطافات في نفس تواقيع روابط إطار العمل: يُرجع `useIntlayer("key")` محتوى القاموس ويُرجع `useLocale()` اللغة الحالية، دون الحاجة إلى تمرير أي وسيطات.
|
|
270
|
+
|
|
271
|
+
تأتي اللغة من الوسيط البرمجي `astro-intlayer`، والذي يسجله التكامل تلقائياً قبل `src/middleware.ts` الخاص بك. يحدد الوسيط اللغة لكل طلب، بدءاً من بادئة عنوان URL، ثم اللغة المحفوظة بواسطة العميل (ملف تعريف الارتباط أو الترويسة)، ثم `Accept-Language`، ويخزنها في `Astro.locals.intlayer`. تستخدم الصفحات المعروضة مسبقاً عنوان URL فقط، حيث يتم عرضها مرة واحدة لكل زائر.
|
|
272
|
+
|
|
273
|
+
يجب عليك أيضاً إضافة بيانات تعريف SEO مثل hreflang والروابط الأساسية (canonical) إلى كل صفحة وتضمين جزيرة Svelte للمحتوى التفاعلي من جانب العميل.
|
|
243
274
|
|
|
244
275
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
245
276
|
---
|
|
277
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
246
278
|
import {
|
|
247
|
-
getIntlayer,
|
|
248
|
-
getLocaleFromPath,
|
|
249
279
|
getLocalizedUrl,
|
|
250
|
-
getHTMLTextDir,
|
|
251
280
|
getPrefix,
|
|
252
281
|
localeMap,
|
|
253
282
|
defaultLocale,
|
|
254
|
-
|
|
283
|
+
getHTMLTextDir,
|
|
255
284
|
} from "intlayer";
|
|
256
285
|
import SvelteIsland from "../../components/svelte/SvelteIsland.svelte";
|
|
257
286
|
|
|
258
287
|
export const getStaticPaths = () => {
|
|
259
|
-
return
|
|
260
|
-
params: { locale
|
|
288
|
+
return defaultLocale.map((locale) => ({
|
|
289
|
+
params: { locale },
|
|
261
290
|
}));
|
|
262
291
|
};
|
|
263
292
|
|
|
264
|
-
|
|
265
|
-
const {
|
|
293
|
+
// اللغة المحددة بواسطة الوسيط البرمجي (مثال: /ar/about -> 'ar')
|
|
294
|
+
const { locale } = useLocale();
|
|
295
|
+
|
|
296
|
+
// محتوى قاموس 'app' لتلك اللغة
|
|
297
|
+
const { title } = useIntlayer("app");
|
|
266
298
|
---
|
|
267
299
|
|
|
268
300
|
<!doctype html>
|
|
@@ -318,6 +350,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
318
350
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
319
351
|
> ```
|
|
320
352
|
|
|
353
|
+
> يعرض `Astro.locals.intlayer` أيضاً `locale` و `defaultLocale` و `availableLocales` للوسطاء البرمجيين ونقاط النهاية الخاصة بك. مرر لغة أو محدداً كوسيط ثانٍ (`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`) لتجاوز لغة الطلب لاستدعاء واحد.
|
|
354
|
+
|
|
321
355
|
> **ملاحظة حول إعداد التوجيه:**
|
|
322
356
|
> تعتمد بنية الدليل التي تستخدمها على إعداد `middleware.routing` in `intlayer.config.ts`:
|
|
323
357
|
>
|
|
@@ -423,9 +457,9 @@ const { title } = getIntlayer("app", locale);
|
|
|
423
457
|
|
|
424
458
|
#### خريطة الموقع (Sitemap)
|
|
425
459
|
|
|
426
|
-
Intlayer
|
|
460
|
+
يأتي Intlayer مع مولد خريطة موقع مدمج لمساعدتك في إنشاء خريطة موقع لتطبيقك بسهولة. يتعامل مع المسارات المترجمة ويضيف البيانات الوصفية اللازمة لمحركات البحث.
|
|
427
461
|
|
|
428
|
-
>
|
|
462
|
+
> تدعم خريطة الموقع المُنشأة من قِبل Intlayer مساحة الأسماء `xhtml:link` (Hreflang XML Extensions). على عكس مولدات خرائط الموقع الافتراضية التي تُدرج عناوين URL الخام فقط، ينشئ Intlayer تلقائياً الروابط ثنائية الاتجاه المطلوبة بين جميع إصدارات الصفحة باللغات المختلفة (على سبيل المثال، `/about` و `/about?lang=fr` و `/about?lang=es`). هذا يضمن أن محركات البحث تفهرس بشكل صحيح وتقدم النسخة الصحيحة من اللغة للجمهور المناسب.
|
|
429
463
|
|
|
430
464
|
أنشئ `src/pages/sitemap.xml.ts` لإنشاء خريطة موقع تتضمن جميع مساراتك المترجمة.
|
|
431
465
|
|
|
@@ -438,10 +472,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
438
472
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
439
473
|
];
|
|
440
474
|
|
|
441
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
442
|
-
|
|
443
475
|
export const GET: APIRoute = async ({ site }) => {
|
|
444
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
476
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
477
|
+
siteUrl: "https://example.com",
|
|
478
|
+
});
|
|
445
479
|
|
|
446
480
|
return new Response(xmlOutput, {
|
|
447
481
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -478,13 +512,13 @@ export const GET: APIRoute = ({ site }) => {
|
|
|
478
512
|
```
|
|
479
513
|
|
|
480
514
|
</Step>
|
|
481
|
-
<Step number={15} title="
|
|
515
|
+
<Step number={15} title="استخراج محتوى مكوناتك" isOptional={true}>
|
|
482
516
|
|
|
483
|
-
|
|
517
|
+
إذا كان لديك كود برمجي موجود بالفعل، فقد يستغرق تحويل آلاف الملفات وقتاً طويلاً.
|
|
484
518
|
|
|
485
|
-
|
|
519
|
+
لتسهيل هذه العملية، يقترح Intlayer [مترجمًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرجًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
|
|
486
520
|
|
|
487
|
-
|
|
521
|
+
لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
|
|
488
522
|
|
|
489
523
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
490
524
|
import { type IntlayerConfig } from "intlayer";
|
|
@@ -524,7 +558,7 @@ export default config;
|
|
|
524
558
|
<Tabs>
|
|
525
559
|
<Tab value='Extract command'>
|
|
526
560
|
|
|
527
|
-
|
|
561
|
+
قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
|
|
528
562
|
|
|
529
563
|
```bash packageManager="npm"
|
|
530
564
|
npx intlayer extract
|
|
@@ -545,21 +579,7 @@ bun x intlayer extract
|
|
|
545
579
|
</Tab>
|
|
546
580
|
<Tab value='Babel compiler'>
|
|
547
581
|
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
Update your `vite.config.ts` to include the `intlayerCompiler` plugin:
|
|
551
|
-
|
|
552
|
-
```ts fileName="vite.config.ts"
|
|
553
|
-
import { defineConfig } from "vite";
|
|
554
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
555
|
-
|
|
556
|
-
export default defineConfig({
|
|
557
|
-
plugins: [
|
|
558
|
-
intlayer(),
|
|
559
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
560
|
-
],
|
|
561
|
-
});
|
|
562
|
-
```
|
|
582
|
+
قم ببناء تطبيقك لتحويل مكوناتك واستخراج المحتوى
|
|
563
583
|
|
|
564
584
|
```bash packageManager="npm"
|
|
565
585
|
npm run build # Or npm run dev
|