@intlayer/docs 8.1.6 → 8.1.8
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 +20 -12
- 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/cjs/generated/docs.entry.cjs +1 -1
- package/dist/cjs/generated/docs.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/esm/generated/docs.entry.mjs +1 -1
- package/dist/esm/generated/docs.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/dist/types/generated/docs.entry.d.ts +2 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/agent_skills.md +2 -0
- package/docs/ar/compiler.md +81 -3
- package/docs/ar/component_i18n.md +2 -2
- package/docs/ar/configuration.md +68 -1
- package/docs/ar/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +385 -0
- 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/readme.md +138 -110
- package/docs/de/agent_skills.md +2 -0
- package/docs/de/cli/init.md +1 -1
- package/docs/de/compiler.md +79 -1
- package/docs/de/component_i18n.md +2 -2
- package/docs/de/configuration.md +68 -1
- package/docs/de/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +385 -0
- 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/readme.md +152 -124
- package/docs/en/agent_skills.md +2 -0
- package/docs/en/compiler.md +80 -1
- package/docs/en/component_i18n.md +2 -2
- package/docs/en/configuration.md +16 -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 +498 -0
- 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 +385 -0
- 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/readme.md +129 -105
- package/docs/en-GB/agent_skills.md +2 -0
- package/docs/en-GB/cli/init.md +1 -1
- package/docs/en-GB/compiler.md +81 -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 +1 -1
- 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 +481 -0
- 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 +368 -0
- 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 +134 -108
- package/docs/es/agent_skills.md +2 -0
- package/docs/es/compiler.md +79 -1
- package/docs/es/component_i18n.md +2 -2
- package/docs/es/configuration.md +68 -1
- package/docs/es/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +385 -0
- 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/readme.md +149 -121
- package/docs/fr/agent_skills.md +2 -0
- package/docs/fr/compiler.md +82 -4
- package/docs/fr/component_i18n.md +2 -2
- package/docs/fr/configuration.md +68 -1
- package/docs/fr/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +385 -0
- 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/readme.md +150 -122
- package/docs/hi/agent_skills.md +2 -0
- package/docs/hi/cli/init.md +1 -1
- package/docs/hi/compiler.md +81 -3
- package/docs/hi/component_i18n.md +2 -2
- package/docs/hi/configuration.md +68 -1
- package/docs/hi/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +386 -0
- 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/readme.md +153 -125
- package/docs/id/agent_skills.md +2 -0
- package/docs/id/compiler.md +79 -1
- package/docs/id/component_i18n.md +2 -2
- package/docs/id/configuration.md +61 -1
- package/docs/id/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +385 -0
- 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/readme.md +133 -105
- package/docs/it/agent_skills.md +2 -0
- package/docs/it/compiler.md +81 -3
- package/docs/it/component_i18n.md +2 -2
- package/docs/it/configuration.md +68 -1
- package/docs/it/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +390 -0
- 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/readme.md +155 -127
- package/docs/ja/agent_skills.md +2 -0
- package/docs/ja/cli/init.md +1 -1
- package/docs/ja/compiler.md +79 -1
- package/docs/ja/component_i18n.md +2 -2
- package/docs/ja/configuration.md +68 -1
- package/docs/ja/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +385 -0
- 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/readme.md +152 -126
- package/docs/ko/agent_skills.md +2 -0
- package/docs/ko/cli/init.md +1 -1
- package/docs/ko/compiler.md +79 -1
- package/docs/ko/component_i18n.md +2 -2
- package/docs/ko/configuration.md +68 -1
- package/docs/ko/dictionary/content_file.md +1 -1
- 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 +481 -0
- 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 +368 -0
- 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/readme.md +154 -126
- package/docs/pl/agent_skills.md +2 -0
- package/docs/pl/cli/init.md +1 -1
- package/docs/pl/compiler.md +79 -1
- package/docs/pl/component_i18n.md +2 -2
- package/docs/pl/configuration.md +61 -1
- package/docs/pl/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +385 -0
- 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/readme.md +134 -106
- package/docs/pl/releases/v8.md +3 -3
- package/docs/pt/agent_skills.md +2 -0
- package/docs/pt/cli/init.md +1 -1
- package/docs/pt/compiler.md +80 -2
- package/docs/pt/component_i18n.md +2 -2
- package/docs/pt/configuration.md +68 -1
- package/docs/pt/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +390 -0
- 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/readme.md +154 -126
- 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 +82 -4
- package/docs/ru/component_i18n.md +2 -2
- package/docs/ru/configuration.md +69 -2
- package/docs/ru/dictionary/content_file.md +3 -3
- 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 +498 -0
- 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 +385 -0
- 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 +138 -110
- package/docs/ru/releases/v7.md +3 -3
- package/docs/ru/releases/v8.md +5 -5
- 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 +81 -3
- package/docs/tr/component_i18n.md +2 -2
- package/docs/tr/configuration.md +68 -1
- package/docs/tr/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +391 -0
- 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/readme.md +139 -111
- 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 +82 -4
- package/docs/uk/component_i18n.md +3 -3
- package/docs/uk/configuration.md +65 -5
- package/docs/uk/dictionary/content_file.md +5 -5
- 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 +498 -0
- 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 +385 -0
- 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 +135 -111
- package/docs/uk/releases/v6.md +2 -2
- package/docs/uk/releases/v7.md +2 -2
- package/docs/uk/releases/v8.md +1 -1
- 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 +80 -2
- package/docs/vi/component_i18n.md +2 -2
- package/docs/vi/configuration.md +61 -1
- package/docs/vi/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +385 -0
- 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 +138 -110
- package/docs/vi/releases/v8.md +2 -2
- package/docs/zh/agent_skills.md +2 -0
- package/docs/zh/compiler.md +79 -1
- package/docs/zh/component_i18n.md +2 -2
- package/docs/zh/configuration.md +68 -1
- package/docs/zh/dictionary/content_file.md +1 -1
- 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 +498 -0
- 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 +388 -0
- 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/readme.md +148 -120
- 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 +7 -8
- package/src/generated/blog.entry.ts +20 -0
- package/src/generated/docs.entry.ts +40 -0
|
@@ -20,7 +20,7 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# Огляд рішень i18n для локалізації вашого вебсайту на Vue.js
|
|
22
22
|
|
|
23
|
-
У все більш глобалізованому цифровому середовищі розширення охоплення вашого сайту на Vue.js для користувачів кількома мовами вже не є
|
|
23
|
+
У все більш глобалізованому цифровому середовищі розширення охоплення вашого сайту на Vue.js для користувачів кількома мовами вже не є «приємністю», це конкурентна необхідність. Інтернаціоналізація (i18n) дозволяє розробникам керувати перекладами та адаптувати свої застосунки під різні локалі, водночас зберігаючи SEO-цінність, досвід користувача (UX) та зручну для підтримки структуру коду. У цій статті ми розглянемо різні підходи, від спеціалізованих бібліотек до кастомних рішень, які допоможуть вам плавно інтегрувати i18n у ваш Vue.js проект.
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ slugs:
|
|
|
28
28
|
|
|
29
29
|
## Що таке інтернаціоналізація (i18n)?
|
|
30
30
|
|
|
31
|
-
Internationalization (i18n)
|
|
31
|
+
Internationalization (i18n), це практика підготовки програмного забезпечення (або вебсайту) для підтримки кількох мов і культурних конвенцій. В екосистемі Vue.js це включає визначення того, як текст, дати, числа, валюта та інші локалізовані елементи можуть бути адаптовані до різних локалей. Налаштувавши i18n з самого початку, ви забезпечуєте організовану, масштабовану структуру для додавання нових мов та задоволення майбутніх потреб у локалізації.
|
|
32
32
|
|
|
33
33
|
Щоб дізнатися більше про основи i18n, перегляньте наше посилання: [What is Internationalization (i18n)? Definition and Challenges](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/what_is_internationalization.md).
|
|
34
34
|
|
|
@@ -57,7 +57,7 @@ Internationalization (i18n) — це практика підготовки пр
|
|
|
57
57
|
> Website: [https://intlayer.org/](https://intlayer.org/)
|
|
58
58
|
|
|
59
59
|
**Огляд**
|
|
60
|
-
**Intlayer
|
|
60
|
+
**Intlayer**, це open-source i18n-рішення, яке прагне спростити підтримку мультимовності у різних фреймворках, включаючи **Vue**. Воно робить акцент на декларативному підході, сильній типізації та підтримці SSR в інших екосистемах, хоча SSR не є типовим для стандартного Vue.
|
|
61
61
|
|
|
62
62
|
**Ключові особливості**
|
|
63
63
|
|
|
@@ -71,7 +71,7 @@ Internationalization (i18n) — це практика підготовки пр
|
|
|
71
71
|
> Website: [https://vue-i18n.intlify.dev/](https://vue-i18n.intlify.dev/)
|
|
72
72
|
|
|
73
73
|
**Огляд**
|
|
74
|
-
**Vue I18n
|
|
74
|
+
**Vue I18n**, найпоширеніша бібліотека локалізації в екосистемі Vue, що забезпечує простий та багатофункціональний підхід до обробки перекладів у проектах на Vue 2, Vue 3 та Nuxt.
|
|
75
75
|
|
|
76
76
|
**Ключові можливості**
|
|
77
77
|
|
|
@@ -131,7 +131,7 @@ Internationalization (i18n) — це практика підготовки пр
|
|
|
131
131
|
При виборі рішення для i18n для вашого Vue.js додатку:
|
|
132
132
|
|
|
133
133
|
1. **Оцініть свої вимоги**
|
|
134
|
-
Розмір проєкту, навички розробників та складність
|
|
134
|
+
Розмір проєкту, навички розробників та складність локалізації, усе це впливає на вибір.
|
|
135
135
|
2. **Оцініть сумісність зі SSR**
|
|
136
136
|
Якщо ви будуєте додаток на Nuxt або інакше залежите від SSR, переконайтеся, що обраний підхід підтримує серверний рендеринг без проблем.
|
|
137
137
|
3. **TypeScript & Autocompletion**
|
|
@@ -141,4 +141,4 @@ Internationalization (i18n) — це практика підготовки пр
|
|
|
141
141
|
5. **SEO & Metadata**
|
|
142
142
|
Щоб багатомовні сайти добре ранжувалися, ваше рішення має спрощувати локалізовані мета-теги, URL-адреси, карти сайту (sitemaps) та `robots.txt` для кожної локалі.
|
|
143
143
|
|
|
144
|
-
Незалежно від того, який шлях ви
|
|
144
|
+
Незалежно від того, який шлях ви оберете. Intlayer, Vue I18n, LinguiJS або власноручне рішення, ви будете на вірному шляху до створення глобально орієнтованого додатка на Vue.js. Кожне рішення має свої компроміси щодо продуктивності, досвіду розробника та масштабованості. Ретельно оцінивши потреби вашого проєкту, ви зможете впевнено обрати i18n-налаштування, яке забезпечить успіх вам і вашій багатомовній аудиторії.
|
|
@@ -29,9 +29,9 @@ slugs:
|
|
|
29
29
|
|
|
30
30
|
<TOC/>
|
|
31
31
|
|
|
32
|
-
> **tl;dr**: Усі три можуть локалізувати Next.js додаток. Якщо вам потрібні **контент, прив'язаний до компонентів**, **строгі TypeScript-типи**, **перевірка відсутніх ключів на етапі збірки**, **tree-shaken словники** та **першокласна підтримка App Router + SEO-хелперів**, **Intlayer
|
|
32
|
+
> **tl;dr**: Усі три можуть локалізувати Next.js додаток. Якщо вам потрібні **контент, прив'язаний до компонентів**, **строгі TypeScript-типи**, **перевірка відсутніх ключів на етапі збірки**, **tree-shaken словники** та **першокласна підтримка App Router + SEO-хелперів**, **Intlayer**, найповніший, сучасний вибір.
|
|
33
33
|
>
|
|
34
|
-
> Частою помилкою розробників є думка, що `next-intl
|
|
34
|
+
> Частою помилкою розробників є думка, що `next-intl`, це версія `react-intl` для Next.js. Це не так: `next-intl` підтримується [Amann](https://github.com/amannn), тоді як `react-intl` підтримується [FormatJS](https://github.com/formatjs/formatjs).
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
@@ -100,7 +100,7 @@ Next.js надає вбудовану підтримку інтернаціон
|
|
|
100
100
|
///
|
|
101
101
|
/// ## Розміри бандлів та залежності
|
|
102
102
|
|
|
103
|
-
Після збірки застосунку, bundle
|
|
103
|
+
Після збірки застосунку, bundle, це JavaScript, який браузер завантажує для відображення сторінки. Тому розмір bundle важливий для продуктивності застосунку.
|
|
104
104
|
|
|
105
105
|
У контексті багатомовного застосунку важливі два складники bundle:
|
|
106
106
|
|
|
@@ -111,7 +111,7 @@ Next.js надає вбудовану підтримку інтернаціон
|
|
|
111
111
|
|
|
112
112
|
Важливість коду застосунку в цьому випадку мінімальна. Усі три рішення є tree-shakable, тобто невикористані частини коду не включаються до bundle.
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
Нижче, порівняння розміру JavaScript-бандла, який завантажує браузер для багатомовного застосунку з трьома рішеннями.
|
|
115
115
|
|
|
116
116
|
Якщо в застосунку нам не потрібен жоден formatter, список експортованих функцій після tree-shaking буде:
|
|
117
117
|
|
|
@@ -119,7 +119,7 @@ Next.js надає вбудовану підтримку інтернаціон
|
|
|
119
119
|
- **next-intl**: `useTranslations`, `useLocale`, `NextIntlClientProvider`, (Розмір бандла 101.3 kB -> 31.4 kB (gzip))
|
|
120
120
|
- **next-i18next**: `useTranslation`, `useI18n`, `I18nextProvider`, (Розмір бандла 80.7 kB -> 25.5 kB (gzip))
|
|
121
121
|
|
|
122
|
-
Ці
|
|
122
|
+
Ці функції, лише обгортки над React context/state, тому загальний вплив бібліотеки i18n на розмір бандла мінімальний.
|
|
123
123
|
|
|
124
124
|
> Intlayer трохи більший, ніж `next-intl` та `next-i18next`, оскільки він містить більше логіки в функції `useIntlayer`. Це пов'язано з інтеграцією markdown та `intlayer-editor`.
|
|
125
125
|
|
|
@@ -127,7 +127,7 @@ Next.js надає вбудовану підтримку інтернаціон
|
|
|
127
127
|
|
|
128
128
|
Цей аспект часто ігнорують розробники, але розгляньмо випадок застосунку, що складається з 10 сторінок у 10 мовах. Припустимо для спрощення розрахунків, що кожна сторінка містить 100% унікального контенту (на практиці багато контенту дублюється між сторінками, наприклад заголовок сторінки, header, footer тощо).
|
|
129
129
|
|
|
130
|
-
Користувач, який хоче відвідати сторінку `/fr/about`, завантажить контент однієї сторінки певною мовою. Ігнорування оптимізації контенту призведе до зайвого завантаження 8,200% `((1 + (((10 pages - 1) × (10 languages - 1)))) × 100)` контенту застосунку. Чи бачите проблему? Навіть якщо цей
|
|
130
|
+
Користувач, який хоче відвідати сторінку `/fr/about`, завантажить контент однієї сторінки певною мовою. Ігнорування оптимізації контенту призведе до зайвого завантаження 8,200% `((1 + (((10 pages - 1) × (10 languages - 1)))) × 100)` контенту застосунку. Чи бачите проблему? Навіть якщо цей контент, лише текст, і хоча ви, ймовірно, більше зосереджені на оптимізації зображень сайту, ви передаєте непотрібний контент по всьому світу й змушуєте пристрої користувачів обробляти його даремно.
|
|
131
131
|
|
|
132
132
|
Дві важливі проблеми:
|
|
133
133
|
|
|
@@ -139,7 +139,7 @@ Next.js надає вбудовану підтримку інтернаціон
|
|
|
139
139
|
|
|
140
140
|
> Якщо я на сторінці `/fr/about`, я не хочу завантажувати вміст сторінки `/en/about`
|
|
141
141
|
|
|
142
|
-
Знову ж таки, усі три рішення усвідомлюють ці проблеми та дозволяють керувати цими оптимізаціями. Різниця між
|
|
142
|
+
Знову ж таки, усі три рішення усвідомлюють ці проблеми та дозволяють керувати цими оптимізаціями. Різниця між ними, це DX (Developer Experience).
|
|
143
143
|
|
|
144
144
|
`next-intl` та `next-i18next` використовують централізований підхід для керування перекладами, дозволяючи розбивати JSON за локаллю й на підфайли. У `next-i18next` ми називаємо JSON-файли 'namespaces'; `next-intl` дозволяє оголошувати messages. В `intlayer` ми називаємо JSON-файли 'dictionaries'.
|
|
145
145
|
|
|
@@ -290,7 +290,7 @@ Next.js надає вбудовану підтримку інтернаціон
|
|
|
290
290
|
</Column>
|
|
291
291
|
</Columns>
|
|
292
292
|
|
|
293
|
-
**Чому це важливо:** Підтримка серверних
|
|
293
|
+
**Чому це важливо:** Підтримка серверних компонент, ключова особливість Next.js 13+, що покращує продуктивність. Передача через props `locale` або функції `t` від батьківської до дочірньої серверної компоненти робить ваші компоненти менш повторно використовуваними.
|
|
294
294
|
|
|
295
295
|
---
|
|
296
296
|
|
|
@@ -950,7 +950,7 @@ const ClientComponentExample = () => {
|
|
|
950
950
|
|
|
951
951
|
### Використання в server component
|
|
952
952
|
|
|
953
|
-
Розглянемо випадок UI-компонента. Цей
|
|
953
|
+
Розглянемо випадок UI-компонента. Цей компонент, server component, і він повинен мати можливість бути вставленим як дочірній елемент client component. (page (server component) -> client component -> server component). Оскільки цей компонент може бути вставлений як дочірній елемент client component, він не може бути async.
|
|
954
954
|
|
|
955
955
|
<Tabs defaultTab="next-intl" group='techno'>
|
|
956
956
|
<Tab label="next-i18next" value="next-i18next">
|
|
@@ -1044,7 +1044,7 @@ const ServerComponent = ({ count }: ServerComponentProps) => {
|
|
|
1044
1044
|
|
|
1045
1045
|
### Метадані / Sitemap / Robots
|
|
1046
1046
|
|
|
1047
|
-
Перекладати
|
|
1047
|
+
Перекладати контент, це чудово. Але люди зазвичай забувають, що головна мета інтернаціоналізації, зробити ваш вебсайт більш помітним для світу. I18n, надзвичайно ефективний важіль для покращення видимості вашого сайту.
|
|
1048
1048
|
|
|
1049
1049
|
Ось перелік кращих практик щодо багатомовного SEO.
|
|
1050
1050
|
|
|
@@ -1470,12 +1470,12 @@ export const config = {
|
|
|
1470
1470
|
|
|
1471
1471
|
**Intlayer**
|
|
1472
1472
|
|
|
1473
|
-
- створений для сучасного Next.js, з модульним контентом, type safety, інструментами та меншим boilerplate. Якщо ви цінуєте **component-scoped content**, **strict TypeScript**, **build-time guarantees**, **tree-shaking**, і **batteries-included** інструменти для маршрутизації/SEO
|
|
1473
|
+
- створений для сучасного Next.js, з модульним контентом, type safety, інструментами та меншим boilerplate. Якщо ви цінуєте **component-scoped content**, **strict TypeScript**, **build-time guarantees**, **tree-shaking**, і **batteries-included** інструменти для маршрутизації/SEO/редакторів, особливо для **Next.js App Router**, design-systems та **великих, модульних codebases**.
|
|
1474
1474
|
|
|
1475
1475
|
</Column>
|
|
1476
1476
|
</Columns>
|
|
1477
1477
|
|
|
1478
|
-
Якщо ви віддаєте перевагу мінімальній конфігурації і готові до деякої ручної інтеграції, next-intl
|
|
1478
|
+
Якщо ви віддаєте перевагу мінімальній конфігурації і готові до деякої ручної інтеграції, next-intl, хороший вибір. Якщо вам потрібні всі функції і вас не лякає складність, next-i18next теж підходить. Але якщо ви хочете сучасне, масштабоване, модульне рішення з готовими інструментами, Intlayer прагне надати це "з коробки".
|
|
1479
1479
|
|
|
1480
1480
|
> **Альтернатива для корпоративних команд**: Якщо вам потрібне перевірене рішення, яке відмінно працює з усталеними платформами локалізації, такими як **Crowdin**, **Phrase** або іншими професійними системами управління перекладами, розгляньте **next-intl** або **next-i18next** через їхню зрілу екосистему та перевірені інтеграції.
|
|
1481
1481
|
|
|
@@ -1493,7 +1493,7 @@ export const config = {
|
|
|
1493
1493
|
|
|
1494
1494
|
Усі три бібліотеки успішно справляються з базовою локалізацією. Різниця полягає в тому, **скільки роботи вам доведеться виконати**, щоб досягти надійної, масштабованої конфігурації в **сучасному Next.js**:
|
|
1495
1495
|
|
|
1496
|
-
- З **Intlayer**, **модульний контент**, **строгий TS**, **безпека на етапі збірки**, **tree-shaken bundles**, і **first-class App Router + SEO tooling
|
|
1496
|
+
- З **Intlayer**, **модульний контент**, **строгий TS**, **безпека на етапі збірки**, **tree-shaken bundles**, і **first-class App Router + SEO tooling**, це **за замовчуванням**, а не обов'язок.
|
|
1497
1497
|
- Якщо ваша команда цінує **підтримуваність і швидкість** у багатомовному, орієнтованому на компоненти додатку, Intlayer сьогодні пропонує **найповніший** досвід.
|
|
1498
1498
|
|
|
1499
1499
|
Зверніться до документа ['Чому Intlayer?'](https://intlayer.org/doc/why) для детальнішої інформації.
|
|
@@ -20,16 +20,16 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# SEO та i18n в Next.js: Перекладу недостатньо
|
|
22
22
|
|
|
23
|
-
Коли розробники думають про інтернаціоналізацію (i18n), першим рефлексом часто є: _перекласти контент_. Але зазвичай забувають, що головна мета
|
|
23
|
+
Коли розробники думають про інтернаціоналізацію (i18n), першим рефлексом часто є: _перекласти контент_. Але зазвичай забувають, що головна мета інтернаціоналізації, зробити ваш вебсайт більш помітним для світу.
|
|
24
24
|
Якщо ваша багатомовна програма Next.js не повідомляє пошуковим системам, як сканувати й розуміти різні мовні версії, більшість ваших зусиль може залишитися непоміченою.
|
|
25
25
|
|
|
26
|
-
У цьому блозі ми розглянемо, чому **i18n
|
|
26
|
+
У цьому блозі ми розглянемо, чому **i18n, це суперсила для SEO**, і як правильно реалізувати її в Next.js за допомогою `next-intl`, `next-i18next` та `Intlayer`.
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
30
|
## Чому SEO та i18n
|
|
31
31
|
|
|
32
|
-
Додавання
|
|
32
|
+
Додавання мов, це не лише про UX. Це також потужний важіль для **органічної видимості**. Ось чому:
|
|
33
33
|
|
|
34
34
|
1. **Краща виявлюваність:** Пошукові системи індексують локалізовані версії та ранжують їх для користувачів, які шукають рідною мовою.
|
|
35
35
|
2. **Уникнення дубльованого контенту:** Правильні канонічні та альтернативні теги повідомляють сканерам, яка сторінка належить до якої локалі.
|
|
@@ -54,7 +54,7 @@ slugs:
|
|
|
54
54
|
- **Використовуйте локалізовані посилання**
|
|
55
55
|
Приклад: `<a href="/fr/about">Про нас</a>` замість посилання на сторінку за замовчуванням `/about`.
|
|
56
56
|
|
|
57
|
-
Це прості
|
|
57
|
+
Це прості кроки, але їх пропуск може коштувати вам видимості.
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
@@ -344,8 +344,8 @@ export default robots;
|
|
|
344
344
|
|
|
345
345
|
## Висновок
|
|
346
346
|
|
|
347
|
-
Правильна реалізація i18n у Next.js
|
|
348
|
-
Налаштування hreflang, sitemap і правил для robots
|
|
347
|
+
Правильна реалізація i18n у Next.js, це не просто переклад тексту, а забезпечення того, щоб пошукові системи та користувачі точно знали, яку версію вашого контенту показувати.
|
|
348
|
+
Налаштування hreflang, sitemap і правил для robots, те, що перетворює переклади на реальну SEO-цінність.
|
|
349
349
|
|
|
350
350
|
Хоча next-intl і next-i18next дають надійні способи це реалізувати, зазвичай вони вимагають багато ручного налаштування, щоб підтримувати консистентність між локалями.
|
|
351
351
|
|
|
@@ -355,6 +355,6 @@ export default robots;
|
|
|
355
355
|
|
|
356
356
|
Метадані зберігаються централізовано замість того, щоб розкидуватися по JSON-файлах або власних утилітах.
|
|
357
357
|
|
|
358
|
-
Він спроєктований для Next.js з нуля, тож ви витрачаєте менше часу на налагодження конфігурації й
|
|
358
|
+
Він спроєктований для Next.js з нуля, тож ви витрачаєте менше часу на налагодження конфігурації й більше, на реліз.
|
|
359
359
|
|
|
360
|
-
Якщо ваша
|
|
360
|
+
Якщо ваша мета, не просто перекладати, а масштабувати багатомовне SEO без зайвих зусиль, Intlayer дає вам найчистіше, найбільш стійке до майбутніх змін налаштування.
|
|
@@ -81,7 +81,7 @@ extension Localization on String {
|
|
|
81
81
|
|
|
82
82
|
Водночас потрібно знати, що коли ви динамічно завантажуєте свій вміст, ви вводите додаткові запити до сервера. Кожен додатковий `useState` або хук означає ще один запит до сервера.
|
|
83
83
|
|
|
84
|
-
> Щоб вирішити це питання, Intlayer пропонує групувати кілька визначень контенту під одним
|
|
84
|
+
> Щоб вирішити це питання, Intlayer пропонує групувати кілька визначень контенту під одним ключем. Intlayer потім об'єднає цей контент.
|
|
85
85
|
|
|
86
86
|
Але з-поміж усіх цих рішень очевидно, що найпопулярнішим є централізований підхід.
|
|
87
87
|
|
|
@@ -97,7 +97,7 @@ extension Localization on String {
|
|
|
97
97
|
Дозвольте пояснити, чому це може бути проблематично для вашого додатка:
|
|
98
98
|
|
|
99
99
|
- **Невикористані дані:**
|
|
100
|
-
Коли завантажується сторінка, часто підвантажується контент з усіх інших сторінок. (У додатку з 10 сторінок це означає 90% невикористаного контенту.) Відкриваєте модальне вікно з відкладеним завантаженням? Бібліотека i18n
|
|
100
|
+
Коли завантажується сторінка, часто підвантажується контент з усіх інших сторінок. (У додатку з 10 сторінок це означає 90% невикористаного контенту.) Відкриваєте модальне вікно з відкладеним завантаженням? Бібліотека i18n байдуже, вона все одно спочатку підвантажує рядки.
|
|
101
101
|
- **Продуктивність:**
|
|
102
102
|
При кожному перерендері кожен ваш компонент отримує велике JSON-навантаження, що погіршує реактивність додатка в міру його зростання.
|
|
103
103
|
- **Підтримка:**
|
|
@@ -245,4 +245,4 @@ export const MyComponent = () => {
|
|
|
245
245
|
- Важче підключатися до інших l10n-систем та додаткових інструментів.
|
|
246
246
|
- Ви потрапляєте у залежність (що, по суті, вже відбувається з будь-яким i18n-рішенням через їхній специфічний синтаксис).
|
|
247
247
|
|
|
248
|
-
Саме тому Intlayer намагається надати повний набір інструментів для i18n (100% безкоштовний і з відкритим вихідним
|
|
248
|
+
Саме тому Intlayer намагається надати повний набір інструментів для i18n (100% безкоштовний і з відкритим вихідним кодом. OSS), включно з AI-перекладом за допомогою вашого власного AI-провайдера та API-ключів. Intlayer також надає інструменти для синхронізації ваших JSON-файлів, що працюють подібно до message formatters ICU / vue-i18n / i18next, щоб відобразити контент у їхніх специфічних форматах.
|
|
@@ -48,13 +48,13 @@ RAG став популярним не випадково: це один із н
|
|
|
48
48
|
- Пошук, який відчувається природно: поєднання Algolia + FAQ + чатбот в одному.
|
|
49
49
|
- Зворотний зв'язок: зберігаючи запити, ви виявляєте, з чим насправді мають труднощі користувачі.
|
|
50
50
|
|
|
51
|
-
Той останній пункт є вирішальним. Система RAG не лише відповідає на
|
|
51
|
+
Той останній пункт є вирішальним. Система RAG не лише відповідає на запитання, вона показує, що саме запитують користувачі. Це означає:
|
|
52
52
|
|
|
53
53
|
- Ви виявляєте відсутню інформацію в документації.
|
|
54
54
|
- Ви бачите появу запитів на нові фічі.
|
|
55
55
|
- Ви помічаєте патерни, які можуть навіть спрямовувати продуктову стратегію.
|
|
56
56
|
|
|
57
|
-
Отже, RAG
|
|
57
|
+
Отже, RAG, це не лише інструмент підтримки. Це також **двигун product discovery**.
|
|
58
58
|
|
|
59
59
|
## Як працює RAG-пайплайн
|
|
60
60
|
|
|
@@ -99,7 +99,7 @@ RAG став популярним не випадково: це один із н
|
|
|
99
99
|
|
|
100
100
|
## Крок 3: Генерація embeddings
|
|
101
101
|
|
|
102
|
-
Як тільки документи розбиті на чанки, ми генеруємо **embeddings
|
|
102
|
+
Як тільки документи розбиті на чанки, ми генеруємо **embeddings**, високорозмірні вектори, що представляють кожний чанк.
|
|
103
103
|
|
|
104
104
|
Я використовував модель OpenAI’s text-embedding-3-large, але ви можете використати будь-яку сучасну модель embeddings.
|
|
105
105
|
|
|
@@ -113,7 +113,7 @@ RAG став популярним не випадково: це один із н
|
|
|
113
113
|
];
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
Кожний
|
|
116
|
+
Кожний вектор, це математичний відбиток тексту, що дозволяє виконувати пошук за схожістю.
|
|
117
117
|
|
|
118
118
|
## Крок 4: Індексування та збереження embeddings
|
|
119
119
|
|
|
@@ -163,7 +163,7 @@ This turns your RAG assistant into a **continuous user research tool**.
|
|
|
163
163
|
|
|
164
164
|
## Скільки це коштує?
|
|
165
165
|
|
|
166
|
-
Одне з поширених зауважень щодо RAG
|
|
166
|
+
Одне з поширених зауважень щодо RAG, це вартість. Насправді це дивно дешево:
|
|
167
167
|
|
|
168
168
|
- Генерація embeddings для ~200 документів займає близько **5 хвилин** і коштує **1–2 євро**.
|
|
169
169
|
- Пошук по документації повністю безкоштовний.
|
|
@@ -180,7 +180,7 @@ This turns your RAG assistant into a **continuous user research tool**.
|
|
|
180
180
|
- Фронтенд: Next.js / React / Tailwind CSS
|
|
181
181
|
- Бекенд: Node.js API route / OpenAI API
|
|
182
182
|
|
|
183
|
-
Пакет `@smart-doc/docs
|
|
183
|
+
Пакет `@smart-doc/docs`, це пакет на TypeScript, який відповідає за обробку документації. Коли файл Markdown додається або змінюється, пакет містить скрипт `build`, який перебудовує список документації для кожної мови, генерує embeddings і зберігає їх у файлі `embeddings.json`.
|
|
184
184
|
|
|
185
185
|
Для фронтенду ми використовуємо застосунок Next.js, який надає:
|
|
186
186
|
|
|
@@ -237,7 +237,7 @@ User query :
|
|
|
237
237
|
|
|
238
238
|
## Подальші кроки
|
|
239
239
|
|
|
240
|
-
Цей
|
|
240
|
+
Цей проєкт, мінімальна реалізація. Але ви можете розширити його багатьма способами:
|
|
241
241
|
|
|
242
242
|
- MCP server → перемістити функцію пошуку по документації на MCP-сервер, щоб підключати документацію до будь-якого AI-помічника
|
|
243
243
|
|
|
@@ -255,7 +255,7 @@ User query :
|
|
|
255
255
|
|
|
256
256
|
## Чому це важливо поза межами документації
|
|
257
257
|
|
|
258
|
-
Цікаво не лише в чат-боті.
|
|
258
|
+
Цікаво не лише в чат-боті. Це, механізм зворотного зв'язку (feedback loop).
|
|
259
259
|
|
|
260
260
|
З RAG ви не просто відповідаєте на запити:
|
|
261
261
|
|
|
@@ -271,13 +271,13 @@ User query :
|
|
|
271
271
|
- Користувачі неодноразово просять інтеграцію, яку ви ще не підтримуєте
|
|
272
272
|
- Люди шукають терміни, що виявляють новий сценарій використання
|
|
273
273
|
|
|
274
|
-
|
|
274
|
+
Це, **product intelligence** прямо від ваших користувачів.
|
|
275
275
|
|
|
276
276
|
## Висновок
|
|
277
277
|
|
|
278
|
-
RAG
|
|
278
|
+
RAG, це один із найпростіших і найпотужніших способів зробити LLMs практичними. Поєднавши **retrieval + generation**, ви можете перетворити статичну документацію на **smart assistant** і, одночасно, отримувати безперервний потік insights про продукт.
|
|
279
279
|
|
|
280
|
-
Для мене цей проєкт показав, що RAG
|
|
280
|
+
Для мене цей проєкт показав, що RAG, це не просто технічний трюк. Це спосіб трансформувати документацію у:
|
|
281
281
|
|
|
282
282
|
- інтерактивну систему підтримки
|
|
283
283
|
- канал зворотного зв'язку
|
|
@@ -126,7 +126,7 @@ slugs:
|
|
|
126
126
|
- **react-intl / react-i18next**: Широка екосистема спільноти; для редакційних робочих процесів ви зазвичай використовуєте зовнішні платформи локалізації.
|
|
127
127
|
- **Intlayer**: Надає **безкоштовний візуальний редактор** та **опційний CMS** (зберігайте контент у Git або зовнішньо). Також пропонує **розширення для VSCode** для створення контенту та **переклад із допомогою ШІ** з використанням ваших власних ключів провайдера.
|
|
128
128
|
|
|
129
|
-
**Чому це важливо:** Вбудовані інструменти скорочують цикл між розробниками та авторами
|
|
129
|
+
**Чому це важливо:** Вбудовані інструменти скорочують цикл між розробниками та авторами контенту, менше допоміжного коду, менше залежностей від постачальників.
|
|
130
130
|
|
|
131
131
|
---
|
|
132
132
|
|
|
@@ -134,7 +134,7 @@ slugs:
|
|
|
134
134
|
|
|
135
135
|
- **Оберіть react-intl** якщо ви хочете **форматування повідомлень, орієнтоване на ICU**, з простим, відповідним стандартам API, і ваша команда комфортно підтримує каталоги та перевірки вручну.
|
|
136
136
|
- **Оберіть react-i18next** якщо вам потрібна **широта екосистеми i18next** (детектори, бекенди, плагін ICU, інтеграції) і ви готові до більшої конфігурації заради гнучкості.
|
|
137
|
-
- **Обирайте Intlayer** якщо ви цінуєте **component-scoped content**, **strict TypeScript**, **build-time guarantees**, **tree-shaking** та **batteries-included** редакторські
|
|
137
|
+
- **Обирайте Intlayer** якщо ви цінуєте **component-scoped content**, **strict TypeScript**, **build-time guarantees**, **tree-shaking** та **batteries-included** редакторські інструменти, особливо для **large, modular** React-додатків, design-systems тощо.
|
|
138
138
|
|
|
139
139
|
---
|
|
140
140
|
|
|
@@ -150,15 +150,15 @@ slugs:
|
|
|
150
150
|
|
|
151
151
|
## Зірки GitHub
|
|
152
152
|
|
|
153
|
-
GitHub
|
|
153
|
+
GitHub-зірки, це вагомий індикатор популярності проєкту, довіри спільноти та його довгострокової релевантності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проєкт корисним, стежать за його розвитком і ймовірно його приймуть. Для оцінки цінності проєкту зірки допомагають порівнювати популярність між альтернативами та дають уявлення про зростання екосистеми.
|
|
154
154
|
|
|
155
155
|
## [](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&aymericzip/intlayer)
|
|
156
156
|
|
|
157
157
|
## Висновок
|
|
158
158
|
|
|
159
|
-
Усі три бібліотеки ефективно локалізують React.
|
|
159
|
+
Усі три бібліотеки ефективно локалізують React. Відмінність, у тому, скільки **infrastructure** вам потрібно побудувати, щоб досягти **safe, scalable** setup:
|
|
160
160
|
|
|
161
|
-
- З **Intlayer** **модульний контент**, **сувора типізація TS**, **безпека на етапі збірки**, **tree-shaken bundles** та **редакційні
|
|
161
|
+
- З **Intlayer** **модульний контент**, **сувора типізація TS**, **безпека на етапі збірки**, **tree-shaken bundles** та **редакційні інструменти**, це налаштування за замовчуванням, а не рутинні завдання.
|
|
162
162
|
- Якщо ваша команда цінує **підтримуваність і швидкість** у multi-locale, компонентно-орієнтованих React-додатках, Intlayer сьогодні пропонує **найповніший** робочий процес для розробників і контенту.
|
|
163
163
|
|
|
164
164
|
Дивіться документ [«Чому Intlayer?»](https://intlayer.org/doc/why) для детальнішої інформації.
|
|
@@ -32,7 +32,7 @@ slugs:
|
|
|
32
32
|
|
|
33
33
|
<TOC/>
|
|
34
34
|
|
|
35
|
-
> **коротко**: Обидва можуть локалізувати Vue-додатки. Якщо вам потрібен **контент у межах компонента**, **строга типізація TypeScript**, **перевірки відсутніх ключів на етапі збірки**, **словники, оптимізовані для tree-shaking**, та вбудовані **помічники для роутера/SEO**, а також **Візуальний редактор та AI-переклади**, **Intlayer
|
|
35
|
+
> **коротко**: Обидва можуть локалізувати Vue-додатки. Якщо вам потрібен **контент у межах компонента**, **строга типізація TypeScript**, **перевірки відсутніх ключів на етапі збірки**, **словники, оптимізовані для tree-shaking**, та вбудовані **помічники для роутера/SEO**, а також **Візуальний редактор та AI-переклади**, **Intlayer**, більш повне та сучасне рішення.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
@@ -108,7 +108,7 @@ slugs:
|
|
|
108
108
|
|
|
109
109
|
### 5) Продуктивність та поведінка завантаження
|
|
110
110
|
|
|
111
|
-
- **vue-i18n**: Підтримує асинхронні повідомлення локалей; уникнення надмірного
|
|
111
|
+
- **vue-i18n**: Підтримує асинхронні повідомлення локалей; уникнення надмірного бандлінгу, на вашому боці (ретельно розділяйте каталоги).
|
|
112
112
|
- **Intlayer**: **Tree-shakes** під час збірки та **ліниво завантажує по кожному словнику/локалі**. Невикористовуваний контент не потрапляє в бандл.
|
|
113
113
|
|
|
114
114
|
**Чому це важливо:** Менші бандли та швидший старт для багатомовних Vue-додатків.
|
|
@@ -233,7 +233,7 @@ const { greeting } = useIntlayer("component-example");
|
|
|
233
233
|
- **Типобезпечне середовище**: Потужна конфігурація TS з автозаповненням.
|
|
234
234
|
- **Спрощене отримання контенту**: Єдиний хук/composable для отримання всього вмісту словника.
|
|
235
235
|
- **Організована кодова база**: 1 компонент = 1 словник у тій же папці.
|
|
236
|
-
- **Покращена маршрутизація**: Хелпери для **Vue Router/Nuxt
|
|
236
|
+
- **Покращена маршрутизація**: Хелпери для **Vue Router/Nuxt**, локалізовані шляхи та метадані.
|
|
237
237
|
- **Підтримка Markdown**: Імпорт віддалених/локальних Markdown-файлів для кожної локалі; робить frontmatter доступним у коді.
|
|
238
238
|
- **Безкоштовний Visual Editor & опційний CMS**: Створення контенту без платної платформи локалізації; синхронізація, дружня до Git.
|
|
239
239
|
- **Tree-shakable контент**: Постачається лише те, що використовується; підтримує lazy loading.
|
|
@@ -247,7 +247,7 @@ const { greeting } = useIntlayer("component-example");
|
|
|
247
247
|
## Коли вибирати який варіант?
|
|
248
248
|
|
|
249
249
|
- **Оберіть vue-i18n**, якщо ви хочете **стандартний підхід у Vue**, вам зручно самостійно керувати каталогами/просторами імен, і ваш додаток **малого або середнього розміру** (або ви вже покладаєтесь на Nuxt i18n).
|
|
250
|
-
- **Оберіть Intlayer**, якщо ви цінуєте **контент, прив'язаний до компонентів**, **строгий TypeScript**, **гарантії на етапі збірки**, **tree-shaking** та **batteries-included** інструменти для роутингу/SEO
|
|
250
|
+
- **Оберіть Intlayer**, якщо ви цінуєте **контент, прив'язаний до компонентів**, **строгий TypeScript**, **гарантії на етапі збірки**, **tree-shaking** та **batteries-included** інструменти для роутингу/SEO/редагування, особливо для **великих модульних кодових баз Vue/Nuxt**, дизайн-систем тощо.
|
|
251
251
|
|
|
252
252
|
---
|
|
253
253
|
|
|
@@ -263,7 +263,7 @@ const { greeting } = useIntlayer("component-example");
|
|
|
263
263
|
|
|
264
264
|
## Зірки GitHub
|
|
265
265
|
|
|
266
|
-
GitHub
|
|
266
|
+
GitHub-зірки, це вагомий індикатор популярності проєкту, довіри спільноти та його довгострокової релевантності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проєкт корисним, слідкують за його розвитком і, ймовірно, впровадять його. При оцінці вартості проєкту зірки допомагають порівняти динаміку прийняття між альтернативами та дають уявлення про зростання екосистеми.
|
|
267
267
|
|
|
268
268
|
[](https://www.star-history.com/#intlify/vue-i18n&aymericzip/intlayer)
|
|
269
269
|
|
|
@@ -23,7 +23,7 @@ slugs:
|
|
|
23
23
|
|
|
24
24
|
## Розуміння інтернаціоналізації (i18n)
|
|
25
25
|
|
|
26
|
-
**Інтернаціоналізація**, часто скорочено як **i18n
|
|
26
|
+
**Інтернаціоналізація**, часто скорочено як **i18n**,, це процес проєктування та підготовки застосунку для підтримки кількох мов, культур і регіональних конвенцій **без** значних змін у кодовій базі. Назва i18n походить від того, що між буквами **i** та **n** у слові "internationalization" є 18 літер.
|
|
27
27
|
|
|
28
28
|
## Чому i18n важливий
|
|
29
29
|
|
|
@@ -41,9 +41,9 @@ slugs:
|
|
|
41
41
|
|
|
42
42
|
## Інтернаціоналізація (i18n) vs. Локалізація (l10n)
|
|
43
43
|
|
|
44
|
-
**Інтернаціоналізація (i18n)
|
|
44
|
+
**Інтернаціоналізація (i18n)**, це процес проєктування вашого продукту так, щоб він міг легко підтримувати кілька мов і регіональних відмінностей. Наприклад, якщо ви створюєте вебсайт з урахуванням інтернаціоналізації, ви забезпечуєте підтримку різних наборів символів у текстових полях, відображення дат відповідно до локальних форматів і адаптацію макетів для розширення тексту при перекладі на інші мови.
|
|
45
45
|
|
|
46
|
-
**Локалізація (l10n)
|
|
46
|
+
**Локалізація (l10n)**, це робота, яка виконується після інтернаціоналізації. Вона полягає у перекладі вмісту та налаштуванні культурних деталей для задоволення потреб конкретної аудиторії. Наприклад, коли вебсайт вже інтернаціоналізовано, ви можете локалізувати його для французьких користувачів, переклавши весь текст, змінивши формат дати на день/місяць/рік і навіть підкоригувавши зображення або іконки, щоб вони краще відповідали французьким культурним нормам.
|
|
47
47
|
|
|
48
48
|
Підсумовуючи, інтернаціоналізація готує ваш продукт до глобального використання, тоді як локалізація адаптує його для конкретного ринку.
|
|
49
49
|
|
|
@@ -162,6 +162,6 @@ slugs:
|
|
|
162
162
|
|
|
163
163
|
## Висновок
|
|
164
164
|
|
|
165
|
-
Інтернаціоналізація (i18n)
|
|
165
|
+
Інтернаціоналізація (i18n), це більше, ніж просто технічне завдання; це **стратегічна інвестиція**, яка дозволяє вашому програмному забезпеченню буквально говорити мовою ваших користувачів. Абстрагуючи локально-залежні елементи, враховуючи мовні та культурні відмінності та плануючи майбутнє розширення, ви надаєте своєму продукту змогу процвітати на глобальному ринку.
|
|
166
166
|
|
|
167
167
|
Чи ви створюєте мобільний застосунок, SaaS-платформу або корпоративний інструмент, **i18n гарантує, що ваш продукт зможе адаптуватиись і приваблювати користувачів із усього світу**, без потреби постійно переписувати код. Використовуючи best practices, надійні frameworks і continuous localization strategies, розробники та продуктові команди можуть доставляти **істинно глобальний** користувацький досвід програмного забезпечення.
|
|
@@ -20,7 +20,7 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# Lập Luận Ủng Hộ và Phản Đối i18n Dựa trên Trình Biên Dịch
|
|
22
22
|
|
|
23
|
-
Nếu bạn đã xây dựng các ứng dụng web hơn một thập kỷ, bạn biết rằng Quốc tế hóa (i18n) luôn là một điểm gây khó khăn. Đây thường là công việc không ai muốn làm
|
|
23
|
+
Nếu bạn đã xây dựng các ứng dụng web hơn một thập kỷ, bạn biết rằng Quốc tế hóa (i18n) luôn là một điểm gây khó khăn. Đây thường là công việc không ai muốn làm, trích xuất chuỗi, quản lý các tập tin JSON, và lo lắng về các quy tắc số nhiều.
|
|
24
24
|
|
|
25
25
|
Gần đây, một làn sóng mới của các công cụ i18n **"dựa trên trình biên dịch"** đã xuất hiện, hứa hẹn sẽ làm biến mất nỗi đau này. Lời chào hàng rất hấp dẫn: **Chỉ cần viết văn bản trong các component của bạn, và để công cụ build lo phần còn lại.** Không cần key, không cần import, chỉ có phép thuật.
|
|
26
26
|
|