@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
|
@@ -35,17 +35,17 @@ slugs:
|
|
|
35
35
|
6. **Опыт разработчика (DX), инструменты и сопровождение**
|
|
36
36
|
7. **SEO и масштабируемость для крупных проектов**
|
|
37
37
|
|
|
38
|
-
> **Кратко**: Все три решения могут локализовать приложение Next.js. Если вам нужен **контент, ограниченный компонентом**, **строгие типы TypeScript**, **проверки отсутствующих ключей во время сборки**, **дерево-шейкнутые словари** и **первоклассная поддержка App Router + SEO помощников**, то **Intlayer
|
|
38
|
+
> **Кратко**: Все три решения могут локализовать приложение Next.js. Если вам нужен **контент, ограниченный компонентом**, **строгие типы TypeScript**, **проверки отсутствующих ключей во время сборки**, **дерево-шейкнутые словари** и **первоклассная поддержка App Router + SEO помощников**, то **Intlayer**, самый полный и современный выбор.
|
|
39
39
|
|
|
40
|
-
> Одна из распространённых ошибок
|
|
40
|
+
> Одна из распространённых ошибок разработчиков, считать, что `next-intl`, это версия `react-intl` для Next.js. Это не так, `next-intl` поддерживается [Amann](https://github.com/amannn), а `react-intl` поддерживается [FormatJS](https://github.com/formatjs/formatjs).
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
44
44
|
## Кратко
|
|
45
45
|
|
|
46
|
-
- **next-intl
|
|
47
|
-
- **next-i18next
|
|
48
|
-
- **Intlayer
|
|
46
|
+
- **next-intl**, лёгкое и простое форматирование сообщений с надёжной поддержкой Next.js. Обычно используются централизованные каталоги; опыт разработчика (DX) простой, но безопасность и масштабное сопровождение в основном остаются вашей ответственностью.
|
|
47
|
+
- **next-i18next**, i18next в обёртке Next.js. Зрелая экосистема и функции через плагины (например, ICU), но конфигурация может быть многословной, а каталоги имеют тенденцию к централизации по мере роста проектов.
|
|
48
|
+
- **Intlayer**, компонентно-ориентированная модель контента для Next.js, **строгая типизация TS**, **проверки во время сборки**, **tree-shaking**, **встроенные middleware и SEO-помощники**, опциональный **Визуальный редактор/CMS** и **переводы с помощью ИИ**.
|
|
49
49
|
|
|
50
50
|
---
|
|
51
51
|
|
|
@@ -114,7 +114,7 @@ Next.js предоставляет встроенную поддержку ин
|
|
|
114
114
|
|
|
115
115
|
## Размеры бандлов и зависимости
|
|
116
116
|
|
|
117
|
-
После сборки приложения,
|
|
117
|
+
После сборки приложения, бандл, это JavaScript, который браузер загрузит для отображения страницы. Размер бандла, следовательно, важен для производительности приложения.
|
|
118
118
|
|
|
119
119
|
В контексте бандла многоязычного приложения важны два компонента:
|
|
120
120
|
|
|
@@ -906,7 +906,7 @@ const ServerComponent = ({ count }: { count: number }) => {
|
|
|
906
906
|
|
|
907
907
|
### Метаданные / Sitemap / Robots
|
|
908
908
|
|
|
909
|
-
Перевод
|
|
909
|
+
Перевод контента, это отлично. Но часто забывают, что главная цель интернационализации, сделать ваш сайт более видимым для всего мира. I18n, это невероятный рычаг для улучшения видимости вашего сайта.
|
|
910
910
|
|
|
911
911
|
Вот список лучших практик по многоязычному SEO.
|
|
912
912
|
|
|
@@ -1211,12 +1211,12 @@ export default robots;
|
|
|
1211
1211
|
|
|
1212
1212
|
**Intlayer**
|
|
1213
1213
|
|
|
1214
|
-
- создан для современного Next.js, с модульным контентом, типобезопасностью, инструментами и меньшим количеством шаблонного кода. Если вы цените **контент, ограниченный компонентом**, **строгий TypeScript**, **гарантии на этапе сборки**, **tree-shaking** и **встроенные** маршрутизацию/SEO/редакторские
|
|
1214
|
+
- создан для современного Next.js, с модульным контентом, типобезопасностью, инструментами и меньшим количеством шаблонного кода. Если вы цените **контент, ограниченный компонентом**, **строгий TypeScript**, **гарантии на этапе сборки**, **tree-shaking** и **встроенные** маршрутизацию/SEO/редакторские инструменты, особенно для **Next.js App Router**, дизайн-систем и **больших, модульных кодовых баз**.
|
|
1215
1215
|
|
|
1216
1216
|
</Column>
|
|
1217
1217
|
</Columns>
|
|
1218
1218
|
|
|
1219
|
-
Если вы предпочитаете минимальную настройку и готовы к некоторой ручной интеграции, next-intl
|
|
1219
|
+
Если вы предпочитаете минимальную настройку и готовы к некоторой ручной интеграции, next-intl, хороший выбор. Если вам нужны все функции и вы не боитесь сложности, подойдет next-i18next. Но если вы хотите современное, масштабируемое, модульное решение с встроенными инструментами, Intlayer стремится предоставить это из коробки.
|
|
1220
1220
|
|
|
1221
1221
|
> **Альтернатива для корпоративных команд**: Если вам нужно проверенное решение, которое отлично работает с устоявшимися платформами локализации, такими как **Crowdin**, **Phrase** или другими профессиональными системами управления переводами, рассмотрите **next-intl** или **next-i18next** за их зрелую экосистему и проверенные интеграции.
|
|
1222
1222
|
|
|
@@ -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">À propos</a>` вместо ссылки на стандартную `/about`.
|
|
56
56
|
|
|
57
|
-
Это простые
|
|
57
|
+
Это простые шаги, но их пропуск может стоить вам видимости.
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
@@ -354,8 +354,8 @@ export default robots;
|
|
|
354
354
|
|
|
355
355
|
## Заключение
|
|
356
356
|
|
|
357
|
-
Правильная реализация i18n в Next.js
|
|
358
|
-
Настройка hreflang, карт сайта и правил для robots
|
|
357
|
+
Правильная реализация i18n в Next.js, это не просто перевод текста, а обеспечение того, чтобы поисковые системы и пользователи точно знали, какую версию вашего контента показывать.
|
|
358
|
+
Настройка hreflang, карт сайта и правил для robots, это то, что превращает переводы в реальную SEO-ценность.
|
|
359
359
|
|
|
360
360
|
Хотя next-intl и next-i18next предоставляют надежные способы для этого, они обычно требуют много ручной настройки, чтобы поддерживать согласованность между локалями.
|
|
361
361
|
|
|
@@ -367,4 +367,4 @@ export default robots;
|
|
|
367
367
|
|
|
368
368
|
Он разработан специально для Next.js с нуля, поэтому вы тратите меньше времени на отладку конфигурации и больше времени на выпуск продукта.
|
|
369
369
|
|
|
370
|
-
Если ваша
|
|
370
|
+
Если ваша цель, не просто переводить, а масштабировать многоязычное SEO без лишних сложностей, Intlayer предоставляет вам самое чистое и перспективное решение.
|
|
@@ -17,7 +17,7 @@ slugs:
|
|
|
17
17
|
|
|
18
18
|
# По-компонентный vs централизованный i18n
|
|
19
19
|
|
|
20
|
-
Подход по
|
|
20
|
+
Подход по компонентам, не новое понятие. Например, в экосистеме Vue `vue-i18n` поддерживает [i18n SFC (Single File Component)](https://vue-i18n.intlify.dev/guide/advanced/sfc.html). Nuxt также предлагает [переводы на уровне компонента](https://i18n.nuxtjs.org/docs/guide/per-component-translations), а Angular использует похожий паттерн через свои [Feature Modules](https://v17.angular.io/guide/feature-modules).
|
|
21
21
|
|
|
22
22
|
Даже в Flutter-приложении часто встречается следующий паттерн:
|
|
23
23
|
|
|
@@ -59,7 +59,7 @@ extension Localization on String {
|
|
|
59
59
|
|
|
60
60
|
**Гранулярный подход** (intlayer, inlang)
|
|
61
61
|
|
|
62
|
-
- более тонко настраивает получение
|
|
62
|
+
- более тонко настраивает получение контента, по ключу или по компоненту.
|
|
63
63
|
|
|
64
64
|
</Column>
|
|
65
65
|
</Columns>
|
|
@@ -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
|
- **Производительность:**
|
|
103
103
|
При каждом повторном рендере каждый ваш компонент гидратируется массивной JSON‑нагрузкой, что негативно влияет на реактивность приложения по мере его роста.
|
|
@@ -54,7 +54,7 @@ RAG стал популярным подходом не случайно: это
|
|
|
54
54
|
- Вы видите появляющиеся запросы на новые функции.
|
|
55
55
|
- Вы замечаете закономерности, которые могут даже направлять стратегию продукта.
|
|
56
56
|
|
|
57
|
-
Таким образом, RAG
|
|
57
|
+
Таким образом, RAG, это не просто инструмент поддержки. Это также **движок для обнаружения продукта**.
|
|
58
58
|
|
|
59
59
|
## Как работает конвейер RAG
|
|
60
60
|
|
|
@@ -95,7 +95,7 @@ RAG стал популярным подходом не случайно: это
|
|
|
95
95
|
|
|
96
96
|
## Шаг 3: Генерация эмбеддингов
|
|
97
97
|
|
|
98
|
-
После разбиения документов на чанки мы генерируем
|
|
98
|
+
После разбиения документов на чанки мы генерируем **эмбеддинги**, векторы высокой размерности, представляющие каждый чанк.
|
|
99
99
|
|
|
100
100
|
Я использовал модель OpenAI text-embedding-3-large, но вы можете использовать любую современную модель эмбеддингов.
|
|
101
101
|
|
|
@@ -109,7 +109,7 @@ RAG стал популярным подходом не случайно: это
|
|
|
109
109
|
];
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
Каждый
|
|
112
|
+
Каждый вектор, это математический отпечаток текста, позволяющий выполнять поиск по сходству.
|
|
113
113
|
|
|
114
114
|
## Шаг 4: Индексация и хранение эмбеддингов
|
|
115
115
|
|
|
@@ -159,7 +159,7 @@ RAG стал популярным подходом не случайно: это
|
|
|
159
159
|
|
|
160
160
|
## Сколько это стоит?
|
|
161
161
|
|
|
162
|
-
Одно из распространённых возражений против RAG
|
|
162
|
+
Одно из распространённых возражений против RAG, стоимость. На практике это удивительно дешево:
|
|
163
163
|
|
|
164
164
|
- Генерация эмбеддингов для ~200 документов занимает около **5 минут** и стоит **1–2 евро**.
|
|
165
165
|
- Функция поиска по документации абсолютно бесплатна.
|
|
@@ -176,7 +176,7 @@ RAG стал популярным подходом не случайно: это
|
|
|
176
176
|
- Фронтенд: Next.js / React / Tailwind CSS
|
|
177
177
|
- Бэкенд: Node.js API route / OpenAI API
|
|
178
178
|
|
|
179
|
-
Пакет `@smart-doc/docs
|
|
179
|
+
Пакет `@smart-doc/docs`, это пакет на TypeScript, который обрабатывает документацию. Когда добавляется или изменяется markdown-файл, пакет включает скрипт `build`, который перестраивает список документации на каждом языке, генерирует embeddings и сохраняет их в файл `embeddings.json`.
|
|
180
180
|
|
|
181
181
|
Для фронтенда мы используем приложение Next.js, которое предоставляет:
|
|
182
182
|
|
|
@@ -193,7 +193,7 @@ RAG стал популярным подходом не случайно: это
|
|
|
193
193
|
Системная подсказка:
|
|
194
194
|
|
|
195
195
|
```txt
|
|
196
|
-
|
|
196
|
+
Вы, полезный помощник, который может отвечать на вопросы по документации Intlayer.
|
|
197
197
|
|
|
198
198
|
Связанные фрагменты:
|
|
199
199
|
|
|
@@ -251,7 +251,7 @@ docUrl: "https://example.com/docs/ru/another-doc"
|
|
|
251
251
|
|
|
252
252
|
## Почему это важно не только для документации
|
|
253
253
|
|
|
254
|
-
Интересная
|
|
254
|
+
Интересная часть, это не просто чат-бот. Это **обратная связь**.
|
|
255
255
|
|
|
256
256
|
С RAG вы не просто отвечаете:
|
|
257
257
|
|
|
@@ -271,9 +271,9 @@ docUrl: "https://example.com/docs/ru/another-doc"
|
|
|
271
271
|
|
|
272
272
|
## Заключение
|
|
273
273
|
|
|
274
|
-
RAG
|
|
274
|
+
RAG, один из самых простых и мощных способов сделать LLM практичными. Объединив **извлечение + генерацию**, вы можете превратить статичную документацию в **умного помощника** и одновременно получить непрерывный поток инсайтов о продукте.
|
|
275
275
|
|
|
276
|
-
Для меня этот проект показал, что RAG
|
|
276
|
+
Для меня этот проект показал, что RAG, это не просто технический трюк. Это способ преобразовать документацию в:
|
|
277
277
|
|
|
278
278
|
- интерактивную систему поддержки
|
|
279
279
|
- канал обратной связи
|
|
@@ -23,7 +23,7 @@ slugs:
|
|
|
23
23
|
|
|
24
24
|
## Понимание Интернационализации (i18n)
|
|
25
25
|
|
|
26
|
-
**Интернационализация**, часто сокращаемая как **i18n**,
|
|
26
|
+
**Интернационализация**, часто сокращаемая как **i18n**, это процесс проектирования и подготовки приложения для поддержки нескольких языков, культур и региональных норм **без** значительных изменений в кодовой базе. Название i18n происходит от того, что между **i** и **n** в слове "интернационализация" находится 18 букв.
|
|
27
27
|
|
|
28
28
|
## Почему i18n имеет значение
|
|
29
29
|
|
|
@@ -20,7 +20,7 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# Derleyici Tabanlı i18n İçin ve Karşı Argümanlar
|
|
22
22
|
|
|
23
|
-
On yıldan fazla süredir web uygulamaları geliştiriyorsanız, Uluslararasılaştırmanın (i18n) her zaman bir sürtüşme noktası olduğunu bilirsiniz. Genellikle kimsenin yapmak istemediği bir görevdir
|
|
23
|
+
On yıldan fazla süredir web uygulamaları geliştiriyorsanız, Uluslararasılaştırmanın (i18n) her zaman bir sürtüşme noktası olduğunu bilirsiniz. Genellikle kimsenin yapmak istemediği bir görevdir, metinleri çıkarmak, JSON dosyalarını yönetmek ve çoğul kurallarıyla uğraşmak.
|
|
24
24
|
|
|
25
25
|
Son zamanlarda, bu acıyı ortadan kaldırmayı vaat eden yeni bir **"Derleyici tabanlı" i18n araçları** dalgası ortaya çıktı. Sunum çok cazip: **Sadece bileşenlerinizde metni yazın ve geri kalanını derleme aracı halletsin.** Anahtar yok, import yok, sadece sihir.
|
|
26
26
|
|
|
@@ -205,7 +205,7 @@ Peki, hangisini seçmelisiniz?
|
|
|
205
205
|
Derleyici tabanlı yaklaşım geçerli bir seçimdir. Çok hızlı ilerlemenizi sağlar. Dosya yapıları veya anahtarlar hakkında endişelenmenize gerek yoktur. Sadece inşa edersiniz. Teknik borç, "Gelecekteki Siz" için bir sorundur.
|
|
206
206
|
|
|
207
207
|
**Eğer Junior Geliştiriciyseniz veya optimizasyona önem vermiyorsanız:**
|
|
208
|
-
En az manuel yönetim istiyorsanız, derleyici tabanlı yaklaşım muhtemelen en iyisidir. Anahtarları veya çeviri dosyalarını kendiniz yönetmenize gerek kalmaz
|
|
208
|
+
En az manuel yönetim istiyorsanız, derleyici tabanlı yaklaşım muhtemelen en iyisidir. Anahtarları veya çeviri dosyalarını kendiniz yönetmenize gerek kalmaz, sadece metni yazarsınız ve derleyici geri kalanını otomatikleştirir. Bu, kurulum çabasını ve manuel adımlara bağlı yaygın i18n hatalarını azaltır.
|
|
209
209
|
|
|
210
210
|
**Eğer zaten binlerce bileşeni yeniden düzenlemeyi gerektiren mevcut bir projeyi uluslararasılaştırıyorsanız:**
|
|
211
211
|
Derleyici tabanlı bir yaklaşım burada pragmatik bir seçim olabilir. İlk çıkarım aşaması haftalar veya aylar süren manuel çalışmayı kurtarabilir. Ancak, Intlayer'ın `transform` komutu gibi bir aracı kullanmayı düşünün; bu araç dizeleri çıkarabilir ve bunları açık beyan edici içerik deklarasyonlarına dönüştürebilir. Bu, otomasyon hızını sağlarken, beyan edici yaklaşımın güvenliği ve taşınabilirliğini korur. İki dünyanın en iyisini elde edersiniz: uzun vadeli mimari borç olmadan hızlı ilk geçiş.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-02-26
|
|
3
|
+
updatedAt: 2026-02-26
|
|
4
|
+
title: "i18n Anlamı: Uluslararasılaştırma Nedir ve Neden Önemlidir?"
|
|
5
|
+
description: "Yazılım geliştirmede gerçek i18n anlamını keşfedin. Uluslararasılaştırmanın ne olduğunu, neden i18n olarak kısaltıldığını ve küresel erişimi nasıl etkilediğini öğrenin."
|
|
6
|
+
keywords:
|
|
7
|
+
- i18n anlamı
|
|
8
|
+
- i18n ne demek
|
|
9
|
+
- i18n
|
|
10
|
+
- uluslararasılaştırma
|
|
11
|
+
- yerelleştirme
|
|
12
|
+
- blog
|
|
13
|
+
- web geliştirme
|
|
14
|
+
slugs:
|
|
15
|
+
- blog
|
|
16
|
+
- i18n-meaning
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# i18n Anlamı: Uluslararasılaştırma Nedir ve Neden Önemlidir?
|
|
20
|
+
|
|
21
|
+

|
|
22
|
+
|
|
23
|
+
## "i18n Anlamı"nı Anlamak
|
|
24
|
+
|
|
25
|
+
Yazılım geliştirme, web tasarımı veya dijital pazarlama ile ilgileniyorsanız, muhtemelen **i18n** terimiyle karşılaşmışsınızdır. Gerçek **i18n anlamı**, basitçe **internationalization** (uluslararasılaştırma) kelimesi için bir numeronimdir (sayı-ad).
|
|
26
|
+
|
|
27
|
+
Peki neden "i18n"? Kısaltma, "internationalization" kelimesinin ilk harfini (**i**), son harfini (**n**) alarak ve aradaki harf sayısını (**18**) sayarak oluşturulur. Bu kural, teknoloji endüstrisinde uzun ve hantal terimleri kısaltmak için sıkça kullanılır (yerelleştirme için kullanılan **l10n** bir başka yaygın örnektir).
|
|
28
|
+
|
|
29
|
+
Teknik terimlerle, **i18n anlamı**, temel kaynak kodunda önemli mühendislik değişiklikleri gerektirmeden birden fazla dili, bölgesel normu ve kültürel kuralı kolayca destekleyebilmesi için bir yazılım uygulamasının, web sitesinin veya ürünün tasarlanması ve hazırlanması sürecini ifade eder.
|
|
30
|
+
|
|
31
|
+
## Uygulamada i18n'in Temel Anlamı
|
|
32
|
+
|
|
33
|
+
i18n anlamını anlamak, sadece kısaltmanın ne anlama geldiğini bilmenin ötesine geçer. Arkasındaki mimari ilkeleri tanımakla ilgilidir. Bir proje düzgün bir şekilde "uluslararasılaştırıldığında", bu, geliştiricilerin içeriği koddan ayırdığı anlamına gelir.
|
|
34
|
+
|
|
35
|
+
Metni uygulamaya şu şekilde doğrudan kodlamak yerine:
|
|
36
|
+
|
|
37
|
+
```javascript
|
|
38
|
+
<button>Gönder</button>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
i18n uyumlu bir uygulama çeviri anahtarları veya değişkenleri kullanır:
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
<button>{t("submit_button")}</button>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Bu, uygulamanın bileşeni yeniden yazmadan, kullanıcının tercihlerine bağlı olarak doğru dil sözlüğünü (örneğin İngilizce, İspanyolca, Japonca) dinamik olarak yükleyebilmesini sağlar.
|
|
48
|
+
|
|
49
|
+
## i18n Anlamı İşletmeniz İçin Neden Önemlidir?
|
|
50
|
+
|
|
51
|
+
**i18n anlamı**nı kavramak sadece ilk adımdır. Bunun modern dijital ürünler için neden bu kadar kritik olduğunu anlamak, başarılı küresel uygulamaları yerel olanlardan ayıran şeydir.
|
|
52
|
+
|
|
53
|
+
### Dil Engellerini Aşmak
|
|
54
|
+
|
|
55
|
+
i18n anlamının en belirgin uygulaması çeviridir. Uygulamanızı ilk günden itibaren uluslararasılaştırarak, arayüzünüzü düzinelerce dile sorunsuz bir şekilde çevirmenize olanak tanıyan bir temel oluşturursunuz. Bu, yeni küresel pazarlara açılmak için gereklidir.
|
|
56
|
+
|
|
57
|
+
### Kültürel ve Bölgesel Adaptasyon
|
|
58
|
+
|
|
59
|
+
i18n anlamı dilin ötesine geçer. Gerçek uluslararasılaştırma şunları destekler:
|
|
60
|
+
|
|
61
|
+
- **Tarih ve Saat Formatları:** ABD kullanıcıları için `AA/GG/YYYY` ile Avrupalı kullanıcılar için `GG.AA.YYYY` gösterimi.
|
|
62
|
+
- **Sayı Formatlama:** ABD'deki `1,000.50`nin Avrupa'nın bazı bölgelerinde genellikle `1.000,50` olarak yazıldığını tanımak.
|
|
63
|
+
- **Para Birimleri:** `$99.00` ile `99,00 ₺` adaptasyonu.
|
|
64
|
+
- **Metin Yönü:** Arapça ve İbranice gibi Sağdan Sola (RTL) dilleri desteklemek.
|
|
65
|
+
|
|
66
|
+
### Gelişmiş SEO Performansı
|
|
67
|
+
|
|
68
|
+
Arama motorları, kullanıcının diline ve bölgesine uygun içeriğe öncelik verir. i18n anlamının arkasındaki ilkeleri uygulamak, web sitenizi birden fazla ülkede daha üst sıralarda yer alacak şekilde yapılandırmanıza (örneğin `hreflang` etiketlerini, yerelleştirilmiş URL'leri kullanarak) olanak tanır ve organik küresel trafik sağlar.
|
|
69
|
+
|
|
70
|
+
## Uluslararasılaştırma (i18n) vs. Yerelleştirme (l10n)
|
|
71
|
+
|
|
72
|
+
**i18n anlamı**nı tam olarak kavramak için, onu **l10n** (yerelleştirme) kavramından ayırmanız gerekir.
|
|
73
|
+
|
|
74
|
+
- **i18n (Uluslararasılaştırma):** Uyarlamayı mümkün kılan _teknik hazırlık_ ve yapısal tasarım çerçevesidir. Örnekler: UTF-8 kodlama desteği, metin dizelerinin soyutlanması ve uzun kelimeler için kullanıcı arayüzü düzenlerinin esnek hale getirilmesi.
|
|
75
|
+
- **l10n (Yerelleştirme):** Ürünün belirli bir bölge (locale) için _fiili uyarlamasıdır_. Örnekler: İngilizce metnin Türkçeye çevrilmesi, görsellerin kültürel normlara uyacak şekilde ayarlanması ve yerel para biriminin ayarlanması.
|
|
76
|
+
|
|
77
|
+
**i18n**'i, direksiyonun hem sol hem de sağ tarafa taşınabildiği bir araba inşa etmek gibi düşünün. **l10n**, arabayı İngiltere'de satmak için direksiyonu gerçekten sağ tarafa taşıma eylemidir.
|
|
78
|
+
|
|
79
|
+
## i18n Anlamı Hakkında Sık Yapılan Yanlışlar
|
|
80
|
+
|
|
81
|
+
1. **"i18n sadece çeviri demektir."**
|
|
82
|
+
Çeviri, nihai sonucun büyük bir parçası olsa da, gerçek i18n anlamı formatlamayı, çoğullaştırma kurallarını, metin yönünü ve mimari hazırlığı kapsar.
|
|
83
|
+
2. **"i18n'i daha sonra ekleyebiliriz."**
|
|
84
|
+
Bir uygulamayı sonradan uluslararasılaştırmaya çalışmak oldukça zordur. Doğrudan kodlanmış dizeler, katı kullanıcı arayüzü bileşenleri ve uyumsuz tarih formatları büyük bir teknik borca yol açabilir. En baştan i18n planlaması yapmak temel bir en iyi uygulamadır.
|
|
85
|
+
|
|
86
|
+
## i18n Nasıl Etkili Bir Şekilde Uygulanır?
|
|
87
|
+
|
|
88
|
+

|
|
89
|
+
|
|
90
|
+
Artık gerçek **i18n anlamı**nı belirlediğimize göre, bunu nasıl uygularsınız?
|
|
91
|
+
|
|
92
|
+
- **Yerleşik bir i18n framework'ü kullanın:** Tekerleği yeniden icat etmeyin. İster React, ister Vue, Next.js veya saf JavaScript kullanıyor olun; ağır işleri (çoğullaştırma ve enterpolasyon gibi) halletmek için tasarlanmış özel i18n kütüphaneleri mevcuttur.
|
|
93
|
+
- **Kullanıcıya yönelik tüm metinleri soyutlayın:** Kullanıcı arayüzü bileşenlerinizde doğrudan kodlanmış metin bulunmadığından emin olun.
|
|
94
|
+
- **Güçlü bir çeviri yönetim sistemi kullanın:** **Intlayer** gibi araçlar geliştiriciler ve çevirmenler arasındaki boşluğu doldurur. Intlayer, kod tabanınızla sıkı bir şekilde entegre olan bir headless CMS gibi çalışarak, içerik yöneticilerinin bir geliştiriciden yeni bir build almasına gerek kalmadan çevirileri görsel olarak güncellemesine olanak tanır.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### Teknoloji Başına i18n Kütüphane ve Araç Listesini Görüntüleyin
|
|
99
|
+
|
|
100
|
+
Teknoloji başına i18n kütüphane ve araç listesi arıyorsanız, aşağıdaki kaynaklara göz atın:
|
|
101
|
+
|
|
102
|
+
### İçerik Yönetim Sistemleri (CMS) İçin
|
|
103
|
+
|
|
104
|
+
- WordPress: [i18n kütüphane ve araç listesini görüntüleyin](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/list_i18n_technologies/CMS/wordpress.md)
|
|
105
|
+
- Wix: [i18n kütüphane ve araç listesini görüntüleyin](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/list_i18n_technologies/CMS/wix.md)
|
|
106
|
+
- Drupal: [i18n kütüphane ve araç listesini görüntüleyin](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/list_i18n_technologies/CMS/drupal.md)
|
|
107
|
+
|
|
108
|
+
### JavaScript Uygulamaları (Frontend) İçin
|
|
109
|
+
|
|
110
|
+
- React: [i18n kütüphane ve araç listesini görüntüleyin](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/list_i18n_technologies/frameworks/react.md)
|
|
111
|
+
- Angular: [i18n kütüphane ve araç listesini görüntüleyin](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/list_i18n_technologies/frameworks/angular.md)
|
|
112
|
+
- Vue: [i18n kütüphane ve araç listesini görüntüleyin](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/list_i18n_technologies/frameworks/vue.md)
|
|
113
|
+
- Svelte: [i18n kütüphane ve araç listesini görüntüleyin](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/list_i18n_technologies/frameworks/svelte.md)
|
|
114
|
+
- React Native: [i18n kütüphane ve araç listesini görüntüleyin](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/list_i18n_technologies/frameworks/react-native.md)
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Sonuç
|
|
119
|
+
|
|
120
|
+
**i18n anlamı**, küresel bir etki hedefleyen her modern dijital işletme için temel bir kavramdır. Sadece "uluslararasılaştırma" için kullanılan ilginç bir teknik kısaltma olmanın çok ötesinde olan i18n, yazılımınızı çeşitli dillere, kültürlere ve bölgesel standartlara sorunsuz bir şekilde uyarlamak için gereken teknik mimariyi temsil eder.
|
|
121
|
+
|
|
122
|
+
i18n anlamını anlayarak ve ilkelerini geliştirme döngünüzün başında benimseyerek, önemli mühendislik zamanından tasarruf eder, gelecekteki teknik borçları önler ve uygulamanızın dünyanın her yerindeki kullanıcılara yerel ve sıcak bir deneyim sunmasını sağlarsınız.
|
|
123
|
+
|
|
124
|
+
İster bir mobil uygulama, ister bir SaaS platformu veya bir kurumsal araç geliştiriyor olun, gerçek i18n anlamını benimsemek, sürekli kod revizyonuna gerek kalmadan ürününüzün dünyanın her yerindeki kullanıcılara uyum sağlamasını ve onları çekmesini sağlar. En iyi uygulamalardan, güçlü framework'lerden ve Intlayer gibi platformlarla yerelleştirilmiş içerik beyanından yararlanarak ürün ekipleri gerçekten küresel yazılım deneyimleri sunabilir.
|
|
@@ -37,11 +37,11 @@ Başarısını "developer-friendly" bir TMS olmasına borçludur; string'lerin
|
|
|
37
37
|
|
|
38
38
|
# Intlayer
|
|
39
39
|
|
|
40
|
-
Intlayer öncelikle bir i18n çözümü olarak bilinir, ancak aynı zamanda bir headless CMS ile entegre olur. String'leriniz için büyük ölçüde harici bir senkronizasyon aracı olarak hareket eden Lokalise'in aksine, Intlayer kodunuza daha yakın konumlanır. Tüm
|
|
40
|
+
Intlayer öncelikle bir i18n çözümü olarak bilinir, ancak aynı zamanda bir headless CMS ile entegre olur. String'leriniz için büyük ölçüde harici bir senkronizasyon aracı olarak hareket eden Lokalise'in aksine, Intlayer kodunuza daha yakın konumlanır. Tüm yığını, bundling layer'dan uzaktan içerik teslimine kadar, kontrol ederek daha pürüzsüz ve daha verimli bir içerik akışı sağlar.
|
|
41
41
|
|
|
42
42
|
## AI'den sonra paradigmalar neden değişti?
|
|
43
43
|
|
|
44
|
-
Lokalise, yerelleştirmenin "DevOps"
|
|
44
|
+
Lokalise, yerelleştirmenin "DevOps" tarafını, string'leri otomatik olarak taşımayı, mükemmelleştirdi. Ancak Büyük Dil Modelleri (LLM'lerin) gelişi yerelleştirmenin paradigmalarını kökten değiştirdi. Dar boğaz artık _taşımak_ değil; _üretmek_.
|
|
45
45
|
|
|
46
46
|
LLM'lerle çeviri maliyeti sert şekilde düştü ve hız katlanarak arttı. Yerelleştirme ekibinin rolü "çevirmenleri yönetmek"ten "bağlamı ve incelemeyi yönetmek"e doğru kayıyor.
|
|
47
47
|
|
|
@@ -57,7 +57,7 @@ Lokalise sık sık keskin fiyatlandırma kademeleri nedeniyle eleştirilir; bir
|
|
|
57
57
|
|
|
58
58
|
1. **Maliyet Verimliliği:** Büyümeyi cezalandıran "anahtar başına" veya "koltuk başına" fiyatlandırma modeline bağlı kalmazsınız. Intlayer ile kendi çıkarımınızı (BYO Key) ödersiniz; bu, maliyetlerinizin platformun marjlarıyla değil, gerçek kullanımınızla doğrudan ölçeklendiği anlamına gelir.
|
|
59
59
|
2. **İş Akışı Entegrasyonu:** Lokalise dosyaların senkronize edilmesini gerektirir (otomatik olsa bile); Intlayer ise bileşen dosyalarınızda (React, Next.js, vb.) doğrudan Declarative Content tanımına izin verir. Bu, bağlamı kullanıcı arayüzünün hemen yanına yerleştirir ve hataları azaltır.
|
|
60
|
-
3. **Görsel Yönetim:** Intlayer, çalışan uygulamanızla doğrudan etkileşime giren bir görsel düzenleyici sağlar; böylece düzenlemeler tam görsel bağlam içinde yapılır
|
|
60
|
+
3. **Görsel Yönetim:** Intlayer, çalışan uygulamanızla doğrudan etkileşime giren bir görsel düzenleyici sağlar; böylece düzenlemeler tam görsel bağlam içinde yapılır, bu, geleneksel TMS dosya listelerinde sıklıkla kopuktur.
|
|
61
61
|
|
|
62
62
|
# Yan Yana Karşılaştırma
|
|
63
63
|
|
|
@@ -75,6 +75,6 @@ Intlayer, içeriğinizin derin entegrasyonuna olanak veren eksiksiz, hepsi bir a
|
|
|
75
75
|
|
|
76
76
|
Ayrıca Intlayer, Feature Flag veya A/B testing aracı olarak kullanılabilir ve farklı içerik varyasyonlarını dinamik olarak test etmenizi sağlar. Lokalise kelimeleri doğru hale getirmeye odaklanırken, Intlayer dinamik veri sunumu yoluyla _kullanıcı deneyimi_ ni doğru hale getirmeye odaklanır.
|
|
77
77
|
|
|
78
|
-
Lokalise, mobil uygulamalar (iOS/Android) ve tasarım odaklı iş akışları için mükemmeldir. Ancak Next.js veya React gibi framework'leri kullanan modern web uygulamaları için Intlayer'ın `.js`, `.ts` ve JSON sözlüklerini yerel olarak işlemesi, içerik için tam TypeScript desteği ile üstün bir geliştirici deneyimi (DX) sunar
|
|
78
|
+
Lokalise, mobil uygulamalar (iOS/Android) ve tasarım odaklı iş akışları için mükemmeldir. Ancak Next.js veya React gibi framework'leri kullanan modern web uygulamaları için Intlayer'ın `.js`, `.ts` ve JSON sözlüklerini yerel olarak işlemesi, içerik için tam TypeScript desteği ile üstün bir geliştirici deneyimi (DX) sunar, böylece eksik bir çeviri anahtarını bir daha asla yayınlamazsınız.
|
|
79
79
|
|
|
80
80
|
Son olarak, veri egemenliği ve kontrolünü önceliklendirenler için Intlayer açık kaynaklıdır ve kendi sunucunuzda barındırılabilir. Docker dosyaları depoda doğrudan mevcuttur; bu, yerelleştirme altyapınız üzerinde tam sahiplik sağlar ve Lokalise'in kapalı SaaS modeline keskin bir tezat oluşturur.
|
|
@@ -37,7 +37,7 @@ On yılı aşkın bir süredir Crowdin, yerelleştirme yönetiminde sektör stan
|
|
|
37
37
|
|
|
38
38
|
# Intlayer
|
|
39
39
|
|
|
40
|
-
Intlayer öncelikle bir i18n çözümü olarak bilinir, ancak aynı zamanda bir CMS ile entegre olur. Mevcut i18n kurulumunuzun etrafında bir wrapper olarak görev yapmakla sınırlı olan Crowdin'in aksine, Intlayer tüm yığını kontrol eder
|
|
40
|
+
Intlayer öncelikle bir i18n çözümü olarak bilinir, ancak aynı zamanda bir CMS ile entegre olur. Mevcut i18n kurulumunuzun etrafında bir wrapper olarak görev yapmakla sınırlı olan Crowdin'in aksine, Intlayer tüm yığını kontrol eder, paketleme katmanından uzak içerik teslimine kadar, bu da daha pürüzsüz ve daha verimli bir içerik akışı sağlar.
|
|
41
41
|
|
|
42
42
|
## AI'dan beri paradigmalar neden değişti?
|
|
43
43
|
|
|
@@ -49,7 +49,7 @@ Ancak bir sınırlama var. Metin yazarlığı yalnızca çeviri yapmak değildir
|
|
|
49
49
|
|
|
50
50
|
Günümüzde en verimli iş akışı, önce AI kullanarak sayfalarınızı küresel olarak çevirmek ve konumlandırmaktır. Ardından, ikinci aşamada, ürün zaten gelir elde etmeye başladıktan sonra dönüşümü artırmak için yüksek trafikli belirli içerikleri optimize etmek üzere insan metin yazarlarını kullanırsınız.
|
|
51
51
|
|
|
52
|
-
Her ne kadar Crowdin'in geliri
|
|
52
|
+
Her ne kadar Crowdin'in geliri, ağırlıklı olarak iyi kanıtlanmış legacy çözümleri tarafından yönlendirilen, iyi performans göstermeye devam etse de, geleneksel yerelleştirme sektörünün 5 ila 10 yıllık bir zaman diliminde ciddi şekilde etkileneceğine inanıyorum. Bir yönetim aracı için kelime başına veya kullanıcı başına ödeme modeli modası geçmiş hale geliyor.
|
|
53
53
|
|
|
54
54
|
## Neden Intlayer Crowdin'e iyi bir alternatif?
|
|
55
55
|
|
|
@@ -73,7 +73,7 @@ Intlayer ile çevirilerinizi inference maliyeti karşılığında üretirsiniz.
|
|
|
73
73
|
|
|
74
74
|
Intlayer, içeriğinizle derin entegrasyon sağlayan eksiksiz, hepsi bir arada bir i18n çözümü sunar. Uzaktaki içerikleriniz doğrudan kod tabanınızla veya canlı uygulamanızla senkronize edilebilir. Karşılaştırma olarak, Crowdin genellikle içeriği güncellemek için CI/CD hattınızda uygulamanızın yeniden derlenmesini gerektirir; bu da çeviri ekibi ile dağıtım süreci arasında sürtüşme yaratır.
|
|
75
75
|
|
|
76
|
-
Ayrıca, Intlayer bir Feature Flag veya A/B testi aracı olarak kullanılabilir; farklı içerik varyasyonlarını dinamik olarak test etmenizi sağlar
|
|
76
|
+
Ayrıca, Intlayer bir Feature Flag veya A/B testi aracı olarak kullanılabilir; farklı içerik varyasyonlarını dinamik olarak test etmenizi sağlar, bu, Crowdin gibi standart TMS araçlarının yerel olarak desteklemediği bir özelliktir.
|
|
77
77
|
|
|
78
78
|
Crowdin, `.po`, `.xml` ve `.yaml` gibi eski tipler de dahil olmak üzere çok çeşitli dosya formatlarını destekler; bu, yerleşik iş akışlarına veya daha eski sistemlere sahip projeler için faydalı olabilir. Buna karşılık Intlayer ağırlıklı olarak `.json`, `.js` ve `.ts` gibi modern web odaklı formatlarla çalışır. Bu, Intlayer'ın tüm eski dosya formatlarıyla uyumlu olmayabileceği anlamına gelir; bu, eski platformlardan geçiş yapan ekipler için dikkate alınması gereken bir husustur.
|
|
79
79
|
|
|
@@ -29,10 +29,6 @@ history:
|
|
|
29
29
|
|
|
30
30
|
Özünde, TMS tarihsel olarak teknik kod (string'lerin bulunduğu yer) ile kültürü anlayan insan dil uzmanları arasında bir köprü olmuştur.
|
|
31
31
|
|
|
32
|
-
Çeviri Yönetim Sistemi (TMS), çeviri ve yerelleştirme (L10n) süreçlerini otomatikleştirmek ve düzene sokmak için tasarlanmış bir yazılım platformudur. Geleneksel olarak bir TMS, içeriğin yüklendiği, düzenlendiği ve insan çevirmenlere atandığı merkezi bir merkez olarak hizmet eder. Çalışma akışlarını yönetir, çeviri belleklerini (aynı cümlenin iki kez çevrilmesini önlemek için) saklar ve çevrilmiş dosyaların geliştiricilere veya içerik yöneticilerine teslim edilmesini sağlar.
|
|
33
|
-
|
|
34
|
-
Özünde, bir TMS tarihsel olarak teknik kod (metinlerin bulunduğu yer) ile kültürü anlayan insan dil uzmanları arasında bir köprü olmuştur.
|
|
35
|
-
|
|
36
32
|
# Phrase (eski adıyla PhraseApp)
|
|
37
33
|
|
|
38
34
|
Phrase, kurumsal lokalizasyon alanında önemli bir oyuncudur. Eskiden PhraseApp olarak bilinen Phrase, özellikle Memsource ile birleşmesinin ardından önemli ölçüde büyümüştür. Kendini, güçlü API yetenekleri ve geniş format desteği sunan, yazılım lokalizasyonu için tasarlanmış kapsamlı bir Localization Suite olarak konumlandırır.
|
|
@@ -63,22 +59,15 @@ Intlayer, Yapay Zeka çağında doğmuş, özellikle modern JavaScript/TypeScrip
|
|
|
63
59
|
|
|
64
60
|
# Yan yana karşılaştırma
|
|
65
61
|
|
|
66
|
-
| Özellik | Phrase (Kurumsal TMS)
|
|
67
|
-
| :----------------------- |
|
|
68
|
-
| **Temel Felsefe** | Kurumsal Yönetişim & İş Akışı.
|
|
69
|
-
| **Fiyatlandırma Modeli** | Özel Kurumsal / Seat bazlı (Yüksek).
|
|
70
|
-
| **Entegrasyon** | Ağır API / CLI kullanımı.
|
|
71
|
-
| **Güncellemeler** | Senkronizasyon gerekli / Pipeline'a bağlı.
|
|
72
|
-
| **Dosya Formatları** | Son derece geniş (Legacy & Dökümanlar).
|
|
73
|
-
| **Testler** | QA Kontrolleri / LQA adımları.
|
|
74
|
-
| **Hosting** | SaaS (Tamamen Kurumsal).
|
|
75
|
-
| **Core Philosophy** | Kurumsal Yönetişim ve İş Akışı. | İçerik mantığını ve AI üretimini yönetir. |
|
|
76
|
-
| **Pricing Model** | Özel Kurumsal / Kullanıcı Başına (Yüksek). | Kendi çıkarım maliyetinizi ödersiniz (Kendi Anahtarınızı Getirin). |
|
|
77
|
-
| **Integration** | Yoğun API / CLI kullanımı. | Derin kod entegrasyonu (Deklaratif). |
|
|
78
|
-
| **Updates** | Senkronizasyon gerekli / Pipeline'a bağımlı. | Kod tabanıyla veya canlı uygulamayla anlık senkronizasyon. |
|
|
79
|
-
| **File Formats** | Oldukça geniş (Eski Sistemler & Belgeler). | Modern Web (JSON, JS, TS). |
|
|
80
|
-
| **Testing** | QA Kontrolleri / LQA adımları. | CI / CLI / A/B Testleri. |
|
|
81
|
-
| **Hosting** | SaaS (Sadece Kurumsal). | Açık Kaynak & Kendi Sunucunuzda Barındırılabilir (Docker). |
|
|
62
|
+
| Özellik | Phrase (Kurumsal TMS) | Intlayer (AI-Native) |
|
|
63
|
+
| :----------------------- | :----------------------------------------- | :-------------------------------------------------------- |
|
|
64
|
+
| **Temel Felsefe** | Kurumsal Yönetişim & İş Akışı. | İçerik mantığını & AI üretimini yönetir. |
|
|
65
|
+
| **Fiyatlandırma Modeli** | Özel Kurumsal / Seat bazlı (Yüksek). | Kendi inference'ınız için ödeme (BYO Key). |
|
|
66
|
+
| **Entegrasyon** | Ağır API / CLI kullanımı. | Derin kod entegrasyonu (Deklaratif). |
|
|
67
|
+
| **Güncellemeler** | Senkronizasyon gerekli / Pipeline'a bağlı. | Kod tabanı veya canlı uygulama ile anında senkronizasyon. |
|
|
68
|
+
| **Dosya Formatları** | Son derece geniş (Legacy & Dökümanlar). | Modern Web (JSON, JS, TS). |
|
|
69
|
+
| **Testler** | QA Kontrolleri / LQA adımları. | CI / CLI / A/B Testleri. |
|
|
70
|
+
| **Hosting** | SaaS (Tamamen Kurumsal). | Açık Kaynak & Self-Host edilebilir (Docker). |
|
|
82
71
|
|
|
83
72
|
Intlayer, içeriğinizle derin entegrasyona izin veren eksiksiz, hepsi bir arada bir i18n çözümü sunar. Uzaktaki içerikleriniz doğrudan codebase'inizle veya canlı uygulamanızla senkronize edilebilir. Karşılaştırıldığında, Phrase güçlü fakat karmaşık bir dış bağımlılıktır ve genellikle etkili çalışabilmesi için adanmış yerelleştirme yöneticileri gerektirir.
|
|
84
73
|
|
|
@@ -86,4 +75,4 @@ Ayrıca Intlayer, Feature Flag veya A/B testing aracı olarak kullanılabilir; b
|
|
|
86
75
|
|
|
87
76
|
Phrase, PDF'leri, altyazıları ve yazılımları eşzamanlı olarak çevirmek gibi karmaşık, çok formatlı kurumsal ihtiyaçlar için tartışılmaz bir seçenek olsa da, web uygulamaları geliştiren ve tam sahiplik, type safety ve kurumsal gereksinimlerin getirdiği ek yük olmadan modern, AI destekli bir iş akışı isteyen ürün ekipleri için Intlayer daha üstün bir tercihtir.
|
|
88
77
|
|
|
89
|
-
Son olarak, veri egemenliğini ve kontrolü önceliklendirenler için Intlayer açık kaynaklıdır ve kendi sunucunuzda barındırılabilir. Docker dosyaları doğrudan depo içinde mevcuttur; bu, yerelleştirme altyapınızın tam sahipliğini sağlar
|
|
78
|
+
Son olarak, veri egemenliğini ve kontrolü önceliklendirenler için Intlayer açık kaynaklıdır ve kendi sunucunuzda barındırılabilir. Docker dosyaları doğrudan depo içinde mevcuttur; bu, yerelleştirme altyapınızın tam sahipliğini sağlar. Phrase'in kapalı SaaS ekosistemiyle mümkün olmayan bir şeydir.
|
|
@@ -50,7 +50,29 @@ Bir Angular uygulamasını çevirmek, birkaç zorluk getirir:
|
|
|
50
50
|
|
|
51
51
|
Angular yerleşik bir i18n çerçevesi sunar ve çok dilli kurulumunuzu basitleştirmek için tasarlanmış birkaç üçüncü taraf kütüphanesi vardır. Aşağıda en popüler çözümlerden bazıları bulunmaktadır.
|
|
52
52
|
|
|
53
|
-
### 1.
|
|
53
|
+
### 1. Intlayer
|
|
54
|
+
|
|
55
|
+
> Web sitesi: [https://intlayer.org/](https://intlayer.org/)
|
|
56
|
+
|
|
57
|
+
**Genel Bakış**
|
|
58
|
+
**Intlayer**, modern Angular (ve diğer) web uygulamalarında çok dilli desteği basitleştirmek için tasarlanmış yenilikçi, açık kaynaklı bir uluslararasılaştırma (i18n) kütüphanesidir. Bildirimsel bir yaklaşım sunarak çeviri sözlüklerini doğrudan bileşenleriniz içinde tanımlamanızı sağlar.
|
|
59
|
+
|
|
60
|
+
**Ana Özellikler**
|
|
61
|
+
|
|
62
|
+
- **Çeviri Bildirimi**: Tüm çevirilerin tek bir dosyada, bileşen düzeyinde bildirilmesine izin verir, bakım ve ölçeklendirmeyi kolaylaştırır.
|
|
63
|
+
- **TypeScript ve Otomatik Tamamlama**: Çeviri anahtarları için otomatik oluşturulan tür tanımlarını sunar, sağlam otomatik tamamlama ve hata algılama sağlar.
|
|
64
|
+
- **Sunucu Bileşenleri ve SSR**: Hem sunucu tarafında işleme (SSR) hem de sunucu bileşenleri göz önünde bulundurularak oluşturulmuştur, yerelleştirilmiş içeriğin hem istemci hem de sunucuda verimli bir şekilde işlenmesini sağlar.
|
|
65
|
+
- **SEO İçerikli Yerelleştirilmiş Meta Veriler ve URL'ler**: Keşfedilebilirliği ve SEO'yu iyileştirmek için dinamik yerel ayar tabanlı rotaları, site haritalarını ve robots.txt girişlerini kolayca yönetin.
|
|
66
|
+
- **Sorunsuz Entegrasyon**: Angular CLI ve diğer araçlarla uyumlu, kurulumu basit hale getirir.
|
|
67
|
+
- **Eşzamansız Yükleme**: Çeviri sözlüklerini dinamik olarak yükleyin, başlangıç paket boyutunu azaltın ve performansı iyileştirin.
|
|
68
|
+
|
|
69
|
+
**Dikkat Edilmesi Gerekenler**
|
|
70
|
+
|
|
71
|
+
- **Topluluk ve Ekosistem**: Büyümekte olsa da, ekosistem daha yeni, bu yüzden topluluk odaklı eklentiler ve araçlar daha yerleşik çözümlere kıyasla daha sınırlı olabilir.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### 2. Angular'ın Yerleşik i18n'ı
|
|
54
76
|
|
|
55
77
|
**Genel Bakış**
|
|
56
78
|
Angular, çeviri dizelerini çıkarma, çoğullaştırma ve enterpolasyonu işleme ve çevirileri derleme zamanında entegre etme araçları içeren **yerleşik bir i18n** sistemiyle gelir. Bu resmi çözüm, daha küçük projeler veya Angular'ın önerilen yapısına yakından uyabilenler için güçlüdür.
|
|
@@ -70,7 +92,7 @@ Angular, çeviri dizelerini çıkarma, çoğullaştırma ve enterpolasyonu işle
|
|
|
70
92
|
|
|
71
93
|
---
|
|
72
94
|
|
|
73
|
-
###
|
|
95
|
+
### 3. ngx-translate
|
|
74
96
|
|
|
75
97
|
Web sitesi: [https://github.com/ngx-translate/core](https://github.com/ngx-translate/core)
|
|
76
98
|
|
|
@@ -92,7 +114,7 @@ Web sitesi: [https://github.com/ngx-translate/core](https://github.com/ngx-trans
|
|
|
92
114
|
|
|
93
115
|
---
|
|
94
116
|
|
|
95
|
-
###
|
|
117
|
+
### 4. Transloco
|
|
96
118
|
|
|
97
119
|
Web sitesi: [https://ngneat.github.io/transloco/](https://ngneat.github.io/transloco/)
|
|
98
120
|
|
|
@@ -50,7 +50,29 @@ Translating a Svelte application can present several hurdles:
|
|
|
50
50
|
|
|
51
51
|
Svelte doesn’t provide a native, built-in i18n solution (as Angular does), but the community has created a variety of robust libraries and patterns. Below are several popular approaches.
|
|
52
52
|
|
|
53
|
-
### 1.
|
|
53
|
+
### 1. Intlayer
|
|
54
|
+
|
|
55
|
+
> Web sitesi: [https://intlayer.org/](https://intlayer.org/)
|
|
56
|
+
|
|
57
|
+
**Genel Bakış**
|
|
58
|
+
**Intlayer**, modern Svelte (ve diğer) web uygulamalarında çok dilli desteği basitleştirmek için tasarlanmış yenilikçi, açık kaynaklı bir uluslararasılaştırma (i18n) kütüphanesidir. Bildirimsel bir yaklaşım sunarak çeviri sözlüklerini doğrudan bileşenleriniz içinde tanımlamanızı sağlar.
|
|
59
|
+
|
|
60
|
+
**Ana Özellikler**
|
|
61
|
+
|
|
62
|
+
- **Çeviri Bildirimi**: Tüm çevirilerin tek bir dosyada, bileşen düzeyinde bildirilmesine izin verir, bakım ve ölçeklendirmeyi kolaylaştırır.
|
|
63
|
+
- **TypeScript ve Otomatik Tamamlama**: Çeviri anahtarları için otomatik oluşturulan tür tanımlarını sunar, sağlam otomatik tamamlama ve hata algılama sağlar.
|
|
64
|
+
- **Sunucu Bileşenleri ve SSR**: Hem sunucu tarafında işleme (SSR) hem de sunucu bileşenleri göz önünde bulundurularak oluşturulmuştur, yerelleştirilmiş içeriğin hem istemci hem de sunucuda verimli bir şekilde işlenmesini sağlar.
|
|
65
|
+
- **SEO İçerikli Yerelleştirilmiş Meta Veriler ve URL'ler**: Keşfedilebilirliği ve SEO'yu iyileştirmek için dinamik yerel ayar tabanlı rotaları, site haritalarını ve robots.txt girişlerini kolayca yönetin.
|
|
66
|
+
- **Sorunsuz Entegrasyon**: SvelteKit ve diğer araçlarla uyumlu, kurulumu basit hale getirir.
|
|
67
|
+
- **Eşzamansız Yükleme**: Çeviri sözlüklerini dinamik olarak yükleyin, başlangıç paket boyutunu azaltın ve performansı iyileştirin.
|
|
68
|
+
|
|
69
|
+
**Dikkat Edilmesi Gerekenler**
|
|
70
|
+
|
|
71
|
+
- **Topluluk ve Ekosistem**: Büyümekte olsa da, ekosistem daha yeni, bu yüzden topluluk odaklı eklentiler ve araçlar daha yerleşik çözümlere kıyasla daha sınırlı olabilir.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### 2. svelte-i18n
|
|
54
76
|
|
|
55
77
|
Repository: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaisermann/svelte-i18n)
|
|
56
78
|
|
|
@@ -72,7 +94,7 @@ Repository: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaise
|
|
|
72
94
|
|
|
73
95
|
---
|
|
74
96
|
|
|
75
|
-
###
|
|
97
|
+
### 3. svelte-intl-precompile
|
|
76
98
|
|
|
77
99
|
Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.com/cibernox/svelte-intl-precompile)
|
|
78
100
|
|
|
@@ -94,7 +116,7 @@ Repository: [https://github.com/cibernox/svelte-intl-precompile](https://github.
|
|
|
94
116
|
|
|
95
117
|
---
|
|
96
118
|
|
|
97
|
-
###
|
|
119
|
+
### 4. i18next with Svelte / SvelteKit
|
|
98
120
|
|
|
99
121
|
Website: [https://www.i18next.com/](https://www.i18next.com/)
|
|
100
122
|
|