@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: Найкраще i18n рішення для Next.js у 2026 році - Звіт бенчмарку
|
|
5
5
|
description: Порівняйте бібліотеки інтернаціоналізації (i18n) для Next.js, такі як next-intl, next-i18next та Intlayer. Детальний звіт про продуктивність за розміром бандла, витоком та реактивністю.
|
|
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"
|
|
20
23
|
- version: 8.7.5
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Ініціалізація бенчмарку"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Бібліотеки i18n для Next.js
|
|
28
|
+
# Бібліотеки i18n для Next.js - Звіт бенчмарку 2026
|
|
26
29
|
|
|
27
30
|
Ця сторінка є звітом бенчмарку i18n рішень на Next.js.
|
|
28
31
|
|
|
@@ -55,9 +58,9 @@ style="border:none;"
|
|
|
55
58
|
|
|
56
59
|
Наприклад, у найгірших випадках інтернаціоналізована сторінка може стати майже в 4 рази важчою.
|
|
57
60
|
|
|
58
|
-
Інший вплив бібліотек i18n
|
|
61
|
+
Інший вплив бібліотек i18n - сповільнення розробки. Перетворення компонентів на багатомовний контент багатьма мовами займає багато часу.
|
|
59
62
|
|
|
60
|
-
Оскільки це складна проблема, існує багато рішень
|
|
63
|
+
Оскільки це складна проблема, існує багато рішень - деякі зосереджені на DX (досвід розробника), інші на продуктивності чи масштабованості тощо.
|
|
61
64
|
|
|
62
65
|
Intlayer намагається оптимізувати всі ці параметри одночасно.
|
|
63
66
|
|
|
@@ -85,17 +88,17 @@ Intlayer намагається оптимізувати всі ці парам
|
|
|
85
88
|
|
|
86
89
|
**Динамічне завантаження**
|
|
87
90
|
|
|
88
|
-
Навіть якщо ви оголошуєте роути на кшталт `[locale]/page.tsx`, використовуючи Webpack або Turbopack, і навіть якщо визначено `generateStaticParams`, бандлер не розглядає `locale` як статичну константу. Це означає, що він може додати контент для всіх мов у кожну сторінку. Основний спосіб обмежити це
|
|
91
|
+
Навіть якщо ви оголошуєте роути на кшталт `[locale]/page.tsx`, використовуючи Webpack або Turbopack, і навіть якщо визначено `generateStaticParams`, бандлер не розглядає `locale` як статичну константу. Це означає, що він може додати контент для всіх мов у кожну сторінку. Основний спосіб обмежити це - завантажувати контент через динамічний імпорт (наприклад, `import('./locales/${locale}.json')`).
|
|
89
92
|
|
|
90
93
|
На етапі збірки (build time) Next.js створює один JS-бандл на локаль (наприклад, `./locales_uk_12345.js`). Після того, як сайт надіслано клієнту, під час запуску сторінки браузер робить додатковий HTTP-запит для потрібного JS-файлу.
|
|
91
94
|
|
|
92
|
-
> Інший спосіб вирішення цієї проблеми
|
|
95
|
+
> Інший спосіб вирішення цієї проблеми - використання `fetch()` для динамічного завантаження JSON. Саме так працює `Tolgee`, коли JSON знаходиться в `/public`, або `next-translate`, який використовує `getStaticProps` для завантаження контенту. Процес ідентичний: браузер робить додатковий HTTP-запит для завантаження ресурсу.
|
|
93
96
|
|
|
94
97
|
**Розділення контенту (Content splitting)**
|
|
95
98
|
|
|
96
99
|
Якщо ви використовуєте синтаксис на кшталт `const t = useTranslation()` + `t('my-object.my-sub-object.my-key')`, зазвичай весь JSON має бути в бандлі, щоб бібліотека могла розібрати його та знайти ключ. Велика частина цього контенту передається клієнту, навіть якщо вона не використовується на сторінці.
|
|
97
100
|
|
|
98
|
-
Щоб мінімізувати це, деякі бібліотеки просять вас вказувати для кожної сторінки, які простори імен завантажувати
|
|
101
|
+
Щоб мінімізувати це, деякі бібліотеки просять вас вказувати для кожної сторінки, які простори імен завантажувати - наприклад, `next-i18next`, `next-intl`, `lingui`, `next-translate`, `next-international`.
|
|
99
102
|
|
|
100
103
|
Натомість `Paraglide` додає додатковий крок перед збіркою, щоб перетворити JSON на плоскі символи на кшталт `const en_my_var = () => 'my value'`. Теоретично це дозволяє видаляти невикористаний контент на сторінці. Як ми побачимо, цей метод все одно має свої компроміси.
|
|
101
104
|
|
|
@@ -140,9 +143,9 @@ Intlayer намагається оптимізувати всі ці парам
|
|
|
140
143
|
|
|
141
144
|
Я запускав один і той самий багатомовний додаток у реальному браузері для кожного стеку, а потім фіксував, що насправді передавалося через мережу і скільки часу це займало. Розміри вказані **після звичайного веб-стиснення**, оскільки це ближче до того, що люди реально завантажують.
|
|
142
145
|
|
|
143
|
-
- **Розмір бібліотеки інтернаціоналізації**: Після складання, видалення невикористаного коду та мінімізації, розмір бібліотеки i18n
|
|
146
|
+
- **Розмір бібліотеки інтернаціоналізації**: Після складання, видалення невикористаного коду та мінімізації, розмір бібліотеки i18n - це розмір коду провайдерів (наприклад, `NextIntlClientProvider`) + хуків (наприклад, `useTranslations`) у порожньому компоненті. Це не включає завантаження файлів перекладу. Це показує, наскільки "важкою" є бібліотека ще до появи вашого контенту.
|
|
144
147
|
|
|
145
|
-
- **JavaScript на сторінку**: Для кожного тестового маршруту
|
|
148
|
+
- **JavaScript на сторінку**: Для кожного тестового маршруту - скільки скриптів завантажує браузер під час візиту, усереднено за сторінками тесту (і за локалями). Важкі сторінки - це повільні сторінки.
|
|
146
149
|
|
|
147
150
|
- **Витік з інших локалей (Leakage)**: Це контент тієї ж сторінки, але іншою мовою, який помилково завантажується на сторінку, що перевіряється. Цей контент є зайвим і його слід уникати (наприклад, контент сторінки `/fr/about` у бандлі сторінки `/en/about`).
|
|
148
151
|
|
|
@@ -150,7 +153,7 @@ Intlayer намагається оптимізувати всі ці парам
|
|
|
150
153
|
|
|
151
154
|
- **Середній розмір бандла компонента**: Окремі UI-елементи вимірюються **по одному**, а не ховаються всередині одного гігантського загального показника додатку. Це показує, чи інтернаціоналізація "роздуває" звичайні компоненти. Наприклад, якщо ваш компонент перерендериться, він завантажуватиме всі ці дані з пам'яті. Прив'язка гігантського JSON до будь-якого компонента схожа на підключення великого сховища невикористаних даних, що сповільнює продуктивність ваших компонентів.
|
|
152
155
|
|
|
153
|
-
- **Швидкість реакції на перемикання мови**: Я перемикаю мову через власний інтерфейс додатку і заміряю час до моменту, коли сторінка явно оновилася
|
|
156
|
+
- **Швидкість реакції на перемикання мови**: Я перемикаю мову через власний інтерфейс додатку і заміряю час до моменту, коли сторінка явно оновилася - те, що помітить відвідувач.
|
|
154
157
|
|
|
155
158
|
- **Робота рендерингу після зміни мови**: Вужчий показник: скільки зусиль витратив інтерфейс на перемальовування для нової мови після початку перемикання. Корисно, коли "відчутний" час і вартість роботи фреймворку відрізняються.
|
|
156
159
|
|
|
@@ -158,11 +161,17 @@ Intlayer намагається оптимізувати всі ці парам
|
|
|
158
161
|
|
|
159
162
|
- **Час гідратації (Hydration)**: Час, який клієнт витрачає на перетворення HTML від сервера на інтерактивний інтерфейс. Прочерк у таблицях означає, що дана реалізація не надала надійних даних про гідратацію в цьому тесті.
|
|
160
163
|
|
|
164
|
+
## Зірки на GitHub
|
|
165
|
+
|
|
166
|
+
Зірки на GitHub є потужним індикатором популярності проекту, довіри спільноти та довгострокової актуальності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проект корисним, стежать за його розвитком і, ймовірно, впровадять його. Для оцінки цінності проекту зірки допомагають порівняти інтерес до альтернатив і дають уявлення про зростання екосистеми.
|
|
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
|
## Детальні результати
|
|
162
171
|
|
|
163
|
-
### 1
|
|
172
|
+
### 1 - Рішення, яких слід уникати
|
|
164
173
|
|
|
165
|
-
Деяких рішень, таких як `gt-next` або `lingo.dev`, явно варто уникати. Вони поєднують прив'язку до вендора (vendor lock-in) із засміченням кодової бази. Попри багато годин спроб їх впровадження, я так і не зміг забезпечити їх стабільну роботу
|
|
174
|
+
Деяких рішень, таких як `gt-next` або `lingo.dev`, явно варто уникати. Вони поєднують прив'язку до вендора (vendor lock-in) із засміченням кодової бази. Попри багато годин спроб їх впровадження, я так і не зміг забезпечити їх стабільну роботу - ні на TanStack Start, ні на Next.js.
|
|
166
175
|
|
|
167
176
|
Виявлені проблеми:
|
|
168
177
|
|
|
@@ -176,12 +185,12 @@ Intlayer намагається оптимізувати всі ці парам
|
|
|
176
185
|
|
|
177
186
|
**(Lingo.dev)** (`@lingo.dev/compiler@0.4.0`):
|
|
178
187
|
|
|
179
|
-
- Перевищено квоту AI, що повністю блокує збірку
|
|
188
|
+
- Перевищено квоту AI, що повністю блокує збірку - ви не можете випустити продукт у продакшн без оплати.
|
|
180
189
|
- Компілятор пропустив майже 40% перекладеного контенту. Мені довелося переписувати всі `.map` у плоскі блоки компонентів, щоб це запрацювало.
|
|
181
190
|
- Їхній CLI працює нестабільно і часто без причини скидає конфігураційний файл.
|
|
182
191
|
- Під час збірки він повністю стирав згенеровані JSON-файли при додаванні нового контенту. У результаті кілька ключів могли знищити понад 300 наявних.
|
|
183
192
|
|
|
184
|
-
### 2
|
|
193
|
+
### 2 - Експериментальні рішення
|
|
185
194
|
|
|
186
195
|
**(Wuchale)** (`wuchale@0.22.11`):
|
|
187
196
|
|
|
@@ -193,9 +202,9 @@ Intlayer намагається оптимізувати всі ці парам
|
|
|
193
202
|
Особисто мені не подобається необхідність регенерувати JS-файли перед кожним пушем, що створює постійний ризик конфліктів під час злиття через PR. Інструмент також здається більш орієнтованим на Vite, ніж на Next.js.
|
|
194
203
|
Нарешті, порівняно з іншими рішеннями, Paraglide не використовує стор (наприклад, React context) для отримання поточної локалі для рендерингу. Для кожного обробленого вузла він запитує локаль з localStorage / cookie тощо. Це призводить до виконання непотрібної логіки, що впливає на реактивність компонентів.
|
|
195
204
|
|
|
196
|
-
> Примітка щодо paraglide: це рішення впроваджує код у вашу кодову базу для імпорту, в результаті чого показник 'розмір бібліотеки' у звіті бенчмарку становить майже 0. Генерація коду
|
|
205
|
+
> Примітка щодо paraglide: це рішення впроваджує код у вашу кодову базу для імпорту, в результаті чого показник 'розмір бібліотеки' у звіті бенчмарку становить майже 0. Генерація коду - це добре, оскільки функція, що використовується, міститиме лише необхідну логіку (повний префікс проти відсутності префікса, кукі проти сховища тощо). Для порівняння, Intlayer виконує цю фільтрацію через впровадження змінних середовища під час збірки, щоб змусити бандлер видалити невикористаний контент (tree-shaking) залежно від логіки. Завдяки цьому paraglide та intlayer виявляються в 6-10 разів легшими рішеннями, ніж i18next або next-intl.
|
|
197
206
|
|
|
198
|
-
### 3
|
|
207
|
+
### 3 - Прийнятні рішення
|
|
199
208
|
|
|
200
209
|
**(Tolgee)** (`@tolgee/react@7.0.0`):
|
|
201
210
|
|
|
@@ -203,11 +212,11 @@ Intlayer намагається оптимізувати всі ці парам
|
|
|
203
212
|
|
|
204
213
|
**(Next Intl)** (`next-intl@4.9.1`):
|
|
205
214
|
|
|
206
|
-
`next-intl`
|
|
215
|
+
`next-intl` - це зараз найбільш трендовий варіант, який ШІ-агенти просувають найбільше, але на мій погляд, помилково. Почати роботу легко. На практиці ж оптимізація для обмеження витоків є складною. Поєднання динамічного завантаження + просторів імен + типів TypeScript сильно сповільнює розробку. Пакет також досить важкий (~13 КБ для `NextIntlClientProvider` + `useTranslations`, що майже вдвічі більше за `next-intlayer`). **next-intl** раніше блокував статичний рендеринг сторінок Next.js. Він надає хелпер `setRequestLocale()`. Здається, це частково вирішено для централізованих файлів на кшталт `en.json` / `fr.json`, але статичний рендеринг все одно ламається, коли контент розділений на простори імен, як-от `en/shared.json` / `fr/shared.json` / `es/shared.json`.
|
|
207
216
|
|
|
208
217
|
**(Next I18next)** (`next-i18next@16.0.5`):
|
|
209
218
|
|
|
210
|
-
`next-i18next`
|
|
219
|
+
`next-i18next` - це, мабуть, найпопулярніший варіант, оскільки він був одним із перших рішень i18n для JS-додатків. Він має багато плагінів від спільноти. Має ті ж основні недоліки, що й `next-intl`. Пакет особливо важкий (~18 КБ для `I18nProvider` + `useTranslation`, приблизно втричі більше за `next-intlayer`).
|
|
211
220
|
|
|
212
221
|
Формати повідомлень також відрізняються: `next-intl` використовує ICU MessageFormat, тоді як `i18next` використовує власний формат.
|
|
213
222
|
|
|
@@ -219,11 +228,11 @@ Intlayer намагається оптимізувати всі ці парам
|
|
|
219
228
|
|
|
220
229
|
`Lingui` часто хвалять. Особисто мені робочий процес із `lingui extract` / `lingui compile` здався складнішим за альтернативи, без явних переваг. Також помічені непослідовні синтаксиси, які плутають ШІ (наприклад, `t()`, `t''`, `i18n.t()`, `<Trans>`).
|
|
221
230
|
|
|
222
|
-
### 4
|
|
231
|
+
### 4 - Рекомендації
|
|
223
232
|
|
|
224
233
|
**(Next Translate)** (`next-translate@3.1.2`):
|
|
225
234
|
|
|
226
|
-
`next-translate`
|
|
235
|
+
`next-translate` - моя основна рекомендація, якщо вам подобається API у стилі `t()`. Він елегантно працює через `next-translate-plugin`, завантажуючи простори імен через `getStaticProps` за допомогою завантажувача Webpack / Turbopack. Це також найлегший варіант у цьому списку (~2.5 КБ). Визначення просторів імен для сторінок або маршрутів у конфігу добре продумане і простіше в підтримці, ніж у **next-intl** чи **next-i18next**. У версії `3.1.2` я помітив, що статичний рендеринг не працював; Next.js переходив до динамічного рендерингу.
|
|
227
236
|
|
|
228
237
|
**(Intlayer)** (`next-intlayer@8.7.12`):
|
|
229
238
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
4
|
-
title: Найкраще i18n рішення для Solid у 2026 році
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
|
+
title: Найкраще i18n рішення для Solid у 2026 році - Звіт про бенчмарк
|
|
5
5
|
description: Порівняйте бібліотеки інтернаціоналізації (i18n) для Solid, такі як solid-primitives, solid-i18next та Intlayer. Детальний звіт про продуктивність щодо розміру бандла, витоків та реактивності.
|
|
6
6
|
keywords:
|
|
7
7
|
- benchmark
|
|
@@ -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: "Додати порівняння зірок GitHub"
|
|
20
23
|
- version: 8.7.12
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Ініціалізація бенчмарку"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Бібліотеки i18n для Solid
|
|
28
|
+
# Бібліотеки i18n для Solid - Звіт про бенчмарк 2026
|
|
26
29
|
|
|
27
30
|
Ця сторінка є звітом про бенчмарк рішень i18n на Solid.
|
|
28
31
|
|
|
@@ -99,7 +102,7 @@ style="border:none;"
|
|
|
99
102
|
- `solid-i18next` (v17.0.2)
|
|
100
103
|
- `@inlang/paraglide-js` (v2.17.0)
|
|
101
104
|
|
|
102
|
-
Фреймворк
|
|
105
|
+
Фреймворк - `Solid` з багатомовним додатком із **10 сторінок** і **10 мов**.
|
|
103
106
|
|
|
104
107
|
Ми порівняли **чотири стратегії завантаження**:
|
|
105
108
|
|
|
@@ -115,13 +118,19 @@ style="border:none;"
|
|
|
115
118
|
- **Scoped static**: Зберігає код організованим (логічне розділення) без складних додаткових мережевих запитів.
|
|
116
119
|
- **Scoped dynamic**: Найкращий підхід для _code splitting_ та продуктивності. Мінімізує пам'ять, завантажуючи лише те, що потрібно поточному перегляду та активній локалі.
|
|
117
120
|
|
|
121
|
+
## Зірки на GitHub
|
|
122
|
+
|
|
123
|
+
Зірки на GitHub є потужним індикатором популярності проекту, довіри спільноти та довгострокової актуальності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проект корисним, стежать за його розвитком і, ймовірно, впровадять його. Для оцінки цінності проекту зірки допомагають порівняти інтерес до альтернатив і дають уявлення про зростання екосистеми.
|
|
124
|
+
|
|
125
|
+
[](https://www.star-history.com/#solidjs-community/solid-primitives&mbarzda/solid-i18next&opral/paraglide-js&aymericzip/intlayer)
|
|
126
|
+
|
|
118
127
|
## Результати детально
|
|
119
128
|
|
|
120
|
-
### 1
|
|
129
|
+
### 1 - Рішення, яких слід уникати
|
|
121
130
|
|
|
122
131
|
> В екосистемі Solid немає очевидних рішень, яких слід уникати.
|
|
123
132
|
|
|
124
|
-
### 2
|
|
133
|
+
### 2 - Прийнятні рішення
|
|
125
134
|
|
|
126
135
|
**(solid-i18next)** (`solid-i18next@17.0.2`):
|
|
127
136
|
|
|
@@ -142,7 +151,7 @@ Solid primitive надзвичайно легкий і ефективний. Я
|
|
|
142
151
|
Особисто я не прихильник того, щоб перегенерувати файли JS перед кожним пушем, що створює постійний ризик конфліктів при злитті через PR.
|
|
143
152
|
Нарешті, у порівнянні з іншими рішеннями, Paraglide не використовує стор (наприклад, Solid signal) для отримання поточної локалі для рендерингу контенту. Для кожного розібраного вузла він запитуватиме локаль з localStorage / cookie тощо. Це призводить до виконання непотрібної логіки, яка впливає на реактивність компонентів.
|
|
144
153
|
|
|
145
|
-
### 3
|
|
154
|
+
### 3 - Рекомендації
|
|
146
155
|
|
|
147
156
|
**(Intlayer)** (`solid-intlayer@8.7.12`):
|
|
148
157
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
4
|
-
title: Найкраще i18n рішення для Svelte у 2026 році
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
|
+
title: Найкраще i18n рішення для Svelte у 2026 році - Звіт про бенчмарк
|
|
5
5
|
description: Порівняйте бібліотеки інтернаціоналізації (i18n) для Svelte, такі як svelte-i18n, Paraglide та Intlayer. Детальний звіт про продуктивність щодо розміру бандла, витоків та реактивності.
|
|
6
6
|
keywords:
|
|
7
7
|
- benchmark
|
|
@@ -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: "Додати порівняння зірок GitHub"
|
|
20
23
|
- version: 8.7.12
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Ініціалізація бенчмарку"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Бібліотеки i18n для Svelte
|
|
28
|
+
# Бібліотеки i18n для Svelte - Звіт про бенчмарк 2026
|
|
26
29
|
|
|
27
30
|
Ця сторінка є звітом про бенчмарк рішень i18n на Svelte.
|
|
28
31
|
|
|
@@ -97,7 +100,7 @@ style="border:none;"
|
|
|
97
100
|
- `svelte-i18n` (v4.0.1)
|
|
98
101
|
- `@inlang/paraglide-js` (v2.17.0)
|
|
99
102
|
|
|
100
|
-
Фреймворк
|
|
103
|
+
Фреймворк - `Svelte` з багатомовним додатком із **10 сторінок** і **10 мов**.
|
|
101
104
|
|
|
102
105
|
Ми порівняли **чотири стратегії завантаження**:
|
|
103
106
|
|
|
@@ -113,13 +116,19 @@ style="border:none;"
|
|
|
113
116
|
- **Scoped static**: Зберігає код організованим (логічне розділення) без складних додаткових мережевих запитів.
|
|
114
117
|
- **Scoped dynamic**: Найкращий підхід для _code splitting_ та продуктивності. Мінімізує пам'ять, завантажуючи лише те, що потрібно поточному перегляду та активній локалі.
|
|
115
118
|
|
|
119
|
+
## Зірки на GitHub
|
|
120
|
+
|
|
121
|
+
Зірки на GitHub є потужним індикатором популярності проекту, довіри спільноти та довгострокової актуальності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проект корисним, стежать за його розвитком і, ймовірно, впровадять його. Для оцінки цінності проекту зірки допомагають порівняти інтерес до альтернатив і дають уявлення про зростання екосистеми.
|
|
122
|
+
|
|
123
|
+
[](https://www.star-history.com/#kaisermann/svelte-i18n&opral/paraglide-js&aymericzip/intlayer)
|
|
124
|
+
|
|
116
125
|
## Результати детально
|
|
117
126
|
|
|
118
|
-
### 1
|
|
127
|
+
### 1 - Рішення, яких слід уникати
|
|
119
128
|
|
|
120
129
|
> В екосистемі Svelte немає очевидних рішень, яких слід уникати.
|
|
121
130
|
|
|
122
|
-
### 2
|
|
131
|
+
### 2 - Прийнятні рішення
|
|
123
132
|
|
|
124
133
|
**(Paraglide)** (`@inlang/paraglide-js@2.17.0`):
|
|
125
134
|
|
|
@@ -129,13 +138,13 @@ style="border:none;"
|
|
|
129
138
|
Особисто я не прихильник того, щоб перегенерувати файли JS перед кожним пушем, що створює постійний ризик конфліктів при злитті через PR. Інструмент також здається більш зосередженим на Vite, ніж на Next.js.
|
|
130
139
|
Нарешті, у порівнянні з іншими рішеннями, Paraglide не використовує стор (наприклад, Svelte store) для отримання поточної локалі для рендерингу контенту. Для кожного розібраного вузла він запитуватиме локаль з localStorage / cookie тощо. Це призводить до виконання непотрібної логіки, яка впливає на реактивність компонентів.
|
|
131
140
|
|
|
132
|
-
> Примітка щодо paraglide: рішення впорскує код у вашу кодову базу для імпорту; як результат, метрика 'lib size' у звіті бенчмарку становить майже 0. Генерація коду
|
|
141
|
+
> Примітка щодо paraglide: рішення впорскує код у вашу кодову базу для імпорту; як результат, метрика 'lib size' у звіті бенчмарку становить майже 0. Генерація коду - це добре, тому що використана функція включатиме лише необхідну логіку (префікс скрізь проти відсутності префікса, кукі проти сховища тощо). Для порівняння, Intlayer виконує цю фільтрацію за допомогою впорскування змінних оточення під час збірки, щоб змусити бандлер виконувати tree-shaking контенту залежно від логіки. Завдяки цьому paraglide та intlayer стають у 6–10 разів легшими рішеннями, ніж i18next або next-intl.
|
|
133
142
|
|
|
134
143
|
**(svelte-i18n)** (`svelte-i18n@3.4.0`):
|
|
135
144
|
|
|
136
145
|
Це рішення задовольняє всі потреби i18n у проєкті Svelte. Але як і у випадку з i18next або іншими великими i18n рішеннями, воно трохи важке (~15.9kb, що приблизно в 7 разів більше за `svelte-intlayer`).
|
|
137
146
|
|
|
138
|
-
### 3
|
|
147
|
+
### 3 - Рекомендації
|
|
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: Найкраще i18n рішення для TanStack Start у 2026 році - Звіт бенчмарку
|
|
5
5
|
description: Порівняйте бібліотеки інтернаціоналізації для TanStack Start, такі як react-i18next, use-intl та Intlayer. Детальний звіт про продуктивність за розміром бандла, витоком та реактивністю.
|
|
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: "Додати порівняння зірок GitHub"
|
|
20
23
|
- version: 8.7.5
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Ініціалізація бенчмарку"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Бібліотеки i18n для TanStack Start
|
|
28
|
+
# Бібліотеки i18n для TanStack Start - Звіт бенчмарку 2026
|
|
26
29
|
|
|
27
30
|
Ця сторінка є звітом бенчмарку i18n рішень на TanStack Start.
|
|
28
31
|
|
|
@@ -105,7 +108,7 @@ history:
|
|
|
105
108
|
- `gt-react` (vlatest)
|
|
106
109
|
- `lingo.dev` (v0.133.9)
|
|
107
110
|
|
|
108
|
-
Фреймворк
|
|
111
|
+
Фреймворк - `TanStack Start` з багатомовним додатком на **10 сторінок** та **10 мов**.
|
|
109
112
|
|
|
110
113
|
Ми порівняли **чотири стратегії завантаження**:
|
|
111
114
|
|
|
@@ -121,9 +124,15 @@ history:
|
|
|
121
124
|
- **Scoped static**: Зберігає код структурованим (логічний поділ) без складних мережевих запитів.
|
|
122
125
|
- **Scoped dynamic**: Найкращий підхід для _розділення коду_ (code splitting) та продуктивності. Мінімізує обсяг пам'яті, завантажуючи лише те, що потрібно поточному перегляду та активній локалі.
|
|
123
126
|
|
|
127
|
+
## Зірки на GitHub
|
|
128
|
+
|
|
129
|
+
Зірки на GitHub є потужним індикатором популярності проекту, довіри спільноти та довгострокової актуальності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проект корисним, стежать за його розвитком і, ймовірно, впровадять його. Для оцінки цінності проекту зірки допомагають порівняти інтерес до альтернатив і дають уявлення про зростання екосистеми.
|
|
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
|
## Детальні результати
|
|
125
134
|
|
|
126
|
-
### 1
|
|
135
|
+
### 1 - Рішення, яких слід уникати
|
|
127
136
|
|
|
128
137
|
Деяких рішень, таких як `gt-react` або `lingo.dev`, явно варто триматися подалі. Вони поєднують прив'язку до вендора із засміченням вашої кодової бази. Гірше того: попри багато годин спроб їх впровадження, я так і не зміг забезпечити їх коректну роботу на TanStack Start (аналогічно до `gt-next` на Next.js).
|
|
129
138
|
|
|
@@ -145,19 +154,19 @@ history:
|
|
|
145
154
|
- Під час збірки він повністю стирав згенеровані JSON-файли при додаванні нового контенту. У результаті лише кілька ключів могли знищити сотні наявних.
|
|
146
155
|
- Я стикнувся з проблемами реактивності бібліотеки в TanStack Start: при зміні локалі довелося примусово перерендерити провайдер, щоб це запрацювало.
|
|
147
156
|
|
|
148
|
-
### 2
|
|
157
|
+
### 2 - Експериментальні рішення
|
|
149
158
|
|
|
150
159
|
**(Wuchale)** (`wuchale@0.22.11`):
|
|
151
160
|
|
|
152
161
|
Ідея `Wuchale` цікава, але поки що не є життєздатним рішенням. Я зіткнувся з проблемами реактивності бібліотеки і був змушений примусово перерендерити провайдер, щоб додаток запрацював на TanStack Start. Документація також досить нечітка, що ускладнює освоєння.
|
|
153
162
|
|
|
154
|
-
### 3
|
|
163
|
+
### 3 - Прийнятні рішення
|
|
155
164
|
|
|
156
165
|
**(Paraglide)** (`@inlang/paraglide-js@2.15.1`):
|
|
157
166
|
|
|
158
167
|
`Paraglide` пропонує інноваційний, добре продуманий підхід. Проте в цьому тесті рекламований компанією tree-shaking не спрацював ні для моєї реалізації на Next.js, ні для TanStack Start. Робочий процес і DX також складніші за інші варіанти. Особисто я не прихильник необхідності регенерувати JS-файли перед кожним пушем, що створює постійний ризик конфліктів під час злиття для розробників через PR.
|
|
159
168
|
|
|
160
|
-
> Примітка щодо paraglide: це рішення впорскує код у вашу кодову базу для імпорту; як наслідок, метрика 'lib size' у звіті бенчмарку становить майже 0. Генерація коду
|
|
169
|
+
> Примітка щодо paraglide: це рішення впорскує код у вашу кодову базу для імпорту; як наслідок, метрика 'lib size' у звіті бенчмарку становить майже 0. Генерація коду - це добре, оскільки використовувана функція включатиме лише необхідну логіку (префікс усюди проти відсутності префікса, куки проти сховища тощо). Для порівняння, Intlayer виконує це фільтрування за допомогою впорскування змінних оточення в збірку, щоб змусити бандлер виконати tree-shake контенту залежно від логіки. Завдяки цьому paraglide та intlayer врешті-решт стають у 6–10 разів легшими рішеннями, ніж i18next або next-intl.
|
|
161
170
|
|
|
162
171
|
**(Tolgee)** (`@tolgee/react@7.0.0`):
|
|
163
172
|
|
|
@@ -167,17 +176,17 @@ history:
|
|
|
167
176
|
|
|
168
177
|
**(use-intl)** (`use-intl@4.9.1`):
|
|
169
178
|
|
|
170
|
-
`use-intl`
|
|
179
|
+
`use-intl` - це зараз наймодніша частина "intl" в екосистемі React (та ж родина, що й `next-intl`), яку часто просувають ШІ-агенти, але на мій погляд - помилково в контексті продуктивності. Почати роботу досить просто. На практиці ж процес оптимізації та обмеження витоків є досить складним. Аналогічно, поєднання динамічного завантаження + просторів імен + типів TypeScript сильно сповільнює розробку.
|
|
171
180
|
|
|
172
181
|
У TanStack Start ви уникаєте специфічних пасток Next.js (`setRequestLocale`, статичний рендеринг), але основна проблема та ж сама: без суворої дисципліни бандл швидко перевантажується повідомленнями, а підтримка просторів імен для кожного маршруту стає виснажливою.
|
|
173
182
|
|
|
174
183
|
**(react-i18next)** (`react-i18next@17.0.2`):
|
|
175
184
|
|
|
176
|
-
`react-i18next`
|
|
185
|
+
`react-i18next` - це, мабуть, найпопулярніший варіант, оскільки він був одним із перших, хто задовольнив потреби i18n у JS-додатках. Він також має великий набір плагінів від спільноти для конкретних проблем.
|
|
177
186
|
|
|
178
187
|
Проте він має ті ж недоліки, що й стеки на базі `t('a.b.c')`: оптимізація можлива, але забирає багато часу, а великі проекти ризикують скотитися до поганих практик (простори імен + динамічне завантаження + типи).
|
|
179
188
|
|
|
180
|
-
Формати повідомлень також відрізняються: `use-intl` використовує ICU MessageFormat, тоді як `i18next` має власний формат
|
|
189
|
+
Формати повідомлень також відрізняються: `use-intl` використовує ICU MessageFormat, тоді як `i18next` має власний формат - це ускладнює інструментарій або міграцію, якщо ви їх змішуєте.
|
|
181
190
|
|
|
182
191
|
**(Lingui)** (`@lingui/core@5.3.0`):
|
|
183
192
|
|
|
@@ -185,9 +194,9 @@ history:
|
|
|
185
194
|
|
|
186
195
|
**(react-intl)** (`react-intl@10.1.1`):
|
|
187
196
|
|
|
188
|
-
`react-intl`
|
|
197
|
+
`react-intl` - це продуктивна реалізація від команди Format.js. DX залишається багатослівним: `const intl = useIntl()` + `intl.formatMessage({ id: "xx.xx" })` додає складності, додаткової роботи JavaScript та прив'язує глобальний екземпляр i18n до багатьох вузлів у React-дереві.
|
|
189
198
|
|
|
190
|
-
### 4
|
|
199
|
+
### 4 - Рекомендації
|
|
191
200
|
|
|
192
201
|
Цей бенчмарк TanStack Start не має прямого еквівалента `next-translate` (Next.js плагін + `getStaticProps`). Командам, які справді хочуть API у стилі `t()` зі зрілою екосистемою, `react-i18next` та `use-intl` залишаються "розумним" вибором, але будьте готові витратити багато часу на оптимізацію для уникнення витоків.
|
|
193
202
|
|
package/docs/uk/benchmark/vue.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
4
|
-
title: Найкраще i18n рішення для Vue у 2026 році
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
|
+
title: Найкраще i18n рішення для Vue у 2026 році - Звіт про бенчмарк
|
|
5
5
|
description: Порівняйте бібліотеки інтернаціоналізації (i18n) для Vue, такі як vue-i18n, fluent-vue та Intlayer. Детальний звіт про продуктивність щодо розміру бандла, витоків та реактивності.
|
|
6
6
|
keywords:
|
|
7
7
|
- benchmark
|
|
@@ -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: "Додати порівняння зірок GitHub"
|
|
20
23
|
- version: 8.7.12
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Ініціалізація бенчмарку"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Бібліотеки i18n для Vue
|
|
28
|
+
# Бібліотеки i18n для Vue - Звіт про бенчмарк 2026
|
|
26
29
|
|
|
27
30
|
Ця сторінка є звітом про бенчмарк рішень i18n на Vue.
|
|
28
31
|
|
|
@@ -97,7 +100,7 @@ style="border:none;"
|
|
|
97
100
|
- `vue-i18n` (v11.4.0)
|
|
98
101
|
- `fluent-vue` (v3.8.2)
|
|
99
102
|
|
|
100
|
-
Фреймворк
|
|
103
|
+
Фреймворк - `Vue` з багатомовним додатком із **10 сторінок** і **10 мов**.
|
|
101
104
|
|
|
102
105
|
Ми порівняли **чотири стратегії завантаження**:
|
|
103
106
|
|
|
@@ -117,17 +120,17 @@ style="border:none;"
|
|
|
117
120
|
|
|
118
121
|
Я запустив той самий багатомовний додаток у реальному браузері для кожного стека, а потім записав, що насправді пройшло мережею і скільки часу це зайняло. Розміри вказані **після звичайного веб-стиснення**, оскільки це ближче до того, що люди насправді завантажують, ніж необроблена кількість рядків вихідного коду.
|
|
119
122
|
|
|
120
|
-
- **Розмір бібліотеки інтернаціоналізації**: Після бандлінгу, tree-shaking та мініфікації розмір бібліотеки i18n
|
|
123
|
+
- **Розмір бібліотеки інтернаціоналізації**: Після бандлінгу, tree-shaking та мініфікації розмір бібліотеки i18n - це розмір коду провайдерів + composables у порожньому компоненті. Він не включає завантаження файлів перекладу. Це відповідає на питання, наскільки "дорогою" є бібліотека до того, як ваш контент з'явиться в кадрі.
|
|
121
124
|
|
|
122
|
-
- **JavaScript на сторінку**: Для кожного маршруту бенчмарку, скільки скриптів завантажує браузер для цього відвідування, усереднено за сторінками в наборі (і за локалями). Важкі сторінки
|
|
125
|
+
- **JavaScript на сторінку**: Для кожного маршруту бенчмарку, скільки скриптів завантажує браузер для цього відвідування, усереднено за сторінками в наборі (і за локалями). Важкі сторінки - це повільні сторінки.
|
|
123
126
|
|
|
124
127
|
- **Витік з інших локалей (Leakage)**: Це контент тієї ж сторінки, але іншою мовою, який помилково завантажується на сторінці, що перевіряється. Цей контент є непотрібним і його слід уникати (наприклад: контент сторінки `/fr/about` у бандлі сторінки `/en/about`).
|
|
125
128
|
|
|
126
129
|
- **Витік з інших маршрутів**: Та ж ідея для **інших екранів** у додатку: чи додається їхній текст, коли ви відкрили лише одну сторінку (наприклад: контент сторінки `/en/about` у бандлі сторінки `/en/contact`). Високий бал вказує на слабкий поділ або занадто широкі бандли.
|
|
127
130
|
|
|
128
|
-
- **Середній розмір бандла компонента**: Загальні елементи інтерфейсу вимірюються **по одному**, замість того щоб ховатися всередині одного гігантського числа додатка. Це показує, чи інтернаціоналізація непомітно роздуває повсякденні компоненти. Наприклад, якщо ваш компонент перерендерюється, він завантажуватиме всі ці дані з пам'яті. Прикріплення гігантського JSON до будь-якого компонента
|
|
131
|
+
- **Середній розмір бандла компонента**: Загальні елементи інтерфейсу вимірюються **по одному**, замість того щоб ховатися всередині одного гігантського числа додатка. Це показує, чи інтернаціоналізація непомітно роздуває повсякденні компоненти. Наприклад, якщо ваш компонент перерендерюється, він завантажуватиме всі ці дані з пам'яті. Прикріплення гігантського JSON до будь-якого компонента - це як підключення великого сховища невикористовуваних даних, що сповільнить продуктивність ваших компонентів.
|
|
129
132
|
|
|
130
|
-
- **Швидкість реакції на зміну мови**: Я змінюю мову за допомогою власного контролера додатка і вимірюю час, поки сторінка чітко не зміниться
|
|
133
|
+
- **Швидкість реакції на зміну мови**: Я змінюю мову за допомогою власного контролера додатка і вимірюю час, поки сторінка чітко не зміниться - те, що помітить відвідувач.
|
|
131
134
|
|
|
132
135
|
- **Робота рендерингу після зміни мови**: Більш точне спостереження: скільки зусиль доклав інтерфейс для перемальовування для нової мови після початку зміни. Корисно, коли "відчутний" час і витрати фреймворку розходяться.
|
|
133
136
|
|
|
@@ -135,13 +138,19 @@ style="border:none;"
|
|
|
135
138
|
|
|
136
139
|
- **Час гідратації (Hydration)**: Час, який клієнт витрачає на перетворення серверного HTML на інтерактивний інтерфейс. Тире в таблицях означає, що ця реалізація не надала надійного показника гідратації в цьому бенчмарку.
|
|
137
140
|
|
|
141
|
+
## Зірки на GitHub
|
|
142
|
+
|
|
143
|
+
Зірки на GitHub є потужним індикатором популярності проекту, довіри спільноти та довгострокової актуальності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проект корисним, стежать за його розвитком і, ймовірно, впровадять його. Для оцінки цінності проекту зірки допомагають порівняти інтерес до альтернатив і дають уявлення про зростання екосистеми.
|
|
144
|
+
|
|
145
|
+
[](https://www.star-history.com/#intlify/vue-i18n&fluent-vue/fluent-vue&aymericzip/intlayer)
|
|
146
|
+
|
|
138
147
|
## Результати детально
|
|
139
148
|
|
|
140
|
-
### 1
|
|
149
|
+
### 1 - Рішення, яких слід уникати
|
|
141
150
|
|
|
142
151
|
> В екосистемі Vue немає очевидних рішень, яких слід уникати.
|
|
143
152
|
|
|
144
|
-
### 2
|
|
153
|
+
### 2 - Прийнятні рішення
|
|
145
154
|
|
|
146
155
|
**(vue-i18n)** (`vue-i18n@11.4.0`):
|
|
147
156
|
|
|
@@ -153,7 +162,7 @@ style="border:none;"
|
|
|
153
162
|
|
|
154
163
|
- **fluent-vue** пропонує спробу інновації через формат .ftl. Організація повідомлень чудова, легше почати роботу. Але на практиці відсутність безпеки типів підвищує ризик помилок і налагодження може швидко стати трудомістким. Більше того, це рішення завантажує повідомлення за допомогою плагіна vite, який змушує завантажувати весь контент усіма мовами на кожну сторінку. Крім того, це надзвичайно важке рішення (~92.7kb, що приблизно в 34 рази більше за `vue-intlayer`).
|
|
155
164
|
|
|
156
|
-
### 3
|
|
165
|
+
### 3 - Рекомендації
|
|
157
166
|
|
|
158
167
|
**(Intlayer)** (`vue-intlayer@8.7.12`):
|
|
159
168
|
|
|
@@ -35,7 +35,7 @@ history:
|
|
|
35
35
|
|
|
36
36
|
## Сканування бандла
|
|
37
37
|
|
|
38
|
-
Аналіз бандла
|
|
38
|
+
Аналіз бандла - це перший крок до виявлення "важких" JSON-файлів та можливостей розділення коду. Ці інструменти генерують візуальну деревоподібну карту (treemap) скомпільованого коду вашого застосунку, дозволяючи вам точно побачити, які бібліотеки займають найбільше місця.
|
|
39
39
|
|
|
40
40
|
<Tabs>
|
|
41
41
|
<Tab value="vite">
|