@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
4
|
title: La meilleure solution i18n pour Next.js en 2026 - Rapport de Benchmark
|
|
5
5
|
description: Comparez les bibliothèques d'internationalisation (i18n) pour Next.js comme next-intl, next-i18next et Intlayer. Rapport de performance détaillé sur la taille du bundle, les fuites et la réactivité.
|
|
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: "Ajout du comparatif des étoiles GitHub"
|
|
20
23
|
- version: 8.7.5
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Initialisation du benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Bibliothèques i18n Next.js
|
|
28
|
+
# Bibliothèques i18n Next.js - Rapport de Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Cette page est un rapport de benchmark pour les solutions i18n sur Next.js.
|
|
28
31
|
|
|
@@ -57,7 +60,7 @@ Par exemple, pour les cas les plus critiques, une fois internationalisée, votre
|
|
|
57
60
|
|
|
58
61
|
Un autre impact des bibliothèques i18n est le ralentissement du développement. Transformer des composants en contenu multilingue à travers plusieurs langues prend du temps.
|
|
59
62
|
|
|
60
|
-
Parce que le problème est complexe, de nombreuses solutions existent
|
|
63
|
+
Parce que le problème est complexe, de nombreuses solutions existent - certaines axées sur la DX (expérience développeur), d'autres sur la performance ou la scalabilité, etc.
|
|
61
64
|
|
|
62
65
|
Intlayer tente d'optimiser l'ensemble de ces dimensions.
|
|
63
66
|
|
|
@@ -95,7 +98,7 @@ Ce qui se passe au moment du build, c'est que Next.js émet un bundle JS par loc
|
|
|
95
98
|
|
|
96
99
|
Si vous utilisez une syntaxe comme `const t = useTranslation()` + `t('mon-objet.mon-sous-objet.ma-cle')`, l'intégralité du JSON doit généralement être présent dans le bundle pour que la bibliothèque puisse le parser et résoudre la clé. Une grande partie de ce contenu est donc expédiée même lorsqu'il est inutilisé sur la page.
|
|
97
100
|
|
|
98
|
-
Pour atténuer cela, certaines bibliothèques vous demandent de déclarer par page quels namespaces charger
|
|
101
|
+
Pour atténuer cela, certaines bibliothèques vous demandent de déclarer par page quels namespaces charger - ex: `next-i18next`, `next-intl`, `lingui`, `next-translate`, `next-international`.
|
|
99
102
|
|
|
100
103
|
En revanche, `Paraglide` ajoute une étape supplémentaire avant le build pour transformer le JSON en symboles plats comme `const en_my_var = () => 'ma valeur'`. En théorie, cela permet au tree-shaking de supprimer le contenu inutilisé sur la page. Comme nous le verrons, cette méthode présente tout de même des compromis.
|
|
101
104
|
|
|
@@ -150,7 +153,7 @@ J'ai fait tourner la même application multilingue dans un navigateur réel pour
|
|
|
150
153
|
|
|
151
154
|
- **Taille moyenne de bundle par composant** : Les éléments d'interface communs sont mesurés **un par un** au lieu de se cacher derrière un gros chiffre global de l'application. Cela montre si l'internationalisation gonfle silencieusement les composants quotidiens. Par exemple, si votre composant re-rend, il chargera toutes ces données depuis la mémoire. Attacher un JSON géant à n'importe quel composant revient à connecter un grand réservoir de données inutilisées qui ralentira la performance de vos composants.
|
|
152
155
|
|
|
153
|
-
- **Réactivité du changement de langue** : Je change la langue en utilisant le propre contrôle de l'application et je mesure le temps nécessaire jusqu'à ce que la page ait clairement basculé
|
|
156
|
+
- **Réactivité du changement de langue** : Je change la langue en utilisant le propre contrôle de l'application et je mesure le temps nécessaire jusqu'à ce que la page ait clairement basculé - ce qu'un visiteur remarquerait, et non une micro-étape de laboratoire.
|
|
154
157
|
|
|
155
158
|
- **Travail de rendu après un changement de langue** : Un suivi plus précis : quel effort l'interface a fourni pour se redessiner dans la nouvelle langue une fois le basculement lancé. Utile lorsque le ressenti utilisateur et le coût du framework divergent.
|
|
156
159
|
|
|
@@ -158,11 +161,17 @@ J'ai fait tourner la même application multilingue dans un navigateur réel pour
|
|
|
158
161
|
|
|
159
162
|
- **Temps d'hydratation** : Lorsque l'application le permet, combien de temps le client passe à transformer le HTML serveur en quelque chose sur lequel on peut réellement cliquer. Un tiret dans les tableaux signifie que cette implémentation n'a pas fourni de valeur d'hydratation fiable dans ce benchmark.
|
|
160
163
|
|
|
164
|
+
## Étoiles GitHub
|
|
165
|
+
|
|
166
|
+
Les étoiles GitHub sont un indicateur fort de la popularité d'un projet, de la confiance de la communauté et de sa pertinence à long terme. Bien qu'elles ne soient pas une mesure directe de la qualité technique, elles reflètent le nombre de développeurs qui trouvent le projet utile, suivent ses progrès et sont susceptibles de l'adopter. Pour estimer la valeur d'un projet, les étoiles aident à comparer l'attraction entre les alternatives et fournissent des informations sur la croissance de l'écosystème.
|
|
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
|
## Résultats détaillés
|
|
162
171
|
|
|
163
|
-
### 1
|
|
172
|
+
### 1 - Solutions à éviter
|
|
164
173
|
|
|
165
|
-
Certaines solutions, telles que `gt-next` ou `lingo.dev`, sont clairement à éviter. Elles combinent un verrouillage propriétaire (vendor lock-in) avec une pollution de votre base de code. Malgré de nombreuses heures passées à essayer de les implémenter, je n'ai jamais réussi à les faire fonctionner correctement
|
|
174
|
+
Certaines solutions, telles que `gt-next` ou `lingo.dev`, sont clairement à éviter. Elles combinent un verrouillage propriétaire (vendor lock-in) avec une pollution de votre base de code. Malgré de nombreuses heures passées à essayer de les implémenter, je n'ai jamais réussi à les faire fonctionner correctement - ni sur TanStack Start, ni sur Next.js.
|
|
166
175
|
|
|
167
176
|
Problèmes rencontrés :
|
|
168
177
|
|
|
@@ -176,12 +185,12 @@ Problèmes rencontrés :
|
|
|
176
185
|
|
|
177
186
|
**(Lingo.dev)** (`@lingo.dev/compiler@0.4.0`) :
|
|
178
187
|
|
|
179
|
-
- Quota AI dépassé, bloquant entièrement le build
|
|
188
|
+
- Quota AI dépassé, bloquant entièrement le build - vous ne pouvez donc pas mettre en production sans payer.
|
|
180
189
|
- Le compilateur ratait presque 40 % du contenu traduit. J'ai dû réécrire tous les `.map` en blocs de composants plats pour que cela fonctionne.
|
|
181
190
|
- Leur CLI est buggée et réinitialisait régulièrement le fichier de configuration sans raison.
|
|
182
191
|
- Au build, il effaçait totalement les JSONs générés lorsque du nouveau contenu était ajouté. Résultat : une poignée de clés pouvait rayer de la carte plus de 300 clés existantes.
|
|
183
192
|
|
|
184
|
-
### 2
|
|
193
|
+
### 2 - Solutions expérimentales
|
|
185
194
|
|
|
186
195
|
**(Wuchale)** (`wuchale@0.22.11`) :
|
|
187
196
|
|
|
@@ -195,7 +204,7 @@ Enfin, par rapport aux autres solutions, Paraglide n'utilise pas de "store" (ex:
|
|
|
195
204
|
|
|
196
205
|
> Note sur paraglide : la solution injecte du code dans votre base de code à importer, par conséquent la métrique 'taille de la lib' dans le rapport de benchmark est presque de 0. La génération de code est une bonne chose, car la fonction utilisée n'inclura que la logique nécessaire (préfixe total vs pas de préfixe, cookie vs stockage etc). En comparaison, Intlayer procède à ce filtrage via des injections de variables d'environnement dans le build pour forcer le bundler à tree-shaker le contenu selon la logique. Grâce à cela, paraglide et intlayer finissent par être des solutions 6 à 10 fois plus légères que i18next ou next-intl.
|
|
197
206
|
|
|
198
|
-
### 3
|
|
207
|
+
### 3 - Solutions acceptables
|
|
199
208
|
|
|
200
209
|
**(Tolgee)** (`@tolgee/react@7.0.0`) :
|
|
201
210
|
|
|
@@ -219,7 +228,7 @@ Les formats de messages diffèrent également : `next-intl` utilise ICU MessageF
|
|
|
219
228
|
|
|
220
229
|
`Lingui` est souvent vanté. Personnellement, j'ai trouvé le workflow `lingui extract` / `lingui compile` plus complexe que les alternatives, sans avantage clair. J'ai également remarqué des syntaxes inconsistantes qui perturbent les IAs (ex: `t()`, `t''`, `i18n.t()`, `<Trans>`).
|
|
221
230
|
|
|
222
|
-
### 4
|
|
231
|
+
### 4 - Recommandations
|
|
223
232
|
|
|
224
233
|
**(Next Translate)** (`next-translate@3.1.2`) :
|
|
225
234
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
4
|
title: La meilleure solution i18n pour Solid en 2026 - Rapport de Benchmark
|
|
5
5
|
description: Comparez les bibliothèques d'internationalisation (i18n) pour Solid comme solid-primitives, solid-i18next et Intlayer. Rapport de performance détaillé sur la taille du bundle, les fuites et la réactivité.
|
|
6
6
|
keywords:
|
|
@@ -17,12 +17,15 @@ slugs:
|
|
|
17
17
|
author: Aymeric PINEAU
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-solid-template
|
|
19
19
|
history:
|
|
20
|
+
- version: 8.9.8
|
|
21
|
+
date: 2026-05-18
|
|
22
|
+
changes: "Ajout du comparatif des étoiles GitHub"
|
|
20
23
|
- version: 8.7.12
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Initialisation du benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Bibliothèques i18n Solid
|
|
28
|
+
# Bibliothèques i18n Solid - Rapport de Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Cette page est un rapport de benchmark pour les solutions i18n sur Solid.
|
|
28
31
|
|
|
@@ -115,13 +118,19 @@ Nous avons comparé **quatre stratégies de chargement** :
|
|
|
115
118
|
- **Scoped static** : Organise bien le code (séparation logique) sans requêtes réseau supplémentaires complexes.
|
|
116
119
|
- **Scoped dynamic** : Meilleure approche pour le _code splitting_ et la performance. Minimise la mémoire en ne chargeant que ce dont la vue actuelle et la locale active ont besoin.
|
|
117
120
|
|
|
121
|
+
## Étoiles GitHub
|
|
122
|
+
|
|
123
|
+
Les étoiles GitHub sont un indicateur fort de la popularité d'un projet, de la confiance de la communauté et de sa pertinence à long terme. Bien qu'elles ne soient pas une mesure directe de la qualité technique, elles reflètent le nombre de développeurs qui trouvent le projet utile, suivent ses progrès et sont susceptibles de l'adopter. Pour estimer la valeur d'un projet, les étoiles aident à comparer l'attraction entre les alternatives et fournissent des informations sur la croissance de l'écosystème.
|
|
124
|
+
|
|
125
|
+
[](https://www.star-history.com/#solidjs-community/solid-primitives&mbarzda/solid-i18next&opral/paraglide-js&aymericzip/intlayer)
|
|
126
|
+
|
|
118
127
|
## Résultats détaillés
|
|
119
128
|
|
|
120
|
-
### 1
|
|
129
|
+
### 1 - Solutions à éviter
|
|
121
130
|
|
|
122
131
|
> Aucune solution claire à éviter dans l'écosystème Solid.
|
|
123
132
|
|
|
124
|
-
### 2
|
|
133
|
+
### 2 - Solutions acceptables
|
|
125
134
|
|
|
126
135
|
**(solid-i18next)** (`solid-i18next@17.0.2`) :
|
|
127
136
|
|
|
@@ -142,7 +151,7 @@ Elle manque également de lazy loading et de découpage des namespaces pour l'op
|
|
|
142
151
|
Personnellement, je n'aime pas devoir régénérer des fichiers JS avant chaque push, ce qui crée un risque constant de conflit de fusion via les PRs.
|
|
143
152
|
Enfin, par rapport à d'autres solutions, Paraglide n'utilise pas de store (ex: Solid signal) pour récupérer la locale actuelle afin de rendre le contenu. Pour chaque nœud analysé, il demandera la locale au localStorage / cookie etc. Cela conduit à l'exécution d'une logique inutile qui impacte la réactivité des composants.
|
|
144
153
|
|
|
145
|
-
### 3
|
|
154
|
+
### 3 - Recommandations
|
|
146
155
|
|
|
147
156
|
**(Intlayer)** (`solid-intlayer@8.7.12`) :
|
|
148
157
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
4
|
title: La meilleure solution i18n pour Svelte en 2026 - Rapport de Benchmark
|
|
5
5
|
description: Comparez les bibliothèques d'internationalisation (i18n) pour Svelte comme svelte-i18n, Paraglide et Intlayer. Rapport de performance détaillé sur la taille du bundle, les fuites et la réactivité.
|
|
6
6
|
keywords:
|
|
@@ -17,12 +17,15 @@ slugs:
|
|
|
17
17
|
author: Aymeric PINEAU
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-svelte-template
|
|
19
19
|
history:
|
|
20
|
+
- version: 8.9.8
|
|
21
|
+
date: 2026-05-18
|
|
22
|
+
changes: "Ajout du comparatif des étoiles GitHub"
|
|
20
23
|
- version: 8.7.12
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Initialisation du benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Bibliothèques i18n Svelte
|
|
28
|
+
# Bibliothèques i18n Svelte - Rapport de Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Cette page est un rapport de benchmark pour les solutions i18n sur Svelte.
|
|
28
31
|
|
|
@@ -113,13 +116,19 @@ Nous avons comparé **quatre stratégies de chargement** :
|
|
|
113
116
|
- **Scoped static** : Organise bien le code (séparation logique) sans requêtes réseau supplémentaires complexes.
|
|
114
117
|
- **Scoped dynamic** : Meilleure approche pour le _code splitting_ et la performance. Minimise la mémoire en ne chargeant que ce dont la vue actuelle et la locale active ont besoin.
|
|
115
118
|
|
|
119
|
+
## Étoiles GitHub
|
|
120
|
+
|
|
121
|
+
Les étoiles GitHub sont un indicateur fort de la popularité d'un projet, de la confiance de la communauté et de sa pertinence à long terme. Bien qu'elles ne soient pas une mesure directe de la qualité technique, elles reflètent le nombre de développeurs qui trouvent le projet utile, suivent ses progrès et sont susceptibles de l'adopter. Pour estimer la valeur d'un projet, les étoiles aident à comparer l'attraction entre les alternatives et fournissent des informations sur la croissance de l'écosystème.
|
|
122
|
+
|
|
123
|
+
[](https://www.star-history.com/#kaisermann/svelte-i18n&opral/paraglide-js&aymericzip/intlayer)
|
|
124
|
+
|
|
116
125
|
## Résultats détaillés
|
|
117
126
|
|
|
118
|
-
### 1
|
|
127
|
+
### 1 - Solutions à éviter
|
|
119
128
|
|
|
120
129
|
> Aucune solution claire à éviter dans l'écosystème Svelte.
|
|
121
130
|
|
|
122
|
-
### 2
|
|
131
|
+
### 2 - Solutions acceptables
|
|
123
132
|
|
|
124
133
|
**(Paraglide)** (`@inlang/paraglide-js@2.17.0`) :
|
|
125
134
|
|
|
@@ -135,7 +144,7 @@ Enfin, par rapport à d'autres solutions, Paraglide n'utilise pas de store (ex:
|
|
|
135
144
|
|
|
136
145
|
Cette solution répond à tous les besoins i18n dans un projet Svelte. Mais comme c'est le cas pour i18next ou d'autres solutions majeures, elle est un peu lourde (~15.9 Ko, soit environ 7× `svelte-intlayer`).
|
|
137
146
|
|
|
138
|
-
### 3
|
|
147
|
+
### 3 - Recommandations
|
|
139
148
|
|
|
140
149
|
**(Intlayer)** (`svelte-intlayer@8.7.12`) :
|
|
141
150
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
4
|
title: La meilleure solution i18n pour TanStack Start en 2026 - Rapport de Benchmark
|
|
5
5
|
description: Comparez les bibliothèques d'internationalisation pour TanStack Start comme react-i18next, use-intl et Intlayer. Rapport de performance détaillé sur la taille du bundle, les fuites et la réactivité.
|
|
6
6
|
keywords:
|
|
@@ -17,12 +17,15 @@ slugs:
|
|
|
17
17
|
author: Aymeric PINEAU
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-tanstack-start-template
|
|
19
19
|
history:
|
|
20
|
+
- version: 8.9.8
|
|
21
|
+
date: 2026-05-18
|
|
22
|
+
changes: "Ajout du comparatif des étoiles GitHub"
|
|
20
23
|
- version: 8.7.5
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Initialisation du benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Bibliothèques i18n TanStack Start
|
|
28
|
+
# Bibliothèques i18n TanStack Start - Rapport de Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Cette page est un rapport de benchmark pour les solutions i18n sur TanStack Start.
|
|
28
31
|
|
|
@@ -121,9 +124,15 @@ Nous avons comparé **quatre stratégies de chargement** :
|
|
|
121
124
|
- **Scoped static** : Organise bien le code (séparation logique) sans requêtes réseau supplémentaires complexes.
|
|
122
125
|
- **Scoped dynamic** : Meilleure approche pour le _code splitting_ et la performance. Minimise la mémoire en ne chargeant que ce dont la vue actuelle et la locale active ont besoin.
|
|
123
126
|
|
|
127
|
+
## Étoiles GitHub
|
|
128
|
+
|
|
129
|
+
Les étoiles GitHub sont un indicateur fort de la popularité d'un projet, de la confiance de la communauté et de sa pertinence à long terme. Bien qu'elles ne soient pas une mesure directe de la qualité technique, elles reflètent le nombre de développeurs qui trouvent le projet utile, suivent ses progrès et sont susceptibles de l'adopter. Pour estimer la valeur d'un projet, les étoiles aident à comparer l'attraction entre les alternatives et fournissent des informations sur la croissance de l'écosystème.
|
|
130
|
+
|
|
131
|
+
[](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&lingui/js-lingui&amannn/next-intl&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
|
|
132
|
+
|
|
124
133
|
## Résultats détaillés
|
|
125
134
|
|
|
126
|
-
### 1
|
|
135
|
+
### 1 - Solutions à éviter
|
|
127
136
|
|
|
128
137
|
Certaines solutions, telles que `gt-react` ou `lingo.dev`, sont clairement à fuir. Elles combinent un verrouillage propriétaire avec une pollution de votre base de code. Pire : malgré de nombreuses heures passées à essayer de les implémenter, je n'ai jamais réussi à les faire fonctionner correctement sur TanStack Start (comme pour Next.js avec `gt-next`).
|
|
129
138
|
|
|
@@ -145,13 +154,13 @@ Problèmes rencontrés :
|
|
|
145
154
|
- Au build, il effaçait totalement les JSONs générés quand il y avait du nouveau contenu. Résultat : vous pouviez vous retrouver avec seulement quelques clés effaçant des centaines de clés existantes.
|
|
146
155
|
- J'ai rencontré des problèmes de réactivité avec la bibliothèque sur TanStack Start : au changement de langue, je devais forcer le re-rendu du provider pour que cela fonctionne.
|
|
147
156
|
|
|
148
|
-
### 2
|
|
157
|
+
### 2 - Solutions expérimentales
|
|
149
158
|
|
|
150
159
|
**(Wuchale)** (`wuchale@0.22.11`) :
|
|
151
160
|
|
|
152
161
|
L'idée derrière `Wuchale` est intéressante mais ce n'est pas encore une solution viable. J'ai rencontré des problèmes de réactivité avec la bibliothèque et j'ai dû forcer le re-rendu du provider pour faire fonctionner l'application sur TanStack Start. La documentation est également assez floue, ce qui rend l'adoption difficile.
|
|
153
162
|
|
|
154
|
-
### 3
|
|
163
|
+
### 3 - Solutions acceptables
|
|
155
164
|
|
|
156
165
|
**(Paraglide)** (`@inlang/paraglide-js@2.15.1`) :
|
|
157
166
|
|
|
@@ -177,7 +186,7 @@ Sur TanStack Start, vous évitez les pièges spécifiques à Next.js (`setReques
|
|
|
177
186
|
|
|
178
187
|
Pourtant, elle partage les mêmes inconvénients majeurs que les stacks basées sur `t('a.b.c')` : les optimisations sont possibles mais très gourmandes en temps, et les gros projets risquent de mauvaises pratiques (namespaces + chargement dynamique + types).
|
|
179
188
|
|
|
180
|
-
Les formats de messages divergent également : `use-intl` utilise ICU MessageFormat, tandis qu'i18next utilise son propre format
|
|
189
|
+
Les formats de messages divergent également : `use-intl` utilise ICU MessageFormat, tandis qu'i18next utilise son propre format - ce qui complique l'outillage ou les migrations si vous les mélangez.
|
|
181
190
|
|
|
182
191
|
**(Lingui)** (`@lingui/core@5.3.0`) :
|
|
183
192
|
|
|
@@ -187,7 +196,7 @@ Les formats de messages divergent également : `use-intl` utilise ICU MessageFor
|
|
|
187
196
|
|
|
188
197
|
`react-intl` est une implémentation performante de l'équipe Format.js. La DX reste verbeuse : `const intl = useIntl()` + `intl.formatMessage({ id: "xx.xx" })` ajoute de la complexité, du travail JavaScript supplémentaire et lie l'instance globale i18n à de nombreux nœuds dans l'arbre React.
|
|
189
198
|
|
|
190
|
-
### 4
|
|
199
|
+
### 4 - Recommandations
|
|
191
200
|
|
|
192
201
|
Ce benchmark TanStack Start n'a pas d'équivalent direct à `next-translate` (plugin Next.js + `getStaticProps`). Pour les équipes qui veulent vraiment une API `t()` avec un écosystème mature, `react-i18next` et `use-intl` restent des choix "raisonnables", mais attendez-vous à investir beaucoup de temps dans l'optimisation pour éviter les fuites.
|
|
193
202
|
|
package/docs/fr/benchmark/vue.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
4
|
title: La meilleure solution i18n pour Vue en 2026 - Rapport de Benchmark
|
|
5
5
|
description: Comparez les bibliothèques d'internationalisation (i18n) pour Vue comme vue-i18n, fluent-vue et Intlayer. Rapport de performance détaillé sur la taille du bundle, les fuites et la réactivité.
|
|
6
6
|
keywords:
|
|
@@ -17,12 +17,15 @@ slugs:
|
|
|
17
17
|
author: Aymeric PINEAU
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-vue-template
|
|
19
19
|
history:
|
|
20
|
+
- version: 8.9.8
|
|
21
|
+
date: 2026-05-18
|
|
22
|
+
changes: "Ajout du comparatif des étoiles GitHub"
|
|
20
23
|
- version: 8.7.12
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Initialisation du benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Bibliothèques i18n Vue
|
|
28
|
+
# Bibliothèques i18n Vue - Rapport de Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Cette page est un rapport de benchmark pour les solutions i18n sur Vue.
|
|
28
31
|
|
|
@@ -135,13 +138,19 @@ J'ai fait tourner la même application multilingue dans un vrai navigateur pour
|
|
|
135
138
|
|
|
136
139
|
- **Temps d'hydratation (Hydration)** : Temps que le client passe à transformer le HTML du serveur en interface interactive. Un tiret dans les tableaux signifie que l'implémentation n'a pas fourni de chiffre d'hydratation fiable dans ce test.
|
|
137
140
|
|
|
141
|
+
## Étoiles GitHub
|
|
142
|
+
|
|
143
|
+
Les étoiles GitHub sont un indicateur fort de la popularité d'un projet, de la confiance de la communauté et de sa pertinence à long terme. Bien qu'elles ne soient pas une mesure directe de la qualité technique, elles reflètent le nombre de développeurs qui trouvent le projet utile, suivent ses progrès et sont susceptibles de l'adopter. Pour estimer la valeur d'un projet, les étoiles aident à comparer l'attraction entre les alternatives et fournissent des informations sur la croissance de l'écosystème.
|
|
144
|
+
|
|
145
|
+
[](https://www.star-history.com/#intlify/vue-i18n&fluent-vue/fluent-vue&aymericzip/intlayer)
|
|
146
|
+
|
|
138
147
|
## Résultats en détail
|
|
139
148
|
|
|
140
|
-
### 1
|
|
149
|
+
### 1 - Solutions à éviter
|
|
141
150
|
|
|
142
151
|
> Aucune solution claire à éviter dans l'écosystème Vue.
|
|
143
152
|
|
|
144
|
-
### 2
|
|
153
|
+
### 2 - Solutions acceptables
|
|
145
154
|
|
|
146
155
|
**(vue-i18n)** (`vue-i18n@11.4.0`) :
|
|
147
156
|
|
|
@@ -153,7 +162,7 @@ Le paquet est très lourd (~24.3 Ko, soit environ 9× `vue-intlayer`).
|
|
|
153
162
|
|
|
154
163
|
- **fluent-vue** propose une tentative d'innovation via le format .ftl. L'organisation des messages est excellente, plus facile pour débuter. Mais en pratique, le manque de sécurité de type augmente le risque d'erreur et peut vite devenir chronophage à déboguer. De plus, cette solution charge les messages via un plugin vite qui force le chargement de tout le contenu dans toutes les langues dans chaque page. Enfin, c'est une solution extrêmement lourde (~92.7 Ko, soit environ 34× `vue-intlayer`).
|
|
155
164
|
|
|
156
|
-
### 3
|
|
165
|
+
### 3 - Recommandations
|
|
157
166
|
|
|
158
167
|
**(Intlayer)** (`vue-intlayer@8.7.12`) :
|
|
159
168
|
|
package/docs/fr/configuration.md
CHANGED
|
@@ -609,7 +609,7 @@ Définit les paramètres liés à l'internationalisation, y compris les locales
|
|
|
609
609
|
| ----------------- | ------------------------------------------------------------------------------------------------ | ---------- | ------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
610
610
|
| `locales` | La liste des locales supportées dans l'application. | `string[]` | `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
|
|
611
611
|
| `requiredLocales` | La liste des locales obligatoires dans l'application. | `string[]` | `[]` | `[]` | • Si vide, toutes les locales sont obligatoires en mode `strict`.<br/>• Assurez-vous que les locales obligatoires sont également définies dans le champ `locales`. |
|
|
612
|
-
| `strictMode` | Garantit une implémentation robuste du contenu internationalisé en utilisant TypeScript. | `string` | `'inclusive'` | | • Si `"strict"`: la fonction `t` nécessite que chaque locale déclarée soit définie
|
|
612
|
+
| `strictMode` | Garantit une implémentation robuste du contenu internationalisé en utilisant TypeScript. | `string` | `'inclusive'` | | • Si `"strict"`: la fonction `t` nécessite que chaque locale déclarée soit définie - lève une erreur si l'une d'elles est manquante ou non déclarée.<br/>• Si `"inclusive"`: avertit des locales manquantes mais accepte celles non déclarées qui existent.<br/>• Si `"loose"`: accepte n'importe quelle locale existante. |
|
|
613
613
|
| `defaultLocale` | La locale par défaut utilisée comme solution de secours si la locale demandée n'est pas trouvée. | `string` | `Locales.ENGLISH` | `'en'` | Utilisé pour déterminer la locale lorsqu'aucune n'est spécifiée dans l'URL, le cookie ou l'en-tête. |
|
|
614
614
|
|
|
615
615
|
---
|
|
@@ -673,10 +673,10 @@ routing: {
|
|
|
673
673
|
|
|
674
674
|
| Valeur | Description | Note |
|
|
675
675
|
| ------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
676
|
-
| `'cookie'` | Stocke la locale dans les cookies
|
|
677
|
-
| `'localStorage'` | Stocke la locale dans le navigateur sans date d'expiration
|
|
678
|
-
| `'sessionStorage'` | Stocke la locale pendant la durée de la session de la page
|
|
679
|
-
| `'header'` | Stocke ou transmet la locale via les en-têtes HTTP
|
|
676
|
+
| `'cookie'` | Stocke la locale dans les cookies - accessible par les côtés client et serveur. | Pour la conformité au RGPD, assurez-vous d'obtenir le consentement approprié de l'utilisateur. Personnalisable via `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). |
|
|
677
|
+
| `'localStorage'` | Stocke la locale dans le navigateur sans date d'expiration - côté client uniquement. | N'expire pas à moins d'être explicitement effacé. Le proxy Intlayer ne peut pas y accéder. Personnalisable via `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`). |
|
|
678
|
+
| `'sessionStorage'` | Stocke la locale pendant la durée de la session de la page - côté client uniquement. | Effacé à la fermeture de l'onglet/fenêtre. Le proxy Intlayer ne peut pas y accéder. Personnalisable via `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`). |
|
|
679
|
+
| `'header'` | Stocke ou transmet la locale via les en-têtes HTTP - côté serveur uniquement. | Utile pour les appels d'API. Le côté client ne peut pas y accéder. Personnalisable via `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`). |
|
|
680
680
|
|
|
681
681
|
#### Attributs de Cookie (Cookie Attributes)
|
|
682
682
|
|
|
@@ -864,7 +864,7 @@ Paramètres contrôlant les opérations de dictionnaire, y compris le comporteme
|
|
|
864
864
|
| `location` | Indique où les fichiers de dictionnaire sont stockés et leur mode de synchronisation avec le CMS. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'` : géré localement uniquement.<br/>• `'remote'` : géré à distance uniquement (CMS).<br/>• `'hybrid'` : géré à la fois localement et à distance.<br/>• `'plugin'` ou chaîne personnalisée : géré par un plugin ou une source personnalisée. |
|
|
865
865
|
| `importMode` | Contrôle la manière dont les dictionnaires sont importés. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: importé statiquement (remplace `useIntlayer` par `useDictionary`).<br/>• `'dynamic'`: importé dynamiquement via Suspense (remplace par `useDictionaryDynamic`).<br/>• `'fetch'`: récupéré via l'API live sync ; retombe sur `'dynamic'` en cas d'échec.<br/>• Repose sur les plugins `@intlayer/babel` et `@intlayer/swc`.<br/>• Les clés doivent être déclarées statiquement.<br/>• Ignoré si `optimize` est désactivé.<br/>• N'affecte pas `getIntlayer`, `getDictionary`, etc. |
|
|
866
866
|
| `priority` | Priorité du dictionnaire. Les valeurs les plus élevées l'emportent sur les plus basses lors de la résolution des conflits entre dictionnaires. | `number` | `undefined` | `1` | |
|
|
867
|
-
| `live` | Déprécié
|
|
867
|
+
| `live` | Déprécié - utilisez plutôt `importMode: 'fetch'`. Indiquait si le contenu du dictionnaire était récupéré dynamiquement via l'API live sync. | `boolean` | `undefined` | | Renommé en `importMode: 'fetch'` dans la v8.0.0. |
|
|
868
868
|
| `schema` | Généré automatiquement par Intlayer pour la validation du schéma JSON. | `'https://intlayer.org/schema.json'` | auto-généré | | Ne pas modifier manuellement. |
|
|
869
869
|
| `title` | Aide à identifier le dictionnaire dans l'éditeur et le CMS. | `string` | `undefined` | `'User Profile'` | |
|
|
870
870
|
| `tags` | Catégorise les dictionnaires et fournit du contexte ou des instructions pour l'éditeur et l'IA. | `string[]` | `undefined` | `['user', 'profile']` | |
|
|
@@ -34,8 +34,8 @@ La carte `domains` dans `routing` associe chaque locale à un nom d'hôte. Intla
|
|
|
34
34
|
|
|
35
35
|
La distinction clé est l'**exclusivité** :
|
|
36
36
|
|
|
37
|
-
- **Domaine exclusif**
|
|
38
|
-
- **Domaine partagé**
|
|
37
|
+
- **Domaine exclusif** - une seule locale correspond à ce nom d'hôte (ex: `zh → intlayer.zh`). Le domaine lui-même identifie la locale, donc aucun préfixe de locale n'est ajouté au chemin. `https://intlayer.zh/about` sert le contenu chinois.
|
|
38
|
+
- **Domaine partagé** - plusieurs locales correspondent au même nom d'hôte (ex: `en` et `fr` correspondent tous deux à `intlayer.org`). Le routage standard basé sur les préfixes s'applique. `intlayer.org/fr/about` sert le contenu français.
|
|
39
39
|
|
|
40
40
|
## Configuration
|
|
41
41
|
|
|
@@ -55,9 +55,9 @@ const config: IntlayerConfig = {
|
|
|
55
55
|
routing: {
|
|
56
56
|
mode: "prefix-no-default",
|
|
57
57
|
domains: {
|
|
58
|
-
// Domaine partagé
|
|
58
|
+
// Domaine partagé - en et fr utilisent le routage par préfixe sur intlayer.org
|
|
59
59
|
en: "intlayer.org",
|
|
60
|
-
// Domaine exclusif
|
|
60
|
+
// Domaine exclusif - zh a son propre nom d'hôte, aucun préfixe /zh/ n'est nécessaire
|
|
61
61
|
zh: "intlayer.zh",
|
|
62
62
|
},
|
|
63
63
|
},
|
|
@@ -96,7 +96,7 @@ getLocalizedUrl("/about", "zh", { currentDomain: "intlayer.org" });
|
|
|
96
96
|
```ts
|
|
97
97
|
// Page actuelle : intlayer.zh/about
|
|
98
98
|
getLocalizedUrl("/about", "zh", { currentDomain: "intlayer.zh" });
|
|
99
|
-
// → "/about" (déjà sur le bon domaine
|
|
99
|
+
// → "/about" (déjà sur le bon domaine - URL relative)
|
|
100
100
|
|
|
101
101
|
getLocalizedUrl("/about", "fr", { currentDomain: "intlayer.zh" });
|
|
102
102
|
// → "https://intlayer.org/fr/about" (lien inter-domaines vers intlayer.org)
|
|
@@ -108,14 +108,14 @@ getLocalizedUrl("/about", "fr", { currentDomain: "intlayer.zh" });
|
|
|
108
108
|
|
|
109
109
|
1. Le nom d'hôte d'une URL d'entrée absolue (ex: `https://intlayer.org/about` → `intlayer.org`).
|
|
110
110
|
2. `window.location.hostname` dans les environnements de navigation.
|
|
111
|
-
3. Si aucun n'est disponible (SSR sans option explicite), une URL relative est retournée pour les locales du même domaine et aucune URL absolue n'est produite
|
|
111
|
+
3. Si aucun n'est disponible (SSR sans option explicite), une URL relative est retournée pour les locales du même domaine et aucune URL absolue n'est produite - c'est le repli sécurisé.
|
|
112
112
|
|
|
113
113
|
```ts
|
|
114
|
-
// Navigateur
|
|
114
|
+
// Navigateur - window.location.hostname === 'intlayer.org'
|
|
115
115
|
getLocalizedUrl("/about", "zh");
|
|
116
116
|
// → "https://intlayer.zh/about" (détecté automatiquement à partir de window)
|
|
117
117
|
|
|
118
|
-
// À partir d'une URL absolue
|
|
118
|
+
// À partir d'une URL absolue - domaine détecté automatiquement
|
|
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
|
-
**Redirection**
|
|
154
|
+
**Redirection** - la requête arrive sur le mauvais domaine pour un préfixe de locale donné :
|
|
155
155
|
|
|
156
156
|
```
|
|
157
157
|
GET intlayer.org/zh/about
|
|
158
158
|
→ 301 https://intlayer.zh/about
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
**Réécriture**
|
|
161
|
+
**Réécriture** - la requête arrive sur le domaine exclusif de la locale sans préfixe :
|
|
162
162
|
|
|
163
163
|
```
|
|
164
164
|
GET intlayer.zh/about
|
|
@@ -209,7 +209,7 @@ export const LocaleSwitcher = () => {
|
|
|
209
209
|
};
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
Aucune configuration supplémentaire n'est requise
|
|
212
|
+
Aucune configuration supplémentaire n'est requise - `useLocale` détecte `window.location.hostname` en interne et décide entre `router.replace` (même domaine) et `window.location.href` (domaine différent).
|
|
213
213
|
|
|
214
214
|
## SEO : Liens alternatifs `hreflang`
|
|
215
215
|
|
|
@@ -12,6 +12,9 @@ slugs:
|
|
|
12
12
|
- concept
|
|
13
13
|
- content
|
|
14
14
|
history:
|
|
15
|
+
- version: 8.10.0
|
|
16
|
+
date: 2026-05-19
|
|
17
|
+
changes: "Ajout du support des formats de fichiers YAML et Markdown"
|
|
15
18
|
- version: 8.9.0
|
|
16
19
|
date: 2026-05-12
|
|
17
20
|
changes: "Ajouter le type de nœud de contenu `plural`"
|
|
@@ -778,6 +781,40 @@ Vous pouvez également créer des fichiers de contenu au format JSON :
|
|
|
778
781
|
}
|
|
779
782
|
```
|
|
780
783
|
|
|
784
|
+
### Fichier de contenu Markdown
|
|
785
|
+
|
|
786
|
+
```markdown
|
|
787
|
+
---
|
|
788
|
+
key: welcome-page
|
|
789
|
+
locale: en
|
|
790
|
+
title: Welcome Page Content
|
|
791
|
+
description: Content for the main welcome page
|
|
792
|
+
tags:
|
|
793
|
+
- page
|
|
794
|
+
- welcome
|
|
795
|
+
---
|
|
796
|
+
|
|
797
|
+
# Welcome to Our Platform
|
|
798
|
+
|
|
799
|
+
## Build amazing applications with ease
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
### Fichier de contenu YAML
|
|
803
|
+
|
|
804
|
+
```yaml
|
|
805
|
+
key: welcome-page
|
|
806
|
+
title: Welcome Page Content
|
|
807
|
+
description: Content for the main welcome page
|
|
808
|
+
locale: "en"
|
|
809
|
+
tags:
|
|
810
|
+
- page
|
|
811
|
+
- welcome
|
|
812
|
+
content:
|
|
813
|
+
hero:
|
|
814
|
+
title: Welcome to Our Platform
|
|
815
|
+
subtitle: Build amazing applications with ease
|
|
816
|
+
```
|
|
817
|
+
|
|
781
818
|
### Fichiers de contenu par langue
|
|
782
819
|
|
|
783
820
|
Pour les dictionnaires par langue, spécifiez la propriété `locale` :
|
|
@@ -829,6 +866,10 @@ Par défaut, Intlayer surveille tous les fichiers avec les extensions suivantes
|
|
|
829
866
|
- `.content.mjx`
|
|
830
867
|
- `.content.cjs`
|
|
831
868
|
- `.content.cjx`
|
|
869
|
+
- `.content.md`
|
|
870
|
+
- `.content.mdx`
|
|
871
|
+
- `.content.yaml`
|
|
872
|
+
- `.content.yml`
|
|
832
873
|
|
|
833
874
|
Ces extensions par défaut conviennent à la plupart des applications. Cependant, lorsque vous avez des besoins spécifiques, vous pouvez définir des extensions personnalisées pour rationaliser le processus de construction et réduire le risque de conflits avec d'autres composants.
|
|
834
875
|
|