@intlayer/docs 8.1.7 → 8.1.9
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 +1 -0
- package/blog/ar/i18n_meaning.md +124 -0
- package/blog/ar/l10n_platform_alternative/Lokalise.md +5 -5
- package/blog/ar/l10n_platform_alternative/crowdin.md +4 -10
- package/blog/ar/l10n_platform_alternative/phrase.md +2 -6
- package/blog/ar/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/ar/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ar/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/ar/rag_powered_documentation_assistant.md +1 -1
- package/blog/de/i18n_meaning.md +124 -0
- package/blog/de/l10n_platform_alternative/Lokalise.md +5 -9
- package/blog/de/l10n_platform_alternative/crowdin.md +4 -4
- package/blog/de/l10n_platform_alternative/phrase.md +2 -6
- package/blog/de/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/de/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/de/per-component_vs_centralized_i18n.md +2 -2
- package/blog/de/rag_powered_documentation_assistant.md +1 -1
- package/blog/en/i18n_meaning.md +124 -0
- package/blog/en/intlayer_with_i18next.md +3 -3
- package/blog/en/intlayer_with_next-i18next.md +3 -3
- package/blog/en/intlayer_with_next-intl.md +3 -3
- package/blog/en/intlayer_with_react-i18next.md +3 -3
- package/blog/en/intlayer_with_react-intl.md +3 -3
- package/blog/en/intlayer_with_vue-i18n.md +3 -3
- package/blog/en/l10n_platform_alternative/Lokalise.md +5 -5
- package/blog/en/l10n_platform_alternative/crowdin.md +4 -4
- package/blog/en/l10n_platform_alternative/phrase.md +2 -2
- package/blog/en/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/en/rag_powered_documentation_assistant.md +1 -2
- package/blog/en-GB/compiler_vs_declarative_i18n.md +2 -2
- package/blog/en-GB/i18n_meaning.md +124 -0
- package/blog/en-GB/intlayer_with_i18next.md +1 -1
- package/blog/en-GB/intlayer_with_next-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_next-intl.md +1 -1
- package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_react-intl.md +1 -1
- package/blog/en-GB/intlayer_with_vue-i18n.md +1 -1
- package/blog/en-GB/l10n_platform_alternative/Lokalise.md +5 -5
- package/blog/en-GB/l10n_platform_alternative/crowdin.md +4 -4
- package/blog/en-GB/l10n_platform_alternative/phrase.md +2 -2
- package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en-GB/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/en-GB/rag_powered_documentation_assistant.md +1 -1
- package/blog/es/i18n_meaning.md +124 -0
- package/blog/es/l10n_platform_alternative/Lokalise.md +4 -4
- package/blog/es/l10n_platform_alternative/crowdin.md +14 -19
- package/blog/es/l10n_platform_alternative/phrase.md +2 -8
- package/blog/es/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/es/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/es/rag_powered_documentation_assistant.md +1 -1
- package/blog/fr/compiler_vs_declarative_i18n.md +1 -1
- package/blog/fr/i18n_meaning.md +23 -0
- package/blog/fr/l10n_platform_alternative/Lokalise.md +6 -10
- package/blog/fr/l10n_platform_alternative/crowdin.md +4 -10
- package/blog/fr/l10n_platform_alternative/phrase.md +11 -24
- package/blog/fr/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/fr/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/fr/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/fr/rag_powered_documentation_assistant.md +1 -1
- package/blog/hi/compiler_vs_declarative_i18n.md +2 -2
- package/blog/hi/i18n_meaning.md +124 -0
- package/blog/hi/l10n_platform_alternative/Lokalise.md +5 -11
- package/blog/hi/l10n_platform_alternative/crowdin.md +13 -17
- package/blog/hi/l10n_platform_alternative/phrase.md +2 -2
- package/blog/hi/list_i18n_technologies/frameworks/angular.md +25 -3
- package/blog/hi/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/hi/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/hi/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/hi/per-component_vs_centralized_i18n.md +3 -3
- package/blog/hi/rag_powered_documentation_assistant.md +1 -1
- package/blog/id/compiler_vs_declarative_i18n.md +2 -2
- package/blog/id/i18n_meaning.md +124 -0
- package/blog/id/l10n_platform_alternative/Lokalise.md +5 -11
- package/blog/id/l10n_platform_alternative/crowdin.md +4 -8
- package/blog/id/l10n_platform_alternative/phrase.md +11 -22
- package/blog/id/list_i18n_technologies/frameworks/angular.md +25 -3
- package/blog/id/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/id/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/id/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/id/rag_powered_documentation_assistant.md +1 -1
- package/blog/id/vue-i18n_vs_intlayer.md +1 -1
- package/blog/it/compiler_vs_declarative_i18n.md +1 -1
- package/blog/it/i18n_meaning.md +124 -0
- package/blog/it/l10n_platform_alternative/Lokalise.md +5 -9
- package/blog/it/l10n_platform_alternative/crowdin.md +4 -10
- package/blog/it/l10n_platform_alternative/phrase.md +2 -6
- package/blog/it/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/it/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/it/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/it/rag_powered_documentation_assistant.md +1 -1
- package/blog/ja/i18n_meaning.md +124 -0
- package/blog/ja/l10n_platform_alternative/phrase.md +3 -2
- package/blog/ja/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/react-native.md +6 -9
- package/blog/ja/list_i18n_technologies/frameworks/react.md +3 -2
- package/blog/ja/list_i18n_technologies/frameworks/svelte.md +27 -6
- package/blog/ja/list_i18n_technologies/frameworks/vue.md +29 -15
- package/blog/ja/per-component_vs_centralized_i18n.md +1 -1
- package/blog/ko/i18n_meaning.md +124 -0
- package/blog/ko/l10n_platform_alternative/Lokalise.md +2 -2
- package/blog/ko/l10n_platform_alternative/crowdin.md +11 -17
- package/blog/ko/l10n_platform_alternative/phrase.md +5 -5
- package/blog/ko/list_i18n_technologies/frameworks/angular.md +26 -3
- package/blog/ko/list_i18n_technologies/frameworks/react-native.md +35 -39
- package/blog/ko/list_i18n_technologies/frameworks/react.md +24 -24
- package/blog/ko/list_i18n_technologies/frameworks/svelte.md +28 -7
- package/blog/ko/list_i18n_technologies/frameworks/vue.md +22 -2
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ko/per-component_vs_centralized_i18n.md +1 -1
- package/blog/pl/compiler_vs_declarative_i18n.md +2 -2
- package/blog/pl/i18n_meaning.md +124 -0
- package/blog/pl/l10n_platform_alternative/Lokalise.md +6 -16
- package/blog/pl/l10n_platform_alternative/crowdin.md +5 -5
- package/blog/pl/l10n_platform_alternative/phrase.md +4 -8
- package/blog/pl/list_i18n_technologies/frameworks/angular.md +26 -4
- package/blog/pl/list_i18n_technologies/frameworks/react-native.md +2 -2
- package/blog/pl/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/pl/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/pl/list_i18n_technologies/frameworks/vue.md +18 -4
- package/blog/pl/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/pl/per-component_vs_centralized_i18n.md +4 -4
- package/blog/pl/rag_powered_documentation_assistant.md +1 -1
- package/blog/pl/vue-i18n_vs_intlayer.md +1 -1
- package/blog/pt/compiler_vs_declarative_i18n.md +1 -1
- package/blog/pt/i18n_meaning.md +124 -0
- package/blog/pt/l10n_platform_alternative/Lokalise.md +5 -5
- package/blog/pt/l10n_platform_alternative/crowdin.md +13 -13
- package/blog/pt/l10n_platform_alternative/phrase.md +2 -2
- package/blog/pt/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/pt/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pt/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/pt/per-component_vs_centralized_i18n.md +1 -1
- package/blog/pt/rag_powered_documentation_assistant.md +1 -1
- package/blog/ru/compiler_vs_declarative_i18n.md +9 -9
- package/blog/ru/i18n_meaning.md +124 -0
- package/blog/ru/i18n_using_next-i18next.md +3 -3
- package/blog/ru/i18n_using_next-intl.md +6 -6
- package/blog/ru/intlayer_with_i18next.md +1 -1
- package/blog/ru/intlayer_with_next-i18next.md +2 -2
- package/blog/ru/intlayer_with_next-intl.md +1 -1
- package/blog/ru/intlayer_with_react-i18next.md +1 -1
- package/blog/ru/intlayer_with_react-intl.md +1 -1
- package/blog/ru/intlayer_with_vue-i18n.md +1 -1
- package/blog/ru/l10n_platform_alternative/Lokalise.md +10 -10
- package/blog/ru/l10n_platform_alternative/crowdin.md +20 -26
- package/blog/ru/l10n_platform_alternative/phrase.md +16 -20
- package/blog/ru/list_i18n_technologies/frameworks/angular.md +26 -4
- package/blog/ru/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/svelte.md +26 -4
- package/blog/ru/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +9 -9
- package/blog/ru/nextjs-multilingual-seo-comparison.md +7 -7
- package/blog/ru/per-component_vs_centralized_i18n.md +3 -3
- package/blog/ru/rag_powered_documentation_assistant.md +9 -9
- package/blog/ru/what_is_internationalization.md +1 -1
- package/blog/tr/compiler_vs_declarative_i18n.md +2 -2
- package/blog/tr/i18n_meaning.md +124 -0
- package/blog/tr/l10n_platform_alternative/Lokalise.md +4 -4
- package/blog/tr/l10n_platform_alternative/crowdin.md +3 -3
- package/blog/tr/l10n_platform_alternative/phrase.md +10 -21
- package/blog/tr/list_i18n_technologies/frameworks/angular.md +25 -3
- package/blog/tr/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/tr/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/tr/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/tr/rag_powered_documentation_assistant.md +1 -1
- package/blog/uk/compiler_vs_declarative_i18n.md +12 -12
- package/blog/uk/i18n_meaning.md +124 -0
- package/blog/uk/i18n_using_next-i18next.md +10 -10
- package/blog/uk/i18n_using_next-intl.md +7 -7
- package/blog/uk/internationalization_and_SEO.md +11 -11
- package/blog/uk/intlayer_with_i18next.md +2 -2
- package/blog/uk/intlayer_with_next-i18next.md +3 -3
- package/blog/uk/intlayer_with_next-intl.md +2 -2
- package/blog/uk/intlayer_with_react-i18next.md +2 -2
- package/blog/uk/intlayer_with_react-intl.md +2 -2
- package/blog/uk/intlayer_with_vue-i18n.md +2 -2
- package/blog/uk/l10n_platform_alternative/Lokalise.md +9 -9
- package/blog/uk/l10n_platform_alternative/crowdin.md +10 -10
- package/blog/uk/l10n_platform_alternative/phrase.md +9 -9
- package/blog/uk/list_i18n_technologies/frameworks/angular.md +31 -9
- package/blog/uk/list_i18n_technologies/frameworks/react-native.md +6 -6
- package/blog/uk/list_i18n_technologies/frameworks/react.md +6 -6
- package/blog/uk/list_i18n_technologies/frameworks/svelte.md +4 -4
- package/blog/uk/list_i18n_technologies/frameworks/vue.md +6 -6
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +13 -13
- package/blog/uk/nextjs-multilingual-seo-comparison.md +8 -8
- package/blog/uk/per-component_vs_centralized_i18n.md +3 -3
- package/blog/uk/rag_powered_documentation_assistant.md +11 -11
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +5 -5
- package/blog/uk/vue-i18n_vs_intlayer.md +5 -5
- package/blog/uk/what_is_internationalization.md +4 -4
- package/blog/vi/compiler_vs_declarative_i18n.md +1 -1
- package/blog/vi/i18n_meaning.md +124 -0
- package/blog/vi/l10n_platform_alternative/Lokalise.md +14 -21
- package/blog/vi/l10n_platform_alternative/crowdin.md +4 -4
- package/blog/vi/l10n_platform_alternative/phrase.md +2 -6
- package/blog/vi/list_i18n_technologies/frameworks/angular.md +25 -3
- package/blog/vi/list_i18n_technologies/frameworks/svelte.md +25 -3
- package/blog/vi/list_i18n_technologies/frameworks/vue.md +16 -2
- package/blog/vi/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/vi/per-component_vs_centralized_i18n.md +1 -1
- package/blog/vi/rag_powered_documentation_assistant.md +1 -1
- package/blog/zh/compiler_vs_declarative_i18n.md +2 -2
- package/blog/zh/i18n_meaning.md +124 -0
- package/blog/zh/internationalization_and_SEO.md +5 -5
- package/blog/zh/l10n_platform_alternative/Lokalise.md +23 -23
- package/blog/zh/l10n_platform_alternative/crowdin.md +28 -32
- package/blog/zh/l10n_platform_alternative/phrase.md +32 -38
- package/blog/zh/list_i18n_technologies/frameworks/angular.md +28 -6
- package/blog/zh/list_i18n_technologies/frameworks/react-native.md +10 -14
- package/blog/zh/list_i18n_technologies/frameworks/react.md +5 -5
- package/blog/zh/list_i18n_technologies/frameworks/svelte.md +23 -7
- package/blog/zh/list_i18n_technologies/frameworks/vue.md +20 -6
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
- package/blog/zh/nextjs-multilingual-seo-comparison.md +1 -1
- package/blog/zh/rag_powered_documentation_assistant.md +1 -1
- package/blog/zh/what_is_internationalization.md +1 -1
- package/dist/cjs/generated/blog.entry.cjs +1 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +1 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/docs/ar/agent_skills.md +2 -0
- package/docs/ar/compiler.md +55 -3
- package/docs/ar/component_i18n.md +2 -2
- package/docs/ar/configuration.md +68 -1
- package/docs/ar/dictionary/content_file.md +2 -2
- package/docs/ar/index.md +2 -2
- package/docs/ar/intlayer_CMS.md +1 -1
- package/docs/ar/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_fastify.md +1 -1
- package/docs/ar/intlayer_with_hono.md +1 -1
- package/docs/ar/intlayer_with_lynx+react.md +1 -1
- package/docs/ar/intlayer_with_nestjs.md +1 -1
- package/docs/ar/intlayer_with_next-i18next.md +2 -2
- package/docs/ar/intlayer_with_next-intl.md +2 -2
- package/docs/ar/intlayer_with_nextjs_14.md +1 -1
- package/docs/ar/intlayer_with_nextjs_15.md +1 -1
- package/docs/ar/intlayer_with_nextjs_16.md +3 -1
- package/docs/ar/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +2 -2
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_nuxt.md +1 -1
- package/docs/ar/intlayer_with_react_native+expo.md +4 -2
- package/docs/ar/intlayer_with_react_router_v7.md +4 -2
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack.md +1 -1
- package/docs/ar/intlayer_with_vite+preact.md +3 -1
- package/docs/ar/intlayer_with_vite+react.md +3 -1
- package/docs/ar/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/ar/intlayer_with_vite+solid.md +1 -1
- package/docs/ar/intlayer_with_vite+svelte.md +3 -1
- package/docs/ar/intlayer_with_vite+vue.md +3 -1
- package/docs/ar/introduction.md +2 -2
- package/docs/ar/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/ar/releases/v8.md +1 -1
- package/docs/de/agent_skills.md +2 -0
- package/docs/de/cli/init.md +1 -1
- package/docs/de/compiler.md +53 -1
- package/docs/de/component_i18n.md +2 -2
- package/docs/de/configuration.md +68 -1
- package/docs/de/dictionary/content_file.md +2 -2
- package/docs/de/index.md +2 -2
- package/docs/de/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/de/intlayer_with_express.md +1 -1
- package/docs/de/intlayer_with_fastify.md +1 -1
- package/docs/de/intlayer_with_hono.md +1 -1
- package/docs/de/intlayer_with_lynx+react.md +1 -1
- package/docs/de/intlayer_with_nestjs.md +1 -1
- package/docs/de/intlayer_with_next-i18next.md +2 -2
- package/docs/de/intlayer_with_next-intl.md +1 -1
- package/docs/de/intlayer_with_nextjs_14.md +1 -1
- package/docs/de/intlayer_with_nextjs_15.md +1 -1
- package/docs/de/intlayer_with_nextjs_16.md +3 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +22 -5
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +2 -2
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_nuxt.md +1 -1
- package/docs/de/intlayer_with_react_native+expo.md +4 -2
- package/docs/de/intlayer_with_react_router_v7.md +4 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack.md +1 -1
- package/docs/de/intlayer_with_vite+preact.md +3 -1
- package/docs/de/intlayer_with_vite+react.md +3 -1
- package/docs/de/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/de/intlayer_with_vite+solid.md +1 -1
- package/docs/de/intlayer_with_vite+svelte.md +3 -1
- package/docs/de/intlayer_with_vite+vue.md +3 -1
- package/docs/de/introduction.md +2 -2
- package/docs/de/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/de/releases/v8.md +1 -1
- package/docs/en/agent_skills.md +2 -0
- package/docs/en/compiler.md +53 -1
- package/docs/en/component_i18n.md +2 -2
- package/docs/en/configuration.md +16 -1
- package/docs/en/dictionary/content_file.md +1 -1
- package/docs/en/index.md +2 -2
- package/docs/en/intlayer_CMS.md +1 -1
- package/docs/en/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/en/intlayer_with_express.md +1 -1
- package/docs/en/intlayer_with_fastify.md +1 -1
- package/docs/en/intlayer_with_hono.md +1 -1
- package/docs/en/intlayer_with_lynx+react.md +1 -1
- package/docs/en/intlayer_with_nestjs.md +1 -1
- package/docs/en/intlayer_with_next-i18next.md +2 -2
- package/docs/en/intlayer_with_next-intl.md +1 -1
- package/docs/en/intlayer_with_nextjs_14.md +2 -2
- package/docs/en/intlayer_with_nextjs_15.md +2 -2
- package/docs/en/intlayer_with_nextjs_16.md +4 -2
- package/docs/en/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/en/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/en/intlayer_with_nuxt.md +2 -2
- package/docs/en/intlayer_with_react_native+expo.md +5 -3
- package/docs/en/intlayer_with_react_router_v7.md +4 -2
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/en/intlayer_with_svelte_kit.md +1 -1
- package/docs/en/intlayer_with_tanstack.md +1 -1
- package/docs/en/intlayer_with_vite+preact.md +3 -1
- package/docs/en/intlayer_with_vite+react.md +3 -1
- package/docs/en/intlayer_with_vite+react_compiler.md +22 -5
- package/docs/en/intlayer_with_vite+solid.md +1 -1
- package/docs/en/intlayer_with_vite+svelte.md +3 -1
- package/docs/en/intlayer_with_vite+vue.md +3 -1
- package/docs/en/introduction.md +2 -2
- package/docs/en/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/en/releases/v8.md +1 -1
- package/docs/en-GB/agent_skills.md +2 -0
- package/docs/en-GB/cli/init.md +1 -1
- package/docs/en-GB/compiler.md +55 -3
- package/docs/en-GB/component_i18n.md +2 -2
- package/docs/en-GB/configuration.md +68 -1
- package/docs/en-GB/dictionary/content_file.md +2 -2
- package/docs/en-GB/index.md +2 -2
- package/docs/en-GB/intlayer_CMS.md +1 -1
- package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/en-GB/intlayer_with_express.md +1 -1
- package/docs/en-GB/intlayer_with_fastify.md +1 -1
- package/docs/en-GB/intlayer_with_hono.md +1 -1
- package/docs/en-GB/intlayer_with_lynx+react.md +1 -1
- package/docs/en-GB/intlayer_with_nestjs.md +1 -1
- package/docs/en-GB/intlayer_with_next-i18next.md +2 -2
- package/docs/en-GB/intlayer_with_next-intl.md +2 -2
- package/docs/en-GB/intlayer_with_nextjs_14.md +2 -2
- package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +16 -16
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_nuxt.md +2 -2
- package/docs/en-GB/intlayer_with_react_native+expo.md +2 -2
- package/docs/en-GB/intlayer_with_react_router_v7.md +2 -2
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/en-GB/intlayer_with_svelte_kit.md +2 -2
- package/docs/en-GB/intlayer_with_tanstack.md +1 -1
- 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 +2 -3
- package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
- package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
- package/docs/en-GB/introduction.md +2 -2
- package/docs/en-GB/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/en-GB/readme.md +1 -1
- package/docs/en-GB/releases/v8.md +1 -1
- package/docs/es/agent_skills.md +2 -0
- package/docs/es/compiler.md +53 -1
- package/docs/es/component_i18n.md +2 -2
- package/docs/es/configuration.md +68 -1
- package/docs/es/dictionary/content_file.md +2 -2
- package/docs/es/index.md +2 -2
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_lynx+react.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_next-i18next.md +2 -2
- package/docs/es/intlayer_with_next-intl.md +1 -1
- package/docs/es/intlayer_with_nextjs_14.md +1 -1
- package/docs/es/intlayer_with_nextjs_15.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +3 -1
- package/docs/es/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +6 -6
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_native+expo.md +5 -3
- package/docs/es/intlayer_with_react_router_v7.md +4 -2
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack.md +1 -1
- package/docs/es/intlayer_with_vite+preact.md +3 -1
- package/docs/es/intlayer_with_vite+react.md +3 -1
- package/docs/es/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/es/intlayer_with_vite+solid.md +1 -1
- package/docs/es/intlayer_with_vite+svelte.md +3 -1
- package/docs/es/intlayer_with_vite+vue.md +3 -1
- package/docs/es/introduction.md +2 -2
- package/docs/es/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/es/releases/v8.md +1 -1
- package/docs/fr/agent_skills.md +2 -0
- package/docs/fr/compiler.md +56 -4
- package/docs/fr/component_i18n.md +2 -2
- package/docs/fr/configuration.md +68 -1
- package/docs/fr/dictionary/content_file.md +2 -2
- package/docs/fr/index.md +2 -2
- package/docs/fr/intlayer_CMS.md +1 -1
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_lynx+react.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_next-i18next.md +2 -2
- package/docs/fr/intlayer_with_next-intl.md +1 -1
- package/docs/fr/intlayer_with_nextjs_14.md +1 -1
- package/docs/fr/intlayer_with_nextjs_15.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +3 -1
- package/docs/fr/intlayer_with_nextjs_compiler.md +24 -7
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +2 -2
- package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/fr/intlayer_with_nuxt.md +1 -1
- package/docs/fr/intlayer_with_react_native+expo.md +5 -3
- package/docs/fr/intlayer_with_react_router_v7.md +4 -2
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/fr/intlayer_with_svelte_kit.md +2 -2
- package/docs/fr/intlayer_with_tanstack.md +1 -1
- package/docs/fr/intlayer_with_vite+preact.md +3 -1
- package/docs/fr/intlayer_with_vite+react.md +3 -1
- package/docs/fr/intlayer_with_vite+react_compiler.md +22 -6
- package/docs/fr/intlayer_with_vite+solid.md +1 -1
- package/docs/fr/intlayer_with_vite+svelte.md +3 -1
- package/docs/fr/intlayer_with_vite+vue.md +4 -2
- package/docs/fr/introduction.md +2 -2
- package/docs/fr/packages/next-intlayer/intlayerMiddleware.md +30 -7
- package/docs/fr/releases/v8.md +1 -1
- package/docs/hi/agent_skills.md +2 -0
- package/docs/hi/cli/init.md +1 -1
- package/docs/hi/compiler.md +55 -3
- package/docs/hi/component_i18n.md +2 -2
- package/docs/hi/configuration.md +68 -1
- package/docs/hi/dictionary/content_file.md +2 -2
- package/docs/hi/index.md +2 -2
- package/docs/hi/intlayer_CMS.md +1 -1
- package/docs/hi/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_fastify.md +2 -2
- package/docs/hi/intlayer_with_hono.md +1 -1
- package/docs/hi/intlayer_with_lynx+react.md +1 -1
- package/docs/hi/intlayer_with_nestjs.md +1 -1
- package/docs/hi/intlayer_with_next-i18next.md +2 -2
- package/docs/hi/intlayer_with_next-intl.md +1 -1
- package/docs/hi/intlayer_with_nextjs_14.md +1 -1
- package/docs/hi/intlayer_with_nextjs_15.md +1 -1
- package/docs/hi/intlayer_with_nextjs_16.md +3 -1
- package/docs/hi/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +4 -4
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_nuxt.md +1 -1
- package/docs/hi/intlayer_with_react_native+expo.md +4 -2
- package/docs/hi/intlayer_with_react_router_v7.md +4 -2
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack.md +1 -1
- package/docs/hi/intlayer_with_vite+preact.md +3 -1
- package/docs/hi/intlayer_with_vite+react.md +3 -1
- package/docs/hi/intlayer_with_vite+react_compiler.md +22 -6
- package/docs/hi/intlayer_with_vite+solid.md +1 -1
- package/docs/hi/intlayer_with_vite+svelte.md +3 -1
- package/docs/hi/intlayer_with_vite+vue.md +4 -2
- package/docs/hi/introduction.md +2 -2
- package/docs/hi/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/hi/releases/v8.md +1 -1
- package/docs/id/agent_skills.md +2 -0
- package/docs/id/compiler.md +53 -1
- package/docs/id/component_i18n.md +2 -2
- package/docs/id/configuration.md +61 -1
- package/docs/id/dictionary/content_file.md +2 -2
- package/docs/id/index.md +2 -2
- package/docs/id/intlayer_CMS.md +1 -1
- package/docs/id/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/id/intlayer_with_express.md +1 -1
- package/docs/id/intlayer_with_fastify.md +1 -1
- package/docs/id/intlayer_with_hono.md +1 -1
- package/docs/id/intlayer_with_lynx+react.md +1 -1
- package/docs/id/intlayer_with_nestjs.md +1 -1
- package/docs/id/intlayer_with_next-i18next.md +2 -2
- package/docs/id/intlayer_with_next-intl.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 +3 -1
- package/docs/id/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/id/intlayer_with_nuxt.md +1 -1
- package/docs/id/intlayer_with_react_native+expo.md +5 -3
- package/docs/id/intlayer_with_react_router_v7.md +4 -2
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack.md +1 -1
- package/docs/id/intlayer_with_vite+preact.md +3 -1
- package/docs/id/intlayer_with_vite+react.md +3 -1
- package/docs/id/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/id/intlayer_with_vite+solid.md +1 -1
- package/docs/id/intlayer_with_vite+svelte.md +3 -1
- package/docs/id/intlayer_with_vite+vue.md +3 -1
- package/docs/id/introduction.md +2 -2
- package/docs/id/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/id/releases/v8.md +1 -1
- package/docs/it/agent_skills.md +2 -0
- package/docs/it/compiler.md +55 -3
- package/docs/it/component_i18n.md +2 -2
- package/docs/it/configuration.md +68 -1
- package/docs/it/dictionary/content_file.md +2 -2
- package/docs/it/index.md +2 -2
- package/docs/it/intlayer_CMS.md +1 -1
- package/docs/it/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/it/intlayer_with_express.md +1 -1
- package/docs/it/intlayer_with_fastify.md +1 -1
- package/docs/it/intlayer_with_hono.md +1 -1
- package/docs/it/intlayer_with_lynx+react.md +1 -1
- package/docs/it/intlayer_with_nestjs.md +1 -1
- package/docs/it/intlayer_with_next-i18next.md +2 -2
- package/docs/it/intlayer_with_next-intl.md +1 -1
- package/docs/it/intlayer_with_nextjs_14.md +1 -1
- package/docs/it/intlayer_with_nextjs_15.md +1 -1
- package/docs/it/intlayer_with_nextjs_16.md +3 -1
- package/docs/it/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +2 -2
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_nuxt.md +1 -1
- package/docs/it/intlayer_with_react_native+expo.md +4 -2
- package/docs/it/intlayer_with_react_router_v7.md +4 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack.md +1 -1
- package/docs/it/intlayer_with_vite+preact.md +3 -1
- package/docs/it/intlayer_with_vite+react.md +3 -1
- package/docs/it/intlayer_with_vite+react_compiler.md +24 -8
- package/docs/it/intlayer_with_vite+solid.md +1 -1
- package/docs/it/intlayer_with_vite+svelte.md +3 -1
- package/docs/it/intlayer_with_vite+vue.md +4 -2
- package/docs/it/introduction.md +2 -2
- package/docs/it/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/it/releases/v8.md +1 -1
- package/docs/ja/agent_skills.md +2 -0
- package/docs/ja/cli/init.md +1 -1
- package/docs/ja/compiler.md +53 -1
- package/docs/ja/component_i18n.md +2 -2
- package/docs/ja/configuration.md +68 -1
- package/docs/ja/dictionary/content_file.md +2 -2
- package/docs/ja/index.md +2 -2
- package/docs/ja/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/ja/intlayer_with_express.md +1 -1
- package/docs/ja/intlayer_with_fastify.md +1 -1
- package/docs/ja/intlayer_with_hono.md +1 -1
- package/docs/ja/intlayer_with_lynx+react.md +1 -1
- package/docs/ja/intlayer_with_nestjs.md +1 -1
- package/docs/ja/intlayer_with_next-i18next.md +2 -2
- package/docs/ja/intlayer_with_next-intl.md +1 -1
- package/docs/ja/intlayer_with_nextjs_14.md +1 -1
- package/docs/ja/intlayer_with_nextjs_15.md +1 -1
- package/docs/ja/intlayer_with_nextjs_16.md +3 -1
- package/docs/ja/intlayer_with_nextjs_compiler.md +22 -5
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +4 -4
- package/docs/ja/intlayer_with_nextjs_page_router.md +76 -77
- package/docs/ja/intlayer_with_nuxt.md +1 -1
- package/docs/ja/intlayer_with_react_native+expo.md +4 -2
- package/docs/ja/intlayer_with_react_router_v7.md +4 -2
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/ja/intlayer_with_svelte_kit.md +1 -1
- package/docs/ja/intlayer_with_tanstack.md +1 -1
- package/docs/ja/intlayer_with_vite+preact.md +3 -1
- package/docs/ja/intlayer_with_vite+react.md +3 -1
- package/docs/ja/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/ja/intlayer_with_vite+solid.md +1 -1
- package/docs/ja/intlayer_with_vite+svelte.md +3 -1
- package/docs/ja/intlayer_with_vite+vue.md +3 -1
- package/docs/ja/introduction.md +2 -2
- package/docs/ja/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/ja/releases/v8.md +1 -1
- package/docs/ko/agent_skills.md +2 -0
- package/docs/ko/cli/init.md +1 -1
- package/docs/ko/compiler.md +53 -1
- package/docs/ko/component_i18n.md +2 -2
- package/docs/ko/configuration.md +68 -1
- package/docs/ko/dictionary/content_file.md +2 -2
- package/docs/ko/index.md +2 -2
- package/docs/ko/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/ko/intlayer_with_express.md +1 -1
- package/docs/ko/intlayer_with_fastify.md +1 -1
- package/docs/ko/intlayer_with_hono.md +1 -1
- package/docs/ko/intlayer_with_lynx+react.md +1 -1
- package/docs/ko/intlayer_with_nestjs.md +1 -1
- package/docs/ko/intlayer_with_next-i18next.md +2 -2
- package/docs/ko/intlayer_with_next-intl.md +1 -1
- package/docs/ko/intlayer_with_nextjs_14.md +1 -1
- package/docs/ko/intlayer_with_nextjs_15.md +1 -1
- package/docs/ko/intlayer_with_nextjs_16.md +1 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +2 -2
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- 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 +2 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack.md +1 -1
- package/docs/ko/intlayer_with_vite+preact.md +1 -1
- package/docs/ko/intlayer_with_vite+react.md +1 -1
- package/docs/ko/intlayer_with_vite+react_compiler.md +1 -2
- package/docs/ko/intlayer_with_vite+solid.md +1 -1
- package/docs/ko/intlayer_with_vite+svelte.md +1 -1
- package/docs/ko/intlayer_with_vite+vue.md +1 -1
- package/docs/ko/introduction.md +2 -2
- package/docs/ko/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/ko/releases/v8.md +1 -1
- package/docs/pl/agent_skills.md +2 -0
- package/docs/pl/cli/init.md +1 -1
- package/docs/pl/compiler.md +53 -1
- package/docs/pl/component_i18n.md +2 -2
- package/docs/pl/configuration.md +61 -1
- package/docs/pl/dictionary/content_file.md +2 -2
- package/docs/pl/index.md +2 -2
- package/docs/pl/intlayer_CMS.md +1 -1
- package/docs/pl/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/pl/intlayer_with_express.md +1 -1
- package/docs/pl/intlayer_with_fastify.md +1 -1
- package/docs/pl/intlayer_with_hono.md +1 -1
- package/docs/pl/intlayer_with_lynx+react.md +1 -1
- package/docs/pl/intlayer_with_nestjs.md +1 -1
- package/docs/pl/intlayer_with_next-i18next.md +2 -2
- package/docs/pl/intlayer_with_next-intl.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 +3 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +24 -7
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +6 -6
- package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pl/intlayer_with_nuxt.md +1 -1
- package/docs/pl/intlayer_with_react_native+expo.md +5 -3
- package/docs/pl/intlayer_with_react_router_v7.md +4 -2
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +5 -3
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack.md +1 -1
- package/docs/pl/intlayer_with_vite+preact.md +3 -1
- package/docs/pl/intlayer_with_vite+react.md +3 -1
- package/docs/pl/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/pl/intlayer_with_vite+solid.md +1 -1
- package/docs/pl/intlayer_with_vite+svelte.md +3 -1
- package/docs/pl/intlayer_with_vite+vue.md +4 -2
- package/docs/pl/introduction.md +2 -2
- package/docs/pl/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/pl/packages/preact-intlayer/exports.md +1 -1
- package/docs/pl/releases/v8.md +4 -4
- package/docs/pt/agent_skills.md +2 -0
- package/docs/pt/cli/init.md +1 -1
- package/docs/pt/compiler.md +53 -1
- package/docs/pt/component_i18n.md +2 -2
- package/docs/pt/configuration.md +68 -1
- package/docs/pt/dictionary/content_file.md +2 -2
- package/docs/pt/index.md +2 -2
- package/docs/pt/intlayer_CMS.md +1 -1
- package/docs/pt/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/pt/intlayer_with_express.md +1 -1
- package/docs/pt/intlayer_with_fastify.md +1 -1
- package/docs/pt/intlayer_with_hono.md +1 -1
- package/docs/pt/intlayer_with_lynx+react.md +1 -1
- package/docs/pt/intlayer_with_nestjs.md +1 -1
- package/docs/pt/intlayer_with_next-i18next.md +2 -2
- package/docs/pt/intlayer_with_next-intl.md +1 -1
- package/docs/pt/intlayer_with_nextjs_14.md +1 -1
- package/docs/pt/intlayer_with_nextjs_15.md +1 -1
- package/docs/pt/intlayer_with_nextjs_16.md +3 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +9 -9
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_nuxt.md +1 -1
- package/docs/pt/intlayer_with_react_native+expo.md +4 -2
- package/docs/pt/intlayer_with_react_router_v7.md +4 -2
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +3 -5
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack.md +1 -1
- package/docs/pt/intlayer_with_vite+preact.md +3 -1
- package/docs/pt/intlayer_with_vite+react.md +3 -1
- package/docs/pt/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/pt/intlayer_with_vite+solid.md +1 -1
- package/docs/pt/intlayer_with_vite+svelte.md +3 -1
- package/docs/pt/intlayer_with_vite+vue.md +3 -1
- package/docs/pt/introduction.md +2 -2
- package/docs/pt/packages/next-intlayer/intlayerMiddleware.md +30 -7
- package/docs/pt/releases/v8.md +1 -1
- package/docs/ru/agent_skills.md +5 -3
- package/docs/ru/autoFill.md +3 -3
- package/docs/ru/bundle_optimization.md +1 -1
- package/docs/ru/cli/doc-translate.md +1 -1
- package/docs/ru/cli/fill.md +1 -1
- package/docs/ru/cli/init.md +6 -6
- package/docs/ru/cli/sdk.md +1 -1
- package/docs/ru/compiler.md +56 -4
- package/docs/ru/component_i18n.md +2 -2
- package/docs/ru/configuration.md +69 -2
- package/docs/ru/dictionary/content_file.md +4 -4
- package/docs/ru/dictionary/html.md +1 -1
- package/docs/ru/formatters.md +1 -1
- package/docs/ru/index.md +2 -2
- package/docs/ru/intlayer_CMS.md +6 -6
- package/docs/ru/intlayer_with_adonisjs.md +2 -2
- package/docs/ru/intlayer_with_analog.md +2 -2
- package/docs/ru/intlayer_with_angular.md +2 -2
- package/docs/ru/intlayer_with_astro.md +2 -2
- package/docs/ru/intlayer_with_create_react_app.md +1 -1
- package/docs/ru/intlayer_with_express.md +1 -1
- package/docs/ru/intlayer_with_fastify.md +2 -2
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +1 -1
- package/docs/ru/intlayer_with_nestjs.md +2 -2
- package/docs/ru/intlayer_with_next-i18next.md +3 -3
- package/docs/ru/intlayer_with_next-intl.md +1 -1
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_nextjs_16.md +5 -3
- package/docs/ru/intlayer_with_nextjs_compiler.md +25 -8
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +12 -12
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_nuxt.md +3 -3
- package/docs/ru/intlayer_with_react_native+expo.md +4 -2
- package/docs/ru/intlayer_with_react_router_v7.md +5 -3
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +5 -7
- package/docs/ru/intlayer_with_svelte_kit.md +3 -3
- package/docs/ru/intlayer_with_tanstack.md +3 -3
- package/docs/ru/intlayer_with_vite+preact.md +10 -8
- package/docs/ru/intlayer_with_vite+react.md +5 -3
- package/docs/ru/intlayer_with_vite+react_compiler.md +22 -6
- package/docs/ru/intlayer_with_vite+solid.md +1 -1
- package/docs/ru/intlayer_with_vite+svelte.md +4 -2
- package/docs/ru/intlayer_with_vite+vue.md +3 -1
- package/docs/ru/introduction.md +2 -2
- package/docs/ru/packages/adonis-intlayer/t.md +1 -1
- package/docs/ru/packages/hono-intlayer/t.md +2 -2
- package/docs/ru/packages/intlayer/exports.md +1 -1
- package/docs/ru/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/ru/packages/next-intlayer/useRewriteURL.md +1 -1
- package/docs/ru/packages/nuxt-intlayer/exports.md +3 -3
- package/docs/ru/packages/react-intlayer/exports.md +16 -16
- package/docs/ru/readme.md +1 -1
- package/docs/ru/releases/v7.md +3 -3
- package/docs/ru/releases/v8.md +6 -6
- package/docs/ru/vs_code_extension.md +1 -1
- package/docs/tr/agent_skills.md +2 -0
- package/docs/tr/cli/init.md +2 -2
- package/docs/tr/compiler.md +55 -3
- package/docs/tr/component_i18n.md +2 -2
- package/docs/tr/configuration.md +68 -1
- package/docs/tr/dictionary/content_file.md +2 -2
- package/docs/tr/index.md +2 -2
- package/docs/tr/intlayer_CMS.md +1 -1
- package/docs/tr/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/tr/intlayer_with_express.md +1 -1
- package/docs/tr/intlayer_with_fastify.md +1 -1
- package/docs/tr/intlayer_with_hono.md +1 -1
- package/docs/tr/intlayer_with_lynx+react.md +1 -1
- package/docs/tr/intlayer_with_nestjs.md +1 -1
- package/docs/tr/intlayer_with_next-i18next.md +2 -2
- package/docs/tr/intlayer_with_next-intl.md +1 -1
- package/docs/tr/intlayer_with_nextjs_14.md +1 -1
- package/docs/tr/intlayer_with_nextjs_15.md +1 -1
- package/docs/tr/intlayer_with_nextjs_16.md +3 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +4 -4
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_nuxt.md +1 -1
- package/docs/tr/intlayer_with_react_native+expo.md +4 -2
- package/docs/tr/intlayer_with_react_router_v7.md +4 -2
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +1 -1
- package/docs/tr/intlayer_with_vite+preact.md +3 -1
- package/docs/tr/intlayer_with_vite+react.md +3 -1
- package/docs/tr/intlayer_with_vite+react_compiler.md +24 -8
- package/docs/tr/intlayer_with_vite+solid.md +1 -1
- package/docs/tr/intlayer_with_vite+svelte.md +3 -1
- package/docs/tr/intlayer_with_vite+vue.md +3 -1
- package/docs/tr/introduction.md +2 -2
- package/docs/tr/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/tr/releases/v8.md +1 -1
- package/docs/uk/agent_skills.md +5 -3
- package/docs/uk/autoFill.md +4 -4
- package/docs/uk/bundle_optimization.md +2 -2
- package/docs/uk/cli/fill.md +1 -1
- package/docs/uk/cli/index.md +1 -1
- package/docs/uk/cli/list_projects.md +1 -1
- package/docs/uk/cli/login.md +2 -2
- package/docs/uk/cli/sdk.md +1 -1
- package/docs/uk/compiler.md +56 -4
- package/docs/uk/component_i18n.md +3 -3
- package/docs/uk/configuration.md +65 -5
- package/docs/uk/dictionary/content_file.md +6 -6
- package/docs/uk/dictionary/enumeration.md +1 -1
- package/docs/uk/dictionary/html.md +1 -1
- package/docs/uk/formatters.md +9 -9
- package/docs/uk/how_works_intlayer.md +6 -6
- package/docs/uk/index.md +4 -4
- package/docs/uk/interest_of_intlayer.md +24 -24
- package/docs/uk/intlayer_CMS.md +7 -7
- package/docs/uk/intlayer_visual_editor.md +8 -8
- package/docs/uk/intlayer_with_adonisjs.md +2 -2
- package/docs/uk/intlayer_with_analog.md +2 -2
- package/docs/uk/intlayer_with_angular.md +2 -2
- package/docs/uk/intlayer_with_astro.md +3 -3
- package/docs/uk/intlayer_with_create_react_app.md +13 -13
- package/docs/uk/intlayer_with_express.md +2 -2
- package/docs/uk/intlayer_with_fastify.md +3 -3
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -3
- package/docs/uk/intlayer_with_nestjs.md +4 -4
- package/docs/uk/intlayer_with_next-i18next.md +5 -5
- package/docs/uk/intlayer_with_next-intl.md +1 -1
- package/docs/uk/intlayer_with_nextjs_14.md +10 -10
- package/docs/uk/intlayer_with_nextjs_15.md +21 -21
- package/docs/uk/intlayer_with_nextjs_16.md +5 -3
- package/docs/uk/intlayer_with_nextjs_compiler.md +24 -7
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +13 -13
- package/docs/uk/intlayer_with_nextjs_page_router.md +9 -9
- package/docs/uk/intlayer_with_nuxt.md +6 -6
- package/docs/uk/intlayer_with_react_native+expo.md +11 -9
- package/docs/uk/intlayer_with_react_router_v7.md +10 -8
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +10 -8
- package/docs/uk/intlayer_with_svelte_kit.md +2 -2
- package/docs/uk/intlayer_with_tanstack.md +9 -9
- package/docs/uk/intlayer_with_vite+preact.md +13 -11
- package/docs/uk/intlayer_with_vite+react.md +14 -12
- package/docs/uk/intlayer_with_vite+react_compiler.md +26 -10
- package/docs/uk/intlayer_with_vite+solid.md +2 -2
- package/docs/uk/intlayer_with_vite+svelte.md +4 -2
- package/docs/uk/intlayer_with_vite+vue.md +9 -7
- package/docs/uk/introduction.md +3 -3
- package/docs/uk/locale_mapper.md +1 -1
- package/docs/uk/packages/adonis-intlayer/t.md +1 -1
- package/docs/uk/packages/angular-intlayer/exports.md +1 -1
- package/docs/uk/packages/express-intlayer/t.md +3 -3
- package/docs/uk/packages/hono-intlayer/t.md +2 -2
- package/docs/uk/packages/intlayer/exports.md +1 -1
- package/docs/uk/packages/intlayer/getEnumeration.md +1 -1
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +2 -2
- package/docs/uk/packages/intlayer/getTranslation.md +2 -2
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -3
- package/docs/uk/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/uk/packages/next-intlayer/t.md +2 -2
- package/docs/uk/packages/next-intlayer/useLocale.md +3 -3
- package/docs/uk/packages/next-intlayer/useRewriteURL.md +1 -1
- package/docs/uk/packages/nuxt-intlayer/exports.md +3 -3
- package/docs/uk/packages/react-intlayer/t.md +3 -3
- package/docs/uk/packages/react-intlayer/useDictionary.md +1 -1
- package/docs/uk/packages/react-intlayer/useLocale.md +2 -2
- package/docs/uk/packages/react-native-intlayer/exports.md +1 -1
- package/docs/uk/per_locale_file.md +2 -2
- package/docs/uk/plugins/sync-json.md +10 -10
- package/docs/uk/readme.md +3 -3
- package/docs/uk/releases/v6.md +2 -2
- package/docs/uk/releases/v7.md +2 -2
- package/docs/uk/releases/v8.md +2 -2
- package/docs/uk/roadmap.md +4 -4
- package/docs/uk/testing.md +1 -1
- package/docs/uk/vs_code_extension.md +2 -2
- package/docs/vi/agent_skills.md +2 -0
- package/docs/vi/compiler.md +53 -1
- package/docs/vi/component_i18n.md +2 -2
- package/docs/vi/configuration.md +61 -1
- package/docs/vi/dictionary/content_file.md +2 -2
- package/docs/vi/index.md +2 -2
- package/docs/vi/intlayer_CMS.md +1 -1
- package/docs/vi/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/vi/intlayer_with_express.md +1 -1
- package/docs/vi/intlayer_with_fastify.md +1 -1
- package/docs/vi/intlayer_with_hono.md +1 -1
- package/docs/vi/intlayer_with_lynx+react.md +1 -1
- package/docs/vi/intlayer_with_nestjs.md +1 -1
- package/docs/vi/intlayer_with_next-i18next.md +2 -2
- package/docs/vi/intlayer_with_next-intl.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 +3 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +2 -2
- package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/vi/intlayer_with_nuxt.md +1 -1
- package/docs/vi/intlayer_with_react_native+expo.md +5 -3
- package/docs/vi/intlayer_with_react_router_v7.md +4 -2
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack.md +1 -1
- package/docs/vi/intlayer_with_vite+preact.md +3 -1
- package/docs/vi/intlayer_with_vite+react.md +3 -1
- package/docs/vi/intlayer_with_vite+react_compiler.md +24 -8
- package/docs/vi/intlayer_with_vite+solid.md +1 -1
- package/docs/vi/intlayer_with_vite+svelte.md +3 -1
- package/docs/vi/intlayer_with_vite+vue.md +3 -1
- package/docs/vi/introduction.md +2 -2
- package/docs/vi/packages/intlayer/getCanonicalPath.md +1 -1
- package/docs/vi/packages/next-intlayer/intlayerMiddleware.md +29 -6
- package/docs/vi/readme.md +1 -1
- package/docs/vi/releases/v8.md +3 -3
- package/docs/zh/agent_skills.md +2 -0
- package/docs/zh/compiler.md +53 -1
- package/docs/zh/component_i18n.md +2 -2
- package/docs/zh/configuration.md +68 -1
- package/docs/zh/dictionary/content_file.md +2 -2
- package/docs/zh/index.md +3 -3
- package/docs/zh/intlayer_CMS.md +1 -1
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_lynx+react.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_next-i18next.md +2 -2
- package/docs/zh/intlayer_with_next-intl.md +1 -1
- package/docs/zh/intlayer_with_nextjs_14.md +1 -1
- package/docs/zh/intlayer_with_nextjs_15.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +3 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +23 -6
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_nuxt.md +1 -1
- package/docs/zh/intlayer_with_react_native+expo.md +4 -2
- package/docs/zh/intlayer_with_react_router_v7.md +4 -2
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +4 -2
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack.md +1 -1
- package/docs/zh/intlayer_with_vite+preact.md +3 -1
- package/docs/zh/intlayer_with_vite+react.md +3 -1
- package/docs/zh/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/zh/intlayer_with_vite+solid.md +1 -1
- package/docs/zh/intlayer_with_vite+svelte.md +3 -1
- package/docs/zh/intlayer_with_vite+vue.md +3 -1
- package/docs/zh/introduction.md +2 -2
- package/docs/zh/packages/next-intlayer/intlayerMiddleware.md +30 -7
- package/docs/zh/releases/v8.md +1 -1
- package/frequent_questions/ar/error-vite-env-only.md +2 -2
- package/frequent_questions/de/error-vite-env-only.md +2 -2
- package/frequent_questions/en/error-vite-env-only.md +2 -2
- package/frequent_questions/en-GB/error-vite-env-only.md +2 -2
- package/frequent_questions/es/error-vite-env-only.md +2 -2
- package/frequent_questions/fr/error-vite-env-only.md +2 -2
- package/frequent_questions/hi/error-vite-env-only.md +2 -2
- package/frequent_questions/id/domain_routing.md +1 -1
- package/frequent_questions/id/error-vite-env-only.md +2 -2
- package/frequent_questions/it/error-vite-env-only.md +2 -2
- package/frequent_questions/ja/error-vite-env-only.md +2 -2
- package/frequent_questions/ko/error-vite-env-only.md +2 -2
- package/frequent_questions/pl/domain_routing.md +1 -1
- package/frequent_questions/pl/error-vite-env-only.md +2 -2
- package/frequent_questions/pt/error-vite-env-only.md +2 -2
- package/frequent_questions/ru/error-vite-env-only.md +2 -2
- package/frequent_questions/tr/error-vite-env-only.md +2 -2
- package/frequent_questions/uk/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/uk/array_as_content_declaration.md +1 -1
- package/frequent_questions/uk/customized_locale_list.md +1 -1
- package/frequent_questions/uk/domain_routing.md +1 -1
- package/frequent_questions/uk/error-vite-env-only.md +3 -3
- package/frequent_questions/uk/get_locale_cookie.md +4 -4
- package/frequent_questions/uk/static_rendering.md +1 -1
- package/frequent_questions/vi/domain_routing.md +1 -1
- package/frequent_questions/vi/error-vite-env-only.md +2 -2
- package/frequent_questions/zh/error-vite-env-only.md +3 -3
- package/legal/de/terms_of_service.md +1 -1
- package/legal/fr/terms_of_service.md +2 -2
- package/legal/ja/terms_of_service.md +1 -1
- package/legal/pl/terms_of_service.md +2 -2
- package/legal/ru/terms_of_service.md +1 -1
- package/legal/uk/privacy_notice.md +1 -1
- package/legal/uk/terms_of_service.md +1 -1
- package/package.json +6 -6
- package/src/generated/blog.entry.ts +20 -0
|
@@ -25,8 +25,6 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# Sistem Manajemen Terjemahan
|
|
27
27
|
|
|
28
|
-
Sistem Manajemen Terjemahan
|
|
29
|
-
|
|
30
28
|
Sistem Manajemen Terjemahan (TMS) adalah platform perangkat lunak yang dirancang untuk mengotomatisasi dan menyederhanakan proses terjemahan dan lokalisasi (L10n). Secara tradisional, TMS berfungsi sebagai pusat terpadu di mana konten diunggah, diorganisir, dan ditugaskan kepada penerjemah manusia. Ia mengelola alur kerja, menyimpan memori terjemahan (untuk menghindari menerjemahkan kembali kalimat yang sama), dan menangani pengiriman berkas terjemahan kembali ke pengembang atau manajer konten.
|
|
31
29
|
|
|
32
30
|
Intinya, secara historis TMS adalah jembatan antara kode teknis (di mana string berada) dan ahli bahasa manusia (yang memahami konteks budaya).
|
|
@@ -39,7 +37,7 @@ Phrase dibangun untuk skala. Ini adalah pilihan utama bagi perusahaan besar yang
|
|
|
39
37
|
|
|
40
38
|
# Intlayer
|
|
41
39
|
|
|
42
|
-
Intlayer dikenal terutama sebagai solusi i18n, tetapi juga mengintegrasikan headless CMS. Berbeda dengan Phrase, yang berfungsi sebagai suite enterprise besar dan eksternal, Intlayer berperan sebagai lapisan yang gesit dan terintegrasi dengan kode. Ia mengendalikan seluruh stack
|
|
40
|
+
Intlayer dikenal terutama sebagai solusi i18n, tetapi juga mengintegrasikan headless CMS. Berbeda dengan Phrase, yang berfungsi sebagai suite enterprise besar dan eksternal, Intlayer berperan sebagai lapisan yang gesit dan terintegrasi dengan kode. Ia mengendalikan seluruh stack, dari lapisan bundling hingga pengiriman konten jarak jauh, menghasilkan aliran konten yang lebih lancar dan efisien untuk aplikasi web modern.
|
|
43
41
|
|
|
44
42
|
## Mengapa paradigma berubah sejak munculnya AI?
|
|
45
43
|
|
|
@@ -61,24 +59,15 @@ Intlayer adalah solusi yang lahir di era AI, dirancang khusus untuk ekosistem Ja
|
|
|
61
59
|
|
|
62
60
|
# Perbandingan berdampingan
|
|
63
61
|
|
|
64
|
-
| Fitur
|
|
65
|
-
|
|
|
66
|
-
| **Filosofi Inti**
|
|
67
|
-
| **Model Harga**
|
|
68
|
-
| **Integrasi**
|
|
69
|
-
| **Pembaruan**
|
|
70
|
-
| **Format File**
|
|
71
|
-
| **Pengujian**
|
|
72
|
-
| **Hosting**
|
|
73
|
-
| Fitur | Phrase (TMS Enterprise) | Intlayer (AI-Native) |
|
|
74
|
-
| :------------------ | :------------------------------------- | :-------------------------------------- |
|
|
75
|
-
| **Filosofi Inti** | Tata kelola perusahaan & alur kerja. | Mengelola logika konten & generasi AI. |
|
|
76
|
-
| **Model Harga** | Kustom Enterprise / berbasis kursi (Tinggi). | Bayar untuk inferensi Anda sendiri (gunakan kunci Anda — BYO Key). |
|
|
77
|
-
| **Integrasi** | Penggunaan API / CLI yang intensif. | Integrasi kode mendalam (Deklaratif). |
|
|
78
|
-
| **Pembaruan** | Membutuhkan sinkronisasi / Bergantung pada pipeline. | Sinkronisasi instan dengan codebase atau aplikasi live. |
|
|
79
|
-
| **Format Berkas** | Sangat luas (Legacy & Dokumen). | Web Modern (JSON, JS, TS). |
|
|
80
|
-
| **Pengujian** | Pemeriksaan QA / Langkah LQA. | CI / CLI / Pengujian A/B. |
|
|
81
|
-
| **Hosting** | SaaS (Khusus Enterprise). | Open Source & Dapat Di-host Sendiri (Docker). |
|
|
62
|
+
| Fitur | Phrase (Enterprise TMS) | Intlayer (AI-Native) |
|
|
63
|
+
| :---------------- | :--------------------------------------------- | :------------------------------------------------- |
|
|
64
|
+
| **Filosofi Inti** | Tata Kelola & Alur Kerja Enterprise. | Mengelola logika konten & generasi AI. |
|
|
65
|
+
| **Model Harga** | Khusus Enterprise / Berbasis kursi (Tinggi). | Bayar untuk inferensi Anda sendiri (BYO Key). |
|
|
66
|
+
| **Integrasi** | Penggunaan API / CLI secara intensif. | Integrasi kode mendalam (Deklaratif). |
|
|
67
|
+
| **Pembaruan** | Perlu sinkronisasi / Bergantung pada pipeline. | Sinkron instan dengan codebase atau aplikasi live. |
|
|
68
|
+
| **Format File** | Sangat luas (Legacy & Dokumen). | Web Modern (JSON, JS, TS). |
|
|
69
|
+
| **Pengujian** | Pemeriksaan QA / Langkah LQA. | CI / CLI / Pengujian A/B. |
|
|
70
|
+
| **Hosting** | SaaS (Murni Enterprise). | Open Source & Dapat di-host sendiri (Docker). |
|
|
82
71
|
|
|
83
72
|
Intlayer menawarkan solusi i18n lengkap dan all-in-one yang memungkinkan integrasi mendalam terhadap konten Anda. Konten remote Anda dapat disinkronkan langsung dengan codebase atau aplikasi live Anda. Sebagai perbandingan, Phrase adalah dependency eksternal yang kuat tetapi kompleks yang sering kali memerlukan manajer lokalisasi khusus agar dapat beroperasi secara efektif.
|
|
84
73
|
|
|
@@ -86,4 +75,4 @@ Selain itu, Intlayer dapat digunakan sebagai Feature Flag atau alat A/B testing,
|
|
|
86
75
|
|
|
87
76
|
Sementara Phrase tak terbantahkan untuk kebutuhan perusahaan yang kompleks dan multi-format (mis. menerjemahkan PDF, subtitle, dan perangkat lunak secara bersamaan), Intlayer merupakan pilihan yang lebih baik bagi tim produk yang membangun aplikasi web dan menginginkan kepemilikan penuh, type safety, serta alur kerja modern berbasis AI tanpa beban overhead enterprise.
|
|
88
77
|
|
|
89
|
-
Terakhir, bagi mereka yang memprioritaskan kedaulatan data dan kontrol, Intlayer bersifat open-source dan dapat di-host sendiri. File Docker tersedia langsung di repositori, memberi Anda kepemilikan penuh atas infrastruktur lokalisasi Anda
|
|
78
|
+
Terakhir, bagi mereka yang memprioritaskan kedaulatan data dan kontrol, Intlayer bersifat open-source dan dapat di-host sendiri. File Docker tersedia langsung di repositori, memberi Anda kepemilikan penuh atas infrastruktur lokalisasi Anda, sesuatu yang tidak mungkin dilakukan dengan ekosistem SaaS tertutup milik Phrase.
|
|
@@ -50,7 +50,29 @@ Menerjemahkan aplikasi Angular menghadirkan beberapa tantangan:
|
|
|
50
50
|
|
|
51
51
|
Angular menawarkan kerangka kerja i18n bawaan, dan ada beberapa pustaka pihak ketiga yang dirancang untuk menyederhanakan pengaturan multibahasa Anda. Berikut adalah beberapa solusi yang paling populer.
|
|
52
52
|
|
|
53
|
-
### 1.
|
|
53
|
+
### 1. Intlayer
|
|
54
|
+
|
|
55
|
+
> Situs Web: [https://intlayer.org/](https://intlayer.org/)
|
|
56
|
+
|
|
57
|
+
**Ikhtisar**
|
|
58
|
+
**Intlayer** adalah pustaka internasionalisasi (i18n) sumber terbuka yang inovatif, dirancang untuk menyederhanakan dukungan multibahasa dalam aplikasi web Angular (dan lainnya) modern. Ini menawarkan pendekatan deklaratif yang memungkinkan Anda menentukan kamus terjemahan langsung di dalam komponen Anda.
|
|
59
|
+
|
|
60
|
+
**Fitur Utama**
|
|
61
|
+
|
|
62
|
+
- **Deklarasi Terjemahan**: Memungkinkan semua terjemahan dideklarasikan dalam satu file, yang disimpan di tingkat komponen, sehingga mudah untuk dipertahankan dan diskalakan.
|
|
63
|
+
- **TypeScript & Autocomplete**: Menyediakan definisi tipe yang dibuat secara otomatis untuk kunci terjemahan, memastikan pelengkapan otomatis (autocomplete) yang kuat dan deteksi kesalahan.
|
|
64
|
+
- **Komponen Server & SSR**: Dibuat dengan mempertimbangkan server-side rendering (SSR) dan komponen server, memastikan konten yang dilokalkan disajikan secara efisien baik di klien maupun server.
|
|
65
|
+
- **Metadata & URL yang Dilokalkan untuk SEO**: Kelola rute berbasis lokal yang dinamis, sitemap, dan entri robots.txt dengan mudah untuk meningkatkan kemudahan temuan dan SEO.
|
|
66
|
+
- **Integrasi yang Mulus**: Kompatibel dengan Angular CLI dan alat lainnya, membuat penyiapan menjadi sederhana.
|
|
67
|
+
- **Pemuatan Asinkron**: Muat kamus terjemahan secara dinamis, mengurangi ukuran bundle awal dan meningkatkan kinerja.
|
|
68
|
+
|
|
69
|
+
**Pertimbangan**
|
|
70
|
+
|
|
71
|
+
- **Komunitas & Ekosistem**: Meskipun terus berkembang, ekosistemnya masih baru, sehingga plugin dan alat yang didorong oleh komunitas mungkin lebih terbatas dibandingkan dengan solusi yang lebih mapan.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### 2. i18n Bawaan Angular
|
|
54
76
|
|
|
55
77
|
**Ikhtisar**
|
|
56
78
|
Angular dilengkapi dengan sistem **i18n bawaan** yang mencakup alat untuk mengekstrak string terjemahan, menangani pluralisasi dan interpolasi, serta mengintegrasikan terjemahan saat waktu kompilasi. Solusi resmi ini sangat kuat untuk proyek yang lebih kecil atau yang dapat selaras dengan struktur yang direkomendasikan Angular.
|
|
@@ -70,7 +92,7 @@ Angular dilengkapi dengan sistem **i18n bawaan** yang mencakup alat untuk mengek
|
|
|
70
92
|
|
|
71
93
|
---
|
|
72
94
|
|
|
73
|
-
###
|
|
95
|
+
### 3. ngx-translate
|
|
74
96
|
|
|
75
97
|
Situs Web: [https://github.com/ngx-translate/core](https://github.com/ngx-translate/core)
|
|
76
98
|
|
|
@@ -92,7 +114,7 @@ Situs Web: [https://github.com/ngx-translate/core](https://github.com/ngx-transl
|
|
|
92
114
|
|
|
93
115
|
---
|
|
94
116
|
|
|
95
|
-
###
|
|
117
|
+
### 4. Transloco
|
|
96
118
|
|
|
97
119
|
Website: [https://ngneat.github.io/transloco/](https://ngneat.github.io/transloco/)
|
|
98
120
|
|
|
@@ -50,7 +50,29 @@ Menerjemahkan aplikasi Svelte dapat menghadirkan beberapa kendala:
|
|
|
50
50
|
|
|
51
51
|
Svelte tidak menyediakan solusi i18n bawaan secara native (seperti Angular), tetapi komunitas telah menciptakan berbagai pustaka dan pola yang kuat. Berikut beberapa pendekatan populer.
|
|
52
52
|
|
|
53
|
-
### 1.
|
|
53
|
+
### 1. Intlayer
|
|
54
|
+
|
|
55
|
+
> Situs Web: [https://intlayer.org/](https://intlayer.org/)
|
|
56
|
+
|
|
57
|
+
**Ikhtisar**
|
|
58
|
+
**Intlayer** adalah pustaka internasionalisasi (i18n) sumber terbuka yang inovatif, dirancang untuk menyederhanakan dukungan multibahasa dalam aplikasi web Svelte (dan lainnya) modern. Ini menawarkan pendekatan deklaratif yang memungkinkan Anda menentukan kamus terjemahan langsung di dalam komponen Anda.
|
|
59
|
+
|
|
60
|
+
**Fitur Utama**
|
|
61
|
+
|
|
62
|
+
- **Deklarasi Terjemahan**: Memungkinkan semua terjemahan dideklarasikan dalam satu file, yang disimpan di tingkat komponen, sehingga mudah untuk dipertahankan dan diskalakan.
|
|
63
|
+
- **TypeScript & Autocomplete**: Menyediakan definisi tipe yang dibuat secara otomatis untuk kunci terjemahan, memastikan pelengkapan otomatis (autocomplete) yang kuat dan deteksi kesalahan.
|
|
64
|
+
- **Komponen Server & SSR**: Dibuat dengan mempertimbangkan server-side rendering (SSR) dan komponen server, memastikan konten yang dilokalkan disajikan secara efisien baik di klien maupun server.
|
|
65
|
+
- **Metadata & URL yang Dilokalkan untuk SEO**: Kelola rute berbasis lokal yang dinamis, sitemap, dan entri robots.txt dengan mudah untuk meningkatkan kemudahan temuan dan SEO.
|
|
66
|
+
- **Integrasi yang Mulus**: Kompatibel dengan SvelteKit dan alat lainnya, membuat penyiapan menjadi sederhana.
|
|
67
|
+
- **Pemuatan Asinkron**: Muat kamus terjemahan secara dinamis, mengurangi ukuran bundle awal dan meningkatkan kinerja.
|
|
68
|
+
|
|
69
|
+
**Pertimbangan**
|
|
70
|
+
|
|
71
|
+
- **Komunitas & Ekosistem**: Meskipun terus berkembang, ekosistemnya masih baru, sehingga plugin dan alat yang didorong oleh komunitas mungkin lebih terbatas dibandingkan dengan solusi yang lebih mapan.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### 2. svelte-i18n
|
|
54
76
|
|
|
55
77
|
Repositori: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaisermann/svelte-i18n)
|
|
56
78
|
|
|
@@ -72,7 +94,7 @@ Repositori: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaise
|
|
|
72
94
|
|
|
73
95
|
---
|
|
74
96
|
|
|
75
|
-
###
|
|
97
|
+
### 3. svelte-intl-precompile
|
|
76
98
|
|
|
77
99
|
Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.com/cibernox/svelte-intl-precompile)
|
|
78
100
|
|
|
@@ -96,7 +118,7 @@ Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.
|
|
|
96
118
|
|
|
97
119
|
---
|
|
98
120
|
|
|
99
|
-
###
|
|
121
|
+
### 4. i18next dengan Svelte / SvelteKit
|
|
100
122
|
|
|
101
123
|
Website: [https://www.i18next.com/](https://www.i18next.com/)
|
|
102
124
|
|
|
@@ -52,7 +52,21 @@ Berikut adalah beberapa pustaka dan pendekatan populer yang dapat Anda gunakan u
|
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
-
### 1.
|
|
55
|
+
### 1. Intlayer
|
|
56
|
+
|
|
57
|
+
> Situs Web: [https://intlayer.org/](https://intlayer.org/)
|
|
58
|
+
|
|
59
|
+
**Gambaran Umum**
|
|
60
|
+
**Intlayer** adalah solusi i18n open-source yang bertujuan untuk menyederhanakan dukungan multibahasa di berbagai framework, termasuk **Vue**. Ini menekankan pendekatan deklaratif, pengetikan kuat (strong typing), dan dukungan SSR di ekosistem lain, meskipun SSR tidak umum di Vue standar.
|
|
61
|
+
|
|
62
|
+
**Fitur Utama**
|
|
63
|
+
|
|
64
|
+
- **Terjemahan Deklaratif**: Tentukan kamus terjemahan baik di tingkat widget atau dalam file terpusat untuk arsitektur yang lebih bersih.
|
|
65
|
+
- **TypeScript & Autocompletion (Web)**: Meskipun fitur ini terutama bermanfaat bagi framework web, pendekatan terjemahan yang diketik masih dapat memandu kode terstruktur di Vue.
|
|
66
|
+
- **Pemuatan Asinkron**: Muat aset terjemahan secara dinamis, yang berpotensi mengurangi ukuran bundle awal untuk aplikasi multibahasa.
|
|
67
|
+
- **Integrasi dengan Vue**: Integrasi dasar dapat diatur untuk memanfaatkan pendekatan Intlayer untuk terjemahan terstruktur.
|
|
68
|
+
|
|
69
|
+
### 2. Vue I18n
|
|
56
70
|
|
|
57
71
|
> Situs web: [https://vue-i18n.intlify.dev/](https://vue-i18n.intlify.dev/)
|
|
58
72
|
|
|
@@ -83,7 +97,7 @@ Berikut adalah beberapa pustaka dan pendekatan populer yang dapat Anda gunakan u
|
|
|
83
97
|
|
|
84
98
|
---
|
|
85
99
|
|
|
86
|
-
###
|
|
100
|
+
### 3. LinguiJS (Integrasi Vue)
|
|
87
101
|
|
|
88
102
|
> Situs web: [https://lingui.js.org/](https://lingui.js.org/)
|
|
89
103
|
|
|
@@ -54,7 +54,7 @@ Berikut adalah daftar periksa yang harus diimplementasikan setiap aplikasi multi
|
|
|
54
54
|
- **Gunakan tautan yang dilokalkan**
|
|
55
55
|
Contoh: `<a href="/fr/about">À propos</a>` daripada menautkan ke `/about` default.
|
|
56
56
|
|
|
57
|
-
Ini adalah langkah sederhana
|
|
57
|
+
Ini adalah langkah sederhana, tetapi melewatkannya dapat mengurangi visibilitas Anda.
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
@@ -99,7 +99,7 @@ Pertukaran ini (ukuran chunk vs tumpang tindih) adalah kunci untuk efisiensi RAG
|
|
|
99
99
|
|
|
100
100
|
## Langkah 3: Menghasilkan Embeddings
|
|
101
101
|
|
|
102
|
-
Setelah dokumen dipecah menjadi chunk, kita menghasilkan **embeddings
|
|
102
|
+
Setelah dokumen dipecah menjadi chunk, kita menghasilkan **embeddings**, vektor berdimensi tinggi yang mewakili setiap chunk.
|
|
103
103
|
|
|
104
104
|
Saya menggunakan model OpenAI text-embedding-3-large, tetapi Anda bisa menggunakan model embedding modern lainnya.
|
|
105
105
|
|
|
@@ -246,7 +246,7 @@ Pendekatan ini:
|
|
|
246
246
|
## Kapan memilih yang mana?
|
|
247
247
|
|
|
248
248
|
- **Pilih vue-i18n** jika Anda menginginkan **pendekatan Vue standar**, nyaman mengelola katalog/namespace sendiri, dan aplikasi Anda berukuran **kecil hingga menengah** (atau Anda sudah menggunakan Nuxt i18n).
|
|
249
|
-
- **Pilih Intlayer** jika Anda menghargai **konten yang dibatasi pada komponen**, **TypeScript yang ketat**, **jaminan waktu build**, **tree-shaking**, dan alat routing/SEO/editor yang **lengkap
|
|
249
|
+
- **Pilih Intlayer** jika Anda menghargai **konten yang dibatasi pada komponen**, **TypeScript yang ketat**, **jaminan waktu build**, **tree-shaking**, dan alat routing/SEO/editor yang **lengkap**, terutama untuk **codebase Vue/Nuxt yang besar dan modular**, sistem desain, dll.
|
|
250
250
|
|
|
251
251
|
---
|
|
252
252
|
|
|
@@ -205,7 +205,7 @@ Quindi, quale dovresti scegliere?
|
|
|
205
205
|
L'approccio basato sul compilatore è una scelta valida. Ti permette di muoverti incredibilmente velocemente. Non devi preoccuparti della struttura dei file o delle chiavi. Devi solo costruire. Il debito tecnico sarà un problema per il "Te futuro".
|
|
206
206
|
|
|
207
207
|
**Se sei uno sviluppatore junior, o non ti interessa l'ottimizzazione:**
|
|
208
|
-
Se vuoi la gestione manuale minima, un approccio basato sul compilatore è probabilmente il migliore. Non dovrai gestire tu stesso chiavi o file di traduzione
|
|
208
|
+
Se vuoi la gestione manuale minima, un approccio basato sul compilatore è probabilmente il migliore. Non dovrai gestire tu stesso chiavi o file di traduzione, scrivi semplicemente il testo, e il compilatore automatizza il resto. Questo riduce lo sforzo di configurazione e gli errori comuni di i18n legati ai passaggi manuali.
|
|
209
209
|
|
|
210
210
|
**Se stai internazionalizzando un progetto esistente che include già migliaia di componenti da rifattorizzare:**
|
|
211
211
|
Un approccio basato sul compilatore può essere una scelta pragmatica in questo caso. La fase iniziale di estrazione può far risparmiare settimane o mesi di lavoro manuale. Tuttavia, considera l'uso di uno strumento come il comando `transform` di Intlayer, che può estrarre le stringhe e convertirle in dichiarazioni di contenuto dichiarativo esplicite. Questo ti offre la velocità dell'automazione mantenendo la sicurezza e la portabilità di un approccio dichiarativo. Ottieni il meglio di entrambi i mondi: una migrazione iniziale rapida senza debito architetturale a lungo termine.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-02-26
|
|
3
|
+
updatedAt: 2026-02-26
|
|
4
|
+
title: "Significato i18n: Cos'è l'Internazionalizzazione e perché è importante?"
|
|
5
|
+
description: "Scopri il vero significato di i18n nello sviluppo software. Scopri cos'è l'internazionalizzazione, perché viene abbreviata in i18n e come influisce sulla portata globale."
|
|
6
|
+
keywords:
|
|
7
|
+
- significato i18n
|
|
8
|
+
- cosa significa i18n
|
|
9
|
+
- i18n
|
|
10
|
+
- internazionalizzazione
|
|
11
|
+
- localizzazione
|
|
12
|
+
- blog
|
|
13
|
+
- sviluppo web
|
|
14
|
+
slugs:
|
|
15
|
+
- blog
|
|
16
|
+
- i18n-meaning
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Significato i18n: Cos'è l'Internazionalizzazione e perché è importante?
|
|
20
|
+
|
|
21
|
+

|
|
22
|
+
|
|
23
|
+
## Capire il "Significato i18n"
|
|
24
|
+
|
|
25
|
+
Se sei coinvolto nello sviluppo software, nel web design o nel marketing digitale, probabilmente ti sei imbattuto nel termine **i18n**. Il vero **significato di i18n** è semplicemente un numeronimo per **internationalization** (internazionalizzazione).
|
|
26
|
+
|
|
27
|
+
Ma perché "i18n"? L'abbreviazione è creata prendendo la prima lettera della parola "internationalization" (**i**), l'ultima lettera (**n**) e contando il numero di lettere tra di esse (**18**). Questa convenzione è usata frequentemente nell'industria tecnologica per abbreviare termini lunghi e ingombranti (un altro esempio comune è **l10n** per la localizzazione - localization).
|
|
28
|
+
|
|
29
|
+
In termini tecnici, il **significato di i18n** si riferisce al processo di progettazione e preparazione di un'applicazione software, di un sito web o di un prodotto in modo che possa supportare facilmente più lingue, norme regionali e convenzioni culturali, il tutto senza richiedere modifiche ingegneristiche significative al codice sorgente sottostante.
|
|
30
|
+
|
|
31
|
+
## Il significato centrale di i18n nella pratica
|
|
32
|
+
|
|
33
|
+
Capire il significato di i18n va oltre il semplice sapere cosa rappresenta l'acronimo. Si tratta di riconoscere i principi architettonici che ne stanno alla base. Quando un progetto è correttamente "internazionalizzato", significa che gli sviluppatori hanno separato il contenuto dal codice.
|
|
34
|
+
|
|
35
|
+
Invece di scrivere il testo direttamente nell'applicazione in questo modo:
|
|
36
|
+
|
|
37
|
+
```javascript
|
|
38
|
+
<button>Invia</button>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Un'app pronta per i18n utilizza chiavi di traduzione o variabili:
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
<button>{t("submit_button")}</button>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Questo assicura che l'applicazione possa caricare dinamicamente il dizionario linguistico corretto (ad esempio inglese, spagnolo, giapponese) in base alle preferenze dell'utente, senza riscrivere il componente.
|
|
48
|
+
|
|
49
|
+
## Perché il significato di i18n è cruciale per il tuo business
|
|
50
|
+
|
|
51
|
+
Afferrare il **significato di i18n** è solo il primo passo. Capire _perché_ è così critico per i prodotti digitali moderni è ciò che separa le applicazioni globali di successo da quelle locali.
|
|
52
|
+
|
|
53
|
+
### Abbattere le barriere linguistiche
|
|
54
|
+
|
|
55
|
+
L'applicazione più ovvia del significato i18n è la traduzione. Internazionalizzando la tua applicazione fin dal primo giorno, costruisci una base che ti permette di tradurre la tua interfaccia in decine di lingue senza problemi. Questo è essenziale per sbloccare nuovi mercati globali.
|
|
56
|
+
|
|
57
|
+
### Adattamento culturale e regionale
|
|
58
|
+
|
|
59
|
+
Il significato i18n si estende oltre la lingua. Una vera internazionalizzazione supporta:
|
|
60
|
+
|
|
61
|
+
- **Formati di data e ora:** Visualizzazione di `MM/DD/YYYY` per gli utenti USA rispetto a `DD/MM/YYYY` per gli utenti europei.
|
|
62
|
+
- **Formattazione dei numeri:** Riconoscere che `1,000.50` negli USA è spesso scritto come `1.000,50` in parti d'Europa.
|
|
63
|
+
- **Valute:** Adattare `$99.00` rispetto a `99,00 €`.
|
|
64
|
+
- **Direzionalità del testo:** Supportare lingue da destra a sinistra (RTL) come l'arabo e l'ebraico.
|
|
65
|
+
|
|
66
|
+
### Migliori prestazioni SEO
|
|
67
|
+
|
|
68
|
+
I motori di ricerca danno priorità ai contenuti rilevanti per la lingua e la regione dell'utente. Applicare i principi alla base del significato i18n ti permette di strutturare il tuo sito web (ad esempio, usando i tag `hreflang`, URL localizzati) per posizionarti meglio in più paesi, guidando il traffico globale organico.
|
|
69
|
+
|
|
70
|
+
## Internazionalizzazione (i18n) vs Localizzazione (l10n)
|
|
71
|
+
|
|
72
|
+
Per capire appieno il **significato di i18n**, devi differenziarlo da **l10n** (localizzazione).
|
|
73
|
+
|
|
74
|
+
- **i18n (Internazionalizzazione):** La _preparazione tecnica_ e il framework di progettazione strutturale che rendono possibile l'adattamento. Esempi: supporto della codifica UTF-8, astrazione delle stringhe di testo e flessibilità dei layout UI per parole più lunghe.
|
|
75
|
+
- **l10n (Localizzazione):** L'_adattamento effettivo_ del prodotto per una specifica area geografica (locale). Esempi: traduzione del testo inglese in italiano, adattamento delle immagini agli standard culturali e impostazione della valuta locale.
|
|
76
|
+
|
|
77
|
+
Pensa all'**i18n** come alla costruzione di un'auto in cui il volante può essere spostato sul lato sinistro o destro. La **l10n** è l'atto effettivo di spostare il volante a destra per vendere l'auto nel Regno Unito.
|
|
78
|
+
|
|
79
|
+
## Idee sbagliate comuni sul significato di i18n
|
|
80
|
+
|
|
81
|
+
1. **"i18n significa solo traduzione."**
|
|
82
|
+
Sebbene la traduzione sia una parte importante del risultato finale, il vero significato di i18n include la formattazione, le regole di pluralizzazione, la direzione del testo e la prontezza architettonica.
|
|
83
|
+
2. **"Possiamo aggiungere i18n in seguito."**
|
|
84
|
+
Adattare un'applicazione per l'internazionalizzazione a posteriori è notoriamente difficile. Stringhe hardcoded, componenti UI rigidi e formati di data incompatibili possono portare a enormi debiti tecnici. Organizzare l'i18n fin dall'inizio è una pratica fondamentale.
|
|
85
|
+
|
|
86
|
+
## Come implementare l'i18n in modo efficace
|
|
87
|
+
|
|
88
|
+

|
|
89
|
+
|
|
90
|
+
Ora che abbiamo stabilito il vero **significato di i18n**, come lo applichi?
|
|
91
|
+
|
|
92
|
+
- **Usa un framework i18n affermato:** Non reinventare la ruota. Sia che tu stia usando React, Vue, Next.js o semplice JavaScript, esistono librerie i18n specifiche progettate per gestire il lavoro pesante (come pluralizzazione e interpolazione).
|
|
93
|
+
- **Astrai tutto il testo rivolto all'utente:** Assicurati che non esista testo hardcoded nei tuoi componenti UI.
|
|
94
|
+
- **Utilizza un sistema di gestione delle traduzioni robusto:** Strumenti come **Intlayer** colmano il divario tra sviluppatori e traduttori. Intlayer agisce come un CMS headless strettamente integrato con la tua codebase, consentendo ai gestori dei contenuti di aggiornare le traduzioni visivamente senza richiedere a uno sviluppatore di attivare una nuova build.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### Visualizza l'elenco delle librerie e degli strumenti i18n per tecnologia
|
|
99
|
+
|
|
100
|
+
Se stai cercando un elenco di librerie e strumenti i18n per tecnologia, consulta le seguenti risorse:
|
|
101
|
+
|
|
102
|
+
### Per i sistemi di gestione dei contenuti (CMS)
|
|
103
|
+
|
|
104
|
+
- WordPress: [Visualizza l'elenco delle librerie e degli strumenti i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/list_i18n_technologies/CMS/wordpress.md)
|
|
105
|
+
- Wix: [Visualizza l'elenco delle librerie e degli strumenti i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/list_i18n_technologies/CMS/wix.md)
|
|
106
|
+
- Drupal: [Visualizza l'elenco delle librerie e degli strumenti i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/list_i18n_technologies/CMS/drupal.md)
|
|
107
|
+
|
|
108
|
+
### Per le applicazioni JavaScript (Frontend)
|
|
109
|
+
|
|
110
|
+
- React: [Visualizza l'elenco delle librerie e degli strumenti i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/list_i18n_technologies/frameworks/react.md)
|
|
111
|
+
- Angular: [Visualizza l'elenco delle librerie e degli strumenti i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/list_i18n_technologies/frameworks/angular.md)
|
|
112
|
+
- Vue: [Visualizza l'elenco delle librerie e degli strumenti i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/list_i18n_technologies/frameworks/vue.md)
|
|
113
|
+
- Svelte: [Visualizza l'elenco delle librerie e degli strumenti i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/list_i18n_technologies/frameworks/svelte.md)
|
|
114
|
+
- React Native: [Visualizza l'elenco delle librerie e degli strumenti i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/list_i18n_technologies/frameworks/react-native.md)
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Conclusione
|
|
119
|
+
|
|
120
|
+
Il **significato di i18n** è un concetto fondamentale per qualsiasi business digitale moderno che miri a un impatto globale. Molto più che una semplice abbreviazione tecnica per "internazionalizzazione", i18n rappresenta l'architettura tecnica necessaria per adattare perfettamente il software a diverse lingue, culture e standard regionali.
|
|
121
|
+
|
|
122
|
+
Comprendendo il significato di i18n e adottando i suoi principi all'inizio del ciclo di sviluppo, risparmi tempo ingegneristico significativo, previeni debiti tecnici futuri e assicuri che la tua applicazione offra un'esperienza nativa e accogliente agli utenti di tutto il mondo.
|
|
123
|
+
|
|
124
|
+
Sia che tu stia costruendo un'app mobile, una piattaforma SaaS o uno strumento aziendale, abbracciare il vero significato di i18n assicura che il tuo prodotto possa adattarsi e attrarre utenti da tutto il mondo, senza la necessità di continui riscrizoni del codice. Sfruttando le migliori pratiche, framework robusti e la dichiarazione di contenuti localizzati con piattaforme come Intlayer, i team di prodotto possono offrire esperienze software veramente globali.
|
|
@@ -25,10 +25,6 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# Sistema di gestione delle traduzioni
|
|
27
27
|
|
|
28
|
-
A Translation Management System (TMS) è una piattaforma software progettata per automatizzare e semplificare il processo di traduzione e localizzazione (L10n). Tradizionalmente, un TMS funge da hub centralizzato in cui i contenuti vengono caricati, organizzati e assegnati a traduttori umani. Gestisce i flussi di lavoro, conserva memorie di traduzione (per evitare di tradurre la stessa frase due volte) e si occupa della consegna dei file tradotti agli sviluppatori o ai responsabili dei contenuti.
|
|
29
|
-
|
|
30
|
-
In sostanza, storicamente un TMS è stato il ponte tra il codice tecnico (dove risiedono le stringhe) e i linguisti umani (che comprendono la cultura).
|
|
31
|
-
|
|
32
28
|
Un Sistema di gestione delle traduzioni (TMS) è una piattaforma software progettata per automatizzare e snellire il processo di traduzione e localizzazione (L10n). Tradizionalmente, un TMS funge da hub centralizzato dove i contenuti vengono caricati, organizzati e assegnati a traduttori umani. Gestisce i flussi di lavoro, conserva memorie di traduzione (per evitare di tradurre la stessa frase due volte) e si occupa della consegna dei file tradotti agli sviluppatori o ai responsabili dei contenuti.
|
|
33
29
|
|
|
34
30
|
In sostanza, storicamente un TMS è stato il ponte tra il codice tecnico (dove risiedono le stringhe) e i linguisti umani (che comprendono la cultura).
|
|
@@ -41,11 +37,11 @@ Ha costruito il suo successo sull'essere il TMS "developer-friendly", automatizz
|
|
|
41
37
|
|
|
42
38
|
# Intlayer
|
|
43
39
|
|
|
44
|
-
Intlayer è conosciuto principalmente come una soluzione i18n, ma integra anche un headless CMS. A differenza di Lokalise, che agisce in larga parte come uno strumento di sincronizzazione esterno per le tue stringhe, Intlayer vive più vicino al tuo codice. Controlla l'intero stack
|
|
40
|
+
Intlayer è conosciuto principalmente come una soluzione i18n, ma integra anche un headless CMS. A differenza di Lokalise, che agisce in larga parte come uno strumento di sincronizzazione esterno per le tue stringhe, Intlayer vive più vicino al tuo codice. Controlla l'intero stack, dal livello di bundling alla distribuzione remota dei contenuti, risultando in un flusso di contenuti più fluido ed efficiente.
|
|
45
41
|
|
|
46
42
|
## Perché i paradigmi sono cambiati dall'arrivo dell'AI?
|
|
47
43
|
|
|
48
|
-
Lokalise ha perfezionato il lato "DevOps" della localizzazione
|
|
44
|
+
Lokalise ha perfezionato il lato "DevOps" della localizzazione, lo _spostamento_ automatico delle stringhe. Tuttavia, l'arrivo dei Large Language Models (LLMs) ha cambiato radicalmente i paradigmi della localizzazione. Il collo di bottiglia non è più _spostare_ le stringhe; è _generarle_.
|
|
49
45
|
|
|
50
46
|
Con gli LLM, il costo della traduzione è crollato e la velocità è aumentata in modo esponenziale. Il ruolo del team di localizzazione sta passando da "gestire i traduttori" a "gestire il contesto e la revisione".
|
|
51
47
|
|
|
@@ -61,7 +57,7 @@ Lokalise è spesso criticata per i suoi livelli tariffari elevati, che possono d
|
|
|
61
57
|
|
|
62
58
|
1. **Efficienza dei costi:** Non sei vincolato a un modello di prezzo "per key" o "per seat" che penalizza la crescita. Con Intlayer, paghi per la tua inference (BYO Key), il che significa che i costi scalano direttamente con il tuo utilizzo effettivo, non con i margini della piattaforma.
|
|
63
59
|
2. **Integrazione del workflow:** mentre Lokalise richiede la sincronizzazione dei file (anche se automatizzata), Intlayer consente la definizione dichiarativa dei contenuti direttamente nei file dei tuoi componenti (React, Next.js, ecc.). Questo mantiene il contesto proprio accanto all'interfaccia utente, riducendo gli errori.
|
|
64
|
-
3. **Gestione visiva:** Intlayer fornisce un editor visivo che interagisce direttamente con la tua applicazione in esecuzione, garantendo che le modifiche vengano effettuate nel pieno contesto visivo
|
|
60
|
+
3. **Gestione visiva:** Intlayer fornisce un editor visivo che interagisce direttamente con la tua applicazione in esecuzione, garantendo che le modifiche vengano effettuate nel pieno contesto visivo, qualcosa spesso disconnesso nelle tradizionali liste di file dei TMS.
|
|
65
61
|
|
|
66
62
|
# Confronto affiancato
|
|
67
63
|
|
|
@@ -79,6 +75,6 @@ Intlayer offre una soluzione i18n completa e all-in-one che consente una profond
|
|
|
79
75
|
|
|
80
76
|
Inoltre, Intlayer può essere utilizzato come Feature Flag o strumento di A/B testing, permettendoti di testare dinamicamente diverse varianti di contenuto. Mentre Lokalise si concentra sul trovare le parole giuste, Intlayer si concentra sul perfezionare la _user experience_ tramite la distribuzione dinamica dei dati.
|
|
81
77
|
|
|
82
|
-
Lokalise è eccellente per app mobile (iOS/Android) e workflow guidati dal design. Tuttavia, per le moderne applicazioni web che utilizzano framework come Next.js o React, la gestione nativa da parte di Intlayer di `.js`, `.ts` e dei dizionari JSON offre una superiore developer experience (DX) con pieno supporto TypeScript per i contenuti
|
|
78
|
+
Lokalise è eccellente per app mobile (iOS/Android) e workflow guidati dal design. Tuttavia, per le moderne applicazioni web che utilizzano framework come Next.js o React, la gestione nativa da parte di Intlayer di `.js`, `.ts` e dei dizionari JSON offre una superiore developer experience (DX) con pieno supporto TypeScript per i contenuti, assicurandoti di non spedire mai più una chiave di traduzione mancante.
|
|
83
79
|
|
|
84
|
-
Infine, per chi dà priorità alla sovranità e al controllo dei dati, Intlayer è open-source e può essere self-hosted. I file Docker sono disponibili direttamente nel repository, offrendoti la piena proprietà della tua infrastruttura di localizzazione
|
|
80
|
+
Infine, per chi dà priorità alla sovranità e al controllo dei dati, Intlayer è open-source e può essere self-hosted. I file Docker sono disponibili direttamente nel repository, offrendoti la piena proprietà della tua infrastruttura di localizzazione, un netto contrasto con il modello SaaS chiuso di Lokalise.
|
|
@@ -25,12 +25,6 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# Sistema di gestione delle traduzioni (TMS)
|
|
27
27
|
|
|
28
|
-
Un Translation Management System (TMS) è una piattaforma software progettata per automatizzare e semplificare il processo di traduzione e localizzazione (L10n). Tradizionalmente, un TMS funge da hub centralizzato dove i contenuti vengono caricati, organizzati e assegnati a traduttori umani. Gestisce i workflow, memorizza le translation memories (per evitare di tradurre due volte la stessa frase) e si occupa della consegna dei file tradotti agli sviluppatori o ai content manager.
|
|
29
|
-
|
|
30
|
-
In sostanza, storicamente un TMS è stato il ponte tra il codice tecnico (dove risiedono le stringhe) e i linguisti umani (che comprendono la cultura).
|
|
31
|
-
|
|
32
|
-
# Sistema di gestione delle traduzioni (TMS)
|
|
33
|
-
|
|
34
28
|
Un Translation Management System (TMS) è una piattaforma software progettata per automatizzare e snellire il processo di traduzione e localizzazione (L10n). Tradizionalmente, un TMS funge da hub centralizzato dove i contenuti vengono caricati, organizzati e assegnati a traduttori umani. Gestisce i flussi di lavoro, conserva memorie di traduzione (per evitare di tradurre due volte la stessa frase) e si occupa della consegna dei file tradotti agli sviluppatori o ai responsabili dei contenuti.
|
|
35
29
|
|
|
36
30
|
In sostanza, storicamente un TMS è stato il ponte tra il codice tecnico (dove risiedono le stringhe) e i linguisti umani (che comprendono la cultura).
|
|
@@ -43,7 +37,7 @@ Per oltre un decennio, Crowdin è stato lo standard del settore per la gestione
|
|
|
43
37
|
|
|
44
38
|
# Intlayer
|
|
45
39
|
|
|
46
|
-
Intlayer è noto principalmente come soluzione per l'i18n, ma integra anche un CMS. A differenza di Crowdin, che si limita ad agire come wrapper attorno alla tua attuale configurazione i18n, Intlayer controlla l'intero stack
|
|
40
|
+
Intlayer è noto principalmente come soluzione per l'i18n, ma integra anche un CMS. A differenza di Crowdin, che si limita ad agire come wrapper attorno alla tua attuale configurazione i18n, Intlayer controlla l'intero stack, dallo strato di bundling alla distribuzione remota dei contenuti, risultando in un flusso di contenuti più fluido ed efficiente.
|
|
47
41
|
|
|
48
42
|
## Perché i paradigmi sono cambiati dall'avvento dell'AI?
|
|
49
43
|
|
|
@@ -55,7 +49,7 @@ Tuttavia, c'è una limitazione. Il copywriting non riguarda solo la traduzione;
|
|
|
55
49
|
|
|
56
50
|
Oggi, il flusso di lavoro più efficiente è tradurre e posizionare le tue pagine a livello globale usando prima l'AI. Poi, in una seconda fase, si utilizzano copywriter umani per ottimizzare contenuti specifici ad alto traffico e aumentare la conversione una volta che il prodotto sta già generando ricavi.
|
|
57
51
|
|
|
58
|
-
Sebbene i ricavi di Crowdin
|
|
52
|
+
Sebbene i ricavi di Crowdin, trainati principalmente dalle sue soluzioni legacy ben collaudate, continuino a performare bene, ritengo che il settore tradizionale della localizzazione sarà fortemente impattato entro un orizzonte di 5-10 anni. Il modello di pagamento per parola o per seat per uno strumento di gestione sta diventando obsoleto.
|
|
59
53
|
|
|
60
54
|
## Perché Intlayer è una buona alternativa a Crowdin?
|
|
61
55
|
|
|
@@ -79,8 +73,8 @@ Con Intlayer, generi le tue traduzioni al costo delle tue inferenze. Non sei vin
|
|
|
79
73
|
|
|
80
74
|
Intlayer offre una soluzione i18n completa e all-in-one che consente una profonda integrazione dei tuoi contenuti. I contenuti remoti possono essere sincronizzati direttamente con la tua codebase o con la tua applicazione live. In confronto, Crowdin richiede spesso una ricostruzione della tua applicazione nella pipeline CI/CD per aggiornare i contenuti, creando attrito tra il team di traduzione e il processo di deployment.
|
|
81
75
|
|
|
82
|
-
Inoltre, Intlayer può essere utilizzato come Feature Flag o strumento di A/B testing, permettendoti di testare dinamicamente diverse varianti di contenuto
|
|
76
|
+
Inoltre, Intlayer può essere utilizzato come Feature Flag o strumento di A/B testing, permettendoti di testare dinamicamente diverse varianti di contenuto, cosa che gli strumenti TMS standard come Crowdin non supportano nativamente.
|
|
83
77
|
|
|
84
|
-
Crowdin supporta un'ampia gamma di formati di file
|
|
78
|
+
Crowdin supporta un'ampia gamma di formati di file, inclusi formati legacy come `.po`, `.xml` e `.yaml`, che possono essere utili per progetti con workflow consolidati o sistemi più datati. Intlayer, al contrario, lavora principalmente con formati moderni orientati al web come `.json`, `.js` e `.ts`. Ciò significa che Intlayer potrebbe non essere compatibile con tutti i formati legacy, un aspetto da considerare per i team che migrano da piattaforme più vecchie.
|
|
85
79
|
|
|
86
80
|
Infine, per chi dà priorità alla sovranità e al controllo dei dati, Intlayer è open-source e può essere self-hosted. I file Docker sono disponibili direttamente nel repository, permettendoti di avere la piena proprietà della tua infrastruttura di localizzazione.
|
|
@@ -29,10 +29,6 @@ Un Translation Management System (TMS) è una piattaforma software progettata pe
|
|
|
29
29
|
|
|
30
30
|
In sostanza, storicamente un TMS è stato il ponte tra il codice tecnico (dove risiedono le stringhe) e i linguisti umani (che comprendono la cultura).
|
|
31
31
|
|
|
32
|
-
Un Translation Management System (TMS) è una piattaforma software progettata per automatizzare e snellire il processo di traduzione e localizzazione (L10n). Tradizionalmente, un TMS funge da hub centralizzato dove i contenuti vengono caricati, organizzati e assegnati a traduttori umani. Gestisce i flussi di lavoro, conserva le memorie di traduzione (per evitare di tradurre due volte la stessa frase) e si occupa della consegna dei file tradotti agli sviluppatori o ai responsabili dei contenuti.
|
|
33
|
-
|
|
34
|
-
In sostanza, un TMS è storicamente il ponte tra il codice tecnico (dove risiedono le stringhe) e i linguisti umani (che comprendono la cultura).
|
|
35
|
-
|
|
36
32
|
# Phrase (precedentemente PhraseApp)
|
|
37
33
|
|
|
38
34
|
Phrase è un attore di primo piano nel settore della localizzazione enterprise. Originariamente conosciuto come PhraseApp, è cresciuto significativamente, soprattutto dopo la fusione con Memsource. Si propone come una Localization Suite completa progettata per la localizzazione del software, offrendo robuste funzionalità API e un ampio supporto di formati.
|
|
@@ -41,7 +37,7 @@ Phrase è pensato per operare su larga scala. È la scelta di riferimento per le
|
|
|
41
37
|
|
|
42
38
|
# Intlayer
|
|
43
39
|
|
|
44
|
-
Intlayer è conosciuto principalmente come soluzione i18n, ma integra anche un headless CMS. A differenza di Phrase, che funziona come una vasta suite enterprise esterna, Intlayer agisce come uno strato agile e integrato nel codice. Controlla l'intero stack
|
|
40
|
+
Intlayer è conosciuto principalmente come soluzione i18n, ma integra anche un headless CMS. A differenza di Phrase, che funziona come una vasta suite enterprise esterna, Intlayer agisce come uno strato agile e integrato nel codice. Controlla l'intero stack, dal livello di bundling alla delivery remota dei contenuti, risultando in un flusso di contenuti più fluido ed efficiente per le moderne applicazioni web.
|
|
45
41
|
|
|
46
42
|
## Perché i paradigmi sono cambiati con l'arrivo dell'AI?
|
|
47
43
|
|
|
@@ -79,4 +75,4 @@ Inoltre, Intlayer può essere utilizzato come Feature Flag o strumento di A/B te
|
|
|
79
75
|
|
|
80
76
|
Sebbene Phrase sia indiscutibile per esigenze aziendali complesse e multi-formato (ad es., tradurre PDF, sottotitoli e software simultaneamente), Intlayer è la scelta superiore per i team di prodotto che sviluppano applicazioni web e che vogliono piena proprietà, type safety e un workflow moderno guidato dall'AI senza l'overhead tipico delle soluzioni enterprise.
|
|
81
77
|
|
|
82
|
-
Infine, per chi privilegia la sovranità e il controllo dei dati, Intlayer è open-source e può essere self-hosted. I file Docker sono disponibili direttamente nel repository, consentendoti la piena proprietà della tua infrastruttura di localizzazione
|
|
78
|
+
Infine, per chi privilegia la sovranità e il controllo dei dati, Intlayer è open-source e può essere self-hosted. I file Docker sono disponibili direttamente nel repository, consentendoti la piena proprietà della tua infrastruttura di localizzazione, qualcosa di impossibile con l'ecosistema SaaS chiuso di Phrase.
|
|
@@ -48,7 +48,29 @@ Tradurre un'applicazione Svelte può presentare diversi ostacoli:
|
|
|
48
48
|
|
|
49
49
|
Svelte non fornisce una soluzione i18n integrata nativa (come fa Angular), ma la comunità ha creato una varietà di librerie e modelli robusti. Di seguito sono riportati diversi approcci popolari.
|
|
50
50
|
|
|
51
|
-
### 1.
|
|
51
|
+
### 1. Intlayer
|
|
52
|
+
|
|
53
|
+
> Sito web: [https://intlayer.org/](https://intlayer.org/)
|
|
54
|
+
|
|
55
|
+
**Panoramica**
|
|
56
|
+
**Intlayer** è una libreria innovativa e open-source di internazionalizzazione (i18n) progettata per semplificare il supporto multilingue nelle moderne applicazioni web Svelte (e altre). Offre un approccio dichiarativo, consentendoti di definire dizionari di traduzione direttamente all'interno dei tuoi componenti.
|
|
57
|
+
|
|
58
|
+
**Caratteristiche principali**
|
|
59
|
+
|
|
60
|
+
- **Dichiarazione di traduzione**: Consente la dichiarazione di tutte le traduzioni in un unico file, posizionato a livello di componente, rendendo più facile il mantenimento e la scalabilità.
|
|
61
|
+
- **TypeScript & Autocompletamento**: Offre definizioni di tipo autogenerate per le chiavi di traduzione, fornendo un robusto autocompletamento e rilevamento degli errori.
|
|
62
|
+
- **Componenti server e SSR**: Costruito tenendo a mente sia la renderizzazione lato server (SSR) che i componenti server, garantendo che il contenuto localizzato venga reso in modo efficiente sia sul client che sul server.
|
|
63
|
+
- **Metadati localizzati & URL per SEO**: Gestisci facilmente percorsi dinamici basati sulla lingua, sitemap e voci robots.txt per migliorare la scoperta e il SEO.
|
|
64
|
+
- **Integrazione senza soluzione di continuità**: Compatibile con SvelteKit e altri strumenti, rendendo la configurazione semplice.
|
|
65
|
+
- **Caricamento asincrono**: Carica dinamicamente i dizionari di traduzione, riducendo le dimensioni del bundle iniziale e migliorando le prestazioni.
|
|
66
|
+
|
|
67
|
+
**Considerazioni**
|
|
68
|
+
|
|
69
|
+
- **Comunità ed Ecosistema**: Anche se in crescita, l'ecosistema è più recente, quindi i plugin e gli strumenti guidati dalla comunità potrebbero essere più limitati rispetto a soluzioni più consolidate.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### 2. svelte-i18n
|
|
52
74
|
|
|
53
75
|
Repository: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaisermann/svelte-i18n)
|
|
54
76
|
|
|
@@ -70,7 +92,7 @@ Repository: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaise
|
|
|
70
92
|
|
|
71
93
|
---
|
|
72
94
|
|
|
73
|
-
###
|
|
95
|
+
### 3. svelte-intl-precompile
|
|
74
96
|
|
|
75
97
|
Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.com/cibernox/svelte-intl-precompile)
|
|
76
98
|
|
|
@@ -92,7 +114,7 @@ Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.
|
|
|
92
114
|
|
|
93
115
|
---
|
|
94
116
|
|
|
95
|
-
###
|
|
117
|
+
### 4. i18next con Svelte / SvelteKit
|
|
96
118
|
|
|
97
119
|
Sito web: [https://www.i18next.com/](https://www.i18next.com/)
|
|
98
120
|
|
|
@@ -52,7 +52,21 @@ Di seguito sono riportate diverse librerie e approcci popolari che puoi utilizza
|
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
-
### 1.
|
|
55
|
+
### 1. Intlayer
|
|
56
|
+
|
|
57
|
+
> Sito Web: [https://intlayer.org/](https://intlayer.org/)
|
|
58
|
+
|
|
59
|
+
**Panoramica**
|
|
60
|
+
**Intlayer** è una soluzione i18n open-source che mira a semplificare il supporto multilingue su più framework, incluso **Vue**. Enfatizza un approccio dichiarativo, una tipizzazione forte e il supporto SSR in altri ecosistemi, sebbene l'SSR non sia tipico in Vue standard.
|
|
61
|
+
|
|
62
|
+
**Caratteristiche Principali**
|
|
63
|
+
|
|
64
|
+
- **Traduzione Dichiarativa**: Definisci dizionari di traduzione a livello di widget o in un file centralizzato per un'architettura più pulita.
|
|
65
|
+
- **TypeScript & Autocompletamento (Web)**: Sebbene questa funzione avvantaggi principalmente i framework web, l'approccio di traduzione tipizzata può comunque guidare il codice strutturato in Vue.
|
|
66
|
+
- **Caricamento Asincrono**: Carica le risorse di traduzione in modo dinamico, riducendo potenzialmente la dimensione del bundle iniziale per le app multilingue.
|
|
67
|
+
- **Integrazione con Vue**: Un'integrazione di base può essere configurata per sfruttare l'approccio Intlayer per traduzioni strutturate.
|
|
68
|
+
|
|
69
|
+
### 2. Vue I18n
|
|
56
70
|
|
|
57
71
|
> Sito Web: [https://vue-i18n.intlify.dev/](https://vue-i18n.intlify.dev/)
|
|
58
72
|
|
|
@@ -83,7 +97,7 @@ Di seguito sono riportate diverse librerie e approcci popolari che puoi utilizza
|
|
|
83
97
|
|
|
84
98
|
---
|
|
85
99
|
|
|
86
|
-
###
|
|
100
|
+
### 3. LinguiJS (Integrazione Vue)
|
|
87
101
|
|
|
88
102
|
> Sito Web: [https://lingui.js.org/](https://lingui.js.org/)
|
|
89
103
|
|
|
@@ -54,7 +54,7 @@ Ecco una checklist che ogni app multilingue dovrebbe implementare:
|
|
|
54
54
|
- **Usa link localizzati**
|
|
55
55
|
Esempio: `<a href="/fr/about">À propos</a>` invece di collegarti alla versione predefinita `/about`.
|
|
56
56
|
|
|
57
|
-
Questi sono passaggi semplici
|
|
57
|
+
Questi sono passaggi semplici, ma saltarli può costarti visibilità.
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
@@ -95,7 +95,7 @@ Questo compromesso (dimensione del chunk vs sovrapposizione) è fondamentale per
|
|
|
95
95
|
|
|
96
96
|
## Passo 3: Generazione degli Embeddings
|
|
97
97
|
|
|
98
|
-
Una volta che i documenti sono stati suddivisi in chunk, generiamo gli **embeddings
|
|
98
|
+
Una volta che i documenti sono stati suddivisi in chunk, generiamo gli **embeddings**, vettori ad alta dimensione che rappresentano ogni chunk.
|
|
99
99
|
|
|
100
100
|
Ho utilizzato il modello text-embedding-3-large di OpenAI, ma potresti usare qualsiasi modello moderno di embedding.
|
|
101
101
|
|