@intlayer/docs 9.0.0-canary.4 → 9.0.0-canary.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/intlayer_with_i18next.md +4 -0
- package/blog/ar/intlayer_with_next-i18next.md +0 -11
- package/blog/ar/intlayer_with_next-intl.md +4 -0
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +35 -28
- package/blog/ar/rag_powered_documentation_assistant.md +13 -0
- package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/ar/vue-i18n_vs_intlayer.md +8 -0
- package/blog/de/intlayer_with_i18next.md +4 -0
- package/blog/de/intlayer_with_next-i18next.md +0 -11
- package/blog/de/intlayer_with_next-intl.md +4 -0
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
- package/blog/de/rag_powered_documentation_assistant.md +0 -193
- package/blog/de/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/de/vue-i18n_vs_intlayer.md +8 -0
- package/blog/en-GB/intlayer_with_i18next.md +4 -0
- package/blog/en-GB/intlayer_with_next-i18next.md +0 -11
- package/blog/en-GB/intlayer_with_next-intl.md +4 -0
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
- package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +14 -0
- package/blog/en-GB/vue-i18n_vs_intlayer.md +16 -0
- package/blog/es/intlayer_with_i18next.md +4 -0
- package/blog/es/intlayer_with_next-i18next.md +0 -11
- package/blog/es/intlayer_with_next-intl.md +4 -0
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
- package/blog/es/rag_powered_documentation_assistant.md +13 -0
- package/blog/es/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/es/vue-i18n_vs_intlayer.md +8 -0
- package/blog/fr/i18n_meaning.md +95 -0
- package/blog/fr/intlayer_with_next-i18next.md +0 -11
- package/blog/fr/intlayer_with_next-intl.md +4 -0
- package/blog/fr/intlayer_with_react-i18next.md +0 -8
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
- package/blog/fr/rag_powered_documentation_assistant.md +0 -62
- package/blog/fr/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/fr/vue-i18n_vs_intlayer.md +8 -0
- package/blog/hi/intlayer_with_i18next.md +4 -0
- package/blog/hi/intlayer_with_next-i18next.md +0 -11
- package/blog/hi/intlayer_with_next-intl.md +4 -0
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +1256 -0
- package/blog/hi/rag_powered_documentation_assistant.md +13 -0
- package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/hi/vue-i18n_vs_intlayer.md +8 -0
- package/blog/id/internationalization_and_SEO.md +0 -91
- package/blog/id/intlayer_with_i18next.md +4 -0
- package/blog/id/intlayer_with_next-i18next.md +0 -11
- package/blog/id/intlayer_with_next-intl.md +4 -0
- package/blog/id/rag_powered_documentation_assistant.md +13 -0
- package/blog/it/intlayer_with_i18next.md +4 -0
- package/blog/it/intlayer_with_next-i18next.md +0 -11
- package/blog/it/intlayer_with_next-intl.md +4 -0
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
- package/blog/it/rag_powered_documentation_assistant.md +0 -195
- package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/it/vue-i18n_vs_intlayer.md +8 -0
- package/blog/ja/intlayer_with_i18next.md +4 -0
- package/blog/ja/intlayer_with_next-i18next.md +0 -11
- package/blog/ja/intlayer_with_next-intl.md +4 -0
- package/blog/ja/l10n_platform_alternative/Lokalise.md +10 -0
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +121 -26
- package/blog/ja/rag_powered_documentation_assistant.md +13 -0
- package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/ja/vue-i18n_vs_intlayer.md +8 -0
- package/blog/ko/intlayer_with_i18next.md +4 -0
- package/blog/ko/intlayer_with_next-i18next.md +0 -11
- package/blog/ko/intlayer_with_next-intl.md +4 -0
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +121 -18
- package/blog/ko/rag_powered_documentation_assistant.md +0 -194
- package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/ko/vue-i18n_vs_intlayer.md +8 -0
- package/blog/ko/what_is_internationalization.md +0 -4
- package/blog/pl/___per-component_vs_centralized_i18n.md +100 -0
- package/blog/pl/internationalization_and_SEO.md +0 -91
- package/blog/pl/intlayer_with_i18next.md +4 -0
- package/blog/pl/intlayer_with_next-i18next.md +0 -11
- package/blog/pl/intlayer_with_next-intl.md +4 -0
- package/blog/pl/l10n_platform_alternative/Lokalise.md +6 -0
- package/blog/pl/rag_powered_documentation_assistant.md +13 -0
- package/blog/pt/internationalization_and_SEO.md +1 -1
- package/blog/pt/intlayer_with_i18next.md +4 -0
- package/blog/pt/intlayer_with_next-i18next.md +0 -11
- package/blog/pt/intlayer_with_next-intl.md +4 -0
- package/blog/pt/intlayer_with_react-intl.md +0 -4
- package/blog/pt/l10n_platform_alternative/crowdin.md +0 -6
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
- package/blog/pt/rag_powered_documentation_assistant.md +0 -195
- package/blog/pt/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/pt/vue-i18n_vs_intlayer.md +8 -0
- package/blog/ru/intlayer_with_i18next.md +4 -0
- package/blog/ru/intlayer_with_next-i18next.md +0 -11
- package/blog/ru/intlayer_with_next-intl.md +4 -0
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
- package/blog/ru/rag_powered_documentation_assistant.md +13 -0
- package/blog/ru/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/ru/vue-i18n_vs_intlayer.md +8 -0
- package/blog/tr/intlayer_with_i18next.md +4 -0
- package/blog/tr/intlayer_with_next-i18next.md +0 -11
- package/blog/tr/intlayer_with_next-intl.md +4 -0
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1189 -0
- package/blog/tr/rag_powered_documentation_assistant.md +0 -38
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +9 -0
- package/blog/uk/rag_powered_documentation_assistant.md +13 -0
- package/blog/vi/internationalization_and_SEO.md +0 -91
- package/blog/vi/intlayer_with_i18next.md +4 -0
- package/blog/vi/intlayer_with_next-i18next.md +0 -11
- package/blog/vi/intlayer_with_next-intl.md +4 -0
- package/blog/vi/rag_powered_documentation_assistant.md +13 -0
- package/blog/zh/intlayer_with_i18next.md +4 -47
- package/blog/zh/intlayer_with_next-i18next.md +0 -58
- package/blog/zh/intlayer_with_next-intl.md +4 -47
- package/blog/zh/intlayer_with_react-i18next.md +0 -47
- package/blog/zh/intlayer_with_react-intl.md +0 -47
- package/blog/zh/intlayer_with_vue-i18n.md +0 -47
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +121 -26
- package/blog/zh/nextjs-multilingual-seo-comparison.md +0 -30
- package/blog/zh/rag_powered_documentation_assistant.md +0 -191
- package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/zh/vue-i18n_vs_intlayer.md +8 -0
- package/docs/ar/CI_CD.md +4 -0
- package/docs/ar/autoFill.md +81 -0
- package/docs/ar/benchmark/solid.md +22 -0
- package/docs/ar/benchmark/svelte.md +22 -0
- package/docs/ar/benchmark/tanstack.md +22 -0
- package/docs/ar/cli/ci.md +22 -0
- package/docs/ar/cli/fill.md +8 -0
- package/docs/ar/compat/i18n-js.md +44 -0
- package/docs/ar/compat/i18next.md +59 -0
- package/docs/ar/compat/index.md +51 -0
- package/docs/ar/compat/lingui.md +44 -0
- package/docs/ar/compat/next-i18next.md +57 -0
- package/docs/ar/compat/next-intl.md +59 -0
- package/docs/ar/compat/next-translate.md +45 -0
- package/docs/ar/compat/ngx-translate.md +45 -0
- package/docs/ar/compat/nuxtjs-i18n.md +46 -0
- package/docs/ar/compat/polyglot.md +45 -0
- package/docs/ar/compat/react-i18next.md +58 -0
- package/docs/ar/compat/react-intl.md +55 -0
- package/docs/ar/compat/svelte-i18n.md +47 -0
- package/docs/ar/compat/transloco.md +45 -0
- package/docs/ar/compat/vue-i18n.md +58 -0
- package/docs/ar/compiler.md +3 -1
- package/docs/ar/configuration.md +19 -17
- package/docs/ar/custom_domains.md +1 -1
- package/docs/ar/custom_url_rewrites.md +1 -1
- package/docs/ar/dictionary/content_file.md +4 -7
- package/docs/ar/dictionary/enumeration.md +0 -187
- package/docs/ar/dictionary/file.md +8 -0
- package/docs/ar/dictionary/nesting.md +39 -0
- package/docs/ar/dictionary/translation.md +0 -61
- package/docs/ar/formatters.md +59 -0
- package/docs/ar/how_works_intlayer.md +4 -0
- package/docs/ar/interest_of_intlayer.md +193 -0
- package/docs/ar/intlayer_CMS.md +6 -0
- package/docs/ar/intlayer_with_astro.md +129 -2
- package/docs/ar/intlayer_with_astro_lit.md +1 -1
- package/docs/ar/intlayer_with_astro_preact.md +1 -1
- package/docs/ar/intlayer_with_astro_react.md +1 -1
- package/docs/ar/intlayer_with_astro_solid.md +1 -1
- package/docs/ar/intlayer_with_astro_svelte.md +1 -1
- package/docs/ar/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ar/intlayer_with_astro_vue.md +1 -1
- package/docs/ar/intlayer_with_create_react_app.md +0 -14
- package/docs/ar/intlayer_with_express.md +0 -21
- package/docs/ar/intlayer_with_nestjs.md +0 -18
- package/docs/ar/intlayer_with_nextjs_14.md +30 -7
- package/docs/ar/intlayer_with_nextjs_15.md +21 -1
- package/docs/ar/intlayer_with_nextjs_16.md +124 -2
- package/docs/ar/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ar/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/ar/intlayer_with_react_native+expo.md +36 -0
- package/docs/ar/intlayer_with_react_router_v7.md +1 -95
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +20 -96
- package/docs/ar/intlayer_with_svelte_kit.md +1 -207
- package/docs/ar/intlayer_with_tanstack+solid.md +3 -1
- package/docs/ar/intlayer_with_tanstack.md +1 -1
- package/docs/ar/intlayer_with_vite+lit.md +1 -1
- package/docs/ar/intlayer_with_vite+preact.md +40 -40
- package/docs/ar/intlayer_with_vite+react.md +1 -1
- package/docs/ar/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ar/intlayer_with_vite+solid.md +25 -25
- package/docs/ar/intlayer_with_vite+svelte.md +12 -12
- package/docs/ar/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ar/intlayer_with_vite+vue.md +44 -114
- package/docs/ar/mcp_server.md +22 -0
- package/docs/ar/migration_from_i18next_to_intlayer.md +333 -0
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/ar/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +0 -4
- package/docs/ar/packages/react-intlayer/t.md +0 -13
- package/docs/ar/packages/react-intlayer/useDictionary.md +0 -104
- package/docs/ar/packages/react-intlayer/useI18n.md +0 -4
- package/docs/ar/packages/react-intlayer/useIntlayer.md +0 -55
- package/docs/ar/releases/v6.md +28 -0
- package/docs/ar/releases/v7.md +128 -0
- package/docs/ar/releases/v9.md +37 -1
- package/docs/ar/roadmap.md +6 -0
- package/docs/de/CI_CD.md +4 -0
- package/docs/de/autoFill.md +81 -0
- package/docs/de/benchmark/solid.md +22 -0
- package/docs/de/benchmark/svelte.md +22 -0
- package/docs/de/benchmark/tanstack.md +22 -0
- package/docs/de/cli/ci.md +22 -0
- package/docs/de/cli/fill.md +8 -0
- package/docs/de/cli/init.md +20 -0
- package/docs/de/compat/i18n-js.md +44 -0
- package/docs/de/compat/i18next.md +59 -0
- package/docs/de/compat/index.md +51 -0
- package/docs/de/compat/lingui.md +44 -0
- package/docs/de/compat/next-i18next.md +57 -0
- package/docs/de/compat/next-intl.md +59 -0
- package/docs/de/compat/next-translate.md +45 -0
- package/docs/de/compat/ngx-translate.md +45 -0
- package/docs/de/compat/nuxtjs-i18n.md +46 -0
- package/docs/de/compat/polyglot.md +45 -0
- package/docs/de/compat/react-i18next.md +58 -0
- package/docs/de/compat/react-intl.md +55 -0
- package/docs/de/compat/svelte-i18n.md +47 -0
- package/docs/de/compat/transloco.md +45 -0
- package/docs/de/compat/vue-i18n.md +58 -0
- package/docs/de/compiler.md +3 -1
- package/docs/de/configuration.md +19 -17
- package/docs/de/custom_domains.md +1 -1
- package/docs/de/custom_url_rewrites.md +1 -1
- package/docs/de/dictionary/content_file.md +4 -0
- package/docs/de/dictionary/enumeration.md +0 -199
- package/docs/de/dictionary/file.md +8 -0
- package/docs/de/dictionary/insertion.md +0 -4
- package/docs/de/dictionary/nesting.md +39 -0
- package/docs/de/dictionary/translation.md +0 -61
- package/docs/de/dynamic_dictionaries/index.md +6 -0
- package/docs/de/formatters.md +130 -0
- package/docs/de/how_works_intlayer.md +4 -0
- package/docs/de/intlayer_CMS.md +6 -0
- package/docs/de/intlayer_with_astro.md +129 -2
- package/docs/de/intlayer_with_astro_lit.md +1 -1
- package/docs/de/intlayer_with_astro_preact.md +1 -1
- package/docs/de/intlayer_with_astro_react.md +1 -1
- package/docs/de/intlayer_with_astro_solid.md +1 -1
- package/docs/de/intlayer_with_astro_svelte.md +1 -1
- package/docs/de/intlayer_with_astro_vanilla.md +1 -1
- package/docs/de/intlayer_with_astro_vue.md +1 -1
- package/docs/de/intlayer_with_create_react_app.md +15 -0
- package/docs/de/intlayer_with_express.md +0 -23
- package/docs/de/intlayer_with_lynx+react.md +4 -2
- package/docs/de/intlayer_with_nestjs.md +0 -8
- package/docs/de/intlayer_with_nextjs_14.md +28 -7
- package/docs/de/intlayer_with_nextjs_15.md +21 -1
- package/docs/de/intlayer_with_nextjs_16.md +1 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +49 -1
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/de/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/de/intlayer_with_react_native+expo.md +36 -0
- package/docs/de/intlayer_with_react_router_v7.md +1 -95
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -91
- package/docs/de/intlayer_with_svelte_kit.md +1 -207
- package/docs/de/intlayer_with_tanstack+solid.md +3 -1
- package/docs/de/intlayer_with_tanstack.md +1 -1
- package/docs/de/intlayer_with_vite+lit.md +1 -1
- package/docs/de/intlayer_with_vite+preact.md +61 -57
- package/docs/de/intlayer_with_vite+react.md +1 -1
- package/docs/de/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/de/intlayer_with_vite+solid.md +33 -42
- package/docs/de/intlayer_with_vite+svelte.md +27 -29
- package/docs/de/intlayer_with_vite+vanilla.md +1 -1
- package/docs/de/intlayer_with_vite+vue.md +54 -102
- package/docs/de/mcp_server.md +22 -0
- package/docs/de/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/de/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/de/packages/react-intlayer/useDictionary.md +0 -116
- package/docs/de/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/de/releases/v6.md +10 -6
- package/docs/de/releases/v7.md +128 -0
- package/docs/de/releases/v9.md +37 -1
- package/docs/de/roadmap.md +6 -16
- package/docs/en/bundle_optimization.md +8 -3
- package/docs/en/compiler.md +12 -6
- package/docs/en/configuration.md +22 -8
- package/docs/en/custom_domains.md +2 -0
- package/docs/en/custom_url_rewrites.md +2 -0
- package/docs/en/intlayer_with_astro.md +2 -0
- package/docs/en/intlayer_with_astro_lit.md +2 -0
- package/docs/en/intlayer_with_astro_preact.md +2 -0
- package/docs/en/intlayer_with_astro_react.md +2 -0
- package/docs/en/intlayer_with_astro_solid.md +2 -0
- package/docs/en/intlayer_with_astro_svelte.md +2 -0
- package/docs/en/intlayer_with_astro_vanilla.md +2 -0
- package/docs/en/intlayer_with_astro_vue.md +2 -0
- package/docs/en/intlayer_with_nextjs_14.md +2 -0
- package/docs/en/intlayer_with_nextjs_15.md +2 -0
- package/docs/en/intlayer_with_nextjs_16.md +2 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +2 -0
- package/docs/en/intlayer_with_nextjs_page_router.md +2 -0
- package/docs/en/intlayer_with_react_native+expo.md +8 -0
- package/docs/en/intlayer_with_react_router_v7.md +2 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +2 -0
- package/docs/en/intlayer_with_svelte_kit.md +4 -0
- package/docs/en/intlayer_with_tanstack+solid.md +2 -0
- package/docs/en/intlayer_with_tanstack.md +2 -0
- package/docs/en/intlayer_with_vite+lit.md +2 -0
- package/docs/en/intlayer_with_vite+preact.md +2 -0
- package/docs/en/intlayer_with_vite+react.md +2 -0
- package/docs/en/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/en/intlayer_with_vite+solid.md +2 -0
- package/docs/en/intlayer_with_vite+svelte.md +2 -0
- package/docs/en/intlayer_with_vite+vanilla.md +4 -0
- package/docs/en/intlayer_with_vite+vue.md +2 -0
- package/docs/en/releases/v9.md +38 -1
- package/docs/en-GB/CI_CD.md +4 -0
- package/docs/en-GB/autoFill.md +81 -0
- package/docs/en-GB/benchmark/solid.md +22 -0
- package/docs/en-GB/benchmark/svelte.md +22 -0
- package/docs/en-GB/benchmark/tanstack.md +22 -0
- package/docs/en-GB/cli/ci.md +22 -0
- package/docs/en-GB/cli/fill.md +8 -0
- package/docs/en-GB/cli/login.md +0 -36
- package/docs/en-GB/cli/test.md +0 -36
- package/docs/en-GB/compat/i18n-js.md +44 -0
- package/docs/en-GB/compat/i18next.md +59 -0
- package/docs/en-GB/compat/index.md +51 -0
- package/docs/en-GB/compat/lingui.md +44 -0
- package/docs/en-GB/compat/next-i18next.md +57 -0
- package/docs/en-GB/compat/next-intl.md +59 -0
- package/docs/en-GB/compat/next-translate.md +45 -0
- package/docs/en-GB/compat/ngx-translate.md +45 -0
- package/docs/en-GB/compat/nuxtjs-i18n.md +46 -0
- package/docs/en-GB/compat/polyglot.md +45 -0
- package/docs/en-GB/compat/react-i18next.md +58 -0
- package/docs/en-GB/compat/react-intl.md +55 -0
- package/docs/en-GB/compat/svelte-i18n.md +47 -0
- package/docs/en-GB/compat/transloco.md +45 -0
- package/docs/en-GB/compat/vue-i18n.md +58 -0
- package/docs/en-GB/compiler.md +3 -1
- package/docs/en-GB/configuration.md +4 -1
- package/docs/en-GB/custom_domains.md +1 -1
- package/docs/en-GB/custom_url_rewrites.md +1 -1
- package/docs/en-GB/dictionary/content_file.md +4 -7
- package/docs/en-GB/dictionary/file.md +8 -0
- package/docs/en-GB/dictionary/function_fetching.md +0 -4
- package/docs/en-GB/dictionary/nesting.md +8 -0
- package/docs/en-GB/dictionary/translation.md +0 -61
- package/docs/en-GB/formatters.md +59 -0
- package/docs/en-GB/how_works_intlayer.md +4 -16
- package/docs/en-GB/intlayer_CMS.md +6 -0
- package/docs/en-GB/intlayer_with_astro.md +129 -2
- package/docs/en-GB/intlayer_with_astro_lit.md +1 -1
- package/docs/en-GB/intlayer_with_astro_preact.md +1 -1
- package/docs/en-GB/intlayer_with_astro_react.md +1 -1
- package/docs/en-GB/intlayer_with_astro_solid.md +1 -1
- package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
- package/docs/en-GB/intlayer_with_create_react_app.md +0 -46
- package/docs/en-GB/intlayer_with_express.md +0 -23
- package/docs/en-GB/intlayer_with_nestjs.md +0 -8
- package/docs/en-GB/intlayer_with_nextjs_14.md +13 -5
- package/docs/en-GB/intlayer_with_nextjs_15.md +23 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +3 -1
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +3 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +3 -1
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/en-GB/intlayer_with_react_native+expo.md +36 -0
- package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +20 -1
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -207
- package/docs/en-GB/intlayer_with_tanstack+solid.md +3 -1
- package/docs/en-GB/intlayer_with_tanstack.md +1 -1
- package/docs/en-GB/intlayer_with_vite+lit.md +1 -1
- package/docs/en-GB/intlayer_with_vite+preact.md +5 -1
- package/docs/en-GB/intlayer_with_vite+react.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
- package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vue.md +9 -180
- package/docs/en-GB/migration_from_i18next_to_intlayer.md +333 -0
- package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/en-GB/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +44 -0
- package/docs/en-GB/packages/intlayer/getTranslation.md +0 -16
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +0 -123
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/en-GB/plugins/sync-json.md +0 -59
- package/docs/en-GB/releases/v6.md +10 -6
- package/docs/en-GB/releases/v7.md +128 -0
- package/docs/en-GB/releases/v8.md +190 -0
- package/docs/en-GB/releases/v9.md +37 -1
- package/docs/en-GB/roadmap.md +6 -0
- package/docs/es/CI_CD.md +4 -0
- package/docs/es/autoFill.md +81 -0
- package/docs/es/benchmark/solid.md +22 -0
- package/docs/es/benchmark/svelte.md +22 -0
- package/docs/es/benchmark/tanstack.md +22 -0
- package/docs/es/cli/ci.md +22 -0
- package/docs/es/cli/fill.md +8 -0
- package/docs/es/cli/login.md +0 -36
- package/docs/es/compat/i18n-js.md +44 -0
- package/docs/es/compat/i18next.md +59 -0
- package/docs/es/compat/index.md +51 -0
- package/docs/es/compat/lingui.md +44 -0
- package/docs/es/compat/next-i18next.md +57 -0
- package/docs/es/compat/next-intl.md +61 -0
- package/docs/es/compat/next-translate.md +45 -0
- package/docs/es/compat/ngx-translate.md +45 -0
- package/docs/es/compat/nuxtjs-i18n.md +46 -0
- package/docs/es/compat/polyglot.md +45 -0
- package/docs/es/compat/react-i18next.md +58 -0
- package/docs/es/compat/react-intl.md +55 -0
- package/docs/es/compat/svelte-i18n.md +47 -0
- package/docs/es/compat/transloco.md +45 -0
- package/docs/es/compat/vue-i18n.md +58 -0
- package/docs/es/compiler.md +3 -1
- package/docs/es/configuration.md +19 -17
- package/docs/es/custom_domains.md +1 -1
- package/docs/es/custom_url_rewrites.md +1 -1
- package/docs/es/dictionary/content_file.md +4 -0
- package/docs/es/dictionary/file.md +8 -0
- package/docs/es/dictionary/nesting.md +39 -0
- package/docs/es/dictionary/translation.md +0 -61
- package/docs/es/formatters.md +82 -0
- package/docs/es/how_works_intlayer.md +4 -4
- package/docs/es/intlayer_CMS.md +21 -0
- package/docs/es/intlayer_visual_editor.md +0 -23
- package/docs/es/intlayer_with_astro.md +129 -2
- package/docs/es/intlayer_with_astro_lit.md +1 -1
- package/docs/es/intlayer_with_astro_preact.md +1 -1
- package/docs/es/intlayer_with_astro_react.md +1 -1
- package/docs/es/intlayer_with_astro_solid.md +1 -1
- package/docs/es/intlayer_with_astro_svelte.md +1 -1
- package/docs/es/intlayer_with_astro_vanilla.md +1 -1
- package/docs/es/intlayer_with_astro_vue.md +1 -1
- package/docs/es/intlayer_with_express.md +0 -4
- package/docs/es/intlayer_with_nestjs.md +0 -18
- package/docs/es/intlayer_with_nextjs_14.md +10 -4
- package/docs/es/intlayer_with_nextjs_15.md +21 -1
- package/docs/es/intlayer_with_nextjs_16.md +1 -1
- package/docs/es/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/es/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/es/intlayer_with_react_native+expo.md +36 -0
- package/docs/es/intlayer_with_react_router_v7.md +1 -95
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/es/intlayer_with_svelte_kit.md +1 -207
- package/docs/es/intlayer_with_tanstack+solid.md +3 -1
- package/docs/es/intlayer_with_tanstack.md +1 -1
- package/docs/es/intlayer_with_vite+lit.md +1 -1
- package/docs/es/intlayer_with_vite+preact.md +5 -1
- package/docs/es/intlayer_with_vite+react.md +1 -1
- package/docs/es/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/es/intlayer_with_vite+solid.md +1 -1
- package/docs/es/intlayer_with_vite+svelte.md +1 -1
- package/docs/es/intlayer_with_vite+vanilla.md +1 -1
- package/docs/es/intlayer_with_vite+vue.md +18 -86
- package/docs/es/packages/express-intlayer/t.md +0 -9
- package/docs/es/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/es/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/es/packages/react-intlayer/useDictionary.md +0 -119
- package/docs/es/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/es/releases/v6.md +28 -0
- package/docs/es/releases/v7.md +128 -0
- package/docs/es/releases/v9.md +37 -1
- package/docs/es/roadmap.md +6 -0
- package/docs/fr/CI_CD.md +4 -0
- package/docs/fr/autoFill.md +81 -0
- package/docs/fr/benchmark/solid.md +22 -0
- package/docs/fr/benchmark/svelte.md +22 -0
- package/docs/fr/benchmark/tanstack.md +22 -0
- package/docs/fr/cli/ci.md +22 -0
- package/docs/fr/cli/fill.md +8 -0
- package/docs/fr/cli/login.md +0 -36
- package/docs/fr/compat/i18n-js.md +44 -0
- package/docs/fr/compat/i18next.md +59 -0
- package/docs/fr/compat/index.md +51 -0
- package/docs/fr/compat/lingui.md +44 -0
- package/docs/fr/compat/next-i18next.md +57 -0
- package/docs/fr/compat/next-intl.md +59 -0
- package/docs/fr/compat/next-translate.md +45 -0
- package/docs/fr/compat/ngx-translate.md +45 -0
- package/docs/fr/compat/nuxtjs-i18n.md +46 -0
- package/docs/fr/compat/polyglot.md +45 -0
- package/docs/fr/compat/react-i18next.md +58 -0
- package/docs/fr/compat/react-intl.md +55 -0
- package/docs/fr/compat/svelte-i18n.md +47 -0
- package/docs/fr/compat/transloco.md +45 -0
- package/docs/fr/compat/vue-i18n.md +58 -0
- package/docs/fr/compiler.md +3 -1
- package/docs/fr/configuration.md +20 -17
- package/docs/fr/custom_domains.md +1 -1
- package/docs/fr/custom_url_rewrites.md +14 -14
- package/docs/fr/dictionary/content_file.md +4 -0
- package/docs/fr/dictionary/enumeration.md +0 -187
- package/docs/fr/dictionary/file.md +8 -0
- package/docs/fr/dictionary/nesting.md +39 -0
- package/docs/fr/dictionary/translation.md +0 -61
- package/docs/fr/formatters.md +171 -77
- package/docs/fr/how_works_intlayer.md +4 -0
- package/docs/fr/intlayer_CMS.md +6 -0
- package/docs/fr/intlayer_with_astro.md +129 -2
- package/docs/fr/intlayer_with_astro_lit.md +1 -1
- package/docs/fr/intlayer_with_astro_preact.md +1 -1
- package/docs/fr/intlayer_with_astro_react.md +1 -1
- package/docs/fr/intlayer_with_astro_solid.md +1 -1
- package/docs/fr/intlayer_with_astro_svelte.md +1 -1
- package/docs/fr/intlayer_with_astro_vanilla.md +1 -1
- package/docs/fr/intlayer_with_astro_vue.md +1 -1
- package/docs/fr/intlayer_with_create_react_app.md +0 -14
- package/docs/fr/intlayer_with_express.md +0 -4
- package/docs/fr/intlayer_with_nestjs.md +0 -18
- package/docs/fr/intlayer_with_nextjs_14.md +26 -5
- package/docs/fr/intlayer_with_nextjs_15.md +21 -1
- package/docs/fr/intlayer_with_nextjs_16.md +1 -1
- package/docs/fr/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/fr/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/fr/intlayer_with_nuxt.md +0 -27
- package/docs/fr/intlayer_with_react_native+expo.md +36 -0
- package/docs/fr/intlayer_with_react_router_v7.md +1 -95
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -100
- package/docs/fr/intlayer_with_svelte_kit.md +1 -239
- package/docs/fr/intlayer_with_tanstack+solid.md +3 -1
- package/docs/fr/intlayer_with_tanstack.md +1 -1
- package/docs/fr/intlayer_with_vite+lit.md +1 -1
- package/docs/fr/intlayer_with_vite+preact.md +5 -1
- package/docs/fr/intlayer_with_vite+react.md +1 -1
- package/docs/fr/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/fr/intlayer_with_vite+solid.md +1 -1
- package/docs/fr/intlayer_with_vite+svelte.md +1 -1
- package/docs/fr/intlayer_with_vite+vanilla.md +1 -1
- package/docs/fr/intlayer_with_vite+vue.md +13 -83
- package/docs/fr/packages/express-intlayer/t.md +0 -9
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +99 -0
- package/docs/fr/packages/next-intlayer/t.md +1 -1
- package/docs/fr/packages/next-intlayer/useRewriteURL.md +0 -8
- package/docs/fr/packages/react-intlayer/useDictionary.md +33 -149
- package/docs/fr/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/fr/plugins/sync-json.md +0 -59
- package/docs/fr/releases/v6.md +28 -0
- package/docs/fr/releases/v7.md +128 -0
- package/docs/fr/releases/v9.md +37 -1
- package/docs/fr/roadmap.md +6 -0
- package/docs/hi/CI_CD.md +4 -0
- package/docs/hi/autoFill.md +81 -0
- package/docs/hi/benchmark/solid.md +22 -0
- package/docs/hi/benchmark/svelte.md +22 -0
- package/docs/hi/benchmark/tanstack.md +22 -0
- package/docs/hi/cli/ci.md +22 -0
- package/docs/hi/cli/fill.md +8 -0
- package/docs/hi/cli/login.md +0 -36
- package/docs/hi/compat/i18n-js.md +44 -0
- package/docs/hi/compat/i18next.md +59 -0
- package/docs/hi/compat/index.md +51 -0
- package/docs/hi/compat/lingui.md +44 -0
- package/docs/hi/compat/next-i18next.md +57 -0
- package/docs/hi/compat/next-intl.md +59 -0
- package/docs/hi/compat/next-translate.md +45 -0
- package/docs/hi/compat/ngx-translate.md +45 -0
- package/docs/hi/compat/nuxtjs-i18n.md +46 -0
- package/docs/hi/compat/polyglot.md +45 -0
- package/docs/hi/compat/react-i18next.md +58 -0
- package/docs/hi/compat/react-intl.md +55 -0
- package/docs/hi/compat/svelte-i18n.md +47 -0
- package/docs/hi/compat/transloco.md +45 -0
- package/docs/hi/compat/vue-i18n.md +58 -0
- package/docs/hi/compiler.md +3 -1
- package/docs/hi/configuration.md +19 -17
- package/docs/hi/custom_domains.md +1 -1
- package/docs/hi/custom_url_rewrites.md +1 -1
- package/docs/hi/dictionary/enumeration.md +0 -187
- package/docs/hi/dictionary/file.md +8 -0
- package/docs/hi/dictionary/nesting.md +39 -0
- package/docs/hi/dictionary/translation.md +0 -61
- package/docs/hi/formatters.md +85 -0
- package/docs/hi/how_works_intlayer.md +2 -0
- package/docs/hi/interest_of_intlayer.md +194 -0
- package/docs/hi/intlayer_CMS.md +6 -0
- package/docs/hi/intlayer_with_astro.md +130 -3
- package/docs/hi/intlayer_with_astro_lit.md +1 -1
- package/docs/hi/intlayer_with_astro_preact.md +1 -1
- package/docs/hi/intlayer_with_astro_react.md +1 -1
- package/docs/hi/intlayer_with_astro_solid.md +1 -1
- package/docs/hi/intlayer_with_astro_svelte.md +1 -1
- package/docs/hi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/hi/intlayer_with_astro_vue.md +1 -1
- package/docs/hi/intlayer_with_create_react_app.md +15 -0
- package/docs/hi/intlayer_with_express.md +0 -23
- package/docs/hi/intlayer_with_nestjs.md +0 -8
- package/docs/hi/intlayer_with_nextjs_14.md +31 -8
- package/docs/hi/intlayer_with_nextjs_15.md +21 -1
- package/docs/hi/intlayer_with_nextjs_16.md +176 -54
- package/docs/hi/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/hi/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/hi/intlayer_with_nuxt.md +0 -27
- package/docs/hi/intlayer_with_react_native+expo.md +36 -0
- package/docs/hi/intlayer_with_react_router_v7.md +1 -95
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +20 -96
- package/docs/hi/intlayer_with_svelte_kit.md +1 -207
- package/docs/hi/intlayer_with_tanstack+solid.md +3 -1
- package/docs/hi/intlayer_with_tanstack.md +1 -1
- package/docs/hi/intlayer_with_vite+lit.md +1 -1
- package/docs/hi/intlayer_with_vite+preact.md +1 -1
- package/docs/hi/intlayer_with_vite+react.md +1 -1
- package/docs/hi/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/hi/intlayer_with_vite+solid.md +1 -1
- package/docs/hi/intlayer_with_vite+svelte.md +32 -48
- package/docs/hi/intlayer_with_vite+vanilla.md +1 -1
- package/docs/hi/intlayer_with_vite+vue.md +23 -71
- package/docs/hi/mcp_server.md +22 -0
- package/docs/hi/migration_from_i18next_to_intlayer.md +331 -0
- package/docs/hi/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/hi/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/hi/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/hi/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +68 -0
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/hi/packages/next-intlayer/t.md +2 -0
- package/docs/hi/packages/react-intlayer/useDictionary.md +0 -102
- package/docs/hi/packages/react-intlayer/useI18n.md +0 -4
- package/docs/hi/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/hi/releases/v6.md +28 -0
- package/docs/hi/releases/v7.md +128 -0
- package/docs/hi/releases/v9.md +37 -1
- package/docs/hi/roadmap.md +6 -0
- package/docs/id/autoFill.md +20 -0
- package/docs/id/benchmark/solid.md +22 -0
- package/docs/id/benchmark/svelte.md +22 -0
- package/docs/id/benchmark/tanstack.md +22 -0
- package/docs/id/cli/ci.md +22 -0
- package/docs/id/cli/fill.md +8 -0
- package/docs/id/compat/i18n-js.md +44 -0
- package/docs/id/compat/i18next.md +59 -0
- package/docs/id/compat/index.md +51 -0
- package/docs/id/compat/lingui.md +44 -0
- package/docs/id/compat/next-i18next.md +57 -0
- package/docs/id/compat/next-intl.md +59 -0
- package/docs/id/compat/next-translate.md +45 -0
- package/docs/id/compat/ngx-translate.md +45 -0
- package/docs/id/compat/nuxtjs-i18n.md +46 -0
- package/docs/id/compat/polyglot.md +45 -0
- package/docs/id/compat/react-i18next.md +58 -0
- package/docs/id/compat/react-intl.md +55 -0
- package/docs/id/compat/svelte-i18n.md +47 -0
- package/docs/id/compat/transloco.md +45 -0
- package/docs/id/compat/vue-i18n.md +58 -0
- package/docs/id/compiler.md +3 -1
- package/docs/id/configuration.md +19 -17
- package/docs/id/custom_domains.md +1 -1
- package/docs/id/custom_url_rewrites.md +14 -16
- package/docs/id/dictionary/content_file.md +0 -7
- package/docs/id/dictionary/enumeration.md +0 -187
- package/docs/id/dictionary/nesting.md +39 -0
- package/docs/id/dictionary/translation.md +0 -61
- package/docs/id/formatters.md +120 -0
- package/docs/id/interest_of_intlayer.md +193 -0
- package/docs/id/intlayer_with_astro.md +130 -3
- package/docs/id/intlayer_with_astro_lit.md +1 -1
- package/docs/id/intlayer_with_astro_preact.md +1 -1
- package/docs/id/intlayer_with_astro_react.md +1 -1
- package/docs/id/intlayer_with_astro_solid.md +1 -1
- package/docs/id/intlayer_with_astro_svelte.md +1 -1
- package/docs/id/intlayer_with_astro_vanilla.md +1 -1
- package/docs/id/intlayer_with_astro_vue.md +1 -1
- package/docs/id/intlayer_with_nextjs_14.md +1 -1
- package/docs/id/intlayer_with_nextjs_15.md +1 -1
- package/docs/id/intlayer_with_nextjs_16.md +176 -54
- package/docs/id/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/id/intlayer_with_react_native+expo.md +8 -61
- package/docs/id/intlayer_with_react_router_v7.md +1 -95
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -103
- package/docs/id/intlayer_with_svelte_kit.md +1 -207
- package/docs/id/intlayer_with_tanstack+solid.md +3 -1
- package/docs/id/intlayer_with_tanstack.md +1 -1
- package/docs/id/intlayer_with_vite+lit.md +1 -1
- package/docs/id/intlayer_with_vite+preact.md +57 -57
- package/docs/id/intlayer_with_vite+react.md +49 -49
- package/docs/id/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/id/intlayer_with_vite+solid.md +33 -42
- package/docs/id/intlayer_with_vite+svelte.md +27 -29
- package/docs/id/intlayer_with_vite+vanilla.md +1 -1
- package/docs/id/intlayer_with_vite+vue.md +49 -101
- package/docs/id/mcp_server.md +22 -0
- package/docs/id/migration_from_i18next_to_intlayer.md +330 -0
- package/docs/id/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/id/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/id/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/id/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/id/packages/intlayer/getLocalizedUrl.md +25 -0
- package/docs/id/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/id/packages/react-intlayer/useDictionary.md +0 -121
- package/docs/id/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/id/releases/v6.md +4 -0
- package/docs/id/releases/v7.md +128 -0
- package/docs/id/releases/v9.md +37 -1
- package/docs/id/roadmap.md +0 -16
- package/docs/it/CI_CD.md +4 -0
- package/docs/it/autoFill.md +81 -0
- package/docs/it/benchmark/solid.md +22 -0
- package/docs/it/benchmark/svelte.md +22 -0
- package/docs/it/benchmark/tanstack.md +22 -0
- package/docs/it/cli/ci.md +22 -0
- package/docs/it/cli/fill.md +8 -0
- package/docs/it/compat/i18n-js.md +44 -0
- package/docs/it/compat/i18next.md +59 -0
- package/docs/it/compat/index.md +51 -0
- package/docs/it/compat/lingui.md +44 -0
- package/docs/it/compat/next-i18next.md +57 -0
- package/docs/it/compat/next-intl.md +59 -0
- package/docs/it/compat/next-translate.md +45 -0
- package/docs/it/compat/ngx-translate.md +45 -0
- package/docs/it/compat/nuxtjs-i18n.md +46 -0
- package/docs/it/compat/polyglot.md +45 -0
- package/docs/it/compat/react-i18next.md +58 -0
- package/docs/it/compat/react-intl.md +55 -0
- package/docs/it/compat/svelte-i18n.md +47 -0
- package/docs/it/compat/transloco.md +45 -0
- package/docs/it/compat/vue-i18n.md +58 -0
- package/docs/it/compiler.md +3 -1
- package/docs/it/configuration.md +19 -17
- package/docs/it/custom_domains.md +1 -1
- package/docs/it/custom_url_rewrites.md +1 -1
- package/docs/it/dictionary/content_file.md +4 -7
- package/docs/it/dictionary/enumeration.md +0 -197
- package/docs/it/dictionary/file.md +8 -0
- package/docs/it/dictionary/nesting.md +39 -0
- package/docs/it/dictionary/translation.md +0 -61
- package/docs/it/formatters.md +82 -0
- package/docs/it/how_works_intlayer.md +4 -4
- package/docs/it/intlayer_CMS.md +6 -0
- package/docs/it/intlayer_with_astro.md +129 -2
- package/docs/it/intlayer_with_astro_lit.md +1 -1
- package/docs/it/intlayer_with_astro_preact.md +1 -1
- package/docs/it/intlayer_with_astro_react.md +1 -1
- package/docs/it/intlayer_with_astro_solid.md +1 -1
- package/docs/it/intlayer_with_astro_svelte.md +1 -1
- package/docs/it/intlayer_with_astro_vanilla.md +1 -1
- package/docs/it/intlayer_with_astro_vue.md +1 -1
- package/docs/it/intlayer_with_create_react_app.md +0 -14
- package/docs/it/intlayer_with_express.md +0 -4
- package/docs/it/intlayer_with_lynx+react.md +11 -0
- package/docs/it/intlayer_with_nestjs.md +0 -8
- package/docs/it/intlayer_with_nextjs_14.md +30 -9
- package/docs/it/intlayer_with_nextjs_15.md +21 -1
- package/docs/it/intlayer_with_nextjs_16.md +176 -54
- package/docs/it/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/it/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/it/intlayer_with_react_native+expo.md +36 -0
- package/docs/it/intlayer_with_react_router_v7.md +1 -95
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/it/intlayer_with_svelte_kit.md +1 -239
- package/docs/it/intlayer_with_tanstack+solid.md +3 -1
- package/docs/it/intlayer_with_tanstack.md +1 -1
- package/docs/it/intlayer_with_vite+lit.md +1 -1
- package/docs/it/intlayer_with_vite+preact.md +61 -57
- package/docs/it/intlayer_with_vite+react.md +49 -1
- package/docs/it/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/it/intlayer_with_vite+solid.md +33 -42
- package/docs/it/intlayer_with_vite+svelte.md +27 -29
- package/docs/it/intlayer_with_vite+vanilla.md +1 -1
- package/docs/it/intlayer_with_vite+vue.md +53 -123
- package/docs/it/mcp_server.md +22 -0
- package/docs/it/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/it/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/it/packages/next-intlayer/t.md +34 -0
- package/docs/it/packages/react-intlayer/useDictionary.md +0 -104
- package/docs/it/packages/react-intlayer/useIntlayer.md +0 -57
- package/docs/it/releases/v6.md +28 -0
- package/docs/it/releases/v7.md +128 -0
- package/docs/it/releases/v9.md +37 -1
- package/docs/it/roadmap.md +6 -0
- package/docs/ja/CI_CD.md +4 -0
- package/docs/ja/autoFill.md +81 -0
- package/docs/ja/benchmark/solid.md +22 -0
- package/docs/ja/benchmark/svelte.md +22 -0
- package/docs/ja/benchmark/tanstack.md +22 -0
- package/docs/ja/cli/ci.md +22 -0
- package/docs/ja/cli/fill.md +8 -0
- package/docs/ja/cli/list_projects.md +0 -18
- package/docs/ja/compat/i18n-js.md +44 -0
- package/docs/ja/compat/i18next.md +59 -0
- package/docs/ja/compat/index.md +51 -0
- package/docs/ja/compat/lingui.md +44 -0
- package/docs/ja/compat/next-i18next.md +57 -0
- package/docs/ja/compat/next-intl.md +59 -0
- package/docs/ja/compat/next-translate.md +45 -0
- package/docs/ja/compat/ngx-translate.md +45 -0
- package/docs/ja/compat/nuxtjs-i18n.md +46 -0
- package/docs/ja/compat/polyglot.md +45 -0
- package/docs/ja/compat/react-i18next.md +58 -0
- package/docs/ja/compat/react-intl.md +55 -0
- package/docs/ja/compat/svelte-i18n.md +47 -0
- package/docs/ja/compat/transloco.md +45 -0
- package/docs/ja/compat/vue-i18n.md +58 -0
- package/docs/ja/compiler.md +3 -1
- package/docs/ja/configuration.md +19 -17
- package/docs/ja/custom_domains.md +1 -1
- package/docs/ja/custom_url_rewrites.md +1 -1
- package/docs/ja/dictionary/content_file.md +4 -0
- package/docs/ja/dictionary/enumeration.md +0 -187
- package/docs/ja/dictionary/function_fetching.md +0 -27
- package/docs/ja/dictionary/markdown.md +1348 -0
- package/docs/ja/dictionary/nesting.md +39 -0
- package/docs/ja/dictionary/translation.md +0 -119
- package/docs/ja/formatters.md +77 -0
- package/docs/ja/how_works_intlayer.md +4 -2
- package/docs/ja/intlayer_CMS.md +6 -0
- package/docs/ja/intlayer_visual_editor.md +0 -4
- package/docs/ja/intlayer_with_analog.md +4 -0
- package/docs/ja/intlayer_with_astro.md +129 -2
- package/docs/ja/intlayer_with_astro_lit.md +1 -1
- package/docs/ja/intlayer_with_astro_preact.md +1 -1
- package/docs/ja/intlayer_with_astro_react.md +1 -1
- package/docs/ja/intlayer_with_astro_solid.md +1 -1
- package/docs/ja/intlayer_with_astro_svelte.md +1 -1
- package/docs/ja/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ja/intlayer_with_astro_vue.md +1 -1
- package/docs/ja/intlayer_with_create_react_app.md +0 -16
- package/docs/ja/intlayer_with_express.md +0 -4
- package/docs/ja/intlayer_with_nestjs.md +0 -8
- package/docs/ja/intlayer_with_nextjs_14.md +26 -20
- package/docs/ja/intlayer_with_nextjs_15.md +21 -1
- package/docs/ja/intlayer_with_nextjs_16.md +176 -54
- package/docs/ja/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ja/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/ja/intlayer_with_react_native+expo.md +36 -0
- package/docs/ja/intlayer_with_react_router_v7.md +1 -23
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/ja/intlayer_with_svelte_kit.md +12 -1
- package/docs/ja/intlayer_with_tanstack+solid.md +3 -1
- package/docs/ja/intlayer_with_tanstack.md +3 -1
- package/docs/ja/intlayer_with_vite+lit.md +1 -1
- package/docs/ja/intlayer_with_vite+preact.md +704 -1
- package/docs/ja/intlayer_with_vite+react.md +1 -1
- package/docs/ja/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ja/intlayer_with_vite+solid.md +33 -42
- package/docs/ja/intlayer_with_vite+svelte.md +29 -29
- package/docs/ja/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ja/intlayer_with_vite+vue.md +70 -114
- package/docs/ja/mcp_server.md +26 -0
- package/docs/ja/packages/express-intlayer/t.md +0 -9
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/ja/packages/react-intlayer/useDictionary.md +0 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +0 -65
- package/docs/ja/releases/v6.md +28 -0
- package/docs/ja/releases/v7.md +128 -0
- package/docs/ja/releases/v9.md +37 -1
- package/docs/ja/roadmap.md +6 -0
- package/docs/ko/CI_CD.md +4 -0
- package/docs/ko/autoFill.md +81 -0
- package/docs/ko/benchmark/solid.md +22 -0
- package/docs/ko/benchmark/svelte.md +22 -0
- package/docs/ko/benchmark/tanstack.md +22 -0
- package/docs/ko/cli/ci.md +22 -0
- package/docs/ko/cli/fill.md +8 -0
- package/docs/ko/cli/login.md +0 -36
- package/docs/ko/compat/i18n-js.md +44 -0
- package/docs/ko/compat/i18next.md +59 -0
- package/docs/ko/compat/index.md +51 -0
- package/docs/ko/compat/lingui.md +44 -0
- package/docs/ko/compat/next-i18next.md +55 -0
- package/docs/ko/compat/next-intl.md +59 -0
- package/docs/ko/compat/next-translate.md +45 -0
- package/docs/ko/compat/ngx-translate.md +45 -0
- package/docs/ko/compat/nuxtjs-i18n.md +46 -0
- package/docs/ko/compat/polyglot.md +45 -0
- package/docs/ko/compat/react-i18next.md +58 -0
- package/docs/ko/compat/react-intl.md +55 -0
- package/docs/ko/compat/svelte-i18n.md +47 -0
- package/docs/ko/compat/transloco.md +45 -0
- package/docs/ko/compat/vue-i18n.md +58 -0
- package/docs/ko/compiler.md +3 -1
- package/docs/ko/configuration.md +19 -17
- package/docs/ko/custom_domains.md +1 -1
- package/docs/ko/custom_url_rewrites.md +1 -1
- package/docs/ko/dictionary/content_file.md +4 -27
- package/docs/ko/dictionary/enumeration.md +0 -187
- package/docs/ko/dictionary/insertion.md +0 -6
- package/docs/ko/dictionary/nesting.md +39 -0
- package/docs/ko/dictionary/translation.md +0 -84
- package/docs/ko/formatters.md +71 -0
- package/docs/ko/how_works_intlayer.md +4 -0
- package/docs/ko/intlayer_CMS.md +6 -0
- package/docs/ko/intlayer_visual_editor.md +0 -2
- package/docs/ko/intlayer_with_analog.md +4 -0
- package/docs/ko/intlayer_with_astro.md +129 -2
- package/docs/ko/intlayer_with_astro_lit.md +1 -1
- package/docs/ko/intlayer_with_astro_preact.md +1 -1
- package/docs/ko/intlayer_with_astro_react.md +1 -1
- package/docs/ko/intlayer_with_astro_solid.md +1 -1
- package/docs/ko/intlayer_with_astro_svelte.md +1 -1
- package/docs/ko/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ko/intlayer_with_astro_vue.md +1 -1
- package/docs/ko/intlayer_with_create_react_app.md +0 -14
- package/docs/ko/intlayer_with_express.md +0 -23
- package/docs/ko/intlayer_with_lynx+react.md +0 -124
- package/docs/ko/intlayer_with_nestjs.md +0 -18
- package/docs/ko/intlayer_with_nextjs_14.md +19 -13
- package/docs/ko/intlayer_with_nextjs_15.md +21 -1
- package/docs/ko/intlayer_with_nextjs_16.md +175 -56
- package/docs/ko/intlayer_with_nextjs_compiler.md +1 -308
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ko/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/ko/intlayer_with_react_native+expo.md +36 -262
- package/docs/ko/intlayer_with_react_router_v7.md +1 -95
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +20 -96
- package/docs/ko/intlayer_with_svelte_kit.md +1 -207
- package/docs/ko/intlayer_with_tanstack+solid.md +3 -1
- package/docs/ko/intlayer_with_tanstack.md +1 -1
- package/docs/ko/intlayer_with_vite+lit.md +1 -1
- package/docs/ko/intlayer_with_vite+preact.md +57 -91
- package/docs/ko/intlayer_with_vite+react.md +93 -18
- package/docs/ko/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ko/intlayer_with_vite+solid.md +33 -143
- package/docs/ko/intlayer_with_vite+svelte.md +27 -29
- package/docs/ko/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ko/intlayer_with_vite+vue.md +54 -106
- package/docs/ko/mcp_server.md +22 -0
- package/docs/ko/packages/express-intlayer/t.md +0 -9
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/ko/packages/next-intlayer/t.md +34 -0
- package/docs/ko/packages/next-intlayer/useLocale.md +0 -5
- package/docs/ko/packages/react-intlayer/t.md +0 -20
- package/docs/ko/packages/react-intlayer/useDictionary.md +0 -121
- package/docs/ko/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/ko/releases/v6.md +28 -0
- package/docs/ko/releases/v7.md +128 -0
- package/docs/ko/releases/v9.md +37 -1
- package/docs/ko/roadmap.md +6 -0
- package/docs/pl/autoFill.md +20 -0
- package/docs/pl/benchmark/___NOTE.md +101 -0
- package/docs/pl/benchmark/___nextjs.md +198 -0
- package/docs/pl/benchmark/___solid.md +36 -0
- package/docs/pl/benchmark/___svelte.md +36 -0
- package/docs/pl/benchmark/___tanstack.md +36 -0
- package/docs/pl/benchmark/___vue.md +36 -0
- package/docs/pl/benchmark/solid.md +22 -0
- package/docs/pl/benchmark/svelte.md +22 -0
- package/docs/pl/benchmark/tanstack.md +22 -0
- package/docs/pl/cli/ci.md +22 -0
- package/docs/pl/cli/fill.md +8 -0
- package/docs/pl/cli/login.md +0 -36
- package/docs/pl/compat/i18n-js.md +44 -0
- package/docs/pl/compat/i18next.md +59 -0
- package/docs/pl/compat/index.md +51 -0
- package/docs/pl/compat/lingui.md +44 -0
- package/docs/pl/compat/next-i18next.md +57 -0
- package/docs/pl/compat/next-intl.md +59 -0
- package/docs/pl/compat/next-translate.md +45 -0
- package/docs/pl/compat/ngx-translate.md +45 -0
- package/docs/pl/compat/nuxtjs-i18n.md +46 -0
- package/docs/pl/compat/polyglot.md +45 -0
- package/docs/pl/compat/react-i18next.md +58 -0
- package/docs/pl/compat/react-intl.md +55 -0
- package/docs/pl/compat/svelte-i18n.md +47 -0
- package/docs/pl/compat/transloco.md +45 -0
- package/docs/pl/compat/vue-i18n.md +58 -0
- package/docs/pl/configuration.md +15 -16
- package/docs/pl/dictionary/content_file.md +0 -40
- package/docs/pl/dictionary/enumeration.md +0 -187
- package/docs/pl/dictionary/nesting.md +39 -0
- package/docs/pl/dictionary/translation.md +0 -61
- package/docs/pl/formatters.md +120 -0
- package/docs/pl/intlayer_with_astro.md +179 -0
- package/docs/pl/intlayer_with_react_native+expo.md +8 -61
- package/docs/pl/intlayer_with_react_router_v7.md +0 -94
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +0 -95
- package/docs/pl/intlayer_with_svelte_kit.md +0 -210
- package/docs/pl/intlayer_with_vite+preact.md +56 -56
- package/docs/pl/intlayer_with_vite+react.md +48 -48
- package/docs/pl/intlayer_with_vite+solid.md +32 -41
- package/docs/pl/intlayer_with_vite+svelte.md +28 -28
- package/docs/pl/intlayer_with_vite+vue.md +48 -70
- package/docs/pl/mcp_server.md +22 -0
- package/docs/pl/migration_from_i18next_to_intlayer.md +230 -0
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +351 -0
- package/docs/pl/migration_from_next-intl_to_intlayer.md +360 -0
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +324 -0
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +380 -0
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +232 -0
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +19 -0
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/pl/packages/react-intlayer/useDictionary.md +0 -104
- package/docs/pl/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/pl/plugins/sync-json.md +0 -59
- package/docs/pl/releases/v6.md +4 -0
- package/docs/pl/releases/v7.md +128 -0
- package/docs/pl/releases/v9.md +36 -0
- package/docs/pl/roadmap.md +0 -16
- package/docs/pt/CI_CD.md +4 -0
- package/docs/pt/autoFill.md +117 -14
- package/docs/pt/benchmark/index.md +5 -5
- package/docs/pt/benchmark/solid.md +22 -0
- package/docs/pt/benchmark/svelte.md +22 -0
- package/docs/pt/benchmark/tanstack.md +22 -0
- package/docs/pt/cli/ci.md +22 -0
- package/docs/pt/cli/fill.md +8 -0
- package/docs/pt/cli/login.md +0 -36
- package/docs/pt/compat/i18n-js.md +44 -0
- package/docs/pt/compat/i18next.md +59 -0
- package/docs/pt/compat/index.md +51 -0
- package/docs/pt/compat/lingui.md +44 -0
- package/docs/pt/compat/next-i18next.md +57 -0
- package/docs/pt/compat/next-intl.md +59 -0
- package/docs/pt/compat/next-translate.md +45 -0
- package/docs/pt/compat/ngx-translate.md +45 -0
- package/docs/pt/compat/nuxtjs-i18n.md +46 -0
- package/docs/pt/compat/polyglot.md +45 -0
- package/docs/pt/compat/react-i18next.md +58 -0
- package/docs/pt/compat/react-intl.md +55 -0
- package/docs/pt/compat/svelte-i18n.md +47 -0
- package/docs/pt/compat/transloco.md +45 -0
- package/docs/pt/compat/vue-i18n.md +58 -0
- package/docs/pt/compiler.md +2 -2
- package/docs/pt/configuration.md +16 -17
- package/docs/pt/custom_domains.md +1 -6
- package/docs/pt/custom_url_rewrites.md +1 -1
- package/docs/pt/dictionary/content_file.md +4 -7
- package/docs/pt/dictionary/enumeration.md +3 -190
- package/docs/pt/dictionary/file.md +8 -0
- package/docs/pt/dictionary/nesting.md +39 -0
- package/docs/pt/dictionary/translation.md +0 -61
- package/docs/pt/formatters.md +86 -0
- package/docs/pt/how_works_intlayer.md +4 -0
- package/docs/pt/intlayer_CMS.md +21 -0
- package/docs/pt/intlayer_with_analog.md +3 -3
- package/docs/pt/intlayer_with_angular_19.md +7 -7
- package/docs/pt/intlayer_with_angular_21.md +3 -3
- package/docs/pt/intlayer_with_astro.md +182 -3
- package/docs/pt/intlayer_with_astro_lit.md +3 -3
- package/docs/pt/intlayer_with_astro_preact.md +3 -3
- package/docs/pt/intlayer_with_astro_react.md +3 -3
- package/docs/pt/intlayer_with_astro_solid.md +3 -3
- package/docs/pt/intlayer_with_astro_svelte.md +3 -3
- package/docs/pt/intlayer_with_astro_vanilla.md +3 -3
- package/docs/pt/intlayer_with_astro_vue.md +3 -3
- package/docs/pt/intlayer_with_create_react_app.md +0 -14
- package/docs/pt/intlayer_with_express.md +0 -23
- package/docs/pt/intlayer_with_lynx+react.md +14 -3
- package/docs/pt/intlayer_with_nestjs.md +0 -18
- package/docs/pt/intlayer_with_nextjs_14.md +26 -7
- package/docs/pt/intlayer_with_nextjs_15.md +27 -7
- package/docs/pt/intlayer_with_nextjs_16.md +6 -6
- package/docs/pt/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +6 -6
- package/docs/pt/intlayer_with_nextjs_page_router.md +10 -6
- package/docs/pt/intlayer_with_nuxt.md +3 -3
- package/docs/pt/intlayer_with_react_native+expo.md +39 -3
- package/docs/pt/intlayer_with_react_router_v7.md +8 -84
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +3 -98
- package/docs/pt/intlayer_with_storybook.md +3 -3
- package/docs/pt/intlayer_with_svelte_kit.md +3 -245
- package/docs/pt/intlayer_with_tanstack+solid.md +3 -3
- package/docs/pt/intlayer_with_tanstack.md +3 -3
- package/docs/pt/intlayer_with_vanilla.md +3 -3
- package/docs/pt/intlayer_with_vite+lit.md +3 -3
- package/docs/pt/intlayer_with_vite+preact.md +3 -3
- package/docs/pt/intlayer_with_vite+react.md +10 -10
- package/docs/pt/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/pt/intlayer_with_vite+solid.md +3 -3
- package/docs/pt/intlayer_with_vite+svelte.md +31 -31
- package/docs/pt/intlayer_with_vite+vanilla.md +3 -3
- package/docs/pt/intlayer_with_vite+vue.md +7 -3
- package/docs/pt/mcp_server.md +22 -0
- package/docs/pt/packages/hono-intlayer/t.md +1 -1
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/pt/packages/next-intlayer/t.md +34 -0
- package/docs/pt/packages/react-intlayer/useDictionary.md +0 -121
- package/docs/pt/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/pt/plugins/sync-po.md +1 -1
- package/docs/pt/readme.md +3 -3
- package/docs/pt/releases/v6.md +28 -0
- package/docs/pt/releases/v7.md +128 -0
- package/docs/pt/releases/v9.md +37 -1
- package/docs/pt/roadmap.md +6 -0
- package/docs/ru/CI_CD.md +4 -0
- package/docs/ru/autoFill.md +81 -0
- package/docs/ru/benchmark/solid.md +22 -0
- package/docs/ru/benchmark/svelte.md +22 -0
- package/docs/ru/benchmark/tanstack.md +22 -0
- package/docs/ru/cli/ci.md +22 -0
- package/docs/ru/cli/fill.md +8 -0
- package/docs/ru/cli/login.md +0 -36
- package/docs/ru/compat/i18n-js.md +44 -0
- package/docs/ru/compat/i18next.md +59 -0
- package/docs/ru/compat/index.md +51 -0
- package/docs/ru/compat/lingui.md +44 -0
- package/docs/ru/compat/next-i18next.md +57 -0
- package/docs/ru/compat/next-intl.md +59 -0
- package/docs/ru/compat/next-translate.md +45 -0
- package/docs/ru/compat/ngx-translate.md +45 -0
- package/docs/ru/compat/nuxtjs-i18n.md +46 -0
- package/docs/ru/compat/polyglot.md +45 -0
- package/docs/ru/compat/react-i18next.md +58 -0
- package/docs/ru/compat/react-intl.md +55 -0
- package/docs/ru/compat/svelte-i18n.md +47 -0
- package/docs/ru/compat/transloco.md +45 -0
- package/docs/ru/compat/vue-i18n.md +58 -0
- package/docs/ru/compiler.md +3 -1
- package/docs/ru/configuration.md +19 -17
- package/docs/ru/custom_domains.md +1 -1
- package/docs/ru/custom_url_rewrites.md +1 -1
- package/docs/ru/dictionary/content_file.md +4 -27
- package/docs/ru/dictionary/enumeration.md +0 -199
- package/docs/ru/dictionary/file.md +8 -0
- package/docs/ru/dictionary/markdown.md +510 -0
- package/docs/ru/dictionary/nesting.md +8 -0
- package/docs/ru/dictionary/translation.md +0 -61
- package/docs/ru/formatters.md +136 -0
- package/docs/ru/how_works_intlayer.md +4 -0
- package/docs/ru/intlayer_CMS.md +6 -0
- package/docs/ru/intlayer_with_astro.md +129 -2
- package/docs/ru/intlayer_with_astro_lit.md +1 -1
- package/docs/ru/intlayer_with_astro_preact.md +1 -1
- package/docs/ru/intlayer_with_astro_react.md +1 -1
- package/docs/ru/intlayer_with_astro_solid.md +1 -1
- package/docs/ru/intlayer_with_astro_svelte.md +1 -1
- package/docs/ru/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ru/intlayer_with_astro_vue.md +1 -1
- package/docs/ru/intlayer_with_express.md +0 -23
- package/docs/ru/intlayer_with_nestjs.md +0 -18
- package/docs/ru/intlayer_with_nextjs_14.md +31 -8
- package/docs/ru/intlayer_with_nextjs_15.md +21 -1
- package/docs/ru/intlayer_with_nextjs_16.md +1 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ru/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/ru/intlayer_with_react_native+expo.md +36 -49
- package/docs/ru/intlayer_with_react_router_v7.md +1 -95
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/ru/intlayer_with_svelte_kit.md +1 -207
- package/docs/ru/intlayer_with_tanstack+solid.md +3 -1
- package/docs/ru/intlayer_with_tanstack.md +1 -1
- package/docs/ru/intlayer_with_vite+lit.md +1 -1
- package/docs/ru/intlayer_with_vite+preact.md +57 -57
- package/docs/ru/intlayer_with_vite+react.md +3 -1
- package/docs/ru/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ru/intlayer_with_vite+solid.md +33 -42
- package/docs/ru/intlayer_with_vite+svelte.md +27 -29
- package/docs/ru/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ru/intlayer_with_vite+vue.md +53 -101
- package/docs/ru/mcp_server.md +22 -0
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/ru/packages/next-intlayer/t.md +34 -0
- package/docs/ru/packages/react-intlayer/useDictionary.md +0 -104
- package/docs/ru/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/ru/packages/react-intlayer/useLocale.md +9 -0
- package/docs/ru/releases/v6.md +28 -0
- package/docs/ru/releases/v7.md +128 -0
- package/docs/ru/releases/v9.md +37 -1
- package/docs/ru/roadmap.md +6 -0
- package/docs/tr/CI_CD.md +4 -0
- package/docs/tr/autoFill.md +81 -0
- package/docs/tr/benchmark/solid.md +22 -0
- package/docs/tr/benchmark/svelte.md +22 -0
- package/docs/tr/benchmark/tanstack.md +22 -0
- package/docs/tr/cli/ci.md +22 -0
- package/docs/tr/cli/fill.md +8 -0
- package/docs/tr/cli/login.md +0 -10
- package/docs/tr/compat/i18n-js.md +44 -0
- package/docs/tr/compat/i18next.md +59 -0
- package/docs/tr/compat/index.md +51 -0
- package/docs/tr/compat/lingui.md +44 -0
- package/docs/tr/compat/next-i18next.md +57 -0
- package/docs/tr/compat/next-intl.md +59 -0
- package/docs/tr/compat/next-translate.md +45 -0
- package/docs/tr/compat/ngx-translate.md +45 -0
- package/docs/tr/compat/nuxtjs-i18n.md +46 -0
- package/docs/tr/compat/polyglot.md +45 -0
- package/docs/tr/compat/react-i18next.md +58 -0
- package/docs/tr/compat/react-intl.md +55 -0
- package/docs/tr/compat/svelte-i18n.md +47 -0
- package/docs/tr/compat/transloco.md +45 -0
- package/docs/tr/compat/vue-i18n.md +58 -0
- package/docs/tr/compiler.md +3 -1
- package/docs/tr/configuration.md +19 -17
- package/docs/tr/custom_domains.md +1 -1
- package/docs/tr/custom_url_rewrites.md +1 -1
- package/docs/tr/dictionary/content_file.md +4 -27
- package/docs/tr/dictionary/enumeration.md +0 -187
- package/docs/tr/dictionary/file.md +8 -0
- package/docs/tr/dictionary/nesting.md +39 -0
- package/docs/tr/dictionary/translation.md +0 -88
- package/docs/tr/formatters.md +59 -0
- package/docs/tr/how_works_intlayer.md +4 -0
- package/docs/tr/intlayer_CMS.md +6 -0
- package/docs/tr/intlayer_with_analog.md +4 -0
- package/docs/tr/intlayer_with_astro.md +134 -77
- package/docs/tr/intlayer_with_astro_lit.md +1 -1
- package/docs/tr/intlayer_with_astro_preact.md +1 -1
- package/docs/tr/intlayer_with_astro_react.md +1 -1
- package/docs/tr/intlayer_with_astro_solid.md +1 -1
- package/docs/tr/intlayer_with_astro_svelte.md +1 -1
- package/docs/tr/intlayer_with_astro_vanilla.md +1 -1
- package/docs/tr/intlayer_with_astro_vue.md +1 -1
- package/docs/tr/intlayer_with_express.md +0 -4
- package/docs/tr/intlayer_with_nestjs.md +0 -8
- package/docs/tr/intlayer_with_nextjs_14.md +95 -8
- package/docs/tr/intlayer_with_nextjs_15.md +21 -1
- package/docs/tr/intlayer_with_nextjs_16.md +1 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/tr/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/tr/intlayer_with_react_native+expo.md +36 -46
- package/docs/tr/intlayer_with_react_router_v7.md +1 -95
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/tr/intlayer_with_svelte_kit.md +1 -207
- package/docs/tr/intlayer_with_tanstack+solid.md +3 -1
- package/docs/tr/intlayer_with_tanstack.md +1 -1
- package/docs/tr/intlayer_with_vite+lit.md +1 -1
- package/docs/tr/intlayer_with_vite+preact.md +57 -57
- package/docs/tr/intlayer_with_vite+react.md +49 -49
- package/docs/tr/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/tr/intlayer_with_vite+solid.md +33 -42
- package/docs/tr/intlayer_with_vite+svelte.md +27 -29
- package/docs/tr/intlayer_with_vite+vanilla.md +1 -1
- package/docs/tr/intlayer_with_vite+vue.md +54 -102
- package/docs/tr/mcp_server.md +22 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/tr/packages/react-intlayer/useDictionary.md +0 -119
- package/docs/tr/packages/react-intlayer/useI18n.md +0 -125
- package/docs/tr/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/tr/releases/v6.md +28 -0
- package/docs/tr/releases/v7.md +128 -0
- package/docs/tr/releases/v9.md +37 -1
- package/docs/tr/roadmap.md +6 -0
- package/docs/uk/benchmark/solid.md +22 -0
- package/docs/uk/benchmark/svelte.md +22 -0
- package/docs/uk/benchmark/tanstack.md +22 -0
- package/docs/uk/cli/ci.md +22 -0
- package/docs/uk/cli/fill.md +8 -0
- package/docs/uk/compat/i18n-js.md +44 -0
- package/docs/uk/compat/i18next.md +59 -0
- package/docs/uk/compat/index.md +51 -0
- package/docs/uk/compat/lingui.md +44 -0
- package/docs/uk/compat/next-i18next.md +57 -0
- package/docs/uk/compat/next-intl.md +59 -0
- package/docs/uk/compat/next-translate.md +45 -0
- package/docs/uk/compat/ngx-translate.md +45 -0
- package/docs/uk/compat/nuxtjs-i18n.md +46 -0
- package/docs/uk/compat/polyglot.md +45 -0
- package/docs/uk/compat/react-i18next.md +58 -0
- package/docs/uk/compat/react-intl.md +55 -0
- package/docs/uk/compat/svelte-i18n.md +47 -0
- package/docs/uk/compat/transloco.md +45 -0
- package/docs/uk/compat/vue-i18n.md +58 -0
- package/docs/uk/compiler.md +3 -1
- package/docs/uk/configuration.md +19 -17
- package/docs/uk/custom_domains.md +1 -1
- package/docs/uk/custom_url_rewrites.md +1 -1
- package/docs/uk/dictionary/content_file.md +0 -7
- package/docs/uk/dictionary/enumeration.md +0 -187
- package/docs/uk/dictionary/nesting.md +39 -0
- package/docs/uk/dictionary/translation.md +0 -72
- package/docs/uk/formatters.md +142 -58
- package/docs/uk/interest_of_intlayer.md +194 -0
- package/docs/uk/intlayer_with_analog.md +4 -0
- package/docs/uk/intlayer_with_astro.md +130 -3
- package/docs/uk/intlayer_with_astro_lit.md +1 -1
- package/docs/uk/intlayer_with_astro_preact.md +1 -1
- package/docs/uk/intlayer_with_astro_react.md +1 -1
- package/docs/uk/intlayer_with_astro_solid.md +1 -1
- package/docs/uk/intlayer_with_astro_svelte.md +1 -1
- package/docs/uk/intlayer_with_astro_vanilla.md +1 -1
- package/docs/uk/intlayer_with_astro_vue.md +1 -1
- package/docs/uk/intlayer_with_nextjs_14.md +1 -1
- package/docs/uk/intlayer_with_nextjs_15.md +1 -1
- package/docs/uk/intlayer_with_nextjs_16.md +1 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/uk/intlayer_with_nuxt.md +0 -27
- package/docs/uk/intlayer_with_react_native+expo.md +8 -61
- package/docs/uk/intlayer_with_react_router_v7.md +1 -95
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +3 -1
- package/docs/uk/intlayer_with_tanstack.md +1 -1
- package/docs/uk/intlayer_with_vite+lit.md +1 -1
- package/docs/uk/intlayer_with_vite+preact.md +57 -57
- package/docs/uk/intlayer_with_vite+react.md +49 -49
- package/docs/uk/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/uk/intlayer_with_vite+solid.md +33 -42
- package/docs/uk/intlayer_with_vite+svelte.md +29 -29
- package/docs/uk/intlayer_with_vite+vanilla.md +1 -1
- package/docs/uk/intlayer_with_vite+vue.md +49 -101
- package/docs/uk/mcp_server.md +22 -0
- package/docs/uk/migration_from_i18next_to_intlayer.md +333 -0
- package/docs/uk/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/uk/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/uk/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/uk/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/uk/packages/react-intlayer/useDictionary.md +0 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/uk/releases/v6.md +4 -0
- package/docs/uk/releases/v7.md +4 -0
- package/docs/uk/releases/v9.md +37 -1
- package/docs/vi/autoFill.md +20 -0
- package/docs/vi/benchmark/solid.md +22 -0
- package/docs/vi/benchmark/svelte.md +22 -0
- package/docs/vi/benchmark/tanstack.md +22 -0
- package/docs/vi/cli/ci.md +22 -0
- package/docs/vi/cli/fill.md +8 -0
- package/docs/vi/cli/login.md +0 -36
- package/docs/vi/compat/i18n-js.md +44 -0
- package/docs/vi/compat/i18next.md +59 -0
- package/docs/vi/compat/index.md +51 -0
- package/docs/vi/compat/lingui.md +44 -0
- package/docs/vi/compat/next-i18next.md +57 -0
- package/docs/vi/compat/next-intl.md +59 -0
- package/docs/vi/compat/next-translate.md +45 -0
- package/docs/vi/compat/ngx-translate.md +45 -0
- package/docs/vi/compat/nuxtjs-i18n.md +46 -0
- package/docs/vi/compat/polyglot.md +45 -0
- package/docs/vi/compat/react-i18next.md +58 -0
- package/docs/vi/compat/react-intl.md +55 -0
- package/docs/vi/compat/svelte-i18n.md +47 -0
- package/docs/vi/compat/transloco.md +45 -0
- package/docs/vi/compat/vue-i18n.md +58 -0
- package/docs/vi/compiler.md +3 -1
- package/docs/vi/configuration.md +19 -17
- package/docs/vi/custom_domains.md +1 -1
- package/docs/vi/custom_url_rewrites.md +1 -1
- package/docs/vi/dictionary/content_file.md +0 -7
- package/docs/vi/dictionary/enumeration.md +0 -199
- package/docs/vi/dictionary/insertion.md +0 -2
- package/docs/vi/dictionary/nesting.md +39 -0
- package/docs/vi/dictionary/translation.md +0 -61
- package/docs/vi/formatters.md +124 -0
- package/docs/vi/interest_of_intlayer.md +193 -0
- package/docs/vi/intlayer_with_analog.md +4 -0
- package/docs/vi/intlayer_with_astro.md +130 -3
- package/docs/vi/intlayer_with_astro_lit.md +1 -1
- package/docs/vi/intlayer_with_astro_preact.md +1 -1
- package/docs/vi/intlayer_with_astro_react.md +1 -1
- package/docs/vi/intlayer_with_astro_solid.md +1 -1
- package/docs/vi/intlayer_with_astro_svelte.md +1 -1
- package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/vi/intlayer_with_astro_vue.md +1 -1
- package/docs/vi/intlayer_with_nextjs_14.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +469 -1
- package/docs/vi/intlayer_with_nextjs_16.md +1 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/vi/intlayer_with_nuxt.md +0 -27
- package/docs/vi/intlayer_with_react_native+expo.md +8 -61
- package/docs/vi/intlayer_with_react_router_v7.md +1 -95
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -103
- package/docs/vi/intlayer_with_svelte_kit.md +1 -207
- package/docs/vi/intlayer_with_tanstack+solid.md +3 -1
- package/docs/vi/intlayer_with_tanstack.md +1 -1
- package/docs/vi/intlayer_with_vite+lit.md +1 -1
- package/docs/vi/intlayer_with_vite+preact.md +57 -57
- package/docs/vi/intlayer_with_vite+react.md +49 -49
- package/docs/vi/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/vi/intlayer_with_vite+solid.md +33 -42
- package/docs/vi/intlayer_with_vite+svelte.md +29 -31
- package/docs/vi/intlayer_with_vite+vanilla.md +1 -1
- package/docs/vi/intlayer_with_vite+vue.md +49 -101
- package/docs/vi/mcp_server.md +22 -0
- package/docs/vi/migration_from_i18next_to_intlayer.md +333 -0
- package/docs/vi/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/vi/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/vi/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/vi/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +25 -0
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/vi/packages/react-intlayer/useDictionary.md +0 -121
- package/docs/vi/packages/react-intlayer/useI18n.md +0 -28
- package/docs/vi/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/vi/releases/v6.md +4 -0
- package/docs/vi/releases/v7.md +128 -0
- package/docs/vi/releases/v9.md +37 -1
- package/docs/zh/CI_CD.md +1 -1
- package/docs/zh/autoFill.md +81 -0
- package/docs/zh/benchmark/solid.md +22 -0
- package/docs/zh/benchmark/svelte.md +22 -0
- package/docs/zh/benchmark/tanstack.md +22 -0
- package/docs/zh/cli/ci.md +22 -0
- package/docs/zh/cli/fill.md +8 -0
- package/docs/zh/cli/login.md +0 -36
- package/docs/zh/compat/i18n-js.md +44 -0
- package/docs/zh/compat/i18next.md +59 -0
- package/docs/zh/compat/index.md +51 -0
- package/docs/zh/compat/lingui.md +44 -0
- package/docs/zh/compat/next-i18next.md +57 -0
- package/docs/zh/compat/next-intl.md +59 -0
- package/docs/zh/compat/next-translate.md +45 -0
- package/docs/zh/compat/ngx-translate.md +45 -0
- package/docs/zh/compat/nuxtjs-i18n.md +46 -0
- package/docs/zh/compat/polyglot.md +45 -0
- package/docs/zh/compat/react-i18next.md +58 -0
- package/docs/zh/compat/react-intl.md +55 -0
- package/docs/zh/compat/svelte-i18n.md +47 -0
- package/docs/zh/compat/transloco.md +45 -0
- package/docs/zh/compat/vue-i18n.md +58 -0
- package/docs/zh/compiler.md +3 -1
- package/docs/zh/configuration.md +19 -17
- package/docs/zh/custom_domains.md +1 -1
- package/docs/zh/custom_url_rewrites.md +14 -16
- package/docs/zh/dictionary/content_file.md +16 -20
- package/docs/zh/dictionary/enumeration.md +0 -187
- package/docs/zh/dictionary/function_fetching.md +0 -27
- package/docs/zh/dictionary/insertion.md +0 -64
- package/docs/zh/dictionary/nesting.md +39 -0
- package/docs/zh/dictionary/translation.md +0 -84
- package/docs/zh/formatters.md +77 -0
- package/docs/zh/how_works_intlayer.md +4 -4
- package/docs/zh/intlayer_CMS.md +21 -0
- package/docs/zh/intlayer_with_analog.md +4 -170
- package/docs/zh/intlayer_with_angular_19.md +0 -248
- package/docs/zh/intlayer_with_astro.md +242 -60
- package/docs/zh/intlayer_with_astro_lit.md +108 -74
- package/docs/zh/intlayer_with_astro_preact.md +102 -68
- package/docs/zh/intlayer_with_astro_react.md +104 -70
- package/docs/zh/intlayer_with_astro_solid.md +104 -70
- package/docs/zh/intlayer_with_astro_svelte.md +104 -70
- package/docs/zh/intlayer_with_astro_vanilla.md +101 -69
- package/docs/zh/intlayer_with_astro_vue.md +96 -62
- package/docs/zh/intlayer_with_create_react_app.md +0 -305
- package/docs/zh/intlayer_with_express.md +0 -23
- package/docs/zh/intlayer_with_lynx+react.md +0 -275
- package/docs/zh/intlayer_with_nestjs.md +0 -18
- package/docs/zh/intlayer_with_nextjs_14.md +63 -25
- package/docs/zh/intlayer_with_nextjs_15.md +64 -14
- package/docs/zh/intlayer_with_nextjs_16.md +129 -87
- package/docs/zh/intlayer_with_nextjs_compiler.md +152 -140
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/zh/intlayer_with_nextjs_page_router.md +51 -15
- package/docs/zh/intlayer_with_nuxt.md +0 -162
- package/docs/zh/intlayer_with_react_native+expo.md +36 -187
- package/docs/zh/intlayer_with_react_router_v7.md +1 -342
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -332
- package/docs/zh/intlayer_with_storybook.md +0 -240
- package/docs/zh/intlayer_with_svelte_kit.md +1 -549
- package/docs/zh/intlayer_with_tanstack+solid.md +1 -646
- package/docs/zh/intlayer_with_tanstack.md +1 -644
- package/docs/zh/intlayer_with_vanilla.md +0 -283
- package/docs/zh/intlayer_with_vite+lit.md +1 -411
- package/docs/zh/intlayer_with_vite+preact.md +1 -241
- package/docs/zh/intlayer_with_vite+react.md +2 -2
- package/docs/zh/intlayer_with_vite+react_compiler.md +1 -192
- package/docs/zh/intlayer_with_vite+solid.md +1 -306
- package/docs/zh/intlayer_with_vite+svelte.md +104 -78
- package/docs/zh/intlayer_with_vite+vanilla.md +1 -442
- package/docs/zh/intlayer_with_vite+vue.md +95 -136
- package/docs/zh/mcp_server.md +26 -0
- package/docs/zh/migration_from_i18next_to_intlayer.md +330 -0
- package/docs/zh/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/zh/migration_from_next-intl_to_intlayer.md +365 -0
- package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/zh/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/zh/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/zh/packages/react-intlayer/useDictionary.md +0 -129
- package/docs/zh/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/zh/releases/v6.md +28 -0
- package/docs/zh/releases/v7.md +128 -0
- package/docs/zh/releases/v8.md +190 -0
- package/docs/zh/releases/v9.md +37 -1
- package/docs/zh/roadmap.md +6 -0
- package/docs/zh/vs_code_extension.md +0 -7
- package/frequent_questions/pt/translated_path_url.md +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-05
|
|
3
|
+
updatedAt: 2026-06-05
|
|
4
|
+
title: "Migrate from i18next to Intlayer | Internationalization (i18n)"
|
|
5
|
+
description: "Learn how to migrate your JavaScript/TypeScript app from i18next to Intlayer — step by step, without breaking your existing code. Use the @intlayer/i18next compat adapter for a zero-disruption transition."
|
|
6
|
+
keywords:
|
|
7
|
+
- i18next
|
|
8
|
+
- intlayer
|
|
9
|
+
- migration
|
|
10
|
+
- internationalization
|
|
11
|
+
- i18n
|
|
12
|
+
- JavaScript
|
|
13
|
+
- Node.js
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- migration
|
|
17
|
+
- i18next
|
|
18
|
+
history:
|
|
19
|
+
- version: 9.0.0
|
|
20
|
+
date: 2026-06-05
|
|
21
|
+
changes: "Init history"
|
|
22
|
+
author: aymericzip
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Migrating from i18next to Intlayer
|
|
26
|
+
|
|
27
|
+
## Why migrate from i18next to Intlayer?
|
|
28
|
+
|
|
29
|
+
<AccordionGroup>
|
|
30
|
+
|
|
31
|
+
<Accordion header="Bundle size">
|
|
32
|
+
|
|
33
|
+
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%**.
|
|
34
|
+
|
|
35
|
+
</Accordion>
|
|
36
|
+
|
|
37
|
+
<Accordion header="Maintainability">
|
|
38
|
+
|
|
39
|
+
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.
|
|
40
|
+
|
|
41
|
+
Intlayer is also the solution with the **most active development** in the i18n ecosystem — issues are fixed fast, new framework adapters land regularly, and the core API is continuously refined based on real-world production feedback.
|
|
42
|
+
|
|
43
|
+
</Accordion>
|
|
44
|
+
|
|
45
|
+
<Accordion header="AI Agent">
|
|
46
|
+
|
|
47
|
+
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-GB/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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.
|
|
48
|
+
|
|
49
|
+
</Accordion>
|
|
50
|
+
|
|
51
|
+
<Accordion header="Automation">
|
|
52
|
+
|
|
53
|
+
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-GB/intlayer_CMS.md) to help **translate in the background**.
|
|
54
|
+
|
|
55
|
+
</Accordion>
|
|
56
|
+
|
|
57
|
+
<Accordion header="Performance">
|
|
58
|
+
|
|
59
|
+
Connecting massive JSON files to components can lead to performance and reactivity issues. Intlayer optimises your content loading at build time.
|
|
60
|
+
|
|
61
|
+
</Accordion>
|
|
62
|
+
|
|
63
|
+
<Accordion header="Scaling with non-dev">
|
|
64
|
+
|
|
65
|
+
More than just an i18n solution, Intlayer provides a **self-hosted [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_visual_editor.md)** and a **[full CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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.
|
|
66
|
+
|
|
67
|
+
</Accordion>
|
|
68
|
+
|
|
69
|
+
</AccordionGroup>
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Migration strategies
|
|
74
|
+
|
|
75
|
+
There are two complementary strategies for migrating from `i18next` to Intlayer:
|
|
76
|
+
|
|
77
|
+
1. **Compat adapter (recommended for existing apps)** — Install `@intlayer/i18next`. This package exposes the **exact same API** as `i18next` but delegates all translation work to Intlayer under the hood. You keep your existing `i18next.t()`, `i18next.changeLanguage()`, and `createInstance()` calls — the only change is the import path and initialisation.
|
|
78
|
+
|
|
79
|
+
2. **Full migration** — Gradually replace `i18next` APIs with native Intlayer tools and co-locate content in `.content.ts` files.
|
|
80
|
+
|
|
81
|
+
This guide covers **Strategy 1** first (drop-in compat adapter), then walks through the optional full migration.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Table of Contents
|
|
86
|
+
|
|
87
|
+
<TOC/>
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Quick migration
|
|
92
|
+
|
|
93
|
+
The following steps are the minimum required to get your existing `i18next` app running on Intlayer with zero code changes.
|
|
94
|
+
|
|
95
|
+
<Steps>
|
|
96
|
+
|
|
97
|
+
<Step number={1} title="Install Dependencies">
|
|
98
|
+
|
|
99
|
+
Install the Intlayer core packages and the compat adapter:
|
|
100
|
+
|
|
101
|
+
```bash packageManager="npm"
|
|
102
|
+
npx intlayer-cli init --interactive
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
```bash packageManager="pnpm"
|
|
106
|
+
pnpm dlx intlayer-cli init --interactive
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```bash packageManager="yarn"
|
|
110
|
+
yarn dlx intlayer-cli init --interactive
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
```bash packageManager="bun"
|
|
114
|
+
bunx intlayer-cli init --interactive
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
> the `--interactive` flag is optional. Use `intlayer-cli init` if you're an AI agent.
|
|
118
|
+
|
|
119
|
+
> This command will detect your environment and install the required packages. For example:
|
|
120
|
+
|
|
121
|
+
```bash packageManager="npm"
|
|
122
|
+
npm install intlayer @intlayer/i18next @intlayer/sync-json-plugin
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
```bash packageManager="pnpm"
|
|
126
|
+
pnpm add intlayer @intlayer/i18next @intlayer/sync-json-plugin
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
```bash packageManager="yarn"
|
|
130
|
+
yarn add intlayer @intlayer/i18next @intlayer/sync-json-plugin
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```bash packageManager="bun"
|
|
134
|
+
bun add intlayer @intlayer/i18next @intlayer/sync-json-plugin
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
> You can keep `i18next` installed — the compat adapter uses it as a `devDependency` / `peerDependency` for TypeScript types.
|
|
138
|
+
|
|
139
|
+
</Step>
|
|
140
|
+
|
|
141
|
+
<Step number={2} title="Configure Intlayer">
|
|
142
|
+
|
|
143
|
+
The `intlayer init` command creates a starter `intlayer.config.ts`. Update it to match your existing locales and point the `syncJSON` plugin at your message files:
|
|
144
|
+
|
|
145
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
146
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
147
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
148
|
+
|
|
149
|
+
const config: IntlayerConfig = {
|
|
150
|
+
internationalization: {
|
|
151
|
+
locales: [
|
|
152
|
+
Locales.ENGLISH,
|
|
153
|
+
Locales.FRENCH,
|
|
154
|
+
Locales.SPANISH,
|
|
155
|
+
// Add all your existing locales here
|
|
156
|
+
],
|
|
157
|
+
defaultLocale: Locales.ENGLISH,
|
|
158
|
+
},
|
|
159
|
+
plugins: [
|
|
160
|
+
syncJSON({
|
|
161
|
+
// matches i18next placeholder syntax: {{name}}
|
|
162
|
+
format: "i18next",
|
|
163
|
+
source: ({ locale }) => `./src/locales/${locale}.json`,
|
|
164
|
+
location: "src/locales",
|
|
165
|
+
}),
|
|
166
|
+
],
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
export default config;
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
> **`source`** maps a locale to its JSON file path. **`location`** tells the Intlayer watcher which folder to monitor for changes. The `format: 'i18next'` option ensures that placeholders like `{{name}}` are parsed correctly.
|
|
173
|
+
|
|
174
|
+
</Step>
|
|
175
|
+
|
|
176
|
+
<Step number={3} title="Update Bundler Aliases (Optional)">
|
|
177
|
+
|
|
178
|
+
If you are using a bundler (Vite, Webpack, esbuild), you can inject a module alias so that `import ... from 'i18next'` automatically resolves to `@intlayer/i18next`. This removes the need to manually change any imports in your codebase.
|
|
179
|
+
|
|
180
|
+
**For Vite:**
|
|
181
|
+
|
|
182
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
183
|
+
import { defineConfig } from "vite";
|
|
184
|
+
import i18nextVitePlugin from "@intlayer/i18next/plugin";
|
|
185
|
+
|
|
186
|
+
export default defineConfig({
|
|
187
|
+
plugins: [i18nextVitePlugin()],
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
> `i18nextVitePlugin()` wraps `vite-intlayer`'s `intlayer()` plugin and adds the
|
|
192
|
+
> `i18next` → `@intlayer/i18next` alias for you. Using the plain `intlayer()` plugin
|
|
193
|
+
> from `vite-intlayer` compiles dictionaries but does **not** add that alias — you
|
|
194
|
+
> would then rename imports to `@intlayer/i18next` manually (see the next step).
|
|
195
|
+
|
|
196
|
+
</Step>
|
|
197
|
+
|
|
198
|
+
</Steps>
|
|
199
|
+
|
|
200
|
+
That's it for the quick migration. Your app now runs on Intlayer while keeping every `i18next` import and API intact.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Complete migration
|
|
205
|
+
|
|
206
|
+
The steps below are optional and can be done incrementally. They unlock the full Intlayer feature set: visual editor, CMS, typed content files, AI-powered translation, and more.
|
|
207
|
+
|
|
208
|
+
<Steps>
|
|
209
|
+
|
|
210
|
+
<Step number={4} title="Explicit import renaming (optional)" isOptional={true}>
|
|
211
|
+
|
|
212
|
+
If you prefer to make the dependency explicit in your source files, or if you aren't using a bundler plugin to alias imports, you can rename imports manually:
|
|
213
|
+
|
|
214
|
+
| Before | After |
|
|
215
|
+
| ------------------------------------------ | ---------------------------------------------------- |
|
|
216
|
+
| `import i18next from 'i18next'` | `import i18next from '@intlayer/i18next'` |
|
|
217
|
+
| `import { createInstance } from 'i18next'` | `import { createInstance } from '@intlayer/i18next'` |
|
|
218
|
+
| `import { t } from 'i18next'` | `import { t } from '@intlayer/i18next'` |
|
|
219
|
+
|
|
220
|
+
These are **drop-in replacements** — no changes to call signatures, arguments, or return types are required.
|
|
221
|
+
|
|
222
|
+
</Step>
|
|
223
|
+
|
|
224
|
+
<Step number={5} title="Enable AI-Powered Translation Automation" isOptional={true}>
|
|
225
|
+
|
|
226
|
+
Once Intlayer is wired up, use its CLI to fill missing translations automatically:
|
|
227
|
+
|
|
228
|
+
```bash packageManager="npm"
|
|
229
|
+
# Test for missing translations (add to CI)
|
|
230
|
+
npx intlayer test
|
|
231
|
+
|
|
232
|
+
# Fill missing translations with AI
|
|
233
|
+
npx intlayer fill
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
```bash packageManager="pnpm"
|
|
237
|
+
pnpm intlayer test
|
|
238
|
+
pnpm intlayer fill
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
```bash packageManager="yarn"
|
|
242
|
+
yarn intlayer test
|
|
243
|
+
yarn intlayer fill
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
```bash packageManager="bun"
|
|
247
|
+
bun x intlayer test
|
|
248
|
+
bun x intlayer fill
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Add the AI configuration to `intlayer.config.ts`:
|
|
252
|
+
|
|
253
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
254
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
255
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
256
|
+
|
|
257
|
+
const config: IntlayerConfig = {
|
|
258
|
+
internationalization: {
|
|
259
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
260
|
+
defaultLocale: Locales.ENGLISH,
|
|
261
|
+
},
|
|
262
|
+
plugins: [
|
|
263
|
+
syncJSON({
|
|
264
|
+
format: "i18next",
|
|
265
|
+
source: ({ locale }) => `./src/locales/${locale}.json`,
|
|
266
|
+
location: "src/locales",
|
|
267
|
+
}),
|
|
268
|
+
],
|
|
269
|
+
ai: {
|
|
270
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
271
|
+
// provider: "openai", // default
|
|
272
|
+
// model: "gpt-4o-mini", // default
|
|
273
|
+
},
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
export default config;
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
> See [Intlayer CLI documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md) for all available options.
|
|
280
|
+
|
|
281
|
+
</Step>
|
|
282
|
+
|
|
283
|
+
</Steps>
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## What you can delete after migration
|
|
288
|
+
|
|
289
|
+
Once the compat adapter is in place, the following `i18next` boilerplate can be removed:
|
|
290
|
+
|
|
291
|
+
| File / pattern | Why it's no longer needed |
|
|
292
|
+
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
293
|
+
| `i18next.init()` calls | Intlayer initializes everything automatically; there is no runtime loading step. |
|
|
294
|
+
| `i18next.use(...)` | Intlayer does not use i18next plugins, backends, or language detectors. |
|
|
295
|
+
| JSON language bundles (`locales/*.json`) | JSON bundles are only needed if you still use the `syncJSON` plugin. Once you migrate to `.content.ts` files you can delete the JSON folder. |
|
|
296
|
+
|
|
297
|
+
When you are ready to go further, Intlayer **automatically discovers all `.content.ts` and `.content.json` files anywhere in your codebase** (by default, anywhere inside `./src`). You can place a `my-component.content.ts` file right next to your logic and Intlayer will pick it up at build time with no additional configuration — no imports, no registration, no centralised index file needed. This makes co-locating translations completely frictionless.
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Configure TypeScript
|
|
302
|
+
|
|
303
|
+
Intlayer uses module augmentation to provide full TypeScript intellisense for your translation keys. Make sure your `tsconfig.json` includes the auto-generated types:
|
|
304
|
+
|
|
305
|
+
```json5 fileName="tsconfig.json"
|
|
306
|
+
{
|
|
307
|
+
// ... Your existing TypeScript configurations
|
|
308
|
+
"include": [
|
|
309
|
+
// ... Your existing TypeScript configurations
|
|
310
|
+
".intlayer/**/*.ts", // Include the auto-generated types
|
|
311
|
+
],
|
|
312
|
+
}
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Git Configuration
|
|
318
|
+
|
|
319
|
+
Add Intlayer's generated directory to your `.gitignore`:
|
|
320
|
+
|
|
321
|
+
```plaintext fileName=".gitignore"
|
|
322
|
+
# Ignore the files generated by Intlayer
|
|
323
|
+
.intlayer
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Go Further
|
|
329
|
+
|
|
330
|
+
- **Visual Editor** — Manage translations visually in your browser: [Intlayer Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_visual_editor.md)
|
|
331
|
+
- **CMS** — Externalise and manage content remotely: [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_CMS.md)
|
|
332
|
+
- **VS Code Extension** — Get autocompletion and real-time translation error detection: [Intlayer VS Code Extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/vs_code_extension.md)
|
|
333
|
+
- **CLI Reference** — Full list of CLI commands: [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md)
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-05
|
|
3
|
+
updatedAt: 2026-06-05
|
|
4
|
+
title: "Migrate from next-i18next to Intlayer | Internationalization (i18n)"
|
|
5
|
+
description: "Learn how to migrate your Next.js app from next-i18next to Intlayer — step by step, without breaking your existing code. Use the @intlayer/next-i18next compat adapter for a zero-disruption transition."
|
|
6
|
+
keywords:
|
|
7
|
+
- next-i18next
|
|
8
|
+
- react-i18next
|
|
9
|
+
- i18next
|
|
10
|
+
- intlayer
|
|
11
|
+
- migration
|
|
12
|
+
- internationalization
|
|
13
|
+
- i18n
|
|
14
|
+
- Next.js
|
|
15
|
+
- React
|
|
16
|
+
- JavaScript
|
|
17
|
+
slugs:
|
|
18
|
+
- doc
|
|
19
|
+
- migration
|
|
20
|
+
- next-i18next
|
|
21
|
+
history:
|
|
22
|
+
- version: 9.0.0
|
|
23
|
+
date: 2026-06-05
|
|
24
|
+
changes: "Init history"
|
|
25
|
+
author: aymericzip
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Migrating from next-i18next to Intlayer
|
|
29
|
+
|
|
30
|
+
## Why migrate from next-i18next to Intlayer?
|
|
31
|
+
|
|
32
|
+
<AccordionGroup>
|
|
33
|
+
|
|
34
|
+
<Accordion header="Bundle size">
|
|
35
|
+
|
|
36
|
+
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%**.
|
|
37
|
+
|
|
38
|
+
</Accordion>
|
|
39
|
+
|
|
40
|
+
<Accordion header="Maintainability">
|
|
41
|
+
|
|
42
|
+
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.
|
|
43
|
+
|
|
44
|
+
Intlayer is also the solution with the **most active development** in the i18n ecosystem — issues are fixed fast, new framework adapters land regularly, and the core API is continuously refined based on real-world production feedback.
|
|
45
|
+
|
|
46
|
+
</Accordion>
|
|
47
|
+
|
|
48
|
+
<Accordion header="AI Agent">
|
|
49
|
+
|
|
50
|
+
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-GB/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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.
|
|
51
|
+
|
|
52
|
+
</Accordion>
|
|
53
|
+
|
|
54
|
+
<Accordion header="Automation">
|
|
55
|
+
|
|
56
|
+
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-GB/intlayer_CMS.md) to help **translate in the background**.
|
|
57
|
+
|
|
58
|
+
</Accordion>
|
|
59
|
+
|
|
60
|
+
<Accordion header="Performance">
|
|
61
|
+
|
|
62
|
+
Connecting massive JSON files to components can lead to performance and reactivity issues. Intlayer optimises your content loading at build time.
|
|
63
|
+
|
|
64
|
+
</Accordion>
|
|
65
|
+
|
|
66
|
+
<Accordion header="Scaling with non-dev">
|
|
67
|
+
|
|
68
|
+
More than just an i18n solution, Intlayer provides a **self-hosted [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_visual_editor.md)** and a **[full CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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.
|
|
69
|
+
|
|
70
|
+
</Accordion>
|
|
71
|
+
|
|
72
|
+
</AccordionGroup>
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Migration strategies
|
|
77
|
+
|
|
78
|
+
Since `next-i18next` wraps `react-i18next` and `i18next` under the hood, there are two complementary strategies for migrating to Intlayer:
|
|
79
|
+
|
|
80
|
+
1. **Compat adapter (recommended for existing apps)** — Install `@intlayer/next-i18next`, `@intlayer/react-i18next`, and `@intlayer/i18next`. These packages expose the **exact same API** as their counterparts but delegate all translation work to Intlayer under the hood. You keep your existing `useTranslation`, `appWithTranslation`, `serverSideTranslations` calls, and Next.js Pages routing unchanged — the only change is the initialisation.
|
|
81
|
+
|
|
82
|
+
2. **Full migration** — Gradually replace `next-i18next` APIs with native Intlayer hooks (`useIntlayer`) and co-locate content in `.content.ts` files alongside your components.
|
|
83
|
+
|
|
84
|
+
This guide covers **Strategy 1** first (drop-in compat adapter), then walks through the optional full migration.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Table of Contents
|
|
89
|
+
|
|
90
|
+
<TOC/>
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Quick migration
|
|
95
|
+
|
|
96
|
+
The following steps are the minimum required to get your existing Next.js Pages Router app running on Intlayer with zero code changes in your pages and components.
|
|
97
|
+
|
|
98
|
+
<Steps>
|
|
99
|
+
|
|
100
|
+
<Step number={1} title="Install Dependencies">
|
|
101
|
+
|
|
102
|
+
Install the Intlayer core packages and the compat adapters:
|
|
103
|
+
|
|
104
|
+
```bash packageManager="npm"
|
|
105
|
+
npx intlayer-cli init --interactive
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
```bash packageManager="pnpm"
|
|
109
|
+
pnpm dlx intlayer-cli init --interactive
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```bash packageManager="yarn"
|
|
113
|
+
yarn dlx intlayer-cli init --interactive
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
```bash packageManager="bun"
|
|
117
|
+
bunx intlayer-cli init --interactive
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
> the `--interactive` flag is optional. Use `intlayer-cli init` if you're an AI agent.
|
|
121
|
+
|
|
122
|
+
> This command will detect your environment and install the required packages. For example:
|
|
123
|
+
|
|
124
|
+
```bash packageManager="npm"
|
|
125
|
+
npm install intlayer next-intlayer react-intlayer @intlayer/next-i18next @intlayer/react-i18next @intlayer/i18next @intlayer/sync-json-plugin
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
```bash packageManager="pnpm"
|
|
129
|
+
pnpm add intlayer next-intlayer react-intlayer @intlayer/next-i18next @intlayer/react-i18next @intlayer/i18next @intlayer/sync-json-plugin
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
```bash packageManager="yarn"
|
|
133
|
+
yarn add intlayer next-intlayer react-intlayer @intlayer/next-i18next @intlayer/react-i18next @intlayer/i18next @intlayer/sync-json-plugin
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
```bash packageManager="bun"
|
|
137
|
+
bun add intlayer next-intlayer react-intlayer @intlayer/next-i18next @intlayer/react-i18next @intlayer/i18next @intlayer/sync-json-plugin
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
> You can safely keep `next-i18next`, `react-i18next`, and `i18next` installed during migration, though you will remove them once aliased.
|
|
141
|
+
|
|
142
|
+
</Step>
|
|
143
|
+
|
|
144
|
+
<Step number={2} title="Configure Intlayer">
|
|
145
|
+
|
|
146
|
+
The `intlayer init` command creates a starter `intlayer.config.ts`. Update it to match your existing locales and point the `syncJSON` plugin at your `next-i18next` message files (usually inside `public/locales`):
|
|
147
|
+
|
|
148
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
149
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
150
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
151
|
+
|
|
152
|
+
const config: IntlayerConfig = {
|
|
153
|
+
internationalization: {
|
|
154
|
+
locales: [
|
|
155
|
+
Locales.ENGLISH,
|
|
156
|
+
Locales.FRENCH,
|
|
157
|
+
Locales.SPANISH,
|
|
158
|
+
// Add all your existing locales here
|
|
159
|
+
],
|
|
160
|
+
defaultLocale: Locales.ENGLISH,
|
|
161
|
+
},
|
|
162
|
+
plugins: [
|
|
163
|
+
syncJSON({
|
|
164
|
+
// matches i18next placeholder syntax: {{name}}
|
|
165
|
+
format: "i18next",
|
|
166
|
+
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
167
|
+
location: "public/locales",
|
|
168
|
+
}),
|
|
169
|
+
],
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export default config;
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
> **`source`** maps a locale and a namespace (`key`) to its JSON file path. **`location`** tells the Intlayer watcher which folder to monitor for changes. The `format: 'i18next'` option ensures that placeholders are parsed correctly for `next-i18next`.
|
|
176
|
+
|
|
177
|
+
</Step>
|
|
178
|
+
|
|
179
|
+
<Step number={3} title="Update Next.js Configuration">
|
|
180
|
+
|
|
181
|
+
Wrap your existing `next.config.ts` (or `.js`) with `createNextI18nPlugin` from `@intlayer/next-i18next/plugin`. This wrapper composes `withIntlayer` **and** injects the `next-i18next` / `react-i18next` / `i18next` → `@intlayer/*` aliases, so your existing `import { useTranslation } from 'next-i18next'` calls are transparently redirected at build time. No source file changes are needed.
|
|
182
|
+
|
|
183
|
+
```typescript fileName="next.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
184
|
+
import type { NextConfig } from "next";
|
|
185
|
+
import { createNextI18nPlugin } from "@intlayer/next-i18next/plugin";
|
|
186
|
+
// You can remove the i18n configuration imported from next-i18next.config.js
|
|
187
|
+
// import { i18n } from './next-i18next.config';
|
|
188
|
+
|
|
189
|
+
const withIntlayer = createNextI18nPlugin();
|
|
190
|
+
|
|
191
|
+
const nextConfig: NextConfig = {
|
|
192
|
+
// Intlayer manages the Next.js i18n routing under the hood,
|
|
193
|
+
// so you don't need to pass the i18n object here anymore.
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
export default withIntlayer(nextConfig);
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
> **You no longer need `next-i18next.config.js`.** Intlayer compiles all dictionaries at **build time**, handling locale detection, routing, and dictionary loading seamlessly.
|
|
200
|
+
>
|
|
201
|
+
> Prefer the plain `withIntlayer` from `next-intlayer/server`? It compiles your dictionaries but does **not** add the `next-i18next` / `react-i18next` / `i18next` aliases — you would then rename imports to `@intlayer/*` manually (see Step 4).
|
|
202
|
+
|
|
203
|
+
</Step>
|
|
204
|
+
|
|
205
|
+
</Steps>
|
|
206
|
+
|
|
207
|
+
That's it for the quick migration. Your Next.js app now runs on Intlayer whilst keeping every `useTranslation`, `serverSideTranslations`, and `appWithTranslation` call intact.
|
|
208
|
+
|
|
209
|
+
> **Typed translation keys — automatic.** Once Intlayer compiles your dictionaries, `useTranslation` and `getFixedT` are typed against your actual content. Keys are autocompleted in your IDE and invalid paths cause TypeScript errors at build time — no extra setup required.
|
|
210
|
+
>
|
|
211
|
+
> ```tsx
|
|
212
|
+
> // Pages Router — 'about' is a registered dictionary key
|
|
213
|
+
> const { t } = useTranslation("about");
|
|
214
|
+
> t("counter.label"); // ✓ autocompleted
|
|
215
|
+
> t("does.not.exist"); // ✗ TypeScript error
|
|
216
|
+
>
|
|
217
|
+
> // getStaticProps / getServerSideProps (i18next instance)
|
|
218
|
+
> const tAbout = i18n.getFixedT(null, "about");
|
|
219
|
+
> tAbout("counter.label"); // ✓ typed
|
|
220
|
+
> ```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Complete migration
|
|
225
|
+
|
|
226
|
+
The steps below are optional and can be done incrementally. They unlock the full Intlayer feature set: visual editor, CMS, typed content files, AI-powered translation, and more.
|
|
227
|
+
|
|
228
|
+
<Steps>
|
|
229
|
+
|
|
230
|
+
<Step number={4} title="Explicit import renaming (optional)" isOptional={true}>
|
|
231
|
+
|
|
232
|
+
The Intlayer plugin already handles aliasing at the bundler level. If you prefer to make the dependency explicit in your source files, you can rename imports manually:
|
|
233
|
+
|
|
234
|
+
| Before | After |
|
|
235
|
+
| ------------------------------------------------------------------------------ | ----------------------------------------------------------------- |
|
|
236
|
+
| `import { serverSideTranslations } from 'next-i18next/serverSideTranslations'` | `import { serverSideTranslations } from '@intlayer/next-i18next'` |
|
|
237
|
+
| `import { appWithTranslation } from 'next-i18next'` | `import { appWithTranslation } from '@intlayer/next-i18next'` |
|
|
238
|
+
| `import { useTranslation } from 'next-i18next'` | `import { useTranslation } from '@intlayer/next-i18next'` |
|
|
239
|
+
| `import { useTranslation } from 'react-i18next'` | `import { useTranslation } from '@intlayer/react-i18next'` |
|
|
240
|
+
|
|
241
|
+
These are **drop-in replacements** — no changes to call signatures, arguments, or return types are required.
|
|
242
|
+
|
|
243
|
+
</Step>
|
|
244
|
+
|
|
245
|
+
<Step number={5} title="Enable AI-Powered Translation Automation" isOptional={true}>
|
|
246
|
+
|
|
247
|
+
Once Intlayer is wired up, use its CLI to fill missing translations automatically:
|
|
248
|
+
|
|
249
|
+
```bash packageManager="npm"
|
|
250
|
+
# Test for missing translations (add to CI)
|
|
251
|
+
npx intlayer test
|
|
252
|
+
|
|
253
|
+
# Fill missing translations with AI
|
|
254
|
+
npx intlayer fill
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
```bash packageManager="pnpm"
|
|
258
|
+
pnpm intlayer test
|
|
259
|
+
pnpm intlayer fill
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
```bash packageManager="yarn"
|
|
263
|
+
yarn intlayer test
|
|
264
|
+
yarn intlayer fill
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
```bash packageManager="bun"
|
|
268
|
+
bun x intlayer test
|
|
269
|
+
bun x intlayer fill
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Add the AI configuration to `intlayer.config.ts`:
|
|
273
|
+
|
|
274
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
275
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
276
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
277
|
+
|
|
278
|
+
const config: IntlayerConfig = {
|
|
279
|
+
internationalization: {
|
|
280
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
281
|
+
defaultLocale: Locales.ENGLISH,
|
|
282
|
+
},
|
|
283
|
+
plugins: [
|
|
284
|
+
syncJSON({
|
|
285
|
+
format: "i18next",
|
|
286
|
+
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
287
|
+
location: "public/locales",
|
|
288
|
+
}),
|
|
289
|
+
],
|
|
290
|
+
ai: {
|
|
291
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
292
|
+
// provider: "openai", // default
|
|
293
|
+
// model: "gpt-4o-mini", // default
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
export default config;
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
> See [Intlayer CLI documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md) for all available options.
|
|
301
|
+
|
|
302
|
+
</Step>
|
|
303
|
+
|
|
304
|
+
</Steps>
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## What you can delete after migration
|
|
309
|
+
|
|
310
|
+
Once the compat adapter is in place, the following `next-i18next` boilerplate can be removed:
|
|
311
|
+
|
|
312
|
+
| File / pattern | Why it's no longer needed |
|
|
313
|
+
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
314
|
+
| `next-i18next.config.js` | Intlayer handles routing, dictionary loading, and default locales internally based on `intlayer.config.ts`. |
|
|
315
|
+
| `next-i18next` from `package.json` | Replaced entirely by `@intlayer/next-i18next` and aliasing. |
|
|
316
|
+
| JSON language bundles (`public/locales/*.json`) | JSON bundles are only needed if you still use the `syncJSON` plugin. Once you migrate to `.content.ts` files you can delete the JSON folder. |
|
|
317
|
+
|
|
318
|
+
When you are ready to go further, Intlayer **automatically discovers all `.content.ts` and `.content.json` files anywhere in your codebase** (by default, anywhere inside `./src`). You can place a `my-component.content.ts` file right next to your `MyComponent.tsx` and Intlayer will pick it up at build time with no additional configuration — no imports, no registration, no centralised index file needed. This makes co-locating translations with pages and components completely frictionless.
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## Configure TypeScript
|
|
323
|
+
|
|
324
|
+
Intlayer uses module augmentation to provide full TypeScript intellisense for your translation keys. Make sure your `tsconfig.json` includes the auto-generated types:
|
|
325
|
+
|
|
326
|
+
```json5 fileName="tsconfig.json"
|
|
327
|
+
{
|
|
328
|
+
// ... Your existing TypeScript configurations
|
|
329
|
+
"include": [
|
|
330
|
+
// ... Your existing TypeScript configurations
|
|
331
|
+
".intlayer/**/*.ts", // Include the auto-generated types
|
|
332
|
+
],
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Git Configuration
|
|
339
|
+
|
|
340
|
+
Add Intlayer's generated directory to your `.gitignore`:
|
|
341
|
+
|
|
342
|
+
```plaintext fileName=".gitignore"
|
|
343
|
+
# Ignore the files generated by Intlayer
|
|
344
|
+
.intlayer
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Go Further
|
|
350
|
+
|
|
351
|
+
- **Visual Editor** — Manage translations visually in your browser: [Intlayer Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_visual_editor.md)
|
|
352
|
+
- **CMS** — Externalise and manage content remotely: [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_CMS.md)
|
|
353
|
+
- **VS Code Extension** — Get autocompletion and real-time translation error detection: [Intlayer VS Code Extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/vs_code_extension.md)
|
|
354
|
+
- **CLI Reference** — Full list of CLI commands: [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/index.md)
|
|
355
|
+
- **Intlayer with Next.js (Pages Router)** — Full setup guide for Next.js: [intlayer_with_nextjs_page_router.md](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_nextjs_page_router.md)
|