@intlayer/docs 9.4.4 → 9.5.0
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 +0 -2
- package/blog/ar/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/ar/i18n_meaning.md +0 -4
- package/blog/ar/i18n_using_next-i18next.md +0 -21
- package/blog/ar/i18n_using_next-intl.md +0 -18
- package/blog/ar/index.md +0 -10
- package/blog/ar/internationalization_and_SEO.md +0 -24
- package/blog/ar/intlayer_with_i18next.md +0 -3
- package/blog/ar/intlayer_with_next-i18next.md +0 -5
- package/blog/ar/intlayer_with_next-intl.md +0 -3
- package/blog/ar/intlayer_with_react-i18next.md +0 -3
- package/blog/ar/intlayer_with_react-intl.md +0 -3
- package/blog/ar/intlayer_with_vue-i18n.md +0 -5
- package/blog/ar/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/ar/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/ar/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/ar/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +6 -33
- package/blog/ar/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/ar/rag_powered_documentation_assistant.md +0 -13
- package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/ar/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/ar/transform_existing_vite_react_app_using_compiler.md +352 -0
- package/blog/ar/vue-i18n_vs_intlayer.md +0 -30
- package/blog/ar/what_is_internationalization.md +0 -8
- package/blog/de/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/de/i18n_meaning.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +0 -21
- package/blog/de/i18n_using_next-intl.md +0 -18
- package/blog/de/index.md +0 -10
- package/blog/de/internationalization_and_SEO.md +0 -24
- package/blog/de/intlayer_with_i18next.md +0 -2
- package/blog/de/intlayer_with_next-i18next.md +0 -4
- package/blog/de/intlayer_with_next-intl.md +0 -3
- package/blog/de/intlayer_with_react-i18next.md +0 -3
- package/blog/de/intlayer_with_react-intl.md +0 -3
- package/blog/de/intlayer_with_vue-i18n.md +0 -5
- package/blog/de/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/de/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/de/list_i18n_technologies/frameworks/svelte.md +0 -12
- package/blog/de/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +6 -31
- package/blog/de/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/de/react-i18next_vs_react-intl_vs_intlayer.md +0 -24
- package/blog/de/transform_existing_nextjs_app_using_compiler.md +294 -0
- package/blog/de/transform_existing_vite_react_app_using_compiler.md +353 -0
- package/blog/de/vue-i18n_vs_intlayer.md +0 -30
- package/blog/de/what_is_internationalization.md +0 -8
- package/blog/en/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/en/i18n_meaning.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +0 -21
- package/blog/en/i18n_using_next-intl.md +0 -18
- package/blog/en/index.md +0 -10
- package/blog/en/internationalization_and_SEO.md +0 -24
- package/blog/en/intlayer_with_i18next.md +0 -3
- package/blog/en/intlayer_with_next-i18next.md +0 -5
- package/blog/en/intlayer_with_next-intl.md +0 -3
- package/blog/en/intlayer_with_react-i18next.md +0 -3
- package/blog/en/intlayer_with_react-intl.md +0 -3
- package/blog/en/intlayer_with_vue-i18n.md +0 -5
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +7 -31
- package/blog/en/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/en/rag_powered_documentation_assistant.md +0 -12
- package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/en/transform_existing_nextjs_app_using_compiler.md +299 -0
- package/blog/en/transform_existing_vite_react_app_using_compiler.md +351 -0
- package/blog/en/vue-i18n_vs_intlayer.md +0 -30
- package/blog/en/what_is_internationalization.md +0 -8
- package/blog/en-GB/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/en-GB/i18n_meaning.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +0 -21
- package/blog/en-GB/i18n_using_next-intl.md +0 -18
- package/blog/en-GB/index.md +0 -10
- package/blog/en-GB/internationalization_and_SEO.md +0 -24
- package/blog/en-GB/intlayer_with_i18next.md +0 -2
- package/blog/en-GB/intlayer_with_next-i18next.md +0 -4
- package/blog/en-GB/intlayer_with_next-intl.md +0 -2
- package/blog/en-GB/intlayer_with_react-i18next.md +0 -2
- package/blog/en-GB/intlayer_with_react-intl.md +0 -2
- package/blog/en-GB/intlayer_with_vue-i18n.md +0 -4
- package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/en-GB/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +6 -31
- package/blog/en-GB/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/en-GB/rag_powered_documentation_assistant.md +0 -12
- package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/en-GB/transform_existing_nextjs_app_using_compiler.md +294 -0
- package/blog/en-GB/transform_existing_vite_react_app_using_compiler.md +357 -0
- package/blog/en-GB/vue-i18n_vs_intlayer.md +0 -30
- package/blog/en-GB/what_is_internationalization.md +0 -8
- package/blog/es/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/es/i18n_meaning.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +0 -21
- package/blog/es/i18n_using_next-intl.md +0 -18
- package/blog/es/index.md +0 -10
- package/blog/es/internationalization_and_SEO.md +0 -24
- package/blog/es/intlayer_with_i18next.md +0 -2
- package/blog/es/intlayer_with_next-i18next.md +0 -4
- package/blog/es/intlayer_with_next-intl.md +0 -2
- package/blog/es/intlayer_with_react-i18next.md +0 -2
- package/blog/es/intlayer_with_react-intl.md +0 -2
- package/blog/es/intlayer_with_vue-i18n.md +0 -4
- package/blog/es/list_i18n_technologies/frameworks/angular.md +0 -10
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/es/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/es/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/es/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +6 -31
- package/blog/es/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/es/rag_powered_documentation_assistant.md +0 -15
- package/blog/es/react-i18next_vs_react-intl_vs_intlayer.md +0 -24
- package/blog/es/transform_existing_nextjs_app_using_compiler.md +294 -0
- package/blog/es/transform_existing_vite_react_app_using_compiler.md +353 -0
- package/blog/es/vue-i18n_vs_intlayer.md +0 -30
- package/blog/es/what_is_internationalization.md +0 -8
- package/blog/fr/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/fr/i18n_meaning.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +0 -21
- package/blog/fr/i18n_using_next-intl.md +0 -18
- package/blog/fr/index.md +0 -10
- package/blog/fr/internationalization_and_SEO.md +0 -24
- package/blog/fr/intlayer_with_i18next.md +0 -2
- package/blog/fr/intlayer_with_next-i18next.md +0 -4
- package/blog/fr/intlayer_with_next-intl.md +0 -2
- package/blog/fr/intlayer_with_react-i18next.md +0 -2
- package/blog/fr/intlayer_with_react-intl.md +0 -2
- package/blog/fr/intlayer_with_vue-i18n.md +0 -4
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/fr/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/fr/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/fr/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +6 -31
- package/blog/fr/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/fr/rag_powered_documentation_assistant.md +0 -9
- package/blog/fr/react-i18next_vs_react-intl_vs_intlayer.md +0 -24
- package/blog/fr/transform_existing_nextjs_app_using_compiler.md +294 -0
- package/blog/fr/transform_existing_vite_react_app_using_compiler.md +351 -0
- package/blog/fr/vue-i18n_vs_intlayer.md +0 -30
- package/blog/fr/what_is_internationalization.md +0 -8
- package/blog/hi/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/hi/i18n_meaning.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +0 -21
- package/blog/hi/i18n_using_next-intl.md +0 -18
- package/blog/hi/index.md +0 -10
- package/blog/hi/internationalization_and_SEO.md +0 -24
- package/blog/hi/intlayer_with_i18next.md +0 -3
- package/blog/hi/intlayer_with_next-i18next.md +0 -5
- package/blog/hi/intlayer_with_next-intl.md +0 -3
- package/blog/hi/intlayer_with_react-i18next.md +0 -3
- package/blog/hi/intlayer_with_react-intl.md +0 -3
- package/blog/hi/intlayer_with_vue-i18n.md +0 -5
- package/blog/hi/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/hi/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/hi/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/hi/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +0 -28
- package/blog/hi/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/hi/rag_powered_documentation_assistant.md +0 -13
- package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/hi/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/hi/transform_existing_vite_react_app_using_compiler.md +353 -0
- package/blog/hi/vue-i18n_vs_intlayer.md +0 -30
- package/blog/hi/what_is_internationalization.md +0 -8
- package/blog/id/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/id/i18n_meaning.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +0 -21
- package/blog/id/i18n_using_next-intl.md +0 -18
- package/blog/id/index.md +0 -10
- package/blog/id/internationalization_and_SEO.md +0 -24
- package/blog/id/intlayer_with_i18next.md +0 -3
- package/blog/id/intlayer_with_next-i18next.md +0 -5
- package/blog/id/intlayer_with_next-intl.md +0 -3
- package/blog/id/intlayer_with_react-i18next.md +0 -3
- package/blog/id/intlayer_with_react-intl.md +0 -3
- package/blog/id/intlayer_with_vue-i18n.md +0 -5
- package/blog/id/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/id/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/id/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/id/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/id/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +7 -31
- package/blog/id/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/id/rag_powered_documentation_assistant.md +0 -13
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/id/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/id/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/id/vue-i18n_vs_intlayer.md +0 -30
- package/blog/id/what_is_internationalization.md +0 -8
- package/blog/it/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/it/i18n_meaning.md +0 -4
- package/blog/it/i18n_using_next-i18next.md +0 -21
- package/blog/it/i18n_using_next-intl.md +0 -18
- package/blog/it/index.md +0 -10
- package/blog/it/internationalization_and_SEO.md +0 -24
- package/blog/it/intlayer_with_i18next.md +0 -3
- package/blog/it/intlayer_with_next-i18next.md +0 -5
- package/blog/it/intlayer_with_next-intl.md +0 -3
- package/blog/it/intlayer_with_react-i18next.md +0 -3
- package/blog/it/intlayer_with_react-intl.md +0 -3
- package/blog/it/intlayer_with_vue-i18n.md +0 -5
- package/blog/it/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/it/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/it/list_i18n_technologies/frameworks/svelte.md +0 -12
- package/blog/it/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +6 -31
- package/blog/it/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +0 -24
- package/blog/it/transform_existing_nextjs_app_using_compiler.md +294 -0
- package/blog/it/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/it/vue-i18n_vs_intlayer.md +0 -30
- package/blog/it/what_is_internationalization.md +0 -8
- package/blog/ja/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/ja/i18n_meaning.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +0 -21
- package/blog/ja/i18n_using_next-intl.md +0 -18
- package/blog/ja/index.md +0 -10
- package/blog/ja/internationalization_and_SEO.md +0 -24
- package/blog/ja/intlayer_with_i18next.md +0 -2
- package/blog/ja/intlayer_with_next-i18next.md +0 -4
- package/blog/ja/intlayer_with_next-intl.md +0 -2
- package/blog/ja/intlayer_with_react-i18next.md +0 -2
- package/blog/ja/intlayer_with_react-intl.md +0 -2
- package/blog/ja/intlayer_with_vue-i18n.md +0 -4
- package/blog/ja/list_i18n_technologies/frameworks/angular.md +0 -10
- package/blog/ja/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/ja/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/ja/list_i18n_technologies/frameworks/svelte.md +0 -12
- package/blog/ja/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +7 -29
- package/blog/ja/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/ja/rag_powered_documentation_assistant.md +0 -13
- package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/ja/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/ja/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/ja/vue-i18n_vs_intlayer.md +0 -30
- package/blog/ja/what_is_internationalization.md +0 -8
- package/blog/ko/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/ko/i18n_meaning.md +0 -4
- package/blog/ko/i18n_using_next-i18next.md +0 -21
- package/blog/ko/i18n_using_next-intl.md +0 -18
- package/blog/ko/index.md +0 -10
- package/blog/ko/internationalization_and_SEO.md +0 -24
- package/blog/ko/intlayer_with_i18next.md +0 -3
- package/blog/ko/intlayer_with_next-i18next.md +0 -5
- package/blog/ko/intlayer_with_next-intl.md +0 -3
- package/blog/ko/intlayer_with_react-i18next.md +0 -3
- package/blog/ko/intlayer_with_react-intl.md +0 -3
- package/blog/ko/intlayer_with_vue-i18n.md +0 -5
- package/blog/ko/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/ko/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/ko/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/ko/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/ko/list_i18n_technologies/frameworks/vue.md +0 -14
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +7 -29
- package/blog/ko/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/ko/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/ko/transform_existing_vite_react_app_using_compiler.md +353 -0
- package/blog/ko/vue-i18n_vs_intlayer.md +0 -30
- package/blog/ko/what_is_internationalization.md +0 -8
- package/blog/pl/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/pl/i18n_meaning.md +0 -4
- package/blog/pl/i18n_using_next-i18next.md +0 -21
- package/blog/pl/i18n_using_next-intl.md +0 -18
- package/blog/pl/index.md +0 -10
- package/blog/pl/internationalization_and_SEO.md +0 -24
- package/blog/pl/intlayer_with_i18next.md +0 -2
- package/blog/pl/intlayer_with_next-i18next.md +0 -4
- package/blog/pl/intlayer_with_next-intl.md +0 -2
- package/blog/pl/intlayer_with_react-i18next.md +0 -2
- package/blog/pl/intlayer_with_react-intl.md +0 -2
- package/blog/pl/intlayer_with_vue-i18n.md +0 -4
- package/blog/pl/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/pl/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/pl/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/pl/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/pl/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +7 -31
- package/blog/pl/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/pl/rag_powered_documentation_assistant.md +0 -13
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/pl/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/pl/transform_existing_vite_react_app_using_compiler.md +353 -0
- package/blog/pl/vue-i18n_vs_intlayer.md +0 -30
- package/blog/pl/what_is_internationalization.md +0 -8
- package/blog/pt/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/pt/i18n_meaning.md +0 -4
- package/blog/pt/i18n_using_next-i18next.md +0 -21
- package/blog/pt/i18n_using_next-intl.md +0 -18
- package/blog/pt/index.md +0 -10
- package/blog/pt/internationalization_and_SEO.md +0 -24
- package/blog/pt/intlayer_with_i18next.md +0 -3
- package/blog/pt/intlayer_with_next-i18next.md +0 -5
- package/blog/pt/intlayer_with_next-intl.md +0 -3
- package/blog/pt/intlayer_with_react-i18next.md +0 -3
- package/blog/pt/intlayer_with_react-intl.md +0 -3
- package/blog/pt/intlayer_with_vue-i18n.md +0 -5
- package/blog/pt/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/pt/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/pt/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/pt/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +6 -31
- package/blog/pt/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/pt/react-i18next_vs_react-intl_vs_intlayer.md +0 -24
- package/blog/pt/transform_existing_nextjs_app_using_compiler.md +294 -0
- package/blog/pt/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/pt/vue-i18n_vs_intlayer.md +0 -30
- package/blog/pt/what_is_internationalization.md +0 -8
- package/blog/ru/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/ru/i18n_meaning.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +0 -21
- package/blog/ru/i18n_using_next-intl.md +0 -18
- package/blog/ru/index.md +0 -10
- package/blog/ru/internationalization_and_SEO.md +0 -24
- package/blog/ru/intlayer_with_i18next.md +0 -2
- package/blog/ru/intlayer_with_next-i18next.md +0 -4
- package/blog/ru/intlayer_with_next-intl.md +0 -2
- package/blog/ru/intlayer_with_react-i18next.md +0 -2
- package/blog/ru/intlayer_with_react-intl.md +0 -2
- package/blog/ru/intlayer_with_vue-i18n.md +0 -4
- package/blog/ru/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/ru/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/ru/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/ru/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +6 -31
- package/blog/ru/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/ru/rag_powered_documentation_assistant.md +0 -13
- package/blog/ru/react-i18next_vs_react-intl_vs_intlayer.md +0 -24
- package/blog/ru/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/ru/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/ru/vue-i18n_vs_intlayer.md +0 -30
- package/blog/ru/what_is_internationalization.md +0 -8
- package/blog/tr/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/tr/i18n_meaning.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +0 -21
- package/blog/tr/i18n_using_next-intl.md +0 -18
- package/blog/tr/index.md +0 -10
- package/blog/tr/internationalization_and_SEO.md +0 -24
- package/blog/tr/intlayer_with_i18next.md +0 -3
- package/blog/tr/intlayer_with_next-i18next.md +0 -5
- package/blog/tr/intlayer_with_next-intl.md +0 -3
- package/blog/tr/intlayer_with_react-i18next.md +0 -3
- package/blog/tr/intlayer_with_react-intl.md +0 -3
- package/blog/tr/intlayer_with_vue-i18n.md +0 -5
- package/blog/tr/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/tr/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/tr/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/tr/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/tr/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +0 -28
- package/blog/tr/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/tr/rag_powered_documentation_assistant.md +0 -9
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/tr/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/tr/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/tr/vue-i18n_vs_intlayer.md +0 -30
- package/blog/tr/what_is_internationalization.md +0 -8
- package/blog/uk/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/uk/i18n_meaning.md +0 -4
- package/blog/uk/i18n_using_next-i18next.md +0 -21
- package/blog/uk/i18n_using_next-intl.md +0 -18
- package/blog/uk/index.md +0 -10
- package/blog/uk/internationalization_and_SEO.md +0 -24
- package/blog/uk/intlayer_with_i18next.md +0 -3
- package/blog/uk/intlayer_with_next-i18next.md +0 -5
- package/blog/uk/intlayer_with_next-intl.md +0 -3
- package/blog/uk/intlayer_with_react-i18next.md +0 -3
- package/blog/uk/intlayer_with_react-intl.md +0 -3
- package/blog/uk/intlayer_with_vue-i18n.md +0 -5
- package/blog/uk/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/uk/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/uk/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/uk/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/uk/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +7 -29
- package/blog/uk/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/uk/rag_powered_documentation_assistant.md +0 -13
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/uk/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/uk/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/uk/vue-i18n_vs_intlayer.md +0 -30
- package/blog/uk/what_is_internationalization.md +0 -8
- package/blog/vi/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/vi/i18n_meaning.md +0 -4
- package/blog/vi/i18n_using_next-i18next.md +0 -21
- package/blog/vi/i18n_using_next-intl.md +0 -18
- package/blog/vi/index.md +0 -10
- package/blog/vi/internationalization_and_SEO.md +0 -24
- package/blog/vi/intlayer_with_i18next.md +0 -3
- package/blog/vi/intlayer_with_next-i18next.md +0 -5
- package/blog/vi/intlayer_with_next-intl.md +0 -3
- package/blog/vi/intlayer_with_react-i18next.md +0 -3
- package/blog/vi/intlayer_with_react-intl.md +0 -3
- package/blog/vi/intlayer_with_vue-i18n.md +0 -5
- package/blog/vi/list_i18n_technologies/frameworks/angular.md +0 -12
- package/blog/vi/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/vi/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/vi/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/vi/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +7 -31
- package/blog/vi/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/vi/rag_powered_documentation_assistant.md +0 -13
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/vi/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/vi/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/vi/vue-i18n_vs_intlayer.md +0 -30
- package/blog/vi/what_is_internationalization.md +0 -8
- package/blog/zh/hreflang_guide_multilingual_seo.md +0 -19
- package/blog/zh/i18n_meaning.md +0 -4
- package/blog/zh/i18n_using_next-i18next.md +0 -21
- package/blog/zh/i18n_using_next-intl.md +0 -18
- package/blog/zh/index.md +0 -10
- package/blog/zh/internationalization_and_SEO.md +0 -24
- package/blog/zh/intlayer_with_i18next.md +0 -3
- package/blog/zh/intlayer_with_next-i18next.md +0 -5
- package/blog/zh/intlayer_with_next-intl.md +0 -3
- package/blog/zh/intlayer_with_react-i18next.md +0 -3
- package/blog/zh/intlayer_with_react-intl.md +0 -3
- package/blog/zh/intlayer_with_vue-i18n.md +0 -5
- package/blog/zh/list_i18n_technologies/frameworks/angular.md +0 -10
- package/blog/zh/list_i18n_technologies/frameworks/react-native.md +0 -14
- package/blog/zh/list_i18n_technologies/frameworks/react.md +0 -12
- package/blog/zh/list_i18n_technologies/frameworks/svelte.md +0 -14
- package/blog/zh/list_i18n_technologies/frameworks/vue.md +0 -12
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +7 -29
- package/blog/zh/nextjs-multilingual-seo-comparison.md +0 -10
- package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +0 -22
- package/blog/zh/transform_existing_nextjs_app_using_compiler.md +293 -0
- package/blog/zh/transform_existing_vite_react_app_using_compiler.md +358 -0
- package/blog/zh/vue-i18n_vs_intlayer.md +0 -30
- package/blog/zh/what_is_internationalization.md +0 -8
- package/dist/cjs/generated/blog.entry.cjs +40 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +0 -80
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +40 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +0 -80
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +2 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +0 -4
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/analytics.md +0 -2
- package/docs/ar/bundle_optimization.md +0 -2
- package/docs/ar/cli/index.md +0 -4
- package/docs/ar/cli/login.md +0 -2
- package/docs/ar/compiler.md +31 -13
- package/docs/ar/configuration.md +0 -37
- package/docs/ar/dictionary/html.md +0 -6
- package/docs/ar/dictionary/markdown.md +0 -2
- package/docs/ar/how_works_intlayer.md +0 -12
- package/docs/ar/interest_of_intlayer.md +0 -21
- package/docs/ar/intlayer_CMS.md +0 -16
- package/docs/ar/intlayer_visual_editor.md +0 -11
- package/docs/ar/intlayer_with_adonisjs.md +0 -16
- package/docs/ar/intlayer_with_analog.md +0 -30
- package/docs/ar/intlayer_with_angular_19.md +0 -32
- package/docs/ar/intlayer_with_angular_21.md +0 -31
- package/docs/ar/intlayer_with_astro.md +1 -33
- package/docs/ar/intlayer_with_astro_lit.md +4 -37
- package/docs/ar/intlayer_with_astro_preact.md +4 -37
- package/docs/ar/intlayer_with_astro_react.md +4 -37
- package/docs/ar/intlayer_with_astro_solid.md +4 -37
- package/docs/ar/intlayer_with_astro_svelte.md +4 -37
- package/docs/ar/intlayer_with_astro_vanilla.md +4 -35
- package/docs/ar/intlayer_with_astro_vue.md +0 -33
- package/docs/ar/intlayer_with_create_react_app.md +17 -52
- package/docs/ar/intlayer_with_elysia.md +0 -16
- package/docs/ar/intlayer_with_express.md +0 -15
- package/docs/ar/intlayer_with_fastify.md +0 -15
- package/docs/ar/intlayer_with_hono.md +0 -15
- package/docs/ar/intlayer_with_htmx.md +0 -27
- package/docs/ar/intlayer_with_lynx+react.md +0 -21
- package/docs/ar/intlayer_with_nestjs.md +0 -15
- package/docs/ar/intlayer_with_next-i18next.md +0 -28
- package/docs/ar/intlayer_with_nextjs_14.md +4 -40
- package/docs/ar/intlayer_with_nextjs_15.md +15 -41
- package/docs/ar/intlayer_with_nextjs_16.md +204 -53
- package/docs/ar/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/ar/intlayer_with_nuxt.md +28 -33
- package/docs/ar/intlayer_with_react_native+expo.md +25 -36
- package/docs/ar/intlayer_with_react_router_v7.md +286 -84
- package/docs/ar/intlayer_with_solid_start.md +4 -53
- package/docs/ar/intlayer_with_storybook.md +0 -26
- package/docs/ar/intlayer_with_svelte_kit.md +16 -47
- package/docs/ar/intlayer_with_tanstack+solid.md +38 -51
- package/docs/ar/intlayer_with_tanstack.md +40 -50
- package/docs/ar/intlayer_with_vanilla.md +16 -33
- package/docs/ar/intlayer_with_vite+lit.md +21 -36
- package/docs/ar/intlayer_with_vite+preact.md +28 -42
- package/docs/ar/intlayer_with_vite+react.md +37 -37
- package/docs/ar/intlayer_with_vite+solid.md +37 -48
- package/docs/ar/intlayer_with_vite+svelte.md +25 -36
- package/docs/ar/intlayer_with_vite+vanilla.md +21 -38
- package/docs/ar/intlayer_with_vite+vue.md +25 -35
- package/docs/ar/introduction.md +29 -23
- package/docs/ar/live-sync.md +0 -2
- package/docs/ar/lsp.md +0 -12
- package/docs/ar/mcp_server.md +0 -8
- package/docs/ar/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/ar/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/ar/packages/@intlayer_babel/export.md +0 -10
- package/docs/ar/packages/adonis-intlayer/t.md +0 -12
- package/docs/ar/packages/express-intlayer/t.md +0 -24
- package/docs/ar/packages/hono-intlayer/t.md +0 -22
- package/docs/ar/packages/intlayer/comparePaths.md +0 -12
- package/docs/ar/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/ar/packages/intlayer/getConfiguration.md +0 -4
- package/docs/ar/packages/intlayer/getDictionary.md +0 -10
- package/docs/ar/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/ar/packages/intlayer/getIntlayer.md +0 -12
- package/docs/ar/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/ar/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/ar/packages/intlayer/getPrefix.md +0 -10
- package/docs/ar/packages/next-intlayer/t.md +0 -18
- package/docs/ar/packages/react-intlayer/t.md +0 -18
- package/docs/ar/readme.md +0 -2
- package/docs/ar/releases/v6.md +0 -26
- package/docs/ar/releases/v7.md +0 -26
- package/docs/ar/releases/v8.md +3 -45
- package/docs/ar/releases/v9.md +0 -22
- package/docs/ar/roadmap.md +0 -22
- package/docs/ar/self_hosting.md +0 -24
- package/docs/ar/testing.md +0 -12
- package/docs/bn/bundle_optimization.md +0 -2
- package/docs/bn/cli/index.md +0 -4
- package/docs/bn/configuration.md +0 -34
- package/docs/bn/interest_of_intlayer.md +0 -4
- package/docs/bn/intlayer_CMS.md +0 -4
- package/docs/bn/intlayer_with_angular_21.md +0 -4
- package/docs/bn/intlayer_with_storybook.md +0 -26
- package/docs/bn/intlayer_with_vanilla.md +0 -4
- package/docs/bn/intlayer_with_vite+lit.md +0 -4
- package/docs/bn/intlayer_with_vite+vanilla.md +0 -4
- package/docs/bn/introduction.md +29 -10
- package/docs/bn/packages/intlayer/comparePaths.md +0 -12
- package/docs/bn/releases/v9.md +0 -20
- package/docs/cs/bundle_optimization.md +0 -2
- package/docs/cs/cli/index.md +0 -4
- package/docs/cs/configuration.md +0 -34
- package/docs/cs/interest_of_intlayer.md +0 -9
- package/docs/cs/intlayer_with_angular_21.md +0 -10
- package/docs/cs/intlayer_with_storybook.md +0 -20
- package/docs/cs/intlayer_with_vanilla.md +0 -13
- package/docs/cs/intlayer_with_vite+lit.md +0 -16
- package/docs/cs/intlayer_with_vite+vanilla.md +0 -17
- package/docs/cs/introduction.md +29 -10
- package/docs/cs/packages/intlayer/comparePaths.md +0 -12
- package/docs/cs/releases/v9.md +0 -20
- package/docs/de/analytics.md +0 -2
- package/docs/de/bundle_optimization.md +0 -2
- package/docs/de/cli/index.md +0 -4
- package/docs/de/cli/login.md +0 -2
- package/docs/de/compiler.md +31 -13
- package/docs/de/configuration.md +0 -37
- package/docs/de/dictionary/html.md +0 -6
- package/docs/de/dictionary/markdown.md +0 -2
- package/docs/de/how_works_intlayer.md +0 -12
- package/docs/de/interest_of_intlayer.md +0 -21
- package/docs/de/intlayer_CMS.md +0 -16
- package/docs/de/intlayer_visual_editor.md +0 -11
- package/docs/de/intlayer_with_adonisjs.md +0 -16
- package/docs/de/intlayer_with_analog.md +0 -30
- package/docs/de/intlayer_with_angular_19.md +0 -32
- package/docs/de/intlayer_with_angular_21.md +0 -31
- package/docs/de/intlayer_with_astro.md +1 -33
- package/docs/de/intlayer_with_astro_lit.md +4 -37
- package/docs/de/intlayer_with_astro_preact.md +4 -37
- package/docs/de/intlayer_with_astro_react.md +4 -37
- package/docs/de/intlayer_with_astro_solid.md +4 -37
- package/docs/de/intlayer_with_astro_svelte.md +4 -37
- package/docs/de/intlayer_with_astro_vanilla.md +4 -35
- package/docs/de/intlayer_with_astro_vue.md +0 -33
- package/docs/de/intlayer_with_create_react_app.md +14 -49
- package/docs/de/intlayer_with_elysia.md +0 -16
- package/docs/de/intlayer_with_express.md +0 -15
- package/docs/de/intlayer_with_fastify.md +0 -15
- package/docs/de/intlayer_with_hono.md +0 -15
- package/docs/de/intlayer_with_htmx.md +0 -27
- package/docs/de/intlayer_with_lynx+react.md +0 -21
- package/docs/de/intlayer_with_nestjs.md +0 -15
- package/docs/de/intlayer_with_next-i18next.md +0 -28
- package/docs/de/intlayer_with_nextjs_14.md +4 -40
- package/docs/de/intlayer_with_nextjs_15.md +15 -41
- package/docs/de/intlayer_with_nextjs_16.md +205 -66
- package/docs/de/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/de/intlayer_with_nuxt.md +28 -33
- package/docs/de/intlayer_with_react_native+expo.md +25 -36
- package/docs/de/intlayer_with_react_router_v7.md +395 -186
- package/docs/de/intlayer_with_solid_start.md +4 -53
- package/docs/de/intlayer_with_storybook.md +0 -26
- package/docs/de/intlayer_with_svelte_kit.md +0 -34
- package/docs/de/intlayer_with_tanstack+solid.md +38 -51
- package/docs/de/intlayer_with_tanstack.md +40 -50
- package/docs/de/intlayer_with_vanilla.md +16 -33
- package/docs/de/intlayer_with_vite+lit.md +21 -36
- package/docs/de/intlayer_with_vite+preact.md +28 -42
- package/docs/de/intlayer_with_vite+react.md +29 -37
- package/docs/de/intlayer_with_vite+solid.md +26 -39
- package/docs/de/intlayer_with_vite+svelte.md +25 -36
- package/docs/de/intlayer_with_vite+vanilla.md +21 -38
- package/docs/de/intlayer_with_vite+vue.md +25 -35
- package/docs/de/introduction.md +29 -23
- package/docs/de/live-sync.md +0 -2
- package/docs/de/lsp.md +0 -12
- package/docs/de/mcp_server.md +0 -8
- package/docs/de/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/de/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/de/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/de/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/de/packages/@intlayer_babel/export.md +0 -10
- package/docs/de/packages/adonis-intlayer/t.md +0 -12
- package/docs/de/packages/express-intlayer/t.md +0 -24
- package/docs/de/packages/hono-intlayer/t.md +0 -22
- package/docs/de/packages/intlayer/comparePaths.md +0 -12
- package/docs/de/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/de/packages/intlayer/getConfiguration.md +0 -4
- package/docs/de/packages/intlayer/getDictionary.md +0 -10
- package/docs/de/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/de/packages/intlayer/getIntlayer.md +0 -12
- package/docs/de/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/de/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/de/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/de/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/de/packages/intlayer/getPrefix.md +0 -10
- package/docs/de/packages/next-intlayer/t.md +0 -18
- package/docs/de/packages/react-intlayer/t.md +0 -18
- package/docs/de/readme.md +0 -2
- package/docs/de/releases/v6.md +0 -26
- package/docs/de/releases/v7.md +0 -26
- package/docs/de/releases/v8.md +3 -45
- package/docs/de/releases/v9.md +0 -22
- package/docs/de/roadmap.md +0 -22
- package/docs/de/self_hosting.md +0 -24
- package/docs/de/testing.md +0 -12
- package/docs/en/analytics.md +0 -2
- package/docs/en/bundle_optimization.md +0 -2
- package/docs/en/cli/index.md +0 -4
- package/docs/en/cli/login.md +0 -2
- package/docs/en/compiler.md +32 -14
- package/docs/en/configuration.md +0 -37
- package/docs/en/dictionary/html.md +0 -6
- package/docs/en/dictionary/markdown.md +4 -6
- package/docs/en/how_works_intlayer.md +0 -12
- package/docs/en/interest_of_intlayer.md +0 -21
- package/docs/en/intlayer_CMS.md +0 -16
- package/docs/en/intlayer_visual_editor.md +0 -11
- package/docs/en/intlayer_with_adonisjs.md +0 -16
- package/docs/en/intlayer_with_analog.md +0 -30
- package/docs/en/intlayer_with_angular_19.md +0 -32
- package/docs/en/intlayer_with_angular_21.md +0 -31
- package/docs/en/intlayer_with_astro.md +1 -33
- package/docs/en/intlayer_with_astro_lit.md +4 -37
- package/docs/en/intlayer_with_astro_preact.md +4 -37
- package/docs/en/intlayer_with_astro_react.md +4 -37
- package/docs/en/intlayer_with_astro_solid.md +4 -37
- package/docs/en/intlayer_with_astro_svelte.md +4 -37
- package/docs/en/intlayer_with_astro_vanilla.md +4 -35
- package/docs/en/intlayer_with_astro_vue.md +0 -33
- package/docs/en/intlayer_with_create_react_app.md +5 -35
- package/docs/en/intlayer_with_elysia.md +0 -16
- package/docs/en/intlayer_with_express.md +0 -15
- package/docs/en/intlayer_with_fastify.md +0 -15
- package/docs/en/intlayer_with_hono.md +0 -15
- package/docs/en/intlayer_with_htmx.md +0 -27
- package/docs/en/intlayer_with_lynx+react.md +0 -21
- package/docs/en/intlayer_with_nestjs.md +0 -15
- package/docs/en/intlayer_with_next-i18next.md +0 -28
- package/docs/en/intlayer_with_nextjs_14.md +4 -40
- package/docs/en/intlayer_with_nextjs_15.md +15 -40
- package/docs/en/intlayer_with_nextjs_16.md +202 -52
- package/docs/en/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/en/intlayer_with_nuxt.md +28 -33
- package/docs/en/intlayer_with_react_native+expo.md +25 -36
- package/docs/en/intlayer_with_react_router_v7.md +287 -85
- package/docs/en/intlayer_with_solid_start.md +4 -53
- package/docs/en/intlayer_with_storybook.md +0 -26
- package/docs/en/intlayer_with_svelte_kit.md +0 -34
- package/docs/en/intlayer_with_tanstack+solid.md +38 -51
- package/docs/en/intlayer_with_tanstack.md +40 -50
- package/docs/en/intlayer_with_vanilla.md +16 -33
- package/docs/en/intlayer_with_vite+lit.md +21 -36
- package/docs/en/intlayer_with_vite+preact.md +28 -42
- package/docs/en/intlayer_with_vite+react.md +29 -37
- package/docs/en/intlayer_with_vite+solid.md +26 -39
- package/docs/en/intlayer_with_vite+svelte.md +25 -36
- package/docs/en/intlayer_with_vite+vanilla.md +21 -38
- package/docs/en/intlayer_with_vite+vue.md +25 -35
- package/docs/en/introduction.md +29 -23
- package/docs/en/live-sync.md +0 -2
- package/docs/en/lsp.md +0 -12
- package/docs/en/mcp_server.md +0 -8
- package/docs/en/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/en/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/en/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/en/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/en/packages/@intlayer_babel/export.md +0 -10
- package/docs/en/packages/adonis-intlayer/t.md +0 -12
- package/docs/en/packages/express-intlayer/t.md +0 -24
- package/docs/en/packages/hono-intlayer/t.md +0 -22
- package/docs/en/packages/intlayer/comparePaths.md +0 -12
- package/docs/en/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/en/packages/intlayer/getConfiguration.md +0 -4
- package/docs/en/packages/intlayer/getDictionary.md +0 -10
- package/docs/en/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/en/packages/intlayer/getIntlayer.md +0 -12
- package/docs/en/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/en/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/en/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/en/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/en/packages/intlayer/getPrefix.md +0 -10
- package/docs/en/packages/next-intlayer/t.md +0 -18
- package/docs/en/packages/react-intlayer/t.md +0 -18
- package/docs/en/readme.md +0 -5
- package/docs/en/releases/v6.md +0 -26
- package/docs/en/releases/v7.md +0 -26
- package/docs/en/releases/v8.md +3 -45
- package/docs/en/releases/v9.md +0 -22
- package/docs/en/roadmap.md +0 -22
- package/docs/en/self_hosting.md +0 -24
- package/docs/en/testing.md +0 -12
- package/docs/en-GB/analytics.md +0 -2
- package/docs/en-GB/bundle_optimization.md +0 -2
- package/docs/en-GB/cli/index.md +0 -4
- package/docs/en-GB/cli/login.md +0 -2
- package/docs/en-GB/compiler.md +31 -13
- package/docs/en-GB/configuration.md +0 -37
- package/docs/en-GB/dictionary/html.md +0 -6
- package/docs/en-GB/dictionary/markdown.md +0 -2
- package/docs/en-GB/dictionary/translation.md +32 -33
- package/docs/en-GB/how_works_intlayer.md +0 -12
- package/docs/en-GB/interest_of_intlayer.md +0 -21
- package/docs/en-GB/intlayer_CMS.md +0 -16
- package/docs/en-GB/intlayer_visual_editor.md +0 -11
- package/docs/en-GB/intlayer_with_adonisjs.md +0 -16
- package/docs/en-GB/intlayer_with_analog.md +0 -30
- package/docs/en-GB/intlayer_with_angular_19.md +0 -32
- package/docs/en-GB/intlayer_with_angular_21.md +0 -31
- package/docs/en-GB/intlayer_with_astro.md +1 -33
- package/docs/en-GB/intlayer_with_astro_lit.md +4 -37
- package/docs/en-GB/intlayer_with_astro_preact.md +4 -37
- package/docs/en-GB/intlayer_with_astro_react.md +4 -37
- package/docs/en-GB/intlayer_with_astro_solid.md +4 -37
- package/docs/en-GB/intlayer_with_astro_svelte.md +4 -37
- package/docs/en-GB/intlayer_with_astro_vanilla.md +4 -35
- package/docs/en-GB/intlayer_with_astro_vue.md +0 -33
- package/docs/en-GB/intlayer_with_create_react_app.md +5 -35
- package/docs/en-GB/intlayer_with_elysia.md +0 -16
- package/docs/en-GB/intlayer_with_express.md +0 -15
- package/docs/en-GB/intlayer_with_fastify.md +0 -15
- package/docs/en-GB/intlayer_with_hono.md +0 -15
- package/docs/en-GB/intlayer_with_htmx.md +0 -27
- package/docs/en-GB/intlayer_with_lynx+react.md +0 -21
- package/docs/en-GB/intlayer_with_nestjs.md +0 -15
- package/docs/en-GB/intlayer_with_next-i18next.md +0 -28
- package/docs/en-GB/intlayer_with_nextjs_14.md +4 -40
- package/docs/en-GB/intlayer_with_nextjs_15.md +17 -44
- package/docs/en-GB/intlayer_with_nextjs_16.md +205 -53
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/en-GB/intlayer_with_nuxt.md +28 -33
- package/docs/en-GB/intlayer_with_react_native+expo.md +25 -36
- package/docs/en-GB/intlayer_with_react_router_v7.md +330 -129
- package/docs/en-GB/intlayer_with_solid_start.md +4 -53
- package/docs/en-GB/intlayer_with_storybook.md +0 -26
- package/docs/en-GB/intlayer_with_svelte_kit.md +0 -34
- package/docs/en-GB/intlayer_with_tanstack+solid.md +38 -51
- package/docs/en-GB/intlayer_with_tanstack.md +40 -50
- package/docs/en-GB/intlayer_with_vanilla.md +16 -33
- package/docs/en-GB/intlayer_with_vite+lit.md +21 -36
- package/docs/en-GB/intlayer_with_vite+preact.md +28 -42
- package/docs/en-GB/intlayer_with_vite+react.md +37 -37
- package/docs/en-GB/intlayer_with_vite+solid.md +26 -41
- package/docs/en-GB/intlayer_with_vite+svelte.md +33 -36
- package/docs/en-GB/intlayer_with_vite+vanilla.md +21 -38
- package/docs/en-GB/intlayer_with_vite+vue.md +109 -101
- package/docs/en-GB/introduction.md +29 -23
- package/docs/en-GB/live-sync.md +0 -2
- package/docs/en-GB/lsp.md +0 -12
- package/docs/en-GB/mcp_server.md +0 -8
- package/docs/en-GB/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/en-GB/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/en-GB/packages/@intlayer_babel/export.md +0 -10
- package/docs/en-GB/packages/adonis-intlayer/t.md +0 -12
- package/docs/en-GB/packages/express-intlayer/t.md +0 -24
- package/docs/en-GB/packages/hono-intlayer/t.md +0 -22
- package/docs/en-GB/packages/intlayer/comparePaths.md +0 -12
- package/docs/en-GB/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/en-GB/packages/intlayer/getConfiguration.md +0 -4
- package/docs/en-GB/packages/intlayer/getDictionary.md +0 -10
- package/docs/en-GB/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/en-GB/packages/intlayer/getIntlayer.md +0 -12
- package/docs/en-GB/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/en-GB/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/en-GB/packages/intlayer/getPrefix.md +0 -10
- package/docs/en-GB/packages/next-intlayer/t.md +0 -18
- package/docs/en-GB/packages/react-intlayer/t.md +0 -18
- package/docs/en-GB/readme.md +0 -2
- package/docs/en-GB/releases/v6.md +25 -39
- package/docs/en-GB/releases/v7.md +0 -26
- package/docs/en-GB/releases/v8.md +3 -45
- package/docs/en-GB/releases/v9.md +0 -22
- package/docs/en-GB/roadmap.md +0 -22
- package/docs/en-GB/self_hosting.md +0 -24
- package/docs/en-GB/testing.md +0 -12
- package/docs/es/analytics.md +0 -2
- package/docs/es/bundle_optimization.md +0 -2
- package/docs/es/cli/index.md +0 -4
- package/docs/es/cli/login.md +0 -2
- package/docs/es/compiler.md +31 -13
- package/docs/es/configuration.md +0 -37
- package/docs/es/dictionary/html.md +0 -6
- package/docs/es/dictionary/markdown.md +0 -2
- package/docs/es/how_works_intlayer.md +0 -12
- package/docs/es/interest_of_intlayer.md +0 -21
- package/docs/es/intlayer_CMS.md +0 -16
- package/docs/es/intlayer_visual_editor.md +0 -11
- package/docs/es/intlayer_with_adonisjs.md +0 -16
- package/docs/es/intlayer_with_analog.md +0 -30
- package/docs/es/intlayer_with_angular_19.md +0 -32
- package/docs/es/intlayer_with_angular_21.md +0 -31
- package/docs/es/intlayer_with_astro.md +1 -33
- package/docs/es/intlayer_with_astro_lit.md +4 -37
- package/docs/es/intlayer_with_astro_preact.md +4 -37
- package/docs/es/intlayer_with_astro_react.md +4 -37
- package/docs/es/intlayer_with_astro_solid.md +4 -37
- package/docs/es/intlayer_with_astro_svelte.md +4 -37
- package/docs/es/intlayer_with_astro_vanilla.md +4 -35
- package/docs/es/intlayer_with_astro_vue.md +0 -33
- package/docs/es/intlayer_with_create_react_app.md +8 -43
- package/docs/es/intlayer_with_elysia.md +0 -16
- package/docs/es/intlayer_with_express.md +0 -15
- package/docs/es/intlayer_with_fastify.md +0 -15
- package/docs/es/intlayer_with_hono.md +0 -15
- package/docs/es/intlayer_with_htmx.md +0 -27
- package/docs/es/intlayer_with_lynx+react.md +0 -21
- package/docs/es/intlayer_with_nestjs.md +0 -15
- package/docs/es/intlayer_with_next-i18next.md +0 -28
- package/docs/es/intlayer_with_nextjs_14.md +4 -40
- package/docs/es/intlayer_with_nextjs_15.md +17 -45
- package/docs/es/intlayer_with_nextjs_16.md +204 -57
- package/docs/es/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/es/intlayer_with_nuxt.md +28 -33
- package/docs/es/intlayer_with_react_native+expo.md +25 -36
- package/docs/es/intlayer_with_react_router_v7.md +414 -211
- package/docs/es/intlayer_with_solid_start.md +4 -53
- package/docs/es/intlayer_with_storybook.md +0 -26
- package/docs/es/intlayer_with_svelte_kit.md +0 -34
- package/docs/es/intlayer_with_tanstack+solid.md +38 -51
- package/docs/es/intlayer_with_tanstack.md +40 -50
- package/docs/es/intlayer_with_vanilla.md +16 -33
- package/docs/es/intlayer_with_vite+lit.md +21 -36
- package/docs/es/intlayer_with_vite+preact.md +28 -42
- package/docs/es/intlayer_with_vite+react.md +29 -37
- package/docs/es/intlayer_with_vite+solid.md +26 -39
- package/docs/es/intlayer_with_vite+svelte.md +25 -36
- package/docs/es/intlayer_with_vite+vanilla.md +21 -38
- package/docs/es/intlayer_with_vite+vue.md +25 -35
- package/docs/es/introduction.md +29 -23
- package/docs/es/live-sync.md +0 -2
- package/docs/es/lsp.md +0 -12
- package/docs/es/mcp_server.md +0 -8
- package/docs/es/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/es/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/es/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/es/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/es/packages/@intlayer_babel/export.md +0 -10
- package/docs/es/packages/adonis-intlayer/t.md +0 -12
- package/docs/es/packages/express-intlayer/t.md +0 -24
- package/docs/es/packages/hono-intlayer/t.md +0 -22
- package/docs/es/packages/intlayer/comparePaths.md +0 -12
- package/docs/es/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/es/packages/intlayer/getConfiguration.md +0 -4
- package/docs/es/packages/intlayer/getDictionary.md +0 -10
- package/docs/es/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/es/packages/intlayer/getIntlayer.md +0 -12
- package/docs/es/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/es/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/es/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/es/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/es/packages/intlayer/getPrefix.md +0 -10
- package/docs/es/packages/next-intlayer/t.md +0 -18
- package/docs/es/packages/react-intlayer/t.md +0 -18
- package/docs/es/readme.md +0 -2
- package/docs/es/releases/v6.md +0 -26
- package/docs/es/releases/v7.md +0 -26
- package/docs/es/releases/v8.md +3 -45
- package/docs/es/releases/v9.md +0 -22
- package/docs/es/roadmap.md +0 -22
- package/docs/es/self_hosting.md +0 -24
- package/docs/es/testing.md +0 -12
- package/docs/fr/analytics.md +0 -2
- package/docs/fr/bundle_optimization.md +0 -2
- package/docs/fr/cli/index.md +0 -4
- package/docs/fr/cli/login.md +0 -2
- package/docs/fr/compiler.md +32 -14
- package/docs/fr/configuration.md +0 -37
- package/docs/fr/dictionary/html.md +0 -6
- package/docs/fr/dictionary/markdown.md +0 -2
- package/docs/fr/how_works_intlayer.md +0 -12
- package/docs/fr/interest_of_intlayer.md +0 -21
- package/docs/fr/intlayer_CMS.md +0 -16
- package/docs/fr/intlayer_visual_editor.md +0 -11
- package/docs/fr/intlayer_with_adonisjs.md +0 -16
- package/docs/fr/intlayer_with_analog.md +0 -30
- package/docs/fr/intlayer_with_angular_19.md +0 -32
- package/docs/fr/intlayer_with_angular_21.md +0 -31
- package/docs/fr/intlayer_with_astro.md +1 -33
- package/docs/fr/intlayer_with_astro_lit.md +4 -37
- package/docs/fr/intlayer_with_astro_preact.md +4 -37
- package/docs/fr/intlayer_with_astro_react.md +4 -37
- package/docs/fr/intlayer_with_astro_solid.md +4 -37
- package/docs/fr/intlayer_with_astro_svelte.md +4 -37
- package/docs/fr/intlayer_with_astro_vanilla.md +4 -35
- package/docs/fr/intlayer_with_astro_vue.md +0 -33
- package/docs/fr/intlayer_with_create_react_app.md +7 -42
- package/docs/fr/intlayer_with_elysia.md +0 -16
- package/docs/fr/intlayer_with_express.md +0 -15
- package/docs/fr/intlayer_with_fastify.md +0 -15
- package/docs/fr/intlayer_with_hono.md +0 -15
- package/docs/fr/intlayer_with_htmx.md +0 -27
- package/docs/fr/intlayer_with_lynx+react.md +0 -21
- package/docs/fr/intlayer_with_nestjs.md +0 -15
- package/docs/fr/intlayer_with_next-i18next.md +0 -28
- package/docs/fr/intlayer_with_nextjs_14.md +4 -40
- package/docs/fr/intlayer_with_nextjs_15.md +18 -45
- package/docs/fr/intlayer_with_nextjs_16.md +206 -56
- package/docs/fr/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/fr/intlayer_with_nuxt.md +28 -33
- package/docs/fr/intlayer_with_react_native+expo.md +25 -36
- package/docs/fr/intlayer_with_react_router_v7.md +286 -84
- package/docs/fr/intlayer_with_solid_start.md +4 -53
- package/docs/fr/intlayer_with_storybook.md +0 -26
- package/docs/fr/intlayer_with_svelte_kit.md +0 -34
- package/docs/fr/intlayer_with_tanstack+solid.md +38 -51
- package/docs/fr/intlayer_with_tanstack.md +40 -50
- package/docs/fr/intlayer_with_vanilla.md +16 -33
- package/docs/fr/intlayer_with_vite+lit.md +21 -36
- package/docs/fr/intlayer_with_vite+preact.md +28 -42
- package/docs/fr/intlayer_with_vite+react.md +29 -37
- package/docs/fr/intlayer_with_vite+solid.md +26 -39
- package/docs/fr/intlayer_with_vite+svelte.md +25 -36
- package/docs/fr/intlayer_with_vite+vanilla.md +21 -38
- package/docs/fr/intlayer_with_vite+vue.md +25 -35
- package/docs/fr/introduction.md +29 -23
- package/docs/fr/live-sync.md +0 -2
- package/docs/fr/lsp.md +0 -12
- package/docs/fr/mcp_server.md +0 -8
- package/docs/fr/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/fr/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/fr/packages/@intlayer_babel/export.md +0 -10
- package/docs/fr/packages/adonis-intlayer/t.md +0 -12
- package/docs/fr/packages/express-intlayer/t.md +0 -24
- package/docs/fr/packages/hono-intlayer/t.md +0 -22
- package/docs/fr/packages/intlayer/comparePaths.md +0 -12
- package/docs/fr/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/fr/packages/intlayer/getConfiguration.md +0 -4
- package/docs/fr/packages/intlayer/getDictionary.md +0 -10
- package/docs/fr/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/fr/packages/intlayer/getIntlayer.md +0 -12
- package/docs/fr/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/fr/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/fr/packages/intlayer/getPrefix.md +0 -10
- package/docs/fr/packages/next-intlayer/t.md +0 -18
- package/docs/fr/packages/react-intlayer/t.md +0 -18
- package/docs/fr/readme.md +0 -2
- package/docs/fr/releases/v6.md +0 -26
- package/docs/fr/releases/v7.md +0 -26
- package/docs/fr/releases/v8.md +3 -45
- package/docs/fr/releases/v9.md +0 -22
- package/docs/fr/roadmap.md +0 -22
- package/docs/fr/self_hosting.md +0 -24
- package/docs/fr/testing.md +0 -12
- package/docs/hi/analytics.md +0 -2
- package/docs/hi/bundle_optimization.md +0 -2
- package/docs/hi/cli/index.md +0 -4
- package/docs/hi/cli/login.md +0 -2
- package/docs/hi/compiler.md +31 -13
- package/docs/hi/configuration.md +0 -37
- package/docs/hi/dictionary/html.md +0 -6
- package/docs/hi/dictionary/markdown.md +0 -2
- package/docs/hi/how_works_intlayer.md +0 -12
- package/docs/hi/interest_of_intlayer.md +0 -21
- package/docs/hi/intlayer_CMS.md +0 -16
- package/docs/hi/intlayer_visual_editor.md +0 -11
- package/docs/hi/intlayer_with_adonisjs.md +0 -16
- package/docs/hi/intlayer_with_analog.md +0 -30
- package/docs/hi/intlayer_with_angular_19.md +0 -32
- package/docs/hi/intlayer_with_angular_21.md +0 -31
- package/docs/hi/intlayer_with_astro.md +1 -33
- package/docs/hi/intlayer_with_astro_lit.md +8 -41
- package/docs/hi/intlayer_with_astro_preact.md +8 -41
- package/docs/hi/intlayer_with_astro_react.md +8 -41
- package/docs/hi/intlayer_with_astro_solid.md +8 -41
- package/docs/hi/intlayer_with_astro_svelte.md +8 -41
- package/docs/hi/intlayer_with_astro_vanilla.md +8 -39
- package/docs/hi/intlayer_with_astro_vue.md +0 -33
- package/docs/hi/intlayer_with_create_react_app.md +13 -48
- package/docs/hi/intlayer_with_elysia.md +0 -16
- package/docs/hi/intlayer_with_express.md +0 -15
- package/docs/hi/intlayer_with_fastify.md +0 -15
- package/docs/hi/intlayer_with_hono.md +0 -15
- package/docs/hi/intlayer_with_htmx.md +0 -27
- package/docs/hi/intlayer_with_lynx+react.md +0 -21
- package/docs/hi/intlayer_with_nestjs.md +0 -15
- package/docs/hi/intlayer_with_next-i18next.md +0 -28
- package/docs/hi/intlayer_with_nextjs_14.md +4 -40
- package/docs/hi/intlayer_with_nextjs_15.md +42 -69
- package/docs/hi/intlayer_with_nextjs_16.md +231 -80
- package/docs/hi/intlayer_with_nextjs_page_router.md +4 -34
- package/docs/hi/intlayer_with_nuxt.md +28 -33
- package/docs/hi/intlayer_with_react_native+expo.md +25 -36
- package/docs/hi/intlayer_with_react_router_v7.md +284 -82
- package/docs/hi/intlayer_with_solid_start.md +4 -53
- package/docs/hi/intlayer_with_storybook.md +0 -26
- package/docs/hi/intlayer_with_svelte_kit.md +0 -34
- package/docs/hi/intlayer_with_tanstack+solid.md +38 -51
- package/docs/hi/intlayer_with_tanstack.md +40 -50
- package/docs/hi/intlayer_with_vanilla.md +16 -33
- package/docs/hi/intlayer_with_vite+lit.md +21 -36
- package/docs/hi/intlayer_with_vite+preact.md +28 -42
- package/docs/hi/intlayer_with_vite+react.md +37 -37
- package/docs/hi/intlayer_with_vite+solid.md +39 -53
- package/docs/hi/intlayer_with_vite+svelte.md +25 -38
- package/docs/hi/intlayer_with_vite+vanilla.md +21 -38
- package/docs/hi/intlayer_with_vite+vue.md +25 -35
- package/docs/hi/introduction.md +29 -23
- package/docs/hi/live-sync.md +0 -2
- package/docs/hi/lsp.md +0 -12
- package/docs/hi/mcp_server.md +0 -8
- package/docs/hi/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/hi/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/hi/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/hi/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/hi/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/hi/packages/@intlayer_babel/export.md +0 -10
- package/docs/hi/packages/adonis-intlayer/t.md +0 -12
- package/docs/hi/packages/express-intlayer/t.md +0 -24
- package/docs/hi/packages/hono-intlayer/t.md +0 -22
- package/docs/hi/packages/intlayer/comparePaths.md +0 -12
- package/docs/hi/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/hi/packages/intlayer/getConfiguration.md +0 -4
- package/docs/hi/packages/intlayer/getDictionary.md +0 -10
- package/docs/hi/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/hi/packages/intlayer/getIntlayer.md +0 -12
- package/docs/hi/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/hi/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/hi/packages/intlayer/getPrefix.md +0 -10
- package/docs/hi/packages/next-intlayer/t.md +0 -18
- package/docs/hi/packages/react-intlayer/t.md +0 -18
- package/docs/hi/readme.md +0 -2
- package/docs/hi/releases/v6.md +0 -26
- package/docs/hi/releases/v7.md +0 -26
- package/docs/hi/releases/v8.md +3 -45
- package/docs/hi/releases/v9.md +0 -22
- package/docs/hi/roadmap.md +0 -22
- package/docs/hi/self_hosting.md +0 -24
- package/docs/hi/testing.md +0 -12
- package/docs/id/analytics.md +0 -2
- package/docs/id/bundle_optimization.md +0 -2
- package/docs/id/cli/index.md +0 -4
- package/docs/id/cli/login.md +0 -2
- package/docs/id/compiler.md +31 -13
- package/docs/id/configuration.md +0 -37
- package/docs/id/dictionary/html.md +0 -6
- package/docs/id/dictionary/markdown.md +0 -2
- package/docs/id/how_works_intlayer.md +0 -12
- package/docs/id/interest_of_intlayer.md +0 -21
- package/docs/id/intlayer_CMS.md +0 -16
- package/docs/id/intlayer_visual_editor.md +0 -11
- package/docs/id/intlayer_with_adonisjs.md +0 -16
- package/docs/id/intlayer_with_analog.md +0 -30
- package/docs/id/intlayer_with_angular_19.md +0 -32
- package/docs/id/intlayer_with_angular_21.md +0 -31
- package/docs/id/intlayer_with_astro.md +1 -33
- package/docs/id/intlayer_with_astro_lit.md +4 -37
- package/docs/id/intlayer_with_astro_preact.md +4 -37
- package/docs/id/intlayer_with_astro_react.md +4 -37
- package/docs/id/intlayer_with_astro_solid.md +4 -37
- package/docs/id/intlayer_with_astro_svelte.md +4 -37
- package/docs/id/intlayer_with_astro_vanilla.md +4 -35
- package/docs/id/intlayer_with_astro_vue.md +0 -33
- package/docs/id/intlayer_with_create_react_app.md +16 -51
- package/docs/id/intlayer_with_elysia.md +0 -16
- package/docs/id/intlayer_with_express.md +0 -15
- package/docs/id/intlayer_with_fastify.md +0 -15
- package/docs/id/intlayer_with_hono.md +0 -15
- package/docs/id/intlayer_with_htmx.md +0 -27
- package/docs/id/intlayer_with_lynx+react.md +0 -21
- package/docs/id/intlayer_with_nestjs.md +0 -15
- package/docs/id/intlayer_with_next-i18next.md +0 -28
- package/docs/id/intlayer_with_nextjs_14.md +5 -29
- package/docs/id/intlayer_with_nextjs_15.md +15 -41
- package/docs/id/intlayer_with_nextjs_16.md +204 -54
- package/docs/id/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/id/intlayer_with_nuxt.md +28 -33
- package/docs/id/intlayer_with_react_native+expo.md +25 -36
- package/docs/id/intlayer_with_react_router_v7.md +284 -82
- package/docs/id/intlayer_with_solid_start.md +4 -53
- package/docs/id/intlayer_with_storybook.md +0 -26
- package/docs/id/intlayer_with_svelte_kit.md +0 -34
- package/docs/id/intlayer_with_tanstack+solid.md +38 -51
- package/docs/id/intlayer_with_tanstack.md +40 -50
- package/docs/id/intlayer_with_vanilla.md +16 -33
- package/docs/id/intlayer_with_vite+lit.md +21 -36
- package/docs/id/intlayer_with_vite+preact.md +28 -42
- package/docs/id/intlayer_with_vite+react.md +37 -37
- package/docs/id/intlayer_with_vite+solid.md +26 -39
- package/docs/id/intlayer_with_vite+svelte.md +25 -36
- package/docs/id/intlayer_with_vite+vanilla.md +21 -38
- package/docs/id/intlayer_with_vite+vue.md +25 -35
- package/docs/id/introduction.md +29 -23
- package/docs/id/live-sync.md +0 -2
- package/docs/id/lsp.md +0 -12
- package/docs/id/mcp_server.md +0 -8
- package/docs/id/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/id/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/id/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/id/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/id/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/id/packages/@intlayer_babel/export.md +0 -10
- package/docs/id/packages/adonis-intlayer/t.md +0 -12
- package/docs/id/packages/express-intlayer/t.md +0 -24
- package/docs/id/packages/hono-intlayer/t.md +0 -22
- package/docs/id/packages/intlayer/comparePaths.md +0 -12
- package/docs/id/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/id/packages/intlayer/getConfiguration.md +0 -4
- package/docs/id/packages/intlayer/getDictionary.md +0 -10
- package/docs/id/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/id/packages/intlayer/getIntlayer.md +0 -12
- package/docs/id/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/id/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/id/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/id/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/id/packages/intlayer/getPrefix.md +0 -10
- package/docs/id/packages/next-intlayer/t.md +0 -18
- package/docs/id/packages/react-intlayer/t.md +0 -18
- package/docs/id/readme.md +0 -2
- package/docs/id/releases/v6.md +0 -26
- package/docs/id/releases/v7.md +0 -26
- package/docs/id/releases/v8.md +3 -45
- package/docs/id/releases/v9.md +0 -22
- package/docs/id/roadmap.md +0 -22
- package/docs/id/self_hosting.md +0 -24
- package/docs/id/testing.md +0 -12
- package/docs/it/analytics.md +0 -2
- package/docs/it/bundle_optimization.md +0 -2
- package/docs/it/cli/index.md +0 -4
- package/docs/it/cli/login.md +0 -2
- package/docs/it/compiler.md +31 -13
- package/docs/it/configuration.md +0 -37
- package/docs/it/dictionary/html.md +0 -6
- package/docs/it/dictionary/markdown.md +0 -2
- package/docs/it/how_works_intlayer.md +0 -12
- package/docs/it/interest_of_intlayer.md +0 -21
- package/docs/it/intlayer_CMS.md +0 -16
- package/docs/it/intlayer_visual_editor.md +0 -11
- package/docs/it/intlayer_with_adonisjs.md +0 -16
- package/docs/it/intlayer_with_analog.md +0 -30
- package/docs/it/intlayer_with_angular_19.md +0 -32
- package/docs/it/intlayer_with_angular_21.md +0 -31
- package/docs/it/intlayer_with_astro.md +1 -33
- package/docs/it/intlayer_with_astro_lit.md +4 -37
- package/docs/it/intlayer_with_astro_preact.md +4 -37
- package/docs/it/intlayer_with_astro_react.md +4 -37
- package/docs/it/intlayer_with_astro_solid.md +4 -37
- package/docs/it/intlayer_with_astro_svelte.md +4 -37
- package/docs/it/intlayer_with_astro_vanilla.md +4 -35
- package/docs/it/intlayer_with_astro_vue.md +0 -33
- package/docs/it/intlayer_with_create_react_app.md +15 -50
- package/docs/it/intlayer_with_elysia.md +0 -16
- package/docs/it/intlayer_with_express.md +0 -15
- package/docs/it/intlayer_with_fastify.md +0 -15
- package/docs/it/intlayer_with_hono.md +0 -15
- package/docs/it/intlayer_with_htmx.md +0 -27
- package/docs/it/intlayer_with_lynx+react.md +0 -21
- package/docs/it/intlayer_with_nestjs.md +0 -15
- package/docs/it/intlayer_with_next-i18next.md +0 -28
- package/docs/it/intlayer_with_nextjs_14.md +4 -40
- package/docs/it/intlayer_with_nextjs_15.md +15 -41
- package/docs/it/intlayer_with_nextjs_16.md +204 -54
- package/docs/it/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/it/intlayer_with_nuxt.md +28 -33
- package/docs/it/intlayer_with_react_native+expo.md +25 -36
- package/docs/it/intlayer_with_react_router_v7.md +284 -82
- package/docs/it/intlayer_with_solid_start.md +4 -53
- package/docs/it/intlayer_with_storybook.md +0 -26
- package/docs/it/intlayer_with_svelte_kit.md +0 -34
- package/docs/it/intlayer_with_tanstack+solid.md +38 -51
- package/docs/it/intlayer_with_tanstack.md +40 -50
- package/docs/it/intlayer_with_vanilla.md +16 -33
- package/docs/it/intlayer_with_vite+lit.md +21 -36
- package/docs/it/intlayer_with_vite+preact.md +28 -42
- package/docs/it/intlayer_with_vite+react.md +37 -37
- package/docs/it/intlayer_with_vite+solid.md +26 -39
- package/docs/it/intlayer_with_vite+svelte.md +25 -36
- package/docs/it/intlayer_with_vite+vanilla.md +21 -38
- package/docs/it/intlayer_with_vite+vue.md +25 -35
- package/docs/it/introduction.md +29 -23
- package/docs/it/live-sync.md +0 -2
- package/docs/it/lsp.md +0 -12
- package/docs/it/mcp_server.md +0 -8
- package/docs/it/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/it/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/it/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/it/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/it/packages/@intlayer_babel/export.md +0 -10
- package/docs/it/packages/adonis-intlayer/t.md +0 -12
- package/docs/it/packages/express-intlayer/t.md +0 -24
- package/docs/it/packages/hono-intlayer/t.md +0 -22
- package/docs/it/packages/intlayer/comparePaths.md +0 -12
- package/docs/it/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/it/packages/intlayer/getConfiguration.md +0 -4
- package/docs/it/packages/intlayer/getDictionary.md +0 -10
- package/docs/it/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/it/packages/intlayer/getIntlayer.md +0 -12
- package/docs/it/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/it/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/it/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/it/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/it/packages/intlayer/getPrefix.md +0 -10
- package/docs/it/packages/next-intlayer/t.md +0 -18
- package/docs/it/packages/react-intlayer/t.md +0 -18
- package/docs/it/readme.md +0 -2
- package/docs/it/releases/v6.md +0 -26
- package/docs/it/releases/v7.md +0 -26
- package/docs/it/releases/v8.md +1 -43
- package/docs/it/releases/v9.md +0 -22
- package/docs/it/roadmap.md +0 -22
- package/docs/it/self_hosting.md +0 -24
- package/docs/it/testing.md +0 -12
- package/docs/ja/analytics.md +0 -2
- package/docs/ja/bundle_optimization.md +0 -2
- package/docs/ja/cli/index.md +0 -4
- package/docs/ja/cli/login.md +0 -2
- package/docs/ja/compiler.md +31 -13
- package/docs/ja/configuration.md +0 -37
- package/docs/ja/dictionary/html.md +0 -6
- package/docs/ja/dictionary/markdown.md +4 -6
- package/docs/ja/how_works_intlayer.md +0 -12
- package/docs/ja/interest_of_intlayer.md +0 -23
- package/docs/ja/intlayer_CMS.md +0 -16
- package/docs/ja/intlayer_visual_editor.md +0 -11
- package/docs/ja/intlayer_with_adonisjs.md +0 -16
- package/docs/ja/intlayer_with_analog.md +0 -30
- package/docs/ja/intlayer_with_angular_19.md +0 -32
- package/docs/ja/intlayer_with_angular_21.md +0 -31
- package/docs/ja/intlayer_with_astro.md +1 -33
- package/docs/ja/intlayer_with_astro_lit.md +4 -37
- package/docs/ja/intlayer_with_astro_preact.md +4 -37
- package/docs/ja/intlayer_with_astro_react.md +4 -37
- package/docs/ja/intlayer_with_astro_solid.md +4 -37
- package/docs/ja/intlayer_with_astro_svelte.md +4 -37
- package/docs/ja/intlayer_with_astro_vanilla.md +4 -35
- package/docs/ja/intlayer_with_astro_vue.md +0 -33
- package/docs/ja/intlayer_with_create_react_app.md +13 -48
- package/docs/ja/intlayer_with_elysia.md +0 -16
- package/docs/ja/intlayer_with_express.md +0 -15
- package/docs/ja/intlayer_with_fastify.md +0 -15
- package/docs/ja/intlayer_with_hono.md +0 -15
- package/docs/ja/intlayer_with_htmx.md +0 -27
- package/docs/ja/intlayer_with_lynx+react.md +0 -21
- package/docs/ja/intlayer_with_nestjs.md +0 -15
- package/docs/ja/intlayer_with_next-i18next.md +0 -28
- package/docs/ja/intlayer_with_nextjs_14.md +4 -40
- package/docs/ja/intlayer_with_nextjs_15.md +15 -43
- package/docs/ja/intlayer_with_nextjs_16.md +203 -53
- package/docs/ja/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/ja/intlayer_with_nuxt.md +28 -33
- package/docs/ja/intlayer_with_react_native+expo.md +25 -36
- package/docs/ja/intlayer_with_react_router_v7.md +306 -111
- package/docs/ja/intlayer_with_solid_start.md +4 -53
- package/docs/ja/intlayer_with_storybook.md +0 -26
- package/docs/ja/intlayer_with_svelte_kit.md +0 -34
- package/docs/ja/intlayer_with_tanstack+solid.md +38 -51
- package/docs/ja/intlayer_with_tanstack.md +40 -50
- package/docs/ja/intlayer_with_vanilla.md +16 -33
- package/docs/ja/intlayer_with_vite+lit.md +21 -36
- package/docs/ja/intlayer_with_vite+preact.md +28 -61
- package/docs/ja/intlayer_with_vite+react.md +29 -37
- package/docs/ja/intlayer_with_vite+solid.md +40 -54
- package/docs/ja/intlayer_with_vite+svelte.md +25 -36
- package/docs/ja/intlayer_with_vite+vanilla.md +21 -38
- package/docs/ja/intlayer_with_vite+vue.md +25 -35
- package/docs/ja/introduction.md +29 -23
- package/docs/ja/live-sync.md +0 -2
- package/docs/ja/lsp.md +0 -12
- package/docs/ja/mcp_server.md +0 -8
- package/docs/ja/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/ja/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/ja/packages/@intlayer_babel/export.md +0 -10
- package/docs/ja/packages/adonis-intlayer/t.md +0 -12
- package/docs/ja/packages/express-intlayer/t.md +0 -24
- package/docs/ja/packages/hono-intlayer/t.md +0 -22
- package/docs/ja/packages/intlayer/comparePaths.md +0 -12
- package/docs/ja/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/ja/packages/intlayer/getConfiguration.md +0 -4
- package/docs/ja/packages/intlayer/getDictionary.md +0 -10
- package/docs/ja/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/ja/packages/intlayer/getIntlayer.md +0 -12
- package/docs/ja/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/ja/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/ja/packages/intlayer/getPrefix.md +0 -10
- package/docs/ja/packages/next-intlayer/t.md +0 -18
- package/docs/ja/packages/react-intlayer/t.md +0 -18
- package/docs/ja/readme.md +0 -2
- package/docs/ja/releases/v6.md +0 -26
- package/docs/ja/releases/v7.md +0 -26
- package/docs/ja/releases/v8.md +3 -45
- package/docs/ja/releases/v9.md +0 -22
- package/docs/ja/roadmap.md +0 -22
- package/docs/ja/self_hosting.md +0 -24
- package/docs/ja/testing.md +0 -12
- package/docs/ko/analytics.md +0 -2
- package/docs/ko/bundle_optimization.md +0 -2
- package/docs/ko/cli/index.md +0 -4
- package/docs/ko/cli/login.md +0 -2
- package/docs/ko/compiler.md +31 -13
- package/docs/ko/configuration.md +0 -37
- package/docs/ko/dictionary/html.md +0 -6
- package/docs/ko/dictionary/markdown.md +0 -2
- package/docs/ko/how_works_intlayer.md +0 -12
- package/docs/ko/interest_of_intlayer.md +0 -21
- package/docs/ko/intlayer_CMS.md +0 -16
- package/docs/ko/intlayer_visual_editor.md +0 -11
- package/docs/ko/intlayer_with_adonisjs.md +0 -16
- package/docs/ko/intlayer_with_analog.md +0 -30
- package/docs/ko/intlayer_with_angular_19.md +0 -32
- package/docs/ko/intlayer_with_angular_21.md +0 -31
- package/docs/ko/intlayer_with_astro.md +1 -33
- package/docs/ko/intlayer_with_astro_lit.md +8 -41
- package/docs/ko/intlayer_with_astro_preact.md +8 -41
- package/docs/ko/intlayer_with_astro_react.md +8 -41
- package/docs/ko/intlayer_with_astro_solid.md +8 -41
- package/docs/ko/intlayer_with_astro_svelte.md +8 -41
- package/docs/ko/intlayer_with_astro_vanilla.md +8 -39
- package/docs/ko/intlayer_with_astro_vue.md +0 -33
- package/docs/ko/intlayer_with_create_react_app.md +9 -43
- package/docs/ko/intlayer_with_elysia.md +0 -16
- package/docs/ko/intlayer_with_express.md +0 -15
- package/docs/ko/intlayer_with_fastify.md +0 -15
- package/docs/ko/intlayer_with_hono.md +0 -15
- package/docs/ko/intlayer_with_htmx.md +0 -27
- package/docs/ko/intlayer_with_lynx+react.md +0 -21
- package/docs/ko/intlayer_with_nestjs.md +0 -15
- package/docs/ko/intlayer_with_next-i18next.md +0 -28
- package/docs/ko/intlayer_with_nextjs_14.md +6 -40
- package/docs/ko/intlayer_with_nextjs_15.md +54 -47
- package/docs/ko/intlayer_with_nextjs_16.md +202 -52
- package/docs/ko/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/ko/intlayer_with_nuxt.md +28 -33
- package/docs/ko/intlayer_with_react_native+expo.md +25 -36
- package/docs/ko/intlayer_with_react_router_v7.md +289 -84
- package/docs/ko/intlayer_with_solid_start.md +4 -53
- package/docs/ko/intlayer_with_storybook.md +2 -26
- package/docs/ko/intlayer_with_svelte_kit.md +0 -34
- package/docs/ko/intlayer_with_tanstack+solid.md +38 -51
- package/docs/ko/intlayer_with_tanstack.md +40 -50
- package/docs/ko/intlayer_with_vanilla.md +16 -33
- package/docs/ko/intlayer_with_vite+lit.md +21 -36
- package/docs/ko/intlayer_with_vite+preact.md +28 -42
- package/docs/ko/intlayer_with_vite+react.md +52 -60
- package/docs/ko/intlayer_with_vite+solid.md +26 -39
- package/docs/ko/intlayer_with_vite+svelte.md +25 -36
- package/docs/ko/intlayer_with_vite+vanilla.md +29 -38
- package/docs/ko/intlayer_with_vite+vue.md +25 -35
- package/docs/ko/introduction.md +29 -23
- package/docs/ko/live-sync.md +0 -2
- package/docs/ko/lsp.md +0 -12
- package/docs/ko/mcp_server.md +0 -8
- package/docs/ko/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/ko/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/ko/packages/@intlayer_babel/export.md +0 -10
- package/docs/ko/packages/adonis-intlayer/t.md +0 -12
- package/docs/ko/packages/express-intlayer/t.md +0 -24
- package/docs/ko/packages/hono-intlayer/t.md +0 -22
- package/docs/ko/packages/intlayer/comparePaths.md +0 -12
- package/docs/ko/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/ko/packages/intlayer/getConfiguration.md +0 -4
- package/docs/ko/packages/intlayer/getDictionary.md +0 -10
- package/docs/ko/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/ko/packages/intlayer/getIntlayer.md +0 -12
- package/docs/ko/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/ko/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/ko/packages/intlayer/getPrefix.md +0 -10
- package/docs/ko/packages/next-intlayer/t.md +0 -18
- package/docs/ko/packages/react-intlayer/t.md +0 -18
- package/docs/ko/readme.md +0 -2
- package/docs/ko/releases/v6.md +0 -26
- package/docs/ko/releases/v7.md +0 -26
- package/docs/ko/releases/v8.md +1 -43
- package/docs/ko/releases/v9.md +0 -22
- package/docs/ko/roadmap.md +0 -22
- package/docs/ko/self_hosting.md +0 -24
- package/docs/ko/testing.md +0 -12
- package/docs/nl/bundle_optimization.md +0 -2
- package/docs/nl/cli/index.md +0 -4
- package/docs/nl/configuration.md +0 -34
- package/docs/nl/interest_of_intlayer.md +0 -9
- package/docs/nl/intlayer_with_angular_21.md +0 -10
- package/docs/nl/intlayer_with_storybook.md +0 -20
- package/docs/nl/intlayer_with_vanilla.md +0 -13
- package/docs/nl/intlayer_with_vite+lit.md +0 -16
- package/docs/nl/intlayer_with_vite+vanilla.md +0 -17
- package/docs/nl/introduction.md +29 -10
- package/docs/nl/packages/intlayer/comparePaths.md +0 -12
- package/docs/nl/releases/v9.md +0 -20
- package/docs/pl/analytics.md +0 -2
- package/docs/pl/bundle_optimization.md +0 -2
- package/docs/pl/cli/index.md +0 -4
- package/docs/pl/cli/login.md +0 -2
- package/docs/pl/compiler.md +31 -13
- package/docs/pl/configuration.md +0 -37
- package/docs/pl/dictionary/html.md +0 -6
- package/docs/pl/dictionary/markdown.md +0 -2
- package/docs/pl/how_works_intlayer.md +0 -12
- package/docs/pl/interest_of_intlayer.md +0 -21
- package/docs/pl/intlayer_CMS.md +0 -16
- package/docs/pl/intlayer_visual_editor.md +0 -11
- package/docs/pl/intlayer_with_adonisjs.md +0 -16
- package/docs/pl/intlayer_with_analog.md +0 -30
- package/docs/pl/intlayer_with_angular_19.md +0 -32
- package/docs/pl/intlayer_with_angular_21.md +0 -31
- package/docs/pl/intlayer_with_astro.md +1 -33
- package/docs/pl/intlayer_with_astro_lit.md +4 -37
- package/docs/pl/intlayer_with_astro_preact.md +4 -37
- package/docs/pl/intlayer_with_astro_react.md +4 -37
- package/docs/pl/intlayer_with_astro_solid.md +4 -37
- package/docs/pl/intlayer_with_astro_svelte.md +4 -37
- package/docs/pl/intlayer_with_astro_vanilla.md +4 -35
- package/docs/pl/intlayer_with_astro_vue.md +0 -33
- package/docs/pl/intlayer_with_create_react_app.md +15 -50
- package/docs/pl/intlayer_with_elysia.md +0 -16
- package/docs/pl/intlayer_with_express.md +0 -15
- package/docs/pl/intlayer_with_fastify.md +0 -15
- package/docs/pl/intlayer_with_hono.md +0 -15
- package/docs/pl/intlayer_with_htmx.md +0 -27
- package/docs/pl/intlayer_with_lynx+react.md +0 -21
- package/docs/pl/intlayer_with_nestjs.md +0 -15
- package/docs/pl/intlayer_with_next-i18next.md +0 -28
- package/docs/pl/intlayer_with_nextjs_14.md +4 -40
- package/docs/pl/intlayer_with_nextjs_15.md +15 -43
- package/docs/pl/intlayer_with_nextjs_16.md +204 -53
- package/docs/pl/intlayer_with_nextjs_page_router.md +4 -34
- package/docs/pl/intlayer_with_nuxt.md +28 -33
- package/docs/pl/intlayer_with_react_native+expo.md +25 -36
- package/docs/pl/intlayer_with_react_router_v7.md +310 -83
- package/docs/pl/intlayer_with_solid_start.md +4 -53
- package/docs/pl/intlayer_with_storybook.md +0 -26
- package/docs/pl/intlayer_with_svelte_kit.md +0 -34
- package/docs/pl/intlayer_with_tanstack+solid.md +38 -51
- package/docs/pl/intlayer_with_tanstack.md +40 -50
- package/docs/pl/intlayer_with_vanilla.md +16 -33
- package/docs/pl/intlayer_with_vite+lit.md +21 -36
- package/docs/pl/intlayer_with_vite+preact.md +28 -42
- package/docs/pl/intlayer_with_vite+react.md +37 -37
- package/docs/pl/intlayer_with_vite+solid.md +41 -50
- package/docs/pl/intlayer_with_vite+svelte.md +25 -36
- package/docs/pl/intlayer_with_vite+vanilla.md +21 -38
- package/docs/pl/intlayer_with_vite+vue.md +25 -35
- package/docs/pl/introduction.md +29 -23
- package/docs/pl/live-sync.md +0 -2
- package/docs/pl/lsp.md +0 -12
- package/docs/pl/mcp_server.md +0 -8
- package/docs/pl/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/pl/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/pl/packages/@intlayer_babel/export.md +0 -10
- package/docs/pl/packages/adonis-intlayer/t.md +0 -12
- package/docs/pl/packages/express-intlayer/t.md +0 -24
- package/docs/pl/packages/hono-intlayer/t.md +0 -22
- package/docs/pl/packages/intlayer/comparePaths.md +0 -12
- package/docs/pl/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/pl/packages/intlayer/getConfiguration.md +0 -4
- package/docs/pl/packages/intlayer/getDictionary.md +0 -10
- package/docs/pl/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/pl/packages/intlayer/getIntlayer.md +0 -12
- package/docs/pl/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/pl/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/pl/packages/intlayer/getPrefix.md +0 -10
- package/docs/pl/packages/next-intlayer/t.md +0 -18
- package/docs/pl/packages/next-intlayer/useIntlayer.md +27 -39
- package/docs/pl/packages/react-intlayer/t.md +0 -18
- package/docs/pl/readme.md +0 -2
- package/docs/pl/releases/v6.md +0 -26
- package/docs/pl/releases/v7.md +0 -26
- package/docs/pl/releases/v8.md +3 -45
- package/docs/pl/releases/v9.md +0 -22
- package/docs/pl/roadmap.md +0 -22
- package/docs/pl/self_hosting.md +0 -24
- package/docs/pl/testing.md +0 -12
- package/docs/pt/analytics.md +0 -2
- package/docs/pt/bundle_optimization.md +0 -2
- package/docs/pt/cli/index.md +0 -4
- package/docs/pt/cli/login.md +0 -2
- package/docs/pt/compiler.md +31 -13
- package/docs/pt/configuration.md +0 -37
- package/docs/pt/dictionary/html.md +0 -6
- package/docs/pt/dictionary/markdown.md +0 -2
- package/docs/pt/how_works_intlayer.md +0 -12
- package/docs/pt/interest_of_intlayer.md +0 -21
- package/docs/pt/intlayer_CMS.md +0 -16
- package/docs/pt/intlayer_visual_editor.md +0 -11
- package/docs/pt/intlayer_with_adonisjs.md +0 -16
- package/docs/pt/intlayer_with_analog.md +0 -30
- package/docs/pt/intlayer_with_angular_19.md +0 -32
- package/docs/pt/intlayer_with_angular_21.md +0 -31
- package/docs/pt/intlayer_with_astro.md +1 -33
- package/docs/pt/intlayer_with_astro_lit.md +4 -37
- package/docs/pt/intlayer_with_astro_preact.md +4 -37
- package/docs/pt/intlayer_with_astro_react.md +4 -37
- package/docs/pt/intlayer_with_astro_solid.md +4 -37
- package/docs/pt/intlayer_with_astro_svelte.md +4 -37
- package/docs/pt/intlayer_with_astro_vanilla.md +4 -35
- package/docs/pt/intlayer_with_astro_vue.md +0 -33
- package/docs/pt/intlayer_with_create_react_app.md +16 -51
- package/docs/pt/intlayer_with_elysia.md +0 -16
- package/docs/pt/intlayer_with_express.md +0 -15
- package/docs/pt/intlayer_with_fastify.md +0 -15
- package/docs/pt/intlayer_with_hono.md +0 -15
- package/docs/pt/intlayer_with_htmx.md +0 -27
- package/docs/pt/intlayer_with_lynx+react.md +0 -21
- package/docs/pt/intlayer_with_nestjs.md +0 -15
- package/docs/pt/intlayer_with_next-i18next.md +0 -28
- package/docs/pt/intlayer_with_nextjs_14.md +4 -40
- package/docs/pt/intlayer_with_nextjs_15.md +15 -41
- package/docs/pt/intlayer_with_nextjs_16.md +204 -53
- package/docs/pt/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/pt/intlayer_with_nuxt.md +28 -33
- package/docs/pt/intlayer_with_react_native+expo.md +25 -36
- package/docs/pt/intlayer_with_react_router_v7.md +294 -101
- package/docs/pt/intlayer_with_solid_start.md +4 -53
- package/docs/pt/intlayer_with_storybook.md +0 -26
- package/docs/pt/intlayer_with_svelte_kit.md +0 -34
- package/docs/pt/intlayer_with_tanstack+solid.md +38 -51
- package/docs/pt/intlayer_with_tanstack.md +40 -50
- package/docs/pt/intlayer_with_vanilla.md +16 -33
- package/docs/pt/intlayer_with_vite+lit.md +21 -36
- package/docs/pt/intlayer_with_vite+preact.md +28 -42
- package/docs/pt/intlayer_with_vite+react.md +29 -37
- package/docs/pt/intlayer_with_vite+solid.md +26 -39
- package/docs/pt/intlayer_with_vite+svelte.md +25 -36
- package/docs/pt/intlayer_with_vite+vanilla.md +21 -38
- package/docs/pt/intlayer_with_vite+vue.md +25 -35
- package/docs/pt/introduction.md +29 -23
- package/docs/pt/live-sync.md +0 -2
- package/docs/pt/lsp.md +0 -12
- package/docs/pt/mcp_server.md +0 -8
- package/docs/pt/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/pt/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/pt/packages/@intlayer_babel/export.md +0 -10
- package/docs/pt/packages/adonis-intlayer/t.md +0 -12
- package/docs/pt/packages/express-intlayer/t.md +0 -24
- package/docs/pt/packages/hono-intlayer/t.md +0 -22
- package/docs/pt/packages/intlayer/comparePaths.md +0 -12
- package/docs/pt/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/pt/packages/intlayer/getConfiguration.md +0 -4
- package/docs/pt/packages/intlayer/getDictionary.md +0 -10
- package/docs/pt/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/pt/packages/intlayer/getIntlayer.md +0 -12
- package/docs/pt/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/pt/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/pt/packages/intlayer/getPrefix.md +0 -10
- package/docs/pt/packages/next-intlayer/t.md +0 -18
- package/docs/pt/packages/react-intlayer/t.md +0 -18
- package/docs/pt/readme.md +0 -2
- package/docs/pt/releases/v6.md +0 -26
- package/docs/pt/releases/v7.md +0 -26
- package/docs/pt/releases/v8.md +3 -45
- package/docs/pt/releases/v9.md +0 -22
- package/docs/pt/roadmap.md +0 -22
- package/docs/pt/self_hosting.md +0 -24
- package/docs/pt/testing.md +0 -12
- package/docs/ru/analytics.md +0 -2
- package/docs/ru/bundle_optimization.md +0 -2
- package/docs/ru/cli/doc-review.md +7 -3
- package/docs/ru/cli/index.md +0 -4
- package/docs/ru/cli/login.md +0 -2
- package/docs/ru/compiler.md +31 -13
- package/docs/ru/configuration.md +0 -37
- package/docs/ru/dictionary/html.md +0 -6
- package/docs/ru/dictionary/markdown.md +0 -2
- package/docs/ru/dictionary/translation.md +32 -33
- package/docs/ru/how_works_intlayer.md +0 -12
- package/docs/ru/interest_of_intlayer.md +0 -21
- package/docs/ru/intlayer_CMS.md +0 -16
- package/docs/ru/intlayer_visual_editor.md +0 -11
- package/docs/ru/intlayer_with_adonisjs.md +0 -16
- package/docs/ru/intlayer_with_analog.md +0 -30
- package/docs/ru/intlayer_with_angular_19.md +0 -32
- package/docs/ru/intlayer_with_angular_21.md +0 -31
- package/docs/ru/intlayer_with_astro.md +1 -33
- package/docs/ru/intlayer_with_astro_lit.md +8 -41
- package/docs/ru/intlayer_with_astro_preact.md +8 -41
- package/docs/ru/intlayer_with_astro_react.md +8 -41
- package/docs/ru/intlayer_with_astro_solid.md +8 -41
- package/docs/ru/intlayer_with_astro_svelte.md +8 -41
- package/docs/ru/intlayer_with_astro_vanilla.md +8 -39
- package/docs/ru/intlayer_with_astro_vue.md +0 -33
- package/docs/ru/intlayer_with_create_react_app.md +15 -50
- package/docs/ru/intlayer_with_elysia.md +0 -16
- package/docs/ru/intlayer_with_express.md +0 -15
- package/docs/ru/intlayer_with_fastify.md +0 -15
- package/docs/ru/intlayer_with_hono.md +0 -15
- package/docs/ru/intlayer_with_htmx.md +0 -27
- package/docs/ru/intlayer_with_lynx+react.md +0 -21
- package/docs/ru/intlayer_with_nestjs.md +0 -15
- package/docs/ru/intlayer_with_next-i18next.md +0 -28
- package/docs/ru/intlayer_with_nextjs_14.md +4 -40
- package/docs/ru/intlayer_with_nextjs_15.md +37 -46
- package/docs/ru/intlayer_with_nextjs_16.md +206 -55
- package/docs/ru/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/ru/intlayer_with_nuxt.md +28 -33
- package/docs/ru/intlayer_with_react_native+expo.md +25 -36
- package/docs/ru/intlayer_with_react_router_v7.md +286 -84
- package/docs/ru/intlayer_with_solid_start.md +4 -53
- package/docs/ru/intlayer_with_storybook.md +0 -26
- package/docs/ru/intlayer_with_svelte_kit.md +0 -34
- package/docs/ru/intlayer_with_tanstack+solid.md +38 -51
- package/docs/ru/intlayer_with_tanstack.md +40 -50
- package/docs/ru/intlayer_with_vanilla.md +16 -33
- package/docs/ru/intlayer_with_vite+lit.md +21 -36
- package/docs/ru/intlayer_with_vite+preact.md +28 -42
- package/docs/ru/intlayer_with_vite+react.md +37 -37
- package/docs/ru/intlayer_with_vite+solid.md +26 -39
- package/docs/ru/intlayer_with_vite+svelte.md +33 -36
- package/docs/ru/intlayer_with_vite+vanilla.md +21 -38
- package/docs/ru/intlayer_with_vite+vue.md +25 -35
- package/docs/ru/introduction.md +29 -23
- package/docs/ru/live-sync.md +0 -2
- package/docs/ru/lsp.md +0 -12
- package/docs/ru/mcp_server.md +0 -8
- package/docs/ru/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/ru/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/ru/packages/@intlayer_babel/export.md +0 -10
- package/docs/ru/packages/adonis-intlayer/t.md +0 -12
- package/docs/ru/packages/express-intlayer/t.md +0 -24
- package/docs/ru/packages/hono-intlayer/t.md +0 -22
- package/docs/ru/packages/intlayer/comparePaths.md +0 -12
- package/docs/ru/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/ru/packages/intlayer/getConfiguration.md +0 -4
- package/docs/ru/packages/intlayer/getDictionary.md +0 -10
- package/docs/ru/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/ru/packages/intlayer/getIntlayer.md +0 -12
- package/docs/ru/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/ru/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/ru/packages/intlayer/getPrefix.md +0 -10
- package/docs/ru/packages/next-intlayer/t.md +0 -18
- package/docs/ru/packages/react-intlayer/t.md +0 -18
- package/docs/ru/readme.md +0 -2
- package/docs/ru/releases/v6.md +0 -26
- package/docs/ru/releases/v7.md +0 -26
- package/docs/ru/releases/v8.md +3 -45
- package/docs/ru/releases/v9.md +0 -22
- package/docs/ru/roadmap.md +0 -22
- package/docs/ru/self_hosting.md +0 -24
- package/docs/ru/testing.md +0 -12
- package/docs/tr/analytics.md +0 -2
- package/docs/tr/bundle_optimization.md +0 -2
- package/docs/tr/cli/doc-review.md +7 -3
- package/docs/tr/cli/index.md +0 -4
- package/docs/tr/cli/login.md +0 -2
- package/docs/tr/compiler.md +31 -13
- package/docs/tr/configuration.md +0 -37
- package/docs/tr/dictionary/html.md +0 -6
- package/docs/tr/dictionary/markdown.md +0 -2
- package/docs/tr/how_works_intlayer.md +0 -12
- package/docs/tr/interest_of_intlayer.md +0 -21
- package/docs/tr/intlayer_CMS.md +0 -16
- package/docs/tr/intlayer_visual_editor.md +0 -11
- package/docs/tr/intlayer_with_adonisjs.md +0 -16
- package/docs/tr/intlayer_with_analog.md +0 -30
- package/docs/tr/intlayer_with_angular_19.md +0 -32
- package/docs/tr/intlayer_with_angular_21.md +0 -31
- package/docs/tr/intlayer_with_astro.md +1 -33
- package/docs/tr/intlayer_with_astro_lit.md +4 -37
- package/docs/tr/intlayer_with_astro_preact.md +4 -37
- package/docs/tr/intlayer_with_astro_react.md +4 -37
- package/docs/tr/intlayer_with_astro_solid.md +4 -37
- package/docs/tr/intlayer_with_astro_svelte.md +4 -37
- package/docs/tr/intlayer_with_astro_vanilla.md +4 -35
- package/docs/tr/intlayer_with_astro_vue.md +0 -33
- package/docs/tr/intlayer_with_create_react_app.md +14 -49
- package/docs/tr/intlayer_with_elysia.md +0 -16
- package/docs/tr/intlayer_with_express.md +0 -15
- package/docs/tr/intlayer_with_fastify.md +0 -15
- package/docs/tr/intlayer_with_hono.md +0 -15
- package/docs/tr/intlayer_with_htmx.md +0 -27
- package/docs/tr/intlayer_with_lynx+react.md +0 -21
- package/docs/tr/intlayer_with_nestjs.md +0 -15
- package/docs/tr/intlayer_with_next-i18next.md +0 -28
- package/docs/tr/intlayer_with_nextjs_14.md +47 -114
- package/docs/tr/intlayer_with_nextjs_15.md +15 -41
- package/docs/tr/intlayer_with_nextjs_16.md +204 -53
- package/docs/tr/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/tr/intlayer_with_nuxt.md +28 -33
- package/docs/tr/intlayer_with_react_native+expo.md +25 -36
- package/docs/tr/intlayer_with_react_router_v7.md +283 -81
- package/docs/tr/intlayer_with_solid_start.md +4 -53
- package/docs/tr/intlayer_with_storybook.md +0 -26
- package/docs/tr/intlayer_with_svelte_kit.md +0 -34
- package/docs/tr/intlayer_with_tanstack+solid.md +38 -51
- package/docs/tr/intlayer_with_tanstack.md +40 -50
- package/docs/tr/intlayer_with_vanilla.md +16 -33
- package/docs/tr/intlayer_with_vite+lit.md +21 -36
- package/docs/tr/intlayer_with_vite+preact.md +28 -42
- package/docs/tr/intlayer_with_vite+react.md +29 -38
- package/docs/tr/intlayer_with_vite+solid.md +26 -39
- package/docs/tr/intlayer_with_vite+svelte.md +25 -36
- package/docs/tr/intlayer_with_vite+vanilla.md +21 -38
- package/docs/tr/intlayer_with_vite+vue.md +25 -35
- package/docs/tr/introduction.md +29 -23
- package/docs/tr/live-sync.md +0 -2
- package/docs/tr/lsp.md +0 -12
- package/docs/tr/mcp_server.md +0 -8
- package/docs/tr/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/tr/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/tr/packages/@intlayer_babel/export.md +0 -10
- package/docs/tr/packages/adonis-intlayer/t.md +0 -12
- package/docs/tr/packages/express-intlayer/t.md +0 -24
- package/docs/tr/packages/hono-intlayer/t.md +0 -22
- package/docs/tr/packages/intlayer/comparePaths.md +0 -12
- package/docs/tr/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/tr/packages/intlayer/getConfiguration.md +0 -4
- package/docs/tr/packages/intlayer/getDictionary.md +0 -10
- package/docs/tr/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/tr/packages/intlayer/getIntlayer.md +0 -12
- package/docs/tr/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/tr/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/tr/packages/intlayer/getPrefix.md +0 -10
- package/docs/tr/packages/next-intlayer/t.md +0 -18
- package/docs/tr/packages/react-intlayer/t.md +0 -18
- package/docs/tr/readme.md +0 -2
- package/docs/tr/releases/v6.md +0 -26
- package/docs/tr/releases/v7.md +0 -26
- package/docs/tr/releases/v8.md +3 -45
- package/docs/tr/releases/v9.md +0 -22
- package/docs/tr/roadmap.md +0 -22
- package/docs/tr/self_hosting.md +0 -24
- package/docs/tr/testing.md +0 -12
- package/docs/uk/analytics.md +0 -2
- package/docs/uk/bundle_optimization.md +0 -2
- package/docs/uk/cli/index.md +0 -4
- package/docs/uk/cli/login.md +0 -2
- package/docs/uk/compiler.md +31 -13
- package/docs/uk/configuration.md +0 -37
- package/docs/uk/dictionary/html.md +0 -6
- package/docs/uk/dictionary/markdown.md +0 -2
- package/docs/uk/how_works_intlayer.md +0 -12
- package/docs/uk/interest_of_intlayer.md +0 -21
- package/docs/uk/intlayer_CMS.md +0 -16
- package/docs/uk/intlayer_visual_editor.md +0 -11
- package/docs/uk/intlayer_with_adonisjs.md +0 -16
- package/docs/uk/intlayer_with_analog.md +0 -30
- package/docs/uk/intlayer_with_angular_19.md +0 -32
- package/docs/uk/intlayer_with_angular_21.md +0 -31
- package/docs/uk/intlayer_with_astro.md +1 -33
- package/docs/uk/intlayer_with_astro_lit.md +4 -37
- package/docs/uk/intlayer_with_astro_preact.md +4 -37
- package/docs/uk/intlayer_with_astro_react.md +4 -37
- package/docs/uk/intlayer_with_astro_solid.md +4 -37
- package/docs/uk/intlayer_with_astro_svelte.md +4 -37
- package/docs/uk/intlayer_with_astro_vanilla.md +4 -35
- package/docs/uk/intlayer_with_astro_vue.md +0 -33
- package/docs/uk/intlayer_with_create_react_app.md +15 -50
- package/docs/uk/intlayer_with_elysia.md +0 -16
- package/docs/uk/intlayer_with_express.md +0 -15
- package/docs/uk/intlayer_with_fastify.md +0 -15
- package/docs/uk/intlayer_with_hono.md +0 -15
- package/docs/uk/intlayer_with_htmx.md +0 -27
- package/docs/uk/intlayer_with_lynx+react.md +0 -21
- package/docs/uk/intlayer_with_nestjs.md +0 -15
- package/docs/uk/intlayer_with_next-i18next.md +0 -28
- package/docs/uk/intlayer_with_nextjs_14.md +4 -40
- package/docs/uk/intlayer_with_nextjs_15.md +15 -43
- package/docs/uk/intlayer_with_nextjs_16.md +206 -55
- package/docs/uk/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/uk/intlayer_with_nuxt.md +28 -33
- package/docs/uk/intlayer_with_react_native+expo.md +25 -36
- package/docs/uk/intlayer_with_react_router_v7.md +283 -81
- package/docs/uk/intlayer_with_solid_start.md +4 -53
- package/docs/uk/intlayer_with_storybook.md +0 -26
- package/docs/uk/intlayer_with_svelte_kit.md +0 -34
- package/docs/uk/intlayer_with_tanstack+solid.md +38 -51
- package/docs/uk/intlayer_with_tanstack.md +40 -50
- package/docs/uk/intlayer_with_vanilla.md +16 -33
- package/docs/uk/intlayer_with_vite+lit.md +21 -36
- package/docs/uk/intlayer_with_vite+preact.md +28 -42
- package/docs/uk/intlayer_with_vite+react.md +37 -37
- package/docs/uk/intlayer_with_vite+solid.md +26 -39
- package/docs/uk/intlayer_with_vite+svelte.md +25 -36
- package/docs/uk/intlayer_with_vite+vanilla.md +21 -38
- package/docs/uk/intlayer_with_vite+vue.md +25 -35
- package/docs/uk/introduction.md +29 -23
- package/docs/uk/live-sync.md +0 -2
- package/docs/uk/lsp.md +0 -12
- package/docs/uk/mcp_server.md +0 -8
- package/docs/uk/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/uk/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/uk/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/uk/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/uk/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/uk/packages/@intlayer_babel/export.md +0 -10
- package/docs/uk/packages/adonis-intlayer/t.md +0 -12
- package/docs/uk/packages/express-intlayer/t.md +0 -24
- package/docs/uk/packages/hono-intlayer/t.md +0 -22
- package/docs/uk/packages/intlayer/comparePaths.md +0 -12
- package/docs/uk/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/uk/packages/intlayer/getConfiguration.md +0 -4
- package/docs/uk/packages/intlayer/getDictionary.md +0 -10
- package/docs/uk/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/uk/packages/intlayer/getIntlayer.md +0 -12
- package/docs/uk/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/uk/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/uk/packages/intlayer/getPrefix.md +0 -10
- package/docs/uk/packages/next-intlayer/t.md +0 -18
- package/docs/uk/packages/react-intlayer/t.md +0 -18
- package/docs/uk/readme.md +0 -2
- package/docs/uk/releases/v6.md +0 -26
- package/docs/uk/releases/v7.md +0 -26
- package/docs/uk/releases/v8.md +1 -43
- package/docs/uk/releases/v9.md +0 -22
- package/docs/uk/roadmap.md +0 -22
- package/docs/uk/self_hosting.md +0 -24
- package/docs/uk/testing.md +0 -12
- package/docs/ur/bundle_optimization.md +0 -2
- package/docs/ur/cli/index.md +0 -4
- package/docs/ur/configuration.md +0 -34
- package/docs/ur/interest_of_intlayer.md +0 -2
- package/docs/ur/intlayer_with_angular_21.md +0 -10
- package/docs/ur/intlayer_with_storybook.md +0 -20
- package/docs/ur/intlayer_with_vanilla.md +0 -13
- package/docs/ur/intlayer_with_vite+lit.md +0 -16
- package/docs/ur/intlayer_with_vite+vanilla.md +0 -17
- package/docs/ur/introduction.md +29 -10
- package/docs/ur/packages/intlayer/comparePaths.md +0 -12
- package/docs/vi/analytics.md +0 -2
- package/docs/vi/bundle_optimization.md +0 -2
- package/docs/vi/cli/index.md +0 -4
- package/docs/vi/cli/login.md +0 -2
- package/docs/vi/compiler.md +31 -13
- package/docs/vi/configuration.md +0 -37
- package/docs/vi/dictionary/html.md +0 -6
- package/docs/vi/dictionary/markdown.md +0 -2
- package/docs/vi/how_works_intlayer.md +0 -12
- package/docs/vi/interest_of_intlayer.md +0 -21
- package/docs/vi/intlayer_CMS.md +0 -16
- package/docs/vi/intlayer_visual_editor.md +0 -11
- package/docs/vi/intlayer_with_adonisjs.md +0 -16
- package/docs/vi/intlayer_with_analog.md +0 -30
- package/docs/vi/intlayer_with_angular_19.md +0 -32
- package/docs/vi/intlayer_with_angular_21.md +0 -31
- package/docs/vi/intlayer_with_astro.md +1 -33
- package/docs/vi/intlayer_with_astro_lit.md +4 -37
- package/docs/vi/intlayer_with_astro_preact.md +4 -37
- package/docs/vi/intlayer_with_astro_react.md +4 -37
- package/docs/vi/intlayer_with_astro_solid.md +4 -37
- package/docs/vi/intlayer_with_astro_svelte.md +4 -37
- package/docs/vi/intlayer_with_astro_vanilla.md +4 -35
- package/docs/vi/intlayer_with_astro_vue.md +0 -33
- package/docs/vi/intlayer_with_create_react_app.md +14 -49
- package/docs/vi/intlayer_with_elysia.md +0 -16
- package/docs/vi/intlayer_with_express.md +0 -15
- package/docs/vi/intlayer_with_fastify.md +0 -15
- package/docs/vi/intlayer_with_hono.md +0 -15
- package/docs/vi/intlayer_with_htmx.md +0 -27
- package/docs/vi/intlayer_with_lynx+react.md +0 -21
- package/docs/vi/intlayer_with_nestjs.md +0 -15
- package/docs/vi/intlayer_with_next-i18next.md +0 -28
- package/docs/vi/intlayer_with_nextjs_14.md +4 -42
- package/docs/vi/intlayer_with_nextjs_15.md +15 -43
- package/docs/vi/intlayer_with_nextjs_16.md +204 -53
- package/docs/vi/intlayer_with_nextjs_page_router.md +4 -36
- package/docs/vi/intlayer_with_nuxt.md +28 -33
- package/docs/vi/intlayer_with_react_native+expo.md +25 -36
- package/docs/vi/intlayer_with_react_router_v7.md +292 -87
- package/docs/vi/intlayer_with_solid_start.md +4 -53
- package/docs/vi/intlayer_with_storybook.md +0 -26
- package/docs/vi/intlayer_with_svelte_kit.md +0 -34
- package/docs/vi/intlayer_with_tanstack+solid.md +38 -51
- package/docs/vi/intlayer_with_tanstack.md +40 -50
- package/docs/vi/intlayer_with_vanilla.md +16 -33
- package/docs/vi/intlayer_with_vite+lit.md +21 -36
- package/docs/vi/intlayer_with_vite+preact.md +28 -61
- package/docs/vi/intlayer_with_vite+react.md +37 -37
- package/docs/vi/intlayer_with_vite+solid.md +26 -39
- package/docs/vi/intlayer_with_vite+svelte.md +25 -36
- package/docs/vi/intlayer_with_vite+vanilla.md +21 -38
- package/docs/vi/intlayer_with_vite+vue.md +25 -35
- package/docs/vi/introduction.md +29 -23
- package/docs/vi/live-sync.md +0 -2
- package/docs/vi/lsp.md +0 -12
- package/docs/vi/mcp_server.md +0 -8
- package/docs/vi/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/vi/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/vi/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/vi/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/vi/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/vi/packages/@intlayer_babel/export.md +0 -10
- package/docs/vi/packages/adonis-intlayer/t.md +0 -12
- package/docs/vi/packages/express-intlayer/t.md +0 -24
- package/docs/vi/packages/hono-intlayer/t.md +0 -22
- package/docs/vi/packages/intlayer/comparePaths.md +0 -12
- package/docs/vi/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/vi/packages/intlayer/getConfiguration.md +0 -4
- package/docs/vi/packages/intlayer/getDictionary.md +0 -10
- package/docs/vi/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/vi/packages/intlayer/getIntlayer.md +0 -12
- package/docs/vi/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/vi/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/vi/packages/intlayer/getPrefix.md +0 -10
- package/docs/vi/packages/next-intlayer/t.md +0 -18
- package/docs/vi/packages/react-intlayer/t.md +0 -18
- package/docs/vi/readme.md +0 -2
- package/docs/vi/releases/v6.md +0 -26
- package/docs/vi/releases/v7.md +0 -26
- package/docs/vi/releases/v8.md +3 -45
- package/docs/vi/releases/v9.md +0 -22
- package/docs/vi/roadmap.md +0 -22
- package/docs/vi/self_hosting.md +0 -24
- package/docs/vi/testing.md +0 -12
- package/docs/zh/analytics.md +0 -2
- package/docs/zh/bundle_optimization.md +0 -2
- package/docs/zh/cli/index.md +0 -4
- package/docs/zh/cli/login.md +0 -2
- package/docs/zh/compiler.md +31 -13
- package/docs/zh/configuration.md +0 -37
- package/docs/zh/dictionary/html.md +0 -6
- package/docs/zh/dictionary/markdown.md +0 -2
- package/docs/zh/how_works_intlayer.md +0 -12
- package/docs/zh/interest_of_intlayer.md +0 -21
- package/docs/zh/intlayer_CMS.md +0 -16
- package/docs/zh/intlayer_visual_editor.md +0 -11
- package/docs/zh/intlayer_with_adonisjs.md +0 -16
- package/docs/zh/intlayer_with_analog.md +0 -30
- package/docs/zh/intlayer_with_angular_19.md +0 -32
- package/docs/zh/intlayer_with_angular_21.md +0 -31
- package/docs/zh/intlayer_with_astro.md +1 -33
- package/docs/zh/intlayer_with_astro_lit.md +4 -37
- package/docs/zh/intlayer_with_astro_preact.md +4 -37
- package/docs/zh/intlayer_with_astro_react.md +4 -37
- package/docs/zh/intlayer_with_astro_solid.md +4 -37
- package/docs/zh/intlayer_with_astro_svelte.md +4 -37
- package/docs/zh/intlayer_with_astro_vanilla.md +4 -35
- package/docs/zh/intlayer_with_astro_vue.md +0 -33
- package/docs/zh/intlayer_with_create_react_app.md +4 -35
- package/docs/zh/intlayer_with_elysia.md +0 -16
- package/docs/zh/intlayer_with_express.md +0 -15
- package/docs/zh/intlayer_with_fastify.md +0 -15
- package/docs/zh/intlayer_with_hono.md +0 -15
- package/docs/zh/intlayer_with_htmx.md +0 -27
- package/docs/zh/intlayer_with_lynx+react.md +0 -23
- package/docs/zh/intlayer_with_nestjs.md +0 -15
- package/docs/zh/intlayer_with_next-i18next.md +0 -28
- package/docs/zh/intlayer_with_nextjs_14.md +52 -102
- package/docs/zh/intlayer_with_nextjs_15.md +15 -43
- package/docs/zh/intlayer_with_nextjs_16.md +204 -55
- package/docs/zh/intlayer_with_nextjs_page_router.md +4 -38
- package/docs/zh/intlayer_with_nuxt.md +28 -33
- package/docs/zh/intlayer_with_react_native+expo.md +25 -36
- package/docs/zh/intlayer_with_react_router_v7.md +304 -96
- package/docs/zh/intlayer_with_solid_start.md +4 -53
- package/docs/zh/intlayer_with_storybook.md +0 -26
- package/docs/zh/intlayer_with_svelte_kit.md +0 -34
- package/docs/zh/intlayer_with_tanstack+solid.md +54 -63
- package/docs/zh/intlayer_with_tanstack.md +40 -50
- package/docs/zh/intlayer_with_vanilla.md +16 -33
- package/docs/zh/intlayer_with_vite+lit.md +21 -38
- package/docs/zh/intlayer_with_vite+preact.md +28 -42
- package/docs/zh/intlayer_with_vite+react.md +47 -51
- package/docs/zh/intlayer_with_vite+solid.md +26 -39
- package/docs/zh/intlayer_with_vite+svelte.md +25 -36
- package/docs/zh/intlayer_with_vite+vanilla.md +21 -38
- package/docs/zh/intlayer_with_vite+vue.md +25 -35
- package/docs/zh/introduction.md +29 -23
- package/docs/zh/live-sync.md +0 -2
- package/docs/zh/lsp.md +0 -12
- package/docs/zh/mcp_server.md +0 -8
- package/docs/zh/migration_from_i18next_to_intlayer.md +0 -26
- package/docs/zh/migration_from_next-i18next_to_intlayer.md +0 -26
- package/docs/zh/migration_from_next-intl_to_intlayer.md +0 -26
- package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +0 -26
- package/docs/zh/migration_from_react-i18next_to_intlayer.md +0 -26
- package/docs/zh/migration_from_vue-i18n_to_intlayer.md +0 -26
- package/docs/zh/packages/@intlayer_babel/export.md +0 -10
- package/docs/zh/packages/adonis-intlayer/t.md +0 -12
- package/docs/zh/packages/express-intlayer/t.md +0 -24
- package/docs/zh/packages/hono-intlayer/t.md +0 -22
- package/docs/zh/packages/intlayer/comparePaths.md +0 -12
- package/docs/zh/packages/intlayer/getCanonicalPath.md +0 -10
- package/docs/zh/packages/intlayer/getConfiguration.md +0 -4
- package/docs/zh/packages/intlayer/getDictionary.md +0 -10
- package/docs/zh/packages/intlayer/getDictionaryAsync.md +0 -12
- package/docs/zh/packages/intlayer/getIntlayer.md +0 -12
- package/docs/zh/packages/intlayer/getIntlayerAsync.md +0 -12
- package/docs/zh/packages/intlayer/getLocalizedPath.md +0 -10
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +0 -10
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +0 -10
- package/docs/zh/packages/intlayer/getPrefix.md +0 -10
- package/docs/zh/packages/next-intlayer/t.md +0 -18
- package/docs/zh/packages/react-intlayer/t.md +0 -18
- package/docs/zh/readme.md +0 -2
- package/docs/zh/releases/v6.md +0 -26
- package/docs/zh/releases/v7.md +0 -26
- package/docs/zh/releases/v8.md +3 -45
- package/docs/zh/releases/v9.md +0 -22
- package/docs/zh/roadmap.md +0 -22
- package/docs/zh/self_hosting.md +0 -24
- package/docs/zh/testing.md +0 -12
- package/docs/zh-TW/bundle_optimization.md +0 -2
- package/docs/zh-TW/interest_of_intlayer.md +0 -2
- package/docs/zh-TW/intlayer_with_angular_21.md +0 -10
- package/docs/zh-TW/introduction.md +29 -10
- package/docs/zh-TW/packages/intlayer/comparePaths.md +0 -12
- package/legal/ar/privacy_notice.md +0 -2
- package/legal/de/privacy_notice.md +0 -2
- package/legal/en/privacy_notice.md +0 -2
- package/legal/en-GB/privacy_notice.md +0 -2
- package/legal/es/privacy_notice.md +0 -2
- package/legal/fr/privacy_notice.md +0 -2
- package/legal/hi/privacy_notice.md +0 -2
- package/legal/id/privacy_notice.md +0 -2
- package/legal/it/privacy_notice.md +0 -2
- package/legal/ja/privacy_notice.md +0 -2
- package/legal/ko/privacy_notice.md +0 -2
- package/legal/pl/privacy_notice.md +0 -2
- package/legal/pt/privacy_notice.md +0 -2
- package/legal/ru/privacy_notice.md +0 -2
- package/legal/tr/privacy_notice.md +0 -2
- package/legal/uk/privacy_notice.md +0 -2
- package/legal/vi/privacy_notice.md +0 -2
- package/legal/zh/privacy_notice.md +0 -2
- package/package.json +7 -7
- package/src/generated/blog.entry.ts +46 -0
- package/src/generated/docs.entry.ts +0 -80
- package/docs/ar/intlayer_with_nextjs_compiler.md +0 -838
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +0 -981
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +0 -886
- package/docs/ar/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/de/intlayer_with_nextjs_compiler.md +0 -829
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +0 -969
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +0 -931
- package/docs/de/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/en/intlayer_with_nextjs_compiler.md +0 -833
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +0 -961
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +0 -930
- package/docs/en/intlayer_with_vite+react_compiler.md +0 -655
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +0 -836
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +0 -986
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +0 -890
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +0 -646
- package/docs/es/intlayer_with_nextjs_compiler.md +0 -838
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +0 -993
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +0 -925
- package/docs/es/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/fr/intlayer_with_nextjs_compiler.md +0 -839
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +0 -986
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +0 -925
- package/docs/fr/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/hi/intlayer_with_nextjs_compiler.md +0 -840
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +0 -989
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +0 -866
- package/docs/hi/intlayer_with_vite+react_compiler.md +0 -653
- package/docs/id/intlayer_with_nextjs_compiler.md +0 -840
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +0 -985
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +0 -883
- package/docs/id/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/it/intlayer_with_nextjs_compiler.md +0 -838
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +0 -981
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +0 -925
- package/docs/it/intlayer_with_vite+react_compiler.md +0 -657
- package/docs/ja/intlayer_with_nextjs_compiler.md +0 -840
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +0 -1013
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +0 -920
- package/docs/ja/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/ko/intlayer_with_nextjs_compiler.md +0 -824
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +0 -997
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +0 -886
- package/docs/ko/intlayer_with_vite+react_compiler.md +0 -637
- package/docs/pl/intlayer_with_nextjs_compiler.md +0 -840
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +0 -982
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +0 -919
- package/docs/pl/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/pt/intlayer_with_nextjs_compiler.md +0 -838
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +0 -985
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +0 -919
- package/docs/pt/intlayer_with_vite+react_compiler.md +0 -657
- package/docs/ru/intlayer_with_nextjs_compiler.md +0 -838
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +0 -1000
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +0 -921
- package/docs/ru/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/tr/intlayer_with_nextjs_compiler.md +0 -840
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +0 -958
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +0 -925
- package/docs/tr/intlayer_with_vite+react_compiler.md +0 -658
- package/docs/uk/intlayer_with_nextjs_compiler.md +0 -840
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +0 -958
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +0 -933
- package/docs/uk/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/vi/intlayer_with_nextjs_compiler.md +0 -840
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +0 -985
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +0 -883
- package/docs/vi/intlayer_with_vite+react_compiler.md +0 -652
- package/docs/zh/intlayer_with_nextjs_compiler.md +0 -838
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +0 -965
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +0 -875
- package/docs/zh/intlayer_with_vite+react_compiler.md +0 -655
|
@@ -1,883 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
createdAt: 2025-09-04
|
|
3
|
-
updatedAt: 2026-06-23
|
|
4
|
-
title: "React Router v7 i18n - Hướng dẫn đầy đủ để dịch ứng dụng của bạn"
|
|
5
|
-
description: "Không còn i18next nữa. Hướng dẫn 2026 để xây dựng ứng dụng React Router v7 đa ngôn ngữ (i18n). Dịch với các AI agent và tối ưu hóa kích thước bundle, SEO và hiệu suất."
|
|
6
|
-
keywords:
|
|
7
|
-
- Quốc tế hóa
|
|
8
|
-
- Tài liệu
|
|
9
|
-
- Intlayer
|
|
10
|
-
- React Router v7
|
|
11
|
-
- React
|
|
12
|
-
- i18n
|
|
13
|
-
- TypeScript
|
|
14
|
-
- Định tuyến theo Locale
|
|
15
|
-
slugs:
|
|
16
|
-
- doc
|
|
17
|
-
- environment
|
|
18
|
-
- vite-and-react
|
|
19
|
-
- react-router-v7-fs-routes
|
|
20
|
-
applicationTemplate: https://github.com/aymericzip/intlayer-react-router-v7-template
|
|
21
|
-
applicationShowcase: https://intlayer-react-router-v7.vercel.app
|
|
22
|
-
youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
|
|
23
|
-
history:
|
|
24
|
-
- version: 8.9.0
|
|
25
|
-
date: 2026-05-04
|
|
26
|
-
changes: "Cập nhật cách sử dụng API useIntlayer của Solid sang truy cập thuộc tính trực tiếp"
|
|
27
|
-
- version: 7.5.9
|
|
28
|
-
date: 2025-12-30
|
|
29
|
-
changes: "Thêm lệnh init"
|
|
30
|
-
- version: 6.1.5
|
|
31
|
-
date: 2025-10-03
|
|
32
|
-
changes: "Cập nhật tài liệu"
|
|
33
|
-
- version: 5.8.2
|
|
34
|
-
date: 2025-09-04
|
|
35
|
-
changes: "Thêm cho React Router v7"
|
|
36
|
-
author: aymericzip
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
# Dịch trang web React Router v7 của bạn bằng Intlayer | Quốc tế hóa (i18n)
|
|
40
|
-
|
|
41
|
-
Hướng dẫn này trình bày cách tích hợp **Intlayer** để thực hiện quốc tế hóa liền mạch trong các dự án React Router v7 với định tuyến nhận biết locale, hỗ trợ TypeScript và các thực hành phát triển hiện đại.
|
|
42
|
-
|
|
43
|
-
Đối với định tuyến phía máy khách, hãy tham khảo hướng dẫn [Intlayer với React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_react_router_v7.md).
|
|
44
|
-
|
|
45
|
-
## Table of Contents
|
|
46
|
-
|
|
47
|
-
<TOC/>
|
|
48
|
-
|
|
49
|
-
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
50
|
-
|
|
51
|
-
So với các giải pháp chính như `react-i18next` hay `i18next`, Intlayer là giải pháp đi kèm với các tính năng tối ưu hóa tích hợp như:
|
|
52
|
-
|
|
53
|
-
<AccordionGroup>
|
|
54
|
-
<Accordion header="Phạm vi phủ sóng đầy đủ của Bộ định tuyến React">
|
|
55
|
-
|
|
56
|
-
Intlayer được tối ưu hóa để hoạt động hoàn hảo với React Router bằng cách cung cấp **định tuyến nhận biết ngôn ngữ**, **phần mềm trung gian để phát hiện ngôn ngữ** và tất cả các tính năng cần thiết để mở rộng quy mô quốc tế hóa (i18n).
|
|
57
|
-
|
|
58
|
-
</Accordion>
|
|
59
|
-
|
|
60
|
-
<Accordion header="Kích thước bundle">
|
|
61
|
-
|
|
62
|
-
Thay vì tải các tệp JSON lớn vào trang của bạn, hãy chỉ tải nội dung cần thiết. Intlayer giúp **giảm tới 50% kích thước bundle và kích thước trang**.
|
|
63
|
-
|
|
64
|
-
</Accordion>
|
|
65
|
-
|
|
66
|
-
<Accordion header="Khả năng bảo trì">
|
|
67
|
-
|
|
68
|
-
Xác định phạm vi nội dung ứng dụng của bạn **tạo điều kiện bảo trì** cho các ứng dụng quy mô lớn. Bạn có thể sao chép hoặc xóa một thư mục tính năng mà không phải lo lắng về việc xem lại toàn bộ cơ sở mã nội dung của mình. Ngoài ra, Intlayer **được nhập đầy đủ** để đảm bảo tính chính xác cho nội dung của bạn.
|
|
69
|
-
|
|
70
|
-
</Accordion>
|
|
71
|
-
|
|
72
|
-
<Accordion header="Đại lý AI">
|
|
73
|
-
|
|
74
|
-
Nội dung cùng định vị **giảm ngữ cảnh cần thiết** của Mô hình ngôn ngữ lớn (LLM). Intlayer cũng đi kèm một bộ công cụ, chẳng hạn như **CLI** để kiểm tra các bản dịch bị thiếu,**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** và **[agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/agent_skills.md)**, để giúp trải nghiệm của nhà phát triển (DX) trở nên mượt mà hơn nữa đối với các tác nhân AI.
|
|
75
|
-
|
|
76
|
-
</Accordion>
|
|
77
|
-
|
|
78
|
-
<Accordion header="Tự động hóa">
|
|
79
|
-
|
|
80
|
-
Sử dụng tính năng tự động hóa để dịch trong quy trình CI/CD của bạn bằng cách sử dụng LLM mà bạn chọn với chi phí do nhà cung cấp AI của bạn chi trả. Intlayer cũng cung cấp **trình biên dịch** để tự động trích xuất nội dung cũng như [nền tảng web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) để giúp **dịch ở chế độ nền**.
|
|
81
|
-
|
|
82
|
-
</Accordion>
|
|
83
|
-
|
|
84
|
-
<Accordion header="Hiệu suất">
|
|
85
|
-
|
|
86
|
-
Việc kết nối các tệp JSON lớn với các thành phần có thể dẫn đến các vấn đề về hiệu suất và khả năng phản hồi. Intlayer tối ưu hóa việc tải nội dung của bạn tại thời điểm build.
|
|
87
|
-
|
|
88
|
-
</Accordion>
|
|
89
|
-
|
|
90
|
-
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
91
|
-
|
|
92
|
-
Không chỉ là giải pháp i18n, Intlayer còn cung cấp **[trình chỉnh sửa trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** và **[CMS đầy đủ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** để giúp bạn quản lý nội dung đa ngôn ngữ của mình trong **thời gian thực**, giúp việc cộng tác với người dịch, người viết quảng cáo và các thành viên khác trong nhóm trở nên liền mạch. Nội dung có thể được lưu trữ cục bộ và/hoặc từ xa.
|
|
93
|
-
|
|
94
|
-
</Accordion>
|
|
95
|
-
</AccordionGroup>
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## Hướng dẫn từng bước để thiết lập Intlayer trong ứng dụng React Router v7 với các route dựa trên hệ thống tệp
|
|
100
|
-
|
|
101
|
-
<Tabs defaultTab="video">
|
|
102
|
-
<Tab label="Video" value="video">
|
|
103
|
-
|
|
104
|
-
<iframe title="How to translate an React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
105
|
-
|
|
106
|
-
</Tab>
|
|
107
|
-
<Tab label="Code" value="code">
|
|
108
|
-
|
|
109
|
-
<iframe
|
|
110
|
-
src="https://ide.intlayer.org/aymericzip/intlayer-react-router-v7-template?file=intlayer.config.ts"
|
|
111
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
112
|
-
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
113
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
114
|
-
loading="lazy"
|
|
115
|
-
/>
|
|
116
|
-
|
|
117
|
-
</Tab>
|
|
118
|
-
<Tab label="Bản demo" value="demo">
|
|
119
|
-
|
|
120
|
-
<iframe
|
|
121
|
-
src="https://intlayer-react-router-v7.vercel.app"
|
|
122
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
123
|
-
title="Bản demo - intlayer-react-router-v7-template"
|
|
124
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
125
|
-
loading="lazy"
|
|
126
|
-
/>
|
|
127
|
-
|
|
128
|
-
</Tab>
|
|
129
|
-
</Tabs>
|
|
130
|
-
|
|
131
|
-
See [Application Template](https://github.com/aymericzip/intlayer-react-router-v7-template) on GitHub.
|
|
132
|
-
|
|
133
|
-
<Steps>
|
|
134
|
-
|
|
135
|
-
<Step number={1} title="Cài đặt Dependencies">
|
|
136
|
-
|
|
137
|
-
Cài đặt các package cần thiết bằng package manager ưa thích của bạn:
|
|
138
|
-
|
|
139
|
-
```bash packageManager="npm"
|
|
140
|
-
npm install intlayer react-intlayer
|
|
141
|
-
npm install vite-intlayer --save-dev
|
|
142
|
-
npm install @react-router/fs-routes --save-dev
|
|
143
|
-
npx intlayer init
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
```bash packageManager="pnpm"
|
|
147
|
-
pnpm add intlayer react-intlayer
|
|
148
|
-
pnpm add vite-intlayer --save-dev
|
|
149
|
-
pnpm add @react-router/fs-routes --save-dev
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
```bash packageManager="bun"
|
|
153
|
-
bun add intlayer react-intlayer
|
|
154
|
-
bun add vite-intlayer --dev
|
|
155
|
-
bun add @react-router/fs-routes --dev
|
|
156
|
-
bun x intlayer init
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
- **intlayer**
|
|
160
|
-
|
|
161
|
-
Gói core cung cấp các công cụ quốc tế hóa để quản lý cấu hình, dịch thuật, [khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md), transpilation, và [lệnh CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/index.md).
|
|
162
|
-
|
|
163
|
-
- **react-intlayer**
|
|
164
|
-
Package tích hợp Intlayer với ứng dụng React. Nó cung cấp context providers và hooks cho quốc tế hóa React.
|
|
165
|
-
|
|
166
|
-
- **vite-intlayer**
|
|
167
|
-
Bao gồm plugin Vite để tích hợp Intlayer với [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), cũng như middleware để phát hiện ngôn ngữ ưa thích của người dùng, quản lý cookies và xử lý chuyển hướng URL.
|
|
168
|
-
|
|
169
|
-
- **@react-router/fs-routes**
|
|
170
|
-
Package cho phép định tuyến dựa trên hệ thống tệp cho React Router v7.
|
|
171
|
-
|
|
172
|
-
</Step>
|
|
173
|
-
|
|
174
|
-
<Step number={2} title="Cấu hình dự án của bạn">
|
|
175
|
-
|
|
176
|
-
Tạo một file cấu hình để cấu hình các ngôn ngữ của ứng dụng của bạn:
|
|
177
|
-
|
|
178
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
179
|
-
import { type IntlayerConfig, Locales } from "intlayer";
|
|
180
|
-
|
|
181
|
-
const config: IntlayerConfig = {
|
|
182
|
-
internationalization: {
|
|
183
|
-
defaultLocale: Locales.ENGLISH,
|
|
184
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
185
|
-
},
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
export default config;
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
> Thông qua tệp cấu hình này, bạn có thể thiết lập URL theo ngôn ngữ, chuyển hướng middleware, tên cookie, vị trí và phần mở rộng của các khai báo nội dung, tắt các log của Intlayer trên console, và nhiều hơn nữa. Để xem danh sách đầy đủ các tham số có sẵn, hãy tham khảo [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
|
|
192
|
-
|
|
193
|
-
</Step>
|
|
194
|
-
|
|
195
|
-
<Step number={3} title="Tích hợp Intlayer vào cấu hình Vite của bạn">
|
|
196
|
-
|
|
197
|
-
Thêm plugin intlayer vào cấu hình của bạn:
|
|
198
|
-
|
|
199
|
-
```typescript fileName="vite.config.ts"
|
|
200
|
-
import { reactRouter } from "@react-router/dev/vite";
|
|
201
|
-
import { defineConfig } from "vite";
|
|
202
|
-
import { intlayer } from "vite-intlayer";
|
|
203
|
-
|
|
204
|
-
export default defineConfig({
|
|
205
|
-
plugins: [reactRouter(), intlayer()],
|
|
206
|
-
});
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
> Plugin Vite `intlayer()` được sử dụng để tích hợp Intlayer với Vite. Nó đảm bảo việc xây dựng các tệp khai báo nội dung và giám sát chúng trong chế độ phát triển. Nó định nghĩa các biến môi trường Intlayer trong ứng dụng Vite. Ngoài ra, nó còn cung cấp các alias để tối ưu hiệu suất.
|
|
210
|
-
|
|
211
|
-
</Step>
|
|
212
|
-
|
|
213
|
-
<Step number={4} title="Cấu hình các Route của React Router v7">
|
|
214
|
-
|
|
215
|
-
Thiết lập cấu hình routing với các route nhận biết ngôn ngữ:
|
|
216
|
-
|
|
217
|
-
```typescript fileName="app/routes.ts"
|
|
218
|
-
import { layout, route, type RouteConfig } from "@react-router/dev/routes";
|
|
219
|
-
|
|
220
|
-
export default [
|
|
221
|
-
layout("routes/layout.tsx", [
|
|
222
|
-
route("/:lang?", "routes/page.tsx"), // Trang chủ có hỗ trợ đa ngôn ngữ
|
|
223
|
-
route("/:lang?/about", "routes/about/page.tsx"), // Trang about có hỗ trợ đa ngôn ngữ
|
|
224
|
-
]),
|
|
225
|
-
] satisfies RouteConfig;
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
> Hàm `flatRoutes` từ `@react-router/fs-routes` cho phép định tuyến dựa trên hệ thống tệp, trong đó cấu trúc tệp trong thư mục `routes/` xác định các tuyến của ứng dụng của bạn. Tùy chọn `ignoredRouteFiles` đảm bảo rằng các tệp khai báo nội dung Intlayer (`.content.ts`, v.v.) không được coi là các tệp tuyến.
|
|
229
|
-
|
|
230
|
-
</Step>
|
|
231
|
-
|
|
232
|
-
<Step number={5} title="Tạo các Component Layout">
|
|
233
|
-
|
|
234
|
-
Với file-system routing, bạn sử dụng quy ước đặt tên phẳng trong đó các dấu chấm (`.`) đại diện cho các phân đoạn đường dẫn và dấu ngoặc đơn `()` biểu thị các phân đoạn tùy chọn.
|
|
235
|
-
|
|
236
|
-
Thiết lập root layout và các layout theo ngôn ngữ cụ thể:
|
|
237
|
-
|
|
238
|
-
#### Cấu trúc File
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
app/
|
|
242
|
-
├── root.tsx # Layout wrapper for locale routes
|
|
243
|
-
└──routes/
|
|
244
|
-
├── ($locale)._index.tsx # Home page (/, /es, etc.)
|
|
245
|
-
├── ($locale)._index.content.ts # Home page content
|
|
246
|
-
├── ($locale).about.tsx # About page (/about, /es/about, etc.)
|
|
247
|
-
└── ($locale).about.content.ts # About page content
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
Các quy ước đặt tên:
|
|
251
|
-
|
|
252
|
-
- `($locale)` - Optional dynamic segment cho locale parameter
|
|
253
|
-
- `_layout` - Layout route bao bọc các child routes
|
|
254
|
-
- `_index` - Index route (renders tại parent path)
|
|
255
|
-
- `.` (dot) - Separates path segments (e.g., `($locale).about` → `/:locale?/about`)
|
|
256
|
-
|
|
257
|
-
#### Thành phần Layout
|
|
258
|
-
|
|
259
|
-
```tsx fileName="app/root.tsx"
|
|
260
|
-
import { getLocaleFromPath } from "intlayer";
|
|
261
|
-
import { IntlayerProvider } from "react-intlayer";
|
|
262
|
-
import {
|
|
263
|
-
isRouteErrorResponse,
|
|
264
|
-
Meta,
|
|
265
|
-
Outlet,
|
|
266
|
-
Scripts,
|
|
267
|
-
ScrollRestoration,
|
|
268
|
-
useLoaderData,
|
|
269
|
-
} from "react-router";
|
|
270
|
-
|
|
271
|
-
import type { Route } from "./+types/root";
|
|
272
|
-
|
|
273
|
-
import "./app.css";
|
|
274
|
-
|
|
275
|
-
// ... Mã App, links và ErrorBoundary không thay đổi
|
|
276
|
-
|
|
277
|
-
export async function loader({ request }: Route.LoaderArgs) {
|
|
278
|
-
const locale = getLocaleFromPath(request.url);
|
|
279
|
-
|
|
280
|
-
return { locale };
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
export function Layout({
|
|
284
|
-
children,
|
|
285
|
-
}: { children: React.ReactNode } & Route.ComponentProps) {
|
|
286
|
-
const data = useLoaderData<typeof loader>();
|
|
287
|
-
const { locale } = data ?? {};
|
|
288
|
-
|
|
289
|
-
return (
|
|
290
|
-
<html lang={locale}>
|
|
291
|
-
<head>
|
|
292
|
-
<meta charSet="utf-8" />
|
|
293
|
-
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
|
294
|
-
<Meta />
|
|
295
|
-
<Links />
|
|
296
|
-
</head>
|
|
297
|
-
<body>
|
|
298
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
299
|
-
<ScrollRestoration />
|
|
300
|
-
<Scripts />
|
|
301
|
-
</body>
|
|
302
|
-
</html>
|
|
303
|
-
);
|
|
304
|
-
}
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
#### Root Layout
|
|
308
|
-
|
|
309
|
-
```tsx fileName="app/components/localized-link.tsx"
|
|
310
|
-
import type { FC } from "react";
|
|
311
|
-
|
|
312
|
-
import { getLocalizedUrl, type LocalesValues } from "intlayer";
|
|
313
|
-
import { useLocale } from "react-intlayer";
|
|
314
|
-
import { Link, type LinkProps, type To } from "react-router";
|
|
315
|
-
|
|
316
|
-
const isExternalLink = (to: string) => /^(https?:)?\/\//.test(to);
|
|
317
|
-
|
|
318
|
-
export const locacalizeTo = (to: To, locale: LocalesValues): To => {
|
|
319
|
-
if (typeof to === "string") {
|
|
320
|
-
if (isExternalLink(to)) {
|
|
321
|
-
return to;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
return getLocalizedUrl(to, locale);
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
if (isExternalLink(to.pathname ?? "")) {
|
|
328
|
-
return to;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
return {
|
|
332
|
-
...to,
|
|
333
|
-
pathname: getLocalizedUrl(to.pathname ?? "", locale),
|
|
334
|
-
};
|
|
335
|
-
};
|
|
336
|
-
|
|
337
|
-
export const LocalizedLink: FC<LinkProps> = (props) => {
|
|
338
|
-
const { locale } = useLocale();
|
|
339
|
-
|
|
340
|
-
return <Link {...props} to={locacalizeTo(props.to, locale)} />;
|
|
341
|
-
};
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
#### Trang Chủ Đã Được Địa Phương Hóa
|
|
345
|
-
|
|
346
|
-
```tsx fileName="app/routes/[lang]/page.tsx"
|
|
347
|
-
import { useIntlayer } from "react-intlayer";
|
|
348
|
-
import { LocalizedLink } from "~/components/localized-link";
|
|
349
|
-
|
|
350
|
-
export default function Page() {
|
|
351
|
-
const { title, description, aboutLink } = useIntlayer("page");
|
|
352
|
-
|
|
353
|
-
return (
|
|
354
|
-
<div>
|
|
355
|
-
<h1>{title}</h1>
|
|
356
|
-
<p>{description}</p>
|
|
357
|
-
<nav>
|
|
358
|
-
<LocalizedLink to="/about">{aboutLink}</LocalizedLink>
|
|
359
|
-
</nav>
|
|
360
|
-
</div>
|
|
361
|
-
);
|
|
362
|
-
}
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
</Step>
|
|
366
|
-
|
|
367
|
-
<Step number={6} title="Khai báo Nội dung của Bạn">
|
|
368
|
-
|
|
369
|
-
Tạo và quản lý các khai báo nội dung của bạn để lưu trữ các bản dịch. Đặt các tệp nội dung cùng với các tệp route của bạn:
|
|
370
|
-
|
|
371
|
-
```tsx fileName="app/routes/($locale)._index.content.ts"
|
|
372
|
-
import { t, type Dictionary } from "intlayer";
|
|
373
|
-
|
|
374
|
-
const pageContent = {
|
|
375
|
-
key: "page",
|
|
376
|
-
content: {
|
|
377
|
-
title: t({
|
|
378
|
-
vi: "Chào mừng đến với React Router v7 + Intlayer",
|
|
379
|
-
en: "Welcome to React Router v7 + Intlayer",
|
|
380
|
-
es: "Bienvenido a React Router v7 + Intlayer",
|
|
381
|
-
fr: "Bienvenue sur React Router v7 + Intlayer",
|
|
382
|
-
}),
|
|
383
|
-
description: t({
|
|
384
|
-
vi: "Xây dựng các ứng dụng đa ngôn ngữ một cách dễ dàng bằng cách sử dụng React Router v7 và Intlayer.",
|
|
385
|
-
en: "Build multilingual applications with ease using React Router v7 and Intlayer.",
|
|
386
|
-
es: "Cree aplicaciones multilingües fácilmente usando React Router v7 y Intlayer.",
|
|
387
|
-
fr: "Créez des applications multilingues facilement avec React Router v7 et Intlayer.",
|
|
388
|
-
}),
|
|
389
|
-
aboutLink: t({
|
|
390
|
-
vi: "Tìm Hiểu Về Chúng Tôi",
|
|
391
|
-
en: "Learn About Us",
|
|
392
|
-
es: "Aprender Sobre Nosotros",
|
|
393
|
-
fr: "En savoir plus sur nous",
|
|
394
|
-
}),
|
|
395
|
-
},
|
|
396
|
-
} satisfies Dictionary;
|
|
397
|
-
|
|
398
|
-
export default pageContent;
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
```tsx fileName="app/routes/($locale).about.content.ts"
|
|
402
|
-
import { t, type Dictionary } from "intlayer";
|
|
403
|
-
|
|
404
|
-
const aboutContent = {
|
|
405
|
-
key: "about",
|
|
406
|
-
content: {
|
|
407
|
-
title: t({
|
|
408
|
-
vi: "Về chúng tôi",
|
|
409
|
-
en: "About Us",
|
|
410
|
-
es: "Sobre Nosotros",
|
|
411
|
-
fr: "À propos de nous",
|
|
412
|
-
}),
|
|
413
|
-
content: t({
|
|
414
|
-
vi: "Đây là nội dung của trang về chúng tôi.",
|
|
415
|
-
en: "This is the about page content.",
|
|
416
|
-
es: "Este es el contenido de la página de información.",
|
|
417
|
-
fr: "Ceci est le contenu de la page à propos.",
|
|
418
|
-
}),
|
|
419
|
-
homeLink: t({
|
|
420
|
-
vi: "Trang chủ",
|
|
421
|
-
en: "Home",
|
|
422
|
-
es: "Inicio",
|
|
423
|
-
fr: "Accueil",
|
|
424
|
-
}),
|
|
425
|
-
},
|
|
426
|
-
} satisfies Dictionary;
|
|
427
|
-
|
|
428
|
-
export default aboutContent;
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
> Các khai báo nội dung của bạn có thể được định nghĩa ở bất kỳ đâu trong ứng dụng của bạn miễn là chúng được đưa vào thư mục `contentDir` (mặc định là `./app`). Và phải khớp với phần mở rộng tệp khai báo nội dung (mặc định là `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
|
|
432
|
-
|
|
433
|
-
> Để tìm hiểu thêm về hook `useIntlayer`, hãy tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/react-intlayer/useIntlayer.md).
|
|
434
|
-
|
|
435
|
-
> Nếu ứng dụng của bạn đã tồn tại, bạn có thể sử dụng [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/compiler.md) kết hợp với [lệnh extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md) để chuyển đổi hàng nghìn component chỉ trong một giây.
|
|
436
|
-
|
|
437
|
-
</Step>
|
|
438
|
-
|
|
439
|
-
<Step number={7} title="Tạo Các Thành Phần Nhận Biết Locale">
|
|
440
|
-
|
|
441
|
-
Tạo một component `LocalizedLink` cho điều hướng nhận biết locale:
|
|
442
|
-
|
|
443
|
-
```tsx fileName="app/components/localized-link.tsx"
|
|
444
|
-
import type { FC } from "react";
|
|
445
|
-
|
|
446
|
-
import { getLocalizedUrl, type LocalesValues } from "intlayer";
|
|
447
|
-
import { useLocale } from "react-intlayer";
|
|
448
|
-
import { Link, type LinkProps, type To } from "react-router";
|
|
449
|
-
|
|
450
|
-
const isExternalLink = (to: string) => /^(https?:)?\/\//.test(to);
|
|
451
|
-
|
|
452
|
-
export const locacalizeTo = (to: To, locale: LocalesValues): To => {
|
|
453
|
-
if (typeof to === "string") {
|
|
454
|
-
if (isExternalLink(to)) {
|
|
455
|
-
return to;
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
return getLocalizedUrl(to, locale);
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
if (isExternalLink(to.pathname ?? "")) {
|
|
462
|
-
return to;
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
return {
|
|
466
|
-
...to,
|
|
467
|
-
pathname: getLocalizedUrl(to.pathname ?? "", locale),
|
|
468
|
-
};
|
|
469
|
-
};
|
|
470
|
-
|
|
471
|
-
export const LocalizedLink: FC<LinkProps> = (props) => {
|
|
472
|
-
const { locale } = useLocale();
|
|
473
|
-
|
|
474
|
-
return <Link {...props} to={locacalizeTo(props.to, locale)} />;
|
|
475
|
-
};
|
|
476
|
-
```
|
|
477
|
-
|
|
478
|
-
Trong trường hợp bạn muốn điều hướng đến các tuyến đường được bản địa hóa, bạn có thể sử dụng hook `useLocalizedNavigate`:
|
|
479
|
-
|
|
480
|
-
```tsx fileName="app/hooks/useLocalizedNavigate.ts"
|
|
481
|
-
import { useLocale } from "react-intlayer";
|
|
482
|
-
import { type NavigateOptions, type To, useNavigate } from "react-router";
|
|
483
|
-
|
|
484
|
-
import { locacalizeTo } from "~/components/localized-link";
|
|
485
|
-
|
|
486
|
-
export const useLocalizedNavigate = () => {
|
|
487
|
-
const navigate = useNavigate();
|
|
488
|
-
const { locale } = useLocale();
|
|
489
|
-
|
|
490
|
-
const localizedNavigate = (to: To, options?: NavigateOptions) => {
|
|
491
|
-
const localedTo = locacalizeTo(to, locale);
|
|
492
|
-
|
|
493
|
-
navigate(localedTo, options);
|
|
494
|
-
};
|
|
495
|
-
|
|
496
|
-
return localizedNavigate;
|
|
497
|
-
};
|
|
498
|
-
```
|
|
499
|
-
|
|
500
|
-
</Step>
|
|
501
|
-
|
|
502
|
-
<Step number={8} title="Tạo Thành Phần Chuyển Đổi Ngôn Ngữ">
|
|
503
|
-
|
|
504
|
-
Tạo một thành phần cho phép người dùng thay đổi ngôn ngữ:
|
|
505
|
-
|
|
506
|
-
```tsx fileName="app/components/locale-switcher.tsx"
|
|
507
|
-
import type { FC } from "react";
|
|
508
|
-
|
|
509
|
-
import {
|
|
510
|
-
getHTMLTextDir,
|
|
511
|
-
getLocaleName,
|
|
512
|
-
getLocalizedUrl,
|
|
513
|
-
getPathWithoutLocale,
|
|
514
|
-
Locales,
|
|
515
|
-
} from "intlayer";
|
|
516
|
-
import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
|
|
517
|
-
import { Link, useLocation } from "react-router";
|
|
518
|
-
|
|
519
|
-
export const LocaleSwitcher: FC = () => {
|
|
520
|
-
const { localeSwitcherLabel } = useIntlayer("locale-switcher");
|
|
521
|
-
const { pathname } = useLocation();
|
|
522
|
-
|
|
523
|
-
const { availableLocales, locale } = useLocale();
|
|
524
|
-
|
|
525
|
-
const pathWithoutLocale = getPathWithoutLocale(pathname);
|
|
526
|
-
|
|
527
|
-
return (
|
|
528
|
-
<ol>
|
|
529
|
-
{availableLocales.map((localeItem) => (
|
|
530
|
-
<li key={localeItem}>
|
|
531
|
-
<Link
|
|
532
|
-
aria-current={localeItem === locale ? "page" : undefined}
|
|
533
|
-
aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeItem)}`}
|
|
534
|
-
onClick={() => setLocale(localeItem)}
|
|
535
|
-
to={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
536
|
-
>
|
|
537
|
-
<span>
|
|
538
|
-
{/* Ngôn ngữ - ví dụ: FR */}
|
|
539
|
-
{localeItem}
|
|
540
|
-
</span>
|
|
541
|
-
<span>
|
|
542
|
-
{/* Ngôn ngữ theo Locale riêng của nó - ví dụ: Français */}
|
|
543
|
-
{getLocaleName(localeItem, locale)}
|
|
544
|
-
</span>
|
|
545
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
546
|
-
{/* Ngôn ngữ theo Locale hiện tại - ví dụ: Francés với locale hiện tại được đặt là Locales.SPANISH */}
|
|
547
|
-
{getLocaleName(localeItem)}
|
|
548
|
-
</span>
|
|
549
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
550
|
-
{/* Ngôn ngữ bằng tiếng Anh - ví dụ: French */}
|
|
551
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
552
|
-
</span>
|
|
553
|
-
</Link>
|
|
554
|
-
</li>
|
|
555
|
-
))}
|
|
556
|
-
</ol>
|
|
557
|
-
);
|
|
558
|
-
};
|
|
559
|
-
```
|
|
560
|
-
|
|
561
|
-
> Để tìm hiểu thêm về hook `useLocale`, tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/react-intlayer/useLocale.md).
|
|
562
|
-
|
|
563
|
-
</Step>
|
|
564
|
-
|
|
565
|
-
<Step number={9} title="Thêm quản lý thuộc tính HTML">
|
|
566
|
-
|
|
567
|
-
Tạo một hook để quản lý các thuộc tính lang và dir của HTML:
|
|
568
|
-
|
|
569
|
-
```tsx fileName="app/hooks/useI18nHTMLAttributes.tsx"
|
|
570
|
-
import { getHTMLTextDir } from "intlayer";
|
|
571
|
-
import { useEffect } from "react";
|
|
572
|
-
import { useLocale } from "react-intlayer";
|
|
573
|
-
|
|
574
|
-
export const useI18nHTMLAttributes = () => {
|
|
575
|
-
const { locale } = useLocale();
|
|
576
|
-
|
|
577
|
-
useEffect(() => {
|
|
578
|
-
document.documentElement.lang = locale; // đặt thuộc tính lang của thẻ gốc theo locale hiện tại
|
|
579
|
-
document.documentElement.dir = getHTMLTextDir(locale); // đặt thuộc tính dir của thẻ gốc theo locale hiện tại
|
|
580
|
-
}, [locale]);
|
|
581
|
-
};
|
|
582
|
-
```
|
|
583
|
-
|
|
584
|
-
Hook này đã được sử dụng trong layout component (`($locale)._layout.tsx`) được hiển thị ở Bước 5.
|
|
585
|
-
|
|
586
|
-
</Step>
|
|
587
|
-
|
|
588
|
-
<Step number={10} title="Add middleware">
|
|
589
|
-
|
|
590
|
-
Sau đó sử dụng nó trong component gốc của bạn:
|
|
591
|
-
|
|
592
|
-
Bạn cũng có thể sử dụng `intlayerProxy` để thêm định tuyến phía máy chủ vào ứng dụng của mình. Plugin này sẽ tự động phát hiện locale hiện tại dựa trên URL và đặt cookie locale thích hợp. Nếu không có locale nào được chỉ định, plugin sẽ xác định locale phù hợp nhất dựa trên tùy chọn ngôn ngữ trình duyệt của người dùng. Nếu không phát hiện được locale nào, nó sẽ chuyển hướng đến locale mặc định.
|
|
593
|
-
|
|
594
|
-
> Lưu ý rằng để sử dụng `intlayerProxy` trong production, bạn cần chuyển package `vite-intlayer` từ `devDependencies` sang `dependencies`.
|
|
595
|
-
|
|
596
|
-
> Kể từ Intlayer v9, `intlayerProxy()` được đóng gói trực tiếp vào plugin `intlayer()` và được bật theo mặc định thông qua tùy chọn `routing.enableProxy` (`true` theo mặc định). Việc đăng ký nó riêng biệt như được hiển thị bên dưới hiện là tùy chọn — nó được giữ lại để tương thích ngược và cho các cấu hình cần kiểm soát thứ tự plugin. Đặt `routing.enableProxy: false` để không sử dụng. Xem [ghi chú phát hành v9](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/releases/v9.md).
|
|
597
|
-
|
|
598
|
-
```tsx fileName="app/routes/layout.tsx"
|
|
599
|
-
import { Outlet } from "react-router";
|
|
600
|
-
import { IntlayerProvider } from "react-intlayer";
|
|
601
|
-
|
|
602
|
-
import { useI18nHTMLAttributes } from "app/hooks/useI18nHTMLAttributes"; // nhập hook
|
|
603
|
-
|
|
604
|
-
export default function RootLayout() {
|
|
605
|
-
useI18nHTMLAttributes(); // gọi hook
|
|
606
|
-
|
|
607
|
-
return (
|
|
608
|
-
<IntlayerProvider>
|
|
609
|
-
<Outlet />
|
|
610
|
-
</IntlayerProvider>
|
|
611
|
-
);
|
|
612
|
-
}
|
|
613
|
-
```
|
|
614
|
-
|
|
615
|
-
</Step>
|
|
616
|
-
|
|
617
|
-
<Step number={11} title="Trích xuất nội dung các thành phần của bạn" isOptional={true}>
|
|
618
|
-
|
|
619
|
-
Nếu bạn có một cơ sở mã hiện có, việc chuyển đổi hàng nghìn tệp có thể tốn nhiều thời gian.
|
|
620
|
-
|
|
621
|
-
Để đơn giản hóa quy trình này, Intlayer đề xuất một [trình biên dịch](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/compiler.md) / [trình trích xuất](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md) để chuyển đổi các thành phần của bạn và trích xuất nội dung.
|
|
622
|
-
|
|
623
|
-
Để thiết lập, bạn có thể thêm phần `compiler` vào tệp `intlayer.config.ts` của mình:
|
|
624
|
-
|
|
625
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
626
|
-
import { type IntlayerConfig } from "intlayer";
|
|
627
|
-
|
|
628
|
-
const config: IntlayerConfig = {
|
|
629
|
-
// ... Phần còn lại của cấu hình
|
|
630
|
-
compiler: {
|
|
631
|
-
/**
|
|
632
|
-
* Cho biết trình biên dịch có nên được bật hay không.
|
|
633
|
-
*/
|
|
634
|
-
enabled: true,
|
|
635
|
-
|
|
636
|
-
/**
|
|
637
|
-
* Xác định đường dẫn các tệp đầu ra
|
|
638
|
-
*/
|
|
639
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
640
|
-
|
|
641
|
-
/**
|
|
642
|
-
* Cho biết các thành phần có nên được lưu sau khi chuyển đổi hay không. Bằng cách đó, trình biên dịch có thể được chạy chỉ một lần để chuyển đổi ứng dụng, sau đó có thể được gỡ bỏ.
|
|
643
|
-
*/
|
|
644
|
-
saveComponents: false,
|
|
645
|
-
|
|
646
|
-
/**
|
|
647
|
-
* Tiền tố khóa từ điển
|
|
648
|
-
*/
|
|
649
|
-
dictionaryKeyPrefix: "",
|
|
650
|
-
},
|
|
651
|
-
};
|
|
652
|
-
|
|
653
|
-
export default config;
|
|
654
|
-
```
|
|
655
|
-
|
|
656
|
-
Chạy trình trích xuất để chuyển đổi các thành phần và trích xuất nội dung
|
|
657
|
-
|
|
658
|
-
```bash packageManager="npm"
|
|
659
|
-
npx intlayer extract
|
|
660
|
-
```
|
|
661
|
-
|
|
662
|
-
```bash packageManager="pnpm"
|
|
663
|
-
pnpm intlayer extract
|
|
664
|
-
```
|
|
665
|
-
|
|
666
|
-
```bash packageManager="yarn"
|
|
667
|
-
yarn intlayer extract
|
|
668
|
-
```
|
|
669
|
-
|
|
670
|
-
```bash packageManager="bun"
|
|
671
|
-
bun x intlayer extract
|
|
672
|
-
```
|
|
673
|
-
|
|
674
|
-
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
675
|
-
|
|
676
|
-
Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
|
|
677
|
-
|
|
678
|
-
```ts fileName="vite.config.ts"
|
|
679
|
-
import { defineConfig } from "vite";
|
|
680
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
681
|
-
|
|
682
|
-
export default defineConfig({
|
|
683
|
-
plugins: [
|
|
684
|
-
intlayer(),
|
|
685
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
686
|
-
],
|
|
687
|
-
});
|
|
688
|
-
```
|
|
689
|
-
|
|
690
|
-
```bash packageManager="npm"
|
|
691
|
-
npm run build # Hoặc npm run dev
|
|
692
|
-
```
|
|
693
|
-
|
|
694
|
-
```bash packageManager="pnpm"
|
|
695
|
-
pnpm run build # Or pnpm run dev
|
|
696
|
-
```
|
|
697
|
-
|
|
698
|
-
```bash packageManager="yarn"
|
|
699
|
-
yarn build # Or yarn dev
|
|
700
|
-
```
|
|
701
|
-
|
|
702
|
-
```bash packageManager="bun"
|
|
703
|
-
bun run build # Or bun run dev
|
|
704
|
-
```
|
|
705
|
-
|
|
706
|
-
</Step>
|
|
707
|
-
|
|
708
|
-
</Steps>
|
|
709
|
-
|
|
710
|
-
## Configure TypeScript
|
|
711
|
-
|
|
712
|
-
Intlayer uses module augmentation to get benefits of TypeScript and make your codebase stronger.
|
|
713
|
-
|
|
714
|
-
Ensure your TypeScript configuration includes the autogenerated types:
|
|
715
|
-
|
|
716
|
-
```json5 fileName="tsconfig.json"
|
|
717
|
-
{
|
|
718
|
-
// ... your existing configurations
|
|
719
|
-
include: [
|
|
720
|
-
// ... your existing includes
|
|
721
|
-
".intlayer/**/*.ts", // Include the auto-generated types
|
|
722
|
-
],
|
|
723
|
-
}
|
|
724
|
-
```
|
|
725
|
-
|
|
726
|
-
---
|
|
727
|
-
|
|
728
|
-
## Cấu hình Git
|
|
729
|
-
|
|
730
|
-
Khuyến nghị bỏ qua các tệp được tạo bởi Intlayer. Điều này giúp bạn tránh việc commit chúng vào kho Git của mình.
|
|
731
|
-
|
|
732
|
-
Để làm điều này, bạn có thể thêm các hướng dẫn sau vào tệp `.gitignore` của bạn:
|
|
733
|
-
|
|
734
|
-
```plaintext fileName=".gitignore"
|
|
735
|
-
# Bỏ qua các tệp được tạo bởi Intlayer
|
|
736
|
-
.intlayer
|
|
737
|
-
```
|
|
738
|
-
|
|
739
|
-
---
|
|
740
|
-
|
|
741
|
-
## Tiện ích mở rộng VS Code
|
|
742
|
-
|
|
743
|
-
Để cải thiện trải nghiệm phát triển với Intlayer, bạn có thể cài đặt **Tiện ích mở rộng Intlayer cho VS Code** chính thức.
|
|
744
|
-
|
|
745
|
-
[Cài đặt từ VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
746
|
-
|
|
747
|
-
Tiện ích mở rộng này cung cấp:
|
|
748
|
-
|
|
749
|
-
- **Tự động hoàn thành** cho các khóa dịch.
|
|
750
|
-
- **Phát hiện lỗi thời gian thực** cho các bản dịch bị thiếu.
|
|
751
|
-
- **Xem trước nội dung dịch ngay trong dòng**.
|
|
752
|
-
- **Hành động nhanh** để dễ dàng tạo và cập nhật bản dịch.
|
|
753
|
-
|
|
754
|
-
Để biết thêm chi tiết về cách sử dụng tiện ích mở rộng, hãy tham khảo [Tài liệu Tiện ích mở rộng VS Code của Intlayer](https://intlayer.org/doc/vs-code-extension).
|
|
755
|
-
|
|
756
|
-
---
|
|
757
|
-
|
|
758
|
-
## Đi xa hơn
|
|
759
|
-
|
|
760
|
-
Để đi xa hơn, bạn có thể triển khai [trình chỉnh sửa trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_visual_editor.md) hoặc tách nội dung của bạn ra ngoài bằng cách sử dụng [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_CMS.md).
|
|
761
|
-
|
|
762
|
-
---
|
|
763
|
-
|
|
764
|
-
## Tham khảo Tài liệu
|
|
765
|
-
|
|
766
|
-
- [Tài liệu Intlayer](https://intlayer.org)
|
|
767
|
-
- [Tài liệu React Router v7](https://reactrouter.com/)
|
|
768
|
-
- [useIntlayer hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/react-intlayer/useIntlayer.md)
|
|
769
|
-
- [useLocale hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/react-intlayer/useLocale.md)
|
|
770
|
-
- [Khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md)
|
|
771
|
-
- [Cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md)
|
|
772
|
-
|
|
773
|
-
Hướng dẫn toàn diện này cung cấp tất cả những gì bạn cần để tích hợp Intlayer với React Router v7 cho một ứng dụng được quốc tế hóa hoàn chỉnh với định tuyến nhận biết locale và hỗ trợ TypeScript.
|
|
774
|
-
|
|
775
|
-
## Các Câu Hỏi Thường Gặp
|
|
776
|
-
|
|
777
|
-
<FAQ>
|
|
778
|
-
|
|
779
|
-
<Question title="Những giải pháp khác nhau nào có sẵn để quốc tế hóa ứng dụng React Router v7?">
|
|
780
|
-
|
|
781
|
-
- **`react-i18next`**: tải JSON ở runtime.
|
|
782
|
-
- **`react-intl`**: định dạng ICU.
|
|
783
|
-
- **`Intlayer`**: tích hợp đầy đủ với định tuyến dựa trên hệ thống tệp, khai báo cạnh component, tối ưu hóa build time, dịch thuật AI và visual editor.
|
|
784
|
-
|
|
785
|
-
Xem [lý do chọn Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/interest_of_intlayer.md).
|
|
786
|
-
|
|
787
|
-
</Question>
|
|
788
|
-
|
|
789
|
-
<Question title="i18n làm tăng kích thước bundle React Router của tôi bao nhiêu?">
|
|
790
|
-
|
|
791
|
-
Ít hơn nhiều so với hệ thống catalog truyền thống, vì trang chỉ tải nội dung mà nó thực sự hiển thị. Xem [tối ưu hóa bundle](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/bundle_optimization.md).
|
|
792
|
-
|
|
793
|
-
</Question>
|
|
794
|
-
|
|
795
|
-
<Question title="Tôi có thể di chuyển từ react-i18next hoặc react-intl mà không cần viết lại component không?">
|
|
796
|
-
|
|
797
|
-
Có, làm theo hướng dẫn di chuyển hoặc sử dụng adapter tương thích.
|
|
798
|
-
|
|
799
|
-
</Question>
|
|
800
|
-
|
|
801
|
-
<Question title="Tôi có thể giữ các tệp dịch JSON hiện có của mình không?">
|
|
802
|
-
|
|
803
|
-
Có. Plugin [sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/plugins/sync-json.md) giữ cho các tệp `/messages/{locale}/{namespace}.json` của bạn là nguồn sự thật duy nhất và tạo các từ điển Intlayer từ chúng theo cả hai hướng. Plugin [sync PO](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/plugins/sync-po.md) làm điều tương tự cho các catalog gettext, và [các tệp theo locale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/per_locale_file.md) cho phép bạn chia nội dung theo ngôn ngữ thay vì nhóm các locale trong một tệp.
|
|
804
|
-
|
|
805
|
-
</Question>
|
|
806
|
-
|
|
807
|
-
<Question title="Tôi có phải di chuyển nội dung từng khóa một không?">
|
|
808
|
-
|
|
809
|
-
Không. Chạy `npx intlayer extract` và Intlayer sẽ đọc các component của bạn, trích xuất các chuỗi dành cho người dùng và tạo tệp `.content` bên cạnh mỗi tệp, nhờ đó bạn xem lại diff thay vì sao chép chuỗi vào catalog thủ công. Bước 11 của hướng dẫn này sẽ giải thích chi tiết.
|
|
810
|
-
|
|
811
|
-
Để tự động hóa hoàn toàn, [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/compiler.md) thực hiện việc tương tự trong quá trình build: quét mã nguồn JSX, TSX, Vue và Svelte của bạn trên mỗi thay đổi, tạo từ điển và đồng bộ hóa chúng qua hot module replacement, nhờ đó không cần duy trì khóa thủ công.
|
|
812
|
-
|
|
813
|
-
Hai giới hạn đáng lưu ý trước khi bạn bật compiler. Nó hoạt động bằng phân tích tĩnh, do đó các chuỗi chỉ tồn tại khi runtime, chẳng hạn như mã lỗi API hoặc các trường CMS, nằm ngoài phạm vi tiếp cận. Và nó phải phân biệt văn bản hiển thị cho người dùng với logic ứng dụng như `className="active"` hoặc mã trạng thái, điều này cần một vài chú thích trong một codebase lớn. [Lệnh extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md) tránh cả hai điều này bằng cách giữ bạn luôn kiểm soát.
|
|
814
|
-
|
|
815
|
-
</Question>
|
|
816
|
-
|
|
817
|
-
<Question title="Có những công cụ editor và AI agent nào có sẵn?">
|
|
818
|
-
|
|
819
|
-
Năm công cụ, tất cả đều là tùy chọn:
|
|
820
|
-
|
|
821
|
-
- **[VS Code extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/vs_code_extension.md)**: nhảy từ khóa `useIntlayer` đến tệp nội dung khai báo nó, trích xuất nội dung từ component, và chạy build, fill, test, push và pull từ command palette hoặc tab Intlayer.
|
|
822
|
-
- **[LSP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/lsp.md)**: trải nghiệm tương tự trong bất kỳ trình soạn thảo nào hỗ trợ LSP, với go to definition, xem trước giá trị bản dịch khi hover, tự động hoàn thành khóa, và cảnh báo khi khóa chưa được khai báo. Hỗ trợ cả các lệnh gọi `i18next`, `react-i18next`, `next-intl` và `use-intl`.
|
|
823
|
-
- **[MCP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/mcp_server.md)**: cung cấp tài liệu và CLI Intlayer cho Cursor, VS Code, Claude Desktop, Claude Code và ChatGPT.
|
|
824
|
-
- **[Agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/agent_skills.md)**: các kỹ năng chuyên biệt như `intlayer-config`, `intlayer-cli` và `intlayer-content`.
|
|
825
|
-
- **[ESLint plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/eslint.md)**: quy tắc `no-raw-text` phát hiện các chuỗi chưa được bản địa hóa.
|
|
826
|
-
|
|
827
|
-
</Question>
|
|
828
|
-
|
|
829
|
-
<Question title="Sự khác biệt giữa hướng dẫn này và hướng dẫn React Router dựa trên cấu hình là gì?">
|
|
830
|
-
|
|
831
|
-
Chỉ ở cách khai báo tuyến đường: hướng dẫn này sử dụng quy ước đặt tên tệp thay vì cây tuyến đường trong `routes.ts`. Khai báo nội dung và các hook là hoàn toàn giống nhau.
|
|
832
|
-
|
|
833
|
-
</Question>
|
|
834
|
-
|
|
835
|
-
<Question title="Làm cách nào để thêm phân đoạn locale trong file system routes?">
|
|
836
|
-
|
|
837
|
-
Phân đoạn locale trở thành phần động trong tên tệp. `validatePrefix` lọc các ngôn ngữ không xác định, và `getLocalizedUrl` biến đổi URL.
|
|
838
|
-
|
|
839
|
-
</Question>
|
|
840
|
-
|
|
841
|
-
<Question title="Tính năng này có hoạt động trong chế độ framework của React Router với SSR và loaders không?">
|
|
842
|
-
|
|
843
|
-
Có. Quá trình render server và các hàm loader giải quyết locale trực tiếp và gửi mã HTML hoàn chỉnh tới client.
|
|
844
|
-
|
|
845
|
-
</Question>
|
|
846
|
-
|
|
847
|
-
<Question title="Làm cách nào để thêm thẻ hreflang và metadata được bản địa hóa cho SEO?">
|
|
848
|
-
|
|
849
|
-
Sử dụng `getMultilingualUrls` trong export `meta` của tuyến đường để ánh xạ các ngôn ngữ thay thế.
|
|
850
|
-
|
|
851
|
-
</Question>
|
|
852
|
-
|
|
853
|
-
<Question title="Làm cách nào để tạo component Link được bản địa hóa?">
|
|
854
|
-
|
|
855
|
-
Bằng cách tạo một wrapper trên `Link` sử dụng `getLocalizedUrl`, tự động thêm tiền tố locale hiện tại vào các liên kết nội bộ.
|
|
856
|
-
|
|
857
|
-
</Question>
|
|
858
|
-
|
|
859
|
-
<Question title="Làm cách nào tôi có thể dịch ứng dụng tự động bằng AI?">
|
|
860
|
-
|
|
861
|
-
Chạy `npx intlayer fill`. CLI phát hiện các bản dịch còn thiếu và điền chúng bằng LLM bạn chọn sử dụng provider và API key của riêng bạn. Flag `--git-diff` giới hạn thao tác ở nội dung đã thay đổi trên branch hiện tại. Xem [lệnh fill](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/fill.md) và [tích hợp CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/CI_CD.md).
|
|
862
|
-
|
|
863
|
-
</Question>
|
|
864
|
-
|
|
865
|
-
<Question title="Intlayer có hỗ trợ dạng số nhiều, giới tính và rich text không?">
|
|
866
|
-
|
|
867
|
-
Có: [dạng số nhiều (plurals)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/plurial.md), [nội dung dựa trên giới tính](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/gender.md), điều kiện, [chèn (insertions)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/insertion.md), [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/markdown.md), và [định dạng](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/formatters.md) cho số, ngày tháng và tiền tệ.
|
|
868
|
-
|
|
869
|
-
</Question>
|
|
870
|
-
|
|
871
|
-
<Question title="Làm thế nào người dịch có thể chỉnh sửa nội dung mà không cần chạm vào mã nguồn?">
|
|
872
|
-
|
|
873
|
-
Thông qua [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_visual_editor.md), cho phép bất kỳ ai chỉnh sửa văn bản trực tiếp trên ứng dụng đang chạy, hoặc qua [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_CMS.md), giúp tách biệt nội dung để cập nhật mà không cần triển khai lại mã nguồn.
|
|
874
|
-
|
|
875
|
-
</Question>
|
|
876
|
-
|
|
877
|
-
<Question title="Intlayer có phải là mã nguồn mở và miễn phí không?">
|
|
878
|
-
|
|
879
|
-
Có, theo giấy phép Apache 2.0, bao gồm cả mục đích thương mại. CMS lưu trữ trên đám mây là một dịch vụ trả phí tùy chọn và cũng có thể [tự lưu trữ (self-host)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/self_hosting.md).
|
|
880
|
-
|
|
881
|
-
</Question>
|
|
882
|
-
|
|
883
|
-
</FAQ>
|