@intlayer/docs 9.4.1 → 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/README.md +1 -1
- package/blog/ar/date_time_number_formatting_locales.md +216 -0
- package/blog/ar/detecting_missing_translations.md +202 -0
- package/blog/ar/hreflang_guide_multilingual_seo.md +317 -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 -5
- package/blog/ar/intlayer_with_next-i18next.md +3 -7
- 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 -7
- 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/hreflang_guide_multilingual_seo.md +314 -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 -7
- 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/hreflang_guide_multilingual_seo.md +314 -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 -5
- package/blog/en/intlayer_with_next-i18next.md +3 -5
- package/blog/en/intlayer_with_next-intl.md +3 -5
- package/blog/en/intlayer_with_react-i18next.md +3 -3
- package/blog/en/intlayer_with_react-intl.md +3 -5
- package/blog/en/intlayer_with_vue-i18n.md +3 -5
- 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/hreflang_guide_multilingual_seo.md +314 -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/hreflang_guide_multilingual_seo.md +314 -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/hreflang_guide_multilingual_seo.md +315 -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/hreflang_guide_multilingual_seo.md +323 -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 -5
- package/blog/hi/intlayer_with_next-i18next.md +3 -7
- 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 -7
- 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/hreflang_guide_multilingual_seo.md +314 -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 -5
- package/blog/id/intlayer_with_next-i18next.md +3 -7
- 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 -7
- 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/hreflang_guide_multilingual_seo.md +315 -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 -5
- package/blog/it/intlayer_with_next-i18next.md +3 -7
- 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 -7
- 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/hreflang_guide_multilingual_seo.md +320 -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/hreflang_guide_multilingual_seo.md +314 -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 -5
- package/blog/ko/intlayer_with_next-i18next.md +3 -7
- 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 -7
- 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/hreflang_guide_multilingual_seo.md +316 -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/hreflang_guide_multilingual_seo.md +314 -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 -5
- package/blog/pt/intlayer_with_next-i18next.md +3 -7
- 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 -7
- 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/hreflang_guide_multilingual_seo.md +314 -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/hreflang_guide_multilingual_seo.md +314 -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 -5
- package/blog/tr/intlayer_with_next-i18next.md +3 -7
- 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 -7
- 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/hreflang_guide_multilingual_seo.md +314 -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 -5
- package/blog/uk/intlayer_with_next-i18next.md +3 -5
- package/blog/uk/intlayer_with_next-intl.md +3 -5
- package/blog/uk/intlayer_with_react-i18next.md +3 -3
- package/blog/uk/intlayer_with_react-intl.md +3 -5
- package/blog/uk/intlayer_with_vue-i18n.md +3 -5
- 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/hreflang_guide_multilingual_seo.md +314 -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 -5
- package/blog/vi/intlayer_with_next-i18next.md +3 -7
- 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 -7
- 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/hreflang_guide_multilingual_seo.md +314 -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 -5
- package/blog/zh/intlayer_with_next-i18next.md +3 -5
- package/blog/zh/intlayer_with_next-intl.md +3 -5
- package/blog/zh/intlayer_with_react-i18next.md +3 -3
- package/blog/zh/intlayer_with_react-intl.md +3 -5
- package/blog/zh/intlayer_with_vue-i18n.md +3 -5
- 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/common.cjs +29 -6
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +340 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +20 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs +29 -6
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +340 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +20 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +17 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/analytics.md +458 -12
- package/docs/ar/bundle_optimization.md +186 -186
- package/docs/ar/configuration.md +98 -0
- package/docs/ar/dictionary/content_file.md +4 -4
- package/docs/ar/dictionary/html.md +117 -1
- package/docs/ar/dictionary/markdown.md +18 -1
- package/docs/ar/dictionary/plurial.md +5 -2
- package/docs/ar/how_works_intlayer.md +92 -0
- package/docs/ar/interest_of_intlayer.md +106 -9
- package/docs/ar/intlayer_CMS.md +92 -0
- package/docs/ar/intlayer_visual_editor.md +87 -1
- package/docs/ar/intlayer_with_adonisjs.md +124 -3
- package/docs/ar/intlayer_with_analog.md +119 -11
- package/docs/ar/intlayer_with_angular_19.md +118 -11
- package/docs/ar/intlayer_with_angular_21.md +112 -11
- package/docs/ar/intlayer_with_astro.md +120 -23
- package/docs/ar/intlayer_with_astro_lit.md +121 -13
- package/docs/ar/intlayer_with_astro_preact.md +121 -13
- package/docs/ar/intlayer_with_astro_react.md +121 -13
- package/docs/ar/intlayer_with_astro_solid.md +121 -13
- package/docs/ar/intlayer_with_astro_svelte.md +121 -13
- package/docs/ar/intlayer_with_astro_vanilla.md +115 -13
- package/docs/ar/intlayer_with_astro_vue.md +121 -13
- package/docs/ar/intlayer_with_create_react_app.md +108 -3
- package/docs/ar/intlayer_with_elysia.md +125 -4
- package/docs/ar/intlayer_with_express.md +117 -3
- package/docs/ar/intlayer_with_fastify.md +119 -4
- package/docs/ar/intlayer_with_hono.md +117 -3
- package/docs/ar/intlayer_with_htmx.md +771 -0
- package/docs/ar/intlayer_with_lynx+react.md +10 -17
- package/docs/ar/intlayer_with_nestjs.md +118 -3
- package/docs/ar/intlayer_with_next-i18next.md +3 -3
- package/docs/ar/intlayer_with_nextjs_14.md +147 -123
- package/docs/ar/intlayer_with_nextjs_15.md +129 -54
- package/docs/ar/intlayer_with_nextjs_16.md +130 -52
- package/docs/ar/intlayer_with_nextjs_compiler.md +125 -16
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +124 -12
- package/docs/ar/intlayer_with_nextjs_page_router.md +142 -110
- package/docs/ar/intlayer_with_nuxt.md +113 -11
- package/docs/ar/intlayer_with_react_native+expo.md +105 -10
- package/docs/ar/intlayer_with_react_router_v7.md +122 -13
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +125 -25
- package/docs/ar/intlayer_with_solid_start.md +118 -4
- package/docs/ar/intlayer_with_storybook.md +7 -20
- package/docs/ar/intlayer_with_svelte_kit.md +110 -20
- package/docs/ar/intlayer_with_tanstack+solid.md +127 -25
- package/docs/ar/intlayer_with_tanstack.md +137 -46
- package/docs/ar/intlayer_with_vanilla.md +117 -9
- package/docs/ar/intlayer_with_vite+lit.md +121 -11
- package/docs/ar/intlayer_with_vite+preact.md +151 -43
- package/docs/ar/intlayer_with_vite+react.md +111 -23
- package/docs/ar/intlayer_with_vite+react_compiler.md +109 -4
- package/docs/ar/intlayer_with_vite+solid.md +117 -8
- package/docs/ar/intlayer_with_vite+svelte.md +122 -20
- package/docs/ar/intlayer_with_vite+vanilla.md +128 -11
- package/docs/ar/intlayer_with_vite+vue.md +108 -12
- package/docs/ar/introduction.md +104 -1
- package/docs/ar/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/ar/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/ar/packages/vite-intlayer/intlayerMinify.md +1 -1
- 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/bn/introduction.md +0 -1
- package/docs/cs/bundle_optimization.md +186 -186
- package/docs/cs/interest_of_intlayer.md +0 -1
- 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_storybook.md +0 -12
- package/docs/cs/intlayer_with_vanilla.md +2 -1
- package/docs/cs/intlayer_with_vite+lit.md +3 -3
- package/docs/cs/intlayer_with_vite+vanilla.md +3 -3
- package/docs/cs/introduction.md +0 -1
- package/docs/de/analytics.md +458 -12
- package/docs/de/bundle_optimization.md +186 -186
- package/docs/de/configuration.md +99 -1
- package/docs/de/dictionary/content_file.md +4 -4
- package/docs/de/dictionary/markdown.md +3 -0
- package/docs/de/dictionary/plurial.md +6 -3
- package/docs/de/how_works_intlayer.md +93 -1
- package/docs/de/interest_of_intlayer.md +97 -2
- package/docs/de/intlayer_CMS.md +93 -1
- package/docs/de/intlayer_visual_editor.md +88 -2
- package/docs/de/intlayer_with_adonisjs.md +124 -4
- package/docs/de/intlayer_with_analog.md +114 -5
- package/docs/de/intlayer_with_angular_19.md +112 -5
- package/docs/de/intlayer_with_angular_21.md +106 -5
- package/docs/de/intlayer_with_astro.md +114 -17
- package/docs/de/intlayer_with_astro_lit.md +115 -7
- package/docs/de/intlayer_with_astro_preact.md +115 -7
- package/docs/de/intlayer_with_astro_react.md +115 -7
- package/docs/de/intlayer_with_astro_solid.md +115 -7
- package/docs/de/intlayer_with_astro_svelte.md +115 -7
- package/docs/de/intlayer_with_astro_vanilla.md +109 -7
- package/docs/de/intlayer_with_astro_vue.md +115 -7
- package/docs/de/intlayer_with_create_react_app.md +110 -5
- package/docs/de/intlayer_with_elysia.md +125 -5
- package/docs/de/intlayer_with_express.md +118 -4
- package/docs/de/intlayer_with_fastify.md +119 -5
- package/docs/de/intlayer_with_hono.md +118 -4
- package/docs/de/intlayer_with_htmx.md +770 -0
- package/docs/de/intlayer_with_lynx+react.md +3 -10
- package/docs/de/intlayer_with_nestjs.md +118 -4
- package/docs/de/intlayer_with_next-i18next.md +3 -3
- package/docs/de/intlayer_with_nextjs_14.md +141 -113
- package/docs/de/intlayer_with_nextjs_15.md +123 -48
- package/docs/de/intlayer_with_nextjs_16.md +150 -54
- package/docs/de/intlayer_with_nextjs_compiler.md +116 -6
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +118 -6
- package/docs/de/intlayer_with_nextjs_page_router.md +124 -98
- package/docs/de/intlayer_with_nuxt.md +107 -5
- package/docs/de/intlayer_with_react_native+expo.md +106 -11
- package/docs/de/intlayer_with_react_router_v7.md +116 -7
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/de/intlayer_with_solid_start.md +120 -5
- package/docs/de/intlayer_with_storybook.md +0 -13
- package/docs/de/intlayer_with_svelte_kit.md +102 -5
- package/docs/de/intlayer_with_tanstack+solid.md +122 -19
- package/docs/de/intlayer_with_tanstack.md +234 -155
- package/docs/de/intlayer_with_vanilla.md +111 -3
- package/docs/de/intlayer_with_vite+lit.md +116 -5
- package/docs/de/intlayer_with_vite+preact.md +173 -36
- package/docs/de/intlayer_with_vite+react.md +105 -9
- package/docs/de/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/de/intlayer_with_vite+solid.md +116 -5
- package/docs/de/intlayer_with_vite+svelte.md +117 -14
- package/docs/de/intlayer_with_vite+vanilla.md +122 -5
- package/docs/de/intlayer_with_vite+vue.md +101 -5
- package/docs/de/introduction.md +105 -2
- package/docs/de/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/de/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/de/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/de/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/de/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/en/bundle_optimization.md +186 -186
- package/docs/en/configuration.md +99 -1
- package/docs/en/dictionary/content_file.md +4 -4
- package/docs/en/how_works_intlayer.md +93 -1
- package/docs/en/interest_of_intlayer.md +97 -2
- package/docs/en/intlayer_CMS.md +93 -1
- package/docs/en/intlayer_visual_editor.md +88 -2
- package/docs/en/intlayer_with_adonisjs.md +124 -4
- package/docs/en/intlayer_with_analog.md +114 -5
- package/docs/en/intlayer_with_angular_19.md +112 -5
- package/docs/en/intlayer_with_angular_21.md +106 -5
- package/docs/en/intlayer_with_astro.md +110 -7
- package/docs/en/intlayer_with_astro_lit.md +115 -7
- package/docs/en/intlayer_with_astro_preact.md +115 -7
- package/docs/en/intlayer_with_astro_react.md +115 -7
- package/docs/en/intlayer_with_astro_solid.md +115 -7
- package/docs/en/intlayer_with_astro_svelte.md +115 -7
- package/docs/en/intlayer_with_astro_vanilla.md +109 -7
- package/docs/en/intlayer_with_astro_vue.md +115 -7
- package/docs/en/intlayer_with_create_react_app.md +108 -5
- package/docs/en/intlayer_with_elysia.md +125 -5
- package/docs/en/intlayer_with_express.md +118 -4
- package/docs/en/intlayer_with_fastify.md +119 -5
- package/docs/en/intlayer_with_hono.md +118 -4
- package/docs/en/intlayer_with_htmx.md +754 -0
- package/docs/en/intlayer_with_lynx+react.md +3 -10
- package/docs/en/intlayer_with_nestjs.md +118 -4
- package/docs/en/intlayer_with_next-i18next.md +3 -3
- package/docs/en/intlayer_with_nextjs_14.md +123 -46
- package/docs/en/intlayer_with_nextjs_15.md +123 -47
- package/docs/en/intlayer_with_nextjs_16.md +124 -46
- package/docs/en/intlayer_with_nextjs_compiler.md +114 -5
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +118 -6
- package/docs/en/intlayer_with_nextjs_page_router.md +113 -98
- package/docs/en/intlayer_with_nuxt.md +107 -5
- package/docs/en/intlayer_with_react_native+expo.md +106 -11
- package/docs/en/intlayer_with_react_router_v7.md +116 -7
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +112 -5
- package/docs/en/intlayer_with_solid_start.md +120 -5
- package/docs/en/intlayer_with_storybook.md +0 -13
- package/docs/en/intlayer_with_svelte_kit.md +102 -5
- package/docs/en/intlayer_with_tanstack+solid.md +123 -19
- package/docs/en/intlayer_with_tanstack.md +117 -19
- package/docs/en/intlayer_with_vanilla.md +111 -3
- package/docs/en/intlayer_with_vite+lit.md +116 -5
- package/docs/en/intlayer_with_vite+preact.md +146 -37
- package/docs/en/intlayer_with_vite+react.md +104 -7
- package/docs/en/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/en/intlayer_with_vite+solid.md +116 -5
- package/docs/en/intlayer_with_vite+svelte.md +117 -14
- package/docs/en/intlayer_with_vite+vanilla.md +122 -5
- package/docs/en/intlayer_with_vite+vue.md +101 -5
- package/docs/en/introduction.md +105 -2
- package/docs/en/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/en/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/en/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/en/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/en/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/en-GB/analytics.md +527 -58
- package/docs/en-GB/bundle_optimization.md +186 -186
- package/docs/en-GB/configuration.md +99 -1
- package/docs/en-GB/dictionary/content_file.md +4 -4
- package/docs/en-GB/dictionary/html.md +117 -1
- package/docs/en-GB/dictionary/markdown.md +18 -1
- package/docs/en-GB/dictionary/plurial.md +5 -2
- package/docs/en-GB/dictionary/translation.md +1 -1
- package/docs/en-GB/how_works_intlayer.md +93 -1
- package/docs/en-GB/interest_of_intlayer.md +97 -2
- package/docs/en-GB/intlayer_CMS.md +93 -1
- package/docs/en-GB/intlayer_visual_editor.md +88 -2
- package/docs/en-GB/intlayer_with_adonisjs.md +124 -4
- package/docs/en-GB/intlayer_with_analog.md +114 -5
- package/docs/en-GB/intlayer_with_angular_19.md +112 -5
- package/docs/en-GB/intlayer_with_angular_21.md +106 -5
- package/docs/en-GB/intlayer_with_astro.md +114 -17
- package/docs/en-GB/intlayer_with_astro_lit.md +115 -7
- package/docs/en-GB/intlayer_with_astro_preact.md +115 -7
- package/docs/en-GB/intlayer_with_astro_react.md +115 -7
- package/docs/en-GB/intlayer_with_astro_solid.md +115 -7
- package/docs/en-GB/intlayer_with_astro_svelte.md +115 -7
- package/docs/en-GB/intlayer_with_astro_vanilla.md +109 -7
- package/docs/en-GB/intlayer_with_astro_vue.md +115 -7
- package/docs/en-GB/intlayer_with_create_react_app.md +108 -5
- package/docs/en-GB/intlayer_with_elysia.md +125 -5
- package/docs/en-GB/intlayer_with_express.md +118 -4
- package/docs/en-GB/intlayer_with_fastify.md +119 -5
- package/docs/en-GB/intlayer_with_hono.md +118 -4
- package/docs/en-GB/intlayer_with_htmx.md +757 -0
- package/docs/en-GB/intlayer_with_lynx+react.md +3 -10
- package/docs/en-GB/intlayer_with_nestjs.md +118 -4
- package/docs/en-GB/intlayer_with_next-i18next.md +3 -3
- package/docs/en-GB/intlayer_with_nextjs_14.md +123 -47
- package/docs/en-GB/intlayer_with_nextjs_15.md +126 -48
- package/docs/en-GB/intlayer_with_nextjs_16.md +124 -47
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +124 -15
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +118 -6
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +125 -140
- package/docs/en-GB/intlayer_with_nuxt.md +107 -5
- package/docs/en-GB/intlayer_with_react_native+expo.md +106 -11
- package/docs/en-GB/intlayer_with_react_router_v7.md +116 -7
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +114 -7
- package/docs/en-GB/intlayer_with_solid_start.md +120 -5
- package/docs/en-GB/intlayer_with_storybook.md +0 -13
- package/docs/en-GB/intlayer_with_svelte_kit.md +102 -5
- package/docs/en-GB/intlayer_with_tanstack+solid.md +123 -19
- package/docs/en-GB/intlayer_with_tanstack.md +258 -170
- package/docs/en-GB/intlayer_with_vanilla.md +111 -3
- package/docs/en-GB/intlayer_with_vite+lit.md +116 -5
- package/docs/en-GB/intlayer_with_vite+preact.md +182 -35
- package/docs/en-GB/intlayer_with_vite+react.md +104 -16
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/en-GB/intlayer_with_vite+solid.md +121 -5
- package/docs/en-GB/intlayer_with_vite+svelte.md +117 -23
- package/docs/en-GB/intlayer_with_vite+vanilla.md +122 -5
- package/docs/en-GB/intlayer_with_vite+vue.md +105 -11
- package/docs/en-GB/introduction.md +105 -2
- package/docs/en-GB/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/en-GB/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/en-GB/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/es/analytics.md +458 -12
- package/docs/es/bundle_optimization.md +186 -186
- package/docs/es/configuration.md +99 -1
- package/docs/es/dictionary/content_file.md +4 -4
- package/docs/es/dictionary/markdown.md +18 -1
- package/docs/es/dictionary/plurial.md +5 -2
- package/docs/es/how_works_intlayer.md +93 -1
- package/docs/es/interest_of_intlayer.md +97 -2
- package/docs/es/intlayer_CMS.md +93 -1
- package/docs/es/intlayer_visual_editor.md +88 -2
- package/docs/es/intlayer_with_adonisjs.md +124 -4
- package/docs/es/intlayer_with_analog.md +114 -5
- package/docs/es/intlayer_with_angular_19.md +112 -5
- package/docs/es/intlayer_with_angular_21.md +106 -5
- package/docs/es/intlayer_with_astro.md +114 -17
- package/docs/es/intlayer_with_astro_lit.md +115 -7
- package/docs/es/intlayer_with_astro_preact.md +115 -7
- package/docs/es/intlayer_with_astro_react.md +115 -7
- package/docs/es/intlayer_with_astro_solid.md +115 -7
- package/docs/es/intlayer_with_astro_svelte.md +115 -7
- package/docs/es/intlayer_with_astro_vanilla.md +109 -7
- package/docs/es/intlayer_with_astro_vue.md +115 -7
- package/docs/es/intlayer_with_create_react_app.md +110 -5
- package/docs/es/intlayer_with_elysia.md +125 -5
- package/docs/es/intlayer_with_express.md +118 -4
- package/docs/es/intlayer_with_fastify.md +119 -5
- package/docs/es/intlayer_with_hono.md +118 -4
- package/docs/es/intlayer_with_htmx.md +763 -0
- package/docs/es/intlayer_with_lynx+react.md +3 -10
- package/docs/es/intlayer_with_nestjs.md +118 -4
- package/docs/es/intlayer_with_next-i18next.md +3 -3
- package/docs/es/intlayer_with_nextjs_14.md +123 -47
- package/docs/es/intlayer_with_nextjs_15.md +126 -48
- package/docs/es/intlayer_with_nextjs_16.md +145 -55
- package/docs/es/intlayer_with_nextjs_compiler.md +125 -15
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +118 -6
- package/docs/es/intlayer_with_nextjs_page_router.md +113 -98
- package/docs/es/intlayer_with_nuxt.md +107 -5
- package/docs/es/intlayer_with_react_native+expo.md +106 -11
- package/docs/es/intlayer_with_react_router_v7.md +116 -7
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/es/intlayer_with_solid_start.md +120 -5
- package/docs/es/intlayer_with_storybook.md +0 -13
- package/docs/es/intlayer_with_svelte_kit.md +102 -5
- package/docs/es/intlayer_with_tanstack+solid.md +122 -19
- package/docs/es/intlayer_with_tanstack.md +255 -150
- package/docs/es/intlayer_with_vanilla.md +111 -3
- package/docs/es/intlayer_with_vite+lit.md +116 -5
- package/docs/es/intlayer_with_vite+preact.md +146 -37
- package/docs/es/intlayer_with_vite+react.md +104 -7
- package/docs/es/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/es/intlayer_with_vite+solid.md +117 -5
- package/docs/es/intlayer_with_vite+svelte.md +117 -14
- package/docs/es/intlayer_with_vite+vanilla.md +122 -5
- package/docs/es/intlayer_with_vite+vue.md +102 -6
- package/docs/es/introduction.md +105 -2
- package/docs/es/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/es/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/es/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/es/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/es/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/fr/analytics.md +437 -13
- package/docs/fr/bundle_optimization.md +186 -186
- package/docs/fr/configuration.md +99 -1
- package/docs/fr/dictionary/content_file.md +4 -4
- package/docs/fr/dictionary/markdown.md +18 -1
- package/docs/fr/dictionary/plurial.md +5 -2
- package/docs/fr/how_works_intlayer.md +93 -1
- package/docs/fr/interest_of_intlayer.md +97 -2
- package/docs/fr/intlayer_CMS.md +93 -1
- package/docs/fr/intlayer_visual_editor.md +88 -2
- package/docs/fr/intlayer_with_adonisjs.md +124 -4
- package/docs/fr/intlayer_with_analog.md +114 -5
- package/docs/fr/intlayer_with_angular_19.md +112 -5
- package/docs/fr/intlayer_with_angular_21.md +106 -5
- package/docs/fr/intlayer_with_astro.md +114 -17
- package/docs/fr/intlayer_with_astro_lit.md +115 -7
- package/docs/fr/intlayer_with_astro_preact.md +115 -7
- package/docs/fr/intlayer_with_astro_react.md +115 -7
- package/docs/fr/intlayer_with_astro_solid.md +115 -7
- package/docs/fr/intlayer_with_astro_svelte.md +115 -7
- package/docs/fr/intlayer_with_astro_vanilla.md +109 -7
- package/docs/fr/intlayer_with_astro_vue.md +115 -7
- package/docs/fr/intlayer_with_create_react_app.md +110 -5
- package/docs/fr/intlayer_with_elysia.md +125 -5
- package/docs/fr/intlayer_with_express.md +118 -4
- package/docs/fr/intlayer_with_fastify.md +119 -5
- package/docs/fr/intlayer_with_hono.md +118 -4
- package/docs/fr/intlayer_with_htmx.md +756 -0
- package/docs/fr/intlayer_with_lynx+react.md +3 -10
- package/docs/fr/intlayer_with_nestjs.md +118 -4
- package/docs/fr/intlayer_with_next-i18next.md +3 -3
- package/docs/fr/intlayer_with_nextjs_14.md +141 -113
- package/docs/fr/intlayer_with_nextjs_15.md +127 -49
- package/docs/fr/intlayer_with_nextjs_16.md +124 -46
- package/docs/fr/intlayer_with_nextjs_compiler.md +125 -15
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +118 -6
- package/docs/fr/intlayer_with_nextjs_page_router.md +113 -98
- package/docs/fr/intlayer_with_nuxt.md +107 -5
- package/docs/fr/intlayer_with_react_native+expo.md +106 -11
- package/docs/fr/intlayer_with_react_router_v7.md +120 -13
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/fr/intlayer_with_solid_start.md +120 -5
- package/docs/fr/intlayer_with_storybook.md +0 -13
- package/docs/fr/intlayer_with_svelte_kit.md +102 -5
- package/docs/fr/intlayer_with_tanstack+solid.md +122 -19
- package/docs/fr/intlayer_with_tanstack.md +238 -131
- package/docs/fr/intlayer_with_vanilla.md +111 -3
- package/docs/fr/intlayer_with_vite+lit.md +116 -5
- package/docs/fr/intlayer_with_vite+preact.md +146 -37
- package/docs/fr/intlayer_with_vite+react.md +104 -7
- package/docs/fr/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/fr/intlayer_with_vite+solid.md +117 -5
- package/docs/fr/intlayer_with_vite+svelte.md +117 -14
- package/docs/fr/intlayer_with_vite+vanilla.md +122 -5
- package/docs/fr/intlayer_with_vite+vue.md +102 -6
- package/docs/fr/introduction.md +105 -2
- package/docs/fr/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/fr/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/fr/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/hi/analytics.md +488 -21
- package/docs/hi/bundle_optimization.md +186 -186
- package/docs/hi/configuration.md +98 -0
- package/docs/hi/dictionary/content_file.md +4 -4
- package/docs/hi/dictionary/html.md +100 -3
- package/docs/hi/dictionary/markdown.md +3 -0
- package/docs/hi/dictionary/plurial.md +6 -3
- package/docs/hi/how_works_intlayer.md +92 -0
- package/docs/hi/interest_of_intlayer.md +106 -9
- package/docs/hi/intlayer_CMS.md +92 -0
- package/docs/hi/intlayer_visual_editor.md +87 -1
- package/docs/hi/intlayer_with_adonisjs.md +124 -3
- package/docs/hi/intlayer_with_analog.md +119 -11
- package/docs/hi/intlayer_with_angular_19.md +118 -11
- package/docs/hi/intlayer_with_angular_21.md +112 -11
- package/docs/hi/intlayer_with_astro.md +120 -23
- package/docs/hi/intlayer_with_astro_lit.md +121 -13
- package/docs/hi/intlayer_with_astro_preact.md +121 -13
- package/docs/hi/intlayer_with_astro_react.md +121 -13
- package/docs/hi/intlayer_with_astro_solid.md +121 -13
- package/docs/hi/intlayer_with_astro_svelte.md +121 -13
- package/docs/hi/intlayer_with_astro_vanilla.md +115 -13
- package/docs/hi/intlayer_with_astro_vue.md +121 -13
- package/docs/hi/intlayer_with_create_react_app.md +109 -4
- package/docs/hi/intlayer_with_elysia.md +125 -4
- package/docs/hi/intlayer_with_express.md +117 -3
- package/docs/hi/intlayer_with_fastify.md +119 -4
- package/docs/hi/intlayer_with_hono.md +117 -3
- package/docs/hi/intlayer_with_htmx.md +771 -0
- package/docs/hi/intlayer_with_lynx+react.md +10 -17
- package/docs/hi/intlayer_with_nestjs.md +118 -3
- package/docs/hi/intlayer_with_next-i18next.md +3 -3
- package/docs/hi/intlayer_with_nextjs_14.md +147 -123
- package/docs/hi/intlayer_with_nextjs_15.md +132 -54
- package/docs/hi/intlayer_with_nextjs_16.md +132 -53
- package/docs/hi/intlayer_with_nextjs_compiler.md +124 -15
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +124 -12
- package/docs/hi/intlayer_with_nextjs_page_router.md +126 -99
- package/docs/hi/intlayer_with_nuxt.md +113 -11
- package/docs/hi/intlayer_with_react_native+expo.md +105 -10
- package/docs/hi/intlayer_with_react_router_v7.md +122 -13
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +125 -25
- package/docs/hi/intlayer_with_solid_start.md +118 -4
- package/docs/hi/intlayer_with_storybook.md +7 -20
- package/docs/hi/intlayer_with_svelte_kit.md +108 -11
- package/docs/hi/intlayer_with_tanstack+solid.md +127 -25
- package/docs/hi/intlayer_with_tanstack.md +272 -158
- package/docs/hi/intlayer_with_vanilla.md +117 -9
- package/docs/hi/intlayer_with_vite+lit.md +121 -11
- package/docs/hi/intlayer_with_vite+preact.md +173 -44
- package/docs/hi/intlayer_with_vite+react.md +111 -23
- package/docs/hi/intlayer_with_vite+react_compiler.md +109 -4
- package/docs/hi/intlayer_with_vite+solid.md +121 -11
- package/docs/hi/intlayer_with_vite+svelte.md +124 -21
- package/docs/hi/intlayer_with_vite+vanilla.md +128 -11
- package/docs/hi/intlayer_with_vite+vue.md +107 -11
- package/docs/hi/introduction.md +104 -1
- package/docs/hi/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/hi/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/hi/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/hi/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/hi/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/hi/packages/intlayer/index.md +3 -3
- package/docs/hi/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/id/analytics.md +488 -21
- package/docs/id/bundle_optimization.md +186 -186
- package/docs/id/configuration.md +98 -0
- package/docs/id/dictionary/content_file.md +4 -4
- package/docs/id/dictionary/markdown.md +3 -0
- package/docs/id/dictionary/plurial.md +5 -2
- package/docs/id/how_works_intlayer.md +92 -0
- package/docs/id/interest_of_intlayer.md +96 -1
- package/docs/id/intlayer_CMS.md +92 -0
- package/docs/id/intlayer_visual_editor.md +87 -1
- package/docs/id/intlayer_with_adonisjs.md +124 -3
- package/docs/id/intlayer_with_analog.md +112 -4
- package/docs/id/intlayer_with_angular_19.md +111 -4
- package/docs/id/intlayer_with_angular_21.md +105 -4
- package/docs/id/intlayer_with_astro.md +113 -16
- package/docs/id/intlayer_with_astro_lit.md +114 -6
- package/docs/id/intlayer_with_astro_preact.md +114 -6
- package/docs/id/intlayer_with_astro_react.md +114 -6
- package/docs/id/intlayer_with_astro_solid.md +114 -6
- package/docs/id/intlayer_with_astro_svelte.md +114 -6
- package/docs/id/intlayer_with_astro_vanilla.md +108 -6
- package/docs/id/intlayer_with_astro_vue.md +114 -6
- package/docs/id/intlayer_with_create_react_app.md +109 -4
- package/docs/id/intlayer_with_elysia.md +125 -4
- package/docs/id/intlayer_with_express.md +117 -3
- package/docs/id/intlayer_with_fastify.md +119 -4
- package/docs/id/intlayer_with_hono.md +117 -3
- package/docs/id/intlayer_with_htmx.md +761 -0
- package/docs/id/intlayer_with_lynx+react.md +3 -10
- package/docs/id/intlayer_with_nestjs.md +118 -3
- package/docs/id/intlayer_with_next-i18next.md +3 -3
- package/docs/id/intlayer_with_nextjs_14.md +135 -69
- package/docs/id/intlayer_with_nextjs_15.md +122 -46
- package/docs/id/intlayer_with_nextjs_16.md +125 -45
- package/docs/id/intlayer_with_nextjs_compiler.md +125 -17
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +117 -5
- package/docs/id/intlayer_with_nextjs_page_router.md +114 -97
- package/docs/id/intlayer_with_nuxt.md +106 -4
- package/docs/id/intlayer_with_react_native+expo.md +105 -10
- package/docs/id/intlayer_with_react_router_v7.md +115 -6
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +116 -16
- package/docs/id/intlayer_with_solid_start.md +118 -4
- package/docs/id/intlayer_with_storybook.md +0 -13
- package/docs/id/intlayer_with_svelte_kit.md +101 -4
- package/docs/id/intlayer_with_tanstack+solid.md +120 -18
- package/docs/id/intlayer_with_tanstack.md +232 -132
- package/docs/id/intlayer_with_vanilla.md +110 -2
- package/docs/id/intlayer_with_vite+lit.md +114 -4
- package/docs/id/intlayer_with_vite+preact.md +144 -36
- package/docs/id/intlayer_with_vite+react.md +104 -16
- package/docs/id/intlayer_with_vite+react_compiler.md +109 -4
- package/docs/id/intlayer_with_vite+solid.md +115 -4
- package/docs/id/intlayer_with_vite+svelte.md +115 -13
- package/docs/id/intlayer_with_vite+vanilla.md +121 -4
- package/docs/id/intlayer_with_vite+vue.md +100 -4
- package/docs/id/introduction.md +104 -1
- package/docs/id/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/id/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/id/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/id/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/id/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/id/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/it/analytics.md +488 -21
- package/docs/it/bundle_optimization.md +186 -186
- package/docs/it/configuration.md +99 -1
- package/docs/it/dictionary/content_file.md +4 -4
- package/docs/it/dictionary/markdown.md +18 -1
- package/docs/it/dictionary/plurial.md +5 -2
- package/docs/it/how_works_intlayer.md +93 -1
- package/docs/it/interest_of_intlayer.md +97 -2
- package/docs/it/intlayer_CMS.md +93 -1
- package/docs/it/intlayer_visual_editor.md +88 -2
- package/docs/it/intlayer_with_adonisjs.md +124 -4
- package/docs/it/intlayer_with_analog.md +114 -5
- package/docs/it/intlayer_with_angular_19.md +112 -5
- package/docs/it/intlayer_with_angular_21.md +106 -5
- package/docs/it/intlayer_with_astro.md +114 -17
- package/docs/it/intlayer_with_astro_lit.md +115 -7
- package/docs/it/intlayer_with_astro_preact.md +115 -7
- package/docs/it/intlayer_with_astro_react.md +115 -7
- package/docs/it/intlayer_with_astro_solid.md +115 -7
- package/docs/it/intlayer_with_astro_svelte.md +115 -7
- package/docs/it/intlayer_with_astro_vanilla.md +109 -7
- package/docs/it/intlayer_with_astro_vue.md +115 -7
- package/docs/it/intlayer_with_create_react_app.md +110 -5
- package/docs/it/intlayer_with_elysia.md +125 -5
- package/docs/it/intlayer_with_express.md +118 -4
- package/docs/it/intlayer_with_fastify.md +119 -5
- package/docs/it/intlayer_with_hono.md +118 -4
- package/docs/it/intlayer_with_htmx.md +761 -0
- package/docs/it/intlayer_with_lynx+react.md +3 -10
- package/docs/it/intlayer_with_nestjs.md +118 -4
- package/docs/it/intlayer_with_next-i18next.md +3 -3
- package/docs/it/intlayer_with_nextjs_14.md +141 -118
- package/docs/it/intlayer_with_nextjs_15.md +127 -50
- package/docs/it/intlayer_with_nextjs_16.md +126 -47
- package/docs/it/intlayer_with_nextjs_compiler.md +126 -17
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +118 -6
- package/docs/it/intlayer_with_nextjs_page_router.md +122 -98
- package/docs/it/intlayer_with_nuxt.md +107 -5
- package/docs/it/intlayer_with_react_native+expo.md +106 -11
- package/docs/it/intlayer_with_react_router_v7.md +116 -7
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/it/intlayer_with_solid_start.md +120 -5
- package/docs/it/intlayer_with_storybook.md +0 -13
- package/docs/it/intlayer_with_svelte_kit.md +102 -5
- package/docs/it/intlayer_with_tanstack+solid.md +122 -19
- package/docs/it/intlayer_with_tanstack.md +235 -134
- package/docs/it/intlayer_with_vanilla.md +111 -3
- package/docs/it/intlayer_with_vite+lit.md +116 -5
- package/docs/it/intlayer_with_vite+preact.md +146 -37
- package/docs/it/intlayer_with_vite+react.md +105 -17
- package/docs/it/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/it/intlayer_with_vite+solid.md +117 -5
- package/docs/it/intlayer_with_vite+svelte.md +117 -14
- package/docs/it/intlayer_with_vite+vanilla.md +122 -5
- package/docs/it/intlayer_with_vite+vue.md +102 -6
- package/docs/it/introduction.md +105 -2
- package/docs/it/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/it/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/it/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/it/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/it/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ja/analytics.md +458 -12
- package/docs/ja/bundle_optimization.md +186 -186
- package/docs/ja/configuration.md +99 -1
- package/docs/ja/dictionary/content_file.md +4 -4
- package/docs/ja/dictionary/plurial.md +5 -2
- package/docs/ja/how_works_intlayer.md +93 -1
- package/docs/ja/interest_of_intlayer.md +107 -10
- package/docs/ja/intlayer_CMS.md +93 -1
- package/docs/ja/intlayer_visual_editor.md +88 -2
- package/docs/ja/intlayer_with_adonisjs.md +124 -4
- package/docs/ja/intlayer_with_analog.md +122 -13
- package/docs/ja/intlayer_with_angular_19.md +120 -13
- package/docs/ja/intlayer_with_angular_21.md +114 -13
- package/docs/ja/intlayer_with_astro.md +122 -25
- package/docs/ja/intlayer_with_astro_lit.md +123 -15
- package/docs/ja/intlayer_with_astro_preact.md +123 -15
- package/docs/ja/intlayer_with_astro_react.md +123 -15
- package/docs/ja/intlayer_with_astro_solid.md +123 -15
- package/docs/ja/intlayer_with_astro_svelte.md +123 -15
- package/docs/ja/intlayer_with_astro_vanilla.md +117 -15
- package/docs/ja/intlayer_with_astro_vue.md +123 -15
- package/docs/ja/intlayer_with_create_react_app.md +110 -5
- package/docs/ja/intlayer_with_elysia.md +125 -5
- package/docs/ja/intlayer_with_express.md +124 -4
- package/docs/ja/intlayer_with_fastify.md +119 -5
- package/docs/ja/intlayer_with_hono.md +118 -4
- package/docs/ja/intlayer_with_htmx.md +769 -0
- package/docs/ja/intlayer_with_lynx+react.md +11 -18
- package/docs/ja/intlayer_with_nestjs.md +118 -4
- package/docs/ja/intlayer_with_next-i18next.md +3 -3
- package/docs/ja/intlayer_with_nextjs_14.md +131 -54
- package/docs/ja/intlayer_with_nextjs_15.md +139 -62
- package/docs/ja/intlayer_with_nextjs_16.md +134 -55
- package/docs/ja/intlayer_with_nextjs_compiler.md +126 -18
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +126 -14
- package/docs/ja/intlayer_with_nextjs_page_router.md +218 -113
- package/docs/ja/intlayer_with_nuxt.md +115 -13
- package/docs/ja/intlayer_with_react_native+expo.md +106 -11
- package/docs/ja/intlayer_with_react_router_v7.md +124 -14
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +123 -23
- package/docs/ja/intlayer_with_solid_start.md +120 -5
- package/docs/ja/intlayer_with_storybook.md +8 -21
- package/docs/ja/intlayer_with_svelte_kit.md +110 -13
- package/docs/ja/intlayer_with_tanstack+solid.md +131 -27
- package/docs/ja/intlayer_with_tanstack.md +257 -206
- package/docs/ja/intlayer_with_vanilla.md +119 -11
- package/docs/ja/intlayer_with_vite+lit.md +124 -13
- package/docs/ja/intlayer_with_vite+preact.md +154 -26
- package/docs/ja/intlayer_with_vite+react.md +112 -15
- package/docs/ja/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/ja/intlayer_with_vite+solid.md +124 -13
- package/docs/ja/intlayer_with_vite+svelte.md +125 -22
- package/docs/ja/intlayer_with_vite+vanilla.md +130 -13
- package/docs/ja/intlayer_with_vite+vue.md +110 -14
- package/docs/ja/introduction.md +105 -2
- package/docs/ja/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/ja/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/ja/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ko/analytics.md +457 -11
- package/docs/ko/bundle_optimization.md +186 -186
- package/docs/ko/configuration.md +99 -1
- package/docs/ko/dictionary/content_file.md +4 -4
- package/docs/ko/dictionary/markdown.md +18 -1
- package/docs/ko/dictionary/plurial.md +6 -3
- package/docs/ko/how_works_intlayer.md +93 -1
- package/docs/ko/interest_of_intlayer.md +98 -3
- package/docs/ko/intlayer_CMS.md +93 -1
- package/docs/ko/intlayer_visual_editor.md +88 -2
- package/docs/ko/intlayer_with_adonisjs.md +124 -4
- package/docs/ko/intlayer_with_analog.md +114 -5
- package/docs/ko/intlayer_with_angular_19.md +113 -6
- package/docs/ko/intlayer_with_angular_21.md +107 -6
- package/docs/ko/intlayer_with_astro.md +122 -22
- package/docs/ko/intlayer_with_astro_lit.md +115 -7
- package/docs/ko/intlayer_with_astro_preact.md +115 -7
- package/docs/ko/intlayer_with_astro_react.md +115 -7
- package/docs/ko/intlayer_with_astro_solid.md +115 -7
- package/docs/ko/intlayer_with_astro_svelte.md +115 -7
- package/docs/ko/intlayer_with_astro_vanilla.md +109 -7
- package/docs/ko/intlayer_with_astro_vue.md +115 -7
- package/docs/ko/intlayer_with_create_react_app.md +110 -8
- package/docs/ko/intlayer_with_elysia.md +125 -5
- package/docs/ko/intlayer_with_express.md +118 -4
- package/docs/ko/intlayer_with_fastify.md +119 -6
- package/docs/ko/intlayer_with_hono.md +118 -4
- package/docs/ko/intlayer_with_htmx.md +763 -0
- package/docs/ko/intlayer_with_lynx+react.md +3 -10
- package/docs/ko/intlayer_with_nestjs.md +118 -4
- package/docs/ko/intlayer_with_next-i18next.md +3 -3
- package/docs/ko/intlayer_with_nextjs_14.md +121 -45
- package/docs/ko/intlayer_with_nextjs_15.md +121 -46
- package/docs/ko/intlayer_with_nextjs_16.md +124 -46
- package/docs/ko/intlayer_with_nextjs_compiler.md +113 -4
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +120 -10
- package/docs/ko/intlayer_with_nextjs_page_router.md +113 -97
- package/docs/ko/intlayer_with_nuxt.md +107 -5
- package/docs/ko/intlayer_with_react_native+expo.md +106 -11
- package/docs/ko/intlayer_with_react_router_v7.md +119 -13
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +116 -14
- package/docs/ko/intlayer_with_solid_start.md +125 -10
- package/docs/ko/intlayer_with_storybook.md +0 -14
- package/docs/ko/intlayer_with_svelte_kit.md +102 -5
- package/docs/ko/intlayer_with_tanstack+solid.md +124 -20
- package/docs/ko/intlayer_with_tanstack.md +263 -194
- package/docs/ko/intlayer_with_vanilla.md +111 -2
- package/docs/ko/intlayer_with_vite+lit.md +117 -6
- package/docs/ko/intlayer_with_vite+preact.md +146 -37
- package/docs/ko/intlayer_with_vite+react.md +104 -8
- package/docs/ko/intlayer_with_vite+react_compiler.md +110 -13
- package/docs/ko/intlayer_with_vite+solid.md +118 -5
- package/docs/ko/intlayer_with_vite+svelte.md +118 -18
- package/docs/ko/intlayer_with_vite+vanilla.md +124 -14
- package/docs/ko/intlayer_with_vite+vue.md +102 -6
- package/docs/ko/introduction.md +105 -2
- package/docs/ko/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/ko/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/ko/packages/express-intlayer/t.md +9 -6
- package/docs/ko/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/nl/bundle_optimization.md +186 -186
- package/docs/nl/interest_of_intlayer.md +0 -1
- 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_storybook.md +0 -12
- package/docs/nl/intlayer_with_vanilla.md +2 -1
- package/docs/nl/intlayer_with_vite+lit.md +3 -3
- package/docs/nl/intlayer_with_vite+vanilla.md +3 -3
- package/docs/nl/introduction.md +0 -1
- package/docs/pl/analytics.md +488 -21
- package/docs/pl/bundle_optimization.md +186 -186
- package/docs/pl/configuration.md +98 -0
- package/docs/pl/dictionary/content_file.md +4 -4
- package/docs/pl/dictionary/markdown.md +3 -0
- package/docs/pl/dictionary/plurial.md +5 -2
- package/docs/pl/how_works_intlayer.md +92 -0
- package/docs/pl/interest_of_intlayer.md +96 -1
- package/docs/pl/intlayer_CMS.md +92 -0
- package/docs/pl/intlayer_visual_editor.md +87 -1
- package/docs/pl/intlayer_with_adonisjs.md +123 -3
- package/docs/pl/intlayer_with_analog.md +119 -11
- package/docs/pl/intlayer_with_angular_19.md +118 -11
- package/docs/pl/intlayer_with_angular_21.md +112 -11
- package/docs/pl/intlayer_with_astro.md +120 -23
- package/docs/pl/intlayer_with_astro_lit.md +121 -13
- package/docs/pl/intlayer_with_astro_preact.md +121 -13
- package/docs/pl/intlayer_with_astro_react.md +121 -13
- package/docs/pl/intlayer_with_astro_solid.md +121 -13
- package/docs/pl/intlayer_with_astro_svelte.md +121 -13
- package/docs/pl/intlayer_with_astro_vanilla.md +115 -13
- package/docs/pl/intlayer_with_astro_vue.md +121 -13
- package/docs/pl/intlayer_with_create_react_app.md +109 -4
- package/docs/pl/intlayer_with_elysia.md +124 -4
- package/docs/pl/intlayer_with_express.md +117 -3
- package/docs/pl/intlayer_with_fastify.md +118 -4
- package/docs/pl/intlayer_with_hono.md +117 -3
- package/docs/pl/intlayer_with_htmx.md +767 -0
- package/docs/pl/intlayer_with_lynx+react.md +10 -17
- package/docs/pl/intlayer_with_nestjs.md +117 -3
- package/docs/pl/intlayer_with_next-i18next.md +3 -3
- package/docs/pl/intlayer_with_nextjs_14.md +130 -53
- package/docs/pl/intlayer_with_nextjs_15.md +144 -65
- package/docs/pl/intlayer_with_nextjs_16.md +131 -54
- package/docs/pl/intlayer_with_nextjs_compiler.md +125 -16
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +125 -13
- package/docs/pl/intlayer_with_nextjs_page_router.md +118 -100
- package/docs/pl/intlayer_with_nuxt.md +113 -11
- package/docs/pl/intlayer_with_react_native+expo.md +105 -10
- package/docs/pl/intlayer_with_react_router_v7.md +134 -25
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +121 -20
- package/docs/pl/intlayer_with_solid_start.md +118 -4
- package/docs/pl/intlayer_with_storybook.md +7 -20
- package/docs/pl/intlayer_with_svelte_kit.md +108 -11
- package/docs/pl/intlayer_with_tanstack+solid.md +127 -25
- package/docs/pl/intlayer_with_tanstack.md +241 -163
- package/docs/pl/intlayer_with_vanilla.md +117 -9
- package/docs/pl/intlayer_with_vite+lit.md +121 -11
- package/docs/pl/intlayer_with_vite+preact.md +151 -43
- package/docs/pl/intlayer_with_vite+react.md +111 -23
- package/docs/pl/intlayer_with_vite+react_compiler.md +111 -6
- package/docs/pl/intlayer_with_vite+solid.md +115 -8
- package/docs/pl/intlayer_with_vite+svelte.md +122 -20
- package/docs/pl/intlayer_with_vite+vanilla.md +128 -11
- package/docs/pl/intlayer_with_vite+vue.md +107 -11
- package/docs/pl/introduction.md +104 -1
- package/docs/pl/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/pl/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/pl/packages/next-intlayer/useIntlayer.md +3 -0
- package/docs/pl/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/pt/analytics.md +488 -21
- package/docs/pt/bundle_optimization.md +186 -186
- package/docs/pt/configuration.md +99 -1
- package/docs/pt/dictionary/content_file.md +4 -4
- package/docs/pt/dictionary/html.md +18 -1
- package/docs/pt/dictionary/markdown.md +3 -0
- package/docs/pt/dictionary/plurial.md +5 -2
- package/docs/pt/how_works_intlayer.md +93 -1
- package/docs/pt/interest_of_intlayer.md +98 -3
- package/docs/pt/intlayer_CMS.md +93 -1
- package/docs/pt/intlayer_visual_editor.md +88 -2
- package/docs/pt/intlayer_with_adonisjs.md +124 -4
- package/docs/pt/intlayer_with_analog.md +115 -6
- package/docs/pt/intlayer_with_angular_19.md +112 -5
- package/docs/pt/intlayer_with_angular_21.md +106 -5
- package/docs/pt/intlayer_with_astro.md +114 -17
- package/docs/pt/intlayer_with_astro_lit.md +115 -7
- package/docs/pt/intlayer_with_astro_preact.md +115 -7
- package/docs/pt/intlayer_with_astro_react.md +115 -7
- package/docs/pt/intlayer_with_astro_solid.md +115 -7
- package/docs/pt/intlayer_with_astro_svelte.md +115 -7
- package/docs/pt/intlayer_with_astro_vanilla.md +109 -7
- package/docs/pt/intlayer_with_astro_vue.md +114 -6
- package/docs/pt/intlayer_with_create_react_app.md +110 -5
- package/docs/pt/intlayer_with_elysia.md +125 -5
- package/docs/pt/intlayer_with_express.md +118 -4
- package/docs/pt/intlayer_with_fastify.md +119 -6
- package/docs/pt/intlayer_with_hono.md +118 -4
- package/docs/pt/intlayer_with_htmx.md +771 -0
- package/docs/pt/intlayer_with_lynx+react.md +3 -10
- package/docs/pt/intlayer_with_nestjs.md +118 -4
- package/docs/pt/intlayer_with_next-i18next.md +3 -3
- package/docs/pt/intlayer_with_nextjs_14.md +141 -120
- package/docs/pt/intlayer_with_nextjs_15.md +123 -48
- package/docs/pt/intlayer_with_nextjs_16.md +125 -48
- package/docs/pt/intlayer_with_nextjs_compiler.md +125 -15
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +118 -6
- package/docs/pt/intlayer_with_nextjs_page_router.md +124 -98
- package/docs/pt/intlayer_with_nuxt.md +107 -5
- package/docs/pt/intlayer_with_react_native+expo.md +106 -11
- package/docs/pt/intlayer_with_react_router_v7.md +143 -36
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +115 -8
- package/docs/pt/intlayer_with_solid_start.md +124 -9
- package/docs/pt/intlayer_with_storybook.md +0 -13
- package/docs/pt/intlayer_with_svelte_kit.md +102 -5
- package/docs/pt/intlayer_with_tanstack+solid.md +123 -19
- package/docs/pt/intlayer_with_tanstack.md +255 -147
- package/docs/pt/intlayer_with_vanilla.md +111 -3
- package/docs/pt/intlayer_with_vite+lit.md +116 -5
- package/docs/pt/intlayer_with_vite+preact.md +146 -37
- package/docs/pt/intlayer_with_vite+react.md +104 -7
- package/docs/pt/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/pt/intlayer_with_vite+solid.md +117 -5
- package/docs/pt/intlayer_with_vite+svelte.md +117 -14
- package/docs/pt/intlayer_with_vite+vanilla.md +122 -5
- package/docs/pt/intlayer_with_vite+vue.md +101 -5
- package/docs/pt/introduction.md +105 -2
- package/docs/pt/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/pt/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/pt/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ru/analytics.md +458 -12
- package/docs/ru/bundle_optimization.md +186 -186
- package/docs/ru/cli/doc-review.md +0 -2
- package/docs/ru/configuration.md +99 -1
- package/docs/ru/dictionary/content_file.md +4 -4
- package/docs/ru/dictionary/markdown.md +0 -2
- package/docs/ru/dictionary/plurial.md +6 -3
- package/docs/ru/dictionary/translation.md +1 -1
- package/docs/ru/how_works_intlayer.md +93 -1
- package/docs/ru/interest_of_intlayer.md +97 -2
- package/docs/ru/intlayer_CMS.md +93 -1
- package/docs/ru/intlayer_visual_editor.md +88 -2
- package/docs/ru/intlayer_with_adonisjs.md +124 -4
- package/docs/ru/intlayer_with_analog.md +114 -5
- package/docs/ru/intlayer_with_angular_19.md +112 -5
- package/docs/ru/intlayer_with_angular_21.md +106 -5
- package/docs/ru/intlayer_with_astro.md +114 -17
- package/docs/ru/intlayer_with_astro_lit.md +115 -7
- package/docs/ru/intlayer_with_astro_preact.md +115 -7
- package/docs/ru/intlayer_with_astro_react.md +115 -7
- package/docs/ru/intlayer_with_astro_solid.md +115 -7
- package/docs/ru/intlayer_with_astro_svelte.md +115 -7
- package/docs/ru/intlayer_with_astro_vanilla.md +109 -7
- package/docs/ru/intlayer_with_astro_vue.md +115 -7
- package/docs/ru/intlayer_with_create_react_app.md +110 -5
- package/docs/ru/intlayer_with_elysia.md +125 -5
- package/docs/ru/intlayer_with_express.md +118 -4
- package/docs/ru/intlayer_with_fastify.md +119 -5
- package/docs/ru/intlayer_with_hono.md +118 -4
- package/docs/ru/intlayer_with_htmx.md +767 -0
- package/docs/ru/intlayer_with_lynx+react.md +3 -10
- package/docs/ru/intlayer_with_nestjs.md +118 -4
- package/docs/ru/intlayer_with_next-i18next.md +3 -3
- package/docs/ru/intlayer_with_nextjs_14.md +141 -117
- package/docs/ru/intlayer_with_nextjs_15.md +126 -65
- package/docs/ru/intlayer_with_nextjs_16.md +125 -48
- package/docs/ru/intlayer_with_nextjs_compiler.md +126 -17
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +118 -6
- package/docs/ru/intlayer_with_nextjs_page_router.md +113 -98
- package/docs/ru/intlayer_with_nuxt.md +107 -5
- package/docs/ru/intlayer_with_react_native+expo.md +106 -11
- package/docs/ru/intlayer_with_react_router_v7.md +116 -7
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/ru/intlayer_with_solid_start.md +120 -5
- package/docs/ru/intlayer_with_storybook.md +0 -13
- package/docs/ru/intlayer_with_svelte_kit.md +102 -5
- package/docs/ru/intlayer_with_tanstack+solid.md +122 -19
- package/docs/ru/intlayer_with_tanstack.md +233 -154
- package/docs/ru/intlayer_with_vanilla.md +111 -3
- package/docs/ru/intlayer_with_vite+lit.md +116 -5
- package/docs/ru/intlayer_with_vite+preact.md +146 -37
- package/docs/ru/intlayer_with_vite+react.md +105 -17
- package/docs/ru/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/ru/intlayer_with_vite+solid.md +117 -5
- package/docs/ru/intlayer_with_vite+svelte.md +119 -24
- package/docs/ru/intlayer_with_vite+vanilla.md +122 -5
- package/docs/ru/intlayer_with_vite+vue.md +102 -6
- package/docs/ru/introduction.md +105 -2
- package/docs/ru/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/ru/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/ru/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/tr/analytics.md +488 -21
- package/docs/tr/bundle_optimization.md +186 -186
- package/docs/tr/cli/doc-review.md +0 -2
- package/docs/tr/configuration.md +98 -0
- package/docs/tr/dictionary/content_file.md +4 -4
- package/docs/tr/dictionary/markdown.md +3 -0
- package/docs/tr/dictionary/plurial.md +6 -3
- package/docs/tr/how_works_intlayer.md +92 -0
- package/docs/tr/interest_of_intlayer.md +96 -1
- package/docs/tr/intlayer_CMS.md +92 -0
- package/docs/tr/intlayer_visual_editor.md +87 -1
- package/docs/tr/intlayer_with_adonisjs.md +124 -3
- package/docs/tr/intlayer_with_analog.md +112 -4
- package/docs/tr/intlayer_with_angular_19.md +111 -4
- package/docs/tr/intlayer_with_angular_21.md +105 -4
- package/docs/tr/intlayer_with_astro.md +120 -30
- package/docs/tr/intlayer_with_astro_lit.md +114 -6
- package/docs/tr/intlayer_with_astro_preact.md +114 -6
- package/docs/tr/intlayer_with_astro_react.md +114 -6
- package/docs/tr/intlayer_with_astro_solid.md +114 -6
- package/docs/tr/intlayer_with_astro_svelte.md +114 -6
- package/docs/tr/intlayer_with_astro_vanilla.md +108 -6
- package/docs/tr/intlayer_with_astro_vue.md +114 -6
- package/docs/tr/intlayer_with_create_react_app.md +109 -4
- package/docs/tr/intlayer_with_elysia.md +125 -4
- package/docs/tr/intlayer_with_express.md +117 -3
- package/docs/tr/intlayer_with_fastify.md +119 -4
- package/docs/tr/intlayer_with_hono.md +117 -3
- package/docs/tr/intlayer_with_htmx.md +761 -0
- package/docs/tr/intlayer_with_lynx+react.md +3 -10
- package/docs/tr/intlayer_with_nestjs.md +118 -3
- package/docs/tr/intlayer_with_next-i18next.md +3 -3
- package/docs/tr/intlayer_with_nextjs_14.md +128 -54
- package/docs/tr/intlayer_with_nextjs_15.md +122 -47
- package/docs/tr/intlayer_with_nextjs_16.md +123 -46
- package/docs/tr/intlayer_with_nextjs_compiler.md +124 -16
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +117 -5
- package/docs/tr/intlayer_with_nextjs_page_router.md +127 -123
- package/docs/tr/intlayer_with_nuxt.md +106 -4
- package/docs/tr/intlayer_with_react_native+expo.md +105 -10
- package/docs/tr/intlayer_with_react_router_v7.md +115 -6
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +110 -3
- package/docs/tr/intlayer_with_solid_start.md +118 -4
- package/docs/tr/intlayer_with_storybook.md +0 -13
- package/docs/tr/intlayer_with_svelte_kit.md +101 -4
- package/docs/tr/intlayer_with_tanstack+solid.md +120 -18
- package/docs/tr/intlayer_with_tanstack.md +262 -131
- package/docs/tr/intlayer_with_vanilla.md +110 -2
- package/docs/tr/intlayer_with_vite+lit.md +114 -4
- package/docs/tr/intlayer_with_vite+preact.md +144 -36
- package/docs/tr/intlayer_with_vite+react.md +103 -6
- package/docs/tr/intlayer_with_vite+react_compiler.md +109 -4
- package/docs/tr/intlayer_with_vite+solid.md +115 -4
- package/docs/tr/intlayer_with_vite+svelte.md +115 -13
- package/docs/tr/intlayer_with_vite+vanilla.md +121 -4
- package/docs/tr/intlayer_with_vite+vue.md +102 -7
- package/docs/tr/introduction.md +104 -1
- package/docs/tr/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/tr/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/tr/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/uk/analytics.md +488 -21
- package/docs/uk/bundle_optimization.md +186 -186
- package/docs/uk/configuration.md +98 -0
- package/docs/uk/dictionary/content_file.md +4 -4
- package/docs/uk/dictionary/markdown.md +3 -0
- package/docs/uk/dictionary/plurial.md +6 -3
- package/docs/uk/how_works_intlayer.md +92 -0
- package/docs/uk/interest_of_intlayer.md +96 -1
- package/docs/uk/intlayer_CMS.md +92 -0
- package/docs/uk/intlayer_visual_editor.md +87 -1
- package/docs/uk/intlayer_with_adonisjs.md +124 -3
- package/docs/uk/intlayer_with_analog.md +112 -4
- package/docs/uk/intlayer_with_angular_19.md +111 -4
- package/docs/uk/intlayer_with_angular_21.md +105 -4
- package/docs/uk/intlayer_with_astro.md +113 -16
- package/docs/uk/intlayer_with_astro_lit.md +114 -6
- package/docs/uk/intlayer_with_astro_preact.md +114 -6
- package/docs/uk/intlayer_with_astro_react.md +114 -6
- package/docs/uk/intlayer_with_astro_solid.md +114 -6
- package/docs/uk/intlayer_with_astro_svelte.md +114 -6
- package/docs/uk/intlayer_with_astro_vanilla.md +108 -6
- package/docs/uk/intlayer_with_astro_vue.md +114 -6
- package/docs/uk/intlayer_with_create_react_app.md +109 -4
- package/docs/uk/intlayer_with_elysia.md +125 -4
- package/docs/uk/intlayer_with_express.md +117 -3
- package/docs/uk/intlayer_with_fastify.md +119 -4
- package/docs/uk/intlayer_with_hono.md +117 -3
- package/docs/uk/intlayer_with_htmx.md +760 -0
- package/docs/uk/intlayer_with_lynx+react.md +3 -10
- package/docs/uk/intlayer_with_nestjs.md +118 -3
- package/docs/uk/intlayer_with_next-i18next.md +3 -3
- package/docs/uk/intlayer_with_nextjs_14.md +122 -47
- package/docs/uk/intlayer_with_nextjs_15.md +136 -59
- package/docs/uk/intlayer_with_nextjs_16.md +124 -47
- package/docs/uk/intlayer_with_nextjs_compiler.md +125 -17
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +117 -5
- package/docs/uk/intlayer_with_nextjs_page_router.md +114 -99
- package/docs/uk/intlayer_with_nuxt.md +106 -4
- package/docs/uk/intlayer_with_react_native+expo.md +105 -10
- package/docs/uk/intlayer_with_react_router_v7.md +115 -6
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +110 -3
- package/docs/uk/intlayer_with_solid_start.md +118 -4
- package/docs/uk/intlayer_with_storybook.md +0 -13
- package/docs/uk/intlayer_with_svelte_kit.md +101 -4
- package/docs/uk/intlayer_with_tanstack+solid.md +120 -18
- package/docs/uk/intlayer_with_tanstack.md +238 -135
- package/docs/uk/intlayer_with_vanilla.md +110 -2
- package/docs/uk/intlayer_with_vite+lit.md +114 -4
- package/docs/uk/intlayer_with_vite+preact.md +170 -34
- package/docs/uk/intlayer_with_vite+react.md +104 -16
- package/docs/uk/intlayer_with_vite+react_compiler.md +109 -4
- package/docs/uk/intlayer_with_vite+solid.md +115 -4
- package/docs/uk/intlayer_with_vite+svelte.md +115 -13
- package/docs/uk/intlayer_with_vite+vanilla.md +121 -4
- package/docs/uk/intlayer_with_vite+vue.md +100 -4
- package/docs/uk/introduction.md +104 -1
- package/docs/uk/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/uk/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/uk/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/uk/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/uk/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/uk/packages/vite-intlayer/intlayerMinify.md +1 -1
- 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_storybook.md +0 -12
- package/docs/ur/intlayer_with_vanilla.md +2 -1
- package/docs/ur/intlayer_with_vite+lit.md +3 -3
- package/docs/ur/intlayer_with_vite+vanilla.md +3 -3
- package/docs/ur/introduction.md +0 -1
- package/docs/vi/analytics.md +488 -21
- package/docs/vi/bundle_optimization.md +186 -186
- package/docs/vi/configuration.md +98 -0
- package/docs/vi/dictionary/content_file.md +4 -4
- package/docs/vi/dictionary/markdown.md +3 -0
- package/docs/vi/dictionary/plurial.md +5 -2
- package/docs/vi/how_works_intlayer.md +92 -0
- package/docs/vi/interest_of_intlayer.md +96 -1
- package/docs/vi/intlayer_CMS.md +92 -0
- package/docs/vi/intlayer_visual_editor.md +87 -1
- package/docs/vi/intlayer_with_adonisjs.md +124 -3
- package/docs/vi/intlayer_with_analog.md +112 -4
- package/docs/vi/intlayer_with_angular_19.md +111 -4
- package/docs/vi/intlayer_with_angular_21.md +105 -4
- package/docs/vi/intlayer_with_astro.md +113 -16
- package/docs/vi/intlayer_with_astro_lit.md +114 -6
- package/docs/vi/intlayer_with_astro_preact.md +114 -6
- package/docs/vi/intlayer_with_astro_react.md +114 -6
- package/docs/vi/intlayer_with_astro_solid.md +114 -6
- package/docs/vi/intlayer_with_astro_svelte.md +114 -6
- package/docs/vi/intlayer_with_astro_vanilla.md +108 -6
- package/docs/vi/intlayer_with_astro_vue.md +114 -6
- package/docs/vi/intlayer_with_create_react_app.md +109 -4
- package/docs/vi/intlayer_with_elysia.md +125 -4
- package/docs/vi/intlayer_with_express.md +117 -3
- package/docs/vi/intlayer_with_fastify.md +119 -4
- package/docs/vi/intlayer_with_hono.md +117 -3
- package/docs/vi/intlayer_with_htmx.md +760 -0
- package/docs/vi/intlayer_with_lynx+react.md +3 -10
- package/docs/vi/intlayer_with_nestjs.md +118 -3
- package/docs/vi/intlayer_with_next-i18next.md +3 -3
- package/docs/vi/intlayer_with_nextjs_14.md +136 -56
- package/docs/vi/intlayer_with_nextjs_15.md +136 -59
- package/docs/vi/intlayer_with_nextjs_16.md +124 -47
- package/docs/vi/intlayer_with_nextjs_compiler.md +125 -17
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +117 -5
- package/docs/vi/intlayer_with_nextjs_page_router.md +114 -95
- package/docs/vi/intlayer_with_nuxt.md +106 -4
- package/docs/vi/intlayer_with_react_native+expo.md +105 -10
- package/docs/vi/intlayer_with_react_router_v7.md +115 -6
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +116 -16
- package/docs/vi/intlayer_with_solid_start.md +118 -4
- package/docs/vi/intlayer_with_storybook.md +0 -13
- package/docs/vi/intlayer_with_svelte_kit.md +101 -4
- package/docs/vi/intlayer_with_tanstack+solid.md +120 -18
- package/docs/vi/intlayer_with_tanstack.md +252 -172
- package/docs/vi/intlayer_with_vanilla.md +110 -2
- package/docs/vi/intlayer_with_vite+lit.md +114 -4
- package/docs/vi/intlayer_with_vite+preact.md +150 -17
- package/docs/vi/intlayer_with_vite+react.md +104 -16
- package/docs/vi/intlayer_with_vite+react_compiler.md +109 -4
- package/docs/vi/intlayer_with_vite+solid.md +115 -4
- package/docs/vi/intlayer_with_vite+svelte.md +115 -13
- package/docs/vi/intlayer_with_vite+vanilla.md +121 -4
- package/docs/vi/intlayer_with_vite+vue.md +100 -4
- package/docs/vi/introduction.md +104 -1
- package/docs/vi/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/vi/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/vi/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/vi/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/vi/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/vi/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/zh/analytics.md +458 -12
- package/docs/zh/bundle_optimization.md +186 -186
- package/docs/zh/configuration.md +99 -1
- package/docs/zh/dictionary/content_file.md +4 -4
- package/docs/zh/dictionary/markdown.md +18 -1
- package/docs/zh/dictionary/plurial.md +6 -3
- package/docs/zh/how_works_intlayer.md +93 -1
- package/docs/zh/interest_of_intlayer.md +108 -13
- package/docs/zh/intlayer_CMS.md +93 -1
- package/docs/zh/intlayer_visual_editor.md +88 -2
- package/docs/zh/intlayer_with_adonisjs.md +124 -4
- package/docs/zh/intlayer_with_analog.md +121 -12
- package/docs/zh/intlayer_with_angular_19.md +120 -13
- package/docs/zh/intlayer_with_angular_21.md +113 -12
- package/docs/zh/intlayer_with_astro.md +111 -7
- package/docs/zh/intlayer_with_astro_lit.md +117 -10
- package/docs/zh/intlayer_with_astro_preact.md +117 -10
- package/docs/zh/intlayer_with_astro_react.md +117 -10
- package/docs/zh/intlayer_with_astro_solid.md +117 -10
- package/docs/zh/intlayer_with_astro_svelte.md +117 -10
- package/docs/zh/intlayer_with_astro_vanilla.md +111 -10
- package/docs/zh/intlayer_with_astro_vue.md +117 -10
- package/docs/zh/intlayer_with_create_react_app.md +113 -9
- package/docs/zh/intlayer_with_elysia.md +125 -5
- package/docs/zh/intlayer_with_express.md +118 -4
- package/docs/zh/intlayer_with_fastify.md +119 -5
- package/docs/zh/intlayer_with_hono.md +118 -4
- package/docs/zh/intlayer_with_htmx.md +769 -0
- package/docs/zh/intlayer_with_lynx+react.md +11 -16
- package/docs/zh/intlayer_with_nestjs.md +118 -4
- package/docs/zh/intlayer_with_next-i18next.md +3 -3
- package/docs/zh/intlayer_with_nextjs_14.md +123 -48
- package/docs/zh/intlayer_with_nextjs_15.md +124 -47
- package/docs/zh/intlayer_with_nextjs_16.md +124 -45
- package/docs/zh/intlayer_with_nextjs_compiler.md +124 -17
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +125 -13
- package/docs/zh/intlayer_with_nextjs_page_router.md +113 -97
- package/docs/zh/intlayer_with_nuxt.md +114 -12
- package/docs/zh/intlayer_with_react_native+expo.md +106 -11
- package/docs/zh/intlayer_with_react_router_v7.md +134 -31
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +134 -30
- package/docs/zh/intlayer_with_solid_start.md +125 -10
- package/docs/zh/intlayer_with_storybook.md +7 -20
- package/docs/zh/intlayer_with_svelte_kit.md +109 -12
- package/docs/zh/intlayer_with_tanstack+solid.md +132 -32
- package/docs/zh/intlayer_with_tanstack.md +254 -194
- package/docs/zh/intlayer_with_vanilla.md +118 -10
- package/docs/zh/intlayer_with_vite+lit.md +124 -11
- package/docs/zh/intlayer_with_vite+preact.md +153 -44
- package/docs/zh/intlayer_with_vite+react.md +107 -15
- package/docs/zh/intlayer_with_vite+react_compiler.md +110 -5
- package/docs/zh/intlayer_with_vite+solid.md +116 -5
- package/docs/zh/intlayer_with_vite+svelte.md +131 -26
- package/docs/zh/intlayer_with_vite+vanilla.md +129 -12
- package/docs/zh/intlayer_with_vite+vue.md +102 -6
- package/docs/zh/introduction.md +105 -2
- package/docs/zh/migration_from_i18next_to_intlayer.md +3 -5
- package/docs/zh/migration_from_next-i18next_to_intlayer.md +3 -5
- package/docs/zh/migration_from_next-intl_to_intlayer.md +3 -5
- package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +3 -5
- package/docs/zh/migration_from_react-i18next_to_intlayer.md +3 -5
- package/docs/zh/migration_from_vue-i18n_to_intlayer.md +3 -5
- package/docs/zh/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/zh/releases/v6.md +1 -1
- package/docs/zh-TW/bundle_optimization.md +186 -186
- package/docs/zh-TW/intlayer_with_angular_21.md +3 -3
- package/docs/zh-TW/introduction.md +0 -1
- package/package.json +7 -7
- package/src/common.ts +45 -18
- package/src/generated/blog.entry.ts +349 -0
- package/src/generated/docs.entry.ts +20 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-02
|
|
3
|
+
updatedAt: 2026-09-02
|
|
4
|
+
title: "Як тестувати переклади без створення крихких тестів"
|
|
5
|
+
description: Що варто тестувати в додатку з i18n, а що ні. Тести рендерингу на основі провайдера, псевдолокалізація, покриття RTL та множини, а також пастка снепшотів.
|
|
6
|
+
keywords:
|
|
7
|
+
- тестування перекладів
|
|
8
|
+
- i18n тестування
|
|
9
|
+
- testing library i18n
|
|
10
|
+
- псевдолокалізація
|
|
11
|
+
- тест провайдера локалі
|
|
12
|
+
- snapshot test i18n
|
|
13
|
+
slugs:
|
|
14
|
+
- blog
|
|
15
|
+
- i18n-testing-strategies
|
|
16
|
+
author: aymericzip
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Як тестувати переклади без створення крихких тестів
|
|
20
|
+
|
|
21
|
+
Більшість наборів тестів i18n зазнають невдачі з однієї з двох причин. Або вони перевіряють буквальний текст, через що будь-яка зміна формулювання ламає п'ятдесят тестів і команда просто видаляє їх. Або вони рендерять усе лише в локалі за замовчуванням, нічого не доводячи щодо решти сімнадцяти мов. Обидва шляхи ведуть до одного результату: набору тестів, якому ніхто не довіряє.
|
|
22
|
+
|
|
23
|
+
## Зміст
|
|
24
|
+
|
|
25
|
+
<TOC/>
|
|
26
|
+
|
|
27
|
+
## Патерни не залежать від бібліотеки
|
|
28
|
+
|
|
29
|
+
Кожен наведений нижче патерн працює на будь-якому стеку i18n. Замініть провайдер на `I18nextProvider`, `NextIntlClientProvider` або `IntlProvider`, і тести залишаться ідентичними, оскільки вони перевіряють відрендерений результат, а не API конкретної бібліотеки.
|
|
30
|
+
|
|
31
|
+
Інструменти перевірки покриття також легко переносяться: із [плагіном Sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/plugins/sync-json.md), спрямованим на ваші каталоги, або [адаптером сумісності](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compat/index.md), що створює псевдоніми для ваших поточних імпортів, перевірка покриття запускається безпосередньо над наявним JSON.
|
|
32
|
+
|
|
33
|
+
## Визначте, що ви насправді тестуєте
|
|
34
|
+
|
|
35
|
+
Якість перекладу неможливо перевірити тестом коду. Жодне твердження не підкаже, чи звучить німецька мова природно, а спроба це зробити призведе до наповнення коду захардкодzoneними рядками.
|
|
36
|
+
|
|
37
|
+
Механічні речі, які дійсно варто тестувати:
|
|
38
|
+
|
|
39
|
+
| Варто тестувати | Не варто тестувати |
|
|
40
|
+
| :------------------------------------------- | :------------------------------ |
|
|
41
|
+
| Кожна обов'язкова локаль має значення | Чи вдалим є формулювання |
|
|
42
|
+
| Правильна локаль передається в компонент | Точний текст кожної мітки |
|
|
43
|
+
| Форми множини працюють для кожної категорії | Чи сумлінно працював перекладач |
|
|
44
|
+
| RTL-локалі задають напрямок та дзеркальність | Кожен рядок у кожній мові |
|
|
45
|
+
| Форматовані дати та числа враховують локаль | Внутрішню коректність `Intl` |
|
|
46
|
+
|
|
47
|
+
Перевірка покриття має виконуватися в одному тесті на основі даних, а не в тестах окремих компонентів. Це докладно описано у статті [як виявляти відсутні переклади](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/detecting_missing_translations.md); цей матеріал присвячений решті аспектів.
|
|
48
|
+
|
|
49
|
+
## Рендеринг всередині провайдера та запит за роллю
|
|
50
|
+
|
|
51
|
+
Основний патерн полягає в монтуванні компонента всередині провайдера локалі та пошуку елементів за роллю (role) або тестовим id замість тексту.
|
|
52
|
+
|
|
53
|
+
```tsx fileName="CartSummary.test.tsx"
|
|
54
|
+
import { render, screen } from "@testing-library/react";
|
|
55
|
+
import { IntlayerProvider } from "react-intlayer/client";
|
|
56
|
+
import { CartSummary } from "./CartSummary";
|
|
57
|
+
|
|
58
|
+
test("рендерить заголовок підсумку французькою", () => {
|
|
59
|
+
render(
|
|
60
|
+
<IntlayerProvider locale="fr-FR">
|
|
61
|
+
<CartSummary />
|
|
62
|
+
</IntlayerProvider>
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
expect(screen.getByRole("heading")).toBeInTheDocument();
|
|
66
|
+
});
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Запит `getByRole("heading")` стійкий до змін тексту. `getByText("Récapitulatif")` зламається при першому ж редагуванні. Використовуйте точний текст лише тоді, коли сам рядок є об'єктом перевірки, що буває рідко.
|
|
70
|
+
|
|
71
|
+
Для атрибутів на зразок `aria-label` вам потрібен необроблений рядок, а не вузол для рендерингу. У React записи `useIntlayer` мають поле `.value` для цього.
|
|
72
|
+
|
|
73
|
+
## Параметризуйте тести для різних локалей
|
|
74
|
+
|
|
75
|
+
Один універсальний тест, запущений для кожної локалі, набагато цінніший за окремі тести для кожної мови.
|
|
76
|
+
|
|
77
|
+
```tsx fileName="direction.test.tsx"
|
|
78
|
+
import { getHTMLTextDir } from "intlayer";
|
|
79
|
+
import { render } from "@testing-library/react";
|
|
80
|
+
import { IntlayerProvider } from "react-intlayer/client";
|
|
81
|
+
|
|
82
|
+
describe.each(["en", "fr", "ja", "ar"])("локаль %s", (locale) => {
|
|
83
|
+
it("рендериться без відкату до ключа", () => {
|
|
84
|
+
const { container } = render(
|
|
85
|
+
<IntlayerProvider locale={locale}>
|
|
86
|
+
<CartSummary />
|
|
87
|
+
</IntlayerProvider>
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
// Якщо відрендерився ключ, значить пошук не вдався.
|
|
91
|
+
expect(container.textContent).not.toMatch(/^[a-z]+(\.[a-z]+)+$/);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it("встановлює правильний напрямок тексту", () => {
|
|
95
|
+
expect(getHTMLTextDir(locale)).toBe(locale === "ar" ? "rtl" : "ltr");
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Перша перевірка є універсальною перевагою: якщо пошук значення не вдався і бібліотека вивела ключ, DOM міститиме шаблон на кшталт `cart.summary.title`. Це виявляє цілий клас помилок без прив'язки до конкретних фраз.
|
|
101
|
+
|
|
102
|
+
## Псевдолокалізація виявляє те, що пропускають каталоги
|
|
103
|
+
|
|
104
|
+
Додайте штучну тестову локаль, яка трансформує кожен рядок, наприклад змінюючи `Checkout` на `[!!! Çĥéçķöũţ !!!]`. Потім відрендеріть сторінку цією мовою.
|
|
105
|
+
|
|
106
|
+
Усе, що залишається звичайною англійською, захардкоджене безпосередньо в коді. Жоден аудит каталогів цього не помітить, адже для інструментів такого рядка взагалі не існує. Дужки виконують друге завдання: вони видовжують текст приблизно на 30 відсотків, виявляючи переповнення інтерфейсу ще до тестування німецької мови.
|
|
107
|
+
|
|
108
|
+
Це корисно запускати як візуальний або end-to-end прогін, а не як юніт-тест, оскільки такі дефекти сприймаються візуально.
|
|
109
|
+
|
|
110
|
+
## Для форм множини потрібен тест на категорію, а не на мову
|
|
111
|
+
|
|
112
|
+
Помилки множини часто непомітні, тому що в англійській мові є лише дві форми і більшість розробників перевіряють тільки їх. У польській мові чотири категорії, в арабській шість.
|
|
113
|
+
|
|
114
|
+
```ts fileName="plural.test.ts"
|
|
115
|
+
// Арабська перевіряє zero, one, two, few, many, other.
|
|
116
|
+
describe.each([0, 1, 2, 3, 11, 100])("кількість %i", (count) => {
|
|
117
|
+
it("генерує непорожній рядок арабською", () => {
|
|
118
|
+
expect(formatItems(count, "ar")).not.toBe("");
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Вибирайте значення, які потрапляють у кожну категорію CLDR для найскладнішої мови, замість того, щоб скрізь перевіряти лише 1 та 2. `Intl.PluralRules` підказує, до якої категорії належить число, що дозволяє формувати вибірку без ворожіння. Більше про категорії у [статті про формат повідомлень ICU](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/icu_message_format.md).
|
|
124
|
+
|
|
125
|
+
## Пастка снепшотів (Snapshots)
|
|
126
|
+
|
|
127
|
+
Снепшоти та i18n погано сумісні. Снепшот локалізованого компонента фіксує кожен рядок у ньому: коли перекладач виправляє одруківку в португальській, зелений тест стає червоним у файлі, який рев'юер не може оцінити. Після кількох таких випадків розробники запускають `-u` не читаючи diff, і снепшоти втрачають будь-який сенс.
|
|
128
|
+
|
|
129
|
+
Якщо ви бажаєте використовувати снепшоти, робіть їх лише для однієї локалі та сприймайте як структурну, а не смислову перевірку. Усе специфічне для окремих мов має перевірятися явними твердженнями.
|
|
130
|
+
|
|
131
|
+
## Тестуйте узгодження локалі, а не лише рендеринг
|
|
132
|
+
|
|
133
|
+
Найпоширеніша помилка i18n на продакшені, не відсутній переклад. Це вибір невірної локалі: URL містить `/fr/`, клієнт читає `navigator.language`, і вони не збігаються.
|
|
134
|
+
|
|
135
|
+
Тестуйте порядок визначення локалі безпосередньо як чисту функцію, окремо від компонентів:
|
|
136
|
+
|
|
137
|
+
```ts fileName="locale-resolution.test.ts"
|
|
138
|
+
it("надає перевагу URL над збереженим налаштуванням", () => {
|
|
139
|
+
expect(resolveLocale({ url: "/fr/about", stored: "de", header: "ja" })).toBe(
|
|
140
|
+
"fr"
|
|
141
|
+
);
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
it("відкочується до заголовка, коли в URL немає префікса", () => {
|
|
145
|
+
expect(resolveLocale({ url: "/about", stored: null, header: "ja" })).toBe(
|
|
146
|
+
"ja"
|
|
147
|
+
);
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Це найцінніший тест i18n, якого бракує більшості проєктів, і він не потребує DOM.
|
|
152
|
+
|
|
153
|
+
## Що і де запускати
|
|
154
|
+
|
|
155
|
+
- **Unit**: узгодження локалей, форматери, категорії множини. Швидко, без DOM.
|
|
156
|
+
- **Component**: один рендеринг із провайдером на локаль, перевірка ролей і відсутності сирих ключів.
|
|
157
|
+
- **Покриття**: тест на основі даних, що гарантує відсутність пропусків у необхідних локалях.
|
|
158
|
+
- **Visual або E2E**: перевірка псевдолокалізації та сторінки з RTL, оскільки ці проблеми є візуальними.
|
|
159
|
+
|
|
160
|
+
Залишайте перші три в пайплайні CI на кожен коміт. Останнє дешевше запускати під час нічних збірок.
|
|
161
|
+
|
|
162
|
+
## Поширені помилки
|
|
163
|
+
|
|
164
|
+
- **Перевірка точного тексту всюди.** Гарантує видалення тестового набору через кілька місяців.
|
|
165
|
+
- **Снепшоти локалізованих компонентів.** Перекладачі ламають збірку, а рев'юери схвалюють зміни наосліп.
|
|
166
|
+
- **Тестування лише локалі за замовчуванням.** Єдина локаль, яка точно не може бути відсутня.
|
|
167
|
+
- **Тестування лише 1 та 2 для множини.** Пропускає категорії, яких немає в англійській мові.
|
|
168
|
+
- **Повне мокування бібліотеки i18n.** Тоді ви лише перевіряєте, чи повертає мок рядки.
|
|
169
|
+
- **Ігнорування тестів узгодження локалей.** Найчастіша проблема на практиці, яку найпростіше протестувати.
|
|
170
|
+
|
|
171
|
+
## Корисні матеріали
|
|
172
|
+
|
|
173
|
+
- [Тестування контенту: аудит CLI, програмний API та перевірки UI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/testing.md)
|
|
174
|
+
- [Плагін ESLint: пошук захардкодzoneних рядків і невикористаного контенту](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/eslint.md)
|
|
175
|
+
- [Форматери та утиліти локалей, включно з `getHTMLTextDir`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/formatters.md)
|
|
176
|
+
- [Звіти про продуктивність між різними фреймворками](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/benchmark/index.md)
|
|
177
|
+
- [Адаптер сумісності react-i18next](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compat/react-i18next.md)
|
|
178
|
+
- [Як виявляти відсутні переклади](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/detecting_missing_translations.md)
|
|
179
|
+
- [Формат повідомлень ICU: множина, вибір та шаблони](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/icu_message_format.md)
|
|
@@ -89,15 +89,15 @@ npx intlayer init --interactive
|
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
```bash packageManager="pnpm"
|
|
92
|
-
pnpm dlx intlayer
|
|
92
|
+
pnpm dlx intlayer init --interactive
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
```bash packageManager="yarn"
|
|
96
|
-
yarn dlx intlayer
|
|
96
|
+
yarn dlx intlayer init --interactive
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
```bash packageManager="bun"
|
|
100
|
-
bunx intlayer
|
|
100
|
+
bunx intlayer init --interactive
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
> прапорець `--interactive` не є обов'язковим. Використовуйте `intlayer-cli init`, якщо ви є ШІ-агентом.
|
|
@@ -214,8 +214,6 @@ npx intlayer fill
|
|
|
214
214
|
> Перегляньте всіх доступних AI-провайдерів у [документації з конфігурації Intlayer AI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md#ai-configuration).
|
|
215
215
|
> Перегляньте всі доступні команди в [документації Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md).
|
|
216
216
|
|
|
217
|
-
---
|
|
218
|
-
|
|
219
217
|
</Step>
|
|
220
218
|
|
|
221
219
|
</Steps>
|
|
@@ -80,15 +80,15 @@ npx intlayer init --interactive
|
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
```bash packageManager="pnpm"
|
|
83
|
-
pnpm dlx intlayer
|
|
83
|
+
pnpm dlx intlayer init --interactive
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
```bash packageManager="yarn"
|
|
87
|
-
yarn dlx intlayer
|
|
87
|
+
yarn dlx intlayer init --interactive
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
```bash packageManager="bun"
|
|
91
|
-
bunx intlayer
|
|
91
|
+
bunx intlayer init --interactive
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
> прапорець `--interactive` не є обов'язковим. Використовуйте `intlayer-cli init`, якщо ви є ШІ-агентом.
|
|
@@ -205,8 +205,6 @@ npx intlayer fill
|
|
|
205
205
|
> Дивіться всіх доступних AI-провайдерів у [документації Intlayer щодо конфігурації AI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md#ai-configuration).
|
|
206
206
|
> Дивіться всі доступні команди у [документації Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md).
|
|
207
207
|
|
|
208
|
-
---
|
|
209
|
-
|
|
210
208
|
</Step>
|
|
211
209
|
|
|
212
210
|
</Steps>
|
|
@@ -79,15 +79,15 @@ npx intlayer init --interactive
|
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
```bash packageManager="pnpm"
|
|
82
|
-
pnpm dlx intlayer
|
|
82
|
+
pnpm dlx intlayer init --interactive
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
```bash packageManager="yarn"
|
|
86
|
-
yarn dlx intlayer
|
|
86
|
+
yarn dlx intlayer init --interactive
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
```bash packageManager="bun"
|
|
90
|
-
bunx intlayer
|
|
90
|
+
bunx intlayer init --interactive
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
> прапорець `--interactive` не є обов'язковим. Використовуйте `intlayer-cli init`, якщо ви є ШІ-агентом.
|
|
@@ -206,8 +206,6 @@ npx intlayer fill
|
|
|
206
206
|
> Див. усіх доступних AI-провайдерів у [документації конфігурації AI Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md#ai-configuration).
|
|
207
207
|
> Див. усі доступні команди в [документації Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md).
|
|
208
208
|
|
|
209
|
-
---
|
|
210
|
-
|
|
211
209
|
</Step>
|
|
212
210
|
|
|
213
211
|
</Steps>
|
|
@@ -80,15 +80,15 @@ npx intlayer init --interactive
|
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
```bash packageManager="pnpm"
|
|
83
|
-
pnpm dlx intlayer
|
|
83
|
+
pnpm dlx intlayer init --interactive
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
```bash packageManager="yarn"
|
|
87
|
-
yarn dlx intlayer
|
|
87
|
+
yarn dlx intlayer init --interactive
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
```bash packageManager="bun"
|
|
91
|
-
bunx intlayer
|
|
91
|
+
bunx intlayer init --interactive
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
> прапорець `--interactive` не є обов'язковим. Використовуйте `intlayer-cli init`, якщо ви є ШІ-агентом.
|
|
@@ -78,15 +78,15 @@ npx intlayer init --interactive
|
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
```bash packageManager="pnpm"
|
|
81
|
-
pnpm dlx intlayer
|
|
81
|
+
pnpm dlx intlayer init --interactive
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
```bash packageManager="yarn"
|
|
85
|
-
yarn dlx intlayer
|
|
85
|
+
yarn dlx intlayer init --interactive
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
```bash packageManager="bun"
|
|
89
|
-
bunx intlayer
|
|
89
|
+
bunx intlayer init --interactive
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
> прапорець `--interactive` не є обов'язковим. Використовуйте `intlayer-cli init`, якщо ви є ШІ-агентом.
|
|
@@ -205,8 +205,6 @@ npx intlayer fill
|
|
|
205
205
|
> Перегляньте всі доступні AI-провайдери в [документації конфігурації Intlayer AI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md#ai-configuration).
|
|
206
206
|
> Перегляньте всі доступні команди в [документації Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md).
|
|
207
207
|
|
|
208
|
-
---
|
|
209
|
-
|
|
210
208
|
</Step>
|
|
211
209
|
|
|
212
210
|
</Steps>
|
|
@@ -80,15 +80,15 @@ npx intlayer init --interactive
|
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
```bash packageManager="pnpm"
|
|
83
|
-
pnpm dlx intlayer
|
|
83
|
+
pnpm dlx intlayer init --interactive
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
```bash packageManager="yarn"
|
|
87
|
-
yarn dlx intlayer
|
|
87
|
+
yarn dlx intlayer init --interactive
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
```bash packageManager="bun"
|
|
91
|
-
bunx intlayer
|
|
91
|
+
bunx intlayer init --interactive
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
> прапорець `--interactive` не є обов'язковим. Використовуйте `intlayer-cli init`, якщо ви є ШІ-агентом.
|
|
@@ -209,8 +209,6 @@ npx intlayer fill
|
|
|
209
209
|
> Див. усіх доступних AI-провайдерів у [документації Intlayer щодо конфігурації AI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md#ai-configuration).
|
|
210
210
|
> Див. усі доступні команди у [документації Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md).
|
|
211
211
|
|
|
212
|
-
---
|
|
213
|
-
|
|
214
212
|
</Step>
|
|
215
213
|
|
|
216
214
|
</Steps>
|