@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,986 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
createdAt: 2026-01-10
|
|
3
|
-
updatedAt: 2026-08-30
|
|
4
|
-
title: "Next.js 16 i18n - Complete guide to translate your app"
|
|
5
|
-
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Next.js 16 app. Translate with AI agents and optimise bundle size, SEO and performances."
|
|
6
|
-
keywords:
|
|
7
|
-
- Internationalisation
|
|
8
|
-
- Documentation
|
|
9
|
-
- Intlayer
|
|
10
|
-
- Next.js 16
|
|
11
|
-
- JavaScript
|
|
12
|
-
- React
|
|
13
|
-
slugs:
|
|
14
|
-
- doc
|
|
15
|
-
- environment
|
|
16
|
-
- nextjs
|
|
17
|
-
- no-locale-path
|
|
18
|
-
applicationTemplate: https://github.com/aymericzip/intlayer-next-no-lolale-path-template
|
|
19
|
-
youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
|
|
20
|
-
history:
|
|
21
|
-
- version: 8.9.0
|
|
22
|
-
date: 2026-05-04
|
|
23
|
-
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
24
|
-
- version: 1.0.0
|
|
25
|
-
date: 2026-01-10
|
|
26
|
-
changes: "Initial release"
|
|
27
|
-
author: aymericzip
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
# Translate your Next.js 16 site (without [locale] in the page path) using Intlayer | Internationalisation (i18n)
|
|
31
|
-
|
|
32
|
-
<Tabs defaultTab="video">
|
|
33
|
-
<Tab label="Video" value="video">
|
|
34
|
-
|
|
35
|
-
<iframe title="The best i18n solution for Next.js? Discover 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/e_PPG7PTqGU?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
36
|
-
|
|
37
|
-
</Tab>
|
|
38
|
-
<Tab label="Code" value="code">
|
|
39
|
-
|
|
40
|
-
<iframe
|
|
41
|
-
src="https://ide.intlayer.org/aymericzip/intlayer-next-16-no-locale-path-template?file=intlayer.config.ts"
|
|
42
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
43
|
-
title="Demo CodeSandbox - How to internationalise your application using Intlayer"
|
|
44
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
45
|
-
loading="lazy"
|
|
46
|
-
/>
|
|
47
|
-
|
|
48
|
-
</Tab>
|
|
49
|
-
</Tabs>
|
|
50
|
-
|
|
51
|
-
See [Application Template](https://github.com/aymericzip/intlayer-next-no-lolale-path-template) on GitHub.
|
|
52
|
-
|
|
53
|
-
## Table of contents
|
|
54
|
-
|
|
55
|
-
<TOC/>
|
|
56
|
-
|
|
57
|
-
## Why Intlayer over alternatives?
|
|
58
|
-
|
|
59
|
-
Compared to main solutions like `next-intl` or `i18next`, Intlayer is a solution that comes with integrated optimizations such as:
|
|
60
|
-
|
|
61
|
-
<AccordionGroup>
|
|
62
|
-
<Accordion header="Full Next.js coverage">
|
|
63
|
-
|
|
64
|
-
Intlayer is optimized to work with **Server Components** for efficient rendering and is fully compatible with [**Turbopack**](https://nextjs.org/docs/architecture/turbopack). It does not block static rendering and offers middleware as well as all the features needed for scaling internationalization (i18n).
|
|
65
|
-
|
|
66
|
-
> Intlayer is compatible with Next.js 12, 13, 14, 15, and 16. If you are using the Next.js Pages Router, you can refer to this [guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_page_router.md).
|
|
67
|
-
> Locale routing is useful for SEO, bundle size, and performance. If you don't need it, you can refer to this [guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md).
|
|
68
|
-
> For Next.js 12, 13, 14, and 15 with the App Router, refer to this [guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_14.md).
|
|
69
|
-
|
|
70
|
-
</Accordion>
|
|
71
|
-
|
|
72
|
-
<Accordion header="Bundle size">
|
|
73
|
-
|
|
74
|
-
Instead of loading massive JSON files into your pages, load only the necessary content. Intlayer helps **reduce your bundle and page sizes by up to 50%**.
|
|
75
|
-
|
|
76
|
-
</Accordion>
|
|
77
|
-
|
|
78
|
-
<Accordion header="Maintainability">
|
|
79
|
-
|
|
80
|
-
Scoping your application's content **facilitates maintenance** for large-scale applications. You can duplicate or delete a single feature folder without the mental burden of reviewing your entire content codebase. Additionally, Intlayer is **fully typed** to ensure your content's accuracy.
|
|
81
|
-
|
|
82
|
-
</Accordion>
|
|
83
|
-
|
|
84
|
-
<Accordion header="AI Agent">
|
|
85
|
-
|
|
86
|
-
Co-locating content **reduces the context needed** by Large Language Models (LLMs). Intlayer also comes with a suite of tools, such as a **CLI** to test for missing translations,**[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)**, and **[agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/agent_skills.md)**, to make the developer experience (DX) even smoother for AI agents.
|
|
87
|
-
|
|
88
|
-
</Accordion>
|
|
89
|
-
|
|
90
|
-
<Accordion header="Automation">
|
|
91
|
-
|
|
92
|
-
Use automation to translate in your CI/CD pipeline using the LLM of your choice at the cost of your AI provider. Intlayer also offers a **compiler** to automate content extraction, as well as a [web platform](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) to help **translate in the background**.
|
|
93
|
-
|
|
94
|
-
</Accordion>
|
|
95
|
-
|
|
96
|
-
<Accordion header="Performance">
|
|
97
|
-
|
|
98
|
-
Connecting massive JSON files to components can lead to performance and reactivity issues. Intlayer optimizes your content loading at build time.
|
|
99
|
-
|
|
100
|
-
</Accordion>
|
|
101
|
-
|
|
102
|
-
<Accordion header="Scaling with none-dev">
|
|
103
|
-
|
|
104
|
-
More than just an i18n solution, Intlayer provides an **self-hosted [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** and a **[full CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** to help you manage your multilingual content in **real-time**, making collaboration with translators, copywriters, and other team members seamless. Content can be stored locally and/or remotely.
|
|
105
|
-
|
|
106
|
-
</Accordion>
|
|
107
|
-
</AccordionGroup>
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## Step-by-Step Guide to Set Up Intlayer in a Next.js Application
|
|
112
|
-
|
|
113
|
-
<Steps>
|
|
114
|
-
|
|
115
|
-
<Step number={1} title="Install Dependencies">
|
|
116
|
-
|
|
117
|
-
Install the necessary packages using npm:
|
|
118
|
-
|
|
119
|
-
```bash packageManager="npm"
|
|
120
|
-
npx intlayer init --interactive
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
```bash packageManager="pnpm"
|
|
124
|
-
pnpm dlx intlayer init --interactive
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
```bash packageManager="yarn"
|
|
128
|
-
yarn dlx intlayer init --interactive
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
```bash packageManager="bun"
|
|
132
|
-
bunx intlayer init --interactive
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
> the `--interactive` flag is optional. Use `intlayer-cli init` if you're an AI agent.
|
|
136
|
-
|
|
137
|
-
> This command will detect your environment and install the required packages. For example:
|
|
138
|
-
|
|
139
|
-
```bash packageManager="npm"
|
|
140
|
-
npm install intlayer next-intlayer
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
```bash packageManager="pnpm"
|
|
144
|
-
pnpm add intlayer next-intlayer
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
```bash packageManager="yarn"
|
|
148
|
-
yarn add intlayer next-intlayer
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
```bash packageManager="bun"
|
|
152
|
-
bun add intlayer next-intlayer
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
- **intlayer**
|
|
156
|
-
|
|
157
|
-
The core package that provides internationalisation tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md).
|
|
158
|
-
|
|
159
|
-
- **next-intlayer**
|
|
160
|
-
|
|
161
|
-
The package that integrates Intlayer with Next.js. It provides context providers and hooks for Next.js internationalisation. Additionally, it includes the Next.js plugin for integrating Intlayer with [Webpack](https://webpack.js.org/) or [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack), as well as a proxy for detecting the user's preferred locale, managing cookies, and handling URL redirects.
|
|
162
|
-
|
|
163
|
-
</Step>
|
|
164
|
-
|
|
165
|
-
<Step number={2} title="Configure Your Project">
|
|
166
|
-
|
|
167
|
-
Here is the final structure we will create:
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
.
|
|
171
|
-
├── src
|
|
172
|
-
│ ├── app
|
|
173
|
-
│ │ ├── layout.tsx
|
|
174
|
-
│ │ ├── page.content.ts
|
|
175
|
-
│ │ └── page.tsx
|
|
176
|
-
│ ├── components
|
|
177
|
-
│ │ ├── clientComponentExample
|
|
178
|
-
│ │ │ ├── client-component-example.content.ts
|
|
179
|
-
│ │ │ └── ClientComponentExample.tsx
|
|
180
|
-
│ │ ├── localeSwitcher
|
|
181
|
-
│ │ │ ├── localeSwitcher.content.ts
|
|
182
|
-
│ │ │ └── LocaleSwitcher.tsx
|
|
183
|
-
│ │ └── serverComponentExample
|
|
184
|
-
│ │ ├── server-component-example.content.ts
|
|
185
|
-
│ │ └── ServerComponentExample.tsx
|
|
186
|
-
│ └── proxy.ts
|
|
187
|
-
├── intlayer.config.ts
|
|
188
|
-
├── next.config.ts
|
|
189
|
-
├── package.json
|
|
190
|
-
└── tsconfig.json
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
> If you do not want locale routing, intlayer can be used as a simple provider or hook. See [this guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/{{locale}}/intlayer_with_nextjs_no_locale_path.md) for more details.
|
|
194
|
-
|
|
195
|
-
Create a config file to configure the languages used by your application:
|
|
196
|
-
|
|
197
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
198
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
199
|
-
|
|
200
|
-
const config: IntlayerConfig = {
|
|
201
|
-
internationalization: {
|
|
202
|
-
locales: [
|
|
203
|
-
Locales.ENGLISH,
|
|
204
|
-
Locales.FRENCH,
|
|
205
|
-
Locales.SPANISH,
|
|
206
|
-
// Your other locales
|
|
207
|
-
],
|
|
208
|
-
defaultLocale: Locales.ENGLISH,
|
|
209
|
-
},
|
|
210
|
-
routing: {
|
|
211
|
-
mode: "search-params", // or `no-prefix`, useful for middleware detection
|
|
212
|
-
},
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
export default config;
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
> Through this configuration file, you can set up localised URLs, proxy redirection, cookie names, the location and extension of your content declarations, disable Intlayer logs in the console, and more. For a complete list of available parameters, refer to the [configuration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md).
|
|
219
|
-
|
|
220
|
-
</Step>
|
|
221
|
-
|
|
222
|
-
<Step number={3} title="Integrate Intlayer into your Next.js configuration">
|
|
223
|
-
|
|
224
|
-
Configure your Next.js setup to use Intlayer:
|
|
225
|
-
|
|
226
|
-
```typescript fileName="next.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
227
|
-
import type { NextConfig } from "next";
|
|
228
|
-
import { withIntlayer } from "next-intlayer/server";
|
|
229
|
-
|
|
230
|
-
const nextConfig: NextConfig = {/* config options here */};
|
|
231
|
-
|
|
232
|
-
export default withIntlayer(nextConfig);
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
> The `withIntlayer()` Next.js plugin is used to integrate Intlayer with Next.js. It builds content declaration files and watches them in development mode. It defines Intlayer environment variables within the [Webpack](https://webpack.js.org/) or [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack) environments. Additionally, it provides aliases to optimise performance and ensures compatibility with server components.
|
|
236
|
-
|
|
237
|
-
> The `withIntlayer()` function is a promise function. It allows you to prepare the intlayer dictionaries before the build starts. If you want to use it with other plugins, you can await it. Example:
|
|
238
|
-
>
|
|
239
|
-
> ```ts
|
|
240
|
-
> const nextConfig = await withIntlayer(nextConfig);
|
|
241
|
-
> const nextConfigWithOtherPlugins = withOtherPlugins(nextConfig);
|
|
242
|
-
>
|
|
243
|
-
> export default nextConfigWithOtherPlugins;
|
|
244
|
-
> ```
|
|
245
|
-
>
|
|
246
|
-
> If you want to use it synchronously, you can use the `withIntlayerSync()` function. Example:
|
|
247
|
-
>
|
|
248
|
-
> ```ts
|
|
249
|
-
> const nextConfig = withIntlayerSync(nextConfig);
|
|
250
|
-
> const nextConfigWithOtherPlugins = withOtherPlugins(nextConfig);
|
|
251
|
-
>
|
|
252
|
-
> export default nextConfigWithOtherPlugins;
|
|
253
|
-
> ```
|
|
254
|
-
|
|
255
|
-
> The `withIntlayer()` function returns a promise. It allows you to prepare the Intlayer dictionaries before the build starts. If you want to use it with other plugins, you can await it. Example:
|
|
256
|
-
>
|
|
257
|
-
> ```ts
|
|
258
|
-
> const nextConfig = await withIntlayer(nextConfig);
|
|
259
|
-
> const nextConfigWithOtherPlugins = withOtherPlugins(nextConfig);
|
|
260
|
-
>
|
|
261
|
-
> export default nextConfigWithOtherPlugins;
|
|
262
|
-
> ```
|
|
263
|
-
>
|
|
264
|
-
> If you want to use it synchronously, use the `withIntlayerSync()` function. For example:
|
|
265
|
-
>
|
|
266
|
-
> ```ts
|
|
267
|
-
> const nextConfig = withIntlayerSync(nextConfig);
|
|
268
|
-
> const nextConfigWithOtherPlugins = withOtherPlugins(nextConfig);
|
|
269
|
-
>
|
|
270
|
-
> export default nextConfigWithOtherPlugins;
|
|
271
|
-
> ```
|
|
272
|
-
>
|
|
273
|
-
> Intlayer automatically detects whether your project is using **webpack** or **Turbopack** based on the command-line flags `--webpack`, `--turbo`, or `--turbopack`, as well as your current **Next.js version**.
|
|
274
|
-
>
|
|
275
|
-
> Since `next>=16`, if you are using **Rspack**, you must explicitly force Intlayer to use the webpack configuration by disabling Turbopack:
|
|
276
|
-
>
|
|
277
|
-
> ```ts
|
|
278
|
-
> withRspack(withIntlayer(nextConfig, { enableTurbopack: false }));
|
|
279
|
-
> ```
|
|
280
|
-
|
|
281
|
-
</Step>
|
|
282
|
-
|
|
283
|
-
<Step number={4} title="Define dynamic locale routes">
|
|
284
|
-
|
|
285
|
-
Remove everything from `RootLayout` and replace it with the following code:
|
|
286
|
-
|
|
287
|
-
<Tabs>
|
|
288
|
-
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
289
|
-
|
|
290
|
-
```tsx {5} fileName="src/app/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
291
|
-
import type { Metadata } from "next";
|
|
292
|
-
import type { ReactNode } from "react";
|
|
293
|
-
import "./globals.css";
|
|
294
|
-
import { getHTMLTextDir, getIntlayer } from "intlayer";
|
|
295
|
-
import { getLocale, IntlayerProvider } from "next-intlayer/server";
|
|
296
|
-
export { generateStaticParams } from "next-intlayer";
|
|
297
|
-
|
|
298
|
-
export const generateMetadata = async (): Promise<Metadata> => {
|
|
299
|
-
const locale = await getLocale();
|
|
300
|
-
const { title, description, keywords } = getIntlayer("metadata", locale);
|
|
301
|
-
|
|
302
|
-
return {
|
|
303
|
-
title,
|
|
304
|
-
description,
|
|
305
|
-
keywords,
|
|
306
|
-
};
|
|
307
|
-
};
|
|
308
|
-
|
|
309
|
-
const RootLayout = async ({
|
|
310
|
-
children,
|
|
311
|
-
}: Readonly<{
|
|
312
|
-
children: ReactNode;
|
|
313
|
-
}>) => {
|
|
314
|
-
const locale = await getLocale();
|
|
315
|
-
|
|
316
|
-
return (
|
|
317
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
318
|
-
<body>
|
|
319
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
320
|
-
</body>
|
|
321
|
-
</html>
|
|
322
|
-
);
|
|
323
|
-
};
|
|
324
|
-
|
|
325
|
-
export default RootLayout;
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
> A single `IntlayerProvider` covers both halves of the tree: it seeds the request-scoped server context read by the server hooks, and mounts the client provider so client components receive the same locale.
|
|
329
|
-
|
|
330
|
-
</Tab>
|
|
331
|
-
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
332
|
-
|
|
333
|
-
```tsx {3} fileName="src/app/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
334
|
-
import type { Metadata } from "next";
|
|
335
|
-
import type { ReactNode } from "react";
|
|
336
|
-
import "./globals.css";
|
|
337
|
-
import { IntlayerProvider, LocalPromiseParams } from "next-intlayer";
|
|
338
|
-
import { getHTMLTextDir, getIntlayer } from "intlayer";
|
|
339
|
-
import { getLocale } from "next-intlayer/server";
|
|
340
|
-
export { generateStaticParams } from "next-intlayer";
|
|
341
|
-
|
|
342
|
-
export const generateMetadata = async (): Promise<Metadata> => {
|
|
343
|
-
const locale = await getLocale();
|
|
344
|
-
const { title, description, keywords } = getIntlayer("metadata", locale);
|
|
345
|
-
|
|
346
|
-
return {
|
|
347
|
-
title,
|
|
348
|
-
description,
|
|
349
|
-
keywords,
|
|
350
|
-
};
|
|
351
|
-
};
|
|
352
|
-
|
|
353
|
-
const RootLayout = async ({
|
|
354
|
-
children,
|
|
355
|
-
}: Readonly<{
|
|
356
|
-
children: ReactNode;
|
|
357
|
-
}>) => {
|
|
358
|
-
const locale = await getLocale();
|
|
359
|
-
|
|
360
|
-
return (
|
|
361
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
362
|
-
<body>
|
|
363
|
-
<IntlayerProvider defaultLocale={locale}>{children}</IntlayerProvider>
|
|
364
|
-
</body>
|
|
365
|
-
</html>
|
|
366
|
-
);
|
|
367
|
-
};
|
|
368
|
-
|
|
369
|
-
export default RootLayout;
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
</Tab>
|
|
373
|
-
</Tabs>
|
|
374
|
-
|
|
375
|
-
</Step>
|
|
376
|
-
|
|
377
|
-
<Step number={5} title="Declare your content">
|
|
378
|
-
|
|
379
|
-
Create and manage your content declarations to store translations:
|
|
380
|
-
|
|
381
|
-
```tsx fileName="src/app/metadata.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
382
|
-
import { t, type Dictionary } from "intlayer";
|
|
383
|
-
import { Metadata } from "next";
|
|
384
|
-
|
|
385
|
-
const metadataContent = {
|
|
386
|
-
key: "metadata",
|
|
387
|
-
content: {
|
|
388
|
-
title: t({
|
|
389
|
-
"en-GB": "My Project Title",
|
|
390
|
-
en: "My Project Title",
|
|
391
|
-
fr: "Le Titre de mon Projet",
|
|
392
|
-
es: "El Título de mi Proyecto",
|
|
393
|
-
}),
|
|
394
|
-
|
|
395
|
-
description: t({
|
|
396
|
-
"en-GB":
|
|
397
|
-
"Discover our innovative platform designed to streamline your workflow and boost productivity.",
|
|
398
|
-
en: "Discover our innovative platform designed to streamline your workflow and boost productivity.",
|
|
399
|
-
fr: "Découvrez notre plateforme innovante conçue pour simplifier votre flux de travail et booster votre productivité.",
|
|
400
|
-
es: "Descubra nuestra plataforma innovadora diseñada para simplificar su flujo de trabajo y aumentar su productividad.",
|
|
401
|
-
}),
|
|
402
|
-
|
|
403
|
-
keywords: t({
|
|
404
|
-
"en-GB": ["innovation", "productivity", "workflow", "SaaS"],
|
|
405
|
-
en: ["innovation", "productivity", "workflow", "SaaS"],
|
|
406
|
-
"en-GB": ["innovation", "productivity", "workflow", "SaaS"],
|
|
407
|
-
fr: ["innovation", "productivité", "flux de travail", "SaaS"],
|
|
408
|
-
es: ["innovación", "productividad", "flujo de trabajo", "SaaS"],
|
|
409
|
-
}),
|
|
410
|
-
},
|
|
411
|
-
} as Dictionary<Metadata>;
|
|
412
|
-
|
|
413
|
-
export default metadataContent;
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
```json fileName="src/app/metadata.content.json" contentDeclarationFormat="json"
|
|
417
|
-
{
|
|
418
|
-
"key": "metadata",
|
|
419
|
-
"content": {
|
|
420
|
-
"title": {
|
|
421
|
-
"nodeType": "translation",
|
|
422
|
-
"translation": {
|
|
423
|
-
"en-GB": "My Project Title",
|
|
424
|
-
"en": "My Project Title",
|
|
425
|
-
"fr": "Le Titre de mon Projet",
|
|
426
|
-
"es": "El Título de mi Proyecto"
|
|
427
|
-
}
|
|
428
|
-
},
|
|
429
|
-
"description": {
|
|
430
|
-
"nodeType": "translation",
|
|
431
|
-
"translation": {
|
|
432
|
-
"en-GB": "Discover our innovative platform designed to streamline your workflow and boost productivity.",
|
|
433
|
-
"en": "Discover our innovative platform designed to streamline your workflow and boost productivity.",
|
|
434
|
-
"fr": "Découvrez notre plateforme innovante conçue pour simplifier votre flux de travail et booster votre productivité.",
|
|
435
|
-
"es": "Descubra nuestra plataforma innovadora diseñada para simplificar su flujo de trabajo y aumentar su productividad."
|
|
436
|
-
}
|
|
437
|
-
},
|
|
438
|
-
"keywords": {
|
|
439
|
-
"nodeType": "translation",
|
|
440
|
-
"translation": {
|
|
441
|
-
"en-GB": ["innovation", "productivity", "workflow", "SaaS"],
|
|
442
|
-
"en": ["innovation", "productivity", "workflow", "SaaS"],
|
|
443
|
-
"fr": ["innovation", "productivité", "flux de travail", "SaaS"],
|
|
444
|
-
"es": ["innovación", "productividad", "flujo de trabajo", "SaaS"]
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
```tsx fileName="src/app/page.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
452
|
-
import { t, type Dictionary } from "intlayer";
|
|
453
|
-
|
|
454
|
-
const pageContent = {
|
|
455
|
-
key: "page",
|
|
456
|
-
content: {
|
|
457
|
-
getStarted: {
|
|
458
|
-
main: t({
|
|
459
|
-
"en-GB": "Get started by editing",
|
|
460
|
-
en: "Get started by editing",
|
|
461
|
-
fr: "Commencez par éditer",
|
|
462
|
-
es: "Comience por editar",
|
|
463
|
-
}),
|
|
464
|
-
pageLink: "src/app/page.tsx",
|
|
465
|
-
},
|
|
466
|
-
},
|
|
467
|
-
} satisfies Dictionary;
|
|
468
|
-
|
|
469
|
-
export default pageContent;
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
```json fileName="src/app/page.content.json" contentDeclarationFormat="json"
|
|
473
|
-
{
|
|
474
|
-
"$schema": "https://intlayer.org/schema.json",
|
|
475
|
-
"key": "page",
|
|
476
|
-
"content": {
|
|
477
|
-
"getStarted": {
|
|
478
|
-
"nodeType": "translation",
|
|
479
|
-
"translation": {
|
|
480
|
-
"en-GB": "Get started by editing",
|
|
481
|
-
"en": "Get started by editing",
|
|
482
|
-
"fr": "Commencez par éditer",
|
|
483
|
-
"es": "Comience por editar"
|
|
484
|
-
}
|
|
485
|
-
},
|
|
486
|
-
"pageLink": "src/app/page.tsx"
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
> Your content declarations can be defined anywhere in your application, provided they are placed in the `contentDir` directory (by default, `./src`) and use the content declaration file extensions (by default, `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
|
|
492
|
-
|
|
493
|
-
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md).
|
|
494
|
-
|
|
495
|
-
</Step>
|
|
496
|
-
|
|
497
|
-
<Step number={6} title="Utilise Content in Your Code">
|
|
498
|
-
|
|
499
|
-
Access your content dictionaries throughout your application:
|
|
500
|
-
|
|
501
|
-
<Tabs>
|
|
502
|
-
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
503
|
-
|
|
504
|
-
```tsx fileName="src/app/page.tsx" codeFormat={["typescript", "esm"]}
|
|
505
|
-
import type { FC } from "react";
|
|
506
|
-
import { ClientComponentExample } from "@components/clientComponentExample/ClientComponentExample";
|
|
507
|
-
import { ServerComponentExample } from "@components/serverComponentExample/ServerComponentExample";
|
|
508
|
-
import { useIntlayer } from "next-intlayer";
|
|
509
|
-
import { NextPage } from "next";
|
|
510
|
-
|
|
511
|
-
const PageContent: FC = () => {
|
|
512
|
-
const content = useIntlayer("page");
|
|
513
|
-
|
|
514
|
-
return (
|
|
515
|
-
<>
|
|
516
|
-
<p>{content.getStarted.main}</p>
|
|
517
|
-
<code>{content.getStarted.pageLink}</code>
|
|
518
|
-
</>
|
|
519
|
-
);
|
|
520
|
-
};
|
|
521
|
-
|
|
522
|
-
const Page: NextPage = () => (
|
|
523
|
-
<>
|
|
524
|
-
<PageContent />
|
|
525
|
-
<ServerComponentExample />
|
|
526
|
-
<ClientComponentExample />
|
|
527
|
-
</>
|
|
528
|
-
);
|
|
529
|
-
|
|
530
|
-
export default Page;
|
|
531
|
-
```
|
|
532
|
-
|
|
533
|
-
- **`IntlayerProvider`** is mounted once, in the root layout. It provides the locale to both server and client components, so pages no longer wrap themselves.
|
|
534
|
-
- Without a `[locale]` path segment the locale always comes from the request — the `x-intlayer-locale` header set by the Intlayer proxy, then the locale cookie — which the server hooks read on their own when the provider has not run.
|
|
535
|
-
|
|
536
|
-
</Tab>
|
|
537
|
-
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
538
|
-
|
|
539
|
-
```tsx fileName="src/app/page.tsx" codeFormat={["typescript", "esm"]}
|
|
540
|
-
import type { FC } from "react";
|
|
541
|
-
import { ClientComponentExample } from "@components/clientComponentExample/ClientComponentExample";
|
|
542
|
-
import { ServerComponentExample } from "@components/serverComponentExample/ServerComponentExample";
|
|
543
|
-
import {
|
|
544
|
-
IntlayerServerProvider,
|
|
545
|
-
useIntlayer,
|
|
546
|
-
getLocale,
|
|
547
|
-
} from "next-intlayer/server";
|
|
548
|
-
import { NextPage } from "next";
|
|
549
|
-
import { headers, cookies } from "next/headers";
|
|
550
|
-
|
|
551
|
-
const PageContent: FC = () => {
|
|
552
|
-
const content = useIntlayer("page");
|
|
553
|
-
|
|
554
|
-
return (
|
|
555
|
-
<>
|
|
556
|
-
<p>{content.getStarted.main}</p>
|
|
557
|
-
<code>{content.getStarted.pageLink}</code>
|
|
558
|
-
</>
|
|
559
|
-
);
|
|
560
|
-
};
|
|
561
|
-
|
|
562
|
-
const Page: NextPage = async () => {
|
|
563
|
-
const locale = await getLocale();
|
|
564
|
-
|
|
565
|
-
return (
|
|
566
|
-
<IntlayerServerProvider locale={locale}>
|
|
567
|
-
<PageContent />
|
|
568
|
-
<ServerComponentExample />
|
|
569
|
-
<ClientComponentExample />
|
|
570
|
-
</IntlayerServerProvider>
|
|
571
|
-
);
|
|
572
|
-
};
|
|
573
|
-
|
|
574
|
-
export default Page;
|
|
575
|
-
```
|
|
576
|
-
|
|
577
|
-
- **`IntlayerClientProvider`** is used to provide the locale to client-side components. It can be placed in any parent component, including the layout. However, placing it in a layout is recommended because Next.js shares layout code across pages, making it more efficient. By using `IntlayerClientProvider` in the layout, you avoid reinitialising it for every page, improving performance and maintaining a consistent localisation context throughout your application.
|
|
578
|
-
- **`IntlayerServerProvider`** is used to provide the locale to the server-side children. It cannot be set in the layout.
|
|
579
|
-
|
|
580
|
-
> Layouts and pages cannot share a common server context because the server context system is based on a per-request data store (via [React's cache](https://react.dev/reference/react/cache) mechanism), causing each "context" to be re-created for different segments of the application. Placing the provider in a shared layout would break this isolation, preventing the correct propagation of the server context values to your server components.
|
|
581
|
-
|
|
582
|
-
</Tab>
|
|
583
|
-
</Tabs>
|
|
584
|
-
|
|
585
|
-
```tsx {4,7} fileName="src/components/clientComponentExample/ClientComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
586
|
-
"use client";
|
|
587
|
-
|
|
588
|
-
import type { FC } from "react";
|
|
589
|
-
import { useIntlayer } from "next-intlayer";
|
|
590
|
-
|
|
591
|
-
export const ClientComponentExample: FC = () => {
|
|
592
|
-
const content = useIntlayer("client-component-example"); // Declare related content
|
|
593
|
-
|
|
594
|
-
return (
|
|
595
|
-
<div>
|
|
596
|
-
<h2>{content.title}</h2>
|
|
597
|
-
<p>{content.content}</p>
|
|
598
|
-
</div>
|
|
599
|
-
);
|
|
600
|
-
};
|
|
601
|
-
```
|
|
602
|
-
|
|
603
|
-
<Tabs>
|
|
604
|
-
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
605
|
-
|
|
606
|
-
```tsx {2} fileName="src/components/serverComponentExample/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
607
|
-
import type { FC } from "react";
|
|
608
|
-
import { useIntlayer } from "next-intlayer";
|
|
609
|
-
|
|
610
|
-
export const ServerComponentExample: FC = () => {
|
|
611
|
-
const content = useIntlayer("server-component-example"); // Create related content declaration
|
|
612
|
-
|
|
613
|
-
return (
|
|
614
|
-
<div>
|
|
615
|
-
<h2>{content.title}</h2>
|
|
616
|
-
<p>{content.content}</p>
|
|
617
|
-
</div>
|
|
618
|
-
);
|
|
619
|
-
};
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
> `next-intlayer` is the isomorphic import path: the `react-server` export condition gives server components the ambient-locale implementation, whilst client components get the context-backed one. The same call works on both sides.
|
|
623
|
-
|
|
624
|
-
</Tab>
|
|
625
|
-
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
626
|
-
|
|
627
|
-
```tsx {2} fileName="src/components/serverComponentExample/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
628
|
-
import type { FC } from "react";
|
|
629
|
-
import { useIntlayer } from "next-intlayer/server";
|
|
630
|
-
|
|
631
|
-
export const ServerComponentExample: FC = () => {
|
|
632
|
-
const content = useIntlayer("server-component-example"); // Create the related content declaration
|
|
633
|
-
|
|
634
|
-
return (
|
|
635
|
-
<div>
|
|
636
|
-
<h2>{content.title}</h2>
|
|
637
|
-
<p>{content.content}</p>
|
|
638
|
-
</div>
|
|
639
|
-
);
|
|
640
|
-
};
|
|
641
|
-
```
|
|
642
|
-
|
|
643
|
-
</Tab>
|
|
644
|
-
</Tabs>
|
|
645
|
-
|
|
646
|
-
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you can use the value of the function, for example:
|
|
647
|
-
|
|
648
|
-
> ```html
|
|
649
|
-
> <img src="{content.image.src.value}" alt="{content.image.value}" />
|
|
650
|
-
> <img src="{content.image.src.toString()}" alt="{content.image.toString()}" />
|
|
651
|
-
> <img src="{String(content.image.src)}" alt="{String(content.image)}" />
|
|
652
|
-
> ```
|
|
653
|
-
|
|
654
|
-
> To learn more about the `useIntlayer` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/packages/next-intlayer/useIntlayer.md).
|
|
655
|
-
|
|
656
|
-
</Step>
|
|
657
|
-
|
|
658
|
-
<Step number={7} title="Configure Proxy for Locale Detection" isOptional={true}>
|
|
659
|
-
|
|
660
|
-
Set up the proxy to detect the user's preferred locale:
|
|
661
|
-
|
|
662
|
-
```typescript fileName="src/proxy.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
663
|
-
export { intlayerProxy as proxy } from "next-intlayer/proxy";
|
|
664
|
-
|
|
665
|
-
export const config = {
|
|
666
|
-
matcher:
|
|
667
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
668
|
-
};
|
|
669
|
-
```
|
|
670
|
-
|
|
671
|
-
> The `intlayerProxy` is used to detect the user's preferred locale and redirect them to the appropriate URL as specified in the [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md). Additionally, it allows saving the user's preferred locale in a cookie.
|
|
672
|
-
|
|
673
|
-
> Since Intlayer v9, this middleware respects the `routing.enableProxy` option (`true` by default). Set `routing.enableProxy: false` in your configuration to turn it into a pass-through without removing this file. See the [v9 release notes](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/releases/v9.md).
|
|
674
|
-
|
|
675
|
-
> If you need to chain several proxies together (for example, `intlayerProxy` with authentication or custom proxies), Intlayer now provides a helper called `multipleProxies`.
|
|
676
|
-
|
|
677
|
-
```ts
|
|
678
|
-
import { multipleProxies, intlayerProxy } from "next-intlayer/proxy";
|
|
679
|
-
import { customProxy } from "@utils/customProxy";
|
|
680
|
-
|
|
681
|
-
export const proxy = multipleProxies([intlayerProxy, customProxy]);
|
|
682
|
-
```
|
|
683
|
-
|
|
684
|
-
</Step>
|
|
685
|
-
|
|
686
|
-
<Step number={8} title="Change the language of your content" isOptional={true}>
|
|
687
|
-
|
|
688
|
-
To change the language of your content in Next.js, the recommended approach is to use the `Link` component to navigate users to the appropriate localised page. The `Link` component enables prefetching of the page, which helps avoid a full page reload.
|
|
689
|
-
|
|
690
|
-
```tsx fileName="src/components/localeSwitcher/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
691
|
-
"use client";
|
|
692
|
-
|
|
693
|
-
import type { FC } from "react";
|
|
694
|
-
import { Locales, getHTMLTextDir, getLocaleName } from "intlayer";
|
|
695
|
-
import { useLocale } from "next-intlayer";
|
|
696
|
-
|
|
697
|
-
export const LocaleSwitcher: FC = () => {
|
|
698
|
-
const { locale, availableLocales, setLocale } = useLocale();
|
|
699
|
-
|
|
700
|
-
return (
|
|
701
|
-
<div>
|
|
702
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
703
|
-
<div id="localePopover" popover="auto">
|
|
704
|
-
{availableLocales.map((localeItem) => (
|
|
705
|
-
<button
|
|
706
|
-
key={localeItem}
|
|
707
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
708
|
-
onClick={() => setLocale(localeItem)}
|
|
709
|
-
>
|
|
710
|
-
<span>
|
|
711
|
-
{/* Locale, e.g. FR */}
|
|
712
|
-
{localeItem}
|
|
713
|
-
</span>
|
|
714
|
-
<span>
|
|
715
|
-
{/* Language in its own locale, e.g. Français */}
|
|
716
|
-
{getLocaleName(localeItem, locale)}
|
|
717
|
-
</span>
|
|
718
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
719
|
-
{/* Language in the current locale, e.g. Francés with current locale set to Locales.SPANISH */}
|
|
720
|
-
{getLocaleName(localeItem)}
|
|
721
|
-
</span>
|
|
722
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
723
|
-
{/* Language in English, e.g. French */}
|
|
724
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
725
|
-
</span>
|
|
726
|
-
</button>
|
|
727
|
-
))}
|
|
728
|
-
</div>
|
|
729
|
-
</div>
|
|
730
|
-
);
|
|
731
|
-
};
|
|
732
|
-
```
|
|
733
|
-
|
|
734
|
-
> An alternative is to use the `setLocale` function provided by the `useLocale` hook. This function does not allow prefetching the page. See the [`useLocale` hook documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/packages/next-intlayer/useLocale.md) for more details.
|
|
735
|
-
|
|
736
|
-
> Documentation references:
|
|
737
|
-
>
|
|
738
|
-
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/packages/next-intlayer/useLocale.md)
|
|
739
|
-
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/packages/next-intlayer/getLocaleName.md)
|
|
740
|
-
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/packages/next-intlayer/getLocalizedUrl.md)
|
|
741
|
-
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/packages/intlayer/getHTMLTextDir.md)
|
|
742
|
-
> - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
743
|
-
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
744
|
-
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
745
|
-
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
746
|
-
|
|
747
|
-
</Step>
|
|
748
|
-
|
|
749
|
-
<Step number={9} title="Get the current locale in Server Actions" isOptional={true}>
|
|
750
|
-
|
|
751
|
-
If you need the active locale inside a Server Action (e.g., to localise emails or run locale-aware logic), call `getLocale` from `next-intlayer/server`:
|
|
752
|
-
|
|
753
|
-
```tsx fileName="src/app/actions/getLocale.ts" codeFormat="typescript"
|
|
754
|
-
"use server";
|
|
755
|
-
|
|
756
|
-
import { getLocale } from "next-intlayer/server";
|
|
757
|
-
|
|
758
|
-
export const myServerAction = async () => {
|
|
759
|
-
const locale = await getLocale();
|
|
760
|
-
|
|
761
|
-
// Do something with the locale
|
|
762
|
-
};
|
|
763
|
-
```
|
|
764
|
-
|
|
765
|
-
> The `getLocale` function follows a cascading strategy to determine the user's locale:
|
|
766
|
-
>
|
|
767
|
-
> 1. First, it checks the request headers for a locale value that may have been set by a proxy
|
|
768
|
-
> 2. If no locale is found in the headers, it looks for a locale stored in cookies.
|
|
769
|
-
> 3. If no cookie is present, it attempts to detect the user's preferred language from the browser's settings.
|
|
770
|
-
> 4. As a last resort, it falls back to the application's configured default locale.
|
|
771
|
-
>
|
|
772
|
-
> This ensures the most appropriate locale is selected based on the available context.
|
|
773
|
-
|
|
774
|
-
</Step>
|
|
775
|
-
|
|
776
|
-
<Step number={10} title="Optimise your bundle size" isOptional={true}>
|
|
777
|
-
|
|
778
|
-
When using `next-intlayer`, dictionaries are included in the bundle for every page by default. To optimise bundle size, Intlayer provides an optional SWC plugin that intelligently replaces `useIntlayer` calls using macros. This ensures dictionaries are only included in bundles for pages that actually use them.
|
|
779
|
-
|
|
780
|
-
To enable this optimisation, install the `@intlayer/swc` package. Once installed, `next-intlayer` will automatically detect and use the plugin:
|
|
781
|
-
|
|
782
|
-
```bash packageManager="npm"
|
|
783
|
-
npm install @intlayer/swc --save-dev
|
|
784
|
-
```
|
|
785
|
-
|
|
786
|
-
```bash packageManager="pnpm"
|
|
787
|
-
pnpm add @intlayer/swc --save-dev
|
|
788
|
-
```
|
|
789
|
-
|
|
790
|
-
```bash packageManager="yarn"
|
|
791
|
-
yarn add @intlayer/swc --save-dev
|
|
792
|
-
```
|
|
793
|
-
|
|
794
|
-
```bash packageManager="bun"
|
|
795
|
-
bun add @intlayer/swc --dev
|
|
796
|
-
```
|
|
797
|
-
|
|
798
|
-
> Note: This optimisation is only available for Next.js 13 and above.
|
|
799
|
-
|
|
800
|
-
> Note: This package is not installed by default because SWC plugins are still experimental in Next.js. This may change in the future.
|
|
801
|
-
|
|
802
|
-
> Note: If you set the option to `importMode: 'dynamic'` or `importMode: 'fetch'` (in the `dictionary` configuration), it will rely on Suspense, so you will need to wrap your `useIntlayer` calls in a `Suspense` boundary. That means you will not be able to use `useIntlayer` directly at the top level of your page or layout component.
|
|
803
|
-
|
|
804
|
-
</Step>
|
|
805
|
-
|
|
806
|
-
</Steps>
|
|
807
|
-
|
|
808
|
-
### Watch dictionary changes on Turbopack
|
|
809
|
-
|
|
810
|
-
When using Turbopack as your development server with the `next dev` command, dictionary changes won't be detected automatically by default.
|
|
811
|
-
|
|
812
|
-
This limitation occurs because Turbopack cannot run webpack plugins in parallel to monitor changes to your content files. As a workaround, you'll need to use the `intlayer watch` command to run both the development server and the Intlayer build watcher simultaneously.
|
|
813
|
-
|
|
814
|
-
```json5 fileName="package.json"
|
|
815
|
-
{
|
|
816
|
-
// ... Your existing package.json configuration
|
|
817
|
-
"scripts": {
|
|
818
|
-
// ... Your existing scripts configuration
|
|
819
|
-
"dev": "intlayer watch --with 'next dev'",
|
|
820
|
-
},
|
|
821
|
-
}
|
|
822
|
-
```
|
|
823
|
-
|
|
824
|
-
> If you are using next-intlayer@<=6.x.x, you must keep the `--turbopack` flag to make the Next.js 16 application work correctly with Turbopack. We recommend using next-intlayer@>=7.x.x to avoid this limitation.
|
|
825
|
-
|
|
826
|
-
### Configure TypeScript
|
|
827
|
-
|
|
828
|
-
Intlayer uses module augmentation to get the benefits of TypeScript and make your codebase more robust.
|
|
829
|
-
|
|
830
|
-

|
|
831
|
-
|
|
832
|
-

|
|
833
|
-
|
|
834
|
-
Ensure your TypeScript configuration includes the auto-generated types.
|
|
835
|
-
|
|
836
|
-
```json5 fileName="tsconfig.json"
|
|
837
|
-
{
|
|
838
|
-
// ... Your existing TypeScript configuration
|
|
839
|
-
"include": [
|
|
840
|
-
// ... Your existing TypeScript configuration
|
|
841
|
-
".intlayer/**/*.ts", // Include the auto-generated types
|
|
842
|
-
],
|
|
843
|
-
}
|
|
844
|
-
```
|
|
845
|
-
|
|
846
|
-
### Git Configuration
|
|
847
|
-
|
|
848
|
-
It is recommended to ignore the files generated by Intlayer. This prevents you from committing them to your Git repository.
|
|
849
|
-
|
|
850
|
-
To do this, you can add the following entries to your `.gitignore` file:
|
|
851
|
-
|
|
852
|
-
```plaintext fileName=".gitignore"
|
|
853
|
-
# Ignore the files generated by Intlayer
|
|
854
|
-
.intlayer
|
|
855
|
-
```
|
|
856
|
-
|
|
857
|
-
### VS Code Extension
|
|
858
|
-
|
|
859
|
-
To enhance your development experience with Intlayer, you can install the official **Intlayer VS Code Extension**.
|
|
860
|
-
|
|
861
|
-
[Install from the VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
862
|
-
|
|
863
|
-
This extension provides:
|
|
864
|
-
|
|
865
|
-
- **Autocompletion** for translation keys.
|
|
866
|
-
- **Real-time error detection** for missing translations.
|
|
867
|
-
- **Inline previews** of translated content.
|
|
868
|
-
- **Quick actions** to easily create and update translations.
|
|
869
|
-
|
|
870
|
-
For more details on how to use the extension, refer to the [Intlayer VS Code Extension documentation](https://intlayer.org/doc/vs-code-extension).
|
|
871
|
-
|
|
872
|
-
### Going further
|
|
873
|
-
|
|
874
|
-
To go further, you can implement the [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_visual_editor.md) or externalise your content using the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_CMS.md).
|
|
875
|
-
|
|
876
|
-
## Frequently Asked Questions
|
|
877
|
-
|
|
878
|
-
<FAQ>
|
|
879
|
-
|
|
880
|
-
<Question title="What are the different solutions available to internationalize a Next.js app?">
|
|
881
|
-
|
|
882
|
-
The `i18n` field of `next.config.js` does not apply to the App Router, so the localization layer is always a library choice:
|
|
883
|
-
|
|
884
|
-
- **`next-intl`**, **`next-i18next` / `i18next`** and **`react-intl`**: JSON or ICU catalogues loaded per namespace.
|
|
885
|
-
- **`Lingui`**: extraction driven, with ICU messages compiled at build time.
|
|
886
|
-
- **`Intlayer`**: the most advanced solution. Content declared anywhere in your codebase ([next to each component or centralized](https://intlayer.org/blog/per-component-vs-centralized-i18n)) and compiled per component, fully typed, with AI translation, a visual editor and a CMS.
|
|
887
|
-
|
|
888
|
-
This guide covers the setup without a locale in the path. See [why Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/interest_of_intlayer.md) and the [Next.js i18n benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/benchmark/nextjs.md).
|
|
889
|
-
|
|
890
|
-
</Question>
|
|
891
|
-
|
|
892
|
-
<Question title="How much does i18n add to my Next.js bundle size?">
|
|
893
|
-
|
|
894
|
-
Much less than a namespace based setup, because a page never downloads a catalogue it does not render. Server Components resolve their content on the server, and the build time compiler replaces `useIntlayer` calls with the exact dictionary entries a component uses, so unused keys and unused languages are dropped, and [dynamic dictionaries](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dynamic_dictionaries/index.md) split the rest per locale. Measured against the usual alternatives, Intlayer reduces bundle and page size by up to 50%. See [bundle optimization](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/bundle_optimization.md) and the [benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/benchmark/nextjs.md).
|
|
895
|
-
|
|
896
|
-
</Question>
|
|
897
|
-
|
|
898
|
-
<Question title="Can I migrate from `next-intl`, `next-i18next` or `i18next` without rewriting my components?">
|
|
899
|
-
|
|
900
|
-
Yes, and there are two paths. You can migrate the content progressively with the [next-intl migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/migration_from_next-intl_to_intlayer.md) or the [i18next migration guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/migration_from_i18next_to_intlayer.md). Or you can keep your current API entirely: the [compat adapters](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/index.md) expose the exact same API as `next-intl`, `react-i18next` and `react-intl`, but served by Intlayer dictionaries, so imports change and component code does not.
|
|
901
|
-
|
|
902
|
-
</Question>
|
|
903
|
-
|
|
904
|
-
<Question title="Can I keep my existing JSON translation files?">
|
|
905
|
-
|
|
906
|
-
Yes. The [sync JSON plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/plugins/sync-json.md) keeps your `/messages/{locale}/{namespace}.json` files as the source of truth and generates Intlayer dictionaries from them, in both directions. A [sync PO plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/plugins/sync-po.md) does the same for gettext catalogues, and [per locale files](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/per_locale_file.md) let you split content by language instead of grouping locales in one file.
|
|
907
|
-
|
|
908
|
-
</Question>
|
|
909
|
-
|
|
910
|
-
<Question title="Do I have to move my content key by key?">
|
|
911
|
-
|
|
912
|
-
No. Run `npx intlayer extract` and Intlayer reads your components, pulls the user facing strings out and writes a `.content` file next to each one, so you review a diff instead of copying strings into a catalogue one at a time.
|
|
913
|
-
|
|
914
|
-
For a fully automated pipeline, the [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compiler.md) does the same at build time: it scans your JSX, TSX, Vue and Svelte source on every change, generates the dictionaries and keeps them in sync through hot module replacement, so there are no keys to maintain by hand at all.
|
|
915
|
-
|
|
916
|
-
Two limits are worth knowing before you turn the compiler on. It works by static analysis, so strings that only exist at runtime, such as API error codes or CMS fields, stay out of reach. And it has to tell user facing text apart from application logic like `className="active"` or a status code, which needs a few annotations in a large codebase. The [extract command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/extract.md) avoids both by keeping you in the loop.
|
|
917
|
-
|
|
918
|
-
</Question>
|
|
919
|
-
|
|
920
|
-
<Question title="What editor and AI agent tooling is available?">
|
|
921
|
-
|
|
922
|
-
Five pieces, all optional:
|
|
923
|
-
|
|
924
|
-
- **[VS Code extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/vs_code_extension.md)**: jump from a `useIntlayer` key to the content file that declares it, extract content from a component, and run build, fill, test, push and pull from the command palette or a dedicated Intlayer tab.
|
|
925
|
-
- **[LSP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/lsp.md)**: the same awareness in any editor that speaks LSP, with go to definition, find all references, hover previews of a translated value, autocompletion of keys and fields, and a warning when a key is not declared anywhere. It also resolves `i18next`, `react-i18next`, `next-intl` and `use-intl` calls, which helps while you migrate.
|
|
926
|
-
- **[MCP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/mcp_server.md)**: exposes the Intlayer documentation and CLI to Cursor, VS Code, Claude Desktop, Claude Code and ChatGPT, so an assistant answers from current docs instead of guessing, and can run commands such as `intlayer fill` itself.
|
|
927
|
-
- **[Agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/agent_skills.md)**: focused skills such as `intlayer-config`, `intlayer-cli` and `intlayer-content`, plus one per framework, that teach an agent your routing setup and the content node types.
|
|
928
|
-
- **[ESLint plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/eslint.md)**: `no-raw-text` flags hardcoded strings, with further rules for static dictionary keys and unused content.
|
|
929
|
-
|
|
930
|
-
</Question>
|
|
931
|
-
|
|
932
|
-
<Question title="Why would I serve my app without a locale in the URL?">
|
|
933
|
-
|
|
934
|
-
Because the locale is not always part of the page identity. An authenticated dashboard, an internal tool or an app behind a login has no reason to expose `/fr/` in every URL: the language is a user preference, not a different document. Dropping the prefix also keeps your routes, your links and your analytics on a single set of paths.
|
|
935
|
-
|
|
936
|
-
</Question>
|
|
937
|
-
|
|
938
|
-
<Question title="What are the SEO consequences of not having a locale in the URL?">
|
|
939
|
-
|
|
940
|
-
They are real, so choose deliberately. Without a distinct URL per language, search engines have no separate page to index for each locale, `hreflang` has nothing to point at, and a crawler sees only the language your default detection serves it. That is fine for content behind a login, which is not indexed anyway, and a poor fit for a public marketing site or documentation. If organic traffic per language matters, use the prefixed setup in the [Next.js 16 guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_nextjs_16.md) instead.
|
|
941
|
-
|
|
942
|
-
</Question>
|
|
943
|
-
|
|
944
|
-
<Question title="What is the difference between the `no-prefix` and `search-params` modes?">
|
|
945
|
-
|
|
946
|
-
`"no-prefix"` keeps the locale entirely out of the URL and resolves it from a cookie, a header or a domain, so every language shares one address. `"search-params"` puts it in the query string as `/dashboard?locale=fr`, which still gives each language a distinct, linkable and bookmarkable URL without changing your route tree. Prefer `"search-params"` when you want shareable links per language.
|
|
947
|
-
|
|
948
|
-
</Question>
|
|
949
|
-
|
|
950
|
-
<Question title="How is the locale detected then?">
|
|
951
|
-
|
|
952
|
-
From the sources listed in `routing.storage`, by default a cookie first and then the `Accept-Language` header, falling back to your default locale. Step 7 adds the proxy that applies it. A language the user picks explicitly is persisted, so it survives the next visit. See the [configuration reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md).
|
|
953
|
-
|
|
954
|
-
</Question>
|
|
955
|
-
|
|
956
|
-
<Question title="Can I map each language to its own domain instead?">
|
|
957
|
-
|
|
958
|
-
Yes, and it is the option to consider when you dropped the prefix for cosmetic reasons but still want the SEO. `routing.domains` maps a locale to a hostname, so the domain identifies the language, no prefix is added to the path, and every language gets an indexable URL that `hreflang` can point at.
|
|
959
|
-
|
|
960
|
-
</Question>
|
|
961
|
-
|
|
962
|
-
<Question title="How do I translate the app automatically with AI?">
|
|
963
|
-
|
|
964
|
-
Run `npx intlayer fill`. It fills missing translations with the LLM of your choice, using your own provider and API key, and `--git-diff` limits the run to the content changed on the branch. See the [fill command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/fill.md) and [CI/CD integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/CI_CD.md).
|
|
965
|
-
|
|
966
|
-
</Question>
|
|
967
|
-
|
|
968
|
-
<Question title="Does Intlayer support plurals, gender and rich text?">
|
|
969
|
-
|
|
970
|
-
Yes: [plural forms](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/plurial.md), [gender based content](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/gender.md), conditions, [insertions](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/insertion.md), [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/markdown.md) and [formatters](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/formatters.md) for numbers, dates and currencies.
|
|
971
|
-
|
|
972
|
-
</Question>
|
|
973
|
-
|
|
974
|
-
<Question title="How can translators edit the content without touching the code?">
|
|
975
|
-
|
|
976
|
-
Through the [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_visual_editor.md), which runs on your own infrastructure and lets anyone edit text in place on the running app, or the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_CMS.md), which externalizes content so it can change without a deployment.
|
|
977
|
-
|
|
978
|
-
</Question>
|
|
979
|
-
|
|
980
|
-
<Question title="Is Intlayer free and open source?">
|
|
981
|
-
|
|
982
|
-
Yes, under the Apache 2.0 licence, commercial use included. The hosted CMS is an optional paid service that can also be [self hosted](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/self_hosting.md).
|
|
983
|
-
|
|
984
|
-
</Question>
|
|
985
|
-
|
|
986
|
-
</FAQ>
|