@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-12-18
|
|
3
3
|
updatedAt: 2025-11-06
|
|
4
|
-
title: L10n
|
|
4
|
+
title: L10n 平台替代方案, 适用于 Phrase
|
|
5
5
|
description: 为您的需求找到替代 Phrase 的最佳 L10n 平台
|
|
6
6
|
keywords:
|
|
7
7
|
- L10n
|
|
@@ -23,62 +23,56 @@ history:
|
|
|
23
23
|
|
|
24
24
|
<TOC/>
|
|
25
25
|
|
|
26
|
-
# 翻译管理系统
|
|
26
|
+
# 翻译管理系统 (TMS)
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
翻译管理系统 (TMS) 是一种软件平台,旨在自动化并简化翻译与本地化 (L10n) 流程。传统上,TMS 作为一个中心枢纽,用于上传和组织内容,并将其分配给人工译者。它负责管理工作流,存储翻译记忆(以避免重复翻译相同的句子),并处理将翻译后的文件交付回开发人员或内容管理员。
|
|
29
29
|
|
|
30
|
-
本质上,TMS
|
|
30
|
+
本质上,TMS 历来是技术代码(字符串所在处)与理解文化的人工译者之间的桥梁。
|
|
31
31
|
|
|
32
|
-
# Phrase
|
|
32
|
+
# Phrase (前身为 PhraseApp)
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Phrase 是企业本地化领域的佼佼者。其最初名为 PhraseApp,在与 Memsource 合并后规模大幅扩张。它定位为面向软件本地化的综合本地化套件,提供强大的 API 能力和广泛的文件格式支持。
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
# Phrase(前身为 PhraseApp)
|
|
39
|
-
|
|
40
|
-
Phrase 在企业本地化领域是个重量级选手。最初名为 PhraseApp,尤其在与 Memsource 合并后大幅扩展。它定位为面向软件本地化的综合本地化套件(Localization Suite),提供强大的 API 能力和广泛的格式支持。
|
|
41
|
-
|
|
42
|
-
Phrase 为规模化而建。对于需要跨多个团队管理复杂工作流、庞大翻译记忆库以及严格质量保证流程的大型企业,它是首选。其优势在于能够处理“重型”本地化任务,提供一个将软件字符串和文档翻译纳入一体的生态系统。
|
|
36
|
+
Phrase 专为规模化运作而生。对于需要跨多个团队管理复杂工作流、庞大翻译记忆库以及严格质量保证流程的大型企业而言,它是首选方案。它的核心优势在于能够处理“重写型”本地化任务,提供一个将软件字符串和文档翻译纳入一体的生态系统。
|
|
43
37
|
|
|
44
38
|
# Intlayer
|
|
45
39
|
|
|
46
|
-
Intlayer 主要以 i18n
|
|
40
|
+
Intlayer 主要以 i18n 解决方案闻名,但它也集成了一个无头 CMS。与作为庞大外部企业套件的 Phrase 不同,Intlayer 作为一个灵活、与代码集成的层运行。它控制整个技术栈, 从打包层到远程内容交付, 从而为现代 Web 应用提供更顺畅、更高效的内容流。
|
|
47
41
|
|
|
48
|
-
##
|
|
42
|
+
## 为什么 AI 的出现改变了范式?
|
|
49
43
|
|
|
50
|
-
Phrase
|
|
44
|
+
Phrase 的构建初衷是为了解决过去十年的核心问题:管理大规模的人工译者团队,以及在分散的企业部门间标准化工作流程。它在工作流治理方面表现极其出色。
|
|
51
45
|
|
|
52
|
-
|
|
46
|
+
然而,大型语言模型 (LLM) 的到来已经从根本上改变了本地化的范式。现在的挑战不再是“我们如何管理 50 名翻译”,而是“我们如何高效地验证 AI 生成的内容”。
|
|
53
47
|
|
|
54
|
-
尽管 Phrase 已经集成了 AI
|
|
48
|
+
尽管 Phrase 已经集成了 AI 功能,但这些功能通常是叠加在为以人为中心的工作流和按席位授权设计的传统架构之上的。在现代,手动“推送到 TMS”和“从 TMS 拉取”的摩擦正变得过时。开发者期望内容能像代码一样流畅流动。
|
|
55
49
|
|
|
56
|
-
|
|
50
|
+
如今,最有效的工作流程是首先利用 AI 对页面进行全球化翻译和定位。随后在第二阶段,当产品已经开始产生收益时,再由人工文案人员对特定的高流量内容进行优化,以提升转化率。
|
|
57
51
|
|
|
58
|
-
## 为什么 Intlayer 是 Phrase
|
|
52
|
+
## 为什么 Intlayer 是 Phrase 的理想替代方案?
|
|
59
53
|
|
|
60
|
-
Intlayer
|
|
54
|
+
Intlayer 是诞生于 AI 时代的解决方案,专为现代 JavaScript/TypeScript 生态系统量身定制。它凭借敏捷性和透明度,向 Phrase 那种沉重的企业化模型发起挑战。
|
|
61
55
|
|
|
62
|
-
1.
|
|
63
|
-
2.
|
|
64
|
-
3.
|
|
56
|
+
1. **定价透明化:** Phrase 以企业级定价著称,这种定价对成长中的公司来说往往不透明且昂贵。Intlayer 允许您自带 API 密钥(OpenAI、Anthropic 等),确保您只需为智能服务支付市场价格,而无需支付额外的平台订阅溢价。
|
|
57
|
+
2. **开发者体验 (DX):** Phrase 高度依赖 CLI 工具和 API 调用来同步文件。而 Intlayer 直接集成到打包器和运行时中。这意味着您的定义是严格类型化的 (TypeScript),缺失的翻译键会在编译时被捕获,而不是在生产环境中暴露。
|
|
58
|
+
3. **市场响应速度:** Intlayer 移除了 TMS 的“黑盒”环节。您无需将文件发出去并等待返回。您可以在 CI 流水线或本地环境中通过 AI 即时生成翻译,使开发循环保持高效紧凑。
|
|
65
59
|
|
|
66
|
-
#
|
|
60
|
+
# 并排比较
|
|
67
61
|
|
|
68
|
-
| 功能
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
|
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
|
|
|
62
|
+
| 功能 | Phrase(企业级 TMS) | Intlayer(AI 原生) |
|
|
63
|
+
| :----------- | :---------------------------- | :-------------------------------------- |
|
|
64
|
+
| **核心理念** | 企业治理与工作流。 | 管理内容逻辑与 AI 生成。 |
|
|
65
|
+
| **定价模式** | 定制企业 / 按席位计费(高)。 | 自行承担推理费用(自带密钥,BYO Key)。 |
|
|
66
|
+
| **集成方式** | 大量使用 API / CLI。 | 深度代码集成(声明式)。 |
|
|
67
|
+
| **更新** | 需要同步 / 依赖流水线。 | 与代码库或实时应用即时同步。 |
|
|
68
|
+
| **文件格式** | 极其广泛(传统格式与文档)。 | 现代 Web(JSON, JS, TS)。 |
|
|
69
|
+
| **测试** | QA 检查 / LQA 步骤。 | CI / CLI / A/B 测试。 |
|
|
70
|
+
| **托管** | SaaS(严格面向企业)。 | 开源且支持自托管(Docker)。 |
|
|
77
71
|
|
|
78
|
-
Intlayer
|
|
72
|
+
Intlayer 提供了一套完整的一体化 i18n 解决方案,支持对内容的深度集成。您的远程内容可以直接与代码库或在线应用同步。相比之下,Phrase 是一个功能强大但极其复杂的外部依赖,通常需要专职的本地化负责人来管理才能有效运行。
|
|
79
73
|
|
|
80
|
-
此外,Intlayer
|
|
74
|
+
此外,Intlayer 还能用作功能开关 (Feature Flag) 或 A/B 测试工具,使您能够动态测试不同的内容变体。Phrase 的设计侧重于语言一致性,而 Intlayer 则通过动态数据帮助您优化转化率和用户体验。
|
|
81
75
|
|
|
82
|
-
虽然 Phrase
|
|
76
|
+
虽然 Phrase 在处理复杂的多格式企业需求(如同时翻译 PDF、字幕和软件)方面具有无可比拟的优势,但对于追求完整所有权、类型安全且希望在无企业级负担的情况下采用现代 AI 驱动工作流的 Web 应用团队而言,Intlayer 是更好的选择。
|
|
83
77
|
|
|
84
|
-
最后,对于优先考虑数据主权和控制的团队,Intlayer
|
|
78
|
+
最后,对于优先考虑数据主权和控制的团队,Intlayer 是开源的且支持自托管。代码仓库中直接提供了 Docker 文件,让您能完全掌控本地化基础设施, 这在 Phrase 的封闭 SaaS 生态中是无法实现的。
|
|
@@ -8,7 +8,7 @@ keywords:
|
|
|
8
8
|
- i18n
|
|
9
9
|
- 多语言
|
|
10
10
|
- SEO
|
|
11
|
-
-
|
|
11
|
+
- 国际化
|
|
12
12
|
- 博客
|
|
13
13
|
- JavaScript
|
|
14
14
|
slugs:
|
|
@@ -20,7 +20,7 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# 探索 i18n 解决方案以翻译您的 Angular 网站
|
|
22
22
|
|
|
23
|
-
在当今互联的世界中,提供多种语言的网站可以显著扩大您的覆盖面并改善用户体验。对于使用 Angular 的开发人员来说,实现国际化 (i18n) 对于有效管理翻译,同时保持应用程序结构、SEO 和性能至关重要。在本文中,我们将探讨各种 i18n 方法,
|
|
23
|
+
在当今互联的世界中,提供多种语言的网站可以显著扩大您的覆盖面并改善用户体验。对于使用 Angular 的开发人员来说,实现国际化 (i18n) 对于有效管理翻译,同时保持应用程序结构、SEO 和性能至关重要。在本文中,我们将探讨各种 i18n 方法, 从 Angular 的内置解决方案到流行的第三方库, 帮助您确定最适合您项目的方案。
|
|
24
24
|
|
|
25
25
|

|
|
26
26
|
|
|
@@ -48,7 +48,29 @@ slugs:
|
|
|
48
48
|
|
|
49
49
|
Angular 提供了一个内置的 i18n 框架,并且还有几个第三方库旨在简化您的多语言设置。以下是一些最流行的解决方案。
|
|
50
50
|
|
|
51
|
-
### 1.
|
|
51
|
+
### 1. Intlayer
|
|
52
|
+
|
|
53
|
+
网站: [https://intlayer.org/](https://intlayer.org/)
|
|
54
|
+
|
|
55
|
+
**概述**
|
|
56
|
+
**Intlayer** 是一个创新的开源国际化 (i18n) 库,旨在简化现代 Angular(及其他)Web 应用程序的多语言支持。它采用声明式方法,允许您直接在组件内定义翻译字典。
|
|
57
|
+
|
|
58
|
+
**主要特点**
|
|
59
|
+
|
|
60
|
+
- **翻译声明**:允许在单个文件中声明所有翻译,并放置在组件级别,使其更易于维护和扩展。
|
|
61
|
+
- **TypeScript 与自动补全**:为翻译键提供自动生成的类型定义,提供强大的自动补全和检测。
|
|
62
|
+
- **服务器组件与 SSR**:在设计时充分考虑了服务器端渲染 (SSR) 和 Angular Universal,确保本地化内容在客户端和服务器端都能高效渲染。
|
|
63
|
+
- **用于 SEO 的本地化元数据和 URL**:轻松处理基于区域设置的动态路由、站点地图和 robots.txt 条目,以提高可发现性和 SEO。
|
|
64
|
+
- **无缝集成**:与 Angular CLI 和 Angular Universal 兼容,使设置变得简单直接。
|
|
65
|
+
- **异步加载**:动态加载翻译字典,减小初始包大小并提高性能。
|
|
66
|
+
|
|
67
|
+
**注意事项**
|
|
68
|
+
|
|
69
|
+
- **社区与生态系统**:虽然正在成长,但生态系统相对较新,因此与更成熟的解决方案相比,社区驱动的插件和工具可能有限。
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### 2. Angular 的内置 i18n
|
|
52
74
|
|
|
53
75
|
**概述**
|
|
54
76
|
Angular 配备了一个 **内置的 i18n** 系统,包括提取翻译字符串、处理复数和插值的工具,并在编译时集成翻译。这个官方解决方案对于小型项目或可以紧密对齐 Angular 推荐结构的项目非常强大。
|
|
@@ -68,7 +90,7 @@ Angular 配备了一个 **内置的 i18n** 系统,包括提取翻译字符串
|
|
|
68
90
|
|
|
69
91
|
---
|
|
70
92
|
|
|
71
|
-
###
|
|
93
|
+
### 3. ngx-translate
|
|
72
94
|
|
|
73
95
|
网站:[https://github.com/ngx-translate/core](https://github.com/ngx-translate/core)
|
|
74
96
|
|
|
@@ -90,7 +112,7 @@ Angular 配备了一个 **内置的 i18n** 系统,包括提取翻译字符串
|
|
|
90
112
|
|
|
91
113
|
---
|
|
92
114
|
|
|
93
|
-
###
|
|
115
|
+
### 4. Transloco
|
|
94
116
|
|
|
95
117
|
网站:[https://ngneat.github.io/transloco/](https://ngneat.github.io/transloco/)
|
|
96
118
|
|
|
@@ -120,4 +142,4 @@ Angular 配备了一个 **内置的 i18n** 系统,包括提取翻译字符串
|
|
|
120
142
|
- **可维护性与扩展性**:对于大型应用,确保您的库支持良好的文件结构、类型化键(如果需要)和简单的更新过程。
|
|
121
143
|
- **开发者体验**:TypeScript 自动完成功能、插件生态系统和 CLI 工具可以大大减少更新或添加新翻译时的摩擦。
|
|
122
144
|
|
|
123
|
-
讨论的所有库都可以为强大的多语言 Angular 应用程序提供动力,
|
|
145
|
+
讨论的所有库都可以为强大的多语言 Angular 应用程序提供动力, 每个库都有其自身的优势。最佳选择归结于您对 **性能**、**工作流**、**开发者体验** 和 **商业目标** 的独特需求。
|
|
@@ -8,7 +8,7 @@ keywords:
|
|
|
8
8
|
- i18n
|
|
9
9
|
- 多语言
|
|
10
10
|
- SEO
|
|
11
|
-
-
|
|
11
|
+
- 国际化
|
|
12
12
|
- 博客
|
|
13
13
|
- JavaScript
|
|
14
14
|
slugs:
|
|
@@ -20,7 +20,7 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# 探索 i18n 解决方案以翻译您的 React Native 应用
|
|
22
22
|
|
|
23
|
-
在日益全球化的市场中,以多种语言提供您的 React Native 应用可以大大提高可访问性和用户满意度。国际化(i18n
|
|
23
|
+
在日益全球化的市场中,以多种语言提供您的 React Native 应用可以大大提高可访问性和用户满意度。国际化(i18n)对于有效管理翻译至关重要,它允许您显示特定于语言的文本、日期和时间格式、货币等,而不会使您的代码库变得复杂。在本文中,我们将深入探讨各种 i18n 方法,从专用库到更通用的解决方案,帮助您找到最适合您的 React Native 项目的方案。
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
@@ -51,7 +51,7 @@ slugs:
|
|
|
51
51
|
- **状态与导航管理**
|
|
52
52
|
在屏幕、深链接或基于标签的导航之间维护用户选择的语言意味着将 i18n 结合到您的 Redux、Context API 或其他状态管理解决方案中。
|
|
53
53
|
|
|
54
|
-
-
|
|
54
|
+
- **应用更新和越行更新(OTA)**
|
|
55
55
|
如果您使用 CodePush 或其他 OTA 更新机制,则需要计划如何在不需要完全应用商店发布的情况下交付翻译更新或新语言。
|
|
56
56
|
|
|
57
57
|
---
|
|
@@ -104,7 +104,7 @@ slugs:
|
|
|
104
104
|
提供钩子(`useTranslation`)、高阶组件(HOCs)等,将 i18n 无缝集成到您的组件中。
|
|
105
105
|
|
|
106
106
|
- **异步加载**
|
|
107
|
-
|
|
107
|
+
按需加载翻译,对大型应用或随着时间推移添加新语言包非常有利。
|
|
108
108
|
|
|
109
109
|
- **丰富的翻译能力**
|
|
110
110
|
处理嵌套翻译、插值、复数形式和变量替换,开箱即用。
|
|
@@ -138,9 +138,9 @@ slugs:
|
|
|
138
138
|
`<FormattedMessage>`、`<FormattedDate>`、`<FormattedTime>` 等组件简化了在 iOS 和 Android 之间的格式化任务。
|
|
139
139
|
|
|
140
140
|
- **轻量且可扩展**
|
|
141
|
-
您可以仅导入您所需的 FormatJS
|
|
141
|
+
您可以仅导入您所需的 FormatJS 部分,使您的整体包保持精简,这对于移动设备至关重要。
|
|
142
142
|
|
|
143
|
-
-
|
|
143
|
+
- **针对不支持区域的 Polyfill**
|
|
144
144
|
确保在较旧的 Android 或 iOS 版本上的日期/数字格式一致。
|
|
145
145
|
|
|
146
146
|
- **TypeScript 兼容性**
|
|
@@ -152,7 +152,7 @@ slugs:
|
|
|
152
152
|
需要提取工作流,这可能会为您的构建过程增加复杂性。然而,对于管理许多翻译的大团队来说,这是很有价值的。
|
|
153
153
|
|
|
154
154
|
- **应用大小与部署**
|
|
155
|
-
|
|
155
|
+
如果您依赖多个 Polyfill 或大型翻译文件,请关注您应用的整体大小,在移动环境中特别重要。
|
|
156
156
|
|
|
157
157
|
- **社区示例**
|
|
158
158
|
虽然广泛使用,但 React Native 特定的使用示例可能少于 React 网页。您可能需要将现有文档和模式调整为原生环境。
|
|
@@ -198,24 +198,20 @@ slugs:
|
|
|
198
198
|
在为您的 React Native 应用程序选择 i18n 解决方案时:
|
|
199
199
|
|
|
200
200
|
1. **评估您的需求**
|
|
201
|
-
|
|
202
201
|
- 现在及未来需要多少种语言?
|
|
203
202
|
- 您是否需要大型应用按需加载?
|
|
204
203
|
|
|
205
204
|
2. **考虑平台差异**
|
|
206
|
-
|
|
207
205
|
- 确保任何库支持 iOS 和 Android 区域变化,特别是日期/数字/货币的差异。
|
|
208
|
-
-
|
|
206
|
+
- 考虑离线使用,一些翻译可能需要与应用捆绑,而另一些则可以远程获取。
|
|
209
207
|
|
|
210
208
|
3. **选择可扩展的结构**
|
|
211
|
-
|
|
212
209
|
- 如果您计划开发大型或长期存在的应用,强大的提取工作流或类型化的键可以帮助保持翻译的良好组织。
|
|
213
210
|
|
|
214
211
|
4. **性能与包大小**
|
|
215
|
-
|
|
216
212
|
- 移动数据的限制意味着您应该密切关注翻译文件的大小和任何填充物。
|
|
217
213
|
|
|
218
214
|
5. **开发者体验(DX)**
|
|
219
|
-
- 寻找与您团队的技能集相符的库,
|
|
215
|
+
- 寻找与您团队的技能集相符的库, 某些解决方案可能更冗长但直接,而另一些则提供更多的自动化,但代价是设置的复杂性。
|
|
220
216
|
|
|
221
|
-
|
|
217
|
+
每种解决方案,Intlayer、React-i18next、React Intl 和 LinguiJS,在 React Native 环境中都被证明是有效的,但侧重点略有不同。评估您项目的路线图、开发者偏好和本地化需求将引导您找到理想的解决方案,以提供一个真正全球化的 React Native 应用。
|
|
@@ -8,7 +8,7 @@ keywords:
|
|
|
8
8
|
- i18n
|
|
9
9
|
- 多语言
|
|
10
10
|
- SEO
|
|
11
|
-
-
|
|
11
|
+
- 国际化
|
|
12
12
|
- 博客
|
|
13
13
|
- JavaScript
|
|
14
14
|
slugs:
|
|
@@ -20,7 +20,7 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# 探索翻译您的 React 网站的 i18n 解决方案
|
|
22
22
|
|
|
23
|
-
在当今的数字环境中,扩展您网站的覆盖面以满足全球受众的需求是至关重要的。对于使用 React 构建的开发者来说,实施国际化(i18n)是高效管理翻译的关键,同时保持应用程序结构、SEO 价值和用户体验。在本文中,我们将探讨各种 i18n
|
|
23
|
+
在当今的数字环境中,扩展您网站的覆盖面以满足全球受众的需求是至关重要的。对于使用 React 构建的开发者来说,实施国际化(i18n)是高效管理翻译的关键,同时保持应用程序结构、SEO 价值和用户体验。在本文中,我们将探讨各种 i18n 方法,从专用库到自定义编码解决方案,帮助您决定哪种方法最适合您的项目需求。
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
@@ -109,12 +109,12 @@ slugs:
|
|
|
109
109
|
- **服务器组件和 SSR**:支持 SSR 设置,以便提供本地化内容,从而提高性能和 SEO。
|
|
110
110
|
- **本地化元数据和 URL**:可以与 Next.js 等框架集成,以生成本地化站点地图、处理动态路由和定制 robots.txt。
|
|
111
111
|
- **TypeScript 和自动补全**:可以与 TypeScript 结合使用,但可能需要额外的工具进行消息 ID 的自动补全。
|
|
112
|
-
-
|
|
112
|
+
- **针对不支持浏览器的 Polyfill**:确保在旧环境中具有一致的行为。
|
|
113
113
|
|
|
114
114
|
**考虑事项**
|
|
115
115
|
|
|
116
116
|
- **冗长与模板代码**:对专用组件的依赖可能导致更冗长的代码,尤其是在大型应用中。
|
|
117
|
-
-
|
|
117
|
+
- **翻译分离**:核心库不提供内置支持将翻译拆分为多个文件,需要额外设置或插件。
|
|
118
118
|
- **可维护性**:格式化的直接方法可能是有益的,但消息提取和组织开销可能迅速增长。
|
|
119
119
|
|
|
120
120
|
### 4. LinguiJS
|
|
@@ -150,4 +150,4 @@ slugs:
|
|
|
150
150
|
- **可维护性和可扩展性**:较大的项目通常需要清晰、可维护的翻译结构,因此要考虑您的长期路线图。
|
|
151
151
|
- **SEO 和元数据**:如果 SEO 至关重要,请确认您选择的解决方案支持每种语言的本地化元数据、路由和站点地图/robots。
|
|
152
152
|
|
|
153
|
-
所有这些库都可以为多语言 React
|
|
153
|
+
所有这些库都可以为多语言 React 应用提供动力,每个库都有略微不同的优先事项和优势。选择最符合您项目的 **性能**、**开发者体验** 和 **商业目标** 的库。
|
|
@@ -8,7 +8,7 @@ keywords:
|
|
|
8
8
|
- i18n
|
|
9
9
|
- 多语言
|
|
10
10
|
- SEO
|
|
11
|
-
-
|
|
11
|
+
- 国际化
|
|
12
12
|
- 博客
|
|
13
13
|
- JavaScript
|
|
14
14
|
slugs:
|
|
@@ -50,7 +50,23 @@ slugs:
|
|
|
50
50
|
|
|
51
51
|
Svelte 并没有提供原生的内置 i18n 解决方案(如 Angular),但社区创造了多种强大的库和模式。以下是几种流行的方法。
|
|
52
52
|
|
|
53
|
-
### 1.
|
|
53
|
+
### 1. Intlayer
|
|
54
|
+
|
|
55
|
+
> 网站: [https://intlayer.org/](https://intlayer.org/)
|
|
56
|
+
|
|
57
|
+
**概述**
|
|
58
|
+
**Intlayer** 是一个开源的 i18n 解决方案,旨在简化包括 **Svelte** 在内的多个框架的多语言支持。它强调声明式方法、强类型以及在其他生态系统中的 SSR 支持,尽管在标准 Svelte 中 SSR 并不常见。
|
|
59
|
+
|
|
60
|
+
**主要特点**
|
|
61
|
+
|
|
62
|
+
- **声明式翻译**:在组件级别或集中式文件中定义翻译字典,以实现更清晰的架构。
|
|
63
|
+
- **TypeScript 与自动补全(Web)**:虽然此功能主要使 Web 框架受益,但类型化翻译方法仍然可以指导 Svelte 中的结构化代码。
|
|
64
|
+
- **异步加载**:动态加载翻译资源,有可能减小多语言应用的初始包大小。
|
|
65
|
+
- **与 Svelte 集成**:可以设置基本集成,以利用 Intlayer 方法进行结构化翻译。
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### 2. svelte-i18n
|
|
54
70
|
|
|
55
71
|
Repository: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaisermann/svelte-i18n)
|
|
56
72
|
|
|
@@ -68,11 +84,11 @@ Repository: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaise
|
|
|
68
84
|
|
|
69
85
|
- **项目组织**: 随着项目的增长,您需要从逻辑上构建翻译文件。
|
|
70
86
|
- **SSR 设置**: 配置 SSR 以实现 SEO 可能需要额外的步骤,以确保在服务器端正确检测到语言环境。
|
|
71
|
-
- **性能**:
|
|
87
|
+
- **性能**: 虽然运行时灵活,但一次加载大量翻译会影响初始加载时间,考虑使用惰性加载或缓存策略。
|
|
72
88
|
|
|
73
89
|
---
|
|
74
90
|
|
|
75
|
-
###
|
|
91
|
+
### 3. svelte-intl-precompile
|
|
76
92
|
|
|
77
93
|
Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.com/cibernox/svelte-intl-precompile)
|
|
78
94
|
|
|
@@ -94,7 +110,7 @@ Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.
|
|
|
94
110
|
|
|
95
111
|
---
|
|
96
112
|
|
|
97
|
-
###
|
|
113
|
+
### 4. i18next 与 Svelte / SvelteKit
|
|
98
114
|
|
|
99
115
|
Website: [https://www.i18next.com/](https://www.i18next.com/)
|
|
100
116
|
|
|
@@ -121,9 +137,9 @@ Website: [https://www.i18next.com/](https://www.i18next.com/)
|
|
|
121
137
|
在为您的 Svelte 应用程序选择 i18n 策略时:
|
|
122
138
|
|
|
123
139
|
1. **评估项目规模**: 对于较小的项目或快速原型,像 **svelte-i18n** 或简单的 i18n 方法可能就足够了。较大、更复杂的应用程序可能会受益于类型化、预编译或更强大的生态系统解决方案。
|
|
124
|
-
2. **
|
|
140
|
+
2. **SEO 和 SSR 考虑**: 如果 SEO 很关键,或者您需要 SvelteKit 的服务器端渲染,请选择一个有效支持 SSR 的库,并能处理本地化路由、元数据和站点地图。
|
|
125
141
|
3. **运行时与构建时**: 决定您是否需要在运行时动态切换语言,或者更喜欢预编译翻译以获得更好的性能。每种方法都有不同的权衡。
|
|
126
142
|
4. **TypeScript 集成**: 如果您在很大程度上依赖 TypeScript,像 **Intlayer** 或具有类型化键的库可以显著减少运行时错误,并改善开发者体验。
|
|
127
143
|
5. **可维护性与可扩展性**: 计划如何组织、更新和版本控制您的翻译文件。自动提取、命名约定和一致的文件夹结构将从长远来看节省时间。
|
|
128
144
|
|
|
129
|
-
最终,每个库都有独特的优势。您的选择取决于 **性能**、**开发者体验**、**SEO 需求** 和 **长期可维护性**。通过选择与您项目目标一致的解决方案,您可以在 Svelte
|
|
145
|
+
最终,每个库都有独特的优势。您的选择取决于 **性能**、**开发者体验**、**SEO 需求** 和 **长期可维护性**。通过选择与您项目目标一致的解决方案,您可以在 Svelte 中创建一个真正全球化的应用程序,一个能让世界各地用户愉悦的应用。
|
|
@@ -8,7 +8,7 @@ keywords:
|
|
|
8
8
|
- i18n
|
|
9
9
|
- 多语言
|
|
10
10
|
- SEO
|
|
11
|
-
-
|
|
11
|
+
- 国际化
|
|
12
12
|
- 博客
|
|
13
13
|
- JavaScript
|
|
14
14
|
slugs:
|
|
@@ -20,7 +20,7 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# 探索翻译您的 Vue.js 网站的 i18n 解决方案
|
|
22
22
|
|
|
23
|
-
在一个日益全球化的数字环境中,将您的 Vue.js
|
|
23
|
+
在一个日益全球化的数字环境中,将您的 Vue.js 网站扩展到多个语言用户不再是“可有可无”的选择,这是竞争的必要条件。国际化 (i18n) 使开发人员能够管理翻译并适应各种地区的应用,同时保留 SEO 价值、用户体验 and 可维护的代码结构。在本文中,我们将探讨不同的方法,从专用库到自定义编码的解决方案,帮助您顺利地将 i18n 集成到您的 Vue.js 项目中。
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
@@ -41,7 +41,7 @@ slugs:
|
|
|
41
41
|
- **基于组件的架构:** 与 React 类似,Vue 的单文件组件 (SFCs) 可能每个都包含文本和区域特定设置。您需要一个策略来集中翻译字符串。
|
|
42
42
|
- **动态内容:** 从 API 获取或实时处理的数据需要灵活的方法来动态加载和应用翻译。
|
|
43
43
|
- **SEO 考虑:** 利用 Nuxt 或其他 SSR 设置进行服务器端渲染时,管理本地化的 URL、元标签和网站地图以保持强大的 SEO 至关重要。
|
|
44
|
-
- **状态和反应上下文:**
|
|
44
|
+
- **状态和反应上下文:** 确保在路由和组件之间维护当前区域,反应式更新文本和格式,需要一个周全的方法,尤其是处理 Vuex 或 Pinia 进行状态管理时。
|
|
45
45
|
- **开发开销:** 如果没有仔细管理,保持翻译文件的组织、一致性和更新可能迅速成为一项重大任务。
|
|
46
46
|
|
|
47
47
|
---
|
|
@@ -52,7 +52,21 @@ slugs:
|
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
-
### 1.
|
|
55
|
+
### 1. Intlayer
|
|
56
|
+
|
|
57
|
+
> 网站:[https://intlayer.org/](https://intlayer.org/)
|
|
58
|
+
|
|
59
|
+
**概述**
|
|
60
|
+
**Intlayer** 是一个开源的 i18n 解决方案,旨在简化包括 **Vue** 在内的多个框架的多语言支持。它强调声明式方法、强类型以及在其他生态系统中的 SSR 支持,尽管 SSR 在标准 Vue 中并不常见。
|
|
61
|
+
|
|
62
|
+
**主要特性**
|
|
63
|
+
|
|
64
|
+
- **声明式翻译**:在组件级或集中式文件中定义翻译字典,以实现更清晰的架构。
|
|
65
|
+
- **TypeScript 和自动补全 (Web)**:虽然此功能主要惠及 Web 框架,但类型化的翻译方法仍可指导 Vue 中的结构化代码。
|
|
66
|
+
- **异步加载**:动态加载翻译资源,潜在地减少多语言应用的初始包大小。
|
|
67
|
+
- **与 Vue 集成**:可以建立基础集成,以利用 Intlayer 方法进行结构化翻译。
|
|
68
|
+
|
|
69
|
+
### 2. Vue I18n
|
|
56
70
|
|
|
57
71
|
> 网站:[https://vue-i18n.intlify.dev/](https://vue-i18n.intlify.dev/)
|
|
58
72
|
|
|
@@ -83,7 +97,7 @@ slugs:
|
|
|
83
97
|
|
|
84
98
|
---
|
|
85
99
|
|
|
86
|
-
###
|
|
100
|
+
### 3. LinguiJS(Vue 集成)
|
|
87
101
|
|
|
88
102
|
> 网站:[https://lingui.js.org/](https://lingui.js.org/)
|
|
89
103
|
|
|
@@ -127,4 +141,4 @@ slugs:
|
|
|
127
141
|
5. **SEO 和元数据**
|
|
128
142
|
使多语种网站有效排名,您的解决方案应简化本地化元标签、URL、网站地图和每个区域的 `robots.txt`。
|
|
129
143
|
|
|
130
|
-
|
|
144
|
+
无论您选择哪种路径,Intlayer、Vue I18n、LinguiJS 还是自定义编码方法,您都将朝着交付一个全球友好的 Vue.js 应用程序迈进。每种解决方案在性能、开发体验和可扩展性方面都有不同的权衡。通过仔细评估项目的需求,您可以自信地选择最适合您和您的多语言受众的 i18n 设置。
|
|
@@ -39,7 +39,7 @@ slugs:
|
|
|
39
39
|
|
|
40
40
|
> **简而言之**:这三者都能实现 Next.js 应用的本地化。如果你需要**组件范围的内容**、**严格的 TypeScript 类型**、**构建时缺失键检查**、**摇树优化的字典**,以及**一流的 App Router + SEO 辅助功能**,那么**Intlayer** 是最完整、最现代的选择。
|
|
41
41
|
|
|
42
|
-
> 开发者常犯的一个误解是认为 `next-intl` 是 `react-intl` 的 Next.js
|
|
42
|
+
> 开发者常犯的一个误解是认为 `next-intl` 是 `react-intl` 的 Next.js 版本。事实并非如此, `next-intl` 由 [Amann](https://github.com/amannn) 维护,而 `react-intl` 由 [FormatJS](https://github.com/formatjs/formatjs) 维护。
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
@@ -1212,7 +1212,7 @@ export default robots;
|
|
|
1212
1212
|
|
|
1213
1213
|
**Intlayer**
|
|
1214
1214
|
|
|
1215
|
-
- 为现代 Next.js 构建,具有模块化内容、类型安全、工具支持和更少的样板代码。如果你重视**组件范围的内容**、**严格的 TypeScript**、**构建时保证**、**摇树优化**,以及**内置的**路由/SEO
|
|
1215
|
+
- 为现代 Next.js 构建,具有模块化内容、类型安全、工具支持和更少的样板代码。如果你重视**组件范围的内容**、**严格的 TypeScript**、**构建时保证**、**摇树优化**,以及**内置的**路由/SEO/编辑器工具, 尤其是针对**Next.js 应用路由器**、设计系统和**大型模块化代码库**。
|
|
1216
1216
|
|
|
1217
1217
|
</Column>
|
|
1218
1218
|
</Columns>
|
|
@@ -160,6 +160,6 @@ slugs:
|
|
|
160
160
|
|
|
161
161
|
## 结论
|
|
162
162
|
|
|
163
|
-
国际化 (i18n) 不仅仅是一个技术任务;它是一个**战略投资**,使您的软件能够“说”用户的语言,
|
|
163
|
+
国际化 (i18n) 不仅仅是一个技术任务;它是一个**战略投资**,使您的软件能够“说”用户的语言, 字面上。通过抽象掉特定于区域的元素,适应语言和文化的变化,并为未来的扩展做好规划,您能够让您的产品在全球市场中蓬勃发展。
|
|
164
164
|
|
|
165
165
|
无论您是在构建移动应用程序、安全即服务平台,还是企业工具,**i18n确保您的产品能够适应并吸引来自全球各地的用户**,而无需不断重写代码。通过利用最佳实践、强大的框架和持续本地化策略,开发人员和产品团队能够提供**真正全球化**的软件体验。
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`node:path`),t=require(`node:fs`),n=require(`node:fs/promises`),r=require(`node:url`),i=require(`@intlayer/config/utils`);const a=typeof __dirname<`u`?__dirname:(0,e.dirname)((0,r.fileURLToPath)(require(`url`).pathToFileURL(__filename).href));let o;try{o=(0,i.getPackageJsonPath)((0,i.getProjectRequire)(a).resolve(`@intlayer/docs`)).baseDir}catch{try{o=(0,i.getPackageJsonPath)((0,i.getProjectRequire)().resolve(`@intlayer/docs`)).baseDir}catch{o=(0,i.getPackageJsonPath)(a).baseDir}}const s=(r,i)=>{let a=(0,e.join)(o,`./blog/${i}/${r}`);if((0,t.existsSync)(a))return(0,n.readFile)(a,`utf8`);let s=(0,e.join)(o,`./blog/en/${r}`);return(0,t.existsSync)(s)?(0,n.readFile)(s,`utf8`):Promise.reject(Error(`[docs] File not found: ${r} - locale: ${i} - path: ${a} - path: ${s}`))},c={"./blog/en/compiler_vs_declarative_i18n.md":{en:s(`compiler_vs_declarative_i18n.md`,`en`),ru:s(`compiler_vs_declarative_i18n.md`,`ru`),ja:s(`compiler_vs_declarative_i18n.md`,`ja`),fr:s(`compiler_vs_declarative_i18n.md`,`fr`),ko:s(`compiler_vs_declarative_i18n.md`,`ko`),zh:s(`compiler_vs_declarative_i18n.md`,`zh`),es:s(`compiler_vs_declarative_i18n.md`,`es`),de:s(`compiler_vs_declarative_i18n.md`,`de`),ar:s(`compiler_vs_declarative_i18n.md`,`ar`),it:s(`compiler_vs_declarative_i18n.md`,`it`),"en-GB":s(`compiler_vs_declarative_i18n.md`,`en-GB`),pt:s(`compiler_vs_declarative_i18n.md`,`pt`),hi:s(`compiler_vs_declarative_i18n.md`,`hi`),tr:s(`compiler_vs_declarative_i18n.md`,`tr`),pl:s(`compiler_vs_declarative_i18n.md`,`pl`),id:s(`compiler_vs_declarative_i18n.md`,`id`),vi:s(`compiler_vs_declarative_i18n.md`,`vi`),uk:s(`compiler_vs_declarative_i18n.md`,`uk`)},"./blog/en/i18n_using_next-i18next.md":{en:s(`i18n_using_next-i18next.md`,`en`),ru:s(`i18n_using_next-i18next.md`,`ru`),ja:s(`i18n_using_next-i18next.md`,`ja`),fr:s(`i18n_using_next-i18next.md`,`fr`),ko:s(`i18n_using_next-i18next.md`,`ko`),zh:s(`i18n_using_next-i18next.md`,`zh`),es:s(`i18n_using_next-i18next.md`,`es`),de:s(`i18n_using_next-i18next.md`,`de`),ar:s(`i18n_using_next-i18next.md`,`ar`),it:s(`i18n_using_next-i18next.md`,`it`),"en-GB":s(`i18n_using_next-i18next.md`,`en-GB`),pt:s(`i18n_using_next-i18next.md`,`pt`),hi:s(`i18n_using_next-i18next.md`,`hi`),tr:s(`i18n_using_next-i18next.md`,`tr`),pl:s(`i18n_using_next-i18next.md`,`pl`),id:s(`i18n_using_next-i18next.md`,`id`),vi:s(`i18n_using_next-i18next.md`,`vi`),uk:s(`i18n_using_next-i18next.md`,`uk`)},"./blog/en/i18n_using_next-intl.md":{en:s(`i18n_using_next-intl.md`,`en`),ru:s(`i18n_using_next-intl.md`,`ru`),ja:s(`i18n_using_next-intl.md`,`ja`),fr:s(`i18n_using_next-intl.md`,`fr`),ko:s(`i18n_using_next-intl.md`,`ko`),zh:s(`i18n_using_next-intl.md`,`zh`),es:s(`i18n_using_next-intl.md`,`es`),de:s(`i18n_using_next-intl.md`,`de`),ar:s(`i18n_using_next-intl.md`,`ar`),it:s(`i18n_using_next-intl.md`,`it`),"en-GB":s(`i18n_using_next-intl.md`,`en-GB`),pt:s(`i18n_using_next-intl.md`,`pt`),hi:s(`i18n_using_next-intl.md`,`hi`),tr:s(`i18n_using_next-intl.md`,`tr`),pl:s(`i18n_using_next-intl.md`,`pl`),id:s(`i18n_using_next-intl.md`,`id`),vi:s(`i18n_using_next-intl.md`,`vi`),uk:s(`i18n_using_next-intl.md`,`uk`)},"./blog/en/index.md":{en:s(`index.md`,`en`),ru:s(`index.md`,`ru`),ja:s(`index.md`,`ja`),fr:s(`index.md`,`fr`),ko:s(`index.md`,`ko`),zh:s(`index.md`,`zh`),es:s(`index.md`,`es`),de:s(`index.md`,`de`),ar:s(`index.md`,`ar`),it:s(`index.md`,`it`),"en-GB":s(`index.md`,`en-GB`),pt:s(`index.md`,`pt`),hi:s(`index.md`,`hi`),tr:s(`index.md`,`tr`),pl:s(`index.md`,`pl`),id:s(`index.md`,`id`),vi:s(`index.md`,`vi`),uk:s(`index.md`,`uk`)},"./blog/en/internationalization_and_SEO.md":{en:s(`internationalization_and_SEO.md`,`en`),ru:s(`internationalization_and_SEO.md`,`ru`),ja:s(`internationalization_and_SEO.md`,`ja`),fr:s(`internationalization_and_SEO.md`,`fr`),ko:s(`internationalization_and_SEO.md`,`ko`),zh:s(`internationalization_and_SEO.md`,`zh`),es:s(`internationalization_and_SEO.md`,`es`),de:s(`internationalization_and_SEO.md`,`de`),ar:s(`internationalization_and_SEO.md`,`ar`),it:s(`internationalization_and_SEO.md`,`it`),"en-GB":s(`internationalization_and_SEO.md`,`en-GB`),pt:s(`internationalization_and_SEO.md`,`pt`),hi:s(`internationalization_and_SEO.md`,`hi`),tr:s(`internationalization_and_SEO.md`,`tr`),pl:s(`internationalization_and_SEO.md`,`pl`),id:s(`internationalization_and_SEO.md`,`id`),vi:s(`internationalization_and_SEO.md`,`vi`),uk:s(`internationalization_and_SEO.md`,`uk`)},"./blog/en/intlayer_with_i18next.md":{en:s(`intlayer_with_i18next.md`,`en`),ru:s(`intlayer_with_i18next.md`,`ru`),ja:s(`intlayer_with_i18next.md`,`ja`),fr:s(`intlayer_with_i18next.md`,`fr`),ko:s(`intlayer_with_i18next.md`,`ko`),zh:s(`intlayer_with_i18next.md`,`zh`),es:s(`intlayer_with_i18next.md`,`es`),de:s(`intlayer_with_i18next.md`,`de`),ar:s(`intlayer_with_i18next.md`,`ar`),it:s(`intlayer_with_i18next.md`,`it`),"en-GB":s(`intlayer_with_i18next.md`,`en-GB`),pt:s(`intlayer_with_i18next.md`,`pt`),hi:s(`intlayer_with_i18next.md`,`hi`),tr:s(`intlayer_with_i18next.md`,`tr`),pl:s(`intlayer_with_i18next.md`,`pl`),id:s(`intlayer_with_i18next.md`,`id`),vi:s(`intlayer_with_i18next.md`,`vi`),uk:s(`intlayer_with_i18next.md`,`uk`)},"./blog/en/intlayer_with_next-i18next.md":{en:s(`intlayer_with_next-i18next.md`,`en`),ru:s(`intlayer_with_next-i18next.md`,`ru`),ja:s(`intlayer_with_next-i18next.md`,`ja`),fr:s(`intlayer_with_next-i18next.md`,`fr`),ko:s(`intlayer_with_next-i18next.md`,`ko`),zh:s(`intlayer_with_next-i18next.md`,`zh`),es:s(`intlayer_with_next-i18next.md`,`es`),de:s(`intlayer_with_next-i18next.md`,`de`),ar:s(`intlayer_with_next-i18next.md`,`ar`),it:s(`intlayer_with_next-i18next.md`,`it`),"en-GB":s(`intlayer_with_next-i18next.md`,`en-GB`),pt:s(`intlayer_with_next-i18next.md`,`pt`),hi:s(`intlayer_with_next-i18next.md`,`hi`),tr:s(`intlayer_with_next-i18next.md`,`tr`),pl:s(`intlayer_with_next-i18next.md`,`pl`),id:s(`intlayer_with_next-i18next.md`,`id`),vi:s(`intlayer_with_next-i18next.md`,`vi`),uk:s(`intlayer_with_next-i18next.md`,`uk`)},"./blog/en/intlayer_with_next-intl.md":{en:s(`intlayer_with_next-intl.md`,`en`),ru:s(`intlayer_with_next-intl.md`,`ru`),ja:s(`intlayer_with_next-intl.md`,`ja`),fr:s(`intlayer_with_next-intl.md`,`fr`),ko:s(`intlayer_with_next-intl.md`,`ko`),zh:s(`intlayer_with_next-intl.md`,`zh`),es:s(`intlayer_with_next-intl.md`,`es`),de:s(`intlayer_with_next-intl.md`,`de`),ar:s(`intlayer_with_next-intl.md`,`ar`),it:s(`intlayer_with_next-intl.md`,`it`),"en-GB":s(`intlayer_with_next-intl.md`,`en-GB`),pt:s(`intlayer_with_next-intl.md`,`pt`),hi:s(`intlayer_with_next-intl.md`,`hi`),tr:s(`intlayer_with_next-intl.md`,`tr`),pl:s(`intlayer_with_next-intl.md`,`pl`),id:s(`intlayer_with_next-intl.md`,`id`),vi:s(`intlayer_with_next-intl.md`,`vi`),uk:s(`intlayer_with_next-intl.md`,`uk`)},"./blog/en/intlayer_with_react-i18next.md":{en:s(`intlayer_with_react-i18next.md`,`en`),ru:s(`intlayer_with_react-i18next.md`,`ru`),ja:s(`intlayer_with_react-i18next.md`,`ja`),fr:s(`intlayer_with_react-i18next.md`,`fr`),ko:s(`intlayer_with_react-i18next.md`,`ko`),zh:s(`intlayer_with_react-i18next.md`,`zh`),es:s(`intlayer_with_react-i18next.md`,`es`),de:s(`intlayer_with_react-i18next.md`,`de`),ar:s(`intlayer_with_react-i18next.md`,`ar`),it:s(`intlayer_with_react-i18next.md`,`it`),"en-GB":s(`intlayer_with_react-i18next.md`,`en-GB`),pt:s(`intlayer_with_react-i18next.md`,`pt`),hi:s(`intlayer_with_react-i18next.md`,`hi`),tr:s(`intlayer_with_react-i18next.md`,`tr`),pl:s(`intlayer_with_react-i18next.md`,`pl`),id:s(`intlayer_with_react-i18next.md`,`id`),vi:s(`intlayer_with_react-i18next.md`,`vi`),uk:s(`intlayer_with_react-i18next.md`,`uk`)},"./blog/en/intlayer_with_react-intl.md":{en:s(`intlayer_with_react-intl.md`,`en`),ru:s(`intlayer_with_react-intl.md`,`ru`),ja:s(`intlayer_with_react-intl.md`,`ja`),fr:s(`intlayer_with_react-intl.md`,`fr`),ko:s(`intlayer_with_react-intl.md`,`ko`),zh:s(`intlayer_with_react-intl.md`,`zh`),es:s(`intlayer_with_react-intl.md`,`es`),de:s(`intlayer_with_react-intl.md`,`de`),ar:s(`intlayer_with_react-intl.md`,`ar`),it:s(`intlayer_with_react-intl.md`,`it`),"en-GB":s(`intlayer_with_react-intl.md`,`en-GB`),pt:s(`intlayer_with_react-intl.md`,`pt`),hi:s(`intlayer_with_react-intl.md`,`hi`),tr:s(`intlayer_with_react-intl.md`,`tr`),pl:s(`intlayer_with_react-intl.md`,`pl`),id:s(`intlayer_with_react-intl.md`,`id`),vi:s(`intlayer_with_react-intl.md`,`vi`),uk:s(`intlayer_with_react-intl.md`,`uk`)},"./blog/en/intlayer_with_vue-i18n.md":{en:s(`intlayer_with_vue-i18n.md`,`en`),ru:s(`intlayer_with_vue-i18n.md`,`ru`),ja:s(`intlayer_with_vue-i18n.md`,`ja`),fr:s(`intlayer_with_vue-i18n.md`,`fr`),ko:s(`intlayer_with_vue-i18n.md`,`ko`),zh:s(`intlayer_with_vue-i18n.md`,`zh`),es:s(`intlayer_with_vue-i18n.md`,`es`),de:s(`intlayer_with_vue-i18n.md`,`de`),ar:s(`intlayer_with_vue-i18n.md`,`ar`),it:s(`intlayer_with_vue-i18n.md`,`it`),"en-GB":s(`intlayer_with_vue-i18n.md`,`en-GB`),pt:s(`intlayer_with_vue-i18n.md`,`pt`),hi:s(`intlayer_with_vue-i18n.md`,`hi`),tr:s(`intlayer_with_vue-i18n.md`,`tr`),pl:s(`intlayer_with_vue-i18n.md`,`pl`),id:s(`intlayer_with_vue-i18n.md`,`id`),vi:s(`intlayer_with_vue-i18n.md`,`vi`),uk:s(`intlayer_with_vue-i18n.md`,`uk`)},"./blog/en/l10n_platform_alternative/Lokalise.md":{en:s(`l10n_platform_alternative/Lokalise.md`,`en`),ru:s(`l10n_platform_alternative/Lokalise.md`,`ru`),ja:s(`l10n_platform_alternative/Lokalise.md`,`ja`),fr:s(`l10n_platform_alternative/Lokalise.md`,`fr`),ko:s(`l10n_platform_alternative/Lokalise.md`,`ko`),zh:s(`l10n_platform_alternative/Lokalise.md`,`zh`),es:s(`l10n_platform_alternative/Lokalise.md`,`es`),de:s(`l10n_platform_alternative/Lokalise.md`,`de`),ar:s(`l10n_platform_alternative/Lokalise.md`,`ar`),it:s(`l10n_platform_alternative/Lokalise.md`,`it`),"en-GB":s(`l10n_platform_alternative/Lokalise.md`,`en-GB`),pt:s(`l10n_platform_alternative/Lokalise.md`,`pt`),hi:s(`l10n_platform_alternative/Lokalise.md`,`hi`),tr:s(`l10n_platform_alternative/Lokalise.md`,`tr`),pl:s(`l10n_platform_alternative/Lokalise.md`,`pl`),id:s(`l10n_platform_alternative/Lokalise.md`,`id`),vi:s(`l10n_platform_alternative/Lokalise.md`,`vi`),uk:s(`l10n_platform_alternative/Lokalise.md`,`uk`)},"./blog/en/l10n_platform_alternative/crowdin.md":{en:s(`l10n_platform_alternative/crowdin.md`,`en`),ru:s(`l10n_platform_alternative/crowdin.md`,`ru`),ja:s(`l10n_platform_alternative/crowdin.md`,`ja`),fr:s(`l10n_platform_alternative/crowdin.md`,`fr`),ko:s(`l10n_platform_alternative/crowdin.md`,`ko`),zh:s(`l10n_platform_alternative/crowdin.md`,`zh`),es:s(`l10n_platform_alternative/crowdin.md`,`es`),de:s(`l10n_platform_alternative/crowdin.md`,`de`),ar:s(`l10n_platform_alternative/crowdin.md`,`ar`),it:s(`l10n_platform_alternative/crowdin.md`,`it`),"en-GB":s(`l10n_platform_alternative/crowdin.md`,`en-GB`),pt:s(`l10n_platform_alternative/crowdin.md`,`pt`),hi:s(`l10n_platform_alternative/crowdin.md`,`hi`),tr:s(`l10n_platform_alternative/crowdin.md`,`tr`),pl:s(`l10n_platform_alternative/crowdin.md`,`pl`),id:s(`l10n_platform_alternative/crowdin.md`,`id`),vi:s(`l10n_platform_alternative/crowdin.md`,`vi`),uk:s(`l10n_platform_alternative/crowdin.md`,`uk`)},"./blog/en/l10n_platform_alternative/phrase.md":{en:s(`l10n_platform_alternative/phrase.md`,`en`),ru:s(`l10n_platform_alternative/phrase.md`,`ru`),ja:s(`l10n_platform_alternative/phrase.md`,`ja`),fr:s(`l10n_platform_alternative/phrase.md`,`fr`),ko:s(`l10n_platform_alternative/phrase.md`,`ko`),zh:s(`l10n_platform_alternative/phrase.md`,`zh`),es:s(`l10n_platform_alternative/phrase.md`,`es`),de:s(`l10n_platform_alternative/phrase.md`,`de`),ar:s(`l10n_platform_alternative/phrase.md`,`ar`),it:s(`l10n_platform_alternative/phrase.md`,`it`),"en-GB":s(`l10n_platform_alternative/phrase.md`,`en-GB`),pt:s(`l10n_platform_alternative/phrase.md`,`pt`),hi:s(`l10n_platform_alternative/phrase.md`,`hi`),tr:s(`l10n_platform_alternative/phrase.md`,`tr`),pl:s(`l10n_platform_alternative/phrase.md`,`pl`),id:s(`l10n_platform_alternative/phrase.md`,`id`),vi:s(`l10n_platform_alternative/phrase.md`,`vi`),uk:s(`l10n_platform_alternative/phrase.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/angular.md":{en:s(`list_i18n_technologies/frameworks/angular.md`,`en`),ru:s(`list_i18n_technologies/frameworks/angular.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/angular.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/angular.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/angular.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/angular.md`,`zh`),es:s(`list_i18n_technologies/frameworks/angular.md`,`es`),de:s(`list_i18n_technologies/frameworks/angular.md`,`de`),ar:s(`list_i18n_technologies/frameworks/angular.md`,`ar`),it:s(`list_i18n_technologies/frameworks/angular.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/angular.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/angular.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/angular.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/angular.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/angular.md`,`pl`),id:s(`list_i18n_technologies/frameworks/angular.md`,`id`),vi:s(`list_i18n_technologies/frameworks/angular.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/angular.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/react-native.md":{en:s(`list_i18n_technologies/frameworks/react-native.md`,`en`),ru:s(`list_i18n_technologies/frameworks/react-native.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/react-native.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/react-native.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/react-native.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/react-native.md`,`zh`),es:s(`list_i18n_technologies/frameworks/react-native.md`,`es`),de:s(`list_i18n_technologies/frameworks/react-native.md`,`de`),ar:s(`list_i18n_technologies/frameworks/react-native.md`,`ar`),it:s(`list_i18n_technologies/frameworks/react-native.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/react-native.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/react-native.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/react-native.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/react-native.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/react-native.md`,`pl`),id:s(`list_i18n_technologies/frameworks/react-native.md`,`id`),vi:s(`list_i18n_technologies/frameworks/react-native.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/react-native.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/react.md":{en:s(`list_i18n_technologies/frameworks/react.md`,`en`),ru:s(`list_i18n_technologies/frameworks/react.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/react.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/react.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/react.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/react.md`,`zh`),es:s(`list_i18n_technologies/frameworks/react.md`,`es`),de:s(`list_i18n_technologies/frameworks/react.md`,`de`),ar:s(`list_i18n_technologies/frameworks/react.md`,`ar`),it:s(`list_i18n_technologies/frameworks/react.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/react.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/react.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/react.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/react.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/react.md`,`pl`),id:s(`list_i18n_technologies/frameworks/react.md`,`id`),vi:s(`list_i18n_technologies/frameworks/react.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/react.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/svelte.md":{en:s(`list_i18n_technologies/frameworks/svelte.md`,`en`),ru:s(`list_i18n_technologies/frameworks/svelte.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/svelte.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/svelte.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/svelte.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/svelte.md`,`zh`),es:s(`list_i18n_technologies/frameworks/svelte.md`,`es`),de:s(`list_i18n_technologies/frameworks/svelte.md`,`de`),ar:s(`list_i18n_technologies/frameworks/svelte.md`,`ar`),it:s(`list_i18n_technologies/frameworks/svelte.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/svelte.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/svelte.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/svelte.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/svelte.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/svelte.md`,`pl`),id:s(`list_i18n_technologies/frameworks/svelte.md`,`id`),vi:s(`list_i18n_technologies/frameworks/svelte.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/svelte.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/vue.md":{en:s(`list_i18n_technologies/frameworks/vue.md`,`en`),ru:s(`list_i18n_technologies/frameworks/vue.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/vue.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/vue.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/vue.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/vue.md`,`zh`),es:s(`list_i18n_technologies/frameworks/vue.md`,`es`),de:s(`list_i18n_technologies/frameworks/vue.md`,`de`),ar:s(`list_i18n_technologies/frameworks/vue.md`,`ar`),it:s(`list_i18n_technologies/frameworks/vue.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/vue.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/vue.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/vue.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/vue.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/vue.md`,`pl`),id:s(`list_i18n_technologies/frameworks/vue.md`,`id`),vi:s(`list_i18n_technologies/frameworks/vue.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/vue.md`,`uk`)},"./blog/en/next-i18next_vs_next-intl_vs_intlayer.md":{en:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`en`),ru:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`ru`),ja:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`ja`),fr:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`fr`),ko:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`ko`),zh:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`zh`),es:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`es`),de:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`de`),ar:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`ar`),it:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`it`),"en-GB":s(`next-i18next_vs_next-intl_vs_intlayer.md`,`en-GB`),pt:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`pt`),hi:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`hi`),tr:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`tr`),pl:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`pl`),id:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`id`),vi:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`vi`),uk:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`uk`)},"./blog/en/nextjs-multilingual-seo-comparison.md":{en:s(`nextjs-multilingual-seo-comparison.md`,`en`),ru:s(`nextjs-multilingual-seo-comparison.md`,`ru`),ja:s(`nextjs-multilingual-seo-comparison.md`,`ja`),fr:s(`nextjs-multilingual-seo-comparison.md`,`fr`),ko:s(`nextjs-multilingual-seo-comparison.md`,`ko`),zh:s(`nextjs-multilingual-seo-comparison.md`,`zh`),es:s(`nextjs-multilingual-seo-comparison.md`,`es`),de:s(`nextjs-multilingual-seo-comparison.md`,`de`),ar:s(`nextjs-multilingual-seo-comparison.md`,`ar`),it:s(`nextjs-multilingual-seo-comparison.md`,`it`),"en-GB":s(`nextjs-multilingual-seo-comparison.md`,`en-GB`),pt:s(`nextjs-multilingual-seo-comparison.md`,`pt`),hi:s(`nextjs-multilingual-seo-comparison.md`,`hi`),tr:s(`nextjs-multilingual-seo-comparison.md`,`tr`),pl:s(`nextjs-multilingual-seo-comparison.md`,`pl`),id:s(`nextjs-multilingual-seo-comparison.md`,`id`),vi:s(`nextjs-multilingual-seo-comparison.md`,`vi`),uk:s(`nextjs-multilingual-seo-comparison.md`,`uk`)},"./blog/en/per-component_vs_centralized_i18n.md":{en:s(`per-component_vs_centralized_i18n.md`,`en`),ru:s(`per-component_vs_centralized_i18n.md`,`ru`),ja:s(`per-component_vs_centralized_i18n.md`,`ja`),fr:s(`per-component_vs_centralized_i18n.md`,`fr`),ko:s(`per-component_vs_centralized_i18n.md`,`ko`),zh:s(`per-component_vs_centralized_i18n.md`,`zh`),es:s(`per-component_vs_centralized_i18n.md`,`es`),de:s(`per-component_vs_centralized_i18n.md`,`de`),ar:s(`per-component_vs_centralized_i18n.md`,`ar`),it:s(`per-component_vs_centralized_i18n.md`,`it`),"en-GB":s(`per-component_vs_centralized_i18n.md`,`en-GB`),pt:s(`per-component_vs_centralized_i18n.md`,`pt`),hi:s(`per-component_vs_centralized_i18n.md`,`hi`),tr:s(`per-component_vs_centralized_i18n.md`,`tr`),pl:s(`per-component_vs_centralized_i18n.md`,`pl`),id:s(`per-component_vs_centralized_i18n.md`,`id`),vi:s(`per-component_vs_centralized_i18n.md`,`vi`),uk:s(`per-component_vs_centralized_i18n.md`,`uk`)},"./blog/en/rag_powered_documentation_assistant.md":{en:s(`rag_powered_documentation_assistant.md`,`en`),ru:s(`rag_powered_documentation_assistant.md`,`ru`),ja:s(`rag_powered_documentation_assistant.md`,`ja`),fr:s(`rag_powered_documentation_assistant.md`,`fr`),ko:s(`rag_powered_documentation_assistant.md`,`ko`),zh:s(`rag_powered_documentation_assistant.md`,`zh`),es:s(`rag_powered_documentation_assistant.md`,`es`),de:s(`rag_powered_documentation_assistant.md`,`de`),ar:s(`rag_powered_documentation_assistant.md`,`ar`),it:s(`rag_powered_documentation_assistant.md`,`it`),"en-GB":s(`rag_powered_documentation_assistant.md`,`en-GB`),pt:s(`rag_powered_documentation_assistant.md`,`pt`),hi:s(`rag_powered_documentation_assistant.md`,`hi`),tr:s(`rag_powered_documentation_assistant.md`,`tr`),pl:s(`rag_powered_documentation_assistant.md`,`pl`),id:s(`rag_powered_documentation_assistant.md`,`id`),vi:s(`rag_powered_documentation_assistant.md`,`vi`),uk:s(`rag_powered_documentation_assistant.md`,`uk`)},"./blog/en/react-i18next_vs_react-intl_vs_intlayer.md":{en:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`en`),ru:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`ru`),ja:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`ja`),fr:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`fr`),ko:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`ko`),zh:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`zh`),es:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`es`),de:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`de`),ar:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`ar`),it:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`it`),"en-GB":s(`react-i18next_vs_react-intl_vs_intlayer.md`,`en-GB`),pt:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`pt`),hi:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`hi`),tr:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`tr`),pl:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`pl`),id:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`id`),vi:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`vi`),uk:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`uk`)},"./blog/en/vue-i18n_vs_intlayer.md":{en:s(`vue-i18n_vs_intlayer.md`,`en`),ru:s(`vue-i18n_vs_intlayer.md`,`ru`),ja:s(`vue-i18n_vs_intlayer.md`,`ja`),fr:s(`vue-i18n_vs_intlayer.md`,`fr`),ko:s(`vue-i18n_vs_intlayer.md`,`ko`),zh:s(`vue-i18n_vs_intlayer.md`,`zh`),es:s(`vue-i18n_vs_intlayer.md`,`es`),de:s(`vue-i18n_vs_intlayer.md`,`de`),ar:s(`vue-i18n_vs_intlayer.md`,`ar`),it:s(`vue-i18n_vs_intlayer.md`,`it`),"en-GB":s(`vue-i18n_vs_intlayer.md`,`en-GB`),pt:s(`vue-i18n_vs_intlayer.md`,`pt`),hi:s(`vue-i18n_vs_intlayer.md`,`hi`),tr:s(`vue-i18n_vs_intlayer.md`,`tr`),pl:s(`vue-i18n_vs_intlayer.md`,`pl`),id:s(`vue-i18n_vs_intlayer.md`,`id`),vi:s(`vue-i18n_vs_intlayer.md`,`vi`),uk:s(`vue-i18n_vs_intlayer.md`,`uk`)},"./blog/en/what_is_internationalization.md":{en:s(`what_is_internationalization.md`,`en`),ru:s(`what_is_internationalization.md`,`ru`),ja:s(`what_is_internationalization.md`,`ja`),fr:s(`what_is_internationalization.md`,`fr`),ko:s(`what_is_internationalization.md`,`ko`),zh:s(`what_is_internationalization.md`,`zh`),es:s(`what_is_internationalization.md`,`es`),de:s(`what_is_internationalization.md`,`de`),ar:s(`what_is_internationalization.md`,`ar`),it:s(`what_is_internationalization.md`,`it`),"en-GB":s(`what_is_internationalization.md`,`en-GB`),pt:s(`what_is_internationalization.md`,`pt`),hi:s(`what_is_internationalization.md`,`hi`),tr:s(`what_is_internationalization.md`,`tr`),pl:s(`what_is_internationalization.md`,`pl`),id:s(`what_is_internationalization.md`,`id`),vi:s(`what_is_internationalization.md`,`vi`),uk:s(`what_is_internationalization.md`,`uk`)}};exports.blogEntry=c;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`node:path`),t=require(`node:fs`),n=require(`node:fs/promises`),r=require(`node:url`),i=require(`@intlayer/config/utils`);const a=typeof __dirname<`u`?__dirname:(0,e.dirname)((0,r.fileURLToPath)(require(`url`).pathToFileURL(__filename).href));let o;try{o=(0,i.getPackageJsonPath)((0,i.getProjectRequire)(a).resolve(`@intlayer/docs`)).baseDir}catch{try{o=(0,i.getPackageJsonPath)((0,i.getProjectRequire)().resolve(`@intlayer/docs`)).baseDir}catch{o=(0,i.getPackageJsonPath)(a).baseDir}}const s=(r,i)=>{let a=(0,e.join)(o,`./blog/${i}/${r}`);if((0,t.existsSync)(a))return(0,n.readFile)(a,`utf8`);let s=(0,e.join)(o,`./blog/en/${r}`);return(0,t.existsSync)(s)?(0,n.readFile)(s,`utf8`):Promise.reject(Error(`[docs] File not found: ${r} - locale: ${i} - path: ${a} - path: ${s}`))},c={"./blog/en/compiler_vs_declarative_i18n.md":{en:s(`compiler_vs_declarative_i18n.md`,`en`),ru:s(`compiler_vs_declarative_i18n.md`,`ru`),ja:s(`compiler_vs_declarative_i18n.md`,`ja`),fr:s(`compiler_vs_declarative_i18n.md`,`fr`),ko:s(`compiler_vs_declarative_i18n.md`,`ko`),zh:s(`compiler_vs_declarative_i18n.md`,`zh`),es:s(`compiler_vs_declarative_i18n.md`,`es`),de:s(`compiler_vs_declarative_i18n.md`,`de`),ar:s(`compiler_vs_declarative_i18n.md`,`ar`),it:s(`compiler_vs_declarative_i18n.md`,`it`),"en-GB":s(`compiler_vs_declarative_i18n.md`,`en-GB`),pt:s(`compiler_vs_declarative_i18n.md`,`pt`),hi:s(`compiler_vs_declarative_i18n.md`,`hi`),tr:s(`compiler_vs_declarative_i18n.md`,`tr`),pl:s(`compiler_vs_declarative_i18n.md`,`pl`),id:s(`compiler_vs_declarative_i18n.md`,`id`),vi:s(`compiler_vs_declarative_i18n.md`,`vi`),uk:s(`compiler_vs_declarative_i18n.md`,`uk`)},"./blog/en/i18n_meaning.md":{en:s(`i18n_meaning.md`,`en`),ru:s(`i18n_meaning.md`,`ru`),ja:s(`i18n_meaning.md`,`ja`),fr:s(`i18n_meaning.md`,`fr`),ko:s(`i18n_meaning.md`,`ko`),zh:s(`i18n_meaning.md`,`zh`),es:s(`i18n_meaning.md`,`es`),de:s(`i18n_meaning.md`,`de`),ar:s(`i18n_meaning.md`,`ar`),it:s(`i18n_meaning.md`,`it`),"en-GB":s(`i18n_meaning.md`,`en-GB`),pt:s(`i18n_meaning.md`,`pt`),hi:s(`i18n_meaning.md`,`hi`),tr:s(`i18n_meaning.md`,`tr`),pl:s(`i18n_meaning.md`,`pl`),id:s(`i18n_meaning.md`,`id`),vi:s(`i18n_meaning.md`,`vi`),uk:s(`i18n_meaning.md`,`uk`)},"./blog/en/i18n_using_next-i18next.md":{en:s(`i18n_using_next-i18next.md`,`en`),ru:s(`i18n_using_next-i18next.md`,`ru`),ja:s(`i18n_using_next-i18next.md`,`ja`),fr:s(`i18n_using_next-i18next.md`,`fr`),ko:s(`i18n_using_next-i18next.md`,`ko`),zh:s(`i18n_using_next-i18next.md`,`zh`),es:s(`i18n_using_next-i18next.md`,`es`),de:s(`i18n_using_next-i18next.md`,`de`),ar:s(`i18n_using_next-i18next.md`,`ar`),it:s(`i18n_using_next-i18next.md`,`it`),"en-GB":s(`i18n_using_next-i18next.md`,`en-GB`),pt:s(`i18n_using_next-i18next.md`,`pt`),hi:s(`i18n_using_next-i18next.md`,`hi`),tr:s(`i18n_using_next-i18next.md`,`tr`),pl:s(`i18n_using_next-i18next.md`,`pl`),id:s(`i18n_using_next-i18next.md`,`id`),vi:s(`i18n_using_next-i18next.md`,`vi`),uk:s(`i18n_using_next-i18next.md`,`uk`)},"./blog/en/i18n_using_next-intl.md":{en:s(`i18n_using_next-intl.md`,`en`),ru:s(`i18n_using_next-intl.md`,`ru`),ja:s(`i18n_using_next-intl.md`,`ja`),fr:s(`i18n_using_next-intl.md`,`fr`),ko:s(`i18n_using_next-intl.md`,`ko`),zh:s(`i18n_using_next-intl.md`,`zh`),es:s(`i18n_using_next-intl.md`,`es`),de:s(`i18n_using_next-intl.md`,`de`),ar:s(`i18n_using_next-intl.md`,`ar`),it:s(`i18n_using_next-intl.md`,`it`),"en-GB":s(`i18n_using_next-intl.md`,`en-GB`),pt:s(`i18n_using_next-intl.md`,`pt`),hi:s(`i18n_using_next-intl.md`,`hi`),tr:s(`i18n_using_next-intl.md`,`tr`),pl:s(`i18n_using_next-intl.md`,`pl`),id:s(`i18n_using_next-intl.md`,`id`),vi:s(`i18n_using_next-intl.md`,`vi`),uk:s(`i18n_using_next-intl.md`,`uk`)},"./blog/en/index.md":{en:s(`index.md`,`en`),ru:s(`index.md`,`ru`),ja:s(`index.md`,`ja`),fr:s(`index.md`,`fr`),ko:s(`index.md`,`ko`),zh:s(`index.md`,`zh`),es:s(`index.md`,`es`),de:s(`index.md`,`de`),ar:s(`index.md`,`ar`),it:s(`index.md`,`it`),"en-GB":s(`index.md`,`en-GB`),pt:s(`index.md`,`pt`),hi:s(`index.md`,`hi`),tr:s(`index.md`,`tr`),pl:s(`index.md`,`pl`),id:s(`index.md`,`id`),vi:s(`index.md`,`vi`),uk:s(`index.md`,`uk`)},"./blog/en/internationalization_and_SEO.md":{en:s(`internationalization_and_SEO.md`,`en`),ru:s(`internationalization_and_SEO.md`,`ru`),ja:s(`internationalization_and_SEO.md`,`ja`),fr:s(`internationalization_and_SEO.md`,`fr`),ko:s(`internationalization_and_SEO.md`,`ko`),zh:s(`internationalization_and_SEO.md`,`zh`),es:s(`internationalization_and_SEO.md`,`es`),de:s(`internationalization_and_SEO.md`,`de`),ar:s(`internationalization_and_SEO.md`,`ar`),it:s(`internationalization_and_SEO.md`,`it`),"en-GB":s(`internationalization_and_SEO.md`,`en-GB`),pt:s(`internationalization_and_SEO.md`,`pt`),hi:s(`internationalization_and_SEO.md`,`hi`),tr:s(`internationalization_and_SEO.md`,`tr`),pl:s(`internationalization_and_SEO.md`,`pl`),id:s(`internationalization_and_SEO.md`,`id`),vi:s(`internationalization_and_SEO.md`,`vi`),uk:s(`internationalization_and_SEO.md`,`uk`)},"./blog/en/intlayer_with_i18next.md":{en:s(`intlayer_with_i18next.md`,`en`),ru:s(`intlayer_with_i18next.md`,`ru`),ja:s(`intlayer_with_i18next.md`,`ja`),fr:s(`intlayer_with_i18next.md`,`fr`),ko:s(`intlayer_with_i18next.md`,`ko`),zh:s(`intlayer_with_i18next.md`,`zh`),es:s(`intlayer_with_i18next.md`,`es`),de:s(`intlayer_with_i18next.md`,`de`),ar:s(`intlayer_with_i18next.md`,`ar`),it:s(`intlayer_with_i18next.md`,`it`),"en-GB":s(`intlayer_with_i18next.md`,`en-GB`),pt:s(`intlayer_with_i18next.md`,`pt`),hi:s(`intlayer_with_i18next.md`,`hi`),tr:s(`intlayer_with_i18next.md`,`tr`),pl:s(`intlayer_with_i18next.md`,`pl`),id:s(`intlayer_with_i18next.md`,`id`),vi:s(`intlayer_with_i18next.md`,`vi`),uk:s(`intlayer_with_i18next.md`,`uk`)},"./blog/en/intlayer_with_next-i18next.md":{en:s(`intlayer_with_next-i18next.md`,`en`),ru:s(`intlayer_with_next-i18next.md`,`ru`),ja:s(`intlayer_with_next-i18next.md`,`ja`),fr:s(`intlayer_with_next-i18next.md`,`fr`),ko:s(`intlayer_with_next-i18next.md`,`ko`),zh:s(`intlayer_with_next-i18next.md`,`zh`),es:s(`intlayer_with_next-i18next.md`,`es`),de:s(`intlayer_with_next-i18next.md`,`de`),ar:s(`intlayer_with_next-i18next.md`,`ar`),it:s(`intlayer_with_next-i18next.md`,`it`),"en-GB":s(`intlayer_with_next-i18next.md`,`en-GB`),pt:s(`intlayer_with_next-i18next.md`,`pt`),hi:s(`intlayer_with_next-i18next.md`,`hi`),tr:s(`intlayer_with_next-i18next.md`,`tr`),pl:s(`intlayer_with_next-i18next.md`,`pl`),id:s(`intlayer_with_next-i18next.md`,`id`),vi:s(`intlayer_with_next-i18next.md`,`vi`),uk:s(`intlayer_with_next-i18next.md`,`uk`)},"./blog/en/intlayer_with_next-intl.md":{en:s(`intlayer_with_next-intl.md`,`en`),ru:s(`intlayer_with_next-intl.md`,`ru`),ja:s(`intlayer_with_next-intl.md`,`ja`),fr:s(`intlayer_with_next-intl.md`,`fr`),ko:s(`intlayer_with_next-intl.md`,`ko`),zh:s(`intlayer_with_next-intl.md`,`zh`),es:s(`intlayer_with_next-intl.md`,`es`),de:s(`intlayer_with_next-intl.md`,`de`),ar:s(`intlayer_with_next-intl.md`,`ar`),it:s(`intlayer_with_next-intl.md`,`it`),"en-GB":s(`intlayer_with_next-intl.md`,`en-GB`),pt:s(`intlayer_with_next-intl.md`,`pt`),hi:s(`intlayer_with_next-intl.md`,`hi`),tr:s(`intlayer_with_next-intl.md`,`tr`),pl:s(`intlayer_with_next-intl.md`,`pl`),id:s(`intlayer_with_next-intl.md`,`id`),vi:s(`intlayer_with_next-intl.md`,`vi`),uk:s(`intlayer_with_next-intl.md`,`uk`)},"./blog/en/intlayer_with_react-i18next.md":{en:s(`intlayer_with_react-i18next.md`,`en`),ru:s(`intlayer_with_react-i18next.md`,`ru`),ja:s(`intlayer_with_react-i18next.md`,`ja`),fr:s(`intlayer_with_react-i18next.md`,`fr`),ko:s(`intlayer_with_react-i18next.md`,`ko`),zh:s(`intlayer_with_react-i18next.md`,`zh`),es:s(`intlayer_with_react-i18next.md`,`es`),de:s(`intlayer_with_react-i18next.md`,`de`),ar:s(`intlayer_with_react-i18next.md`,`ar`),it:s(`intlayer_with_react-i18next.md`,`it`),"en-GB":s(`intlayer_with_react-i18next.md`,`en-GB`),pt:s(`intlayer_with_react-i18next.md`,`pt`),hi:s(`intlayer_with_react-i18next.md`,`hi`),tr:s(`intlayer_with_react-i18next.md`,`tr`),pl:s(`intlayer_with_react-i18next.md`,`pl`),id:s(`intlayer_with_react-i18next.md`,`id`),vi:s(`intlayer_with_react-i18next.md`,`vi`),uk:s(`intlayer_with_react-i18next.md`,`uk`)},"./blog/en/intlayer_with_react-intl.md":{en:s(`intlayer_with_react-intl.md`,`en`),ru:s(`intlayer_with_react-intl.md`,`ru`),ja:s(`intlayer_with_react-intl.md`,`ja`),fr:s(`intlayer_with_react-intl.md`,`fr`),ko:s(`intlayer_with_react-intl.md`,`ko`),zh:s(`intlayer_with_react-intl.md`,`zh`),es:s(`intlayer_with_react-intl.md`,`es`),de:s(`intlayer_with_react-intl.md`,`de`),ar:s(`intlayer_with_react-intl.md`,`ar`),it:s(`intlayer_with_react-intl.md`,`it`),"en-GB":s(`intlayer_with_react-intl.md`,`en-GB`),pt:s(`intlayer_with_react-intl.md`,`pt`),hi:s(`intlayer_with_react-intl.md`,`hi`),tr:s(`intlayer_with_react-intl.md`,`tr`),pl:s(`intlayer_with_react-intl.md`,`pl`),id:s(`intlayer_with_react-intl.md`,`id`),vi:s(`intlayer_with_react-intl.md`,`vi`),uk:s(`intlayer_with_react-intl.md`,`uk`)},"./blog/en/intlayer_with_vue-i18n.md":{en:s(`intlayer_with_vue-i18n.md`,`en`),ru:s(`intlayer_with_vue-i18n.md`,`ru`),ja:s(`intlayer_with_vue-i18n.md`,`ja`),fr:s(`intlayer_with_vue-i18n.md`,`fr`),ko:s(`intlayer_with_vue-i18n.md`,`ko`),zh:s(`intlayer_with_vue-i18n.md`,`zh`),es:s(`intlayer_with_vue-i18n.md`,`es`),de:s(`intlayer_with_vue-i18n.md`,`de`),ar:s(`intlayer_with_vue-i18n.md`,`ar`),it:s(`intlayer_with_vue-i18n.md`,`it`),"en-GB":s(`intlayer_with_vue-i18n.md`,`en-GB`),pt:s(`intlayer_with_vue-i18n.md`,`pt`),hi:s(`intlayer_with_vue-i18n.md`,`hi`),tr:s(`intlayer_with_vue-i18n.md`,`tr`),pl:s(`intlayer_with_vue-i18n.md`,`pl`),id:s(`intlayer_with_vue-i18n.md`,`id`),vi:s(`intlayer_with_vue-i18n.md`,`vi`),uk:s(`intlayer_with_vue-i18n.md`,`uk`)},"./blog/en/l10n_platform_alternative/Lokalise.md":{en:s(`l10n_platform_alternative/Lokalise.md`,`en`),ru:s(`l10n_platform_alternative/Lokalise.md`,`ru`),ja:s(`l10n_platform_alternative/Lokalise.md`,`ja`),fr:s(`l10n_platform_alternative/Lokalise.md`,`fr`),ko:s(`l10n_platform_alternative/Lokalise.md`,`ko`),zh:s(`l10n_platform_alternative/Lokalise.md`,`zh`),es:s(`l10n_platform_alternative/Lokalise.md`,`es`),de:s(`l10n_platform_alternative/Lokalise.md`,`de`),ar:s(`l10n_platform_alternative/Lokalise.md`,`ar`),it:s(`l10n_platform_alternative/Lokalise.md`,`it`),"en-GB":s(`l10n_platform_alternative/Lokalise.md`,`en-GB`),pt:s(`l10n_platform_alternative/Lokalise.md`,`pt`),hi:s(`l10n_platform_alternative/Lokalise.md`,`hi`),tr:s(`l10n_platform_alternative/Lokalise.md`,`tr`),pl:s(`l10n_platform_alternative/Lokalise.md`,`pl`),id:s(`l10n_platform_alternative/Lokalise.md`,`id`),vi:s(`l10n_platform_alternative/Lokalise.md`,`vi`),uk:s(`l10n_platform_alternative/Lokalise.md`,`uk`)},"./blog/en/l10n_platform_alternative/crowdin.md":{en:s(`l10n_platform_alternative/crowdin.md`,`en`),ru:s(`l10n_platform_alternative/crowdin.md`,`ru`),ja:s(`l10n_platform_alternative/crowdin.md`,`ja`),fr:s(`l10n_platform_alternative/crowdin.md`,`fr`),ko:s(`l10n_platform_alternative/crowdin.md`,`ko`),zh:s(`l10n_platform_alternative/crowdin.md`,`zh`),es:s(`l10n_platform_alternative/crowdin.md`,`es`),de:s(`l10n_platform_alternative/crowdin.md`,`de`),ar:s(`l10n_platform_alternative/crowdin.md`,`ar`),it:s(`l10n_platform_alternative/crowdin.md`,`it`),"en-GB":s(`l10n_platform_alternative/crowdin.md`,`en-GB`),pt:s(`l10n_platform_alternative/crowdin.md`,`pt`),hi:s(`l10n_platform_alternative/crowdin.md`,`hi`),tr:s(`l10n_platform_alternative/crowdin.md`,`tr`),pl:s(`l10n_platform_alternative/crowdin.md`,`pl`),id:s(`l10n_platform_alternative/crowdin.md`,`id`),vi:s(`l10n_platform_alternative/crowdin.md`,`vi`),uk:s(`l10n_platform_alternative/crowdin.md`,`uk`)},"./blog/en/l10n_platform_alternative/phrase.md":{en:s(`l10n_platform_alternative/phrase.md`,`en`),ru:s(`l10n_platform_alternative/phrase.md`,`ru`),ja:s(`l10n_platform_alternative/phrase.md`,`ja`),fr:s(`l10n_platform_alternative/phrase.md`,`fr`),ko:s(`l10n_platform_alternative/phrase.md`,`ko`),zh:s(`l10n_platform_alternative/phrase.md`,`zh`),es:s(`l10n_platform_alternative/phrase.md`,`es`),de:s(`l10n_platform_alternative/phrase.md`,`de`),ar:s(`l10n_platform_alternative/phrase.md`,`ar`),it:s(`l10n_platform_alternative/phrase.md`,`it`),"en-GB":s(`l10n_platform_alternative/phrase.md`,`en-GB`),pt:s(`l10n_platform_alternative/phrase.md`,`pt`),hi:s(`l10n_platform_alternative/phrase.md`,`hi`),tr:s(`l10n_platform_alternative/phrase.md`,`tr`),pl:s(`l10n_platform_alternative/phrase.md`,`pl`),id:s(`l10n_platform_alternative/phrase.md`,`id`),vi:s(`l10n_platform_alternative/phrase.md`,`vi`),uk:s(`l10n_platform_alternative/phrase.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/angular.md":{en:s(`list_i18n_technologies/frameworks/angular.md`,`en`),ru:s(`list_i18n_technologies/frameworks/angular.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/angular.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/angular.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/angular.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/angular.md`,`zh`),es:s(`list_i18n_technologies/frameworks/angular.md`,`es`),de:s(`list_i18n_technologies/frameworks/angular.md`,`de`),ar:s(`list_i18n_technologies/frameworks/angular.md`,`ar`),it:s(`list_i18n_technologies/frameworks/angular.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/angular.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/angular.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/angular.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/angular.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/angular.md`,`pl`),id:s(`list_i18n_technologies/frameworks/angular.md`,`id`),vi:s(`list_i18n_technologies/frameworks/angular.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/angular.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/react-native.md":{en:s(`list_i18n_technologies/frameworks/react-native.md`,`en`),ru:s(`list_i18n_technologies/frameworks/react-native.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/react-native.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/react-native.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/react-native.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/react-native.md`,`zh`),es:s(`list_i18n_technologies/frameworks/react-native.md`,`es`),de:s(`list_i18n_technologies/frameworks/react-native.md`,`de`),ar:s(`list_i18n_technologies/frameworks/react-native.md`,`ar`),it:s(`list_i18n_technologies/frameworks/react-native.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/react-native.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/react-native.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/react-native.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/react-native.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/react-native.md`,`pl`),id:s(`list_i18n_technologies/frameworks/react-native.md`,`id`),vi:s(`list_i18n_technologies/frameworks/react-native.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/react-native.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/react.md":{en:s(`list_i18n_technologies/frameworks/react.md`,`en`),ru:s(`list_i18n_technologies/frameworks/react.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/react.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/react.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/react.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/react.md`,`zh`),es:s(`list_i18n_technologies/frameworks/react.md`,`es`),de:s(`list_i18n_technologies/frameworks/react.md`,`de`),ar:s(`list_i18n_technologies/frameworks/react.md`,`ar`),it:s(`list_i18n_technologies/frameworks/react.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/react.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/react.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/react.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/react.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/react.md`,`pl`),id:s(`list_i18n_technologies/frameworks/react.md`,`id`),vi:s(`list_i18n_technologies/frameworks/react.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/react.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/svelte.md":{en:s(`list_i18n_technologies/frameworks/svelte.md`,`en`),ru:s(`list_i18n_technologies/frameworks/svelte.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/svelte.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/svelte.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/svelte.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/svelte.md`,`zh`),es:s(`list_i18n_technologies/frameworks/svelte.md`,`es`),de:s(`list_i18n_technologies/frameworks/svelte.md`,`de`),ar:s(`list_i18n_technologies/frameworks/svelte.md`,`ar`),it:s(`list_i18n_technologies/frameworks/svelte.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/svelte.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/svelte.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/svelte.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/svelte.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/svelte.md`,`pl`),id:s(`list_i18n_technologies/frameworks/svelte.md`,`id`),vi:s(`list_i18n_technologies/frameworks/svelte.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/svelte.md`,`uk`)},"./blog/en/list_i18n_technologies/frameworks/vue.md":{en:s(`list_i18n_technologies/frameworks/vue.md`,`en`),ru:s(`list_i18n_technologies/frameworks/vue.md`,`ru`),ja:s(`list_i18n_technologies/frameworks/vue.md`,`ja`),fr:s(`list_i18n_technologies/frameworks/vue.md`,`fr`),ko:s(`list_i18n_technologies/frameworks/vue.md`,`ko`),zh:s(`list_i18n_technologies/frameworks/vue.md`,`zh`),es:s(`list_i18n_technologies/frameworks/vue.md`,`es`),de:s(`list_i18n_technologies/frameworks/vue.md`,`de`),ar:s(`list_i18n_technologies/frameworks/vue.md`,`ar`),it:s(`list_i18n_technologies/frameworks/vue.md`,`it`),"en-GB":s(`list_i18n_technologies/frameworks/vue.md`,`en-GB`),pt:s(`list_i18n_technologies/frameworks/vue.md`,`pt`),hi:s(`list_i18n_technologies/frameworks/vue.md`,`hi`),tr:s(`list_i18n_technologies/frameworks/vue.md`,`tr`),pl:s(`list_i18n_technologies/frameworks/vue.md`,`pl`),id:s(`list_i18n_technologies/frameworks/vue.md`,`id`),vi:s(`list_i18n_technologies/frameworks/vue.md`,`vi`),uk:s(`list_i18n_technologies/frameworks/vue.md`,`uk`)},"./blog/en/next-i18next_vs_next-intl_vs_intlayer.md":{en:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`en`),ru:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`ru`),ja:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`ja`),fr:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`fr`),ko:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`ko`),zh:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`zh`),es:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`es`),de:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`de`),ar:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`ar`),it:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`it`),"en-GB":s(`next-i18next_vs_next-intl_vs_intlayer.md`,`en-GB`),pt:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`pt`),hi:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`hi`),tr:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`tr`),pl:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`pl`),id:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`id`),vi:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`vi`),uk:s(`next-i18next_vs_next-intl_vs_intlayer.md`,`uk`)},"./blog/en/nextjs-multilingual-seo-comparison.md":{en:s(`nextjs-multilingual-seo-comparison.md`,`en`),ru:s(`nextjs-multilingual-seo-comparison.md`,`ru`),ja:s(`nextjs-multilingual-seo-comparison.md`,`ja`),fr:s(`nextjs-multilingual-seo-comparison.md`,`fr`),ko:s(`nextjs-multilingual-seo-comparison.md`,`ko`),zh:s(`nextjs-multilingual-seo-comparison.md`,`zh`),es:s(`nextjs-multilingual-seo-comparison.md`,`es`),de:s(`nextjs-multilingual-seo-comparison.md`,`de`),ar:s(`nextjs-multilingual-seo-comparison.md`,`ar`),it:s(`nextjs-multilingual-seo-comparison.md`,`it`),"en-GB":s(`nextjs-multilingual-seo-comparison.md`,`en-GB`),pt:s(`nextjs-multilingual-seo-comparison.md`,`pt`),hi:s(`nextjs-multilingual-seo-comparison.md`,`hi`),tr:s(`nextjs-multilingual-seo-comparison.md`,`tr`),pl:s(`nextjs-multilingual-seo-comparison.md`,`pl`),id:s(`nextjs-multilingual-seo-comparison.md`,`id`),vi:s(`nextjs-multilingual-seo-comparison.md`,`vi`),uk:s(`nextjs-multilingual-seo-comparison.md`,`uk`)},"./blog/en/per-component_vs_centralized_i18n.md":{en:s(`per-component_vs_centralized_i18n.md`,`en`),ru:s(`per-component_vs_centralized_i18n.md`,`ru`),ja:s(`per-component_vs_centralized_i18n.md`,`ja`),fr:s(`per-component_vs_centralized_i18n.md`,`fr`),ko:s(`per-component_vs_centralized_i18n.md`,`ko`),zh:s(`per-component_vs_centralized_i18n.md`,`zh`),es:s(`per-component_vs_centralized_i18n.md`,`es`),de:s(`per-component_vs_centralized_i18n.md`,`de`),ar:s(`per-component_vs_centralized_i18n.md`,`ar`),it:s(`per-component_vs_centralized_i18n.md`,`it`),"en-GB":s(`per-component_vs_centralized_i18n.md`,`en-GB`),pt:s(`per-component_vs_centralized_i18n.md`,`pt`),hi:s(`per-component_vs_centralized_i18n.md`,`hi`),tr:s(`per-component_vs_centralized_i18n.md`,`tr`),pl:s(`per-component_vs_centralized_i18n.md`,`pl`),id:s(`per-component_vs_centralized_i18n.md`,`id`),vi:s(`per-component_vs_centralized_i18n.md`,`vi`),uk:s(`per-component_vs_centralized_i18n.md`,`uk`)},"./blog/en/rag_powered_documentation_assistant.md":{en:s(`rag_powered_documentation_assistant.md`,`en`),ru:s(`rag_powered_documentation_assistant.md`,`ru`),ja:s(`rag_powered_documentation_assistant.md`,`ja`),fr:s(`rag_powered_documentation_assistant.md`,`fr`),ko:s(`rag_powered_documentation_assistant.md`,`ko`),zh:s(`rag_powered_documentation_assistant.md`,`zh`),es:s(`rag_powered_documentation_assistant.md`,`es`),de:s(`rag_powered_documentation_assistant.md`,`de`),ar:s(`rag_powered_documentation_assistant.md`,`ar`),it:s(`rag_powered_documentation_assistant.md`,`it`),"en-GB":s(`rag_powered_documentation_assistant.md`,`en-GB`),pt:s(`rag_powered_documentation_assistant.md`,`pt`),hi:s(`rag_powered_documentation_assistant.md`,`hi`),tr:s(`rag_powered_documentation_assistant.md`,`tr`),pl:s(`rag_powered_documentation_assistant.md`,`pl`),id:s(`rag_powered_documentation_assistant.md`,`id`),vi:s(`rag_powered_documentation_assistant.md`,`vi`),uk:s(`rag_powered_documentation_assistant.md`,`uk`)},"./blog/en/react-i18next_vs_react-intl_vs_intlayer.md":{en:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`en`),ru:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`ru`),ja:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`ja`),fr:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`fr`),ko:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`ko`),zh:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`zh`),es:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`es`),de:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`de`),ar:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`ar`),it:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`it`),"en-GB":s(`react-i18next_vs_react-intl_vs_intlayer.md`,`en-GB`),pt:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`pt`),hi:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`hi`),tr:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`tr`),pl:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`pl`),id:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`id`),vi:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`vi`),uk:s(`react-i18next_vs_react-intl_vs_intlayer.md`,`uk`)},"./blog/en/vue-i18n_vs_intlayer.md":{en:s(`vue-i18n_vs_intlayer.md`,`en`),ru:s(`vue-i18n_vs_intlayer.md`,`ru`),ja:s(`vue-i18n_vs_intlayer.md`,`ja`),fr:s(`vue-i18n_vs_intlayer.md`,`fr`),ko:s(`vue-i18n_vs_intlayer.md`,`ko`),zh:s(`vue-i18n_vs_intlayer.md`,`zh`),es:s(`vue-i18n_vs_intlayer.md`,`es`),de:s(`vue-i18n_vs_intlayer.md`,`de`),ar:s(`vue-i18n_vs_intlayer.md`,`ar`),it:s(`vue-i18n_vs_intlayer.md`,`it`),"en-GB":s(`vue-i18n_vs_intlayer.md`,`en-GB`),pt:s(`vue-i18n_vs_intlayer.md`,`pt`),hi:s(`vue-i18n_vs_intlayer.md`,`hi`),tr:s(`vue-i18n_vs_intlayer.md`,`tr`),pl:s(`vue-i18n_vs_intlayer.md`,`pl`),id:s(`vue-i18n_vs_intlayer.md`,`id`),vi:s(`vue-i18n_vs_intlayer.md`,`vi`),uk:s(`vue-i18n_vs_intlayer.md`,`uk`)},"./blog/en/what_is_internationalization.md":{en:s(`what_is_internationalization.md`,`en`),ru:s(`what_is_internationalization.md`,`ru`),ja:s(`what_is_internationalization.md`,`ja`),fr:s(`what_is_internationalization.md`,`fr`),ko:s(`what_is_internationalization.md`,`ko`),zh:s(`what_is_internationalization.md`,`zh`),es:s(`what_is_internationalization.md`,`es`),de:s(`what_is_internationalization.md`,`de`),ar:s(`what_is_internationalization.md`,`ar`),it:s(`what_is_internationalization.md`,`it`),"en-GB":s(`what_is_internationalization.md`,`en-GB`),pt:s(`what_is_internationalization.md`,`pt`),hi:s(`what_is_internationalization.md`,`hi`),tr:s(`what_is_internationalization.md`,`tr`),pl:s(`what_is_internationalization.md`,`pl`),id:s(`what_is_internationalization.md`,`id`),vi:s(`what_is_internationalization.md`,`vi`),uk:s(`what_is_internationalization.md`,`uk`)}};exports.blogEntry=c;
|
|
2
2
|
//# sourceMappingURL=blog.entry.cjs.map
|