@intlayer/docs 9.4.2 → 9.4.3
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/blog/ar/date_time_number_formatting_locales.md +216 -0
- package/blog/ar/detecting_missing_translations.md +202 -0
- package/blog/ar/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/ar/i18n_meaning.md +0 -2
- package/blog/ar/i18n_testing_strategies.md +179 -0
- package/blog/ar/intlayer_with_i18next.md +3 -3
- package/blog/ar/intlayer_with_next-i18next.md +3 -3
- package/blog/ar/intlayer_with_next-intl.md +3 -3
- package/blog/ar/intlayer_with_react-i18next.md +3 -3
- package/blog/ar/intlayer_with_react-intl.md +3 -3
- package/blog/ar/intlayer_with_vue-i18n.md +3 -3
- package/blog/ar/is_i18next_outdated.md +315 -0
- package/blog/ar/is_next-intl_outdated.md +363 -0
- package/blog/ar/is_vue-i18n_outdated.md +338 -0
- package/blog/ar/list_i18n_technologies/build-tools/vite.md +177 -0
- package/blog/ar/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/ar/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/ar/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/ar/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/ar/what_is_internationalization.md +0 -2
- package/blog/de/date_time_number_formatting_locales.md +216 -0
- package/blog/de/detecting_missing_translations.md +202 -0
- package/blog/de/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/de/i18n_meaning.md +0 -2
- package/blog/de/i18n_testing_strategies.md +179 -0
- package/blog/de/intlayer_with_i18next.md +3 -3
- package/blog/de/intlayer_with_next-i18next.md +3 -3
- package/blog/de/intlayer_with_next-intl.md +3 -3
- package/blog/de/intlayer_with_react-i18next.md +3 -3
- package/blog/de/intlayer_with_react-intl.md +3 -3
- package/blog/de/intlayer_with_vue-i18n.md +3 -3
- package/blog/de/is_i18next_outdated.md +315 -0
- package/blog/de/is_next-intl_outdated.md +363 -0
- package/blog/de/is_vue-i18n_outdated.md +338 -0
- package/blog/de/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/de/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/de/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/de/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/de/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/de/what_is_internationalization.md +0 -2
- package/blog/en/date_time_number_formatting_locales.md +216 -0
- package/blog/en/detecting_missing_translations.md +202 -0
- package/blog/en/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/en/i18n_meaning.md +0 -2
- package/blog/en/i18n_testing_strategies.md +179 -0
- package/blog/en/icu_message_format.md +288 -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/is_i18next_outdated.md +315 -0
- package/blog/en/is_next-intl_outdated.md +363 -0
- package/blog/en/is_vue-i18n_outdated.md +338 -0
- package/blog/en/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/en/list_i18n_technologies/frameworks/angular.md +184 -108
- package/blog/en/list_i18n_technologies/frameworks/astro.md +268 -0
- package/blog/en/list_i18n_technologies/frameworks/nextjs.md +196 -0
- package/blog/en/list_i18n_technologies/frameworks/nuxt.md +255 -0
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +133 -154
- package/blog/en/list_i18n_technologies/frameworks/react-router.md +331 -0
- package/blog/en/list_i18n_technologies/frameworks/react.md +176 -96
- package/blog/en/list_i18n_technologies/frameworks/solid.md +268 -0
- package/blog/en/list_i18n_technologies/frameworks/svelte.md +156 -88
- package/blog/en/list_i18n_technologies/frameworks/sveltekit.md +235 -0
- package/blog/en/list_i18n_technologies/frameworks/tanstack-start.md +280 -0
- package/blog/en/list_i18n_technologies/frameworks/vue.md +167 -95
- package/blog/en/what_is_internationalization.md +0 -2
- package/blog/en-GB/date_time_number_formatting_locales.md +216 -0
- package/blog/en-GB/detecting_missing_translations.md +202 -0
- package/blog/en-GB/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/en-GB/i18n_meaning.md +0 -2
- package/blog/en-GB/i18n_testing_strategies.md +179 -0
- package/blog/en-GB/intlayer_with_i18next.md +3 -3
- package/blog/en-GB/intlayer_with_next-i18next.md +3 -3
- package/blog/en-GB/intlayer_with_next-intl.md +3 -3
- package/blog/en-GB/intlayer_with_react-i18next.md +3 -3
- package/blog/en-GB/intlayer_with_react-intl.md +3 -3
- package/blog/en-GB/intlayer_with_vue-i18n.md +3 -3
- package/blog/en-GB/is_i18next_outdated.md +315 -0
- package/blog/en-GB/is_next-intl_outdated.md +363 -0
- package/blog/en-GB/is_vue-i18n_outdated.md +338 -0
- package/blog/en-GB/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/en-GB/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/en-GB/what_is_internationalization.md +0 -2
- package/blog/es/date_time_number_formatting_locales.md +216 -0
- package/blog/es/detecting_missing_translations.md +202 -0
- package/blog/es/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/es/i18n_meaning.md +0 -2
- package/blog/es/i18n_testing_strategies.md +179 -0
- package/blog/es/intlayer_with_i18next.md +3 -3
- package/blog/es/intlayer_with_next-i18next.md +3 -3
- package/blog/es/intlayer_with_next-intl.md +3 -3
- package/blog/es/intlayer_with_react-i18next.md +3 -3
- package/blog/es/intlayer_with_react-intl.md +3 -3
- package/blog/es/intlayer_with_vue-i18n.md +3 -3
- package/blog/es/is_i18next_outdated.md +315 -0
- package/blog/es/is_next-intl_outdated.md +363 -0
- package/blog/es/is_vue-i18n_outdated.md +338 -0
- package/blog/es/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/es/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/es/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/es/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/es/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/es/what_is_internationalization.md +0 -2
- package/blog/fr/date_time_number_formatting_locales.md +216 -0
- package/blog/fr/detecting_missing_translations.md +202 -0
- package/blog/fr/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/fr/i18n_meaning.md +0 -2
- package/blog/fr/i18n_testing_strategies.md +179 -0
- package/blog/fr/intlayer_with_i18next.md +3 -3
- package/blog/fr/intlayer_with_next-i18next.md +3 -3
- package/blog/fr/intlayer_with_next-intl.md +3 -3
- package/blog/fr/intlayer_with_react-i18next.md +3 -3
- package/blog/fr/intlayer_with_react-intl.md +3 -3
- package/blog/fr/intlayer_with_vue-i18n.md +3 -3
- package/blog/fr/is_i18next_outdated.md +315 -0
- package/blog/fr/is_next-intl_outdated.md +363 -0
- package/blog/fr/is_vue-i18n_outdated.md +338 -0
- package/blog/fr/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/fr/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/fr/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/fr/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/fr/what_is_internationalization.md +0 -2
- package/blog/hi/date_time_number_formatting_locales.md +216 -0
- package/blog/hi/detecting_missing_translations.md +202 -0
- package/blog/hi/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/hi/i18n_meaning.md +0 -2
- package/blog/hi/i18n_testing_strategies.md +179 -0
- package/blog/hi/intlayer_with_i18next.md +3 -3
- package/blog/hi/intlayer_with_next-i18next.md +3 -3
- package/blog/hi/intlayer_with_next-intl.md +3 -3
- package/blog/hi/intlayer_with_react-i18next.md +3 -3
- package/blog/hi/intlayer_with_react-intl.md +3 -3
- package/blog/hi/intlayer_with_vue-i18n.md +3 -3
- package/blog/hi/is_i18next_outdated.md +317 -0
- package/blog/hi/is_next-intl_outdated.md +363 -0
- package/blog/hi/is_vue-i18n_outdated.md +338 -0
- package/blog/hi/list_i18n_technologies/build-tools/vite.md +177 -0
- package/blog/hi/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/hi/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/hi/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/hi/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/hi/what_is_internationalization.md +0 -2
- package/blog/id/date_time_number_formatting_locales.md +216 -0
- package/blog/id/detecting_missing_translations.md +202 -0
- package/blog/id/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/id/i18n_meaning.md +0 -2
- package/blog/id/i18n_testing_strategies.md +179 -0
- package/blog/id/intlayer_with_i18next.md +3 -3
- package/blog/id/intlayer_with_next-i18next.md +3 -3
- package/blog/id/intlayer_with_next-intl.md +3 -3
- package/blog/id/intlayer_with_react-i18next.md +3 -3
- package/blog/id/intlayer_with_react-intl.md +3 -3
- package/blog/id/intlayer_with_vue-i18n.md +3 -3
- package/blog/id/is_i18next_outdated.md +317 -0
- package/blog/id/is_next-intl_outdated.md +363 -0
- package/blog/id/is_vue-i18n_outdated.md +338 -0
- package/blog/id/list_i18n_technologies/build-tools/vite.md +177 -0
- package/blog/id/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/id/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/id/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/id/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/id/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/id/what_is_internationalization.md +0 -2
- package/blog/it/date_time_number_formatting_locales.md +216 -0
- package/blog/it/detecting_missing_translations.md +202 -0
- package/blog/it/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/it/i18n_meaning.md +0 -2
- package/blog/it/i18n_testing_strategies.md +179 -0
- package/blog/it/intlayer_with_i18next.md +3 -3
- package/blog/it/intlayer_with_next-i18next.md +3 -3
- package/blog/it/intlayer_with_next-intl.md +3 -3
- package/blog/it/intlayer_with_react-i18next.md +3 -3
- package/blog/it/intlayer_with_react-intl.md +3 -3
- package/blog/it/intlayer_with_vue-i18n.md +3 -3
- package/blog/it/is_i18next_outdated.md +315 -0
- package/blog/it/is_next-intl_outdated.md +363 -0
- package/blog/it/is_vue-i18n_outdated.md +338 -0
- package/blog/it/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/it/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/it/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/it/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/it/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/it/what_is_internationalization.md +0 -2
- package/blog/ja/date_time_number_formatting_locales.md +216 -0
- package/blog/ja/detecting_missing_translations.md +202 -0
- package/blog/ja/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/ja/i18n_meaning.md +0 -2
- package/blog/ja/i18n_testing_strategies.md +179 -0
- package/blog/ja/intlayer_with_i18next.md +3 -3
- package/blog/ja/intlayer_with_next-i18next.md +3 -3
- package/blog/ja/intlayer_with_next-intl.md +3 -3
- package/blog/ja/intlayer_with_react-i18next.md +3 -3
- package/blog/ja/intlayer_with_react-intl.md +3 -3
- package/blog/ja/intlayer_with_vue-i18n.md +3 -3
- package/blog/ja/is_i18next_outdated.md +315 -0
- package/blog/ja/is_next-intl_outdated.md +363 -0
- package/blog/ja/is_vue-i18n_outdated.md +338 -0
- package/blog/ja/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/ja/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/ja/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/ja/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/ja/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/ja/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/ja/what_is_internationalization.md +0 -2
- package/blog/ko/date_time_number_formatting_locales.md +216 -0
- package/blog/ko/detecting_missing_translations.md +202 -0
- package/blog/ko/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/ko/i18n_meaning.md +0 -2
- package/blog/ko/i18n_testing_strategies.md +179 -0
- package/blog/ko/intlayer_with_i18next.md +3 -3
- package/blog/ko/intlayer_with_next-i18next.md +3 -3
- package/blog/ko/intlayer_with_next-intl.md +3 -3
- package/blog/ko/intlayer_with_react-i18next.md +3 -3
- package/blog/ko/intlayer_with_react-intl.md +3 -3
- package/blog/ko/intlayer_with_vue-i18n.md +3 -3
- package/blog/ko/is_i18next_outdated.md +317 -0
- package/blog/ko/is_next-intl_outdated.md +363 -0
- package/blog/ko/is_vue-i18n_outdated.md +338 -0
- package/blog/ko/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/ko/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/ko/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/ko/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/ko/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/ko/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/ko/what_is_internationalization.md +0 -2
- package/blog/pl/date_time_number_formatting_locales.md +216 -0
- package/blog/pl/detecting_missing_translations.md +202 -0
- package/blog/pl/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/pl/i18n_meaning.md +0 -2
- package/blog/pl/i18n_testing_strategies.md +179 -0
- package/blog/pl/intlayer_with_i18next.md +3 -3
- package/blog/pl/intlayer_with_next-i18next.md +3 -3
- package/blog/pl/intlayer_with_next-intl.md +3 -3
- package/blog/pl/intlayer_with_react-i18next.md +3 -3
- package/blog/pl/intlayer_with_react-intl.md +3 -3
- package/blog/pl/intlayer_with_vue-i18n.md +3 -3
- package/blog/pl/is_i18next_outdated.md +315 -0
- package/blog/pl/is_next-intl_outdated.md +363 -0
- package/blog/pl/is_vue-i18n_outdated.md +338 -0
- package/blog/pl/list_i18n_technologies/build-tools/vite.md +177 -0
- package/blog/pl/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/pl/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/pl/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/pl/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/pl/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/pl/what_is_internationalization.md +0 -2
- package/blog/pt/date_time_number_formatting_locales.md +216 -0
- package/blog/pt/detecting_missing_translations.md +202 -0
- package/blog/pt/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/pt/i18n_meaning.md +0 -2
- package/blog/pt/i18n_testing_strategies.md +179 -0
- package/blog/pt/intlayer_with_i18next.md +3 -3
- package/blog/pt/intlayer_with_next-i18next.md +3 -3
- package/blog/pt/intlayer_with_next-intl.md +3 -3
- package/blog/pt/intlayer_with_react-i18next.md +3 -3
- package/blog/pt/intlayer_with_react-intl.md +3 -3
- package/blog/pt/intlayer_with_vue-i18n.md +3 -3
- package/blog/pt/is_i18next_outdated.md +315 -0
- package/blog/pt/is_next-intl_outdated.md +363 -0
- package/blog/pt/is_vue-i18n_outdated.md +338 -0
- package/blog/pt/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/pt/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/pt/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/pt/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/pt/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/pt/what_is_internationalization.md +0 -2
- package/blog/ru/date_time_number_formatting_locales.md +216 -0
- package/blog/ru/detecting_missing_translations.md +202 -0
- package/blog/ru/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/ru/i18n_meaning.md +0 -2
- package/blog/ru/i18n_testing_strategies.md +179 -0
- package/blog/ru/intlayer_with_i18next.md +3 -3
- package/blog/ru/intlayer_with_next-i18next.md +3 -3
- package/blog/ru/intlayer_with_next-intl.md +3 -3
- package/blog/ru/intlayer_with_react-i18next.md +3 -3
- package/blog/ru/intlayer_with_react-intl.md +3 -3
- package/blog/ru/intlayer_with_vue-i18n.md +3 -3
- package/blog/ru/is_i18next_outdated.md +315 -0
- package/blog/ru/is_next-intl_outdated.md +363 -0
- package/blog/ru/is_vue-i18n_outdated.md +338 -0
- package/blog/ru/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/ru/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/ru/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/ru/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/ru/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/ru/what_is_internationalization.md +0 -2
- package/blog/tr/date_time_number_formatting_locales.md +216 -0
- package/blog/tr/detecting_missing_translations.md +202 -0
- package/blog/tr/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/tr/i18n_meaning.md +0 -2
- package/blog/tr/i18n_testing_strategies.md +179 -0
- package/blog/tr/intlayer_with_i18next.md +3 -3
- package/blog/tr/intlayer_with_next-i18next.md +3 -3
- package/blog/tr/intlayer_with_next-intl.md +3 -3
- package/blog/tr/intlayer_with_react-i18next.md +3 -3
- package/blog/tr/intlayer_with_react-intl.md +3 -3
- package/blog/tr/intlayer_with_vue-i18n.md +3 -3
- package/blog/tr/is_i18next_outdated.md +315 -0
- package/blog/tr/is_next-intl_outdated.md +363 -0
- package/blog/tr/is_vue-i18n_outdated.md +338 -0
- package/blog/tr/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/tr/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/tr/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/tr/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/tr/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/tr/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/tr/what_is_internationalization.md +0 -2
- package/blog/uk/date_time_number_formatting_locales.md +216 -0
- package/blog/uk/detecting_missing_translations.md +202 -0
- package/blog/uk/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/uk/i18n_meaning.md +0 -2
- package/blog/uk/i18n_testing_strategies.md +179 -0
- package/blog/uk/intlayer_with_i18next.md +3 -3
- package/blog/uk/intlayer_with_next-i18next.md +3 -3
- package/blog/uk/intlayer_with_next-intl.md +3 -3
- package/blog/uk/intlayer_with_react-i18next.md +3 -3
- package/blog/uk/intlayer_with_react-intl.md +3 -3
- package/blog/uk/intlayer_with_vue-i18n.md +3 -3
- package/blog/uk/is_i18next_outdated.md +315 -0
- package/blog/uk/is_next-intl_outdated.md +363 -0
- package/blog/uk/is_vue-i18n_outdated.md +338 -0
- package/blog/uk/list_i18n_technologies/build-tools/vite.md +177 -0
- package/blog/uk/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/uk/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/uk/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/uk/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/uk/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/uk/what_is_internationalization.md +0 -2
- package/blog/vi/date_time_number_formatting_locales.md +216 -0
- package/blog/vi/detecting_missing_translations.md +202 -0
- package/blog/vi/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/vi/i18n_meaning.md +0 -2
- package/blog/vi/i18n_testing_strategies.md +179 -0
- package/blog/vi/intlayer_with_i18next.md +3 -3
- package/blog/vi/intlayer_with_next-i18next.md +3 -3
- package/blog/vi/intlayer_with_next-intl.md +3 -3
- package/blog/vi/intlayer_with_react-i18next.md +3 -3
- package/blog/vi/intlayer_with_react-intl.md +3 -3
- package/blog/vi/intlayer_with_vue-i18n.md +3 -3
- package/blog/vi/is_i18next_outdated.md +317 -0
- package/blog/vi/is_next-intl_outdated.md +363 -0
- package/blog/vi/is_vue-i18n_outdated.md +338 -0
- package/blog/vi/list_i18n_technologies/build-tools/vite.md +177 -0
- package/blog/vi/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/vi/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/vi/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/vi/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/vi/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/vi/what_is_internationalization.md +0 -2
- package/blog/zh/date_time_number_formatting_locales.md +216 -0
- package/blog/zh/detecting_missing_translations.md +202 -0
- package/blog/zh/i18n_in_ci_cd_pipelines.md +247 -0
- package/blog/zh/i18n_meaning.md +0 -2
- package/blog/zh/i18n_testing_strategies.md +179 -0
- package/blog/zh/intlayer_with_i18next.md +3 -3
- package/blog/zh/intlayer_with_next-i18next.md +3 -3
- package/blog/zh/intlayer_with_next-intl.md +3 -3
- package/blog/zh/intlayer_with_react-i18next.md +3 -3
- package/blog/zh/intlayer_with_react-intl.md +3 -3
- package/blog/zh/intlayer_with_vue-i18n.md +3 -3
- package/blog/zh/is_i18next_outdated.md +317 -0
- package/blog/zh/is_next-intl_outdated.md +363 -0
- package/blog/zh/is_vue-i18n_outdated.md +338 -0
- package/blog/zh/list_i18n_technologies/build-tools/vite.md +179 -0
- package/blog/zh/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/zh/list_i18n_technologies/frameworks/react-native.md +0 -2
- package/blog/zh/list_i18n_technologies/frameworks/react.md +0 -2
- package/blog/zh/list_i18n_technologies/frameworks/svelte.md +0 -2
- package/blog/zh/list_i18n_technologies/frameworks/vue.md +0 -2
- package/blog/zh/what_is_internationalization.md +0 -2
- package/dist/cjs/generated/blog.entry.cjs +320 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +320 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +16 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/docs/ar/bundle_optimization.md +186 -186
- package/docs/ar/intlayer_with_adonisjs.md +3 -3
- package/docs/ar/intlayer_with_analog.md +3 -3
- package/docs/ar/intlayer_with_angular_19.md +3 -3
- package/docs/ar/intlayer_with_angular_21.md +3 -3
- package/docs/ar/intlayer_with_astro.md +3 -3
- package/docs/ar/intlayer_with_astro_lit.md +3 -3
- package/docs/ar/intlayer_with_astro_preact.md +3 -3
- package/docs/ar/intlayer_with_astro_react.md +3 -3
- package/docs/ar/intlayer_with_astro_solid.md +3 -3
- package/docs/ar/intlayer_with_astro_svelte.md +3 -3
- package/docs/ar/intlayer_with_astro_vanilla.md +3 -3
- package/docs/ar/intlayer_with_astro_vue.md +3 -3
- package/docs/ar/intlayer_with_create_react_app.md +3 -3
- package/docs/ar/intlayer_with_elysia.md +4 -4
- package/docs/ar/intlayer_with_express.md +3 -3
- package/docs/ar/intlayer_with_fastify.md +4 -4
- package/docs/ar/intlayer_with_hono.md +3 -3
- package/docs/ar/intlayer_with_lynx+react.md +3 -3
- package/docs/ar/intlayer_with_nestjs.md +3 -3
- package/docs/ar/intlayer_with_next-i18next.md +3 -3
- package/docs/ar/intlayer_with_nextjs_14.md +3 -3
- package/docs/ar/intlayer_with_nextjs_15.md +3 -3
- package/docs/ar/intlayer_with_nextjs_16.md +3 -3
- package/docs/ar/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/ar/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/ar/intlayer_with_nuxt.md +3 -3
- package/docs/ar/intlayer_with_react_native+expo.md +3 -3
- package/docs/ar/intlayer_with_react_router_v7.md +3 -3
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +3 -3
- package/docs/ar/intlayer_with_solid_start.md +3 -3
- package/docs/ar/intlayer_with_svelte_kit.md +3 -3
- package/docs/ar/intlayer_with_tanstack+solid.md +3 -3
- package/docs/ar/intlayer_with_tanstack.md +3 -3
- package/docs/ar/intlayer_with_vite+lit.md +3 -3
- package/docs/ar/intlayer_with_vite+preact.md +3 -3
- package/docs/ar/intlayer_with_vite+react.md +3 -3
- package/docs/ar/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/ar/intlayer_with_vite+solid.md +3 -3
- package/docs/ar/intlayer_with_vite+svelte.md +4 -12
- package/docs/ar/intlayer_with_vite+vanilla.md +3 -3
- package/docs/ar/intlayer_with_vite+vue.md +3 -3
- package/docs/ar/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/ar/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/bn/bundle_optimization.md +186 -186
- package/docs/bn/intlayer_with_angular_21.md +3 -3
- package/docs/bn/intlayer_with_fastify.md +4 -4
- package/docs/bn/intlayer_with_hono.md +3 -3
- package/docs/bn/intlayer_with_vite+lit.md +3 -3
- package/docs/bn/intlayer_with_vite+vanilla.md +3 -3
- package/docs/cs/bundle_optimization.md +186 -186
- package/docs/cs/intlayer_with_angular_21.md +3 -3
- package/docs/cs/intlayer_with_fastify.md +4 -4
- package/docs/cs/intlayer_with_hono.md +3 -3
- package/docs/cs/intlayer_with_vite+lit.md +3 -3
- package/docs/cs/intlayer_with_vite+vanilla.md +3 -3
- package/docs/de/bundle_optimization.md +186 -186
- package/docs/de/intlayer_with_adonisjs.md +3 -3
- package/docs/de/intlayer_with_analog.md +3 -3
- package/docs/de/intlayer_with_angular_19.md +3 -3
- package/docs/de/intlayer_with_angular_21.md +3 -3
- package/docs/de/intlayer_with_astro.md +3 -3
- package/docs/de/intlayer_with_astro_lit.md +3 -3
- package/docs/de/intlayer_with_astro_preact.md +3 -3
- package/docs/de/intlayer_with_astro_react.md +3 -3
- package/docs/de/intlayer_with_astro_solid.md +3 -3
- package/docs/de/intlayer_with_astro_svelte.md +3 -3
- package/docs/de/intlayer_with_astro_vanilla.md +3 -3
- package/docs/de/intlayer_with_astro_vue.md +3 -3
- package/docs/de/intlayer_with_create_react_app.md +3 -3
- package/docs/de/intlayer_with_elysia.md +4 -4
- package/docs/de/intlayer_with_express.md +3 -3
- package/docs/de/intlayer_with_fastify.md +4 -4
- package/docs/de/intlayer_with_hono.md +3 -3
- package/docs/de/intlayer_with_lynx+react.md +3 -3
- package/docs/de/intlayer_with_nestjs.md +3 -3
- package/docs/de/intlayer_with_next-i18next.md +3 -3
- package/docs/de/intlayer_with_nextjs_14.md +3 -3
- package/docs/de/intlayer_with_nextjs_15.md +3 -3
- package/docs/de/intlayer_with_nextjs_16.md +3 -3
- package/docs/de/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/de/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/de/intlayer_with_nuxt.md +3 -3
- package/docs/de/intlayer_with_react_native+expo.md +3 -3
- package/docs/de/intlayer_with_react_router_v7.md +3 -3
- package/docs/de/intlayer_with_solid_start.md +3 -3
- package/docs/de/intlayer_with_svelte_kit.md +3 -3
- package/docs/de/intlayer_with_tanstack+solid.md +3 -3
- package/docs/de/intlayer_with_tanstack.md +3 -3
- package/docs/de/intlayer_with_vite+lit.md +3 -3
- package/docs/de/intlayer_with_vite+preact.md +3 -3
- package/docs/de/intlayer_with_vite+react.md +3 -3
- package/docs/de/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/de/intlayer_with_vite+solid.md +3 -3
- package/docs/de/intlayer_with_vite+svelte.md +4 -12
- package/docs/de/intlayer_with_vite+vanilla.md +3 -3
- package/docs/de/intlayer_with_vite+vue.md +3 -3
- package/docs/de/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/de/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/de/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/de/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/en/bundle_optimization.md +186 -186
- package/docs/en/intlayer_with_adonisjs.md +3 -3
- package/docs/en/intlayer_with_analog.md +3 -3
- package/docs/en/intlayer_with_angular_19.md +3 -3
- package/docs/en/intlayer_with_angular_21.md +3 -3
- package/docs/en/intlayer_with_astro.md +3 -3
- package/docs/en/intlayer_with_astro_lit.md +3 -3
- package/docs/en/intlayer_with_astro_preact.md +3 -3
- package/docs/en/intlayer_with_astro_react.md +3 -3
- package/docs/en/intlayer_with_astro_solid.md +3 -3
- package/docs/en/intlayer_with_astro_svelte.md +3 -3
- package/docs/en/intlayer_with_astro_vanilla.md +3 -3
- package/docs/en/intlayer_with_astro_vue.md +3 -3
- package/docs/en/intlayer_with_create_react_app.md +3 -3
- package/docs/en/intlayer_with_elysia.md +4 -4
- package/docs/en/intlayer_with_express.md +3 -3
- package/docs/en/intlayer_with_fastify.md +4 -4
- package/docs/en/intlayer_with_hono.md +3 -3
- package/docs/en/intlayer_with_lynx+react.md +3 -3
- package/docs/en/intlayer_with_nestjs.md +3 -3
- package/docs/en/intlayer_with_next-i18next.md +3 -3
- package/docs/en/intlayer_with_nextjs_14.md +3 -3
- package/docs/en/intlayer_with_nextjs_15.md +3 -3
- package/docs/en/intlayer_with_nextjs_16.md +3 -3
- package/docs/en/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/en/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/en/intlayer_with_nuxt.md +3 -3
- package/docs/en/intlayer_with_react_native+expo.md +3 -3
- package/docs/en/intlayer_with_react_router_v7.md +3 -3
- package/docs/en/intlayer_with_solid_start.md +3 -3
- package/docs/en/intlayer_with_svelte_kit.md +3 -3
- package/docs/en/intlayer_with_tanstack+solid.md +3 -3
- package/docs/en/intlayer_with_tanstack.md +3 -3
- package/docs/en/intlayer_with_vite+lit.md +3 -3
- package/docs/en/intlayer_with_vite+preact.md +3 -3
- package/docs/en/intlayer_with_vite+react.md +3 -3
- package/docs/en/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/en/intlayer_with_vite+solid.md +3 -3
- package/docs/en/intlayer_with_vite+svelte.md +4 -12
- package/docs/en/intlayer_with_vite+vanilla.md +3 -3
- package/docs/en/intlayer_with_vite+vue.md +3 -3
- package/docs/en/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/en/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/en/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/en/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/en-GB/bundle_optimization.md +186 -186
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -3
- package/docs/en-GB/intlayer_with_analog.md +3 -3
- package/docs/en-GB/intlayer_with_angular_19.md +3 -3
- package/docs/en-GB/intlayer_with_angular_21.md +3 -3
- package/docs/en-GB/intlayer_with_astro.md +3 -3
- package/docs/en-GB/intlayer_with_astro_lit.md +3 -3
- package/docs/en-GB/intlayer_with_astro_preact.md +3 -3
- package/docs/en-GB/intlayer_with_astro_react.md +3 -3
- package/docs/en-GB/intlayer_with_astro_solid.md +3 -3
- package/docs/en-GB/intlayer_with_astro_svelte.md +3 -3
- package/docs/en-GB/intlayer_with_astro_vanilla.md +3 -3
- package/docs/en-GB/intlayer_with_astro_vue.md +3 -3
- package/docs/en-GB/intlayer_with_create_react_app.md +3 -3
- package/docs/en-GB/intlayer_with_elysia.md +4 -4
- package/docs/en-GB/intlayer_with_express.md +3 -3
- package/docs/en-GB/intlayer_with_fastify.md +4 -4
- package/docs/en-GB/intlayer_with_hono.md +3 -3
- package/docs/en-GB/intlayer_with_lynx+react.md +3 -3
- package/docs/en-GB/intlayer_with_nestjs.md +3 -3
- package/docs/en-GB/intlayer_with_next-i18next.md +3 -3
- package/docs/en-GB/intlayer_with_nextjs_14.md +3 -3
- package/docs/en-GB/intlayer_with_nextjs_15.md +3 -3
- package/docs/en-GB/intlayer_with_nextjs_16.md +3 -3
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/en-GB/intlayer_with_nuxt.md +3 -3
- package/docs/en-GB/intlayer_with_react_native+expo.md +3 -3
- package/docs/en-GB/intlayer_with_react_router_v7.md +3 -3
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +3 -3
- package/docs/en-GB/intlayer_with_solid_start.md +3 -3
- package/docs/en-GB/intlayer_with_svelte_kit.md +3 -3
- package/docs/en-GB/intlayer_with_tanstack+solid.md +3 -3
- package/docs/en-GB/intlayer_with_tanstack.md +3 -3
- package/docs/en-GB/intlayer_with_vite+lit.md +3 -3
- package/docs/en-GB/intlayer_with_vite+preact.md +3 -3
- package/docs/en-GB/intlayer_with_vite+react.md +3 -3
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/en-GB/intlayer_with_vite+solid.md +3 -3
- package/docs/en-GB/intlayer_with_vite+svelte.md +4 -12
- package/docs/en-GB/intlayer_with_vite+vanilla.md +3 -3
- package/docs/en-GB/intlayer_with_vite+vue.md +3 -3
- package/docs/en-GB/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/en-GB/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/es/bundle_optimization.md +186 -186
- package/docs/es/intlayer_with_adonisjs.md +3 -3
- package/docs/es/intlayer_with_analog.md +3 -3
- package/docs/es/intlayer_with_angular_19.md +3 -3
- package/docs/es/intlayer_with_angular_21.md +3 -3
- package/docs/es/intlayer_with_astro.md +3 -3
- package/docs/es/intlayer_with_astro_lit.md +3 -3
- package/docs/es/intlayer_with_astro_preact.md +3 -3
- package/docs/es/intlayer_with_astro_react.md +3 -3
- package/docs/es/intlayer_with_astro_solid.md +3 -3
- package/docs/es/intlayer_with_astro_svelte.md +3 -3
- package/docs/es/intlayer_with_astro_vanilla.md +3 -3
- package/docs/es/intlayer_with_astro_vue.md +3 -3
- package/docs/es/intlayer_with_create_react_app.md +3 -3
- package/docs/es/intlayer_with_elysia.md +4 -4
- package/docs/es/intlayer_with_express.md +3 -3
- package/docs/es/intlayer_with_fastify.md +4 -4
- package/docs/es/intlayer_with_hono.md +3 -3
- package/docs/es/intlayer_with_lynx+react.md +3 -3
- package/docs/es/intlayer_with_nestjs.md +3 -3
- package/docs/es/intlayer_with_next-i18next.md +3 -3
- package/docs/es/intlayer_with_nextjs_14.md +3 -3
- package/docs/es/intlayer_with_nextjs_15.md +3 -3
- package/docs/es/intlayer_with_nextjs_16.md +3 -3
- package/docs/es/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/es/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/es/intlayer_with_nuxt.md +3 -3
- package/docs/es/intlayer_with_react_native+expo.md +3 -3
- package/docs/es/intlayer_with_react_router_v7.md +3 -3
- package/docs/es/intlayer_with_solid_start.md +3 -3
- package/docs/es/intlayer_with_svelte_kit.md +3 -3
- package/docs/es/intlayer_with_tanstack+solid.md +3 -3
- package/docs/es/intlayer_with_tanstack.md +3 -3
- package/docs/es/intlayer_with_vite+lit.md +3 -3
- package/docs/es/intlayer_with_vite+preact.md +3 -3
- package/docs/es/intlayer_with_vite+react.md +3 -3
- package/docs/es/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/es/intlayer_with_vite+solid.md +3 -3
- package/docs/es/intlayer_with_vite+svelte.md +4 -12
- package/docs/es/intlayer_with_vite+vanilla.md +3 -3
- package/docs/es/intlayer_with_vite+vue.md +3 -3
- package/docs/es/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/es/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/es/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/es/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/fr/bundle_optimization.md +186 -186
- package/docs/fr/intlayer_with_adonisjs.md +3 -3
- package/docs/fr/intlayer_with_analog.md +3 -3
- package/docs/fr/intlayer_with_angular_19.md +3 -3
- package/docs/fr/intlayer_with_angular_21.md +3 -3
- package/docs/fr/intlayer_with_astro.md +3 -3
- package/docs/fr/intlayer_with_astro_lit.md +3 -3
- package/docs/fr/intlayer_with_astro_preact.md +3 -3
- package/docs/fr/intlayer_with_astro_react.md +3 -3
- package/docs/fr/intlayer_with_astro_solid.md +3 -3
- package/docs/fr/intlayer_with_astro_svelte.md +3 -3
- package/docs/fr/intlayer_with_astro_vanilla.md +3 -3
- package/docs/fr/intlayer_with_astro_vue.md +3 -3
- package/docs/fr/intlayer_with_create_react_app.md +3 -3
- package/docs/fr/intlayer_with_elysia.md +4 -4
- package/docs/fr/intlayer_with_express.md +3 -3
- package/docs/fr/intlayer_with_fastify.md +4 -4
- package/docs/fr/intlayer_with_hono.md +3 -3
- package/docs/fr/intlayer_with_lynx+react.md +3 -3
- package/docs/fr/intlayer_with_nestjs.md +3 -3
- package/docs/fr/intlayer_with_next-i18next.md +3 -3
- package/docs/fr/intlayer_with_nextjs_14.md +3 -3
- package/docs/fr/intlayer_with_nextjs_15.md +3 -3
- package/docs/fr/intlayer_with_nextjs_16.md +3 -3
- package/docs/fr/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/fr/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/fr/intlayer_with_nuxt.md +3 -3
- package/docs/fr/intlayer_with_react_native+expo.md +3 -3
- package/docs/fr/intlayer_with_react_router_v7.md +3 -3
- package/docs/fr/intlayer_with_solid_start.md +3 -3
- package/docs/fr/intlayer_with_svelte_kit.md +3 -3
- package/docs/fr/intlayer_with_tanstack+solid.md +3 -3
- package/docs/fr/intlayer_with_tanstack.md +3 -3
- package/docs/fr/intlayer_with_vite+lit.md +3 -3
- package/docs/fr/intlayer_with_vite+preact.md +3 -3
- package/docs/fr/intlayer_with_vite+react.md +3 -3
- package/docs/fr/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/fr/intlayer_with_vite+solid.md +3 -3
- package/docs/fr/intlayer_with_vite+svelte.md +4 -12
- package/docs/fr/intlayer_with_vite+vanilla.md +3 -3
- package/docs/fr/intlayer_with_vite+vue.md +3 -3
- package/docs/fr/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/fr/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/hi/bundle_optimization.md +186 -186
- package/docs/hi/intlayer_with_adonisjs.md +3 -3
- package/docs/hi/intlayer_with_analog.md +3 -3
- package/docs/hi/intlayer_with_angular_19.md +3 -3
- package/docs/hi/intlayer_with_angular_21.md +3 -3
- package/docs/hi/intlayer_with_astro.md +3 -3
- package/docs/hi/intlayer_with_astro_lit.md +3 -3
- package/docs/hi/intlayer_with_astro_preact.md +3 -3
- package/docs/hi/intlayer_with_astro_react.md +3 -3
- package/docs/hi/intlayer_with_astro_solid.md +3 -3
- package/docs/hi/intlayer_with_astro_svelte.md +3 -3
- package/docs/hi/intlayer_with_astro_vanilla.md +3 -3
- package/docs/hi/intlayer_with_astro_vue.md +3 -3
- package/docs/hi/intlayer_with_create_react_app.md +3 -3
- package/docs/hi/intlayer_with_elysia.md +4 -4
- package/docs/hi/intlayer_with_express.md +3 -3
- package/docs/hi/intlayer_with_fastify.md +4 -4
- package/docs/hi/intlayer_with_hono.md +3 -3
- package/docs/hi/intlayer_with_lynx+react.md +3 -3
- package/docs/hi/intlayer_with_nestjs.md +3 -3
- package/docs/hi/intlayer_with_next-i18next.md +3 -3
- package/docs/hi/intlayer_with_nextjs_14.md +3 -3
- package/docs/hi/intlayer_with_nextjs_15.md +3 -3
- package/docs/hi/intlayer_with_nextjs_16.md +3 -3
- package/docs/hi/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/hi/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/hi/intlayer_with_nuxt.md +3 -3
- package/docs/hi/intlayer_with_react_native+expo.md +3 -3
- package/docs/hi/intlayer_with_react_router_v7.md +3 -3
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +3 -3
- package/docs/hi/intlayer_with_solid_start.md +3 -3
- package/docs/hi/intlayer_with_svelte_kit.md +3 -3
- package/docs/hi/intlayer_with_tanstack+solid.md +3 -3
- package/docs/hi/intlayer_with_tanstack.md +3 -3
- package/docs/hi/intlayer_with_vite+lit.md +3 -3
- package/docs/hi/intlayer_with_vite+preact.md +3 -3
- package/docs/hi/intlayer_with_vite+react.md +3 -3
- package/docs/hi/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/hi/intlayer_with_vite+solid.md +3 -3
- package/docs/hi/intlayer_with_vite+svelte.md +4 -12
- package/docs/hi/intlayer_with_vite+vanilla.md +3 -3
- package/docs/hi/intlayer_with_vite+vue.md +3 -3
- package/docs/hi/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/hi/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/hi/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/hi/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/hi/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/hi/packages/intlayer/index.md +3 -3
- package/docs/id/bundle_optimization.md +186 -186
- package/docs/id/intlayer_with_adonisjs.md +3 -3
- package/docs/id/intlayer_with_analog.md +3 -3
- package/docs/id/intlayer_with_angular_19.md +3 -3
- package/docs/id/intlayer_with_angular_21.md +3 -3
- package/docs/id/intlayer_with_astro.md +3 -3
- package/docs/id/intlayer_with_astro_lit.md +3 -3
- package/docs/id/intlayer_with_astro_preact.md +3 -3
- package/docs/id/intlayer_with_astro_react.md +3 -3
- package/docs/id/intlayer_with_astro_solid.md +3 -3
- package/docs/id/intlayer_with_astro_svelte.md +3 -3
- package/docs/id/intlayer_with_astro_vanilla.md +3 -3
- package/docs/id/intlayer_with_astro_vue.md +3 -3
- package/docs/id/intlayer_with_create_react_app.md +3 -3
- package/docs/id/intlayer_with_elysia.md +4 -4
- package/docs/id/intlayer_with_express.md +3 -3
- package/docs/id/intlayer_with_fastify.md +4 -4
- package/docs/id/intlayer_with_hono.md +3 -3
- package/docs/id/intlayer_with_lynx+react.md +3 -3
- package/docs/id/intlayer_with_nestjs.md +3 -3
- package/docs/id/intlayer_with_next-i18next.md +3 -3
- package/docs/id/intlayer_with_nextjs_14.md +3 -3
- package/docs/id/intlayer_with_nextjs_15.md +3 -3
- package/docs/id/intlayer_with_nextjs_16.md +3 -3
- package/docs/id/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/id/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/id/intlayer_with_nuxt.md +3 -3
- package/docs/id/intlayer_with_react_native+expo.md +3 -3
- package/docs/id/intlayer_with_react_router_v7.md +3 -3
- package/docs/id/intlayer_with_solid_start.md +3 -3
- package/docs/id/intlayer_with_svelte_kit.md +3 -3
- package/docs/id/intlayer_with_tanstack+solid.md +3 -3
- package/docs/id/intlayer_with_tanstack.md +3 -3
- package/docs/id/intlayer_with_vite+lit.md +3 -3
- package/docs/id/intlayer_with_vite+preact.md +3 -3
- package/docs/id/intlayer_with_vite+react.md +3 -3
- package/docs/id/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/id/intlayer_with_vite+solid.md +3 -3
- package/docs/id/intlayer_with_vite+svelte.md +4 -12
- package/docs/id/intlayer_with_vite+vanilla.md +3 -3
- package/docs/id/intlayer_with_vite+vue.md +3 -3
- package/docs/id/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/id/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/id/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/id/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/id/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/it/bundle_optimization.md +186 -186
- package/docs/it/intlayer_with_adonisjs.md +3 -3
- package/docs/it/intlayer_with_analog.md +3 -3
- package/docs/it/intlayer_with_angular_19.md +3 -3
- package/docs/it/intlayer_with_angular_21.md +3 -3
- package/docs/it/intlayer_with_astro.md +3 -3
- package/docs/it/intlayer_with_astro_lit.md +3 -3
- package/docs/it/intlayer_with_astro_preact.md +3 -3
- package/docs/it/intlayer_with_astro_react.md +3 -3
- package/docs/it/intlayer_with_astro_solid.md +3 -3
- package/docs/it/intlayer_with_astro_svelte.md +3 -3
- package/docs/it/intlayer_with_astro_vanilla.md +3 -3
- package/docs/it/intlayer_with_astro_vue.md +3 -3
- package/docs/it/intlayer_with_create_react_app.md +3 -3
- package/docs/it/intlayer_with_elysia.md +4 -4
- package/docs/it/intlayer_with_express.md +3 -3
- package/docs/it/intlayer_with_fastify.md +4 -4
- package/docs/it/intlayer_with_hono.md +3 -3
- package/docs/it/intlayer_with_lynx+react.md +3 -3
- package/docs/it/intlayer_with_nestjs.md +3 -3
- package/docs/it/intlayer_with_next-i18next.md +3 -3
- package/docs/it/intlayer_with_nextjs_14.md +3 -3
- package/docs/it/intlayer_with_nextjs_15.md +3 -3
- package/docs/it/intlayer_with_nextjs_16.md +3 -3
- package/docs/it/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/it/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/it/intlayer_with_nuxt.md +3 -3
- package/docs/it/intlayer_with_react_native+expo.md +3 -3
- package/docs/it/intlayer_with_react_router_v7.md +3 -3
- package/docs/it/intlayer_with_solid_start.md +3 -3
- package/docs/it/intlayer_with_svelte_kit.md +3 -3
- package/docs/it/intlayer_with_tanstack+solid.md +3 -3
- package/docs/it/intlayer_with_tanstack.md +3 -3
- package/docs/it/intlayer_with_vite+lit.md +3 -3
- package/docs/it/intlayer_with_vite+preact.md +3 -3
- package/docs/it/intlayer_with_vite+react.md +3 -3
- package/docs/it/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/it/intlayer_with_vite+solid.md +3 -3
- package/docs/it/intlayer_with_vite+svelte.md +4 -12
- package/docs/it/intlayer_with_vite+vanilla.md +3 -3
- package/docs/it/intlayer_with_vite+vue.md +3 -3
- package/docs/it/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/it/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/it/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/it/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/ja/bundle_optimization.md +186 -186
- package/docs/ja/intlayer_with_adonisjs.md +3 -3
- package/docs/ja/intlayer_with_analog.md +3 -3
- package/docs/ja/intlayer_with_angular_19.md +3 -3
- package/docs/ja/intlayer_with_angular_21.md +3 -3
- package/docs/ja/intlayer_with_astro.md +3 -3
- package/docs/ja/intlayer_with_astro_lit.md +3 -3
- package/docs/ja/intlayer_with_astro_preact.md +3 -3
- package/docs/ja/intlayer_with_astro_react.md +3 -3
- package/docs/ja/intlayer_with_astro_solid.md +3 -3
- package/docs/ja/intlayer_with_astro_svelte.md +3 -3
- package/docs/ja/intlayer_with_astro_vanilla.md +3 -3
- package/docs/ja/intlayer_with_astro_vue.md +3 -3
- package/docs/ja/intlayer_with_create_react_app.md +3 -3
- package/docs/ja/intlayer_with_elysia.md +4 -4
- package/docs/ja/intlayer_with_express.md +3 -3
- package/docs/ja/intlayer_with_fastify.md +4 -4
- package/docs/ja/intlayer_with_hono.md +3 -3
- package/docs/ja/intlayer_with_lynx+react.md +3 -3
- package/docs/ja/intlayer_with_nestjs.md +3 -3
- package/docs/ja/intlayer_with_next-i18next.md +3 -3
- package/docs/ja/intlayer_with_nextjs_14.md +3 -3
- package/docs/ja/intlayer_with_nextjs_15.md +3 -3
- package/docs/ja/intlayer_with_nextjs_16.md +3 -3
- package/docs/ja/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/ja/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/ja/intlayer_with_nuxt.md +3 -3
- package/docs/ja/intlayer_with_react_native+expo.md +3 -3
- package/docs/ja/intlayer_with_react_router_v7.md +3 -3
- package/docs/ja/intlayer_with_solid_start.md +3 -3
- package/docs/ja/intlayer_with_svelte_kit.md +3 -3
- package/docs/ja/intlayer_with_tanstack+solid.md +3 -3
- package/docs/ja/intlayer_with_tanstack.md +3 -3
- package/docs/ja/intlayer_with_vite+lit.md +3 -3
- package/docs/ja/intlayer_with_vite+preact.md +3 -3
- package/docs/ja/intlayer_with_vite+react.md +3 -3
- package/docs/ja/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/ja/intlayer_with_vite+solid.md +3 -3
- package/docs/ja/intlayer_with_vite+svelte.md +4 -12
- package/docs/ja/intlayer_with_vite+vanilla.md +3 -3
- package/docs/ja/intlayer_with_vite+vue.md +3 -3
- package/docs/ja/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/ja/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/ko/bundle_optimization.md +186 -186
- package/docs/ko/intlayer_with_adonisjs.md +3 -3
- package/docs/ko/intlayer_with_analog.md +3 -3
- package/docs/ko/intlayer_with_angular_19.md +3 -3
- package/docs/ko/intlayer_with_angular_21.md +3 -3
- package/docs/ko/intlayer_with_astro.md +3 -3
- package/docs/ko/intlayer_with_astro_lit.md +3 -3
- package/docs/ko/intlayer_with_astro_preact.md +3 -3
- package/docs/ko/intlayer_with_astro_react.md +3 -3
- package/docs/ko/intlayer_with_astro_solid.md +3 -3
- package/docs/ko/intlayer_with_astro_svelte.md +3 -3
- package/docs/ko/intlayer_with_astro_vanilla.md +3 -3
- package/docs/ko/intlayer_with_astro_vue.md +3 -3
- package/docs/ko/intlayer_with_create_react_app.md +3 -3
- package/docs/ko/intlayer_with_elysia.md +4 -4
- package/docs/ko/intlayer_with_express.md +3 -3
- package/docs/ko/intlayer_with_fastify.md +4 -4
- package/docs/ko/intlayer_with_hono.md +3 -3
- package/docs/ko/intlayer_with_lynx+react.md +3 -3
- package/docs/ko/intlayer_with_nestjs.md +3 -3
- package/docs/ko/intlayer_with_next-i18next.md +3 -3
- package/docs/ko/intlayer_with_nextjs_14.md +3 -3
- package/docs/ko/intlayer_with_nextjs_15.md +3 -3
- package/docs/ko/intlayer_with_nextjs_16.md +3 -3
- package/docs/ko/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/ko/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/ko/intlayer_with_nuxt.md +3 -3
- package/docs/ko/intlayer_with_react_native+expo.md +3 -3
- package/docs/ko/intlayer_with_react_router_v7.md +3 -3
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +3 -3
- package/docs/ko/intlayer_with_solid_start.md +3 -3
- package/docs/ko/intlayer_with_svelte_kit.md +3 -3
- package/docs/ko/intlayer_with_tanstack+solid.md +3 -3
- package/docs/ko/intlayer_with_tanstack.md +3 -3
- package/docs/ko/intlayer_with_vite+lit.md +3 -3
- package/docs/ko/intlayer_with_vite+preact.md +3 -3
- package/docs/ko/intlayer_with_vite+react.md +3 -3
- package/docs/ko/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/ko/intlayer_with_vite+solid.md +3 -3
- package/docs/ko/intlayer_with_vite+svelte.md +4 -12
- package/docs/ko/intlayer_with_vite+vanilla.md +3 -3
- package/docs/ko/intlayer_with_vite+vue.md +3 -3
- package/docs/ko/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/ko/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/nl/bundle_optimization.md +186 -186
- package/docs/nl/intlayer_with_angular_21.md +3 -3
- package/docs/nl/intlayer_with_fastify.md +4 -4
- package/docs/nl/intlayer_with_hono.md +3 -3
- package/docs/nl/intlayer_with_vite+lit.md +3 -3
- package/docs/nl/intlayer_with_vite+vanilla.md +3 -3
- package/docs/pl/bundle_optimization.md +186 -186
- package/docs/pl/intlayer_with_adonisjs.md +3 -3
- package/docs/pl/intlayer_with_analog.md +3 -3
- package/docs/pl/intlayer_with_angular_19.md +3 -3
- package/docs/pl/intlayer_with_angular_21.md +3 -3
- package/docs/pl/intlayer_with_astro.md +3 -3
- package/docs/pl/intlayer_with_astro_lit.md +3 -3
- package/docs/pl/intlayer_with_astro_preact.md +3 -3
- package/docs/pl/intlayer_with_astro_react.md +3 -3
- package/docs/pl/intlayer_with_astro_solid.md +3 -3
- package/docs/pl/intlayer_with_astro_svelte.md +3 -3
- package/docs/pl/intlayer_with_astro_vanilla.md +3 -3
- package/docs/pl/intlayer_with_astro_vue.md +3 -3
- package/docs/pl/intlayer_with_create_react_app.md +3 -3
- package/docs/pl/intlayer_with_elysia.md +4 -4
- package/docs/pl/intlayer_with_express.md +3 -3
- package/docs/pl/intlayer_with_fastify.md +4 -4
- package/docs/pl/intlayer_with_hono.md +3 -3
- package/docs/pl/intlayer_with_lynx+react.md +3 -3
- package/docs/pl/intlayer_with_nestjs.md +3 -3
- package/docs/pl/intlayer_with_next-i18next.md +3 -3
- package/docs/pl/intlayer_with_nextjs_14.md +3 -3
- package/docs/pl/intlayer_with_nextjs_15.md +3 -3
- package/docs/pl/intlayer_with_nextjs_16.md +3 -3
- package/docs/pl/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/pl/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/pl/intlayer_with_nuxt.md +3 -3
- package/docs/pl/intlayer_with_react_native+expo.md +3 -3
- package/docs/pl/intlayer_with_react_router_v7.md +3 -3
- package/docs/pl/intlayer_with_solid_start.md +3 -3
- package/docs/pl/intlayer_with_svelte_kit.md +3 -3
- package/docs/pl/intlayer_with_tanstack+solid.md +3 -3
- package/docs/pl/intlayer_with_tanstack.md +3 -3
- package/docs/pl/intlayer_with_vite+lit.md +3 -3
- package/docs/pl/intlayer_with_vite+preact.md +3 -3
- package/docs/pl/intlayer_with_vite+react.md +3 -3
- package/docs/pl/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/pl/intlayer_with_vite+solid.md +3 -3
- package/docs/pl/intlayer_with_vite+svelte.md +4 -12
- package/docs/pl/intlayer_with_vite+vanilla.md +3 -3
- package/docs/pl/intlayer_with_vite+vue.md +3 -3
- package/docs/pl/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/pl/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/pt/bundle_optimization.md +186 -186
- package/docs/pt/intlayer_with_adonisjs.md +3 -3
- package/docs/pt/intlayer_with_analog.md +3 -3
- package/docs/pt/intlayer_with_angular_19.md +3 -3
- package/docs/pt/intlayer_with_angular_21.md +3 -3
- package/docs/pt/intlayer_with_astro.md +3 -3
- package/docs/pt/intlayer_with_astro_lit.md +3 -3
- package/docs/pt/intlayer_with_astro_preact.md +3 -3
- package/docs/pt/intlayer_with_astro_react.md +3 -3
- package/docs/pt/intlayer_with_astro_solid.md +3 -3
- package/docs/pt/intlayer_with_astro_svelte.md +3 -3
- package/docs/pt/intlayer_with_astro_vanilla.md +3 -3
- package/docs/pt/intlayer_with_astro_vue.md +3 -3
- package/docs/pt/intlayer_with_create_react_app.md +3 -3
- package/docs/pt/intlayer_with_elysia.md +4 -4
- package/docs/pt/intlayer_with_express.md +3 -3
- package/docs/pt/intlayer_with_fastify.md +4 -4
- package/docs/pt/intlayer_with_hono.md +3 -3
- package/docs/pt/intlayer_with_lynx+react.md +3 -3
- package/docs/pt/intlayer_with_nestjs.md +3 -3
- package/docs/pt/intlayer_with_next-i18next.md +3 -3
- package/docs/pt/intlayer_with_nextjs_14.md +3 -3
- package/docs/pt/intlayer_with_nextjs_15.md +3 -3
- package/docs/pt/intlayer_with_nextjs_16.md +3 -3
- package/docs/pt/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/pt/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/pt/intlayer_with_nuxt.md +3 -3
- package/docs/pt/intlayer_with_react_native+expo.md +3 -3
- package/docs/pt/intlayer_with_react_router_v7.md +3 -3
- package/docs/pt/intlayer_with_solid_start.md +3 -3
- package/docs/pt/intlayer_with_svelte_kit.md +3 -3
- package/docs/pt/intlayer_with_tanstack+solid.md +3 -3
- package/docs/pt/intlayer_with_tanstack.md +3 -3
- package/docs/pt/intlayer_with_vite+lit.md +3 -3
- package/docs/pt/intlayer_with_vite+preact.md +3 -3
- package/docs/pt/intlayer_with_vite+react.md +3 -3
- package/docs/pt/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/pt/intlayer_with_vite+solid.md +3 -3
- package/docs/pt/intlayer_with_vite+svelte.md +4 -12
- package/docs/pt/intlayer_with_vite+vanilla.md +3 -3
- package/docs/pt/intlayer_with_vite+vue.md +3 -3
- package/docs/pt/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/pt/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/ru/bundle_optimization.md +186 -186
- package/docs/ru/intlayer_with_adonisjs.md +3 -3
- package/docs/ru/intlayer_with_analog.md +3 -3
- package/docs/ru/intlayer_with_angular_19.md +3 -3
- package/docs/ru/intlayer_with_angular_21.md +3 -3
- package/docs/ru/intlayer_with_astro.md +3 -3
- package/docs/ru/intlayer_with_astro_lit.md +3 -3
- package/docs/ru/intlayer_with_astro_preact.md +3 -3
- package/docs/ru/intlayer_with_astro_react.md +3 -3
- package/docs/ru/intlayer_with_astro_solid.md +3 -3
- package/docs/ru/intlayer_with_astro_svelte.md +3 -3
- package/docs/ru/intlayer_with_astro_vanilla.md +3 -3
- package/docs/ru/intlayer_with_astro_vue.md +3 -3
- package/docs/ru/intlayer_with_create_react_app.md +3 -3
- package/docs/ru/intlayer_with_elysia.md +4 -4
- package/docs/ru/intlayer_with_express.md +3 -3
- package/docs/ru/intlayer_with_fastify.md +4 -4
- package/docs/ru/intlayer_with_hono.md +3 -3
- package/docs/ru/intlayer_with_lynx+react.md +3 -3
- package/docs/ru/intlayer_with_nestjs.md +3 -3
- package/docs/ru/intlayer_with_next-i18next.md +3 -3
- package/docs/ru/intlayer_with_nextjs_14.md +3 -3
- package/docs/ru/intlayer_with_nextjs_15.md +3 -3
- package/docs/ru/intlayer_with_nextjs_16.md +3 -3
- package/docs/ru/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/ru/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/ru/intlayer_with_nuxt.md +3 -3
- package/docs/ru/intlayer_with_react_native+expo.md +3 -3
- package/docs/ru/intlayer_with_react_router_v7.md +3 -3
- package/docs/ru/intlayer_with_solid_start.md +3 -3
- package/docs/ru/intlayer_with_svelte_kit.md +3 -3
- package/docs/ru/intlayer_with_tanstack+solid.md +3 -3
- package/docs/ru/intlayer_with_tanstack.md +3 -3
- package/docs/ru/intlayer_with_vite+lit.md +3 -3
- package/docs/ru/intlayer_with_vite+preact.md +3 -3
- package/docs/ru/intlayer_with_vite+react.md +3 -3
- package/docs/ru/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/ru/intlayer_with_vite+solid.md +3 -3
- package/docs/ru/intlayer_with_vite+svelte.md +4 -12
- package/docs/ru/intlayer_with_vite+vanilla.md +3 -3
- package/docs/ru/intlayer_with_vite+vue.md +3 -3
- package/docs/ru/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/ru/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/tr/bundle_optimization.md +186 -186
- package/docs/tr/intlayer_with_adonisjs.md +3 -3
- package/docs/tr/intlayer_with_analog.md +3 -3
- package/docs/tr/intlayer_with_angular_19.md +3 -3
- package/docs/tr/intlayer_with_angular_21.md +3 -3
- package/docs/tr/intlayer_with_astro.md +3 -3
- package/docs/tr/intlayer_with_astro_lit.md +3 -3
- package/docs/tr/intlayer_with_astro_preact.md +3 -3
- package/docs/tr/intlayer_with_astro_react.md +3 -3
- package/docs/tr/intlayer_with_astro_solid.md +3 -3
- package/docs/tr/intlayer_with_astro_svelte.md +3 -3
- package/docs/tr/intlayer_with_astro_vanilla.md +3 -3
- package/docs/tr/intlayer_with_astro_vue.md +3 -3
- package/docs/tr/intlayer_with_create_react_app.md +3 -3
- package/docs/tr/intlayer_with_elysia.md +4 -4
- package/docs/tr/intlayer_with_express.md +3 -3
- package/docs/tr/intlayer_with_fastify.md +4 -4
- package/docs/tr/intlayer_with_hono.md +3 -3
- package/docs/tr/intlayer_with_lynx+react.md +3 -3
- package/docs/tr/intlayer_with_nestjs.md +3 -3
- package/docs/tr/intlayer_with_next-i18next.md +3 -3
- package/docs/tr/intlayer_with_nextjs_14.md +3 -3
- package/docs/tr/intlayer_with_nextjs_15.md +3 -3
- package/docs/tr/intlayer_with_nextjs_16.md +3 -3
- package/docs/tr/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/tr/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/tr/intlayer_with_nuxt.md +3 -3
- package/docs/tr/intlayer_with_react_native+expo.md +3 -3
- package/docs/tr/intlayer_with_react_router_v7.md +3 -3
- package/docs/tr/intlayer_with_solid_start.md +3 -3
- package/docs/tr/intlayer_with_svelte_kit.md +3 -3
- package/docs/tr/intlayer_with_tanstack+solid.md +3 -3
- package/docs/tr/intlayer_with_tanstack.md +3 -3
- package/docs/tr/intlayer_with_vite+lit.md +3 -3
- package/docs/tr/intlayer_with_vite+preact.md +3 -3
- package/docs/tr/intlayer_with_vite+react.md +3 -3
- package/docs/tr/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/tr/intlayer_with_vite+solid.md +3 -3
- package/docs/tr/intlayer_with_vite+svelte.md +4 -12
- package/docs/tr/intlayer_with_vite+vanilla.md +3 -3
- package/docs/tr/intlayer_with_vite+vue.md +3 -3
- package/docs/tr/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/tr/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/uk/bundle_optimization.md +186 -186
- package/docs/uk/intlayer_with_adonisjs.md +3 -3
- package/docs/uk/intlayer_with_analog.md +3 -3
- package/docs/uk/intlayer_with_angular_19.md +3 -3
- package/docs/uk/intlayer_with_angular_21.md +3 -3
- package/docs/uk/intlayer_with_astro.md +3 -3
- package/docs/uk/intlayer_with_astro_lit.md +3 -3
- package/docs/uk/intlayer_with_astro_preact.md +3 -3
- package/docs/uk/intlayer_with_astro_react.md +3 -3
- package/docs/uk/intlayer_with_astro_solid.md +3 -3
- package/docs/uk/intlayer_with_astro_svelte.md +3 -3
- package/docs/uk/intlayer_with_astro_vanilla.md +3 -3
- package/docs/uk/intlayer_with_astro_vue.md +3 -3
- package/docs/uk/intlayer_with_create_react_app.md +3 -3
- package/docs/uk/intlayer_with_elysia.md +4 -4
- package/docs/uk/intlayer_with_express.md +3 -3
- package/docs/uk/intlayer_with_fastify.md +4 -4
- package/docs/uk/intlayer_with_hono.md +3 -3
- package/docs/uk/intlayer_with_lynx+react.md +3 -3
- package/docs/uk/intlayer_with_nestjs.md +3 -3
- package/docs/uk/intlayer_with_next-i18next.md +3 -3
- package/docs/uk/intlayer_with_nextjs_14.md +3 -3
- package/docs/uk/intlayer_with_nextjs_15.md +3 -3
- package/docs/uk/intlayer_with_nextjs_16.md +3 -3
- package/docs/uk/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/uk/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/uk/intlayer_with_nuxt.md +3 -3
- package/docs/uk/intlayer_with_react_native+expo.md +3 -3
- package/docs/uk/intlayer_with_react_router_v7.md +3 -3
- package/docs/uk/intlayer_with_solid_start.md +3 -3
- package/docs/uk/intlayer_with_svelte_kit.md +3 -3
- package/docs/uk/intlayer_with_tanstack+solid.md +3 -3
- package/docs/uk/intlayer_with_tanstack.md +3 -3
- package/docs/uk/intlayer_with_vite+lit.md +3 -3
- package/docs/uk/intlayer_with_vite+preact.md +3 -3
- package/docs/uk/intlayer_with_vite+react.md +3 -3
- package/docs/uk/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/uk/intlayer_with_vite+solid.md +3 -3
- package/docs/uk/intlayer_with_vite+svelte.md +4 -12
- package/docs/uk/intlayer_with_vite+vanilla.md +3 -3
- package/docs/uk/intlayer_with_vite+vue.md +3 -3
- package/docs/uk/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/uk/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/uk/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/uk/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/uk/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/ur/bundle_optimization.md +186 -186
- package/docs/ur/intlayer_with_angular_21.md +3 -3
- package/docs/ur/intlayer_with_fastify.md +4 -4
- package/docs/ur/intlayer_with_hono.md +3 -3
- package/docs/ur/intlayer_with_vite+lit.md +3 -3
- package/docs/ur/intlayer_with_vite+vanilla.md +3 -3
- package/docs/vi/bundle_optimization.md +186 -186
- package/docs/vi/intlayer_with_adonisjs.md +3 -3
- package/docs/vi/intlayer_with_analog.md +3 -3
- package/docs/vi/intlayer_with_angular_19.md +3 -3
- package/docs/vi/intlayer_with_angular_21.md +3 -3
- package/docs/vi/intlayer_with_astro.md +3 -3
- package/docs/vi/intlayer_with_astro_lit.md +3 -3
- package/docs/vi/intlayer_with_astro_preact.md +3 -3
- package/docs/vi/intlayer_with_astro_react.md +3 -3
- package/docs/vi/intlayer_with_astro_solid.md +3 -3
- package/docs/vi/intlayer_with_astro_svelte.md +3 -3
- package/docs/vi/intlayer_with_astro_vanilla.md +3 -3
- package/docs/vi/intlayer_with_astro_vue.md +3 -3
- package/docs/vi/intlayer_with_create_react_app.md +3 -3
- package/docs/vi/intlayer_with_elysia.md +4 -4
- package/docs/vi/intlayer_with_express.md +3 -3
- package/docs/vi/intlayer_with_fastify.md +4 -4
- package/docs/vi/intlayer_with_hono.md +3 -3
- package/docs/vi/intlayer_with_lynx+react.md +3 -3
- package/docs/vi/intlayer_with_nestjs.md +3 -3
- package/docs/vi/intlayer_with_next-i18next.md +3 -3
- package/docs/vi/intlayer_with_nextjs_14.md +3 -3
- package/docs/vi/intlayer_with_nextjs_15.md +3 -3
- package/docs/vi/intlayer_with_nextjs_16.md +3 -3
- package/docs/vi/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/vi/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/vi/intlayer_with_nuxt.md +3 -3
- package/docs/vi/intlayer_with_react_native+expo.md +3 -3
- package/docs/vi/intlayer_with_react_router_v7.md +3 -3
- package/docs/vi/intlayer_with_solid_start.md +3 -3
- package/docs/vi/intlayer_with_svelte_kit.md +3 -3
- package/docs/vi/intlayer_with_tanstack+solid.md +3 -3
- package/docs/vi/intlayer_with_tanstack.md +3 -3
- package/docs/vi/intlayer_with_vite+lit.md +3 -3
- package/docs/vi/intlayer_with_vite+preact.md +3 -3
- package/docs/vi/intlayer_with_vite+react.md +3 -3
- package/docs/vi/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/vi/intlayer_with_vite+solid.md +3 -3
- package/docs/vi/intlayer_with_vite+svelte.md +4 -12
- package/docs/vi/intlayer_with_vite+vanilla.md +3 -3
- package/docs/vi/intlayer_with_vite+vue.md +3 -3
- package/docs/vi/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/vi/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/vi/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/vi/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/vi/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/zh/bundle_optimization.md +186 -186
- package/docs/zh/intlayer_with_adonisjs.md +3 -3
- package/docs/zh/intlayer_with_analog.md +3 -3
- package/docs/zh/intlayer_with_angular_19.md +3 -3
- package/docs/zh/intlayer_with_angular_21.md +3 -3
- package/docs/zh/intlayer_with_astro.md +3 -3
- package/docs/zh/intlayer_with_astro_lit.md +3 -3
- package/docs/zh/intlayer_with_astro_preact.md +3 -3
- package/docs/zh/intlayer_with_astro_react.md +3 -3
- package/docs/zh/intlayer_with_astro_solid.md +3 -3
- package/docs/zh/intlayer_with_astro_svelte.md +3 -3
- package/docs/zh/intlayer_with_astro_vanilla.md +3 -3
- package/docs/zh/intlayer_with_astro_vue.md +3 -3
- package/docs/zh/intlayer_with_create_react_app.md +3 -3
- package/docs/zh/intlayer_with_elysia.md +4 -4
- package/docs/zh/intlayer_with_express.md +3 -3
- package/docs/zh/intlayer_with_fastify.md +4 -4
- package/docs/zh/intlayer_with_hono.md +3 -3
- package/docs/zh/intlayer_with_lynx+react.md +3 -3
- package/docs/zh/intlayer_with_nestjs.md +3 -3
- package/docs/zh/intlayer_with_next-i18next.md +3 -3
- package/docs/zh/intlayer_with_nextjs_14.md +3 -3
- package/docs/zh/intlayer_with_nextjs_15.md +3 -3
- package/docs/zh/intlayer_with_nextjs_16.md +3 -3
- package/docs/zh/intlayer_with_nextjs_compiler.md +3 -3
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +3 -3
- package/docs/zh/intlayer_with_nextjs_page_router.md +3 -3
- package/docs/zh/intlayer_with_nuxt.md +3 -3
- package/docs/zh/intlayer_with_react_native+expo.md +3 -3
- package/docs/zh/intlayer_with_react_router_v7.md +3 -3
- package/docs/zh/intlayer_with_solid_start.md +3 -3
- package/docs/zh/intlayer_with_svelte_kit.md +3 -3
- package/docs/zh/intlayer_with_tanstack+solid.md +3 -3
- package/docs/zh/intlayer_with_tanstack.md +3 -3
- package/docs/zh/intlayer_with_vite+lit.md +3 -3
- package/docs/zh/intlayer_with_vite+preact.md +3 -3
- package/docs/zh/intlayer_with_vite+react.md +3 -3
- package/docs/zh/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/zh/intlayer_with_vite+solid.md +3 -3
- package/docs/zh/intlayer_with_vite+svelte.md +4 -12
- package/docs/zh/intlayer_with_vite+vanilla.md +3 -3
- package/docs/zh/intlayer_with_vite+vue.md +3 -3
- package/docs/zh/migration_from_i18next_to_intlayer.md +3 -3
- package/docs/zh/migration_from_next-i18next_to_intlayer.md +3 -3
- package/docs/zh/migration_from_next-intl_to_intlayer.md +3 -3
- package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +3 -3
- package/docs/zh/migration_from_react-i18next_to_intlayer.md +3 -3
- package/docs/zh/migration_from_vue-i18n_to_intlayer.md +3 -3
- package/docs/zh-TW/bundle_optimization.md +186 -186
- package/docs/zh-TW/intlayer_with_angular_21.md +3 -3
- package/package.json +6 -6
- package/src/generated/blog.entry.ts +329 -0
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-02
|
|
3
|
+
updatedAt: 2026-09-02
|
|
4
|
+
title: 2026년에도 next-intl을 계속 써야 할까요?
|
|
5
|
+
description: next-intl은 Next.js App Router의 표준으로 자리잡았습니다. 하지만 런타임 번들 오버헤드와 수동 네임스페이스 관리라는 부담은 여전히 남아 있습니다.
|
|
6
|
+
keywords:
|
|
7
|
+
- next-intl
|
|
8
|
+
- Intlayer
|
|
9
|
+
- 국제화
|
|
10
|
+
- i18n
|
|
11
|
+
- Next.js
|
|
12
|
+
- 번들 크기
|
|
13
|
+
- 블로그
|
|
14
|
+
- JavaScript
|
|
15
|
+
slugs:
|
|
16
|
+
- blog
|
|
17
|
+
- is-next-intl-outdated
|
|
18
|
+
author: aymericzip
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# 2026년에도 next-intl을 계속 써야 할까요?
|
|
22
|
+
|
|
23
|
+
Vercel이 App Router를 발표하며 Pages Router의 내장 i18n 기능을 배제했을 때, `next-intl`은 그 공백을 훌륭히 메웠습니다. Jan Amann의 명쾌한 문서화와 기민한 App Router 지원 덕분에 커뮤니티의 기본 선택지로 자리잡았습니다.
|
|
24
|
+
|
|
25
|
+
그렇다면 오늘날 왜 그 적합성을 다시 논의해야 할까요?
|
|
26
|
+
|
|
27
|
+
**지난 3년간 웹 프론트엔드 아키텍처는 비약적으로 발전했으나, `next-intl`의 기본 접근법은 제자리에 머물렀기 때문입니다.**
|
|
28
|
+
|
|
29
|
+
Next.js가 React Server Components (RSC), 스트리밍, 컴파일러 수준의 최적화로 나아가는 동안, `next-intl`은 여전히 국제화를 런타임의 문제로 다룹니다. 대용량 JSON 객체를 클라이언트 프로바이더로 내려주고, 브라우저에서 ICU 포매터를 구동하며, 번들 크기를 줄이기 위해 수동 네임스페이스 분할에 의존합니다.
|
|
30
|
+
|
|
31
|
+
<TOC/>
|
|
32
|
+
|
|
33
|
+
## 핵심 요약
|
|
34
|
+
|
|
35
|
+
**안정화 단계로 접어든 개발 속도:**
|
|
36
|
+
|
|
37
|
+
지난 12개월 동안 `next-intl`의 커밋 수는 약 187개로, 대부분 Next.js 버전 대응과 마이너 버그 수정 위주였습니다.
|
|
38
|
+
|
|
39
|
+
**클라이언트 런타임 오버헤드:**
|
|
40
|
+
|
|
41
|
+
`NextIntlClientProvider`와 `useTranslations()`를 조합하면 텍스트를 하나도 표시하기 전에 약 12.8 KB (gzip 기준, Minified 시 51 KB)의 스크립트가 추가됩니다. 이는 `next-intlayer` (4.3 KB) 대비 약 3배에 해당합니다.
|
|
42
|
+
|
|
43
|
+
**90%에 달하는 불필요한 번역 누수:**
|
|
44
|
+
|
|
45
|
+
일반적인 구성에서 **특정 페이지로 전달되는 번역 데이터의 89.8%가 다른 라우트의 내용**입니다. `/contact`에 방문해도 `/pricing`이나 관리자 대시보드의 문구까지 함께 다운로드됩니다.
|
|
46
|
+
|
|
47
|
+
**수동 네임스페이스 관리 부담:**
|
|
48
|
+
|
|
49
|
+
번들이 비대해지는 것을 막으려면 라우트별로 네임스페이스를 일일이 손으로 쪼개야 하므로, 프로덕션에서 문구가 누락될 위험이 커집니다.
|
|
50
|
+
|
|
51
|
+
**상업적 파트너십의 영향:**
|
|
52
|
+
|
|
53
|
+
Crowdin의 공식 파트너이기 때문에, CLI 자체에 무료 로컬 AI 번역 도구를 직접 탑재할 유인이 적습니다.
|
|
54
|
+
|
|
55
|
+
## 유지보수 vs. 현대적 도구 비교
|
|
56
|
+
|
|
57
|
+
최근 12개월간의 커밋 활동:
|
|
58
|
+
|
|
59
|
+
| 저장소 | 스타 | 전체 커밋 | 연간 커밋 | 최근 커밋 |
|
|
60
|
+
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
61
|
+
| `amannn/next-intl` | [](https://github.com/amannn/next-intl/stargazers) | [](https://github.com/amannn/next-intl/commits) | [](https://github.com/amannn/next-intl/commits) | [](https://github.com/amannn/next-intl/commits) |
|
|
62
|
+
| `aymericzip/intlayer` | [](https://github.com/aymericzip/intlayer/stargazers) | [](https://github.com/aymericzip/intlayer/commits) | [](https://github.com/aymericzip/intlayer/commits) | [](https://github.com/aymericzip/intlayer/commits) |
|
|
63
|
+
|
|
64
|
+
최근 12개월간의 작업 내역:
|
|
65
|
+
|
|
66
|
+
- `amannn/next-intl`: **187 커밋** (Next.js 호환성 유지 및 소규모 수정).
|
|
67
|
+
- `aymericzip/intlayer`: **4,343 커밋** (컴파일러 최적화, IDE 확장, MCP 서버, AI 번역 엔진 개발 등).
|
|
68
|
+
|
|
69
|
+
[](https://www.star-history.com/#amannn/next-intl&aymericzip/intlayer)
|
|
70
|
+
|
|
71
|
+
성숙한 라이브러리는 안정감을 줍니다. 하지만 i18n 환경은 달라졌습니다. 빌드 시 미사용 텍스트를 걸러내고, CI에서 LLM이 번역을 수행하며, 에디터는 Language Server (LSP) 및 AI 어시스턴트와 밀접하게 연동됩니다. 런타임 처리에 갇힌 아키텍처는 이러한 진보를 온전히 누리기 어렵습니다.
|
|
72
|
+
|
|
73
|
+
## Next.js 16 App Router 성능 측정
|
|
74
|
+
|
|
75
|
+
10개 라우트와 10개 언어로 구성된 일반적인 App Router 애플리케이션 측정 결과:
|
|
76
|
+
|
|
77
|
+
<I18nBenchmark framework="nextjs" vertical/>
|
|
78
|
+
|
|
79
|
+
<ClickToOpenIframe
|
|
80
|
+
src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md"
|
|
81
|
+
width="100%"
|
|
82
|
+
height="600px"
|
|
83
|
+
style="border:none;"
|
|
84
|
+
/>
|
|
85
|
+
|
|
86
|
+
> 프로덕션 환경의 실제 브라우저에서 gzip 압축을 적용하여 측정했습니다. 자세한 내용은 [Next.js 벤치마크 보고서](https://intlayer.org/ko/doc/benchmark/nextjs)를 확인하세요.
|
|
87
|
+
|
|
88
|
+
### 라이브러리 기본 번들 크기
|
|
89
|
+
|
|
90
|
+
번역 텍스트를 불러오기 전 클라이언트에 로드되는 기본 크기:
|
|
91
|
+
|
|
92
|
+
| 라이브러리 | Gzip 기준 | Minified 기준 |
|
|
93
|
+
| ---------------------- | ---------- | ------------- |
|
|
94
|
+
| `next-intl@4.9.1` | 12.8 KB | 51.0 KB |
|
|
95
|
+
| `next-intlayer@8.7.12` | **4.3 KB** | **13.3 KB** |
|
|
96
|
+
|
|
97
|
+
### 페이지 크기 및 번역 데이터 누수
|
|
98
|
+
|
|
99
|
+
| 구성 | 평균 페이지 JS (gz) | 타 언어 누수율 | 타 페이지 누수율 | 평균 컴포넌트 (gz) |
|
|
100
|
+
| ------------------ | ------------------- | -------------- | ---------------- | ------------------ |
|
|
101
|
+
| 기본(i18n 없음) | 150.8 KB | 0.0% | 0.0% | 0.7 KB |
|
|
102
|
+
| `next-intl` (정적) | 163.5 KB | 4.2% | **89.8%** | 20.5 KB |
|
|
103
|
+
| `next-intl` (동적) | 163.4 KB | 9.7% | **89.9%** | 20.5 KB |
|
|
104
|
+
| `next-intlayer` | **152.1 KB** | **0.0%** | **0.0%** | **7.2 KB** |
|
|
105
|
+
|
|
106
|
+
### 페이지 간 데이터 누수가 발생하는 원인
|
|
107
|
+
|
|
108
|
+
전형적인 `next-intl` 프로젝트에서는 루트 레이아웃에서 전체 메시지를 한 번에 불러옵니다.
|
|
109
|
+
|
|
110
|
+
```tsx fileName="app/[locale]/layout.tsx"
|
|
111
|
+
export default async function RootLayout({ children, params }) {
|
|
112
|
+
const messages = await getMessages();
|
|
113
|
+
|
|
114
|
+
return (
|
|
115
|
+
<html>
|
|
116
|
+
<body>
|
|
117
|
+
<NextIntlClientProvider messages={messages}>
|
|
118
|
+
{children}
|
|
119
|
+
</NextIntlClientProvider>
|
|
120
|
+
</body>
|
|
121
|
+
</html>
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`messages`를 최상위 클라이언트 프로바이더로 전달하기 때문에, 브라우저는 모든 라우트에서 애플리케이션 전체의 번역 데이터를 다운로드하게 됩니다. `/login` 페이지만 방문하는 사용자도 FAQ, 약관, 관리자 대시보드 문구를 함께 내려받게 됩니다.
|
|
127
|
+
|
|
128
|
+
JSON을 네임스페이스별로 나누어 일부 해소할 수 있으나, 어떤 라우트에 어떤 네임스페이스가 필요한지 수작업으로 관리하는 것은 매우 번거롭고 실수가 발생하기 쉽습니다.
|
|
129
|
+
|
|
130
|
+
Intlayer는 정적 분석을 통해 이 문제를 해결합니다. [Intlayer 컴파일러](https://intlayer.org/ko/doc/compiler)가 각 라우트에서 실제로 호출되는 문구만 번들링하므로 페이지 간 누수율이 **0.0%**가 됩니다.
|
|
131
|
+
|
|
132
|
+
## next-intl에서 트리 쉐이킹이 동작하지 않는 이유
|
|
133
|
+
|
|
134
|
+
라이브러리 API가 런타임에 동적으로 문자열 키를 찾는 구조로 되어 있기 때문입니다.
|
|
135
|
+
|
|
136
|
+
<Tabs defaultTab="intlayer" group="techno">
|
|
137
|
+
<Tab label="next-intl" value="next-intl">
|
|
138
|
+
|
|
139
|
+
```tsx fileName="UserProfile.tsx"
|
|
140
|
+
"use client";
|
|
141
|
+
|
|
142
|
+
import { useTranslations } from "next-intl";
|
|
143
|
+
|
|
144
|
+
export function UserProfile() {
|
|
145
|
+
const t = useTranslations("UserProfile");
|
|
146
|
+
|
|
147
|
+
return <h2>{t("heading")}</h2>;
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
</Tab>
|
|
152
|
+
<Tab label="Intlayer" value="intlayer">
|
|
153
|
+
|
|
154
|
+
```tsx fileName="UserProfile.tsx"
|
|
155
|
+
"use client";
|
|
156
|
+
|
|
157
|
+
import { useIntlayer } from "next-intlayer";
|
|
158
|
+
|
|
159
|
+
export function UserProfile() {
|
|
160
|
+
const { heading } = useIntlayer("user-profile");
|
|
161
|
+
|
|
162
|
+
return <h2>{heading}</h2>;
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
</Tab>
|
|
167
|
+
</Tabs>
|
|
168
|
+
|
|
169
|
+
Turbopack이나 Webpack은 `UserProfile` 내에서 어떤 키가 실제로 쓰이는지 사전에 알 수 없습니다. 누락 오류를 막기 위해 **번들러는 해당 네임스페이스 전체를 클라이언트 청크에 포함**시킵니다. 반면 Intlayer는 구조 분해된 프로퍼티를 통해 컴파일러가 실제 참조를 추적하고, 쓰이지 않는 문구를 깔끔히 제외합니다. 자세한 내용은 [번들 최적화](https://intlayer.org/ko/doc/concept/bundle-optimization)를 참고하세요.
|
|
170
|
+
|
|
171
|
+
## 개발자 경험 (DX)의 차이
|
|
172
|
+
|
|
173
|
+
### 격리된 JSON vs. 컴포넌트와 함께 배치
|
|
174
|
+
|
|
175
|
+
`next-intl`에서는 문구가 코드에서 멀리 떨어진 `messages/` 디렉터리에 머뭅니다. Intlayer는 콘텐츠 선언 파일을 컴포넌트 바로 곁에 둘 수 있습니다.
|
|
176
|
+
|
|
177
|
+
<Tabs defaultTab="intlayer" group="techno">
|
|
178
|
+
<Tab label="next-intl" value="next-intl">
|
|
179
|
+
|
|
180
|
+
```json fileName="messages/en.json"
|
|
181
|
+
{
|
|
182
|
+
"authModal": {
|
|
183
|
+
"title": "Sign in to your account",
|
|
184
|
+
"submitButton": "Continue"
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
```json fileName="messages/ko.json"
|
|
190
|
+
{
|
|
191
|
+
"authModal": {
|
|
192
|
+
"title": "계정에 로그인하세요",
|
|
193
|
+
"submitButton": "계속하기"
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
```tsx fileName="AuthModal.tsx"
|
|
199
|
+
import { useTranslations } from "next-intl";
|
|
200
|
+
|
|
201
|
+
export const AuthModal = () => {
|
|
202
|
+
const t = useTranslations("authModal");
|
|
203
|
+
return (
|
|
204
|
+
<form>
|
|
205
|
+
<h2>{t("title")}</h2>
|
|
206
|
+
<button type="submit">{t("submitButton")}</button>
|
|
207
|
+
</form>
|
|
208
|
+
);
|
|
209
|
+
};
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
</Tab>
|
|
213
|
+
<Tab label="Intlayer" value="intlayer">
|
|
214
|
+
|
|
215
|
+
```ts fileName="AuthModal.content.ts"
|
|
216
|
+
import { t, type Dictionary } from "intlayer";
|
|
217
|
+
|
|
218
|
+
export default {
|
|
219
|
+
key: "auth-modal",
|
|
220
|
+
content: {
|
|
221
|
+
title: t({
|
|
222
|
+
en: "Sign in to your account",
|
|
223
|
+
ko: "계정에 로그인하세요",
|
|
224
|
+
}),
|
|
225
|
+
submitButton: t({
|
|
226
|
+
en: "Continue",
|
|
227
|
+
ko: "계속하기",
|
|
228
|
+
}),
|
|
229
|
+
},
|
|
230
|
+
} satisfies Dictionary;
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
```tsx fileName="AuthModal.tsx"
|
|
234
|
+
import { useIntlayer } from "next-intlayer";
|
|
235
|
+
|
|
236
|
+
export const AuthModal = () => {
|
|
237
|
+
const { title, submitButton } = useIntlayer("auth-modal");
|
|
238
|
+
return (
|
|
239
|
+
<form>
|
|
240
|
+
<h2>{title}</h2>
|
|
241
|
+
<button type="submit">{submitButton}</button>
|
|
242
|
+
</form>
|
|
243
|
+
);
|
|
244
|
+
};
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
</Tab>
|
|
248
|
+
</Tabs>
|
|
249
|
+
|
|
250
|
+
`AuthModal.tsx`를 이동하거나 삭제하면 연결된 콘텐츠 정의도 함께 이동되거나 삭제됩니다.
|
|
251
|
+
|
|
252
|
+
### 단순 자동완성 vs. 엄격한 타입 검증
|
|
253
|
+
|
|
254
|
+
`next-intl`에서 `IntlMessages`를 오버라이드하면 기본 언어 파일을 기준으로 에디터 자동완성을 지원합니다.
|
|
255
|
+
|
|
256
|
+
```ts fileName="global.d.ts"
|
|
257
|
+
import en from "./messages/en.json";
|
|
258
|
+
|
|
259
|
+
type Messages = typeof en;
|
|
260
|
+
|
|
261
|
+
declare global {
|
|
262
|
+
interface IntlMessages extends Messages {}
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
하지만 검증 대상은 기본 언어에 한정됩니다. 만약 `ko.json`에서 키가 하나 빠져 있더라도 TypeScript는 에러를 내지 않고 빌드는 정상 통과하며, 실제 사용자에게는 빈 문자열이 노출됩니다.
|
|
267
|
+
|
|
268
|
+
Intlayer는 모든 콘텐츠 선언 파일로부터 직접 타입을 생성합니다. [`strictMode`](https://intlayer.org/ko/doc/concept/configuration)를 켜두면 어떤 언어에서든 번역이 누락되었을 때 컴파일 에러가 발생해 문제를 사전에 차단합니다.
|
|
269
|
+
|
|
270
|
+
### 도구 생태계 및 AI 연동
|
|
271
|
+
|
|
272
|
+
| 기능 | `next-intl` | Intlayer |
|
|
273
|
+
| -------------------------- | ----------- | ---------------------------------------------------------------------- |
|
|
274
|
+
| **VS Code 확장 프로그램** | ❌ 없음 | ✅ [공식 확장 프로그램](https://intlayer.org/ko/doc/vs-code-extension) |
|
|
275
|
+
| **Language Server (LSP)** | ❌ 없음 | ✅ [전용 LSP 탑재](https://intlayer.org/ko/doc/lsp) |
|
|
276
|
+
| **AI 에이전트용 MCP 서버** | ❌ 없음 | ✅ [MCP 서버 내장](https://intlayer.org/ko/doc/mcp-server) |
|
|
277
|
+
| **에이전트 스킬 세트** | ❌ 없음 | ✅ [사전 제작된 스킬](https://intlayer.org/ko/doc/agent_skills) |
|
|
278
|
+
| **인컨텍스트 비주얼 CMS** | ❌ 없음 | ✅ [무료 오픈소스 CMS](https://intlayer.org/ko/doc/concept/editor) |
|
|
279
|
+
|
|
280
|
+
LSP와 MCP 서버가 갖춰져 있어 AI 코딩 어시스턴트가 프로젝트의 번역 구조를 완벽히 이해하고 오차 없는 코드 생성과 업데이트를 수행합니다.
|
|
281
|
+
|
|
282
|
+
## Crowdin 파트너십의 시사점
|
|
283
|
+
|
|
284
|
+
`next-intl`은 Crowdin과 공식 파트너 관계를 맺고 있습니다. 스폰서십은 오픈소스 지속성에 큰 도움이 되지만 개발 우선순위에도 영향을 줍니다. 외부 상용 번역 관리 시스템(TMS)과의 연동을 중심으로 설계되었기 때문에, CLI 자체에 무료 로컬 AI 번역 기능을 내장할 동기가 약합니다.
|
|
285
|
+
|
|
286
|
+
Intlayer는 이러한 기능들을 기본적으로 제공합니다.
|
|
287
|
+
|
|
288
|
+
**로컬 AI 자동 채우기 (`intlayer fill`):**
|
|
289
|
+
|
|
290
|
+
보유 중인 OpenAI, Anthropic, Mistral, Gemini API 키를 통해 누락된 번역을 자동으로 채워 넣습니다.
|
|
291
|
+
|
|
292
|
+
**자체 호스팅 비주얼 CMS:**
|
|
293
|
+
|
|
294
|
+
[Intlayer CMS](https://intlayer.org/ko/doc/concept/cms)를 이용해 비개발 직군도 웹에서 문구를 직접 수정하고 Git에 곧바로 반영할 수 있습니다.
|
|
295
|
+
|
|
296
|
+
**자유로운 오픈소스 라이선스:**
|
|
297
|
+
|
|
298
|
+
전체 툴체인이 Apache 2.0 라이선스로 제공됩니다.
|
|
299
|
+
|
|
300
|
+
## next-intl이 여전히 적합한 환경
|
|
301
|
+
|
|
302
|
+
<AccordionGroup>
|
|
303
|
+
<Accordion header="복잡한 ICU MessageFormat 문법이 필수적인 경우">
|
|
304
|
+
|
|
305
|
+
다중 중첩된 복수형이나 서수 분기 등 정교한 ICU 문법을 폭넓게 쓰고 있다면, 성숙한 `next-intl`의 파서가 안정적입니다.
|
|
306
|
+
|
|
307
|
+
</Accordion>
|
|
308
|
+
<Accordion header="기존 Crowdin 파이프라인 중심의 워크플로우">
|
|
309
|
+
|
|
310
|
+
조직 차원에서 이미 번역 프로세스가 Crowdin에 맞춰져 있다면 매끄럽게 어우러집니다.
|
|
311
|
+
|
|
312
|
+
</Accordion>
|
|
313
|
+
<Accordion header="안정적으로 운영 중인 프로덕션 서비스">
|
|
314
|
+
|
|
315
|
+
현재 시스템이 무리 없이 작동하고 번들 크기가 비즈니스상 치명적이지 않다면 무리해서 재구축할 이유는 없습니다.
|
|
316
|
+
|
|
317
|
+
</Accordion>
|
|
318
|
+
</AccordionGroup>
|
|
319
|
+
|
|
320
|
+
## 기존 next-intl 설정을 어떻게 개선할 수 있을까요?
|
|
321
|
+
|
|
322
|
+
Intlayer는 `next-intl`의 주요 함수 및 훅 시그니처(`useTranslations`, `getTranslations`, 라우팅 헬퍼 등)를 그대로 보존하는 드롭인 호환성 패키지를 제공합니다. 컴파일러 수준의 최적화를 얻기 위해 컴포넌트를 처음부터 다시 작성할 필요가 없습니다.
|
|
323
|
+
|
|
324
|
+
설정은 단 한 줄의 명령어로 완료됩니다:
|
|
325
|
+
|
|
326
|
+
```bash packageManager="npm"
|
|
327
|
+
npx intlayer init --interactive
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
```bash packageManager="pnpm"
|
|
331
|
+
pnpm dlx intlayer init --interactive
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
```bash packageManager="yarn"
|
|
335
|
+
yarn dlx intlayer init --interactive
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
```bash packageManager="bun"
|
|
339
|
+
bunx intlayer init --interactive
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
이 대화형 CLI는 다음 작업을 자동으로 수행합니다:
|
|
343
|
+
|
|
344
|
+
1. `@intlayer/next-intl` 호환성 패키지를 설치합니다.
|
|
345
|
+
2. 번들러 별칭(alias)을 구성하여 기존 임포트 구문(`next-intl`, `next-intl/server`)이 Intlayer로 원활하게 연결되도록 처리하므로, `package.json`에서 기존 라이브러리를 안전하게 제거할 수 있습니다.
|
|
346
|
+
3. 에디터 내 언어 서버(LSP) 진단, 빌드 타임 트리 셰이킹(라우트 간 번역 데이터 누수 원천 차단), 로컬 AI 번역 워크플로우를 대규모 리팩토링 없이 즉시 활성화합니다.
|
|
347
|
+
|
|
348
|
+
단계별 세부 내용은 다음 가이드를 참고하세요:
|
|
349
|
+
|
|
350
|
+
- **간편한 호환성 지원:** [`next-intl` 호환성 레이어](https://intlayer.org/ko/doc/compatibility/next-intl)를 통해 기존 `useTranslations` 코드를 그대로 유지한 채 번들 최적화를 도입할 수 있습니다.
|
|
351
|
+
- **단계별 마이그레이션 가이드:** 기존 JSON 파일을 타입 안전한 구조로 변환하는 [next-intl 마이그레이션 가이드](https://intlayer.org/ko/doc/migration/next-intl)를 참고하세요.
|
|
352
|
+
- **점진적 하이브리드 구성:** UI 렌더링에는 `next-intl`을 유지하면서, [Intlayer와 next-intl을 함께 사용](https://intlayer.org/ko/blog/intlayer-with-next-intl)하여 로컬 AI 번역 기능만 가져올 수도 있습니다.
|
|
353
|
+
|
|
354
|
+
무료 [i18n SEO 스캐너](https://intlayer.org/i18n-seo-scanner)를 통해 현재 웹사이트의 번들 누수와 크기를 측정해 보세요:
|
|
355
|
+
|
|
356
|
+
<ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
|
|
357
|
+
|
|
358
|
+
## 함께 읽어볼 만한 글
|
|
359
|
+
|
|
360
|
+
- [Next.js i18n 벤치마크: 성능 심층 비교 분석](https://intlayer.org/ko/doc/benchmark/nextjs)
|
|
361
|
+
- [next-i18next vs next-intl vs Intlayer](https://intlayer.org/ko/blog/next-i18next-vs-next-intl-vs-intlayer)
|
|
362
|
+
- [2026년에도 i18next를 계속 써야 할까요?](https://intlayer.org/ko/blog/is-i18next-outdated)
|
|
363
|
+
- [컴파일러 기반 i18n 아키텍처의 장점](https://intlayer.org/ko/blog/compiler-vs-declarative-i18n)
|