@intlayer/docs 8.9.8 → 8.10.0-canary.1
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 +14 -0
- package/docs/ar/benchmark/nextjs.md +20 -11
- package/docs/ar/benchmark/solid.md +14 -5
- package/docs/ar/benchmark/svelte.md +14 -5
- package/docs/ar/benchmark/tanstack.md +16 -7
- package/docs/ar/benchmark/vue.md +14 -5
- package/docs/ar/configuration.md +6 -6
- package/docs/ar/custom_domains.md +11 -11
- package/docs/ar/dictionary/content_file.md +41 -0
- package/docs/ar/dictionary/markdown.md +402 -82
- package/docs/ar/intlayer_with_analog.md +1 -1
- package/docs/ar/intlayer_with_angular.md +1 -1
- package/docs/ar/intlayer_with_astro.md +1 -1
- package/docs/ar/intlayer_with_astro_lit.md +2 -2
- package/docs/ar/intlayer_with_astro_preact.md +3 -3
- package/docs/ar/intlayer_with_astro_react.md +2 -2
- package/docs/ar/intlayer_with_astro_solid.md +3 -3
- package/docs/ar/intlayer_with_astro_svelte.md +1 -1
- package/docs/ar/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ar/intlayer_with_astro_vue.md +1 -1
- package/docs/ar/intlayer_with_nextjs_14.md +2 -2
- package/docs/ar/intlayer_with_nextjs_15.md +2 -2
- package/docs/ar/intlayer_with_nextjs_16.md +1 -1
- package/docs/ar/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/ar/intlayer_with_nuxt.md +1 -1
- package/docs/ar/intlayer_with_react_native+expo.md +2 -2
- package/docs/ar/intlayer_with_react_router_v7.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ar/intlayer_with_storybook.md +7 -7
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +1 -1
- package/docs/ar/intlayer_with_tanstack.md +1 -1
- package/docs/ar/intlayer_with_vanilla.md +2 -2
- package/docs/ar/intlayer_with_vite+lit.md +1 -1
- package/docs/ar/intlayer_with_vite+preact.md +1 -1
- package/docs/ar/intlayer_with_vite+react.md +1 -1
- package/docs/ar/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ar/intlayer_with_vite+svelte.md +2 -2
- package/docs/ar/intlayer_with_vite+vanilla.md +4 -4
- package/docs/ar/intlayer_with_vite+vue.md +1 -1
- package/docs/ar/readme.md +13 -0
- package/docs/bn/cli/init.md +1 -1
- package/docs/bn/configuration.md +6 -6
- package/docs/bn/custom_domains.md +11 -11
- package/docs/bn/intlayer_with_storybook.md +7 -7
- package/docs/bn/intlayer_with_vanilla.md +2 -2
- package/docs/bn/intlayer_with_vite+lit.md +3 -3
- package/docs/bn/intlayer_with_vite+vanilla.md +5 -5
- package/docs/cs/cli/init.md +1 -1
- package/docs/cs/configuration.md +6 -6
- package/docs/cs/custom_domains.md +11 -11
- package/docs/cs/intlayer_with_storybook.md +7 -7
- package/docs/cs/intlayer_with_vanilla.md +2 -2
- package/docs/cs/intlayer_with_vite+lit.md +3 -3
- package/docs/cs/intlayer_with_vite+vanilla.md +5 -5
- package/docs/de/benchmark/nextjs.md +15 -6
- package/docs/de/benchmark/solid.md +14 -5
- package/docs/de/benchmark/svelte.md +14 -5
- package/docs/de/benchmark/tanstack.md +15 -6
- package/docs/de/benchmark/vue.md +14 -5
- package/docs/de/configuration.md +6 -6
- package/docs/de/custom_domains.md +11 -11
- package/docs/de/dictionary/content_file.md +41 -0
- package/docs/de/dictionary/markdown.md +297 -91
- package/docs/de/intlayer_with_analog.md +1 -1
- package/docs/de/intlayer_with_angular.md +1 -1
- package/docs/de/intlayer_with_astro.md +1 -1
- package/docs/de/intlayer_with_astro_lit.md +2 -2
- package/docs/de/intlayer_with_astro_preact.md +3 -3
- package/docs/de/intlayer_with_astro_react.md +2 -2
- package/docs/de/intlayer_with_astro_solid.md +3 -3
- package/docs/de/intlayer_with_astro_svelte.md +1 -1
- package/docs/de/intlayer_with_astro_vanilla.md +1 -1
- package/docs/de/intlayer_with_astro_vue.md +1 -1
- package/docs/de/intlayer_with_nextjs_14.md +2 -2
- package/docs/de/intlayer_with_nextjs_15.md +2 -2
- package/docs/de/intlayer_with_nextjs_16.md +1 -1
- package/docs/de/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/de/intlayer_with_nuxt.md +1 -1
- package/docs/de/intlayer_with_react_native+expo.md +2 -2
- package/docs/de/intlayer_with_react_router_v7.md +1 -1
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/de/intlayer_with_storybook.md +7 -7
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack+solid.md +1 -1
- package/docs/de/intlayer_with_tanstack.md +1 -1
- package/docs/de/intlayer_with_vanilla.md +2 -2
- package/docs/de/intlayer_with_vite+lit.md +2 -2
- package/docs/de/intlayer_with_vite+preact.md +2 -2
- package/docs/de/intlayer_with_vite+react.md +2 -2
- package/docs/de/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/de/intlayer_with_vite+solid.md +1 -1
- package/docs/de/intlayer_with_vite+svelte.md +3 -3
- package/docs/de/intlayer_with_vite+vanilla.md +5 -5
- package/docs/de/intlayer_with_vite+vue.md +2 -2
- package/docs/de/readme.md +13 -0
- package/docs/en/agent_skills.md +2 -2
- package/docs/en/benchmark/___nextjs.md +1 -1
- package/docs/en/benchmark/___tanstack.md +2 -2
- package/docs/en/benchmark/nextjs.md +11 -2
- package/docs/en/benchmark/solid.md +10 -1
- package/docs/en/benchmark/svelte.md +10 -1
- package/docs/en/benchmark/tanstack.md +10 -1
- package/docs/en/benchmark/vue.md +10 -1
- package/docs/en/configuration.md +7 -7
- package/docs/en/custom_domains.md +11 -11
- package/docs/en/dictionary/content_file.md +41 -0
- package/docs/en/dictionary/markdown.md +259 -26
- package/docs/en/intlayer_with_analog.md +1 -1
- package/docs/en/intlayer_with_angular.md +1 -1
- package/docs/en/intlayer_with_astro.md +1 -1
- package/docs/en/intlayer_with_astro_lit.md +4 -4
- package/docs/en/intlayer_with_astro_preact.md +3 -3
- package/docs/en/intlayer_with_astro_react.md +2 -2
- package/docs/en/intlayer_with_astro_solid.md +3 -3
- package/docs/en/intlayer_with_astro_svelte.md +1 -1
- package/docs/en/intlayer_with_astro_vanilla.md +1 -1
- package/docs/en/intlayer_with_astro_vue.md +1 -1
- package/docs/en/intlayer_with_nextjs_14.md +1 -1
- package/docs/en/intlayer_with_nextjs_15.md +1 -1
- package/docs/en/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/en/intlayer_with_nuxt.md +1 -1
- package/docs/en/intlayer_with_react_native+expo.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +1 -1
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en/intlayer_with_storybook.md +7 -7
- package/docs/en/intlayer_with_svelte_kit.md +1 -1
- package/docs/en/intlayer_with_tanstack+solid.md +1 -1
- package/docs/en/intlayer_with_tanstack.md +1 -1
- package/docs/en/intlayer_with_vanilla.md +2 -2
- package/docs/en/intlayer_with_vite+lit.md +2 -2
- package/docs/en/intlayer_with_vite+preact.md +1 -1
- package/docs/en/intlayer_with_vite+react.md +1 -1
- package/docs/en/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/en/intlayer_with_vite+svelte.md +2 -2
- package/docs/en/intlayer_with_vite+vanilla.md +4 -4
- package/docs/en/intlayer_with_vite+vue.md +1 -1
- package/docs/en/readme.md +13 -0
- package/docs/en-GB/agent_skills.md +2 -2
- package/docs/en-GB/benchmark/nextjs.md +16 -7
- package/docs/en-GB/benchmark/solid.md +14 -5
- package/docs/en-GB/benchmark/svelte.md +14 -5
- package/docs/en-GB/benchmark/tanstack.md +16 -7
- package/docs/en-GB/benchmark/vue.md +14 -5
- package/docs/en-GB/cli/init.md +1 -1
- package/docs/en-GB/configuration.md +7 -7
- package/docs/en-GB/custom_domains.md +11 -11
- package/docs/en-GB/dictionary/content_file.md +41 -0
- package/docs/en-GB/dictionary/markdown.md +377 -57
- package/docs/en-GB/intlayer_with_analog.md +1 -1
- package/docs/en-GB/intlayer_with_angular.md +1 -1
- package/docs/en-GB/intlayer_with_astro.md +1 -1
- package/docs/en-GB/intlayer_with_astro_lit.md +2 -2
- package/docs/en-GB/intlayer_with_astro_preact.md +3 -3
- package/docs/en-GB/intlayer_with_astro_react.md +2 -2
- package/docs/en-GB/intlayer_with_astro_solid.md +3 -3
- package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +2 -2
- package/docs/en-GB/intlayer_with_nextjs_15.md +2 -2
- package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/en-GB/intlayer_with_nuxt.md +1 -1
- package/docs/en-GB/intlayer_with_react_native+expo.md +2 -2
- package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en-GB/intlayer_with_storybook.md +7 -7
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack.md +1 -1
- package/docs/en-GB/intlayer_with_vanilla.md +2 -2
- package/docs/en-GB/intlayer_with_vite+lit.md +2 -2
- package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_vite+svelte.md +2 -2
- package/docs/en-GB/intlayer_with_vite+vanilla.md +4 -4
- package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
- package/docs/en-GB/readme.md +13 -0
- package/docs/es/agent_skills.md +2 -2
- package/docs/es/benchmark/nextjs.md +15 -6
- package/docs/es/benchmark/solid.md +14 -5
- package/docs/es/benchmark/svelte.md +14 -5
- package/docs/es/benchmark/tanstack.md +15 -6
- package/docs/es/benchmark/vue.md +14 -5
- package/docs/es/configuration.md +1 -1
- package/docs/es/custom_domains.md +11 -11
- package/docs/es/dictionary/content_file.md +41 -0
- package/docs/es/dictionary/markdown.md +316 -110
- package/docs/es/intlayer_with_analog.md +1 -1
- package/docs/es/intlayer_with_angular.md +1 -1
- package/docs/es/intlayer_with_astro.md +1 -1
- package/docs/es/intlayer_with_astro_lit.md +2 -2
- package/docs/es/intlayer_with_astro_preact.md +3 -3
- package/docs/es/intlayer_with_astro_react.md +2 -2
- package/docs/es/intlayer_with_astro_solid.md +3 -3
- package/docs/es/intlayer_with_astro_svelte.md +1 -1
- package/docs/es/intlayer_with_astro_vanilla.md +1 -1
- package/docs/es/intlayer_with_astro_vue.md +1 -1
- package/docs/es/intlayer_with_nextjs_14.md +2 -2
- package/docs/es/intlayer_with_nextjs_15.md +2 -2
- package/docs/es/intlayer_with_nextjs_16.md +1 -1
- package/docs/es/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_native+expo.md +2 -2
- package/docs/es/intlayer_with_react_router_v7.md +1 -1
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/es/intlayer_with_storybook.md +5 -5
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack+solid.md +1 -1
- package/docs/es/intlayer_with_tanstack.md +1 -1
- package/docs/es/intlayer_with_vanilla.md +2 -2
- package/docs/es/intlayer_with_vite+lit.md +2 -2
- package/docs/es/intlayer_with_vite+preact.md +2 -2
- package/docs/es/intlayer_with_vite+react.md +2 -2
- package/docs/es/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/es/intlayer_with_vite+solid.md +1 -1
- package/docs/es/intlayer_with_vite+svelte.md +3 -3
- package/docs/es/intlayer_with_vite+vanilla.md +4 -4
- package/docs/es/intlayer_with_vite+vue.md +2 -2
- package/docs/es/readme.md +13 -0
- package/docs/fr/agent_skills.md +2 -2
- package/docs/fr/benchmark/nextjs.md +20 -11
- package/docs/fr/benchmark/solid.md +14 -5
- package/docs/fr/benchmark/svelte.md +14 -5
- package/docs/fr/benchmark/tanstack.md +16 -7
- package/docs/fr/benchmark/vue.md +14 -5
- package/docs/fr/configuration.md +6 -6
- package/docs/fr/custom_domains.md +11 -11
- package/docs/fr/dictionary/content_file.md +41 -0
- package/docs/fr/dictionary/markdown.md +320 -114
- package/docs/fr/intlayer_with_analog.md +1 -1
- package/docs/fr/intlayer_with_angular.md +1 -1
- package/docs/fr/intlayer_with_astro.md +1 -1
- package/docs/fr/intlayer_with_astro_lit.md +4 -4
- package/docs/fr/intlayer_with_astro_preact.md +3 -3
- package/docs/fr/intlayer_with_astro_react.md +2 -2
- package/docs/fr/intlayer_with_astro_solid.md +3 -3
- package/docs/fr/intlayer_with_astro_svelte.md +1 -1
- package/docs/fr/intlayer_with_astro_vanilla.md +1 -1
- package/docs/fr/intlayer_with_astro_vue.md +1 -1
- package/docs/fr/intlayer_with_nextjs_14.md +2 -2
- package/docs/fr/intlayer_with_nextjs_15.md +2 -2
- package/docs/fr/intlayer_with_nextjs_16.md +1 -1
- package/docs/fr/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/fr/intlayer_with_nuxt.md +1 -1
- package/docs/fr/intlayer_with_react_native+expo.md +2 -2
- package/docs/fr/intlayer_with_react_router_v7.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/fr/intlayer_with_storybook.md +7 -7
- package/docs/fr/intlayer_with_svelte_kit.md +1 -1
- package/docs/fr/intlayer_with_tanstack+solid.md +1 -1
- package/docs/fr/intlayer_with_tanstack.md +1 -1
- package/docs/fr/intlayer_with_vanilla.md +2 -2
- package/docs/fr/intlayer_with_vite+lit.md +3 -3
- package/docs/fr/intlayer_with_vite+preact.md +2 -2
- package/docs/fr/intlayer_with_vite+react.md +2 -2
- package/docs/fr/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/fr/intlayer_with_vite+solid.md +1 -1
- package/docs/fr/intlayer_with_vite+svelte.md +3 -3
- package/docs/fr/intlayer_with_vite+vanilla.md +5 -5
- package/docs/fr/intlayer_with_vite+vue.md +2 -2
- package/docs/fr/readme.md +15 -0
- package/docs/hi/benchmark/nextjs.md +20 -11
- package/docs/hi/benchmark/solid.md +14 -5
- package/docs/hi/benchmark/svelte.md +14 -5
- package/docs/hi/benchmark/tanstack.md +16 -7
- package/docs/hi/benchmark/vue.md +14 -5
- package/docs/hi/cli/init.md +1 -1
- package/docs/hi/configuration.md +6 -6
- package/docs/hi/custom_domains.md +11 -11
- package/docs/hi/dictionary/content_file.md +41 -0
- package/docs/hi/dictionary/markdown.md +394 -74
- package/docs/hi/intlayer_with_analog.md +1 -1
- package/docs/hi/intlayer_with_angular.md +1 -1
- package/docs/hi/intlayer_with_astro.md +1 -1
- package/docs/hi/intlayer_with_astro_lit.md +2 -2
- package/docs/hi/intlayer_with_astro_preact.md +3 -3
- package/docs/hi/intlayer_with_astro_react.md +2 -2
- package/docs/hi/intlayer_with_astro_solid.md +3 -3
- package/docs/hi/intlayer_with_astro_svelte.md +1 -1
- package/docs/hi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/hi/intlayer_with_astro_vue.md +1 -1
- package/docs/hi/intlayer_with_nextjs_14.md +2 -2
- package/docs/hi/intlayer_with_nextjs_15.md +2 -2
- package/docs/hi/intlayer_with_nextjs_16.md +1 -1
- package/docs/hi/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/hi/intlayer_with_nuxt.md +1 -1
- package/docs/hi/intlayer_with_react_native+expo.md +2 -2
- package/docs/hi/intlayer_with_react_router_v7.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/hi/intlayer_with_storybook.md +7 -7
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +1 -1
- package/docs/hi/intlayer_with_tanstack.md +1 -1
- package/docs/hi/intlayer_with_vanilla.md +2 -2
- package/docs/hi/intlayer_with_vite+lit.md +3 -3
- package/docs/hi/intlayer_with_vite+preact.md +2 -2
- package/docs/hi/intlayer_with_vite+react.md +2 -2
- package/docs/hi/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/hi/intlayer_with_vite+solid.md +1 -1
- package/docs/hi/intlayer_with_vite+svelte.md +3 -3
- package/docs/hi/intlayer_with_vite+vanilla.md +5 -5
- package/docs/hi/intlayer_with_vite+vue.md +2 -2
- package/docs/hi/readme.md +14 -1
- package/docs/id/agent_skills.md +2 -2
- package/docs/id/benchmark/nextjs.md +20 -11
- package/docs/id/benchmark/solid.md +14 -5
- package/docs/id/benchmark/svelte.md +14 -5
- package/docs/id/benchmark/tanstack.md +16 -7
- package/docs/id/benchmark/vue.md +14 -5
- package/docs/id/cli/init.md +1 -1
- package/docs/id/configuration.md +6 -6
- package/docs/id/custom_domains.md +11 -11
- package/docs/id/dictionary/content_file.md +41 -0
- package/docs/id/dictionary/markdown.md +398 -78
- package/docs/id/intlayer_with_analog.md +1 -1
- package/docs/id/intlayer_with_angular.md +1 -1
- package/docs/id/intlayer_with_astro.md +1 -1
- package/docs/id/intlayer_with_astro_lit.md +2 -2
- package/docs/id/intlayer_with_astro_preact.md +3 -3
- package/docs/id/intlayer_with_astro_react.md +2 -2
- package/docs/id/intlayer_with_astro_solid.md +3 -3
- package/docs/id/intlayer_with_astro_svelte.md +1 -1
- package/docs/id/intlayer_with_astro_vanilla.md +1 -1
- package/docs/id/intlayer_with_astro_vue.md +1 -1
- package/docs/id/intlayer_with_nextjs_14.md +1 -1
- package/docs/id/intlayer_with_nextjs_15.md +1 -1
- package/docs/id/intlayer_with_nextjs_16.md +1 -1
- package/docs/id/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/id/intlayer_with_nuxt.md +1 -1
- package/docs/id/intlayer_with_react_native+expo.md +1 -1
- package/docs/id/intlayer_with_react_router_v7.md +1 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/id/intlayer_with_storybook.md +7 -7
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack+solid.md +1 -1
- package/docs/id/intlayer_with_tanstack.md +1 -1
- package/docs/id/intlayer_with_vanilla.md +2 -2
- package/docs/id/intlayer_with_vite+lit.md +2 -2
- package/docs/id/intlayer_with_vite+preact.md +1 -1
- package/docs/id/intlayer_with_vite+react.md +1 -1
- package/docs/id/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/id/intlayer_with_vite+svelte.md +2 -2
- package/docs/id/intlayer_with_vite+vanilla.md +4 -4
- package/docs/id/intlayer_with_vite+vue.md +1 -1
- package/docs/id/readme.md +13 -0
- package/docs/it/benchmark/nextjs.md +18 -9
- package/docs/it/benchmark/solid.md +14 -5
- package/docs/it/benchmark/svelte.md +14 -5
- package/docs/it/benchmark/tanstack.md +16 -7
- package/docs/it/benchmark/vue.md +14 -5
- package/docs/it/configuration.md +6 -6
- package/docs/it/custom_domains.md +11 -11
- package/docs/it/dictionary/content_file.md +41 -0
- package/docs/it/dictionary/markdown.md +318 -117
- package/docs/it/intlayer_with_analog.md +1 -1
- package/docs/it/intlayer_with_angular.md +1 -1
- package/docs/it/intlayer_with_astro.md +1 -1
- package/docs/it/intlayer_with_astro_lit.md +2 -2
- package/docs/it/intlayer_with_astro_preact.md +3 -3
- package/docs/it/intlayer_with_astro_react.md +2 -2
- package/docs/it/intlayer_with_astro_solid.md +3 -3
- package/docs/it/intlayer_with_astro_svelte.md +1 -1
- package/docs/it/intlayer_with_astro_vanilla.md +1 -1
- package/docs/it/intlayer_with_astro_vue.md +1 -1
- package/docs/it/intlayer_with_nextjs_14.md +2 -2
- package/docs/it/intlayer_with_nextjs_15.md +2 -2
- package/docs/it/intlayer_with_nextjs_16.md +1 -1
- package/docs/it/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/it/intlayer_with_nuxt.md +1 -1
- package/docs/it/intlayer_with_react_native+expo.md +2 -2
- package/docs/it/intlayer_with_react_router_v7.md +1 -1
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/it/intlayer_with_storybook.md +7 -7
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack+solid.md +1 -1
- package/docs/it/intlayer_with_tanstack.md +1 -1
- package/docs/it/intlayer_with_vanilla.md +2 -2
- package/docs/it/intlayer_with_vite+lit.md +2 -2
- package/docs/it/intlayer_with_vite+preact.md +2 -2
- package/docs/it/intlayer_with_vite+react.md +2 -2
- package/docs/it/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/it/intlayer_with_vite+solid.md +1 -1
- package/docs/it/intlayer_with_vite+svelte.md +3 -3
- package/docs/it/intlayer_with_vite+vanilla.md +5 -5
- package/docs/it/intlayer_with_vite+vue.md +1 -1
- package/docs/it/readme.md +13 -0
- package/docs/ja/benchmark/nextjs.md +15 -6
- package/docs/ja/benchmark/solid.md +10 -1
- package/docs/ja/benchmark/svelte.md +10 -1
- package/docs/ja/benchmark/tanstack.md +15 -6
- package/docs/ja/benchmark/vue.md +10 -1
- package/docs/ja/configuration.md +1 -1
- package/docs/ja/custom_domains.md +9 -9
- package/docs/ja/dictionary/content_file.md +41 -0
- package/docs/ja/intlayer_with_analog.md +1 -1
- package/docs/ja/intlayer_with_angular.md +1 -1
- package/docs/ja/intlayer_with_astro.md +1 -1
- package/docs/ja/intlayer_with_astro_lit.md +2 -2
- package/docs/ja/intlayer_with_astro_preact.md +2 -2
- package/docs/ja/intlayer_with_astro_react.md +1 -1
- package/docs/ja/intlayer_with_astro_solid.md +1 -1
- package/docs/ja/intlayer_with_astro_svelte.md +1 -1
- package/docs/ja/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ja/intlayer_with_astro_vue.md +1 -1
- package/docs/ja/intlayer_with_nextjs_14.md +2 -2
- package/docs/ja/intlayer_with_nextjs_15.md +2 -2
- package/docs/ja/intlayer_with_nextjs_16.md +1 -1
- package/docs/ja/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/ja/intlayer_with_nuxt.md +1 -1
- package/docs/ja/intlayer_with_react_native+expo.md +2 -2
- package/docs/ja/intlayer_with_react_router_v7.md +2 -2
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ja/intlayer_with_storybook.md +5 -5
- package/docs/ja/intlayer_with_svelte_kit.md +1 -1
- package/docs/ja/intlayer_with_tanstack+solid.md +1 -1
- package/docs/ja/intlayer_with_tanstack.md +1 -1
- package/docs/ja/intlayer_with_vanilla.md +2 -2
- package/docs/ja/intlayer_with_vite+lit.md +1 -1
- package/docs/ja/intlayer_with_vite+preact.md +1 -1
- package/docs/ja/intlayer_with_vite+react.md +1 -1
- package/docs/ja/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ja/intlayer_with_vite+svelte.md +2 -2
- package/docs/ja/intlayer_with_vite+vanilla.md +2 -2
- package/docs/ja/intlayer_with_vite+vue.md +1 -1
- package/docs/ja/readme.md +13 -0
- package/docs/ko/benchmark/nextjs.md +15 -6
- package/docs/ko/benchmark/solid.md +13 -4
- package/docs/ko/benchmark/svelte.md +13 -4
- package/docs/ko/benchmark/tanstack.md +15 -6
- package/docs/ko/benchmark/vue.md +13 -4
- package/docs/ko/configuration.md +1 -1
- package/docs/ko/custom_domains.md +9 -9
- package/docs/ko/dictionary/content_file.md +41 -0
- package/docs/ko/dictionary/markdown.md +325 -119
- package/docs/ko/intlayer_with_analog.md +1 -1
- package/docs/ko/intlayer_with_angular.md +1 -1
- package/docs/ko/intlayer_with_astro.md +1 -1
- package/docs/ko/intlayer_with_astro_lit.md +2 -2
- package/docs/ko/intlayer_with_astro_preact.md +2 -2
- package/docs/ko/intlayer_with_astro_react.md +1 -1
- package/docs/ko/intlayer_with_astro_solid.md +1 -1
- package/docs/ko/intlayer_with_astro_svelte.md +1 -1
- package/docs/ko/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ko/intlayer_with_astro_vue.md +1 -1
- package/docs/ko/intlayer_with_nextjs_14.md +2 -2
- package/docs/ko/intlayer_with_nextjs_15.md +2 -2
- package/docs/ko/intlayer_with_nextjs_16.md +1 -1
- package/docs/ko/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/ko/intlayer_with_nuxt.md +1 -1
- package/docs/ko/intlayer_with_react_native+expo.md +2 -2
- package/docs/ko/intlayer_with_react_router_v7.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ko/intlayer_with_storybook.md +5 -5
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +1 -1
- package/docs/ko/intlayer_with_tanstack.md +1 -1
- package/docs/ko/intlayer_with_vanilla.md +2 -2
- package/docs/ko/intlayer_with_vite+lit.md +2 -2
- package/docs/ko/intlayer_with_vite+preact.md +2 -2
- package/docs/ko/intlayer_with_vite+react.md +2 -2
- package/docs/ko/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/ko/intlayer_with_vite+solid.md +1 -1
- package/docs/ko/intlayer_with_vite+svelte.md +3 -3
- package/docs/ko/intlayer_with_vite+vanilla.md +3 -3
- package/docs/ko/intlayer_with_vite+vue.md +2 -2
- package/docs/ko/readme.md +13 -0
- package/docs/nl/configuration.md +6 -6
- package/docs/nl/custom_domains.md +11 -11
- package/docs/nl/intlayer_with_storybook.md +7 -7
- package/docs/nl/intlayer_with_vanilla.md +2 -2
- package/docs/nl/intlayer_with_vite+lit.md +2 -2
- package/docs/nl/intlayer_with_vite+vanilla.md +4 -4
- package/docs/pl/agent_skills.md +2 -2
- package/docs/pl/benchmark/nextjs.md +20 -11
- package/docs/pl/benchmark/solid.md +15 -6
- package/docs/pl/benchmark/svelte.md +15 -6
- package/docs/pl/benchmark/tanstack.md +16 -7
- package/docs/pl/benchmark/vue.md +16 -7
- package/docs/pl/configuration.md +6 -6
- package/docs/pl/custom_domains.md +11 -11
- package/docs/pl/dictionary/content_file.md +41 -0
- package/docs/pl/dictionary/markdown.md +303 -98
- package/docs/pl/intlayer_with_analog.md +1 -1
- package/docs/pl/intlayer_with_angular.md +1 -1
- package/docs/pl/intlayer_with_astro.md +1 -1
- package/docs/pl/intlayer_with_astro_lit.md +2 -2
- package/docs/pl/intlayer_with_astro_preact.md +3 -3
- package/docs/pl/intlayer_with_astro_react.md +2 -2
- package/docs/pl/intlayer_with_astro_solid.md +3 -3
- package/docs/pl/intlayer_with_astro_svelte.md +1 -1
- package/docs/pl/intlayer_with_astro_vanilla.md +1 -1
- package/docs/pl/intlayer_with_astro_vue.md +1 -1
- package/docs/pl/intlayer_with_nextjs_14.md +1 -1
- package/docs/pl/intlayer_with_nextjs_15.md +1 -1
- package/docs/pl/intlayer_with_nextjs_16.md +1 -1
- package/docs/pl/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/pl/intlayer_with_nuxt.md +1 -1
- package/docs/pl/intlayer_with_react_native+expo.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/pl/intlayer_with_storybook.md +7 -7
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +1 -1
- package/docs/pl/intlayer_with_tanstack.md +1 -1
- package/docs/pl/intlayer_with_vanilla.md +2 -2
- package/docs/pl/intlayer_with_vite+lit.md +3 -3
- package/docs/pl/intlayer_with_vite+preact.md +2 -2
- package/docs/pl/intlayer_with_vite+react.md +2 -2
- package/docs/pl/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/pl/intlayer_with_vite+solid.md +1 -1
- package/docs/pl/intlayer_with_vite+svelte.md +3 -3
- package/docs/pl/intlayer_with_vite+vanilla.md +5 -5
- package/docs/pl/intlayer_with_vite+vue.md +2 -2
- package/docs/pl/readme.md +13 -0
- package/docs/pt/benchmark/nextjs.md +20 -11
- package/docs/pt/benchmark/solid.md +14 -5
- package/docs/pt/benchmark/svelte.md +14 -5
- package/docs/pt/benchmark/tanstack.md +16 -7
- package/docs/pt/benchmark/vue.md +14 -5
- package/docs/pt/configuration.md +6 -6
- package/docs/pt/custom_domains.md +11 -11
- package/docs/pt/dictionary/content_file.md +41 -0
- package/docs/pt/dictionary/markdown.md +303 -98
- package/docs/pt/intlayer_with_analog.md +1 -1
- package/docs/pt/intlayer_with_angular.md +1 -1
- package/docs/pt/intlayer_with_astro.md +1 -1
- package/docs/pt/intlayer_with_astro_lit.md +1 -1
- package/docs/pt/intlayer_with_astro_preact.md +3 -3
- package/docs/pt/intlayer_with_astro_react.md +2 -2
- package/docs/pt/intlayer_with_astro_solid.md +3 -3
- package/docs/pt/intlayer_with_astro_svelte.md +1 -1
- package/docs/pt/intlayer_with_astro_vanilla.md +1 -1
- package/docs/pt/intlayer_with_astro_vue.md +1 -1
- package/docs/pt/intlayer_with_nextjs_14.md +2 -2
- package/docs/pt/intlayer_with_nextjs_15.md +2 -2
- package/docs/pt/intlayer_with_nextjs_16.md +1 -1
- package/docs/pt/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/pt/intlayer_with_nuxt.md +1 -1
- package/docs/pt/intlayer_with_react_native+expo.md +2 -2
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/pt/intlayer_with_storybook.md +7 -7
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +1 -1
- package/docs/pt/intlayer_with_tanstack.md +1 -1
- package/docs/pt/intlayer_with_vanilla.md +2 -2
- package/docs/pt/intlayer_with_vite+lit.md +3 -3
- package/docs/pt/intlayer_with_vite+preact.md +2 -2
- package/docs/pt/intlayer_with_vite+react.md +2 -2
- package/docs/pt/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/pt/intlayer_with_vite+solid.md +1 -1
- package/docs/pt/intlayer_with_vite+svelte.md +3 -3
- package/docs/pt/intlayer_with_vite+vanilla.md +5 -5
- package/docs/pt/intlayer_with_vite+vue.md +1 -1
- package/docs/pt/readme.md +13 -0
- package/docs/ru/agent_skills.md +1 -1
- package/docs/ru/benchmark/index.md +2 -2
- package/docs/ru/benchmark/nextjs.md +28 -19
- package/docs/ru/benchmark/solid.md +16 -7
- package/docs/ru/benchmark/svelte.md +17 -8
- package/docs/ru/benchmark/tanstack.md +20 -11
- package/docs/ru/benchmark/vue.md +19 -10
- package/docs/ru/bundle_optimization.md +1 -1
- package/docs/ru/cli/index.md +23 -23
- package/docs/ru/cli/init.md +7 -7
- package/docs/ru/cli/standalone.md +5 -5
- package/docs/ru/compiler.md +3 -3
- package/docs/ru/configuration.md +8 -8
- package/docs/ru/custom_domains.md +12 -12
- package/docs/ru/dictionary/content_file.md +41 -0
- package/docs/ru/dictionary/html.md +6 -6
- package/docs/ru/dictionary/markdown.md +100 -500
- package/docs/ru/interest_of_intlayer.md +3 -3
- package/docs/ru/intlayer_with_analog.md +1 -1
- package/docs/ru/intlayer_with_angular.md +1 -1
- package/docs/ru/intlayer_with_astro.md +2 -2
- package/docs/ru/intlayer_with_astro_lit.md +5 -5
- package/docs/ru/intlayer_with_astro_preact.md +4 -4
- package/docs/ru/intlayer_with_astro_react.md +3 -3
- package/docs/ru/intlayer_with_astro_solid.md +4 -4
- package/docs/ru/intlayer_with_astro_svelte.md +2 -2
- package/docs/ru/intlayer_with_astro_vanilla.md +2 -2
- package/docs/ru/intlayer_with_astro_vue.md +2 -2
- package/docs/ru/intlayer_with_fastify.md +1 -1
- package/docs/ru/intlayer_with_nextjs_14.md +2 -2
- package/docs/ru/intlayer_with_nextjs_15.md +2 -2
- package/docs/ru/intlayer_with_nextjs_16.md +1 -1
- package/docs/ru/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/ru/intlayer_with_nuxt.md +1 -1
- package/docs/ru/intlayer_with_react_native+expo.md +2 -2
- package/docs/ru/intlayer_with_react_router_v7.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ru/intlayer_with_storybook.md +10 -10
- package/docs/ru/intlayer_with_svelte_kit.md +1 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +7 -7
- package/docs/ru/intlayer_with_tanstack.md +1 -1
- package/docs/ru/intlayer_with_vanilla.md +4 -4
- package/docs/ru/intlayer_with_vite+lit.md +5 -5
- package/docs/ru/intlayer_with_vite+preact.md +2 -2
- package/docs/ru/intlayer_with_vite+react.md +2 -2
- package/docs/ru/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/ru/intlayer_with_vite+solid.md +1 -1
- package/docs/ru/intlayer_with_vite+svelte.md +3 -3
- package/docs/ru/intlayer_with_vite+vanilla.md +7 -7
- package/docs/ru/intlayer_with_vite+vue.md +2 -2
- package/docs/ru/readme.md +13 -0
- package/docs/tr/benchmark/nextjs.md +16 -7
- package/docs/tr/benchmark/solid.md +14 -5
- package/docs/tr/benchmark/svelte.md +14 -5
- package/docs/tr/benchmark/tanstack.md +16 -7
- package/docs/tr/benchmark/vue.md +14 -5
- package/docs/tr/configuration.md +6 -6
- package/docs/tr/custom_domains.md +11 -11
- package/docs/tr/dictionary/content_file.md +41 -0
- package/docs/tr/dictionary/markdown.md +320 -116
- package/docs/tr/intlayer_with_analog.md +1 -1
- package/docs/tr/intlayer_with_angular.md +1 -1
- package/docs/tr/intlayer_with_astro.md +1 -1
- package/docs/tr/intlayer_with_astro_lit.md +2 -2
- package/docs/tr/intlayer_with_astro_preact.md +3 -3
- package/docs/tr/intlayer_with_astro_react.md +2 -2
- package/docs/tr/intlayer_with_astro_solid.md +3 -3
- package/docs/tr/intlayer_with_astro_svelte.md +1 -1
- package/docs/tr/intlayer_with_astro_vanilla.md +1 -1
- package/docs/tr/intlayer_with_astro_vue.md +1 -1
- package/docs/tr/intlayer_with_nextjs_15.md +2 -2
- package/docs/tr/intlayer_with_nextjs_16.md +1 -1
- package/docs/tr/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/tr/intlayer_with_nuxt.md +1 -1
- package/docs/tr/intlayer_with_react_native+expo.md +2 -2
- package/docs/tr/intlayer_with_react_router_v7.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/tr/intlayer_with_storybook.md +7 -7
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +1 -1
- package/docs/tr/intlayer_with_vanilla.md +2 -2
- package/docs/tr/intlayer_with_vite+lit.md +3 -3
- package/docs/tr/intlayer_with_vite+preact.md +2 -2
- package/docs/tr/intlayer_with_vite+react.md +2 -2
- package/docs/tr/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/tr/intlayer_with_vite+solid.md +1 -1
- package/docs/tr/intlayer_with_vite+svelte.md +3 -3
- package/docs/tr/intlayer_with_vite+vanilla.md +5 -5
- package/docs/tr/intlayer_with_vite+vue.md +2 -2
- package/docs/tr/readme.md +13 -0
- package/docs/uk/agent_skills.md +1 -1
- package/docs/uk/benchmark/index.md +2 -2
- package/docs/uk/benchmark/nextjs.md +29 -20
- package/docs/uk/benchmark/solid.md +16 -7
- package/docs/uk/benchmark/svelte.md +17 -8
- package/docs/uk/benchmark/tanstack.md +21 -12
- package/docs/uk/benchmark/vue.md +20 -11
- package/docs/uk/bundle_optimization.md +1 -1
- package/docs/uk/cli/index.md +21 -21
- package/docs/uk/cli/init.md +9 -9
- package/docs/uk/cli/standalone.md +16 -16
- package/docs/uk/compiler.md +3 -3
- package/docs/uk/configuration.md +8 -8
- package/docs/uk/custom_domains.md +12 -12
- package/docs/uk/dictionary/content_file.md +41 -0
- package/docs/uk/dictionary/markdown.md +405 -85
- package/docs/uk/interest_of_intlayer.md +2 -2
- package/docs/uk/intlayer_with_analog.md +1 -1
- package/docs/uk/intlayer_with_angular.md +1 -1
- package/docs/uk/intlayer_with_astro.md +2 -2
- package/docs/uk/intlayer_with_astro_lit.md +3 -3
- package/docs/uk/intlayer_with_astro_preact.md +4 -4
- package/docs/uk/intlayer_with_astro_react.md +3 -3
- package/docs/uk/intlayer_with_astro_solid.md +4 -4
- package/docs/uk/intlayer_with_astro_svelte.md +2 -2
- package/docs/uk/intlayer_with_astro_vanilla.md +2 -2
- package/docs/uk/intlayer_with_astro_vue.md +2 -2
- package/docs/uk/intlayer_with_fastify.md +1 -1
- package/docs/uk/intlayer_with_nextjs_14.md +1 -1
- package/docs/uk/intlayer_with_nextjs_15.md +1 -1
- package/docs/uk/intlayer_with_nextjs_16.md +1 -1
- package/docs/uk/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/uk/intlayer_with_nuxt.md +1 -1
- package/docs/uk/intlayer_with_react_native+expo.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/uk/intlayer_with_storybook.md +9 -9
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +4 -4
- package/docs/uk/intlayer_with_tanstack.md +1 -1
- package/docs/uk/intlayer_with_vanilla.md +3 -3
- package/docs/uk/intlayer_with_vite+lit.md +4 -4
- package/docs/uk/intlayer_with_vite+preact.md +2 -2
- package/docs/uk/intlayer_with_vite+react.md +2 -2
- package/docs/uk/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/uk/intlayer_with_vite+solid.md +1 -1
- package/docs/uk/intlayer_with_vite+svelte.md +3 -3
- package/docs/uk/intlayer_with_vite+vanilla.md +6 -6
- package/docs/uk/intlayer_with_vite+vue.md +2 -2
- package/docs/uk/readme.md +13 -0
- package/docs/ur/cli/init.md +1 -1
- package/docs/ur/configuration.md +6 -6
- package/docs/ur/custom_domains.md +11 -11
- package/docs/ur/intlayer_with_storybook.md +7 -7
- package/docs/ur/intlayer_with_vanilla.md +2 -2
- package/docs/ur/intlayer_with_vite+lit.md +2 -2
- package/docs/ur/intlayer_with_vite+vanilla.md +4 -4
- package/docs/vi/agent_skills.md +2 -2
- package/docs/vi/benchmark/nextjs.md +20 -11
- package/docs/vi/benchmark/solid.md +14 -5
- package/docs/vi/benchmark/svelte.md +14 -5
- package/docs/vi/benchmark/tanstack.md +16 -7
- package/docs/vi/benchmark/vue.md +14 -5
- package/docs/vi/cli/init.md +1 -1
- package/docs/vi/configuration.md +6 -6
- package/docs/vi/custom_domains.md +11 -11
- package/docs/vi/dictionary/content_file.md +41 -0
- package/docs/vi/dictionary/markdown.md +408 -88
- package/docs/vi/intlayer_with_analog.md +1 -1
- package/docs/vi/intlayer_with_angular.md +1 -1
- package/docs/vi/intlayer_with_astro.md +1 -1
- package/docs/vi/intlayer_with_astro_lit.md +2 -2
- package/docs/vi/intlayer_with_astro_preact.md +3 -3
- package/docs/vi/intlayer_with_astro_react.md +2 -2
- package/docs/vi/intlayer_with_astro_solid.md +3 -3
- package/docs/vi/intlayer_with_astro_svelte.md +1 -1
- package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/vi/intlayer_with_astro_vue.md +1 -1
- package/docs/vi/intlayer_with_nextjs_14.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +1 -1
- package/docs/vi/intlayer_with_nextjs_16.md +1 -1
- package/docs/vi/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/vi/intlayer_with_nuxt.md +1 -1
- package/docs/vi/intlayer_with_react_native+expo.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/vi/intlayer_with_storybook.md +7 -7
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +1 -1
- package/docs/vi/intlayer_with_tanstack.md +1 -1
- package/docs/vi/intlayer_with_vanilla.md +2 -2
- package/docs/vi/intlayer_with_vite+lit.md +2 -2
- package/docs/vi/intlayer_with_vite+preact.md +1 -1
- package/docs/vi/intlayer_with_vite+react.md +1 -1
- package/docs/vi/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/vi/intlayer_with_vite+svelte.md +2 -2
- package/docs/vi/intlayer_with_vite+vanilla.md +4 -4
- package/docs/vi/intlayer_with_vite+vue.md +1 -1
- package/docs/vi/readme.md +13 -0
- package/docs/zh/benchmark/nextjs.md +20 -11
- package/docs/zh/benchmark/solid.md +10 -1
- package/docs/zh/benchmark/svelte.md +10 -1
- package/docs/zh/benchmark/tanstack.md +16 -7
- package/docs/zh/benchmark/vue.md +10 -1
- package/docs/zh/cli/init.md +1 -1
- package/docs/zh/configuration.md +6 -6
- package/docs/zh/custom_domains.md +11 -11
- package/docs/zh/dictionary/content_file.md +41 -0
- package/docs/zh/dictionary/markdown.md +313 -111
- package/docs/zh/intlayer_with_analog.md +1 -1
- package/docs/zh/intlayer_with_angular.md +1 -1
- package/docs/zh/intlayer_with_astro.md +1 -1
- package/docs/zh/intlayer_with_astro_lit.md +2 -2
- package/docs/zh/intlayer_with_astro_preact.md +3 -3
- package/docs/zh/intlayer_with_astro_react.md +2 -2
- package/docs/zh/intlayer_with_astro_solid.md +3 -3
- package/docs/zh/intlayer_with_astro_svelte.md +1 -1
- package/docs/zh/intlayer_with_astro_vanilla.md +1 -1
- package/docs/zh/intlayer_with_astro_vue.md +1 -1
- package/docs/zh/intlayer_with_nextjs_14.md +2 -2
- package/docs/zh/intlayer_with_nextjs_15.md +2 -2
- package/docs/zh/intlayer_with_nextjs_16.md +1 -1
- package/docs/zh/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/zh/intlayer_with_nuxt.md +1 -1
- package/docs/zh/intlayer_with_react_native+expo.md +2 -2
- package/docs/zh/intlayer_with_react_router_v7.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/zh/intlayer_with_storybook.md +7 -7
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +1 -1
- package/docs/zh/intlayer_with_tanstack.md +1 -1
- package/docs/zh/intlayer_with_vanilla.md +2 -2
- package/docs/zh/intlayer_with_vite+lit.md +2 -2
- package/docs/zh/intlayer_with_vite+preact.md +1 -1
- package/docs/zh/intlayer_with_vite+react.md +1 -1
- package/docs/zh/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/zh/intlayer_with_vite+svelte.md +2 -2
- package/docs/zh/intlayer_with_vite+vanilla.md +4 -4
- package/docs/zh/intlayer_with_vite+vue.md +1 -1
- package/docs/zh/readme.md +13 -0
- package/frequent_questions/ru/intlayerNode.md +2 -2
- package/frequent_questions/uk/intlayerNode.md +2 -2
- package/package.json +7 -7
- package/docs/ja/dictionary/markdown.md +0 -631
|
@@ -34,8 +34,8 @@ Intlayer ডোমেইন-ভিত্তিক লোকেল রাউট
|
|
|
34
34
|
|
|
35
35
|
মূল পার্থক্য হল **এক্সক্লুসিভিটি (exclusivity)**:
|
|
36
36
|
|
|
37
|
-
- **এক্সক্লুসিভ ডোমেইন (Exclusive domain)**
|
|
38
|
-
- **শেয়ার্ড ডোমেইন (Shared domain)**
|
|
37
|
+
- **এক্সক্লুসিভ ডোমেইন (Exclusive domain)** - শুধুমাত্র একটি লোকেল সেই হোস্টনেমে ম্যাপ করা হয় (যেমন `zh → intlayer.zh`)। ডোমেইন নিজেই লোকেলকে শনাক্ত করে, তাই পাথে (path) কোনো লোকেল উপসর্গ (prefix) যোগ করা হয় না। `https://intlayer.zh/about` চীনা কন্টেন্ট পরিবেশন করে।
|
|
38
|
+
- **শেয়ার্ড ডোমেইন (Shared domain)** - একাধিক লোকেল একই হোস্টনেমে ম্যাপ করা হয় (যেমন `en` এবং `fr` উভয়ই `intlayer.org`-এ ম্যাপ করা হয়)। সাধারণ উপসর্গ-ভিত্তিক রাউটিং প্রযোজ্য হয়। `intlayer.org/fr/about` ফরাসি কন্টেন্ট পরিবেশন করে।
|
|
39
39
|
|
|
40
40
|
## কনফিগারেশন
|
|
41
41
|
|
|
@@ -55,9 +55,9 @@ const config: IntlayerConfig = {
|
|
|
55
55
|
routing: {
|
|
56
56
|
mode: "prefix-no-default",
|
|
57
57
|
domains: {
|
|
58
|
-
// শেয়ার্ড ডোমেইন
|
|
58
|
+
// শেয়ার্ড ডোমেইন - en এবং fr intlayer.org-এ উপসর্গ রাউটিং ব্যবহার করে
|
|
59
59
|
en: "intlayer.org",
|
|
60
|
-
// এক্সক্লুসিভ ডোমেইন
|
|
60
|
+
// এক্সক্লুসিভ ডোমেইন - zh-এর নিজস্ব হোস্টনেম রয়েছে, কোনো /zh/ উপসর্গের প্রয়োজন নেই
|
|
61
61
|
zh: "intlayer.zh",
|
|
62
62
|
},
|
|
63
63
|
},
|
|
@@ -96,7 +96,7 @@ getLocalizedUrl("/about", "zh", { currentDomain: "intlayer.org" });
|
|
|
96
96
|
```ts
|
|
97
97
|
// বর্তমান পৃষ্ঠা: intlayer.zh/about
|
|
98
98
|
getLocalizedUrl("/about", "zh", { currentDomain: "intlayer.zh" });
|
|
99
|
-
// → "/about" (ইতিমধ্যেই সঠিক ডোমেইনে আছে
|
|
99
|
+
// → "/about" (ইতিমধ্যেই সঠিক ডোমেইনে আছে - আপেক্ষিক ইউআরএল)
|
|
100
100
|
|
|
101
101
|
getLocalizedUrl("/about", "fr", { currentDomain: "intlayer.zh" });
|
|
102
102
|
// → "https://intlayer.org/fr/about" (intlayer.org-এ ফিরে ক্রস-ডোমেইন লিঙ্ক)
|
|
@@ -108,14 +108,14 @@ getLocalizedUrl("/about", "fr", { currentDomain: "intlayer.zh" });
|
|
|
108
108
|
|
|
109
109
|
১. একটি পরম ইনপুট ইউআরএল-এর হোস্টনেম (যেমন `https://intlayer.org/about` → `intlayer.org`)।
|
|
110
110
|
২. ব্রাউজার পরিবেশে `window.location.hostname` ।
|
|
111
|
-
৩. যদি কোনোটিই উপলব্ধ না থাকে (সুস্পষ্ট বিকল্প ছাড়া এসএসআর), তবে একই-ডোমেইন লোকেলের জন্য একটি আপেক্ষিক ইউআরএল ফেরত দেওয়া হয় এবং কোনো পরম ইউআরএল তৈরি হয় না
|
|
111
|
+
৩. যদি কোনোটিই উপলব্ধ না থাকে (সুস্পষ্ট বিকল্প ছাড়া এসএসআর), তবে একই-ডোমেইন লোকেলের জন্য একটি আপেক্ষিক ইউআরএল ফেরত দেওয়া হয় এবং কোনো পরম ইউআরএল তৈরি হয় না - এটি নিরাপদ ফলব্যাক।
|
|
112
112
|
|
|
113
113
|
```ts
|
|
114
|
-
// ব্রাউজার
|
|
114
|
+
// ব্রাউজার - window.location.hostname === 'intlayer.org'
|
|
115
115
|
getLocalizedUrl("/about", "zh");
|
|
116
116
|
// → "https://intlayer.zh/about" (উইন্ডো থেকে অটো-ডিটেক্টেড)
|
|
117
117
|
|
|
118
|
-
// থেকে একটি পরম ইউআরএল
|
|
118
|
+
// থেকে একটি পরম ইউআরএল - ডোমেইন স্বয়ংক্রিয়ভাবে ডিটেক্ট হয়েছে
|
|
119
119
|
getLocalizedUrl("https://intlayer.org/about", "zh");
|
|
120
120
|
// → "https://intlayer.zh/about"
|
|
121
121
|
```
|
|
@@ -151,14 +151,14 @@ export const config = {
|
|
|
151
151
|
};
|
|
152
152
|
```
|
|
153
153
|
|
|
154
|
-
**পুনঃনির্দেশ (Redirect)**
|
|
154
|
+
**পুনঃনির্দেশ (Redirect)** - অনুরোধ একটি নির্দিষ্ট লোকেল উপসর্গের জন্য ভুল ডোমেইনে এসেছে:
|
|
155
155
|
|
|
156
156
|
```
|
|
157
157
|
GET intlayer.org/zh/about
|
|
158
158
|
→ 301 https://intlayer.zh/about
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
**পুনঃলিখন (Rewrite)**
|
|
161
|
+
**পুনঃলিখন (Rewrite)** - অনুরোধ উপসর্গ ছাড়াই লোকেলের এক্সক্লুসিভ ডোমেইনে এসেছে:
|
|
162
162
|
|
|
163
163
|
```
|
|
164
164
|
GET intlayer.zh/about
|
|
@@ -209,7 +209,7 @@ export const LocaleSwitcher = () => {
|
|
|
209
209
|
};
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
কোনো অতিরিক্ত কনফিগারেশনের প্রয়োজন নেই
|
|
212
|
+
কোনো অতিরিক্ত কনফিগারেশনের প্রয়োজন নেই - `useLocale` অভ্যন্তরীণভাবে `window.location.hostname` শনাক্ত করে এবং `router.replace` (একই ডোমেইন) এবং `window.location.href` (ডোমেইন-জুড়ে)-এর মধ্যে সিদ্ধান্ত নেয়।
|
|
213
213
|
|
|
214
214
|
## এসইও: `hreflang` বিকল্প লিঙ্ক (Alternate Links)
|
|
215
215
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2026-03-20
|
|
3
3
|
updatedAt: 2026-05-06
|
|
4
4
|
title: স্টোরিবুকের সাথে Intlayer কীভাবে সেট আপ করবেন
|
|
5
|
-
description: স্টোরিবুকের সাথে Intlayer ব্যবহার করে আপনার ডিজাইন সিস্টেমকে কীভাবে বহুভাষিক করবেন তা শিখুন
|
|
5
|
+
description: স্টোরিবুকের সাথে Intlayer ব্যবহার করে আপনার ডিজাইন সিস্টেমকে কীভাবে বহুভাষিক করবেন তা শিখুন - কন্টেন্ট ডিক্লারেশন কম্পাইল করুন, একটি ল্যাঙ্গুয়েজ সুইচার যোগ করুন এবং যেকোনো ভাষায় আপনার কম্পোনেন্টগুলি প্রিভিউ করুন।
|
|
6
6
|
keywords:
|
|
7
7
|
- Internationalization
|
|
8
8
|
- Documentation
|
|
@@ -33,7 +33,7 @@ history:
|
|
|
33
33
|
|
|
34
34
|
## Intlayer কী?
|
|
35
35
|
|
|
36
|
-
**Intlayer** হলো একটি উদ্ভাবনী, ওপেন-সোর্স আন্তর্জাতিকীকরণ (i18n) লাইব্রেরি যা আধুনিক ওয়েব অ্যাপ্লিকেশনগুলিতে বহুভাষিক সমর্থন সহজতর করার জন্য ডিজাইন করা হয়েছে। এটি **কম্পোনেন্ট লেভেলে** কাজ করে
|
|
36
|
+
**Intlayer** হলো একটি উদ্ভাবনী, ওপেন-সোর্স আন্তর্জাতিকীকরণ (i18n) লাইব্রেরি যা আধুনিক ওয়েব অ্যাপ্লিকেশনগুলিতে বহুভাষিক সমর্থন সহজতর করার জন্য ডিজাইন করা হয়েছে। এটি **কম্পোনেন্ট লেভেলে** কাজ করে - প্রতিটি কম্পোনেন্টের নিজস্ব কন্টেন্ট ডিক্লারেশন থাকে - যা অনুবাদগুলিকে সংশ্লিষ্ট কোডের সাথেই রাখার সুবিধা দেয়।
|
|
37
37
|
|
|
38
38
|
Intlayer এর মাধ্যমে আপনি যা করতে পারেন:
|
|
39
39
|
|
|
@@ -83,9 +83,9 @@ bun add vite-intlayer --dev
|
|
|
83
83
|
|
|
84
84
|
| প্যাকেজ | ভূমিকা |
|
|
85
85
|
| ---------------- | ----------------------------------------------------------------- |
|
|
86
|
-
| `intlayer` | কোর
|
|
87
|
-
| `react-intlayer` | রিঅ্যাক্ট বাইন্ডিংস
|
|
88
|
-
| `vite-intlayer` | ভাইট প্লাগইন
|
|
86
|
+
| `intlayer` | কোর - কনফিগ, কন্টেন্ট কম্পাইলেশন, CLI |
|
|
87
|
+
| `react-intlayer` | রিঅ্যাক্ট বাইন্ডিংস - `IntlayerProvider`, `useIntlayer` হুক |
|
|
88
|
+
| `vite-intlayer` | ভাইট প্লাগইন - কন্টেন্ট ডিক্লারেশন ফাইলগুলি মনিটর এবং কম্পাইল করে |
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
@@ -291,7 +291,7 @@ export default config;
|
|
|
291
291
|
|
|
292
292
|
### ধাপ ৪: `IntlayerProvider` ডেকোরেটর এবং একটি লোকাল টুলবার যোগ করা
|
|
293
293
|
|
|
294
|
-
ভাইট সেটআপের মতোই
|
|
294
|
+
ভাইট সেটআপের মতোই - `.storybook/preview.tsx` ফাইলে ডেকোরেটর and গ্লোবাল লোকাল টাইপ যোগ করুন:
|
|
295
295
|
|
|
296
296
|
```tsx fileName=".storybook/preview.tsx" codeFormat="typescript"
|
|
297
297
|
import type { Preview, StoryContext } from "@storybook/react";
|
|
@@ -411,7 +411,7 @@ const meta: Meta<typeof CopyButton> = {
|
|
|
411
411
|
export default meta;
|
|
412
412
|
type Story = StoryObj<typeof CopyButton>;
|
|
413
413
|
|
|
414
|
-
/** ডিফল্ট স্টোরি
|
|
414
|
+
/** ডিফল্ট স্টোরি - অনুবাদ প্রিভিউ করতে টুলবারে ভাষা পরিবর্তন করুন। */
|
|
415
415
|
export const Default: Story = {
|
|
416
416
|
args: {
|
|
417
417
|
content: "npm install intlayer react-intlayer",
|
|
@@ -34,7 +34,7 @@ history:
|
|
|
34
34
|
<iframe
|
|
35
35
|
src="https://ide.intlayer.org/aymericzip/intlayer-vanilla-template?file=intlayer.config.ts"
|
|
36
36
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
37
|
-
title="Demo CodeSandbox
|
|
37
|
+
title="Demo CodeSandbox - Intlayer"
|
|
38
38
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
39
39
|
loading="lazy"
|
|
40
40
|
/>
|
|
@@ -45,7 +45,7 @@ history:
|
|
|
45
45
|
<iframe
|
|
46
46
|
src="https://intlayer-vanilla-template.vercel.app"
|
|
47
47
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
48
|
-
title="ডেমো
|
|
48
|
+
title="ডেমো - intlayer-vanilla-template"
|
|
49
49
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
50
50
|
loading="lazy"
|
|
51
51
|
/>
|
|
@@ -45,7 +45,7 @@ history:
|
|
|
45
45
|
<iframe
|
|
46
46
|
src="https://intlayer-vite-lit-template.vercel.app"
|
|
47
47
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
48
|
-
title="ডেমো
|
|
48
|
+
title="ডেমো - intlayer-vite-lit-template"
|
|
49
49
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
50
50
|
loading="lazy"
|
|
51
51
|
/>
|
|
@@ -300,7 +300,7 @@ module.exports = appContent;
|
|
|
300
300
|
|
|
301
301
|
### ধাপ ৬: আপনার LitElement-এ Intlayer ব্যবহার করুন
|
|
302
302
|
|
|
303
|
-
একটি `LitElement`-এর ভিতরে `useIntlayer` ব্যবহার করুন। এটি একটি `ReactiveController` প্রক্সি প্রদান করে যা লোকাল পরিবর্তন হলে স্বয়ংক্রিয়ভাবে পুনরায় রেন্ডারিং ট্রিগার করে
|
|
303
|
+
একটি `LitElement`-এর ভিতরে `useIntlayer` ব্যবহার করুন। এটি একটি `ReactiveController` প্রক্সি প্রদান করে যা লোকাল পরিবর্তন হলে স্বয়ংক্রিয়ভাবে পুনরায় রেন্ডারিং ট্রিগার করে - কোনো অতিরিক্ত সেটআপের প্রয়োজন নেই।
|
|
304
304
|
|
|
305
305
|
```typescript fileName="src/my-element.ts" codeFormat="typescript"
|
|
306
306
|
import { LitElement, html } from "lit";
|
|
@@ -556,7 +556,7 @@ Intlayer `generateSitemap` ও `getMultilingualUrls` দেয়, যাতে আ
|
|
|
556
556
|
|
|
557
557
|
Intlayer-এর সাইটম্যাপ জেনারেটর আপনার লোকেল কনফিগারেশন মেনে চলে এবং ক্রলারের জন্য মেটাডেটা যোগ করে।
|
|
558
558
|
|
|
559
|
-
> জেনারেটেড সাইটম্যাপ `xhtml:link` (hreflang) নেমস্পেস সমর্থন করে। শুধু সমতল URL তালিকার বদলে Intlayer প্রতিটি পৃষ্ঠার সব ভাষার সংস্করণ দ্বিমুখীভাবে যুক্ত করে (যেমন `/about`, `/fr/about`, বা `/about?lang=fr`
|
|
559
|
+
> জেনারেটেড সাইটম্যাপ `xhtml:link` (hreflang) নেমস্পেস সমর্থন করে। শুধু সমতল URL তালিকার বদলে Intlayer প্রতিটি পৃষ্ঠার সব ভাষার সংস্করণ দ্বিমুখীভাবে যুক্ত করে (যেমন `/about`, `/fr/about`, বা `/about?lang=fr` - রাউটিং মোড অনুযায়ী)।
|
|
560
560
|
|
|
561
561
|
#### Robots.txt
|
|
562
562
|
|
|
@@ -35,7 +35,7 @@ history:
|
|
|
35
35
|
<iframe
|
|
36
36
|
src="https://ide.intlayer.org/aymericzip/intlayer-vite-vanilla-template?file=intlayer.config.ts"
|
|
37
37
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
38
|
-
title="Demo CodeSandbox
|
|
38
|
+
title="Demo CodeSandbox - Intlayer"
|
|
39
39
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
40
40
|
loading="lazy"
|
|
41
41
|
/>
|
|
@@ -46,7 +46,7 @@ history:
|
|
|
46
46
|
<iframe
|
|
47
47
|
src="https://intlayer-vite-vanilla.vercel.app"
|
|
48
48
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
49
|
-
title="ডেমো
|
|
49
|
+
title="ডেমো - intlayer-vite-vanilla-template"
|
|
50
50
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
51
51
|
loading="lazy"
|
|
52
52
|
/>
|
|
@@ -255,7 +255,7 @@ export default appContent;
|
|
|
255
255
|
|
|
256
256
|
### ধাপ ৬: আপনার JavaScript-এ Intlayer ব্যবহার করুন
|
|
257
257
|
|
|
258
|
-
`vanilla-intlayer` প্যাকেজটি `react-intlayer` এর সারফেস API-কে অনুকরণ করে: `useIntlayer(key, locale?)` সরাসরি অনূদিত কন্টেন্ট রিটার্ন করে। লোক্যাল পরিবর্তনের সাবস্ক্রিপশন নিতে রেজাল্টের সাথে `.onChange()` চেইন করুন
|
|
258
|
+
`vanilla-intlayer` প্যাকেজটি `react-intlayer` এর সারফেস API-কে অনুকরণ করে: `useIntlayer(key, locale?)` সরাসরি অনূদিত কন্টেন্ট রিটার্ন করে। লোক্যাল পরিবর্তনের সাবস্ক্রিপশন নিতে রেজাল্টের সাথে `.onChange()` চেইন করুন - যা React রি-রেন্ডারের একটি স্পষ্ট সমতুল্য।
|
|
259
259
|
|
|
260
260
|
```typescript fileName="src/main.ts" codeFormat="typescript"
|
|
261
261
|
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
@@ -456,7 +456,7 @@ const unsubscribe = useDictionaryDynamic(
|
|
|
456
456
|
});
|
|
457
457
|
```
|
|
458
458
|
|
|
459
|
-
> প্রতিটি লোক্যালের বান্ডেল শুধুমাত্র তখনই আনা হয় যখন সেই লোক্যালটি সক্রিয় হয় এবং ফলাফলটি ক্যাশে রাখা হয়
|
|
459
|
+
> প্রতিটি লোক্যালের বান্ডেল শুধুমাত্র তখনই আনা হয় যখন সেই লোক্যালটি সক্রিয় হয় এবং ফলাফলটি ক্যাশে রাখা হয় - একই লোক্যালে পরবর্তী পরিবর্তনগুলো তাত্ক্ষণিক হয়।
|
|
460
460
|
|
|
461
461
|
### (ঐচ্ছিক) ধাপ ১৩: আপনার কম্পোনেন্টের কন্টেন্ট এক্সট্র্যাক্ট করুন
|
|
462
462
|
|
|
@@ -563,7 +563,7 @@ Intlayer `generateSitemap` ও `getMultilingualUrls` দেয়, যাতে আ
|
|
|
563
563
|
|
|
564
564
|
Intlayer-এর সাইটম্যাপ জেনারেটর আপনার লোকেল কনফিগারেশন মেনে চলে এবং ক্রলারের জন্য মেটাডেটা যোগ করে।
|
|
565
565
|
|
|
566
|
-
> জেনারেটেড সাইটম্যাপ `xhtml:link` (hreflang) নেমস্পেস সমর্থন করে। শুধু সমতল URL তালিকার বদলে Intlayer প্রতিটি পৃষ্ঠার সব ভাষার সংস্করণ দ্বিমুখীভাবে যুক্ত করে (যেমন `/about`, `/fr/about`, বা `/about?lang=fr`
|
|
566
|
+
> জেনারেটেড সাইটম্যাপ `xhtml:link` (hreflang) নেমস্পেস সমর্থন করে। শুধু সমতল URL তালিকার বদলে Intlayer প্রতিটি পৃষ্ঠার সব ভাষার সংস্করণ দ্বিমুখীভাবে যুক্ত করে (যেমন `/about`, `/fr/about`, বা `/about?lang=fr` - রাউটিং মোড অনুযায়ী)।
|
|
567
567
|
|
|
568
568
|
#### Robots.txt
|
|
569
569
|
|
package/docs/cs/cli/init.md
CHANGED
|
@@ -138,7 +138,7 @@ Checking Intlayer configuration...
|
|
|
138
138
|
|
|
139
139
|
## Poznámky:
|
|
140
140
|
|
|
141
|
-
- Příkaz je idempotentní
|
|
141
|
+
- Příkaz je idempotentní - můžete jej bezpečně spustit několikrát. Již nakonfigurované kroky budou přeskočeny.
|
|
142
142
|
- Pokud konfigurační soubor již existuje, nebude přepsán.
|
|
143
143
|
- Konfigurace TypeScriptu bez pole `include` (např. konfigurace ve stylu řešení s referencemi) jsou přeskočeny.
|
|
144
144
|
- Příkaz se zastaví s chybou, pokud v kořenu projektu nebude nalezen soubor `package.json`.
|
package/docs/cs/configuration.md
CHANGED
|
@@ -606,7 +606,7 @@ Definuje nastavení související s internacionalizací, včetně dostupných lo
|
|
|
606
606
|
| ----------------- | --------------------------------------------------------------------------------- | ---------- | ------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
607
607
|
| `locales` | Seznam lokalit podporovaných v aplikaci. | `string[]` | `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
|
|
608
608
|
| `requiredLocales` | Seznam povinných lokalit v aplikaci. | `string[]` | `[]` | `[]` | • Pokud je prázdný, jsou v režimu `strict` povinné všechny lokality.<br/>• Ujistěte se, že povinné lokality jsou definovány také v poli `locales`. |
|
|
609
|
-
| `strictMode` | Zajišťuje robustní implementaci internacionalizovaného obsahu pomocí TypeScriptu. | `string` | `'inclusive'` | | • Pokud `"strict"`: funkce `t` vyžaduje definici každé deklarované lokality
|
|
609
|
+
| `strictMode` | Zajišťuje robustní implementaci internacionalizovaného obsahu pomocí TypeScriptu. | `string` | `'inclusive'` | | • Pokud `"strict"`: funkce `t` vyžaduje definici každé deklarované lokality - vyvolá chybu, pokud některá chybí nebo není deklarována.<br/>• Pokud `"inclusive"`: varuje před chybějícími lokalitami, ale umožňuje použití existujících nedeklarovaných.<br/>• Pokud `"loose"`: přijímá jakoukoli existující lokalitu. |
|
|
610
610
|
| `defaultLocale` | Výchozí lokalita použitá jako záložní, pokud požadovaná lokalita není nalezena. | `string` | `Locales.ENGLISH` | `'en'` | Používá se k určení lokality, když není uvedena v URL, cookie nebo hlavičce. |
|
|
611
611
|
|
|
612
612
|
---
|
|
@@ -670,10 +670,10 @@ routing: {
|
|
|
670
670
|
|
|
671
671
|
| Hodnota | Poznámka | Popis |
|
|
672
672
|
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
673
|
-
| `'cookie'` | • Pro soulad s GDPR zajistěte řádný souhlas uživatele.<br/>• Nastavitelné přes `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). | Ukládá lokalitu v cookies
|
|
674
|
-
| `'localStorage'` | • Nevyprší, dokud není explicitně smazáno.<br/>• Proxy Intlayer k tomu nemá přístup.<br/>• Nastavitelné přes `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`). | Ukládá lokalitu v prohlížeči bez omezení doby
|
|
675
|
-
| `'sessionStorage'` | • Smaže se po zavření karty/okna.<br/>• Proxy Intlayer k tomu nemá přístup.<br/>• Nastavitelné přes `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`). | Ukládá lokalitu po dobu relace stránky
|
|
676
|
-
| `'header'` | • Užitečné pro volání API.<br/>• Strana klienta k tomu nemá přístup.<br/>• Nastavitelné přes `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`). | Ukládá nebo předává lokalitu přes HTTP hlavičky
|
|
673
|
+
| `'cookie'` | • Pro soulad s GDPR zajistěte řádný souhlas uživatele.<br/>• Nastavitelné přes `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). | Ukládá lokalitu v cookies - dostupné na klientovi i serveru. |
|
|
674
|
+
| `'localStorage'` | • Nevyprší, dokud není explicitně smazáno.<br/>• Proxy Intlayer k tomu nemá přístup.<br/>• Nastavitelné přes `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`). | Ukládá lokalitu v prohlížeči bez omezení doby - pouze na straně klienta. |
|
|
675
|
+
| `'sessionStorage'` | • Smaže se po zavření karty/okna.<br/>• Proxy Intlayer k tomu nemá přístup.<br/>• Nastavitelné přes `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`). | Ukládá lokalitu po dobu relace stránky - pouze na straně klienta. |
|
|
676
|
+
| `'header'` | • Užitečné pro volání API.<br/>• Strana klienta k tomu nemá přístup.<br/>• Nastavitelné přes `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`). | Ukládá nebo předává lokalitu přes HTTP hlavičky - pouze na straně serveru. |
|
|
677
677
|
|
|
678
678
|
#### Atributy cookie (Cookies Attributes)
|
|
679
679
|
|
|
@@ -861,7 +861,7 @@ Parametry ovládající operace se slovníky, včetně chování automatického
|
|
|
861
861
|
| `location` | Udává, kde jsou uloženy soubory slovníků a jak jsou synchronizovány s CMS. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'`: správa pouze lokálně.<br/>• `'remote'`: správa pouze vzdáleně (CMS).<br/>• `'hybrid'`: správa lokálně i vzdáleně.<br/>• `'plugin'` nebo vlastní řetězec: správa pluginem nebo vlastním zdrojem. |
|
|
862
862
|
| `importMode` | Ovládá způsob importu slovníků. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: statický import.<br/>• `'dynamic'`: dynamický import přes Suspense.<br/>• `'fetch'`: načtení přes Live Sync API; odklad na `'dynamic'` při neúspěchu.<br/>• Vyžaduje pluginy `@intlayer/babel` a `@intlayer/swc`.<br/>• Klíče musí být deklarovány staticky.<br/>• Ignorováno, pokud je `optimize` vypnuto.<br/>• Neovlivňuje `getIntlayer`, `getDictionary` atd. |
|
|
863
863
|
| `priority` | Priorita slovníku. Vyšší hodnoty vítězí nad nižšími při řešení konfliktů mezi slovníky. | `number` | `undefined` | `1` | |
|
|
864
|
-
| `live` | Zastaralé
|
|
864
|
+
| `live` | Zastaralé - použijte `importMode: 'fetch'`. Udávalo, zda se má obsah slovníku načítat dynamicky přes Live Sync API. | `boolean` | `undefined` | | Přejmenováno na `importMode: 'fetch'` ve v8.0.0. |
|
|
865
865
|
| `schema` | Generováno automaticky Intlayerem pro validaci JSON schématu. | `'https://intlayer.org/schema.json'` | auto-generace | | Neupravujte ručně. |
|
|
866
866
|
| `title` | Pomáhá identifikovat slovník v editoru a CMS. | `string` | `undefined` | `'User Profile'` | |
|
|
867
867
|
| `tags` | Kategorizuje slovníky a poskytuje kontext nebo instrukce pro editor a AI. | `string[]` | `undefined` | `['user', 'profile']` | |
|
|
@@ -34,8 +34,8 @@ Mapa `domains` v `routing` přidružuje každou lokalitu k hostitelskému jménu
|
|
|
34
34
|
|
|
35
35
|
Klíčovým rozdílem je **exkluzivita**:
|
|
36
36
|
|
|
37
|
-
- **Exkluzivní doména**
|
|
38
|
-
- **Sdílená doména**
|
|
37
|
+
- **Exkluzivní doména** - k tomuto hostitelskému jménu se mapuje pouze jedna lokalita (např. `zh → intlayer.zh`). Doména sama o sobě identifikuje lokalitu, takže k cestě není přidán žádný prefix lokality. `https://intlayer.zh/about` obsluhuje čínský obsah.
|
|
38
|
+
- **Sdílená doména** - ke stejnému hostitelskému jménu se mapuje více lokalit (např. `en` i `fr` se mapují na `intlayer.org`). Použije se běžné směrování založené na prefixech. `intlayer.org/fr/about` obsluhuje francouzský obsah.
|
|
39
39
|
|
|
40
40
|
## Konfigurace
|
|
41
41
|
|
|
@@ -55,9 +55,9 @@ const config: IntlayerConfig = {
|
|
|
55
55
|
routing: {
|
|
56
56
|
mode: "prefix-no-default",
|
|
57
57
|
domains: {
|
|
58
|
-
// Sdílená doména
|
|
58
|
+
// Sdílená doména - en a fr používají směrování prefixů na intlayer.org
|
|
59
59
|
en: "intlayer.org",
|
|
60
|
-
// Exkluzivní doména
|
|
60
|
+
// Exkluzivní doména - zh má vlastní hostitelské jméno, prefix /zh/ není potřeba
|
|
61
61
|
zh: "intlayer.zh",
|
|
62
62
|
},
|
|
63
63
|
},
|
|
@@ -96,7 +96,7 @@ getLocalizedUrl("/about", "zh", { currentDomain: "intlayer.org" });
|
|
|
96
96
|
```ts
|
|
97
97
|
// Aktuální stránka: intlayer.zh/about
|
|
98
98
|
getLocalizedUrl("/about", "zh", { currentDomain: "intlayer.zh" });
|
|
99
|
-
// → "/about" (již na správné doméně
|
|
99
|
+
// → "/about" (již na správné doméně - relativní URL)
|
|
100
100
|
|
|
101
101
|
getLocalizedUrl("/about", "fr", { currentDomain: "intlayer.zh" });
|
|
102
102
|
// → "https://intlayer.org/fr/about" (mezidoménový odkaz zpět na intlayer.org)
|
|
@@ -108,14 +108,14 @@ getLocalizedUrl("/about", "fr", { currentDomain: "intlayer.zh" });
|
|
|
108
108
|
|
|
109
109
|
1. Hostitelské jméno absolutní vstupní URL (např. `https://intlayer.org/about` → `intlayer.org`).
|
|
110
110
|
2. `window.location.hostname` v prostředí prohlížeče.
|
|
111
|
-
3. Pokud není k dispozici ani jedno (SSR bez explicitní volby), vrátí se relativní URL pro lokality na stejné doméně a nevytvoří se absolutní URL
|
|
111
|
+
3. Pokud není k dispozici ani jedno (SSR bez explicitní volby), vrátí se relativní URL pro lokality na stejné doméně a nevytvoří se absolutní URL - toto je bezpečný záložní mechanismus.
|
|
112
112
|
|
|
113
113
|
```ts
|
|
114
|
-
// Prohlížeč
|
|
114
|
+
// Prohlížeč - window.location.hostname === 'intlayer.org'
|
|
115
115
|
getLocalizedUrl("/about", "zh");
|
|
116
116
|
// → "https://intlayer.zh/about" (automaticky detekováno z window)
|
|
117
117
|
|
|
118
|
-
// Z absolutní URL
|
|
118
|
+
// Z absolutní URL - doména detekována automaticky
|
|
119
119
|
getLocalizedUrl("https://intlayer.org/about", "zh");
|
|
120
120
|
// → "https://intlayer.zh/about"
|
|
121
121
|
```
|
|
@@ -151,14 +151,14 @@ export const config = {
|
|
|
151
151
|
};
|
|
152
152
|
```
|
|
153
153
|
|
|
154
|
-
**Přesměrování (Redirect)**
|
|
154
|
+
**Přesměrování (Redirect)** - požadavek dorazí na nesprávnou doménu pro daný prefix lokality:
|
|
155
155
|
|
|
156
156
|
```
|
|
157
157
|
GET intlayer.org/zh/about
|
|
158
158
|
→ 301 https://intlayer.zh/about
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
**Přepis (Rewrite)**
|
|
161
|
+
**Přepis (Rewrite)** - požadavek dorazí na exkluzivní doménu lokality bez prefixu:
|
|
162
162
|
|
|
163
163
|
```
|
|
164
164
|
GET intlayer.zh/about
|
|
@@ -209,7 +209,7 @@ export const LocaleSwitcher = () => {
|
|
|
209
209
|
};
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
Není vyžadována žádná další konfigurace
|
|
212
|
+
Není vyžadována žádná další konfigurace - `useLocale` interně detekuje `window.location.hostname` a rozhoduje mezi `router.replace` (stejná doména) a `window.location.href` (mezidoménová).
|
|
213
213
|
|
|
214
214
|
## SEO: alternativní odkazy `hreflang`
|
|
215
215
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2026-03-20
|
|
3
3
|
updatedAt: 2026-05-06
|
|
4
4
|
title: Jak nastavit Intlayer se Storybookem
|
|
5
|
-
description: Naučte se, jak vytvořit svůj design systém vícejazyčný pomocí Intlayeru se Storybookem
|
|
5
|
+
description: Naučte se, jak vytvořit svůj design systém vícejazyčný pomocí Intlayeru se Storybookem - kompilujte deklarace obsahu, přidejte přepínač jazyků a prohlížejte své komponenty v libovolném jazyce.
|
|
6
6
|
keywords:
|
|
7
7
|
- Internacionalizace
|
|
8
8
|
- Dokumentace
|
|
@@ -33,7 +33,7 @@ history:
|
|
|
33
33
|
|
|
34
34
|
## Co je Intlayer?
|
|
35
35
|
|
|
36
|
-
**Intlayer** je inovativní open-source knihovna pro internacionalizaci (i18n) navržená pro zjednodušení vícejazyčné podpory v moderních webových aplikacích. Funguje na **úrovni komponent**
|
|
36
|
+
**Intlayer** je inovativní open-source knihovna pro internacionalizaci (i18n) navržená pro zjednodušení vícejazyčné podpory v moderních webových aplikacích. Funguje na **úrovni komponent** - každá komponenta vlastní své deklarace obsahu - což udržuje překlady přímo u kódu, který je používá.
|
|
37
37
|
|
|
38
38
|
S Intlayerem můžete:
|
|
39
39
|
|
|
@@ -83,9 +83,9 @@ bun add vite-intlayer --dev
|
|
|
83
83
|
|
|
84
84
|
| Balíček | Role |
|
|
85
85
|
| ---------------- | ---------------------------------------------------------- |
|
|
86
|
-
| `intlayer` | Jádro
|
|
87
|
-
| `react-intlayer` | Vazby pro React
|
|
88
|
-
| `vite-intlayer` | Vite plugin
|
|
86
|
+
| `intlayer` | Jádro - konfigurace, kompilace obsahu, CLI |
|
|
87
|
+
| `react-intlayer` | Vazby pro React - `IntlayerProvider`, hook `useIntlayer` |
|
|
88
|
+
| `vite-intlayer` | Vite plugin - sleduje a kompiluje soubory deklarace obsahu |
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
@@ -291,7 +291,7 @@ export default config;
|
|
|
291
291
|
|
|
292
292
|
### Krok 4: Přidání dekorátoru `IntlayerProvider` a nástrojové lišty jazyků
|
|
293
293
|
|
|
294
|
-
Stejné jako u nastavení Vite
|
|
294
|
+
Stejné jako u nastavení Vite - přidejte dekorátor a globální typ lokality v `.storybook/preview.tsx`:
|
|
295
295
|
|
|
296
296
|
```tsx fileName=".storybook/preview.tsx" codeFormat="typescript"
|
|
297
297
|
import type { Preview, StoryContext } from "@storybook/react";
|
|
@@ -411,7 +411,7 @@ const meta: Meta<typeof CopyButton> = {
|
|
|
411
411
|
export default meta;
|
|
412
412
|
type Story = StoryObj<typeof CopyButton>;
|
|
413
413
|
|
|
414
|
-
/** Výchozí příběh
|
|
414
|
+
/** Výchozí příběh - přepněte jazyk v nástrojové liště pro náhled překladů. */
|
|
415
415
|
export const Default: Story = {
|
|
416
416
|
args: {
|
|
417
417
|
content: "npm install intlayer react-intlayer",
|
|
@@ -34,7 +34,7 @@ history:
|
|
|
34
34
|
<iframe
|
|
35
35
|
src="https://ide.intlayer.org/aymericzip/intlayer-vanilla-template?file=intlayer.config.ts"
|
|
36
36
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
37
|
-
title="Demo CodeSandbox
|
|
37
|
+
title="Demo CodeSandbox - Intlayer"
|
|
38
38
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
39
39
|
loading="lazy"
|
|
40
40
|
/>
|
|
@@ -45,7 +45,7 @@ history:
|
|
|
45
45
|
<iframe
|
|
46
46
|
src="https://intlayer-vanilla-template.vercel.app"
|
|
47
47
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
48
|
-
title="Demo
|
|
48
|
+
title="Demo - intlayer-vanilla-template"
|
|
49
49
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
50
50
|
loading="lazy"
|
|
51
51
|
/>
|
|
@@ -45,7 +45,7 @@ history:
|
|
|
45
45
|
<iframe
|
|
46
46
|
src="https://intlayer-vite-lit-template.vercel.app"
|
|
47
47
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
48
|
-
title="Demo
|
|
48
|
+
title="Demo - intlayer-vite-lit-template"
|
|
49
49
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
50
50
|
loading="lazy"
|
|
51
51
|
/>
|
|
@@ -263,7 +263,7 @@ export default appContent;
|
|
|
263
263
|
|
|
264
264
|
### Krok 6: Využijte Intlayer ve vašem LitElementu
|
|
265
265
|
|
|
266
|
-
Použijte `useIntlayer` uvnitř `LitElement`. Vrací proxy `ReactiveController`, který automaticky spouští nové vykreslení pokaždé, když se změní aktivní jazyk
|
|
266
|
+
Použijte `useIntlayer` uvnitř `LitElement`. Vrací proxy `ReactiveController`, který automaticky spouští nové vykreslení pokaždé, když se změní aktivní jazyk - není vyžadováno žádné další nastavení.
|
|
267
267
|
|
|
268
268
|
```typescript fileName="src/my-element.ts" codeFormat="typescript"
|
|
269
269
|
import { LitElement, html } from "lit";
|
|
@@ -513,7 +513,7 @@ export default config;
|
|
|
513
513
|
|
|
514
514
|
### (Volitelné) Sitemap a robots.txt (generování při buildu)
|
|
515
515
|
|
|
516
|
-
Intlayer poskytuje `generateSitemap` a `getMultilingualUrls`
|
|
516
|
+
Intlayer poskytuje `generateSitemap` a `getMultilingualUrls` - nástroje pro formátování vícejazyčných souborů `sitemap.xml` a `robots.txt` pro crawlery a jejich automatický zápis do `public/`. Obvykle se spouští malý Node skript **před** Vitem (např. npm hooky `predev` / `prebuild`).
|
|
517
517
|
|
|
518
518
|
#### Sitemap
|
|
519
519
|
|
|
@@ -35,7 +35,7 @@ history:
|
|
|
35
35
|
<iframe
|
|
36
36
|
src="https://ide.intlayer.org/aymericzip/intlayer-vite-vanilla-template?file=intlayer.config.ts"
|
|
37
37
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
38
|
-
title="Demo CodeSandbox
|
|
38
|
+
title="Demo CodeSandbox - Intlayer"
|
|
39
39
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
40
40
|
loading="lazy"
|
|
41
41
|
/>
|
|
@@ -46,7 +46,7 @@ history:
|
|
|
46
46
|
<iframe
|
|
47
47
|
src="https://intlayer-vite-vanilla.vercel.app"
|
|
48
48
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
49
|
-
title="Demo
|
|
49
|
+
title="Demo - intlayer-vite-vanilla-template"
|
|
50
50
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
51
51
|
loading="lazy"
|
|
52
52
|
/>
|
|
@@ -255,7 +255,7 @@ export default appContent;
|
|
|
255
255
|
|
|
256
256
|
### Krok 6: Použití Intlayer v JavaScriptu
|
|
257
257
|
|
|
258
|
-
`vanilla-intlayer` zrcadlí povrchové API `react-intlayer`: `useIntlayer(key, locale?)` vrací přeložený obsah přímo. Na výsledek připojte `.onChange()`, abyste se přihlásili k odběru změn lokality
|
|
258
|
+
`vanilla-intlayer` zrcadlí povrchové API `react-intlayer`: `useIntlayer(key, locale?)` vrací přeložený obsah přímo. Na výsledek připojte `.onChange()`, abyste se přihlásili k odběru změn lokality - explicitní ekvivalent re-renderu v Reactu.
|
|
259
259
|
|
|
260
260
|
```typescript fileName="src/main.ts" codeFormat="typescript"
|
|
261
261
|
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
@@ -456,7 +456,7 @@ const unsubscribe = useDictionaryDynamic(
|
|
|
456
456
|
});
|
|
457
457
|
```
|
|
458
458
|
|
|
459
|
-
> Balíček každé lokality se načte pouze tehdy, když se daná lokalita stane aktivní, a výsledek se uloží do mezipaměti
|
|
459
|
+
> Balíček každé lokality se načte pouze tehdy, když se daná lokalita stane aktivní, a výsledek se uloží do mezipaměti - následné přepnutí na stejnou lokalitu je okamžité.
|
|
460
460
|
|
|
461
461
|
### (Volitelné) Krok 13: Extrakce obsahu vašich komponent
|
|
462
462
|
|
|
@@ -557,7 +557,7 @@ bun run build # Nebo bun run dev
|
|
|
557
557
|
|
|
558
558
|
### (Volitelné) Sitemap a robots.txt (generování při buildu)
|
|
559
559
|
|
|
560
|
-
Intlayer poskytuje `generateSitemap` a `getMultilingualUrls`
|
|
560
|
+
Intlayer poskytuje `generateSitemap` a `getMultilingualUrls` - nástroje pro formátování vícejazyčných souborů `sitemap.xml` a `robots.txt` pro crawlery a jejich automatický zápis do `public/`. Obvykle se spouští malý Node skript **před** Vitem (např. npm hooky `predev` / `prebuild`).
|
|
561
561
|
|
|
562
562
|
#### Sitemap
|
|
563
563
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
4
|
title: Beste i18n-Lösung für Next.js im Jahr 2026 - Benchmark-Bericht
|
|
5
5
|
description: Vergleichen Sie Next.js Internationalisierungs-Software (i18n) wie next-intl, next-i18next und Intlayer. Detaillierter Performance-Bericht zu Bundle-Größe, Leakage und Reaktivität.
|
|
6
6
|
keywords:
|
|
@@ -17,12 +17,15 @@ slugs:
|
|
|
17
17
|
author: Aymeric PINEAU
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n
|
|
19
19
|
history:
|
|
20
|
+
- version: 8.9.8
|
|
21
|
+
date: 2026-05-18
|
|
22
|
+
changes: "GitHub-Sterne-Vergleich hinzufügen"
|
|
20
23
|
- version: 8.7.5
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Benchmark initialisiert"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Next.js i18n-Bibliotheken
|
|
28
|
+
# Next.js i18n-Bibliotheken - Benchmark-Bericht 2026
|
|
26
29
|
|
|
27
30
|
Diese Seite ist ein Benchmark-Bericht für i18n-Lösungen auf Next.js.
|
|
28
31
|
|
|
@@ -158,9 +161,15 @@ Ich habe dieselbe mehrsprachige Anwendung in einem echten Browser für jedes Fra
|
|
|
158
161
|
|
|
159
162
|
- **Hydrierungszeit**: Sofern die App dies ausgibt: Wie lange der Client benötigt, um Server-HTML in etwas Interaktives zu verwandeln. Ein Bindestrich in den Tabellen bedeutet, dass diese Implementierung in diesem Benchmark keinen zuverlässigen Hydrierungswert geliefert hat.
|
|
160
163
|
|
|
164
|
+
## GitHub-Sterne
|
|
165
|
+
|
|
166
|
+
GitHub-Sterne sind ein starker Indikator für die Popularität eines Projekts, das Vertrauen der Community und die langfristige Relevanz. Sie sind zwar kein direktes Maß für die technische Qualität, spiegeln jedoch wider, wie viele Entwickler das Projekt nützlich finden, seinen Fortschritt verfolgen und es wahrscheinlich übernehmen werden. Um den Wert eines Projekts einzuschätzen, helfen Sterne dabei, die Traktion verschiedener Alternativen zu vergleichen und Einblicke in das Wachstum des Ökosystems zu gewinnen.
|
|
167
|
+
|
|
168
|
+
[](https://www.star-history.com/#i18next/next-i18next&amannn/next-intl&lingui/js-lingui&vinissimus/next-translate&inostudio/next-international&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
|
|
169
|
+
|
|
161
170
|
## Ergebnisse im Detail
|
|
162
171
|
|
|
163
|
-
### 1
|
|
172
|
+
### 1 - Zu vermeidende Lösungen
|
|
164
173
|
|
|
165
174
|
Einige Lösungen wie `gt-next` oder `lingo.dev` sollten klar vermieden werden. Sie kombinieren Vendor-Lock-in mit einer Verunreinigung Ihrer Codebasis. Trotz vieler Stunden Arbeit ist es mir nicht gelungen, sie zum Laufen zu bringen – weder auf TanStack Start noch auf Next.js.
|
|
166
175
|
|
|
@@ -181,7 +190,7 @@ Aufgetretene Probleme:
|
|
|
181
190
|
- Ihr CLI ist fehleranfällig und setzte die Konfigurationsdatei grundlos zurück.
|
|
182
191
|
- Beim Build löschte es die generierten JSONs vollständig, sobald neuer Inhalt hinzugefügt wurde. Dies konnte dazu führen, dass eine Handvoll Schlüssel mehr als 300 bestehende Schlüssel vernichtete.
|
|
183
192
|
|
|
184
|
-
### 2
|
|
193
|
+
### 2 - Experimentelle Lösungen
|
|
185
194
|
|
|
186
195
|
**(Wuchale)** (`wuchale@0.22.11`):
|
|
187
196
|
|
|
@@ -195,7 +204,7 @@ Schließlich nutzt Paraglide im Vergleich zu anderen Lösungen keinen Store (z.
|
|
|
195
204
|
|
|
196
205
|
> Hinweis zu Paraglide: Die Lösung injiziert Code in Ihre Codebasis für den Import, wodurch die Metrik 'Bibliotheksgröße' im Benchmark-Bericht fast 0 ist. Codegenerierung ist eine gute Sache, da die verwendete Funktion nur die notwendige Logik enthält (Präfix-Gesamtheit vs. kein Präfix, Cookie vs. Speicher usw.). Im Vergleich dazu führt Intlayer diese Filterung durch Injektionen von Umgebungsvariablen in den Build durch, um den Bundler zu zwingen, Inhalte je nach Logik per Tree-shaking zu entfernen. Dank dessen sind Paraglide und Intlayer am Ende 6- bis 10-mal leichtere Lösungen als i18next oder next-intl.
|
|
197
206
|
|
|
198
|
-
### 3
|
|
207
|
+
### 3 - Akzeptable Lösungen
|
|
199
208
|
|
|
200
209
|
**(Tolgee)** (`@tolgee/react@7.0.0`):
|
|
201
210
|
|
|
@@ -219,7 +228,7 @@ Die Nachrichtenformate unterscheiden sich ebenfalls: `next-intl` verwendet ICU M
|
|
|
219
228
|
|
|
220
229
|
`Lingui` wird oft gelobt. Persönlich fand ich den `lingui extract` / `lingui compile` Workflow komplexer als Alternativen, ohne einen klaren Vorteil. Mir fielen zudem inkonsistente Syntaxen auf, die KIs verwirren (z. B. `t()`, `t''`, `i18n.t()`, `<Trans>`).
|
|
221
230
|
|
|
222
|
-
### 4
|
|
231
|
+
### 4 - Empfehlungen
|
|
223
232
|
|
|
224
233
|
**(Next Translate)** (`next-translate@3.1.2`):
|
|
225
234
|
|