@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
|
@@ -25,11 +25,11 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# 번역 관리 시스템 (TMS)
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
번역 관리 시스템(TMS)은 번역 및 현지화(L10n) 프로세스를 자동화하고 간소화하도록 설계된 소프트웨어 플랫폼입니다. 전통적으로 TMS는 콘텐츠를 업로드하고 정리하며 인간 번역가에게 할당하는 중앙 허브 역할을 합니다. 워크플로우를 관리하고, 번역 메모리(같은 문장을 다시 번역하는 일을 방지하기 위해)를 저장하며, 번역된 파일을 개발자나 콘텐츠 관리자에게 다시 전달하는 작업을 처리합니다.
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
본질적으로 TMS는 기술적인 코드(문자열이 존재하는 곳)와 문화적 이해를 가진 인간 언어 전문가들 사이를 잇는 다리 역할을 해왔습니다.
|
|
31
31
|
|
|
32
|
-
# Phrase (
|
|
32
|
+
# Phrase (이전 PhraseApp)
|
|
33
33
|
|
|
34
34
|
Phrase는 엔터프라이즈 로컬라이제이션 분야의 강자입니다. 원래 PhraseApp으로 알려졌으며, 특히 Memsource와의 합병 이후 크게 성장했습니다. 소프트웨어 현지화를 위해 설계된 포괄적인 Localization Suite로 자리매김하며, 강력한 API 기능과 광범위한 포맷 지원을 제공합니다.
|
|
35
35
|
|
|
@@ -49,7 +49,7 @@ Phrase가 AI 기능을 통합하긴 했지만, 그 기능들은 종종 사람
|
|
|
49
49
|
|
|
50
50
|
오늘날 가장 효율적인 워크플로우는 먼저 AI를 사용해 페이지를 글로벌하게 번역하고 포지셔닝하는 것입니다. 그런 다음 두 번째 단계에서 제품이 이미 수익을 창출하기 시작한 후 특정 트래픽이 많은 콘텐츠를 인간 카피라이터가 최적화하여 전환율을 높이는 방식입니다.
|
|
51
51
|
|
|
52
|
-
## 왜 Intlayer가 Phrase
|
|
52
|
+
## 왜 Intlayer가 Phrase의 좋은 대안인가?
|
|
53
53
|
|
|
54
54
|
Intlayer는 AI 시대에 탄생한 솔루션으로, 현대 JavaScript/TypeScript 생태계에 맞춰 설계되었습니다. 민첩성과 투명성으로 Phrase의 무거운 엔터프라이즈 모델에 도전합니다.
|
|
55
55
|
|
|
@@ -75,4 +75,4 @@ Intlayer는 콘텐츠의 깊은 통합을 가능하게 하는 완전한 올인
|
|
|
75
75
|
|
|
76
76
|
Phrase는 복잡하고 다중 포맷의 엔터프라이즈 요구사항(예: PDF, 자막 및 소프트웨어를 동시에 번역하는 경우)에 대해 강력한 도구인 것은 부정할 수 없지만, Intlayer는 product teams가 웹 애플리케이션을 구축하면서 full ownership, type safety 및 엔터프라이즈 오버헤드 없이 현대적이고 AI-driven한 워크플로우를 원할 때 더 우수한 선택입니다.
|
|
77
77
|
|
|
78
|
-
마지막으로 데이터 주권(data sovereignty)과 통제를 우선시하는 경우, Intlayer는 open-source이며 self-hosted가 가능합니다. Docker 파일은 리포지토리에서 직접 제공되어 로컬라이제이션 인프라에 대한 완전한 소유권을
|
|
78
|
+
마지막으로 데이터 주권(data sovereignty)과 통제를 우선시하는 경우, Intlayer는 open-source이며 self-hosted가 가능합니다. Docker 파일은 리포지토리에서 직접 제공되어 로컬라이제이션 인프라에 대한 완전한 소유권을 부여합니다. Phrase의 폐쇄형 SaaS 생태계에서는 불가능한 일입니다.
|
|
@@ -48,7 +48,30 @@ Angular 애플리케이션을 번역하는 데는 여러 가지 도전 과제가
|
|
|
48
48
|
|
|
49
49
|
Angular는 내장 i18n 프레임워크를 제공하며, 다국어 설정을 단순화하기 위해 설계된 여러 서드파티 라이브러리가 있습니다. 아래는 가장 인기 있는 솔루션 중 일부입니다.
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### 1. Intlayer
|
|
54
|
+
|
|
55
|
+
웹사이트: [https://intlayer.org/](https://intlayer.org/)
|
|
56
|
+
|
|
57
|
+
**개요**
|
|
58
|
+
**Intlayer**는 현대 JavaScript 앱(특히 Angular 환경)에서 다국어 지원을 간소화하도록 설계된 혁신적인 오픈 소스 국제화(i18n) 라이브러리입니다. 구성 요소와 함께 직접 사전을 정의할 수 있는 선언적 접근 방식을 제공합니다.
|
|
59
|
+
|
|
60
|
+
**주요 기능**
|
|
61
|
+
|
|
62
|
+
- **선언적 번역**: 보수가 쉽고 확장 가능한 구조를 위해 구성 요소 수준에서 직접 번역을 선언할 수 있습니다.
|
|
63
|
+
- **TypeScript 및 자동 완성**: 번역 키에 대한 타입 정의를 자동으로 생성하여 개발자 친화적인 자동 완성과 강력한 오류 검사가 가능합니다.
|
|
64
|
+
- **서버 측 렌더링(SSR) 지원**: Angular Universal과 원활하게 작동하여 서버 측에서 효율적인 로컬라이제이션 결과를 제공합니다.
|
|
65
|
+
- **SEO 최적화**: 로컬라이제이션된 메타데이터, 동적 로케일 기반 라우팅 및 사이트맵을 처리하여 웹 사이트의 가시성을 높입니다.
|
|
66
|
+
- **지연 로딩**: 번역 사전을 지연 로딩하여 초기 번들 크기를 줄이고 애플리케이션 성능을 유지합니다.
|
|
67
|
+
|
|
68
|
+
**고려 사항**
|
|
69
|
+
|
|
70
|
+
- **생태계**: 더 확립된 솔루션에 비해 커뮤니티 플러그인이 적을 수 있지만, 현대 웹 개발 워크플로우를 위해 설계되었습니다.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### 2. Angular의 내장 i18n
|
|
52
75
|
|
|
53
76
|
**개요**
|
|
54
77
|
Angular는 번역 문자열 추출, 복수형 및 보간 처리, 컴파일 타임에서의 번역 통합을 위한 도구를 포함한 **내장 i18n** 시스템을 제공합니다. 이 공식 솔루션은 작은 프로젝트나 Angular의 권장 구조에 밀접하게 정렬할 수 있는 프로젝트에 강력합니다.
|
|
@@ -68,7 +91,7 @@ Angular는 번역 문자열 추출, 복수형 및 보간 처리, 컴파일 타
|
|
|
68
91
|
|
|
69
92
|
---
|
|
70
93
|
|
|
71
|
-
###
|
|
94
|
+
### 3. ngx-translate
|
|
72
95
|
|
|
73
96
|
웹사이트: [https://github.com/ngx-translate/core](https://github.com/ngx-translate/core)
|
|
74
97
|
|
|
@@ -90,7 +113,7 @@ Angular는 번역 문자열 추출, 복수형 및 보간 처리, 컴파일 타
|
|
|
90
113
|
|
|
91
114
|
---
|
|
92
115
|
|
|
93
|
-
###
|
|
116
|
+
### 4. Transloco
|
|
94
117
|
|
|
95
118
|
웹사이트: [https://ngneat.github.io/transloco/](https://ngneat.github.io/transloco/)
|
|
96
119
|
|
|
@@ -18,47 +18,47 @@ slugs:
|
|
|
18
18
|
- react-native
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
#
|
|
21
|
+
# React Native 앱 번역을 위한 i18n 솔루션 탐구
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
점점 더 커지는 글로벌 시장에서 React Native 앱을 다국어로 제공하는 것은 접근성을 크게 높이고 사용자 만족도를 개선할 수 있습니다. 국제화(i18n)는 번역을 효율적으로 관리하는 데 핵심적인 역할을 하며, 코드베이스를 복잡하게 만들지 않고도 언어별 텍스트, 날짜 및 시간 형식, 통화 등을 표시할 수 있게 해줍니다. 이 글에서는 전용 라이브러리부터 보다 일반적인 솔루션에 이르기까지 다양한 i18n 접근 방식을 살펴보고, 귀하의 React Native 프로젝트에 가장 적합한 라이브러리를 찾는 데 도움을 드리고자 합니다.
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|

|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## 국제화(i18n)란 무엇인가요?
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
국제화(i18n)는 애플리케이션을 다양한 언어, 지역 형식 및 문화적 관습에 쉽게 적응할 수 있도록 구조화하는 것을 포함합니다. React Native에서 i18n은 버튼과 라벨의 문자열을 처리하는 것뿐만 아니라 사용자의 로케일에 따라 날짜, 시간, 통화 등을 형식화하는 것을 포함합니다. 적절하게 준비된 React Native 앱을 사용하면 대대적인 리팩토링 없이도 나중에 추가 언어와 로케일별 동작을 원활하게 통합할 수 있습니다.
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
국제화 개념에 대해 더 자세히 알아보려면 다음 기사를 확인하세요:
|
|
34
34
|
[What is Internationalization (i18n)? Definition and Challenges](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/what_is_internationalization.md).
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## React Native 애플리케이션을 위한 번역 도전 과제
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
React Native에서 번역 작업을 수행할 때는 몇 가지 고유한 고려 사항이 있습니다:
|
|
41
41
|
|
|
42
|
-
-
|
|
43
|
-
|
|
42
|
+
- **구성 요소 기반 아키텍처**
|
|
43
|
+
웹용 React와 마찬가지로 React Native의 모듈식 디자인은 수많은 구성 요소에 텍스트를 분산시킬 수 있습니다. 이러한 번역을 견고한 방식으로 중앙 집중화하는 것이 중요합니다.
|
|
44
44
|
|
|
45
|
-
-
|
|
46
|
-
|
|
45
|
+
- **오프라인 및 원격 데이터**
|
|
46
|
+
일부 문자열은 앱 내에 포함될 수 있지만, 다른 콘텐츠(예: 뉴스피드, 제품 데이터)는 원격으로 가져올 수 있습니다. 비동기적으로 도착하는 데이터에 대한 번역 처리는 모바일에서 더 복잡할 수 있습니다.
|
|
47
47
|
|
|
48
|
-
-
|
|
49
|
-
iOS
|
|
48
|
+
- **플랫폼별 동작**
|
|
49
|
+
iOS와 Android는 각각 고유한 로케일 설정과 형식 지정 특성이 있습니다. 두 플랫폼 모두에서 날짜, 통화 및 숫자의 일관된 렌더링을 보장하려면 철저한 테스트가 필요합니다.
|
|
50
50
|
|
|
51
|
-
-
|
|
52
|
-
|
|
51
|
+
- **상태 및 내비게이션 관리**
|
|
52
|
+
스크린, 딥 링크 또는 탭 기반 내비게이션 전반에서 사용자가 선택한 언어를 유지하는 것은 Redux, Context API 또는 다른 상태 관리 솔루션에 i18n을 연결하는 것을 의미합니다.
|
|
53
53
|
|
|
54
|
-
-
|
|
55
|
-
|
|
54
|
+
- **앱 업데이트 및 OTA(Over-the-Air)**
|
|
55
|
+
CodePush 또는 다른 OTA 업데이트 메커니즘을 사용하는 경우, 전체 앱 스토어 출시 없이 번역 업데이트나 새로운 언어가 어떻게 전달될지 계획해야 합니다.
|
|
56
56
|
|
|
57
57
|
---
|
|
58
58
|
|
|
59
|
-
##
|
|
59
|
+
## React Native를 위한 주요 i18n 솔루션
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
아래는 React Native에서 다국어 콘텐츠를 관리하기 위한 몇 가지 인기 있는 접근 방식입니다. 각각은 서로 다른 방식으로 번역 워크플로우를 간소화하는 것을 목표로 합니다.
|
|
62
62
|
|
|
63
63
|
### 1. Intlayer
|
|
64
64
|
|
|
@@ -138,7 +138,7 @@ Below are several popular approaches to managing multilingual content in React N
|
|
|
138
138
|
`<FormattedMessage>`, `<FormattedDate>`, `<FormattedTime>` 등은 iOS 및 Android 간의 형식화 작업을 간소화합니다.
|
|
139
139
|
|
|
140
140
|
- **Lightweight & Extensible**
|
|
141
|
-
필요한 FormatJS의 부분만 가져와 전체 번들을 얇게 유지할 수
|
|
141
|
+
필요한 FormatJS의 부분만 가져와 전체 번들을 얇게 유지할 수 있습니다. 이는 모바일에 매우 중요합니다.
|
|
142
142
|
|
|
143
143
|
- **Polyfills for Unsupported Locales**
|
|
144
144
|
오래된 Android 또는 iOS 버전에서도 일관된 날짜/숫자 형식을 보장합니다.
|
|
@@ -193,29 +193,25 @@ Below are several popular approaches to managing multilingual content in React N
|
|
|
193
193
|
|
|
194
194
|
---
|
|
195
195
|
|
|
196
|
-
##
|
|
196
|
+
## 최종 생각
|
|
197
197
|
|
|
198
|
-
|
|
198
|
+
React Native 애플리케이션을 위한 i18n 솔루션을 선택할 때:
|
|
199
199
|
|
|
200
|
-
1.
|
|
200
|
+
1. **요구 사항 평가**
|
|
201
|
+
- 현재와 미래에 얼마나 많은 언어가 필요한가요?
|
|
202
|
+
- 대규모 앱을 위한 온디맨드 로딩이 필요한가요?
|
|
201
203
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
+
2. **플랫폼 차이 유의**
|
|
205
|
+
- 어떤 라이브러리든 iOS와 Android 로케일 변형, 특히 날짜/숫자/통화 특성을 지원하는지 확인하세요.
|
|
206
|
+
- 오프라인 사용을 고려하세요. 일부 번역은 앱과 함께 번들로 제공되어야 할 수 있고, 다른 일부는 원격으로 가져올 수 있습니다.
|
|
204
207
|
|
|
205
|
-
|
|
208
|
+
3. **확장성을 위한 구조 선택**
|
|
209
|
+
- 대규모 또는 장기 프로젝트를 계획 중이라면 강력한 추출 워크플로우나 타입 키가 번역을 잘 정리하는 데 도움이 될 수 있습니다.
|
|
206
210
|
|
|
207
|
-
|
|
208
|
-
|
|
211
|
+
4. **성능 및 번들 크기**
|
|
212
|
+
- 모바일 데이터 제약으로 인해 번역 파일과 폴리필의 크기를 면밀히 관찰해야 합니다.
|
|
209
213
|
|
|
210
|
-
|
|
214
|
+
5. **개발자 경험(DX)**
|
|
215
|
+
- 팀의 기술 수준과 일치하는 라이브러리를 찾으세요. 일부 솔루션은 장황하지만 직관적이며, 다른 솔루션은 설정의 복잡성 대신 더 많은 자동화를 제공합니다.
|
|
211
216
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
4. **Performance & Bundle Size**
|
|
215
|
-
|
|
216
|
-
- Mobile data constraints mean you should keep a close eye on the size of your translation files and any polyfills.
|
|
217
|
-
|
|
218
|
-
5. **Developer Experience (DX)**
|
|
219
|
-
- Look for libraries that align with your team’s skill set, some solutions are more verbose but straightforward, while others offer more automation at the cost of setup complexity.
|
|
220
|
-
|
|
221
|
-
Each solution, Intlayer, React-i18next, React Intl, and LinguiJS, has proven effective in React Native environments, though with slightly different priorities. Evaluating your project’s roadmap, developer preferences, and localization needs will guide you to the ideal fit for delivering a truly global React Native app.
|
|
217
|
+
Intlayer, React-i18next, React Intl 및 LinguiJS와 같은 각 솔루션은 각각 조금씩 다른 우선순위를 가지고 있지만 React Native 환경에서 효과적임이 입증되었습니다. 프로젝트의 로드맵, 개발자 선호도 및 로컬라이제이션 요구 사항을 평가하면 진정으로 글로벌한 React Native 앱을 제공하기 위한 최적의 솔루션을 찾을 수 있을 것입니다.
|
|
@@ -18,7 +18,7 @@ slugs:
|
|
|
18
18
|
- react
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
#
|
|
21
|
+
# React 웹사이트 번역을 위한 i18n 솔루션 탐구
|
|
22
22
|
|
|
23
23
|
오늘날의 디지털 환경에서, 전 세계 고객을 대상으로 웹사이트의 범위를 확장하는 것은 필수적입니다. React로 개발하는 개발자에게 국제화(i18n)를 구현하는 것은 번역을 효율적으로 관리하면서 애플리케이션 구조, SEO 가치 및 사용자 경험을 유지하는 데 중요한 요소입니다. 이 글에서는 전용 라이브러리에서 맞춤형 코딩 솔루션에 이르기까지 다양한 i18n 접근 방식을 탐색하여 귀하의 프로젝트 요구에 가장 적합한 방법을 결정하는 데 도움을 줍니다.
|
|
24
24
|
|
|
@@ -26,17 +26,17 @@ slugs:
|
|
|
26
26
|
|
|
27
27
|

|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## 국제화(i18n)란 무엇인가요?
|
|
30
30
|
|
|
31
31
|
국제화란 i18n의 약어로, 웹사이트가 여러 언어와 문화적 맥락을 지원할 수 있도록 디자인하고 준비하는 과정입니다. React에서 이는 문자열, 날짜 형식, 숫자 형식 및 레이아웃이 서로 다른 지역의 사용자에 맞게 쉽게 조정될 수 있도록 앱을 설정하는 것을 의미합니다. React 앱을 i18n에 대비시키는 것은 번역 및 기타 지역화 기능을 깔끔하게 통합할 수 있는 기초를 마련합니다.
|
|
32
32
|
|
|
33
|
-
i18n에 대해 더 알아보려면 다음 기사를 읽어보세요: [
|
|
33
|
+
i18n에 대해 더 알아보려면 다음 기사를 읽어보세요: [국제화(i18n)란 무엇인가요? 정의와 도전 과제](https://github.com/aymericzip/intlayer/blob/main/docs/blog/ko/what_is_internationalization.md).
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## React 애플리케이션의 번역 도전 과제
|
|
38
38
|
|
|
39
|
-
React 웹사이트를 번역하는
|
|
39
|
+
React 웹사이트를 번역하는 데에는 여러 가지 어려움이 있습니다:
|
|
40
40
|
|
|
41
41
|
- **컴포넌트 기반 아키텍처**: React의 모듈형 디자인으로 인해 텍스트가 여러 컴포넌트에 분산될 수 있어, 번역 문자열을 중앙 집중화하고 조직하는 것이 중요합니다.
|
|
42
42
|
- **동적 콘텐츠**: 실시간으로 업데이트되는 콘텐츠나 API에서 가져오는 콘텐츠의 번역 관리는 추가적인 복잡성을 더할 수 있습니다.
|
|
@@ -46,7 +46,7 @@ React 웹사이트를 번역하는 데는 여러 가지 어려움이 있습니
|
|
|
46
46
|
|
|
47
47
|
---
|
|
48
48
|
|
|
49
|
-
##
|
|
49
|
+
## React를 위한 주요 i18n 솔루션
|
|
50
50
|
|
|
51
51
|
다음은 React 애플리케이션에서 다국어 콘텐츠를 관리하는 데 널리 사용되는 접근 방식으로, 각각은 번역 프로세스를 간소화하는 데 특화되어 있습니다.
|
|
52
52
|
|
|
@@ -54,10 +54,10 @@ React 웹사이트를 번역하는 데는 여러 가지 어려움이 있습니
|
|
|
54
54
|
|
|
55
55
|
> Website: [https://intlayer.org/](https://intlayer.org/)
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
**개요**
|
|
58
58
|
**Intlayer**는 현대의 React(및 기타) 웹 애플리케이션에서 다국어 지원을 간소화하도록 설계된 혁신적인 오픈 소스 국제화(i18n) 라이브러리입니다. 구성 요소 내에서 번역 사전을 직접 정의할 수 있는 선언적 접근 방식을 제공합니다.
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
**주요 기능**
|
|
61
61
|
|
|
62
62
|
- **Translation Declaration**: 모든 번역을 단일 파일에서 선언할 수 있으며, 구성 요소 수준에 배치되어 유지 보수 및 확장이 용이합니다.
|
|
63
63
|
- **TypeScript & Autocompletion**: 번역 키에 대한 자동 생성된 타입 정의를 제공하며, 강력한 자동 완성과 오류 감지를 지원합니다.
|
|
@@ -66,7 +66,7 @@ React 웹사이트를 번역하는 데는 여러 가지 어려움이 있습니
|
|
|
66
66
|
- **Seamless Integration**: Create React App, Next.js 및 Vite와 같은 주요 번들러 및 프레임워크와 호환되어 설정이 간단합니다.
|
|
67
67
|
- **Asynchronous Loading**: 번역 사전을 동적으로 로드하여 초기 번들 크기를 줄이고 성능을 개선합니다.
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
**고려 사항**
|
|
70
70
|
|
|
71
71
|
- **Community & Ecosystem**: 커뮤니티 기반 플러그인 및 도구는 더 적을 수 있지만, 생태계는 성장 중입니다.
|
|
72
72
|
|
|
@@ -76,10 +76,10 @@ React 웹사이트를 번역하는 데는 여러 가지 어려움이 있습니
|
|
|
76
76
|
|
|
77
77
|
Website: [https://react.i18next.com/](https://react.i18next.com/)
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
**개요**
|
|
80
80
|
**React-i18next**는 인기 있는 **i18next** 프레임워크 위에 구축된 국제화에 가장 널리 사용되는 React 라이브러리 중 하나입니다. 복잡한 번역 시나리오를 처리하기 위한 유연하고 플러그인 기반 아키텍처를 제공합니다.
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
**주요 기능**
|
|
83
83
|
|
|
84
84
|
- **Seamless React Integration**: 최대한 유연성을 위해 React hooks, 고차 컴포넌트(HOCs) 및 렌더링 props와 함께 작동합니다.
|
|
85
85
|
- **Asynchronous Loading**: 번역 리소스를 동적으로 로드하여 초기 번들 크기를 줄이고 성능을 개선합니다.
|
|
@@ -88,7 +88,7 @@ Website: [https://react.i18next.com/](https://react.i18next.com/)
|
|
|
88
88
|
- **Localized Metadata & URLs**: Next.js와 통합되어 지역화된 경로, 사이트맵 및 robots.txt를 개선하여 SEO를 향상시킬 수 있습니다.
|
|
89
89
|
- **Server Components & SSR**: Next.js 또는 기타 SSR 설정을 사용하여 서버에서 완전히 지역화된 콘텐츠를 제공할 수 있습니다.
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
**고려 사항**
|
|
92
92
|
|
|
93
93
|
- **Maintainability**: 복잡하게 구성될 수 있으므로 대규모 또는 다중 팀 프로젝트에서는 번역 파일의 구조를 신중하게 작성하는 것이 필수적입니다.
|
|
94
94
|
- **Plugin Ecosystem**: 다양한 플러그인 및 미들웨어의 폭넓은 생태계가 마련되어 있지만, 적절한 도구를 찾기 위해 여러 패키지를 검토해야 할 수도 있습니다.
|
|
@@ -100,10 +100,10 @@ Website: [https://react.i18next.com/](https://react.i18next.com/)
|
|
|
100
100
|
|
|
101
101
|
Website: [https://formatjs.io/docs/react-intl/](https://formatjs.io/docs/react-intl/)
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
**개요**
|
|
104
104
|
**React Intl**은 **FormatJS** 스위트의 일환으로, 메시지 포맷화, 날짜/숫자/시간 지역화, 상대 시간 메시지를 표준화하는 데 중점을 둡니다. 메시지 추출 워크플로를 사용하여 번역을 효율적으로 처리합니다.
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
**주요 기능**
|
|
107
107
|
|
|
108
108
|
- **Format-Focused Components**: `<FormattedMessage>`, `<FormattedDate>`, `<FormattedTime>` 등을 통해 React에서 포맷팅을 간소화합니다.
|
|
109
109
|
- **Server Components & SSR**: SSR 설정을 지원하여 지역화된 콘텐츠를 제공하여 성능과 SEO를 개선합니다.
|
|
@@ -111,7 +111,7 @@ Website: [https://formatjs.io/docs/react-intl/](https://formatjs.io/docs/react-i
|
|
|
111
111
|
- **TypeScript & Autocompletion**: TypeScript와 결합할 수 있지만, 메시지 ID의 자동 완성을 위한 추가 도구가 필요할 수 있습니다.
|
|
112
112
|
- **Polyfills for Unsupported Browsers**: 레거시 환경 간 일관된 동작을 보장합니다.
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
**고려 사항**
|
|
115
115
|
|
|
116
116
|
- **Verbosity & Boilerplate**: 전용 컴포넌트에 대한 의존성으로 인해 특히 대규모 애플리케이션에서 더 장황한 코드가 발생할 수 있습니다.
|
|
117
117
|
- **Splitting Translations**: 코어 라이브러리는 번역을 여러 파일로 분할하는 데 대한 기본 지원을 제공하지 않으므로 추가 설정 또는 플러그인이 필요합니다.
|
|
@@ -121,10 +121,10 @@ Website: [https://formatjs.io/docs/react-intl/](https://formatjs.io/docs/react-i
|
|
|
121
121
|
|
|
122
122
|
Website: [https://lingui.js.org/](https://lingui.js.org/)
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
**개요**
|
|
125
125
|
**LinguiJS**는 JavaScript 및 React에서 i18n 관리를 위한 현대적인, 개발자 친화적인 접근 방식을 제공합니다. 구성 최소화를 중심으로 견고한 CLI 및 메시지 추출 워크플로를 제공합니다.
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
**주요 기능**
|
|
128
128
|
|
|
129
129
|
- **Automatic Message Extraction**: 코드에서 메시지를 발견하고 추출하는 전용 CLI로 수동 단계를 최소화합니다.
|
|
130
130
|
- **Minimal Runtime Overhead**: 컴파일된 번역은 번들 크기와 실행 성능 비용을 줄입니다.
|
|
@@ -132,7 +132,7 @@ Website: [https://lingui.js.org/](https://lingui.js.org/)
|
|
|
132
132
|
- **Server Components & SSR**: 서버 사이드 렌더링 전략과 호환되어 Next.js 또는 다른 SSR 프레임워크와 통합할 수 있습니다.
|
|
133
133
|
- **Localized Metadata & URLs**: 다른 라이브러리만큼 명시적이지는 않지만, 사이트맵, robots.txt 및 지역화된 경로 처리를 위해 라우팅 설정과 통합될 수 있습니다.
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
**고려 사항**
|
|
136
136
|
|
|
137
137
|
- **Maintainability**: 자동 추출은 코드를 깔끔하게 유지하는 데 도움이 되지만, 대규모 앱의 경우 여러 번역 파일을 구조화하려면 체계적인 조직이 필요합니다.
|
|
138
138
|
- **Community & Plugins**: 생태계는 성장 중이지만 i18next 또는 FormatJS에 비해 여전히 작습니다.
|
|
@@ -140,14 +140,14 @@ Website: [https://lingui.js.org/](https://lingui.js.org/)
|
|
|
140
140
|
|
|
141
141
|
---
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
## 최종 생각
|
|
144
144
|
|
|
145
145
|
React용 i18n 라이브러리를 선택할 때:
|
|
146
146
|
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
- **TypeScript
|
|
150
|
-
-
|
|
151
|
-
- **SEO
|
|
147
|
+
- **요구 사항 평가**: 프로젝트 크기, 개발자 경험 및 번역 처리 방식(수동 vs. 자동 추출)을 고려하세요.
|
|
148
|
+
- **서버 호환성 확인**: SSR이나 서버 컴포넌트(특히 Next.js)를 사용하는 경우, 선택한 라이브러리가 무리 없이 지원하는지 확인하세요.
|
|
149
|
+
- **TypeScript 및 자동 완성**: TypeScript가 우선이라면, 타입이 지정된 키와 강력한 개발 도구를 쉽게 통합할 수 있는 라이브러리를 선택하세요.
|
|
150
|
+
- **유지 관리 및 확장성**: 큰 프로젝트는 번역에 대한 명확하고 유지 가능한 구조가 필요하므로 장기 로드맵을 감안하는 것이 중요합니다.
|
|
151
|
+
- **SEO 및 메타데이터**: SEO가 중요하다면, 선택한 솔루션이 각 언어에 대해 지역화된 메타데이터, 경로 및 사이트맵/robots를 지원하는지 확인하세요.
|
|
152
152
|
|
|
153
153
|
이 모든 라이브러리는 다국어 React 애플리케이션을 지원할 수 있습니다. 각각의 약간 다른 우선순위와 강점을 가지고 있습니다. 프로젝트의 **성능**, **개발자 경험(DX)** 및 **비즈니스 목표**에 가장 잘 부합하는 것을 선택하세요.
|
|
@@ -50,7 +50,28 @@ Svelte 애플리케이션을 번역하는 것은 몇 가지 장벽을 제시할
|
|
|
50
50
|
|
|
51
51
|
Svelte는 Angular처럼 기본 제공 i18n 솔루션을 제공하지 않지만, 커뮤니티에서 강력한 여러 라이브러리와 패턴을 만들었습니다. 아래는 몇 가지 인기 있는 접근 방식입니다.
|
|
52
52
|
|
|
53
|
-
### 1.
|
|
53
|
+
### 1. Intlayer
|
|
54
|
+
|
|
55
|
+
웹사이트: [https://intlayer.org/](https://intlayer.org/)
|
|
56
|
+
|
|
57
|
+
**개요**
|
|
58
|
+
**Intlayer**는 현대 SvelteKit(및 기타) 웹 애플리케이션에서 다국어 지원을 간소화하도록 설계된 혁신적 오픈 소스 국제화(i18n) 라이브러리입니다. 구성 요소 내에서 직접 번역 사전을 정의할 수 있는 선언적 접근 방식을 제공합니다.
|
|
59
|
+
|
|
60
|
+
**주요 기능**
|
|
61
|
+
|
|
62
|
+
- **번역 선언**: 보수가 쉽고 확장 가능한 구조를 위해 모든 번역을 단일 파일에서 선언하여 구성 요소 수준에 배치할 수 있습니다.
|
|
63
|
+
- **TypeScript 및 자동 완성**: 번역 키에 대한 타입 정의를 자동으로 생성하여 견고한 자동 완성과 오류 감지를 제공합니다.
|
|
64
|
+
- **SvelteKit 및 SSR**: SvelteKit을 염두에 두고 구축되어 클라이언트와 서버 모두에서 지역화된 콘텐츠가 효율적으로 렌더링되도록 보장합니다.
|
|
65
|
+
- **SEO 최적화**: 로컬라이제이션된 메타데이터와 동적 로케일 기반 경로를 쉽게 처리하여 웹 사이트의 발견 가능성을 높입니다.
|
|
66
|
+
- **비동기 로딩**: 번역 사전을 동적으로 로드하여 초기 번들 크기를 줄이고 성능을 개선합니다.
|
|
67
|
+
|
|
68
|
+
**고려 사항**
|
|
69
|
+
|
|
70
|
+
- **커뮤니티 및 생태계**: 성장 중이지만, 더 오래된 솔루션에 비해 커뮤니티 기반 플러그인이나 도구는 아직 적을 수 있습니다.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### 2. svelte-i18n
|
|
54
75
|
|
|
55
76
|
저장소: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaisermann/svelte-i18n)
|
|
56
77
|
|
|
@@ -68,11 +89,11 @@ Svelte는 Angular처럼 기본 제공 i18n 솔루션을 제공하지 않지만,
|
|
|
68
89
|
|
|
69
90
|
- **프로젝트 조직**: 프로젝트가 커짐에 따라 번역 파일을 논리적으로 구조화해야 합니다.
|
|
70
91
|
- **SSR 설정**: SEO를 위한 SSR 구성을 위해 서버 측에서 올바른 로케일 감지를 보장하기 위한 추가 단계를 수행해야 할 수 있습니다.
|
|
71
|
-
- **성능**: 런타임에서 유연하지만 한 번에 많은 수의 번역을 로드하면 초기 로드 시간이 영향을 받을 수
|
|
92
|
+
- **성능**: 런타임에서 유연하지만 한 번에 많은 수의 번역을 로드하면 초기 로드 시간이 영향을 받을 수 있습니다. 지연 로딩 또는 캐싱 전략을 고려해야 합니다.
|
|
72
93
|
|
|
73
94
|
---
|
|
74
95
|
|
|
75
|
-
###
|
|
96
|
+
### 3. svelte-intl-precompile
|
|
76
97
|
|
|
77
98
|
저장소: [https://github.com/cibernox/svelte-intl-precompile](https://github.com/cibernox/svelte-intl-precompile)
|
|
78
99
|
|
|
@@ -94,7 +115,7 @@ Svelte는 Angular처럼 기본 제공 i18n 솔루션을 제공하지 않지만,
|
|
|
94
115
|
|
|
95
116
|
---
|
|
96
117
|
|
|
97
|
-
###
|
|
118
|
+
### 4. Svelte / SvelteKit와 함께 사용하는 i18next
|
|
98
119
|
|
|
99
120
|
웹사이트: [https://www.i18next.com/](https://www.i18next.com/)
|
|
100
121
|
|
|
@@ -120,10 +141,10 @@ Svelte는 Angular처럼 기본 제공 i18n 솔루션을 제공하지 않지만,
|
|
|
120
141
|
|
|
121
142
|
Svelte 앱에 대한 i18n 전략을 선택할 때:
|
|
122
143
|
|
|
123
|
-
1. **프로젝트 규모 평가**: 더 작은 프로젝트나 빠른 프로토타입의 경우 **svelte-i18n**과 같은 간단한 라이브러리나 최소한의 i18n 접근 방식이 충분할 수 있습니다. 더 크고 복잡한 앱은 보다
|
|
124
|
-
2. **
|
|
144
|
+
1. **프로젝트 규모 평가**: 더 작은 프로젝트나 빠른 프로토타입의 경우 **svelte-i18n**과 같은 간단한 라이브러리나 최소한의 i18n 접근 방식이 충분할 수 있습니다. 더 크고 복잡한 앱은 보다 강력하고 사전 컴파일되거나 더 강력한 생태계 기반 솔루션이 유리할 수 있습니다.
|
|
145
|
+
2. **SEO 및 SSR 고려 사항**: SEO가 중요하거나 **SvelteKit**과 함께 서버 측 렌더링이 필요한 경우 SSR을 효과적으로 지원하고 지역화된 라우트, 메타데이터 및 사이트 맵을 처리할 수 있는 라이브러리를 선택하세요.
|
|
125
146
|
3. **런타임 대 빌드 시간**: 런타임에서 동적 언어 전환이 필요한지 또는 성능 향상을 위해 사전 컴파일된 번역을 선호하는지 결정하세요. 각 접근 방식은 서로 다른 트레이드오프를 포함합니다.
|
|
126
147
|
4. **TypeScript 통합**: TypeScript에 크게 의존하는 경우 **Intlayer** 또는 타입 키가 있는 라이브러리 솔루션은 런타임 오류를 크게 줄이고 개발자 경험을 향상시킬 수 있습니다.
|
|
127
148
|
5. **유지 관리 및 확장성**: 번역 파일을 어떻게 구성하고 업데이트하며 버전 관리를 할 것인지 계획하세요. 자동 추출, 명명 규칙 및 일관된 폴더 구조는 장기적으로 시간을 절약할 수 있습니다.
|
|
128
149
|
|
|
129
|
-
궁극적으로 각 라이브러리는 고유의 강점을 제공합니다. 귀하의 선택은 **성능**, **개발자 경험**, **SEO 요구 사항** 및 **장기 유지 관리성**에 따라 달라집니다. 프로젝트 목표와 일치하는 솔루션을 선택함으로써 Svelte에서 진정한 글로벌 애플리케이션을 만들 수
|
|
150
|
+
궁극적으로 각 라이브러리는 고유의 강점을 제공합니다. 귀하의 선택은 **성능**, **개발자 경험**, **SEO 요구 사항** 및 **장기 유지 관리성**에 따라 달라집니다. 프로젝트 목표와 일치하는 솔루션을 선택함으로써 Svelte에서 진정한 글로벌 애플리케이션을 만들 수 있습니다. 전 세계 사용자들을 만족시키는 애플리케이션을 만드세요.
|
|
@@ -52,7 +52,27 @@ Vue.js 애플리케이션을 번역하는 것은 자체적인 몇 가지 도전
|
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
-
### 1.
|
|
55
|
+
### 1. Intlayer
|
|
56
|
+
|
|
57
|
+
> 웹사이트: [https://intlayer.org/](https://intlayer.org/)
|
|
58
|
+
|
|
59
|
+
**개요**
|
|
60
|
+
**Intlayer**는 **Vue**를 포함한 여러 프레임워크에서 다국어 지원을 단순화하도록 설계된 혁신적 오픈 소스 i18n 솔루션입니다. 구성 요소 수준에서 직접 번역 사전을 정의할 수 있는 선언적 접근 방식을 강조합니다.
|
|
61
|
+
|
|
62
|
+
**주요 기능**
|
|
63
|
+
|
|
64
|
+
- **선언적 번역**: 보수가 쉽고 확장 가능한 구조를 위해 구성 요소 수준에서 직접 번역을 선언할 수 있습니다.
|
|
65
|
+
- **TypeScript 및 자동 완성**: 번역 키에 대한 자동 생성된 타입 정의를 제공하여 강력한 자동 완성과 오류 감지를 지원합니다.
|
|
66
|
+
- **비동기 로딩**: 번역 자산을 동적으로 로드하여 다국어 앱의 초기 번들 크기를 잠재적으로 줄입니다.
|
|
67
|
+
- **매끄러운 통합**: 주요 번들러 및 Vue 생태계와 호환되어 설정이 간단합니다.
|
|
68
|
+
|
|
69
|
+
**고려 사항**
|
|
70
|
+
|
|
71
|
+
- **커뮤니티**: 생태계는 성장 중이지만, 더 오래된 솔루션에 비해 커뮤니티 플러그인은 아직 적을 수 있습니다.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### 2. Vue I18n
|
|
56
76
|
|
|
57
77
|
> 웹사이트: [https://vue-i18n.intlify.dev/](https://vue-i18n.intlify.dev/)
|
|
58
78
|
|
|
@@ -83,7 +103,7 @@ Vue.js 애플리케이션을 번역하는 것은 자체적인 몇 가지 도전
|
|
|
83
103
|
|
|
84
104
|
---
|
|
85
105
|
|
|
86
|
-
###
|
|
106
|
+
### 3. LinguiJS (Vue 통합)
|
|
87
107
|
|
|
88
108
|
> 웹사이트: [https://lingui.js.org/](https://lingui.js.org/)
|
|
89
109
|
|
|
@@ -39,7 +39,7 @@ Next.js를 위한 세 가지 i18n 옵션인 next-i18next, next-intl, Intlayer의
|
|
|
39
39
|
|
|
40
40
|
> **요약**: 세 가지 모두 Next.js 앱을 현지화할 수 있습니다. 만약 **컴포넌트 범위 콘텐츠**, **엄격한 TypeScript 타입**, **빌드 시 누락 키 검사**, **트리 쉐이킹된 사전**, 그리고 **최고급 App Router + SEO 도우미**를 원한다면, **Intlayer**가 가장 완전하고 현대적인 선택입니다.
|
|
41
41
|
|
|
42
|
-
> 개발자들이 자주 혼동하는 점 중 하나는 `next-intl`이 `react-intl`의 Next.js 버전이라고 생각하는 것입니다. 그렇지
|
|
42
|
+
> 개발자들이 자주 혼동하는 점 중 하나는 `next-intl`이 `react-intl`의 Next.js 버전이라고 생각하는 것입니다. 그렇지 않습니다, `next-intl`은 [Amann](https://github.com/amannn)이 유지 관리하며, `react-intl`은 [FormatJS](https://github.com/formatjs/formatjs)가 유지 관리합니다.
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
@@ -86,7 +86,7 @@ extension Localization on String {
|
|
|
86
86
|
|
|
87
87
|
### 그렇다면 중앙집중식 접근 방식이 왜 이렇게 인기 있을까요?
|
|
88
88
|
|
|
89
|
-
- 먼저, i18next는 널리 사용된 최초의 솔루션 중 하나로, PHP와 Java 아키텍처(MVC)에서 영감을 받은 철학(관심사의 엄격한
|
|
89
|
+
- 먼저, i18next는 널리 사용된 최초의 솔루션 중 하나로, PHP와 Java 아키텍처(MVC)에서 영감을 받은 철학(관심사의 엄격한 분리, 콘텐츠를 코드와 분리해서 유지)을 따랐습니다. 2011년에 등장하여 React와 같은 컴포넌트 기반 아키텍처로의 대대적인 전환보다도 먼저 그 표준을 확립했습니다.
|
|
90
90
|
- 한 번 라이브러리가 널리 채택되면 에코시스템을 다른 패턴으로 전환하기가 어려워집니다.
|
|
91
91
|
- 중앙집중식 접근 방식은 Crowdin, Phrase 또는 Localized와 같은 번역 관리 시스템(Translation Management Systems)에서도 작업을 더 수월하게 만듭니다.
|
|
92
92
|
- 컴포넌트별 접근 방식의 로직은 중앙집중식 방식보다 더 복잡하고 개발에 추가 시간이 필요합니다. 특히 콘텐츠가 어디에 위치하는지 식별하는 문제를 해결해야 할 때 그렇습니다.
|
|
@@ -20,7 +20,7 @@ slugs:
|
|
|
20
20
|
|
|
21
21
|
# Argumenty za i przeciw internacjonalizacji opartej na kompilatorze
|
|
22
22
|
|
|
23
|
-
Jeśli budujesz aplikacje webowe od ponad dekady, wiesz, że internacjonalizacja (i18n) zawsze była punktem zapalnym. Często jest to zadanie, którego nikt nie chce
|
|
23
|
+
Jeśli budujesz aplikacje webowe od ponad dekady, wiesz, że internacjonalizacja (i18n) zawsze była punktem zapalnym. Często jest to zadanie, którego nikt nie chce wykonywać, wyciąganie stringów, zarządzanie plikami JSON i martwienie się o zasady pluralizacji.
|
|
24
24
|
|
|
25
25
|
Niedawno pojawiła się nowa fala **narzędzi i18n opartych na kompilatorze**, obiecujących, że ta uciążliwość zniknie. Oferta jest kusząca: **Po prostu pisz tekst w swoich komponentach, a narzędzie budujące zajmie się resztą.** Bez kluczy, bez importów, po prostu magia.
|
|
26
26
|
|
|
@@ -205,7 +205,7 @@ Więc, którą opcję powinieneś wybrać?
|
|
|
205
205
|
Podejście oparte na kompilatorze jest dobrym wyborem. Pozwala na niezwykle szybkie działanie. Nie musisz się martwić o strukturę plików czy klucze. Po prostu budujesz. Dług techniczny to problem dla „Przyszłego Ciebie”.
|
|
206
206
|
|
|
207
207
|
**Jeśli jesteś Junior Developerem lub nie zależy Ci na optymalizacji:**
|
|
208
|
-
Jeśli chcesz jak najmniej ręcznego zarządzania, podejście oparte na kompilatorze jest prawdopodobnie najlepsze. Nie będziesz musiał samodzielnie obsługiwać kluczy czy plików
|
|
208
|
+
Jeśli chcesz jak najmniej ręcznego zarządzania, podejście oparte na kompilatorze jest prawdopodobnie najlepsze. Nie będziesz musiał samodzielnie obsługiwać kluczy czy plików tłumaczeń, po prostu piszesz tekst, a kompilator automatyzuje resztę. To zmniejsza nakład pracy przy konfiguracji i typowe błędy i18n związane z ręcznymi krokami.
|
|
209
209
|
|
|
210
210
|
**Jeśli internacjonalizujesz istniejący projekt, który już zawiera tysiące komponentów do refaktoryzacji:**
|
|
211
211
|
Podejście oparte na kompilatorze może być tutaj pragmatycznym wyborem. Początkowa faza ekstrakcji może zaoszczędzić tygodnie lub miesiące ręcznej pracy. Jednak rozważ użycie narzędzia takiego jak polecenie `transform` Intlayer, które może wyodrębnić ciągi znaków i przekształcić je w jawne deklaracje treści deklaratywnej. Daje to szybkość automatyzacji przy jednoczesnym zachowaniu bezpieczeństwa i przenośności podejścia deklaratywnego. Otrzymujesz to, co najlepsze z obu światów: szybką początkową migrację bez długoterminowego długu architektonicznego.
|