@intlayer/docs 8.9.7 → 8.10.0-canary.0
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/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +0 -2
- package/blog/en/vue-i18n_vs_intlayer.md +0 -2
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +0 -2
- package/blog/id/vue-i18n_vs_intlayer.md +0 -2
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +0 -2
- package/blog/pl/vue-i18n_vs_intlayer.md +0 -2
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +0 -2
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +0 -2
- package/blog/tr/vue-i18n_vs_intlayer.md +0 -2
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +0 -2
- package/blog/uk/vue-i18n_vs_intlayer.md +0 -2
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +0 -2
- package/blog/vi/vue-i18n_vs_intlayer.md +0 -2
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/doc.d.ts.map +1 -1
- package/dist/types/frequentQuestions.d.ts.map +1 -1
- package/dist/types/legal.d.ts.map +1 -1
- 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/interest_of_intlayer.md +0 -2
- 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/interest_of_intlayer.md +0 -2
- 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/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/de/interest_of_intlayer.md +0 -2
- 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 +38 -1
- package/docs/en/interest_of_intlayer.md +0 -2
- 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 +37 -1
- package/docs/en-GB/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/es/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/fr/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/hi/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/id/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/it/interest_of_intlayer.md +0 -2
- 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/dictionary/markdown.md +36 -1
- package/docs/ja/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/ko/interest_of_intlayer.md +0 -2
- 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/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/pl/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/pt/interest_of_intlayer.md +0 -2
- 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 +42 -7
- package/docs/ru/interest_of_intlayer.md +3 -5
- 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 +36 -1
- package/docs/tr/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/uk/interest_of_intlayer.md +2 -4
- 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/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/vi/interest_of_intlayer.md +0 -2
- 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 +36 -1
- package/docs/zh/interest_of_intlayer.md +0 -2
- 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/docs/zh-TW/interest_of_intlayer.md +0 -2
- package/frequent_questions/ru/intlayerNode.md +2 -2
- package/frequent_questions/uk/intlayerNode.md +2 -2
- package/package.json +7 -7
- package/src/blog.ts +4 -1
- package/src/frequentQuestions.ts +4 -1
- package/src/legal.ts +4 -1
|
@@ -41,7 +41,7 @@ history:
|
|
|
41
41
|
<iframe
|
|
42
42
|
src="https://ide.intlayer.org/aymericzip/intlayer-next-14-template?file=intlayer.config.ts"
|
|
43
43
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
44
|
-
title="Demo CodeSandbox
|
|
44
|
+
title="Demo CodeSandbox - Intlayer"
|
|
45
45
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
46
46
|
loading="lazy"
|
|
47
47
|
/>
|
|
@@ -52,7 +52,7 @@ history:
|
|
|
52
52
|
<iframe
|
|
53
53
|
src="https://intlayer-next-14-template.vercel.app"
|
|
54
54
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
55
|
-
title="Demo
|
|
55
|
+
title="Demo - intlayer-next-14-template"
|
|
56
56
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
57
57
|
loading="lazy"
|
|
58
58
|
/>
|
|
@@ -72,7 +72,7 @@ Dengan Intlayer, Anda dapat:
|
|
|
72
72
|
<iframe
|
|
73
73
|
src="https://intlayer-nuxt-4-template.vercel.app"
|
|
74
74
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
75
|
-
title="Demo
|
|
75
|
+
title="Demo - intlayer-nuxt-4-template"
|
|
76
76
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
77
77
|
loading="lazy"
|
|
78
78
|
/>
|
|
@@ -50,7 +50,7 @@ history:
|
|
|
50
50
|
<iframe
|
|
51
51
|
src="https://intlayer-react-native.vercel.app"
|
|
52
52
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
53
|
-
title="Demo
|
|
53
|
+
title="Demo - intlayer-react-native-template"
|
|
54
54
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
55
55
|
loading="lazy"
|
|
56
56
|
/>
|
|
@@ -126,7 +126,7 @@ bun x intlayer init
|
|
|
126
126
|
<iframe
|
|
127
127
|
src="https://intlayer-react-router-v7.vercel.app"
|
|
128
128
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
129
|
-
title="Demo
|
|
129
|
+
title="Demo - intlayer-react-router-v7-template"
|
|
130
130
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
131
131
|
loading="lazy"
|
|
132
132
|
/>
|
|
@@ -125,7 +125,7 @@ bun x intlayer init
|
|
|
125
125
|
<iframe
|
|
126
126
|
src="https://intlayer-react-router-v7.vercel.app"
|
|
127
127
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
128
|
-
title="Demo
|
|
128
|
+
title="Demo - intlayer-react-router-v7-template"
|
|
129
129
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
130
130
|
loading="lazy"
|
|
131
131
|
/>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2026-03-20
|
|
3
3
|
updatedAt: 2026-05-06
|
|
4
4
|
title: Cara Menyiapkan Intlayer dengan Storybook
|
|
5
|
-
description: Pelajari cara membuat sistem desain Anda multibahasa menggunakan Intlayer dengan Storybook
|
|
5
|
+
description: Pelajari cara membuat sistem desain Anda multibahasa menggunakan Intlayer dengan Storybook - kompilasi deklarasi konten, tambahkan pengalih lokal, dan pratinjau komponen Anda dalam bahasa apa pun.
|
|
6
6
|
keywords:
|
|
7
7
|
- Internasionalisasi
|
|
8
8
|
- Dokumentasi
|
|
@@ -33,7 +33,7 @@ history:
|
|
|
33
33
|
|
|
34
34
|
## Apa itu Intlayer?
|
|
35
35
|
|
|
36
|
-
**Intlayer** adalah perpustakaan internasionalisasi (i18n) sumber terbuka yang inovatif yang dirancang untuk menyederhanakan dukungan multibahasa dalam aplikasi web modern. Ini bekerja pada **tingkat komponen**
|
|
36
|
+
**Intlayer** adalah perpustakaan internasionalisasi (i18n) sumber terbuka yang inovatif yang dirancang untuk menyederhanakan dukungan multibahasa dalam aplikasi web modern. Ini bekerja pada **tingkat komponen** - setiap komponen memiliki deklarasi kontennya sendiri - menjaga terjemahan tetap berada di tempat yang sama dengan kode yang menggunakannya.
|
|
37
37
|
|
|
38
38
|
Dengan Intlayer Anda dapat:
|
|
39
39
|
|
|
@@ -83,9 +83,9 @@ bun add vite-intlayer --dev
|
|
|
83
83
|
|
|
84
84
|
| Paket | Peran |
|
|
85
85
|
| ---------------- | ------------------------------------------------------------- |
|
|
86
|
-
| `intlayer` | Inti
|
|
87
|
-
| `react-intlayer` | Pengikatan React
|
|
88
|
-
| `vite-intlayer` | Plugin Vite
|
|
86
|
+
| `intlayer` | Inti - konfigurasi, kompilasi konten, CLI |
|
|
87
|
+
| `react-intlayer` | Pengikatan React - `IntlayerProvider`, hook `useIntlayer` |
|
|
88
|
+
| `vite-intlayer` | Plugin Vite - memantau dan mengompilasi file deklarasi konten |
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
@@ -291,7 +291,7 @@ export default config;
|
|
|
291
291
|
|
|
292
292
|
### Langkah 4: Tambahkan Dekorator `IntlayerProvider` dan Bilah Alat Lokal
|
|
293
293
|
|
|
294
|
-
Sama seperti pengaturan Vite
|
|
294
|
+
Sama seperti pengaturan Vite - tambahkan dekorator dan tipe lokal global di `.storybook/preview.tsx`:
|
|
295
295
|
|
|
296
296
|
```tsx fileName=".storybook/preview.tsx" codeFormat="typescript"
|
|
297
297
|
import type { Preview, StoryContext } from "@storybook/react";
|
|
@@ -411,7 +411,7 @@ const meta: Meta<typeof CopyButton> = {
|
|
|
411
411
|
export default meta;
|
|
412
412
|
type Story = StoryObj<typeof CopyButton>;
|
|
413
413
|
|
|
414
|
-
/** Story default
|
|
414
|
+
/** Story default - ubah lokal di bilah alat untuk melihat pratinjau terjemahan. */
|
|
415
415
|
export const Default: Story = {
|
|
416
416
|
args: {
|
|
417
417
|
content: "npm install intlayer react-intlayer",
|
|
@@ -47,7 +47,7 @@ history:
|
|
|
47
47
|
<iframe
|
|
48
48
|
src="https://intlayer-sveltekit-template.vercel.app"
|
|
49
49
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
50
|
-
title="Demo
|
|
50
|
+
title="Demo - intlayer-sveltekit-template"
|
|
51
51
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
52
52
|
loading="lazy"
|
|
53
53
|
/>
|
|
@@ -75,7 +75,7 @@ Dengan Intlayer, Anda dapat:
|
|
|
75
75
|
<iframe
|
|
76
76
|
src="https://intlayer-tanstack-start-solid.vercel.app"
|
|
77
77
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
78
|
-
title="Demo
|
|
78
|
+
title="Demo - intlayer-tanstack-start-solid-template"
|
|
79
79
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
80
80
|
loading="lazy"
|
|
81
81
|
/>
|
|
@@ -92,7 +92,7 @@ Dengan Intlayer, Anda dapat:
|
|
|
92
92
|
<iframe
|
|
93
93
|
src="https://intlayer-tanstack-start-template.vercel.app"
|
|
94
94
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
95
|
-
title="Demo
|
|
95
|
+
title="Demo - intlayer-tanstack-start-template"
|
|
96
96
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
97
97
|
loading="lazy"
|
|
98
98
|
/>
|
|
@@ -34,7 +34,7 @@ history:
|
|
|
34
34
|
<iframe
|
|
35
35
|
src="https://ide.intlayer.org/aymericzip/intlayer-vanilla-template?file=intlayer.config.ts"
|
|
36
36
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
37
|
-
title="Demo CodeSandbox
|
|
37
|
+
title="Demo CodeSandbox - Intlayer"
|
|
38
38
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
39
39
|
loading="lazy"
|
|
40
40
|
/>
|
|
@@ -45,7 +45,7 @@ history:
|
|
|
45
45
|
<iframe
|
|
46
46
|
src="https://intlayer-vanilla-template.vercel.app"
|
|
47
47
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
48
|
-
title="Demo
|
|
48
|
+
title="Demo - intlayer-vanilla-template"
|
|
49
49
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
50
50
|
loading="lazy"
|
|
51
51
|
/>
|
|
@@ -45,7 +45,7 @@ history:
|
|
|
45
45
|
<iframe
|
|
46
46
|
src="https://intlayer-vite-lit-template.vercel.app"
|
|
47
47
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
48
|
-
title="Demo
|
|
48
|
+
title="Demo - intlayer-vite-lit-template"
|
|
49
49
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
50
50
|
loading="lazy"
|
|
51
51
|
/>
|
|
@@ -263,7 +263,7 @@ export default appContent;
|
|
|
263
263
|
|
|
264
264
|
### Langkah 6: Gunakan Intlayer di LitElement Anda
|
|
265
265
|
|
|
266
|
-
Gunakan `useIntlayer` di dalam `LitElement`. Ini mengembalikan proxy `ReactiveController` yang secara otomatis memicu perenderan ulang setiap kali bahasa aktif berubah
|
|
266
|
+
Gunakan `useIntlayer` di dalam `LitElement`. Ini mengembalikan proxy `ReactiveController` yang secara otomatis memicu perenderan ulang setiap kali bahasa aktif berubah - tidak diperlukan pengaturan tambahan.
|
|
267
267
|
|
|
268
268
|
```typescript fileName="src/my-element.ts" codeFormat="typescript"
|
|
269
269
|
import { LitElement, html } from "lit";
|
|
@@ -55,7 +55,7 @@ history:
|
|
|
55
55
|
<iframe
|
|
56
56
|
src="https://intlayer-vite-preact-template.vercel.app"
|
|
57
57
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
58
|
-
title="Demo
|
|
58
|
+
title="Demo - intlayer-vite-preact-template"
|
|
59
59
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
60
60
|
loading="lazy"
|
|
61
61
|
/>
|
|
@@ -73,7 +73,7 @@ Dengan Intlayer, Anda dapat:
|
|
|
73
73
|
<iframe
|
|
74
74
|
src="https://intlayer-vite-react-template.vercel.app"
|
|
75
75
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
76
|
-
title="Demo
|
|
76
|
+
title="Demo - intlayer-vite-react-template"
|
|
77
77
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
78
78
|
loading="lazy"
|
|
79
79
|
/>
|
|
@@ -55,7 +55,7 @@ history:
|
|
|
55
55
|
<iframe
|
|
56
56
|
src="https://intlayer-vite-react-template.vercel.app"
|
|
57
57
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
58
|
-
title="Demo
|
|
58
|
+
title="Demo - intlayer-vite-react-template"
|
|
59
59
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
60
60
|
loading="lazy"
|
|
61
61
|
/>
|
|
@@ -39,7 +39,7 @@ history:
|
|
|
39
39
|
<iframe
|
|
40
40
|
src="https://ide.intlayer.org/aymericzip/intlayer-vite-svelte-template?file=intlayer.config.ts"
|
|
41
41
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
42
|
-
title="Demo CodeSandbox
|
|
42
|
+
title="Demo CodeSandbox - Intlayer"
|
|
43
43
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
44
44
|
loading="lazy"
|
|
45
45
|
/>
|
|
@@ -50,7 +50,7 @@ history:
|
|
|
50
50
|
<iframe
|
|
51
51
|
src="https://intlayer-vite-svelte-template.vercel.app"
|
|
52
52
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
53
|
-
title="Demo
|
|
53
|
+
title="Demo - intlayer-vite-svelte-template"
|
|
54
54
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
55
55
|
loading="lazy"
|
|
56
56
|
/>
|
|
@@ -35,7 +35,7 @@ history:
|
|
|
35
35
|
<iframe
|
|
36
36
|
src="https://ide.intlayer.org/aymericzip/intlayer-vite-vanilla-template?file=intlayer.config.ts"
|
|
37
37
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
38
|
-
title="Demo CodeSandbox
|
|
38
|
+
title="Demo CodeSandbox - Intlayer"
|
|
39
39
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
40
40
|
loading="lazy"
|
|
41
41
|
/>
|
|
@@ -46,7 +46,7 @@ history:
|
|
|
46
46
|
<iframe
|
|
47
47
|
src="https://intlayer-vite-vanilla.vercel.app"
|
|
48
48
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
49
|
-
title="Demo
|
|
49
|
+
title="Demo - intlayer-vite-vanilla-template"
|
|
50
50
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
51
51
|
loading="lazy"
|
|
52
52
|
/>
|
|
@@ -255,7 +255,7 @@ export default appContent;
|
|
|
255
255
|
|
|
256
256
|
### Langkah 6: Gunakan Intlayer di JavaScript Anda
|
|
257
257
|
|
|
258
|
-
`vanilla-intlayer` mencerminkan API permukaan `react-intlayer`: `useIntlayer(key, locale?)` mengembalikan konten yang diterjemahkan secara langsung. Rantai `.onChange()` pada hasilnya untuk berlangganan perubahan lokal
|
|
258
|
+
`vanilla-intlayer` mencerminkan API permukaan `react-intlayer`: `useIntlayer(key, locale?)` mengembalikan konten yang diterjemahkan secara langsung. Rantai `.onChange()` pada hasilnya untuk berlangganan perubahan lokal - padanan eksplisit dari render ulang React.
|
|
259
259
|
|
|
260
260
|
```typescript fileName="src/main.ts" codeFormat="typescript"
|
|
261
261
|
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
@@ -456,7 +456,7 @@ const unsubscribe = useDictionaryDynamic(
|
|
|
456
456
|
});
|
|
457
457
|
```
|
|
458
458
|
|
|
459
|
-
> Bundel masing-masing lokal hanya diambil ketika lokal tersebut menjadi aktif dan hasilnya disimpan di cache
|
|
459
|
+
> Bundel masing-masing lokal hanya diambil ketika lokal tersebut menjadi aktif dan hasilnya disimpan di cache - pengalihan berikutnya ke lokal yang sama bersifat instan.
|
|
460
460
|
|
|
461
461
|
### (Opsional) Langkah 13: Ekstrak konten komponen Anda
|
|
462
462
|
|
|
@@ -72,7 +72,7 @@ Dengan Intlayer, Anda dapat:
|
|
|
72
72
|
<iframe
|
|
73
73
|
src="https://intlayer-vite-vue-template.vercel.app"
|
|
74
74
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
75
|
-
title="Demo
|
|
75
|
+
title="Demo - intlayer-vite-vue-template"
|
|
76
76
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
77
77
|
loading="lazy"
|
|
78
78
|
/>
|
package/docs/id/readme.md
CHANGED
|
@@ -66,6 +66,7 @@ Dengan **file konten per-locale**, **autocompletion TypeScript**, **kamus tree-s
|
|
|
66
66
|
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true" alt="Fitur" width="700"> | **Integrasi Server MCP**<br><br>Menyediakan server MCP (Model Context Protocol) untuk otomatisasi IDE, memungkinkan manajemen konten dan alur kerja i18n yang mulus langsung di dalam lingkungan pengembangan Anda. <br><br> - [Server MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/mcp_server.md) |
|
|
67
67
|
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true" alt="Fitur" width="700"> | **Ekstensi VSCode**<br><br>Intlayer menyediakan ekstensi VSCode untuk membantu Anda mengelola konten dan terjemahan Anda, membangun kamus Anda, menerjemahkan konten Anda, dan lainnya. <br><br> - [Ekstensi VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
68
68
|
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true" alt="Fitur" width="700"> | **Interoperabilitas**<br><br>Memungkinkan interoperabilitas dengan react-i18next, next-i18next, next-intl, react-intl, vue-i18n. <br><br> - [Intlayer dan react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer dan next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer dan next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer dan vue-i18n](https://intlayer.org/blog/intlayer-with-vue-i18n) |
|
|
69
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/benchmark.png?raw=true" alt="Fitur" width="700"> | **Performa & Benchmark**<br><br>Menggunakan tree-shaking tingkat lanjut dan pemuatan dinamis untuk meningkatkan performa dan menjaga solusi seringan mungkin. <br><br> - [Performa & Benchmark](https://intlayer.org/doc/benchmark) |
|
|
69
70
|
|
|
70
71
|
---
|
|
71
72
|
|
|
@@ -260,6 +261,18 @@ Jelajahi dokumentasi lengkap kami untuk memulai dengan Intlayer dan pelajari car
|
|
|
260
261
|
</ul>
|
|
261
262
|
</details>
|
|
262
263
|
|
|
264
|
+
## Sistem Manajemen Konten Multibahasa
|
|
265
|
+
|
|
266
|
+
Lebih dari sekadar pustaka i18n, Intlayer adalah **sistem manajemen konten multibahasa** yang lengkap. CMS lengkap tersedia secara gratis di [app.intlayer.org](https://app.intlayer.org/?utm_source=chatgpt.com).
|
|
267
|
+
|
|
268
|
+
Intlayer menghubungkan **pengembang**, **penulis naskah**, dan **agen AI** dalam satu alur kerja untuk membuat dan memelihara situs web multibahasa dengan mudah. Intlayer menggantikan tumpukan teknologi berikut dalam satu solusi tunggal:
|
|
269
|
+
|
|
270
|
+
- Solusi i18n (misalnya `i18next`, `next-intl`, `vue-i18n`)
|
|
271
|
+
- TMS (Translation Management Systems) (misalnya Crowdin, Phrase, Lokalise)
|
|
272
|
+
- Headless CMS (misalnya Contentful, Strapi, Sanity)
|
|
273
|
+
|
|
274
|
+

|
|
275
|
+
|
|
263
276
|
## 🌐 Readme dalam bahasa lain
|
|
264
277
|
|
|
265
278
|
<p align="center">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-05-18
|
|
4
4
|
title: Migliore soluzione i18n per Next.js nel 2026 - Rapporto Benchmark
|
|
5
5
|
description: Confronta le librerie di internazionalizzazione (i18n) per Next.js come next-intl, next-i18next e Intlayer. Rapporto dettagliato sulle prestazioni relative a dimensioni del bundle, leakage e reattività.
|
|
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: "Aggiungi comparazione delle stelle di GitHub"
|
|
20
23
|
- version: 8.7.5
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Inizializzazione benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Librerie i18n per Next.js
|
|
28
|
+
# Librerie i18n per Next.js - Rapporto Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Questa pagina è un rapporto benchmark per le soluzioni i18n su Next.js.
|
|
28
31
|
|
|
@@ -95,7 +98,7 @@ Ciò che accade al build time è che Next.js emette un bundle JS per lingua (es.
|
|
|
95
98
|
|
|
96
99
|
Se usi una sintassi come `const t = useTranslation()` + `t('my-object.my-sub-object.my-key')`, l'intero JSON deve solitamente essere presente nel bundle in modo che la libreria possa analizzarlo e risolvere la chiave. Gran parte di quel contenuto viene spedito anche quando è inutilizzato nella pagina.
|
|
97
100
|
|
|
98
|
-
Per mitigare questo, alcune librerie chiedono di dichiarare per pagina quali namespace caricare
|
|
101
|
+
Per mitigare questo, alcune librerie chiedono di dichiarare per pagina quali namespace caricare - es. `next-i18next`, `next-intl`, `lingui`, `next-translate`, `next-international`.
|
|
99
102
|
|
|
100
103
|
Al contrario, `Paraglide` aggiunge un passaggio extra prima della build per trasformare i JSON in simboli piatti come `const en_my_var = () => 'my value'`. In teoria questo abilita il tree-shaking dei contenuti inutilizzati nella pagina. Come vedremo, questo metodo presenta comunque dei compromessi.
|
|
101
104
|
|
|
@@ -150,7 +153,7 @@ Ho eseguito la stessa applicazione multilingue in un browser reale per ogni stac
|
|
|
150
153
|
|
|
151
154
|
- **Dimensione media del bundle per componente**: I pezzi comuni della UI vengono misurati **uno alla volta** invece di nascondersi all'interno di un unico numero gigante dell'app. Mostra se l'internazionalizzazione gonfia silenziosamente i componenti quotidiani. Ad esempio, se il tuo componente esegue un re-rendering, caricherà tutti quei dati dalla memoria. Allegare un JSON gigante a qualsiasi componente è come collegare un grande magazzino di dati inutilizzati che rallenterà le prestazioni dei tuoi componenti.
|
|
152
155
|
|
|
153
|
-
- **Reattività al cambio di lingua**: Cambio la lingua usando il controllo dell'app e cronometro quanto tempo ci vuole finché la pagina non è chiaramente cambiata
|
|
156
|
+
- **Reattività al cambio di lingua**: Cambio la lingua usando il controllo dell'app e cronometro quanto tempo ci vuole finché la pagina non è chiaramente cambiata - ciò che un visitatore noterebbe, non un micro-passaggio di laboratorio.
|
|
154
157
|
|
|
155
158
|
- **Lavoro di rendering dopo un cambio di lingua**: Un approfondimento: quanto sforzo ha impiegato l'interfaccia per ridisegnarsi per la nuova lingua una volta avviato il cambio. Utile quando il tempo "percepito" e il costo del framework divergono.
|
|
156
159
|
|
|
@@ -158,9 +161,15 @@ Ho eseguito la stessa applicazione multilingue in un browser reale per ogni stac
|
|
|
158
161
|
|
|
159
162
|
- **Tempo di idratazione (Hydration)**: Quando l'app lo espone, quanto tempo impiega il client per trasformare l'HTML del server in qualcosa su cui si può effettivamente cliccare. Un trattino nelle tabelle significa che quell'implementazione non ha fornito un dato di idratazione affidabile in questo benchmark.
|
|
160
163
|
|
|
164
|
+
## Stelle di GitHub
|
|
165
|
+
|
|
166
|
+
Le stelle di GitHub sono un forte indicatore della popolarità di un progetto, della fiducia della comunità e della pertinenza a lungo termine. Sebbene non siano una misura diretta della qualità tecnica, riflettono quanti sviluppatori trovano il progetto utile, ne seguono i progressi e sono propensi ad adottarlo. Per stimare il valore di un progetto, le stelle aiutano a confrontare la trazione tra le alternative e forniscono approfondimenti sulla crescita dell'ecosistema.
|
|
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
|
## Risultati nel dettaglio
|
|
162
171
|
|
|
163
|
-
### 1
|
|
172
|
+
### 1 - Soluzioni da evitare
|
|
164
173
|
|
|
165
174
|
Alcune soluzioni, come `gt-next` o `lingo.dev`, sono chiaramente da evitare. Combinano il vendor lock-in con l'inquinamento della base di codice. Nonostante molte ore trascorse cercando di implementarle, non sono mai riuscito a farle funzionare, né su TanStack Start né su Next.js.
|
|
166
175
|
|
|
@@ -176,12 +185,12 @@ Problemi riscontrati:
|
|
|
176
185
|
|
|
177
186
|
**(Lingo.dev)** (`@lingo.dev/compiler@0.4.0`):
|
|
178
187
|
|
|
179
|
-
- Quota AI superata, bloccando interamente la build
|
|
188
|
+
- Quota AI superata, bloccando interamente la build - quindi non puoi andare in produzione senza pagare.
|
|
180
189
|
- Il compilatore perdeva quasi il 40% del contenuto tradotto. Ho dovuto riscrivere tutti i `.map` in blocchi di componenti piatti per farlo funzionare.
|
|
181
190
|
- La loro CLI è buggata e tendeva a resettare il file di configurazione senza motivo.
|
|
182
191
|
- Alla build, cancellava totalmente i JSON generati quando veniva aggiunto nuovo contenuto. Di conseguenza, una manciata di chiavi poteva cancellare più di 300 chiavi esistenti.
|
|
183
192
|
|
|
184
|
-
### 2
|
|
193
|
+
### 2 - Soluzioni sperimentali
|
|
185
194
|
|
|
186
195
|
**(Wuchale)** (`wuchale@0.22.11`):
|
|
187
196
|
|
|
@@ -195,7 +204,7 @@ Infine, rispetto ad altre soluzioni, Paraglide non usa uno store (es. contesto R
|
|
|
195
204
|
|
|
196
205
|
> Nota su paraglide: la soluzione inietta codice nella tua codebase per l'importazione, di conseguenza la metrica 'dimensione della lib' nel report benchmark è quasi 0. La generazione del codice è un aspetto positivo, poiché la funzione utilizzata includerà solo la lógica necessaria (prefisso totale vs nessun prefisso, cookie vs storage, ecc.). In confronto, Intlayer esegue questo filtraggio tramite iniezioni di variabili d'ambiente nella build per forzare il bundler a scartare i contenuti in base alla logica. Grazie a ciò, paraglide e intlayer risultano soluzioni da 6 a 10 volte più leggere rispetto a i18next o next-intl.
|
|
197
206
|
|
|
198
|
-
### 3
|
|
207
|
+
### 3 - Soluzioni accettabili
|
|
199
208
|
|
|
200
209
|
**(Tolgee)** (`@tolgee/react@7.0.0`):
|
|
201
210
|
|
|
@@ -219,7 +228,7 @@ I formati dei messaggi differiscono inoltre: `next-intl` usa ICU MessageFormat,
|
|
|
219
228
|
|
|
220
229
|
`Lingui` è spesso elogiato. Personalmente ho trovato il workflow `lingui extract` / `lingui compile` più complesso delle alternative, senza un chiaro vantaggio. Ho anche notato sintassi inconsistenti che confondono le AI (es. `t()`, `t''`, `i18n.t()`, `<Trans>`).
|
|
221
230
|
|
|
222
|
-
### 4
|
|
231
|
+
### 4 - Raccomandazioni
|
|
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: Migliore soluzione i18n per Solid nel 2026 - Rapporto Benchmark
|
|
5
5
|
description: Confronta le librerie di internazionalizzazione (i18n) per Solid come solid-primitives, solid-i18next e Intlayer. Rapporto dettagliato sulle prestazioni in termini di dimensioni del bundle, leak e reattività.
|
|
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: "Aggiungi comparazione delle stelle di GitHub"
|
|
20
23
|
- version: 8.7.12
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Inizializzazione del benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Librerie i18n per Solid
|
|
28
|
+
# Librerie i18n per Solid - Rapporto Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Questa pagina è un rapporto di benchmark per le soluzioni i18n su Solid.
|
|
28
31
|
|
|
@@ -115,13 +118,19 @@ Abbiamo confrontato **quattro strategie di caricamento**:
|
|
|
115
118
|
- **Scoped static**: Mantiene il codice organizzato (separazione logica) senza complesse richieste di rete extra.
|
|
116
119
|
- **Scoped dynamic**: Il miglior approccio per il _code splitting_ e le prestazioni. Minimizza la memoria caricando solo ciò di cui la vista corrente e la lingua attiva hanno bisogno.
|
|
117
120
|
|
|
121
|
+
## Stelle di GitHub
|
|
122
|
+
|
|
123
|
+
Le stelle di GitHub sono un forte indicatore della popolarità di un progetto, della fiducia della comunità e della pertinenza a lungo termine. Sebbene non siano una misura diretta della qualità tecnica, riflettono quanti sviluppatori trovano il progetto utile, ne seguono i progressi e sono propensi ad adottarlo. Per stimare il valore di un progetto, le stelle aiutano a confrontare la trazione tra le alternative e forniscono approfondimenti sulla crescita dell'ecosistema.
|
|
124
|
+
|
|
125
|
+
[](https://www.star-history.com/#solidjs-community/solid-primitives&mbarzda/solid-i18next&opral/paraglide-js&aymericzip/intlayer)
|
|
126
|
+
|
|
118
127
|
## Risultati in dettaglio
|
|
119
128
|
|
|
120
|
-
### 1
|
|
129
|
+
### 1 - Soluzioni da evitare
|
|
121
130
|
|
|
122
131
|
> Nessuna soluzione chiara da evitare nell'ecosistema Solid.
|
|
123
132
|
|
|
124
|
-
### 2
|
|
133
|
+
### 2 - Soluzioni accettabili
|
|
125
134
|
|
|
126
135
|
**(solid-i18next)** (`solid-i18next@17.0.2`):
|
|
127
136
|
|
|
@@ -142,7 +151,7 @@ Manca inoltre del lazy loading e dello scoping dei namespace per l'ottimizzazion
|
|
|
142
151
|
Personalmente, non amo dover rigenerare file JS prima di ogni push, il che crea un costante rischio di conflitti di merge tramite le PR.
|
|
143
152
|
Infine, rispetto ad altre soluzioni, Paraglide non utilizza uno store (es. Solid signal) per recuperare la lingua corrente per renderizzare il contenuto. Per ogni nodo analizzato, richiederà la lingua al localStorage / cookie ecc. Ciò porta all'esecuzione di logica non necessaria che impatta sulla reattività del componente.
|
|
144
153
|
|
|
145
|
-
### 3
|
|
154
|
+
### 3 - Raccomandazioni
|
|
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: Migliore soluzione i18n per Svelte nel 2026 - Rapporto Benchmark
|
|
5
5
|
description: Confronta le librerie di internazionalizzazione (i18n) per Svelte come svelte-i18n, Paraglide e Intlayer. Rapporto dettagliato sulle prestazioni in termini di dimensioni del bundle, leak e reattività.
|
|
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: "Aggiungi comparazione delle stelle di GitHub"
|
|
20
23
|
- version: 8.7.12
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Inizializzazione del benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Librerie i18n per Svelte
|
|
28
|
+
# Librerie i18n per Svelte - Rapporto Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Questa pagina è un rapporto di benchmark per le soluzioni i18n su Svelte.
|
|
28
31
|
|
|
@@ -113,13 +116,19 @@ Abbiamo confrontato **quattro strategie di caricamento**:
|
|
|
113
116
|
- **Scoped static**: Mantiene il codice organizzato (separazione logica) senza complesse richieste di rete extra.
|
|
114
117
|
- **Scoped dynamic**: Il miglior approccio per il _code splitting_ e le prestazioni. Minimizza la memoria caricando solo ciò di cui la vista corrente e la lingua attiva hanno bisogno.
|
|
115
118
|
|
|
119
|
+
## Stelle di GitHub
|
|
120
|
+
|
|
121
|
+
Le stelle di GitHub sono un forte indicatore della popolarità di un progetto, della fiducia della comunità e della pertinenza a lungo termine. Sebbene non siano una misura diretta della qualità tecnica, riflettono quanti sviluppatori trovano il progetto utile, ne seguono i progressi e sono propensi ad adottarlo. Per stimare il valore di un progetto, le stelle aiutano a confrontare la trazione tra le alternative e forniscono approfondimenti sulla crescita dell'ecosistema.
|
|
122
|
+
|
|
123
|
+
[](https://www.star-history.com/#kaisermann/svelte-i18n&opral/paraglide-js&aymericzip/intlayer)
|
|
124
|
+
|
|
116
125
|
## Risultati in dettaglio
|
|
117
126
|
|
|
118
|
-
### 1
|
|
127
|
+
### 1 - Soluzioni da evitare
|
|
119
128
|
|
|
120
129
|
> Nessuna soluzione chiara da evitare nell'ecosistema Svelte.
|
|
121
130
|
|
|
122
|
-
### 2
|
|
131
|
+
### 2 - Soluzioni accettabili
|
|
123
132
|
|
|
124
133
|
**(Paraglide)** (`@inlang/paraglide-js@2.17.0`):
|
|
125
134
|
|
|
@@ -135,7 +144,7 @@ Infine, rispetto ad altre soluzioni, Paraglide non utilizza uno store (es. Svelt
|
|
|
135
144
|
|
|
136
145
|
Questa soluzione soddisfa tutte le esigenze i18n in un progetto Svelte. Ma come per i18next o altre importanti soluzioni i18n, è un po' pesante (~15.9kb, circa 7 volte `svelte-intlayer`).
|
|
137
146
|
|
|
138
|
-
### 3
|
|
147
|
+
### 3 - Raccomandazioni
|
|
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: Migliore soluzione i18n per TanStack Start nel 2026 - Rapporto Benchmark
|
|
5
5
|
description: Confronta le librerie di internazionalizzazione per TanStack Start come react-i18next, use-intl e Intlayer. Rapporto dettagliato sulle prestazioni relative a dimensioni del bundle, leakage e reattività.
|
|
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: "Aggiungi comparazione delle stelle di GitHub"
|
|
20
23
|
- version: 8.7.5
|
|
21
24
|
date: 2026-01-06
|
|
22
25
|
changes: "Inizializzazione benchmark"
|
|
23
26
|
---
|
|
24
27
|
|
|
25
|
-
# Librerie i18n per TanStack Start
|
|
28
|
+
# Librerie i18n per TanStack Start - Rapporto Benchmark 2026
|
|
26
29
|
|
|
27
30
|
Questa pagina è un rapporto benchmark per le soluzioni i18n su TanStack Start.
|
|
28
31
|
|
|
@@ -121,9 +124,15 @@ Abbiamo confrontato **quattro strategie di caricamento**:
|
|
|
121
124
|
- **Scoped static**: Mantiene il codice organizzato (separazione logica) senza requisiti di rete complessi.
|
|
122
125
|
- **Scoped dynamic**: Il miglior approccio per il _code splitting_ e le prestazioni. Riduce al minimo la memoria caricando solo ciò di cui la vista corrente e la lingua attiva hanno bisogno.
|
|
123
126
|
|
|
127
|
+
## Stelle di GitHub
|
|
128
|
+
|
|
129
|
+
Le stelle di GitHub sono un forte indicatore della popolarità di un progetto, della fiducia della comunità e della pertinenza a lungo termine. Sebbene non siano una misura diretta della qualità tecnica, riflettono quanti sviluppatori trovano il progetto utile, ne seguono i progressi e sono propensi ad adottarlo. Per stimare il valore di un progetto, le stelle aiutano a confrontare la trazione tra le alternative e forniscono approfondimenti sulla crescita dell'ecosistema.
|
|
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
|
## Risultati nel dettaglio
|
|
125
134
|
|
|
126
|
-
### 1
|
|
135
|
+
### 1 - Soluzioni da evitare
|
|
127
136
|
|
|
128
137
|
Alcune soluzioni, come `gt-react` o `lingo.dev`, sono chiaramente da evitare. Combinano il vendor lock-in con l'inquinamento della base di codice. Peggio ancora: nonostante molte ore trascorse cercando di implementarle, non sono mai riuscito a farle funzionare correttamente su TanStack Start (come per Next.js con `gt-next`).
|
|
129
138
|
|
|
@@ -145,13 +154,13 @@ Problemi riscontrati:
|
|
|
145
154
|
- Alla build, cancellava totalmente i JSON generati quando veniva aggiunto nuovo contenuto. Di conseguenza, poche chiavi potevano cancellare centinaia di chiavi esistenti.
|
|
146
155
|
- Ho riscontrato problemi di reattività con la libreria su TanStack Start: al cambio di lingua ho dovuto forzare il re-rendering del provider per farlo funzionare.
|
|
147
156
|
|
|
148
|
-
### 2
|
|
157
|
+
### 2 - Soluzioni sperimentali
|
|
149
158
|
|
|
150
159
|
**(Wuchale)** (`wuchale@0.22.11`):
|
|
151
160
|
|
|
152
161
|
L'idea alla base di `Wuchale` è interessante ma non ancora una soluzione praticabile. Ho riscontrato problemi di reattività con questa libreria e ho dovuto forzare il re-rendering del provider per far funzionare l'app su TanStack Start. La documentazione è inoltre piuttosto oscura, il che rende difficile l'onboarding.
|
|
153
162
|
|
|
154
|
-
### 3
|
|
163
|
+
### 3 - Soluzioni accettabili
|
|
155
164
|
|
|
156
165
|
**(Paraglide)** (`@inlang/paraglide-js@2.15.1`):
|
|
157
166
|
|
|
@@ -177,7 +186,7 @@ Su TanStack Start eviti le trappole specifiche di Next.js (`setRequestLocale`, r
|
|
|
177
186
|
|
|
178
187
|
Tuttavia, condivide gli stessi svantaggi principali degli stack basati su `t('a.b.c')`: le ottimizzazioni sono possibili ma richiedono molto tempo, e i grandi progetti rischiano cattive pratiche (namespace + caricamento dinamico + tipi).
|
|
179
188
|
|
|
180
|
-
I formati dei messaggi divergono inoltre: `use-intl` usa ICU MessageFormat, mentre `i18next` usa il proprio formato
|
|
189
|
+
I formati dei messaggi divergono inoltre: `use-intl` usa ICU MessageFormat, mentre `i18next` usa il proprio formato - il che complica il tooling o le migrazioni se li mescoli.
|
|
181
190
|
|
|
182
191
|
**(Lingui)** (`@lingui/core@5.3.0`):
|
|
183
192
|
|
|
@@ -187,7 +196,7 @@ I formati dei messaggi divergono inoltre: `use-intl` usa ICU MessageFormat, ment
|
|
|
187
196
|
|
|
188
197
|
`react-intl` è un'implementazione performante del team Format.js. La DX rimane prolissa: `const intl = useIntl()` + `intl.formatMessage({ id: "xx.xx" })` aggiunge complessità, lavoro extra JavaScript e lega l'istanza globale i18n a molti nodi nell'albero React.
|
|
189
198
|
|
|
190
|
-
### 4
|
|
199
|
+
### 4 - Raccomandazioni
|
|
191
200
|
|
|
192
201
|
Questo benchmark su TanStack Start non ha un equivalente diretto di `next-translate` (plugin Next.js + `getStaticProps`). Per i team che vogliono davvero un'API `t()` con un ecosistema maturo, `react-i18next` e `use-intl` rimangono scelte "ragionevoli", ma preparatevi a investire molto tempo nell'ottimizzazione per evitare leakage.
|
|
193
202
|
|