@intlayer/docs 9.3.2 → 9.4.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/blog/ar/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/de/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/en/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/en-GB/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/es/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/fr/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/hi/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/id/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/it/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/ja/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/ko/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/pl/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/pt/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/ru/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/tr/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/uk/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/vi/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/zh/nextjs-multilingual-seo-comparison.md +10 -10
- package/docs/ar/agent_skills.md +7 -7
- package/docs/ar/analytics.md +28 -5
- package/docs/ar/bundle_optimization.md +3 -3
- package/docs/ar/configuration.md +44 -18
- package/docs/ar/dictionary/content_file.md +0 -22
- package/docs/ar/dictionary/function_fetching.md +23 -0
- package/docs/ar/eslint.md +9 -9
- package/docs/ar/interest_of_intlayer.md +1 -1
- package/docs/ar/intlayer_with_analog.md +1 -1
- package/docs/ar/intlayer_with_angular_19.md +1 -1
- package/docs/ar/intlayer_with_angular_21.md +1 -1
- package/docs/ar/intlayer_with_astro.md +1 -1
- 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_lynx+react.md +1 -1
- package/docs/ar/intlayer_with_nextjs_14.md +1 -1
- package/docs/ar/intlayer_with_nextjs_15.md +1 -1
- package/docs/ar/intlayer_with_nextjs_16.md +1 -1
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_nuxt.md +1 -1
- package/docs/ar/intlayer_with_react_native+expo.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ar/intlayer_with_solid_start.md +1 -1
- package/docs/ar/intlayer_with_storybook.md +1 -1
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +1 -1
- package/docs/ar/intlayer_with_tanstack.md +1 -1
- package/docs/ar/intlayer_with_vanilla.md +1 -1
- package/docs/ar/intlayer_with_vite+lit.md +1 -1
- package/docs/ar/intlayer_with_vite+preact.md +1 -1
- package/docs/ar/intlayer_with_vite+react.md +1 -1
- package/docs/ar/intlayer_with_vite+solid.md +1 -1
- package/docs/ar/intlayer_with_vite+svelte.md +1 -1
- package/docs/ar/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ar/intlayer_with_vite+vue.md +1 -1
- package/docs/ar/introduction.md +1 -1
- package/docs/ar/mcp_server.md +34 -21
- package/docs/ar/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ar/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ar/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/ar/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ar/packages/vite-intlayer/intlayerPrune.md +8 -2
- package/docs/bn/bundle_optimization.md +2 -2
- package/docs/bn/configuration.md +46 -18
- package/docs/bn/eslint.md +9 -9
- package/docs/cs/bundle_optimization.md +3 -3
- package/docs/cs/configuration.md +45 -18
- package/docs/cs/eslint.md +9 -9
- package/docs/de/analytics.md +28 -5
- package/docs/de/bundle_optimization.md +3 -3
- package/docs/de/configuration.md +46 -18
- package/docs/de/dictionary/content_file.md +0 -22
- package/docs/de/dictionary/function_fetching.md +23 -0
- package/docs/de/eslint.md +9 -9
- package/docs/de/intlayer_with_analog.md +1 -1
- package/docs/de/intlayer_with_angular_19.md +1 -1
- package/docs/de/intlayer_with_angular_21.md +1 -1
- package/docs/de/intlayer_with_astro.md +1 -1
- 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_lynx+react.md +1 -1
- package/docs/de/intlayer_with_nextjs_14.md +1 -1
- package/docs/de/intlayer_with_nextjs_15.md +1 -1
- package/docs/de/intlayer_with_nextjs_16.md +1 -1
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_nuxt.md +1 -1
- package/docs/de/intlayer_with_react_native+expo.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +1 -1
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/de/intlayer_with_solid_start.md +1 -1
- package/docs/de/intlayer_with_storybook.md +1 -1
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack+solid.md +1 -1
- package/docs/de/intlayer_with_tanstack.md +1 -1
- package/docs/de/intlayer_with_vanilla.md +1 -1
- package/docs/de/intlayer_with_vite+lit.md +1 -1
- package/docs/de/intlayer_with_vite+preact.md +1 -1
- package/docs/de/intlayer_with_vite+react.md +1 -1
- package/docs/de/intlayer_with_vite+solid.md +1 -1
- package/docs/de/intlayer_with_vite+svelte.md +1 -1
- package/docs/de/intlayer_with_vite+vanilla.md +1 -1
- package/docs/de/intlayer_with_vite+vue.md +1 -1
- package/docs/de/introduction.md +1 -1
- package/docs/de/mcp_server.md +34 -21
- package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/de/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/de/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/de/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/en/analytics.md +29 -6
- package/docs/en/bundle_optimization.md +3 -3
- package/docs/en/configuration.md +46 -18
- package/docs/en/dictionary/content_file.md +0 -22
- package/docs/en/dictionary/function_fetching.md +23 -0
- package/docs/en/dynamic_dictionaries/variants.md +41 -18
- package/docs/en/eslint.md +9 -9
- package/docs/en/formatters.md +5 -2
- package/docs/en/intlayer_with_nextjs_14.md +101 -1
- package/docs/en/intlayer_with_nextjs_15.md +105 -1
- package/docs/en/intlayer_with_nextjs_16.md +105 -1
- package/docs/en/intlayer_with_nextjs_compiler.md +39 -14
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +121 -1
- package/docs/en/mcp_server.md +34 -19
- package/docs/en/packages/intlayer/getLocalizedPath.md +70 -19
- package/docs/en/packages/next-intlayer/exports.md +13 -10
- package/docs/en/packages/next-intlayer/t.md +35 -9
- package/docs/en/packages/next-intlayer/useDictionary.md +5 -2
- package/docs/en/packages/next-intlayer/useIntlayer.md +36 -1
- package/docs/en/packages/react-intlayer/exports.md +14 -11
- package/docs/en/packages/react-intlayer/useI18n.md +35 -1
- package/docs/en/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/en/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/en-GB/analytics.md +28 -5
- package/docs/en-GB/bundle_optimization.md +2 -2
- package/docs/en-GB/configuration.md +45 -18
- package/docs/en-GB/dictionary/content_file.md +0 -22
- package/docs/en-GB/dictionary/function_fetching.md +23 -0
- package/docs/en-GB/eslint.md +9 -9
- package/docs/en-GB/interest_of_intlayer.md +1 -1
- package/docs/en-GB/intlayer_with_analog.md +1 -1
- package/docs/en-GB/intlayer_with_angular_19.md +1 -1
- package/docs/en-GB/intlayer_with_angular_21.md +1 -1
- package/docs/en-GB/intlayer_with_astro.md +1 -1
- 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_lynx+react.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_nuxt.md +1 -1
- package/docs/en-GB/intlayer_with_react_native+expo.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en-GB/intlayer_with_solid_start.md +1 -1
- package/docs/en-GB/intlayer_with_storybook.md +1 -1
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack.md +1 -1
- package/docs/en-GB/intlayer_with_vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_vite+lit.md +1 -1
- package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react.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 +1 -1
- package/docs/en-GB/mcp_server.md +34 -21
- package/docs/en-GB/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/en-GB/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/en-GB/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/es/agent_skills.md +7 -7
- package/docs/es/analytics.md +28 -5
- package/docs/es/bundle_optimization.md +3 -3
- package/docs/es/configuration.md +47 -18
- package/docs/es/dictionary/content_file.md +0 -22
- package/docs/es/dictionary/function_fetching.md +23 -0
- package/docs/es/eslint.md +9 -9
- package/docs/es/intlayer_with_analog.md +1 -1
- package/docs/es/intlayer_with_angular_19.md +1 -1
- package/docs/es/intlayer_with_angular_21.md +1 -1
- package/docs/es/intlayer_with_astro.md +1 -1
- 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_lynx+react.md +1 -1
- package/docs/es/intlayer_with_nextjs_14.md +1 -1
- package/docs/es/intlayer_with_nextjs_15.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +1 -1
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_native+expo.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +1 -1
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/es/intlayer_with_solid_start.md +1 -1
- package/docs/es/intlayer_with_storybook.md +1 -1
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack+solid.md +1 -1
- package/docs/es/intlayer_with_tanstack.md +1 -1
- package/docs/es/intlayer_with_vanilla.md +1 -1
- package/docs/es/intlayer_with_vite+lit.md +1 -1
- package/docs/es/intlayer_with_vite+preact.md +1 -1
- package/docs/es/intlayer_with_vite+react.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 +1 -1
- package/docs/es/mcp_server.md +34 -19
- package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/es/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/es/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/es/packages/vite-intlayer/intlayerPrune.md +8 -2
- package/docs/fr/agent_skills.md +7 -7
- package/docs/fr/analytics.md +28 -5
- package/docs/fr/bundle_optimization.md +3 -3
- package/docs/fr/configuration.md +47 -18
- package/docs/fr/dictionary/content_file.md +0 -22
- package/docs/fr/dictionary/function_fetching.md +23 -0
- package/docs/fr/eslint.md +9 -9
- package/docs/fr/intlayer_with_react_native+expo.md +1 -1
- package/docs/fr/intlayer_with_solid_start.md +1 -1
- package/docs/fr/mcp_server.md +34 -19
- package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/fr/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/fr/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/fr/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/hi/agent_skills.md +7 -7
- package/docs/hi/analytics.md +28 -5
- package/docs/hi/bundle_optimization.md +2 -2
- package/docs/hi/configuration.md +47 -18
- package/docs/hi/dictionary/content_file.md +0 -22
- package/docs/hi/dictionary/function_fetching.md +23 -0
- package/docs/hi/eslint.md +9 -9
- package/docs/hi/interest_of_intlayer.md +1 -1
- package/docs/hi/intlayer_with_analog.md +1 -1
- package/docs/hi/intlayer_with_angular_19.md +1 -1
- package/docs/hi/intlayer_with_angular_21.md +1 -1
- package/docs/hi/intlayer_with_astro.md +1 -1
- package/docs/hi/intlayer_with_astro_lit.md +4 -4
- 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_lynx+react.md +1 -1
- package/docs/hi/intlayer_with_nextjs_14.md +1 -1
- package/docs/hi/intlayer_with_nextjs_15.md +1 -1
- package/docs/hi/intlayer_with_nextjs_16.md +1 -1
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_nuxt.md +1 -1
- package/docs/hi/intlayer_with_react_native+expo.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/hi/intlayer_with_solid_start.md +1 -1
- package/docs/hi/intlayer_with_storybook.md +1 -1
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +1 -1
- package/docs/hi/intlayer_with_tanstack.md +1 -1
- package/docs/hi/intlayer_with_vanilla.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+solid.md +1 -1
- package/docs/hi/intlayer_with_vite+svelte.md +1 -1
- package/docs/hi/intlayer_with_vite+vanilla.md +1 -1
- package/docs/hi/intlayer_with_vite+vue.md +1 -1
- package/docs/hi/mcp_server.md +34 -21
- package/docs/hi/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/hi/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/hi/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/id/agent_skills.md +6 -6
- package/docs/id/analytics.md +28 -5
- package/docs/id/bundle_optimization.md +2 -2
- package/docs/id/configuration.md +47 -18
- package/docs/id/dictionary/content_file.md +0 -22
- package/docs/id/dictionary/function_fetching.md +23 -0
- package/docs/id/eslint.md +9 -9
- package/docs/id/interest_of_intlayer.md +1 -1
- package/docs/id/intlayer_with_analog.md +1 -1
- package/docs/id/intlayer_with_angular_19.md +1 -1
- package/docs/id/intlayer_with_angular_21.md +1 -1
- package/docs/id/intlayer_with_astro.md +1 -1
- 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_lynx+react.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 +1 -1
- 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_nuxt.md +1 -1
- package/docs/id/intlayer_with_react_native+expo.md +1 -1
- package/docs/id/intlayer_with_react_router_v7.md +1 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/id/intlayer_with_solid_start.md +1 -1
- package/docs/id/intlayer_with_storybook.md +1 -1
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack+solid.md +1 -1
- package/docs/id/intlayer_with_tanstack.md +1 -1
- package/docs/id/intlayer_with_vanilla.md +1 -1
- package/docs/id/intlayer_with_vite+lit.md +1 -1
- package/docs/id/intlayer_with_vite+preact.md +1 -1
- package/docs/id/intlayer_with_vite+react.md +1 -1
- package/docs/id/intlayer_with_vite+solid.md +1 -1
- package/docs/id/intlayer_with_vite+svelte.md +1 -1
- package/docs/id/intlayer_with_vite+vanilla.md +1 -1
- package/docs/id/intlayer_with_vite+vue.md +1 -1
- package/docs/id/introduction.md +1 -1
- package/docs/id/mcp_server.md +34 -21
- package/docs/id/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/id/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/id/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/it/agent_skills.md +6 -6
- package/docs/it/analytics.md +28 -5
- package/docs/it/bundle_optimization.md +3 -3
- package/docs/it/configuration.md +47 -18
- package/docs/it/dictionary/content_file.md +0 -22
- package/docs/it/dictionary/function_fetching.md +23 -0
- package/docs/it/eslint.md +9 -9
- package/docs/it/intlayer_with_analog.md +1 -1
- package/docs/it/intlayer_with_angular_19.md +1 -1
- package/docs/it/intlayer_with_angular_21.md +1 -1
- package/docs/it/intlayer_with_astro.md +1 -1
- 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_lynx+react.md +1 -1
- package/docs/it/intlayer_with_nextjs_14.md +1 -1
- package/docs/it/intlayer_with_nextjs_15.md +1 -1
- package/docs/it/intlayer_with_nextjs_16.md +1 -1
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_nuxt.md +1 -1
- package/docs/it/intlayer_with_react_native+expo.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +1 -1
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/it/intlayer_with_solid_start.md +1 -1
- package/docs/it/intlayer_with_storybook.md +1 -1
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack+solid.md +1 -1
- package/docs/it/intlayer_with_tanstack.md +1 -1
- package/docs/it/intlayer_with_vanilla.md +1 -1
- package/docs/it/intlayer_with_vite+lit.md +1 -1
- package/docs/it/intlayer_with_vite+preact.md +1 -1
- package/docs/it/intlayer_with_vite+react.md +1 -1
- package/docs/it/intlayer_with_vite+solid.md +1 -1
- package/docs/it/intlayer_with_vite+svelte.md +1 -1
- package/docs/it/intlayer_with_vite+vanilla.md +1 -1
- package/docs/it/intlayer_with_vite+vue.md +1 -1
- package/docs/it/introduction.md +1 -1
- package/docs/it/mcp_server.md +34 -21
- package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/it/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/it/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/it/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/ja/agent_skills.md +6 -6
- package/docs/ja/analytics.md +28 -5
- package/docs/ja/bundle_optimization.md +2 -2
- package/docs/ja/configuration.md +42 -18
- package/docs/ja/dictionary/content_file.md +0 -22
- package/docs/ja/dictionary/function_fetching.md +23 -0
- package/docs/ja/eslint.md +9 -9
- package/docs/ja/interest_of_intlayer.md +1 -1
- package/docs/ja/intlayer_with_analog.md +1 -1
- package/docs/ja/intlayer_with_angular_19.md +1 -1
- package/docs/ja/intlayer_with_angular_21.md +1 -1
- package/docs/ja/intlayer_with_astro.md +1 -1
- 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_lynx+react.md +1 -1
- package/docs/ja/intlayer_with_nextjs_14.md +1 -1
- package/docs/ja/intlayer_with_nextjs_15.md +1 -1
- package/docs/ja/intlayer_with_nextjs_16.md +1 -1
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ja/intlayer_with_nuxt.md +1 -1
- package/docs/ja/intlayer_with_react_native+expo.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ja/intlayer_with_solid_start.md +1 -1
- package/docs/ja/intlayer_with_storybook.md +1 -1
- package/docs/ja/intlayer_with_svelte_kit.md +1 -1
- package/docs/ja/intlayer_with_tanstack+solid.md +1 -1
- package/docs/ja/intlayer_with_tanstack.md +1 -1
- package/docs/ja/intlayer_with_vanilla.md +1 -1
- package/docs/ja/intlayer_with_vite+lit.md +1 -1
- package/docs/ja/intlayer_with_vite+preact.md +1 -1
- package/docs/ja/intlayer_with_vite+react.md +1 -1
- package/docs/ja/intlayer_with_vite+solid.md +1 -1
- package/docs/ja/intlayer_with_vite+svelte.md +1 -1
- package/docs/ja/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ja/intlayer_with_vite+vue.md +1 -1
- package/docs/ja/introduction.md +1 -1
- package/docs/ja/mcp_server.md +34 -19
- package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ja/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/ja/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ja/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/ko/agent_skills.md +7 -7
- package/docs/ko/analytics.md +28 -5
- package/docs/ko/bundle_optimization.md +2 -2
- package/docs/ko/configuration.md +43 -18
- package/docs/ko/dictionary/content_file.md +0 -22
- package/docs/ko/dictionary/function_fetching.md +23 -0
- package/docs/ko/eslint.md +9 -9
- package/docs/ko/intlayer_with_analog.md +1 -1
- package/docs/ko/intlayer_with_angular_19.md +1 -1
- package/docs/ko/intlayer_with_angular_21.md +1 -1
- package/docs/ko/intlayer_with_astro.md +1 -1
- package/docs/ko/intlayer_with_astro_lit.md +4 -4
- 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_lynx+react.md +1 -1
- package/docs/ko/intlayer_with_nextjs_14.md +1 -1
- package/docs/ko/intlayer_with_nextjs_15.md +1 -1
- package/docs/ko/intlayer_with_nextjs_16.md +1 -1
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ko/intlayer_with_nuxt.md +1 -1
- package/docs/ko/intlayer_with_react_native+expo.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ko/intlayer_with_solid_start.md +1 -1
- package/docs/ko/intlayer_with_storybook.md +1 -1
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +1 -1
- package/docs/ko/intlayer_with_tanstack.md +1 -1
- package/docs/ko/intlayer_with_vanilla.md +1 -1
- package/docs/ko/intlayer_with_vite+lit.md +1 -1
- package/docs/ko/intlayer_with_vite+preact.md +1 -1
- package/docs/ko/intlayer_with_vite+react.md +2 -2
- package/docs/ko/intlayer_with_vite+solid.md +1 -1
- package/docs/ko/intlayer_with_vite+svelte.md +1 -1
- package/docs/ko/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ko/intlayer_with_vite+vue.md +1 -1
- package/docs/ko/introduction.md +1 -1
- package/docs/ko/mcp_server.md +34 -21
- package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ko/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/ko/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ko/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/nl/bundle_optimization.md +2 -2
- package/docs/nl/configuration.md +45 -18
- package/docs/nl/eslint.md +9 -9
- package/docs/pl/agent_skills.md +5 -5
- package/docs/pl/analytics.md +28 -5
- package/docs/pl/bundle_optimization.md +3 -3
- package/docs/pl/configuration.md +46 -18
- package/docs/pl/dictionary/content_file.md +0 -22
- package/docs/pl/dictionary/function_fetching.md +23 -0
- package/docs/pl/eslint.md +9 -9
- package/docs/pl/intlayer_with_analog.md +1 -1
- package/docs/pl/intlayer_with_angular_19.md +1 -1
- package/docs/pl/intlayer_with_angular_21.md +1 -1
- package/docs/pl/intlayer_with_astro.md +1 -1
- package/docs/pl/intlayer_with_astro_lit.md +1 -1
- package/docs/pl/intlayer_with_astro_preact.md +1 -1
- package/docs/pl/intlayer_with_astro_react.md +1 -1
- package/docs/pl/intlayer_with_astro_solid.md +1 -1
- package/docs/pl/intlayer_with_astro_svelte.md +1 -1
- package/docs/pl/intlayer_with_astro_vanilla.md +1 -1
- package/docs/pl/intlayer_with_astro_vue.md +1 -1
- package/docs/pl/intlayer_with_lynx+react.md +1 -1
- package/docs/pl/intlayer_with_nextjs_14.md +1 -1
- package/docs/pl/intlayer_with_nextjs_15.md +1 -1
- package/docs/pl/intlayer_with_nextjs_16.md +1 -1
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pl/intlayer_with_nuxt.md +1 -1
- package/docs/pl/intlayer_with_react_native+expo.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +3 -3
- package/docs/pl/intlayer_with_solid_start.md +1 -1
- package/docs/pl/intlayer_with_storybook.md +1 -1
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +1 -1
- package/docs/pl/intlayer_with_tanstack.md +1 -1
- package/docs/pl/intlayer_with_vanilla.md +1 -1
- package/docs/pl/intlayer_with_vite+lit.md +1 -1
- package/docs/pl/intlayer_with_vite+preact.md +1 -1
- package/docs/pl/intlayer_with_vite+react.md +1 -1
- package/docs/pl/intlayer_with_vite+solid.md +1 -1
- package/docs/pl/intlayer_with_vite+svelte.md +1 -1
- package/docs/pl/intlayer_with_vite+vanilla.md +1 -1
- package/docs/pl/intlayer_with_vite+vue.md +1 -1
- package/docs/pl/introduction.md +1 -1
- package/docs/pl/mcp_server.md +34 -21
- package/docs/pl/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/pl/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/pl/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/pl/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/pl/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/pt/agent_skills.md +6 -6
- package/docs/pt/analytics.md +28 -5
- package/docs/pt/bundle_optimization.md +3 -3
- package/docs/pt/configuration.md +46 -18
- package/docs/pt/dictionary/content_file.md +0 -22
- package/docs/pt/dictionary/function_fetching.md +23 -0
- package/docs/pt/eslint.md +9 -9
- package/docs/pt/intlayer_with_analog.md +1 -1
- package/docs/pt/intlayer_with_angular_19.md +1 -1
- package/docs/pt/intlayer_with_angular_21.md +1 -1
- package/docs/pt/intlayer_with_astro.md +1 -1
- package/docs/pt/intlayer_with_astro_lit.md +1 -1
- package/docs/pt/intlayer_with_astro_preact.md +1 -1
- package/docs/pt/intlayer_with_astro_react.md +1 -1
- package/docs/pt/intlayer_with_astro_solid.md +1 -1
- package/docs/pt/intlayer_with_astro_svelte.md +1 -1
- package/docs/pt/intlayer_with_astro_vanilla.md +1 -1
- package/docs/pt/intlayer_with_astro_vue.md +1 -1
- package/docs/pt/intlayer_with_lynx+react.md +1 -1
- package/docs/pt/intlayer_with_nextjs_14.md +1 -1
- package/docs/pt/intlayer_with_nextjs_15.md +1 -1
- package/docs/pt/intlayer_with_nextjs_16.md +1 -1
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_nuxt.md +1 -1
- package/docs/pt/intlayer_with_react_native+expo.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/pt/intlayer_with_solid_start.md +1 -1
- package/docs/pt/intlayer_with_storybook.md +1 -1
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +1 -1
- package/docs/pt/intlayer_with_tanstack.md +1 -1
- package/docs/pt/intlayer_with_vanilla.md +1 -1
- package/docs/pt/intlayer_with_vite+lit.md +1 -1
- package/docs/pt/intlayer_with_vite+preact.md +1 -1
- package/docs/pt/intlayer_with_vite+react.md +1 -1
- package/docs/pt/intlayer_with_vite+solid.md +1 -1
- package/docs/pt/intlayer_with_vite+svelte.md +1 -1
- package/docs/pt/intlayer_with_vite+vanilla.md +1 -1
- package/docs/pt/intlayer_with_vite+vue.md +1 -1
- package/docs/pt/mcp_server.md +34 -21
- package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/pt/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/pt/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/pt/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/ru/agent_skills.md +7 -7
- package/docs/ru/analytics.md +28 -5
- package/docs/ru/bundle_optimization.md +3 -3
- package/docs/ru/configuration.md +46 -18
- package/docs/ru/dictionary/content_file.md +0 -22
- package/docs/ru/dictionary/function_fetching.md +23 -0
- package/docs/ru/eslint.md +9 -9
- package/docs/ru/intlayer_with_analog.md +1 -1
- package/docs/ru/intlayer_with_angular_19.md +1 -1
- package/docs/ru/intlayer_with_angular_21.md +1 -1
- package/docs/ru/intlayer_with_astro.md +1 -1
- package/docs/ru/intlayer_with_astro_lit.md +4 -4
- 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_lynx+react.md +1 -1
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_nextjs_16.md +1 -1
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_nuxt.md +1 -1
- package/docs/ru/intlayer_with_react_native+expo.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ru/intlayer_with_solid_start.md +1 -1
- package/docs/ru/intlayer_with_storybook.md +1 -1
- package/docs/ru/intlayer_with_svelte_kit.md +1 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +1 -1
- package/docs/ru/intlayer_with_tanstack.md +1 -1
- package/docs/ru/intlayer_with_vanilla.md +1 -1
- package/docs/ru/intlayer_with_vite+lit.md +1 -1
- package/docs/ru/intlayer_with_vite+preact.md +1 -1
- package/docs/ru/intlayer_with_vite+react.md +1 -1
- package/docs/ru/intlayer_with_vite+solid.md +1 -1
- package/docs/ru/intlayer_with_vite+svelte.md +1 -1
- package/docs/ru/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ru/intlayer_with_vite+vue.md +1 -1
- package/docs/ru/introduction.md +1 -1
- package/docs/ru/mcp_server.md +34 -21
- package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ru/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/ru/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ru/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/tr/agent_skills.md +6 -6
- package/docs/tr/analytics.md +28 -5
- package/docs/tr/bundle_optimization.md +3 -3
- package/docs/tr/configuration.md +45 -18
- package/docs/tr/dictionary/content_file.md +0 -22
- package/docs/tr/dictionary/function_fetching.md +23 -0
- package/docs/tr/eslint.md +9 -9
- package/docs/tr/intlayer_with_analog.md +1 -1
- package/docs/tr/intlayer_with_angular_19.md +1 -1
- package/docs/tr/intlayer_with_angular_21.md +1 -1
- package/docs/tr/intlayer_with_astro.md +1 -1
- 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_lynx+react.md +1 -1
- package/docs/tr/intlayer_with_nextjs_14.md +1 -1
- package/docs/tr/intlayer_with_nextjs_15.md +1 -1
- package/docs/tr/intlayer_with_nextjs_16.md +1 -1
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_nuxt.md +1 -1
- package/docs/tr/intlayer_with_react_native+expo.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/tr/intlayer_with_solid_start.md +1 -1
- package/docs/tr/intlayer_with_storybook.md +1 -1
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +1 -1
- package/docs/tr/intlayer_with_vanilla.md +1 -1
- package/docs/tr/intlayer_with_vite+lit.md +1 -1
- package/docs/tr/intlayer_with_vite+preact.md +1 -1
- package/docs/tr/intlayer_with_vite+react.md +1 -1
- package/docs/tr/intlayer_with_vite+solid.md +1 -1
- package/docs/tr/intlayer_with_vite+svelte.md +1 -1
- package/docs/tr/intlayer_with_vite+vanilla.md +1 -1
- package/docs/tr/intlayer_with_vite+vue.md +1 -1
- package/docs/tr/introduction.md +1 -1
- package/docs/tr/mcp_server.md +34 -21
- package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/tr/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/tr/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/tr/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/uk/agent_skills.md +5 -5
- package/docs/uk/analytics.md +28 -5
- package/docs/uk/bundle_optimization.md +2 -2
- package/docs/uk/configuration.md +47 -18
- package/docs/uk/dictionary/content_file.md +0 -22
- package/docs/uk/dictionary/function_fetching.md +23 -0
- package/docs/uk/eslint.md +9 -9
- package/docs/uk/interest_of_intlayer.md +1 -1
- package/docs/uk/intlayer_with_analog.md +1 -1
- package/docs/uk/intlayer_with_angular_19.md +1 -1
- package/docs/uk/intlayer_with_angular_21.md +1 -1
- package/docs/uk/intlayer_with_astro.md +1 -1
- 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_lynx+react.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_no_locale_path.md +1 -1
- package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/uk/intlayer_with_nuxt.md +1 -1
- package/docs/uk/intlayer_with_react_native+expo.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/uk/intlayer_with_solid_start.md +1 -1
- package/docs/uk/intlayer_with_storybook.md +1 -1
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +1 -1
- package/docs/uk/intlayer_with_tanstack.md +1 -1
- package/docs/uk/intlayer_with_vanilla.md +1 -1
- package/docs/uk/intlayer_with_vite+lit.md +1 -1
- package/docs/uk/intlayer_with_vite+preact.md +1 -1
- package/docs/uk/intlayer_with_vite+react.md +1 -1
- package/docs/uk/intlayer_with_vite+solid.md +1 -1
- package/docs/uk/intlayer_with_vite+svelte.md +1 -1
- package/docs/uk/intlayer_with_vite+vanilla.md +1 -1
- package/docs/uk/intlayer_with_vite+vue.md +1 -1
- package/docs/uk/introduction.md +1 -1
- package/docs/uk/mcp_server.md +34 -21
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/uk/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/uk/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/uk/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/ur/bundle_optimization.md +2 -2
- package/docs/ur/configuration.md +47 -18
- package/docs/ur/eslint.md +9 -9
- package/docs/ur/introduction.md +1 -1
- package/docs/vi/agent_skills.md +6 -6
- package/docs/vi/analytics.md +28 -5
- package/docs/vi/bundle_optimization.md +3 -3
- package/docs/vi/configuration.md +45 -18
- package/docs/vi/dictionary/content_file.md +0 -22
- package/docs/vi/dictionary/function_fetching.md +23 -0
- package/docs/vi/eslint.md +9 -9
- package/docs/vi/interest_of_intlayer.md +1 -1
- package/docs/vi/intlayer_with_analog.md +1 -1
- package/docs/vi/intlayer_with_angular_19.md +1 -1
- package/docs/vi/intlayer_with_angular_21.md +1 -1
- package/docs/vi/intlayer_with_astro.md +1 -1
- 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_lynx+react.md +1 -1
- package/docs/vi/intlayer_with_nextjs_14.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +1 -1
- package/docs/vi/intlayer_with_nextjs_16.md +1 -1
- 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 +1 -1
- package/docs/vi/intlayer_with_react_native+expo.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/vi/intlayer_with_solid_start.md +1 -1
- package/docs/vi/intlayer_with_storybook.md +1 -1
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +1 -1
- package/docs/vi/intlayer_with_tanstack.md +1 -1
- package/docs/vi/intlayer_with_vanilla.md +1 -1
- package/docs/vi/intlayer_with_vite+lit.md +1 -1
- package/docs/vi/intlayer_with_vite+preact.md +1 -1
- package/docs/vi/intlayer_with_vite+react.md +1 -1
- package/docs/vi/intlayer_with_vite+solid.md +1 -1
- package/docs/vi/intlayer_with_vite+svelte.md +1 -1
- package/docs/vi/intlayer_with_vite+vanilla.md +1 -1
- package/docs/vi/intlayer_with_vite+vue.md +1 -1
- package/docs/vi/mcp_server.md +34 -21
- package/docs/vi/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/vi/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/vi/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/zh/agent_skills.md +7 -7
- package/docs/zh/analytics.md +28 -5
- package/docs/zh/bundle_optimization.md +3 -3
- package/docs/zh/configuration.md +41 -18
- package/docs/zh/dictionary/content_file.md +0 -22
- package/docs/zh/dictionary/function_fetching.md +23 -0
- package/docs/zh/eslint.md +9 -9
- package/docs/zh/intlayer_with_analog.md +1 -1
- package/docs/zh/intlayer_with_angular_19.md +1 -1
- package/docs/zh/intlayer_with_angular_21.md +1 -1
- package/docs/zh/intlayer_with_astro.md +1 -1
- package/docs/zh/intlayer_with_astro_lit.md +1 -1
- package/docs/zh/intlayer_with_astro_preact.md +1 -1
- package/docs/zh/intlayer_with_astro_react.md +1 -1
- package/docs/zh/intlayer_with_astro_solid.md +1 -1
- package/docs/zh/intlayer_with_astro_svelte.md +1 -1
- package/docs/zh/intlayer_with_astro_vanilla.md +1 -1
- package/docs/zh/intlayer_with_astro_vue.md +1 -1
- package/docs/zh/intlayer_with_lynx+react.md +1 -1
- package/docs/zh/intlayer_with_nextjs_14.md +1 -1
- package/docs/zh/intlayer_with_nextjs_15.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +1 -1
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_nuxt.md +1 -1
- package/docs/zh/intlayer_with_react_native+expo.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/zh/intlayer_with_solid_start.md +1 -1
- package/docs/zh/intlayer_with_storybook.md +1 -1
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +1 -1
- package/docs/zh/intlayer_with_tanstack.md +1 -1
- package/docs/zh/intlayer_with_vanilla.md +1 -1
- package/docs/zh/intlayer_with_vite+lit.md +1 -1
- package/docs/zh/intlayer_with_vite+preact.md +1 -1
- package/docs/zh/intlayer_with_vite+react.md +1 -1
- package/docs/zh/intlayer_with_vite+svelte.md +1 -1
- package/docs/zh/intlayer_with_vite+vanilla.md +1 -1
- package/docs/zh/intlayer_with_vite+vue.md +1 -1
- package/docs/zh/mcp_server.md +34 -19
- package/docs/zh/packages/intlayer/getLocalizedPath.md +14 -0
- package/docs/zh/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/zh/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/zh-TW/bundle_optimization.md +3 -3
- package/docs/zh-TW/eslint.md +9 -9
- package/package.json +7 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-10-25
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-22
|
|
4
4
|
title: "Next.js 15 i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Next.js 15 app. Translate with AI agents and optimize bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ applicationTemplate: https://github.com/aymericzip/intlayer-next-15-template
|
|
|
19
19
|
applicationShowcase: https://next-15-intlayer-template-xt83.vercel.app
|
|
20
20
|
youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.4.0
|
|
23
|
+
date: 2026-08-22
|
|
24
|
+
changes: "Update to Next.js >= 9.4.0 architecture"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
@@ -308,6 +311,36 @@ export default RootLayout;
|
|
|
308
311
|
|
|
309
312
|
To implement dynamic routing, provide the path for the locale by adding a new layout in your `[locale]` directory:
|
|
310
313
|
|
|
314
|
+
<Tabs>
|
|
315
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
316
|
+
|
|
317
|
+
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
318
|
+
import { type NextLayoutIntlayer } from "next-intlayer";
|
|
319
|
+
import { IntlayerProvider } from "next-intlayer/server";
|
|
320
|
+
import { Inter } from "next/font/google";
|
|
321
|
+
import { getHTMLTextDir } from "intlayer";
|
|
322
|
+
|
|
323
|
+
const inter = Inter({ subsets: ["latin"] });
|
|
324
|
+
|
|
325
|
+
const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
326
|
+
const { locale } = await params;
|
|
327
|
+
return (
|
|
328
|
+
<IntlayerProvider locale={locale}>
|
|
329
|
+
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
330
|
+
<body className={inter.className}>{children}</body>
|
|
331
|
+
</html>
|
|
332
|
+
</IntlayerProvider>
|
|
333
|
+
);
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
export default LocaleLayout;
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
> A single `IntlayerProvider` covers both halves of the tree: it seeds the request-scoped server context read by the server hooks, and mounts the client provider so client components receive the same locale.
|
|
340
|
+
|
|
341
|
+
</Tab>
|
|
342
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
343
|
+
|
|
311
344
|
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
312
345
|
import { type NextLayoutIntlayer, IntlayerClientProvider } from "next-intlayer";
|
|
313
346
|
import { Inter } from "next/font/google";
|
|
@@ -331,6 +364,9 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
331
364
|
export default LocaleLayout;
|
|
332
365
|
```
|
|
333
366
|
|
|
367
|
+
</Tab>
|
|
368
|
+
</Tabs>
|
|
369
|
+
|
|
334
370
|
> The `[locale]` path segment is used to define the locale. Example: `/en-US/about` will refer to `en-US` and `/fr/about` to `fr`.
|
|
335
371
|
|
|
336
372
|
> At this stage, you will encounter the error: `Error: Missing <html> and <body> tags in the root layout.`. This is expected because the `/app/page.tsx` file is no longer in use and can be removed. Instead, the `[locale]` path segment will activate the `/app/[locale]/page.tsx` page. Consequently, pages will be accessible via paths like `/en`, `/fr`, `/es` in your browser. To set the default locale as the root page, refer to the `middleware` setup in step 7.
|
|
@@ -405,6 +441,44 @@ export default pageContent;
|
|
|
405
441
|
|
|
406
442
|
Access your content dictionaries throughout your application:
|
|
407
443
|
|
|
444
|
+
<Tabs>
|
|
445
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
446
|
+
|
|
447
|
+
```tsx fileName="src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
448
|
+
import type { FC } from "react";
|
|
449
|
+
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
450
|
+
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
451
|
+
import { type NextPageIntlayer, useIntlayer } from "next-intlayer";
|
|
452
|
+
|
|
453
|
+
const PageContent: FC = () => {
|
|
454
|
+
const content = useIntlayer("page");
|
|
455
|
+
|
|
456
|
+
return (
|
|
457
|
+
<>
|
|
458
|
+
<p>{content.getStarted.main}</p>
|
|
459
|
+
<code>{content.getStarted.pageLink}</code>
|
|
460
|
+
</>
|
|
461
|
+
);
|
|
462
|
+
};
|
|
463
|
+
|
|
464
|
+
const Page: NextPageIntlayer = () => (
|
|
465
|
+
<>
|
|
466
|
+
<PageContent />
|
|
467
|
+
<ServerComponentExample />
|
|
468
|
+
|
|
469
|
+
<ClientComponentExample />
|
|
470
|
+
</>
|
|
471
|
+
);
|
|
472
|
+
|
|
473
|
+
export default Page;
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
- **`IntlayerProvider`** is mounted once, in the locale layout. It provides the locale to both server and client components, so pages no longer wrap themselves.
|
|
477
|
+
- The server hooks resolve the locale in this order: the locale passed at the call site, then the server context seeded by the provider, then the locale carried by the request (the `x-intlayer-locale` header set by the Intlayer proxy, then the locale cookie). That last step is what keeps content correct on a client-side navigation that re-renders only the page segment, where the layout — and with it the provider — does not re-run.
|
|
478
|
+
|
|
479
|
+
</Tab>
|
|
480
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
481
|
+
|
|
408
482
|
```tsx fileName="src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
409
483
|
import type { FC } from "react";
|
|
410
484
|
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
@@ -444,6 +518,9 @@ export default Page;
|
|
|
444
518
|
|
|
445
519
|
> Layout and page cannot share a common server context because the server context system is based on a per-request data store (via [React's cache](https://react.dev/reference/react/cache) mechanism), causing each "context" to be re-created for different segments of the application. Placing the provider in a shared layout would break this isolation, preventing the correct propagation of the server context values to your server components.
|
|
446
520
|
|
|
521
|
+
</Tab>
|
|
522
|
+
</Tabs>
|
|
523
|
+
|
|
447
524
|
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
448
525
|
"use client";
|
|
449
526
|
|
|
@@ -462,6 +539,30 @@ export const ClientComponentExample: FC = () => {
|
|
|
462
539
|
};
|
|
463
540
|
```
|
|
464
541
|
|
|
542
|
+
<Tabs>
|
|
543
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
544
|
+
|
|
545
|
+
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
546
|
+
import type { FC } from "react";
|
|
547
|
+
import { useIntlayer } from "next-intlayer";
|
|
548
|
+
|
|
549
|
+
export const ServerComponentExample: FC = () => {
|
|
550
|
+
const content = useIntlayer("server-component-example"); // Create related content declaration
|
|
551
|
+
|
|
552
|
+
return (
|
|
553
|
+
<div>
|
|
554
|
+
<h2>{content.title}</h2>
|
|
555
|
+
<p>{content.content}</p>
|
|
556
|
+
</div>
|
|
557
|
+
);
|
|
558
|
+
};
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
> `next-intlayer` is the isomorphic import path: the `react-server` export condition gives server components the ambient-locale implementation, while client components get the context-backed one. The same call works on both sides.
|
|
562
|
+
|
|
563
|
+
</Tab>
|
|
564
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
565
|
+
|
|
465
566
|
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
466
567
|
import type { FC } from "react";
|
|
467
568
|
import { useIntlayer } from "next-intlayer/server";
|
|
@@ -478,6 +579,9 @@ export const ServerComponentExample: FC = () => {
|
|
|
478
579
|
};
|
|
479
580
|
```
|
|
480
581
|
|
|
582
|
+
</Tab>
|
|
583
|
+
</Tabs>
|
|
584
|
+
|
|
481
585
|
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you can use the value of the function, like:
|
|
482
586
|
|
|
483
587
|
> ```html
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-12-06
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-22
|
|
4
4
|
title: "Next.js 16 i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Next.js 16 app. Translate with AI agents and optimize bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -18,6 +18,9 @@ applicationTemplate: https://github.com/aymericzip/intlayer-next-16-template
|
|
|
18
18
|
applicationShowcase: https://intlayer-next-16-template.vercel.app
|
|
19
19
|
youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
|
|
20
20
|
history:
|
|
21
|
+
- version: 9.4.0
|
|
22
|
+
date: 2026-08-22
|
|
23
|
+
changes: "Update to Next.js >= 9.4.0 architecture"
|
|
21
24
|
- version: 8.9.0
|
|
22
25
|
date: 2026-05-04
|
|
23
26
|
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
@@ -297,6 +300,36 @@ export default RootLayout;
|
|
|
297
300
|
|
|
298
301
|
To implement dynamic routing, provide the path for the locale by adding a new layout in your `[locale]` directory:
|
|
299
302
|
|
|
303
|
+
<Tabs>
|
|
304
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
305
|
+
|
|
306
|
+
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
307
|
+
import { type NextLayoutIntlayer } from "next-intlayer";
|
|
308
|
+
import { IntlayerProvider } from "next-intlayer/server";
|
|
309
|
+
import { Inter } from "next/font/google";
|
|
310
|
+
import { getHTMLTextDir } from "intlayer";
|
|
311
|
+
|
|
312
|
+
const inter = Inter({ subsets: ["latin"] });
|
|
313
|
+
|
|
314
|
+
const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
315
|
+
const { locale } = await params;
|
|
316
|
+
return (
|
|
317
|
+
<IntlayerProvider locale={locale}>
|
|
318
|
+
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
319
|
+
<body className={inter.className}>{children}</body>
|
|
320
|
+
</html>
|
|
321
|
+
</IntlayerProvider>
|
|
322
|
+
);
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
export default LocaleLayout;
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
> A single `IntlayerProvider` covers both halves of the tree: it seeds the request-scoped server context read by the server hooks, and mounts the client provider so client components receive the same locale.
|
|
329
|
+
|
|
330
|
+
</Tab>
|
|
331
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
332
|
+
|
|
300
333
|
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
301
334
|
import { type NextLayoutIntlayer, IntlayerClientProvider } from "next-intlayer";
|
|
302
335
|
import { Inter } from "next/font/google";
|
|
@@ -320,6 +353,9 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
320
353
|
export default LocaleLayout;
|
|
321
354
|
```
|
|
322
355
|
|
|
356
|
+
</Tab>
|
|
357
|
+
</Tabs>
|
|
358
|
+
|
|
323
359
|
> The `[locale]` path segment is used to define the locale. Example: `/en-US/about` will refer to `en-US` and `/fr/about` to `fr`.
|
|
324
360
|
|
|
325
361
|
> At this stage, you will encounter the error: `Error: Missing <html> and <body> tags in the root layout.`. This is expected because the `/app/page.tsx` file is no longer in use and can be removed. Instead, the `[locale]` path segment will activate the `/app/[locale]/page.tsx` page. Consequently, pages will be accessible via paths like `/en`, `/fr`, `/es` in your browser. To set the default locale as the root page, refer to the `proxy` setup in step 7.
|
|
@@ -394,6 +430,44 @@ export default pageContent;
|
|
|
394
430
|
|
|
395
431
|
Access your content dictionaries throughout your application:
|
|
396
432
|
|
|
433
|
+
<Tabs>
|
|
434
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
435
|
+
|
|
436
|
+
```tsx fileName="src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
437
|
+
import type { FC } from "react";
|
|
438
|
+
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
439
|
+
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
440
|
+
import { type NextPageIntlayer, useIntlayer } from "next-intlayer";
|
|
441
|
+
|
|
442
|
+
const PageContent: FC = () => {
|
|
443
|
+
const content = useIntlayer("page");
|
|
444
|
+
|
|
445
|
+
return (
|
|
446
|
+
<>
|
|
447
|
+
<p>{content.getStarted.main}</p>
|
|
448
|
+
<code>{content.getStarted.pageLink}</code>
|
|
449
|
+
</>
|
|
450
|
+
);
|
|
451
|
+
};
|
|
452
|
+
|
|
453
|
+
const Page: NextPageIntlayer = () => (
|
|
454
|
+
<>
|
|
455
|
+
<PageContent />
|
|
456
|
+
<ServerComponentExample />
|
|
457
|
+
|
|
458
|
+
<ClientComponentExample />
|
|
459
|
+
</>
|
|
460
|
+
);
|
|
461
|
+
|
|
462
|
+
export default Page;
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
- **`IntlayerProvider`** is mounted once, in the locale layout. It provides the locale to both server and client components, so pages no longer wrap themselves.
|
|
466
|
+
- The server hooks resolve the locale in this order: the locale passed at the call site, then the server context seeded by the provider, then the locale carried by the request (the `x-intlayer-locale` header set by the Intlayer proxy, then the locale cookie). That last step is what keeps content correct on a client-side navigation that re-renders only the page segment, where the layout — and with it the provider — does not re-run.
|
|
467
|
+
|
|
468
|
+
</Tab>
|
|
469
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
470
|
+
|
|
397
471
|
```tsx fileName="src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
398
472
|
import type { FC } from "react";
|
|
399
473
|
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
@@ -433,6 +507,9 @@ export default Page;
|
|
|
433
507
|
|
|
434
508
|
> Layout and page cannot share a common server context because the server context system is based on a per-request data store (via [React's cache](https://react.dev/reference/react/cache) mechanism), causing each "context" to be re-created for different segments of the application. Placing the provider in a shared layout would break this isolation, preventing the correct propagation of the server context values to your server components.
|
|
435
509
|
|
|
510
|
+
</Tab>
|
|
511
|
+
</Tabs>
|
|
512
|
+
|
|
436
513
|
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
437
514
|
"use client";
|
|
438
515
|
|
|
@@ -451,6 +528,30 @@ export const ClientComponentExample: FC = () => {
|
|
|
451
528
|
};
|
|
452
529
|
```
|
|
453
530
|
|
|
531
|
+
<Tabs>
|
|
532
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
533
|
+
|
|
534
|
+
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
535
|
+
import type { FC } from "react";
|
|
536
|
+
import { useIntlayer } from "next-intlayer";
|
|
537
|
+
|
|
538
|
+
export const ServerComponentExample: FC = () => {
|
|
539
|
+
const content = useIntlayer("server-component-example"); // Create related content declaration
|
|
540
|
+
|
|
541
|
+
return (
|
|
542
|
+
<div>
|
|
543
|
+
<h2>{content.title}</h2>
|
|
544
|
+
<p>{content.content}</p>
|
|
545
|
+
</div>
|
|
546
|
+
);
|
|
547
|
+
};
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
> `next-intlayer` is the isomorphic import path: the `react-server` export condition gives server components the ambient-locale implementation, while client components get the context-backed one. The same call works on both sides.
|
|
551
|
+
|
|
552
|
+
</Tab>
|
|
553
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
554
|
+
|
|
454
555
|
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
455
556
|
import type { FC } from "react";
|
|
456
557
|
import { useIntlayer } from "next-intlayer/server";
|
|
@@ -467,6 +568,9 @@ export const ServerComponentExample: FC = () => {
|
|
|
467
568
|
};
|
|
468
569
|
```
|
|
469
570
|
|
|
571
|
+
</Tab>
|
|
572
|
+
</Tabs>
|
|
573
|
+
|
|
470
574
|
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you can use the value of the function, like:
|
|
471
575
|
|
|
472
576
|
> ```html
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-01-10
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-22
|
|
4
4
|
title: "Next.js i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Next.js app. Translate with AI agents and optimize bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -20,6 +20,9 @@ slugs:
|
|
|
20
20
|
applicationTemplate: https://github.com/aymericzip/intlayer-next-no-lolale-path-template
|
|
21
21
|
youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
|
|
22
22
|
history:
|
|
23
|
+
- version: 9.4.0
|
|
24
|
+
date: 2026-08-22
|
|
25
|
+
changes: "Update to Next.js >= 9.4.0 architecture"
|
|
23
26
|
- version: 8.9.0
|
|
24
27
|
date: 2026-05-04
|
|
25
28
|
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
@@ -300,8 +303,6 @@ Example of how your page might look:
|
|
|
300
303
|
|
|
301
304
|
```tsx fileName="src/app/page.tsx"
|
|
302
305
|
import type { FC } from "react";
|
|
303
|
-
import { IntlayerServerProvider } from "next-intlayer/server";
|
|
304
|
-
import { getLocale } from "next-intlayer/server";
|
|
305
306
|
|
|
306
307
|
const PageContent: FC = () => {
|
|
307
308
|
return (
|
|
@@ -312,14 +313,8 @@ const PageContent: FC = () => {
|
|
|
312
313
|
);
|
|
313
314
|
};
|
|
314
315
|
|
|
315
|
-
export default
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
return (
|
|
319
|
-
<IntlayerServerProvider locale={locale}>
|
|
320
|
-
<PageContent />
|
|
321
|
-
</IntlayerServerProvider>
|
|
322
|
-
);
|
|
316
|
+
export default function Page() {
|
|
317
|
+
return <PageContent />;
|
|
323
318
|
}
|
|
324
319
|
```
|
|
325
320
|
|
|
@@ -346,6 +341,35 @@ export default async function Page() {
|
|
|
346
341
|
}
|
|
347
342
|
```
|
|
348
343
|
|
|
344
|
+
<Tabs>
|
|
345
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
346
|
+
|
|
347
|
+
```tsx fileName="src/app/page.tsx"
|
|
348
|
+
import { type FC } from "react";
|
|
349
|
+
import { useIntlayer } from "next-intlayer";
|
|
350
|
+
|
|
351
|
+
const PageContent: FC = () => {
|
|
352
|
+
const content = useIntlayer("page-content");
|
|
353
|
+
|
|
354
|
+
return (
|
|
355
|
+
<>
|
|
356
|
+
<p>{content.getStartedByEditing}</p>
|
|
357
|
+
<code>src/app/page.tsx</code>
|
|
358
|
+
</>
|
|
359
|
+
);
|
|
360
|
+
};
|
|
361
|
+
|
|
362
|
+
export default function Page() {
|
|
363
|
+
return <PageContent />;
|
|
364
|
+
}
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
- **`IntlayerProvider`** is mounted once, in the root layout. It provides the locale to both server and client components, so pages no longer wrap themselves.
|
|
368
|
+
- Without a `[locale]` path segment the locale always comes from the request — the `x-intlayer-locale` header set by the Intlayer proxy, then the locale cookie — which the server hooks read on their own when the provider has not run.
|
|
369
|
+
|
|
370
|
+
</Tab>
|
|
371
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
372
|
+
|
|
349
373
|
```tsx fileName="src/app/page.tsx"
|
|
350
374
|
import { type FC } from "react";
|
|
351
375
|
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
@@ -373,14 +397,15 @@ export default async function Page() {
|
|
|
373
397
|
}
|
|
374
398
|
```
|
|
375
399
|
|
|
376
|
-
</Tab>
|
|
377
|
-
</Tabs>
|
|
378
|
-
|
|
379
400
|
- **`IntlayerClientProvider`** is used to provide the locale to client-side components.
|
|
380
401
|
- **`IntlayerServerProvider`** is used to provide the locale to the server children.
|
|
381
402
|
|
|
382
403
|
> Layout and page cannot share a common server context because the server context system is based on a per-request data store (via [React's cache](https://react.dev/reference/react/cache) mechanism), causing each "context" to be re-created for different segments of the application. Placing the provider in a shared layout would break this isolation, preventing the correct propagation of the server context values to your server components.
|
|
383
404
|
|
|
405
|
+
</Tab>
|
|
406
|
+
|
|
407
|
+
</Tabs>
|
|
408
|
+
|
|
384
409
|
</Step>
|
|
385
410
|
|
|
386
411
|
<Step number={7} title="Fill missing translation" isOptional={true}>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-01-10
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-22
|
|
4
4
|
title: "Next.js 16 i18n - Complete guide to translate your app"
|
|
5
5
|
description: "No more i18next. The 2026 guide to building a multilingual (i18n) Next.js 16 app. Translate with AI agents and optimize bundle size, SEO and performances."
|
|
6
6
|
keywords:
|
|
@@ -18,6 +18,9 @@ slugs:
|
|
|
18
18
|
applicationTemplate: https://github.com/aymericzip/intlayer-next-no-lolale-path-template
|
|
19
19
|
youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
|
|
20
20
|
history:
|
|
21
|
+
- version: 9.4.0
|
|
22
|
+
date: 2026-08-22
|
|
23
|
+
changes: "Update to Next.js >= 9.4.0 architecture"
|
|
21
24
|
- version: 8.9.0
|
|
22
25
|
date: 2026-05-04
|
|
23
26
|
changes: "Update Solid useIntlayer API usage to direct property access"
|
|
@@ -267,6 +270,52 @@ export default withIntlayer(nextConfig);
|
|
|
267
270
|
|
|
268
271
|
Remove everything from `RootLayout` and replace it with the following code:
|
|
269
272
|
|
|
273
|
+
<Tabs>
|
|
274
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
275
|
+
|
|
276
|
+
```tsx {5} fileName="src/app/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
277
|
+
import type { Metadata } from "next";
|
|
278
|
+
import type { ReactNode } from "react";
|
|
279
|
+
import "./globals.css";
|
|
280
|
+
import { getHTMLTextDir, getIntlayer } from "intlayer";
|
|
281
|
+
import { getLocale, IntlayerProvider } from "next-intlayer/server";
|
|
282
|
+
export { generateStaticParams } from "next-intlayer";
|
|
283
|
+
|
|
284
|
+
export const generateMetadata = async (): Promise<Metadata> => {
|
|
285
|
+
const locale = await getLocale();
|
|
286
|
+
const { title, description, keywords } = getIntlayer("metadata", locale);
|
|
287
|
+
|
|
288
|
+
return {
|
|
289
|
+
title,
|
|
290
|
+
description,
|
|
291
|
+
keywords,
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
const RootLayout = async ({
|
|
296
|
+
children,
|
|
297
|
+
}: Readonly<{
|
|
298
|
+
children: ReactNode;
|
|
299
|
+
}>) => {
|
|
300
|
+
const locale = await getLocale();
|
|
301
|
+
|
|
302
|
+
return (
|
|
303
|
+
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
304
|
+
<IntlayerProvider locale={locale}>
|
|
305
|
+
<body>{children}</body>
|
|
306
|
+
</IntlayerProvider>
|
|
307
|
+
</html>
|
|
308
|
+
);
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
export default RootLayout;
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
> A single `IntlayerProvider` covers both halves of the tree: it seeds the request-scoped server context read by the server hooks, and mounts the client provider so client components receive the same locale.
|
|
315
|
+
|
|
316
|
+
</Tab>
|
|
317
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
318
|
+
|
|
270
319
|
```tsx {3} fileName="src/app/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
271
320
|
import type { Metadata } from "next";
|
|
272
321
|
import type { ReactNode } from "react";
|
|
@@ -306,6 +355,9 @@ const RootLayout = async ({
|
|
|
306
355
|
export default RootLayout;
|
|
307
356
|
```
|
|
308
357
|
|
|
358
|
+
</Tab>
|
|
359
|
+
</Tabs>
|
|
360
|
+
|
|
309
361
|
</Step>
|
|
310
362
|
|
|
311
363
|
<Step number={5} title="Declare Your Content">
|
|
@@ -422,6 +474,44 @@ export default pageContent;
|
|
|
422
474
|
|
|
423
475
|
Access your content dictionaries throughout your application:
|
|
424
476
|
|
|
477
|
+
<Tabs>
|
|
478
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
479
|
+
|
|
480
|
+
```tsx fileName="src/app/page.tsx" codeFormat={["typescript", "esm"]}
|
|
481
|
+
import type { FC } from "react";
|
|
482
|
+
import { ClientComponentExample } from "@components/clientComponentExample/ClientComponentExample";
|
|
483
|
+
import { ServerComponentExample } from "@components/serverComponentExample/ServerComponentExample";
|
|
484
|
+
import { useIntlayer } from "next-intlayer";
|
|
485
|
+
import { NextPage } from "next";
|
|
486
|
+
|
|
487
|
+
const PageContent: FC = () => {
|
|
488
|
+
const content = useIntlayer("page");
|
|
489
|
+
|
|
490
|
+
return (
|
|
491
|
+
<>
|
|
492
|
+
<p>{content.getStarted.main}</p>
|
|
493
|
+
<code>{content.getStarted.pageLink}</code>
|
|
494
|
+
</>
|
|
495
|
+
);
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
const Page: NextPage = () => (
|
|
499
|
+
<>
|
|
500
|
+
<PageContent />
|
|
501
|
+
<ServerComponentExample />
|
|
502
|
+
<ClientComponentExample />
|
|
503
|
+
</>
|
|
504
|
+
);
|
|
505
|
+
|
|
506
|
+
export default Page;
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
- **`IntlayerProvider`** is mounted once, in the root layout. It provides the locale to both server and client components, so pages no longer wrap themselves.
|
|
510
|
+
- Without a `[locale]` path segment the locale always comes from the request — the `x-intlayer-locale` header set by the Intlayer proxy, then the locale cookie — which the server hooks read on their own when the provider has not run.
|
|
511
|
+
|
|
512
|
+
</Tab>
|
|
513
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
514
|
+
|
|
425
515
|
```tsx fileName="src/app/page.tsx" codeFormat={["typescript", "esm"]}
|
|
426
516
|
import type { FC } from "react";
|
|
427
517
|
import { ClientComponentExample } from "@components/clientComponentExample/ClientComponentExample";
|
|
@@ -465,6 +555,9 @@ export default Page;
|
|
|
465
555
|
|
|
466
556
|
> Layout and page cannot share a common server context because the server context system is based on a per-request data store (via [React's cache](https://react.dev/reference/react/cache) mechanism), causing each "context" to be re-created for different segments of the application. Placing the provider in a shared layout would break this isolation, preventing the correct propagation of the server context values to your server components.
|
|
467
557
|
|
|
558
|
+
</Tab>
|
|
559
|
+
</Tabs>
|
|
560
|
+
|
|
468
561
|
```tsx {4,7} fileName="src/components/clientComponentExample/ClientComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
469
562
|
"use client";
|
|
470
563
|
|
|
@@ -483,6 +576,30 @@ export const ClientComponentExample: FC = () => {
|
|
|
483
576
|
};
|
|
484
577
|
```
|
|
485
578
|
|
|
579
|
+
<Tabs>
|
|
580
|
+
<Tab label='Intlayer >=9.4' value='>=9.4'>
|
|
581
|
+
|
|
582
|
+
```tsx {2} fileName="src/components/serverComponentExample/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
583
|
+
import type { FC } from "react";
|
|
584
|
+
import { useIntlayer } from "next-intlayer";
|
|
585
|
+
|
|
586
|
+
export const ServerComponentExample: FC = () => {
|
|
587
|
+
const content = useIntlayer("server-component-example"); // Create related content declaration
|
|
588
|
+
|
|
589
|
+
return (
|
|
590
|
+
<div>
|
|
591
|
+
<h2>{content.title}</h2>
|
|
592
|
+
<p>{content.content}</p>
|
|
593
|
+
</div>
|
|
594
|
+
);
|
|
595
|
+
};
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
> `next-intlayer` is the isomorphic import path: the `react-server` export condition gives server components the ambient-locale implementation, while client components get the context-backed one. The same call works on both sides.
|
|
599
|
+
|
|
600
|
+
</Tab>
|
|
601
|
+
<Tab label='Intlayer <9.4' value='<9.4'>
|
|
602
|
+
|
|
486
603
|
```tsx {2} fileName="src/components/serverComponentExample/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
487
604
|
import type { FC } from "react";
|
|
488
605
|
import { useIntlayer } from "next-intlayer/server";
|
|
@@ -499,6 +616,9 @@ export const ServerComponentExample: FC = () => {
|
|
|
499
616
|
};
|
|
500
617
|
```
|
|
501
618
|
|
|
619
|
+
</Tab>
|
|
620
|
+
</Tabs>
|
|
621
|
+
|
|
502
622
|
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you can use the value of the function, like:
|
|
503
623
|
|
|
504
624
|
> ```html
|