@intlayer/docs 8.12.1 → 8.12.2
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/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +120 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +120 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +6 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/configuration.md +10 -9
- package/docs/ar/intlayer_with_adonisjs.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_create_react_app.md +1 -1
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_fastify.md +1 -1
- package/docs/ar/intlayer_with_hono.md +1 -1
- package/docs/ar/intlayer_with_nestjs.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_nuxt.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_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/bn/configuration.md +10 -9
- package/docs/bn/intlayer_with_angular_21.md +1 -1
- package/docs/bn/intlayer_with_fastify.md +1 -1
- package/docs/bn/intlayer_with_hono.md +1 -1
- package/docs/bn/intlayer_with_vanilla.md +1 -1
- package/docs/bn/intlayer_with_vite+lit.md +1 -1
- package/docs/bn/intlayer_with_vite+vanilla.md +1 -1
- package/docs/cs/configuration.md +10 -9
- package/docs/cs/intlayer_with_angular_21.md +1 -1
- package/docs/cs/intlayer_with_fastify.md +1 -1
- package/docs/cs/intlayer_with_hono.md +1 -1
- package/docs/cs/intlayer_with_vanilla.md +1 -1
- package/docs/cs/intlayer_with_vite+lit.md +1 -1
- package/docs/cs/intlayer_with_vite+vanilla.md +1 -1
- package/docs/de/configuration.md +10 -9
- package/docs/de/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/de/intlayer_with_express.md +1 -1
- package/docs/de/intlayer_with_fastify.md +1 -1
- package/docs/de/intlayer_with_hono.md +1 -1
- package/docs/de/intlayer_with_nestjs.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_nuxt.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_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/migration_from_i18next_to_intlayer.md +313 -0
- package/docs/de/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/de/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/de/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/en/configuration.md +1 -0
- package/docs/en/intlayer_with_adonisjs.md +1 -1
- package/docs/en/intlayer_with_analog.md +1 -1
- package/docs/en/intlayer_with_angular_19.md +1 -1
- package/docs/en/intlayer_with_angular_21.md +1 -1
- package/docs/en/intlayer_with_astro.md +1 -1
- package/docs/en/intlayer_with_astro_lit.md +1 -1
- package/docs/en/intlayer_with_astro_preact.md +1 -1
- package/docs/en/intlayer_with_astro_react.md +1 -1
- package/docs/en/intlayer_with_astro_solid.md +1 -1
- package/docs/en/intlayer_with_astro_svelte.md +1 -1
- package/docs/en/intlayer_with_astro_vanilla.md +1 -1
- package/docs/en/intlayer_with_astro_vue.md +1 -1
- package/docs/en/intlayer_with_create_react_app.md +1 -1
- package/docs/en/intlayer_with_express.md +1 -1
- package/docs/en/intlayer_with_fastify.md +1 -1
- package/docs/en/intlayer_with_hono.md +1 -1
- package/docs/en/intlayer_with_nestjs.md +1 -1
- package/docs/en/intlayer_with_nextjs_14.md +1 -1
- package/docs/en/intlayer_with_nextjs_15.md +1 -1
- package/docs/en/intlayer_with_nextjs_16.md +1 -1
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/en/intlayer_with_nuxt.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +1 -1
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en/intlayer_with_tanstack+solid.md +1 -1
- package/docs/en/intlayer_with_tanstack.md +1 -1
- package/docs/en/intlayer_with_vanilla.md +1 -1
- package/docs/en/intlayer_with_vite+lit.md +1 -1
- package/docs/en/intlayer_with_vite+preact.md +1 -1
- package/docs/en/intlayer_with_vite+react.md +1 -1
- package/docs/en/intlayer_with_vite+solid.md +1 -1
- package/docs/en/intlayer_with_vite+svelte.md +1 -1
- package/docs/en/intlayer_with_vite+vanilla.md +1 -1
- package/docs/en/intlayer_with_vite+vue.md +1 -1
- package/docs/en/migration_from_i18next_to_intlayer.md +316 -0
- package/docs/en/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/en/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/en/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/en-GB/configuration.md +10 -9
- package/docs/en-GB/intlayer_with_adonisjs.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_create_react_app.md +1 -1
- package/docs/en-GB/intlayer_with_express.md +1 -1
- package/docs/en-GB/intlayer_with_fastify.md +1 -1
- package/docs/en-GB/intlayer_with_hono.md +1 -1
- package/docs/en-GB/intlayer_with_nestjs.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_nuxt.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_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/es/configuration.md +10 -9
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_nestjs.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_nuxt.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 +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/migration_from_i18next_to_intlayer.md +313 -0
- package/docs/es/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/es/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/es/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/es/packages/next-intlayer/index.md +1 -1
- package/docs/es/packages/react-intlayer/index.md +1 -1
- package/docs/fr/configuration.md +10 -9
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_analog.md +1 -1
- package/docs/fr/intlayer_with_angular_19.md +1 -1
- package/docs/fr/intlayer_with_angular_21.md +1 -1
- package/docs/fr/intlayer_with_astro.md +1 -1
- 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 +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_14.md +1 -1
- package/docs/fr/intlayer_with_nextjs_15.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +1 -1
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/fr/intlayer_with_nuxt.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/fr/intlayer_with_tanstack+solid.md +1 -1
- package/docs/fr/intlayer_with_tanstack.md +1 -1
- package/docs/fr/intlayer_with_vanilla.md +1 -1
- package/docs/fr/intlayer_with_vite+lit.md +1 -1
- package/docs/fr/intlayer_with_vite+preact.md +1 -1
- package/docs/fr/intlayer_with_vite+react.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 +1 -1
- package/docs/fr/migration_from_i18next_to_intlayer.md +313 -0
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/fr/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/fr/packages/react-intlayer/index.md +1 -1
- package/docs/hi/configuration.md +10 -9
- package/docs/hi/intlayer_with_adonisjs.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 +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 +1 -1
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_fastify.md +1 -1
- package/docs/hi/intlayer_with_hono.md +1 -1
- package/docs/hi/intlayer_with_nestjs.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_nuxt.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_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/packages/intlayer/index.md +1 -1
- package/docs/id/configuration.md +10 -9
- package/docs/id/intlayer_with_adonisjs.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_create_react_app.md +1 -1
- package/docs/id/intlayer_with_express.md +1 -1
- package/docs/id/intlayer_with_fastify.md +1 -1
- package/docs/id/intlayer_with_hono.md +1 -1
- package/docs/id/intlayer_with_nestjs.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_nuxt.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_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/it/configuration.md +10 -9
- package/docs/it/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/it/intlayer_with_express.md +1 -1
- package/docs/it/intlayer_with_fastify.md +1 -1
- package/docs/it/intlayer_with_hono.md +1 -1
- package/docs/it/intlayer_with_nestjs.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_nuxt.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 +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/migration_from_i18next_to_intlayer.md +313 -0
- package/docs/it/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/it/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/it/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/ja/configuration.md +10 -9
- package/docs/ja/intlayer_with_adonisjs.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_create_react_app.md +1 -1
- package/docs/ja/intlayer_with_express.md +1 -1
- package/docs/ja/intlayer_with_fastify.md +1 -1
- package/docs/ja/intlayer_with_hono.md +1 -1
- package/docs/ja/intlayer_with_nestjs.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_nuxt.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.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+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/migration_from_i18next_to_intlayer.md +313 -0
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/ja/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/ko/configuration.md +10 -9
- package/docs/ko/intlayer_with_adonisjs.md +1 -1
- 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 +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 +1 -1
- package/docs/ko/intlayer_with_express.md +1 -1
- package/docs/ko/intlayer_with_fastify.md +1 -1
- package/docs/ko/intlayer_with_hono.md +1 -1
- package/docs/ko/intlayer_with_nestjs.md +1 -1
- package/docs/ko/intlayer_with_nextjs_14.md +1 -1
- package/docs/ko/intlayer_with_nextjs_15.md +2 -2
- 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_nuxt.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_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 +1 -1
- 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/migration_from_i18next_to_intlayer.md +313 -0
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/ko/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/nl/configuration.md +10 -9
- package/docs/nl/intlayer_with_angular_21.md +1 -1
- package/docs/nl/intlayer_with_fastify.md +1 -1
- package/docs/nl/intlayer_with_hono.md +1 -1
- package/docs/nl/intlayer_with_vanilla.md +1 -1
- package/docs/nl/intlayer_with_vite+lit.md +1 -1
- package/docs/nl/intlayer_with_vite+vanilla.md +1 -1
- package/docs/pl/configuration.md +10 -9
- package/docs/pl/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/pl/intlayer_with_express.md +1 -1
- package/docs/pl/intlayer_with_fastify.md +1 -1
- package/docs/pl/intlayer_with_hono.md +1 -1
- package/docs/pl/intlayer_with_nestjs.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_nuxt.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 +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/pt/configuration.md +10 -9
- package/docs/pt/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/pt/intlayer_with_express.md +1 -1
- package/docs/pt/intlayer_with_fastify.md +1 -1
- package/docs/pt/intlayer_with_hono.md +1 -1
- package/docs/pt/intlayer_with_nestjs.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_nuxt.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 +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/migration_from_i18next_to_intlayer.md +313 -0
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/pt/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/ru/configuration.md +10 -9
- package/docs/ru/intlayer_with_adonisjs.md +1 -1
- 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 +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_create_react_app.md +1 -1
- package/docs/ru/intlayer_with_express.md +1 -1
- package/docs/ru/intlayer_with_fastify.md +1 -1
- package/docs/ru/intlayer_with_hono.md +1 -1
- package/docs/ru/intlayer_with_nestjs.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_nuxt.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 +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/migration_from_i18next_to_intlayer.md +313 -0
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +338 -0
- package/docs/ru/migration_from_next-intl_to_intlayer.md +347 -0
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +367 -0
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +342 -0
- package/docs/tr/configuration.md +10 -9
- package/docs/tr/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/tr/intlayer_with_express.md +1 -1
- package/docs/tr/intlayer_with_fastify.md +1 -1
- package/docs/tr/intlayer_with_hono.md +1 -1
- package/docs/tr/intlayer_with_nestjs.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_nuxt.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 +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/migration_from_i18next_to_intlayer.md +314 -0
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +339 -0
- package/docs/tr/migration_from_next-intl_to_intlayer.md +348 -0
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +312 -0
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +368 -0
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +343 -0
- package/docs/uk/configuration.md +10 -9
- package/docs/uk/intlayer_with_adonisjs.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_create_react_app.md +1 -1
- package/docs/uk/intlayer_with_express.md +1 -1
- package/docs/uk/intlayer_with_fastify.md +1 -1
- package/docs/uk/intlayer_with_hono.md +1 -1
- package/docs/uk/intlayer_with_nestjs.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_nuxt.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 +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/ur/configuration.md +10 -9
- package/docs/ur/intlayer_with_angular_21.md +1 -1
- package/docs/ur/intlayer_with_fastify.md +1 -1
- package/docs/ur/intlayer_with_hono.md +1 -1
- package/docs/ur/intlayer_with_vanilla.md +1 -1
- package/docs/ur/intlayer_with_vite+lit.md +1 -1
- package/docs/ur/intlayer_with_vite+vanilla.md +1 -1
- package/docs/vi/configuration.md +10 -9
- package/docs/vi/intlayer_with_adonisjs.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_create_react_app.md +1 -1
- package/docs/vi/intlayer_with_express.md +1 -1
- package/docs/vi/intlayer_with_fastify.md +1 -1
- package/docs/vi/intlayer_with_hono.md +1 -1
- package/docs/vi/intlayer_with_nestjs.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_nuxt.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_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/zh/configuration.md +10 -9
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- 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_create_react_app.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_nestjs.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_nuxt.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_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+solid.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-TW/intlayer_with_angular_21.md +1 -1
- package/package.json +7 -7
- package/src/generated/docs.entry.ts +120 -0
|
@@ -310,7 +310,7 @@ export default helloWorldContent;
|
|
|
310
310
|
}
|
|
311
311
|
```
|
|
312
312
|
|
|
313
|
-
> Suas declarações de conteúdo podem ser definidas em qualquer lugar da sua aplicação, desde que estejam incluídas no diretório `contentDir` (por padrão, `./src`). E correspondam à extensão do arquivo de declaração de conteúdo (por padrão, `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
|
|
313
|
+
> Suas declarações de conteúdo podem ser definidas em qualquer lugar da sua aplicação, desde que estejam incluídas no diretório `contentDir` (por padrão, `./src`). E correspondam à extensão do arquivo de declaração de conteúdo (por padrão, `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
|
|
314
314
|
|
|
315
315
|
> Para mais detalhes, consulte a [documentação de declaração de conteúdo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/content_file.md).
|
|
316
316
|
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-05
|
|
3
|
+
updatedAt: 2026-06-05
|
|
4
|
+
title: "Migrando de i18next para Intlayer | Internacionalização (i18n)"
|
|
5
|
+
description: "Aprenda como migrar sua aplicação JavaScript/TypeScript de i18next para Intlayer — passo a passo, sem quebrar seu código existente. Use o adaptador de compatibilidade @intlayer/i18next para uma transição perfeita."
|
|
6
|
+
keywords:
|
|
7
|
+
- i18next
|
|
8
|
+
- intlayer
|
|
9
|
+
- migração
|
|
10
|
+
- internacionalização
|
|
11
|
+
- i18n
|
|
12
|
+
- JavaScript
|
|
13
|
+
- Node.js
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- migration
|
|
17
|
+
- i18next
|
|
18
|
+
history:
|
|
19
|
+
- version: 8.13.0
|
|
20
|
+
date: 2026-06-05
|
|
21
|
+
changes: "Init history"
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Migrando de i18next para Intlayer
|
|
25
|
+
|
|
26
|
+
## Por que migrar de i18next para Intlayer?
|
|
27
|
+
|
|
28
|
+
<AccordionGroup>
|
|
29
|
+
|
|
30
|
+
<Accordion header="Tamanho do pacote (Bundle size)">
|
|
31
|
+
|
|
32
|
+
Em vez de carregar enormes arquivos JSON em suas páginas, carregue apenas o conteúdo necessário. Intlayer ajuda você a **reduzir o tamanho do pacote e da página em até 50%**.
|
|
33
|
+
|
|
34
|
+
</Accordion>
|
|
35
|
+
|
|
36
|
+
<Accordion header="Manutenibilidade">
|
|
37
|
+
|
|
38
|
+
Criar escopos para o conteúdo da sua aplicação torna aplicações em larga escala **fáceis de manter**. Você pode duplicar ou excluir um diretório de recursos inteiro sem o esforço mental de revisar toda a sua base de código de conteúdo. Além disso, Intlayer é **fortemente tipado** para garantir a precisão do seu conteúdo.
|
|
39
|
+
|
|
40
|
+
Intlayer também é a solução **desenvolvida mais ativamente** no ecossistema i18n — problemas são corrigidos rapidamente, novos adaptadores de frameworks são lançados regularmente e a API principal é continuamente refinada com base em feedback do mundo real em produção.
|
|
41
|
+
|
|
42
|
+
</Accordion>
|
|
43
|
+
|
|
44
|
+
<Accordion header="Agentes de IA">
|
|
45
|
+
|
|
46
|
+
A co-localização do conteúdo **reduz o contexto necessário** para Modelos de Linguagem de Grande Escala (LLMs). O Intlayer também oferece um conjunto de ferramentas como uma **CLI** para testar traduções ausentes, **[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/mcp_server.md)** e **[Habilidades de Agente](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/agent_skills.md)** para tornar a Experiência do Desenvolvedor (DX) muito mais suave para agentes de IA.
|
|
47
|
+
|
|
48
|
+
</Accordion>
|
|
49
|
+
|
|
50
|
+
<Accordion header="Automação">
|
|
51
|
+
|
|
52
|
+
Automatize as traduções em seu pipeline de CI/CD usando o LLM de sua preferência pelo custo do seu provedor de IA. O Intlayer também oferece um **compilador** para automatizar a extração de conteúdo, bem como uma [plataforma web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md) para auxiliar com **tradução em segundo plano**.
|
|
53
|
+
|
|
54
|
+
</Accordion>
|
|
55
|
+
|
|
56
|
+
<Accordion header="Desempenho">
|
|
57
|
+
|
|
58
|
+
Conectar enormes arquivos JSON aos componentes pode levar a problemas de desempenho e reatividade. O Intlayer otimiza o carregamento do conteúdo no momento do build (build time).
|
|
59
|
+
|
|
60
|
+
</Accordion>
|
|
61
|
+
|
|
62
|
+
<Accordion header="Escalabilidade com não desenvolvedores">
|
|
63
|
+
|
|
64
|
+
Muito mais que apenas uma solução i18n, o Intlayer fornece um **[editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md)** auto-hospedável e um **[CMS completo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md)** para ajudá-lo a gerenciar seu conteúdo multilíngue em **tempo real**, tornando perfeita a colaboração com tradutores, redatores e outros membros da equipe. O conteúdo pode ser armazenado local e/ou remotamente.
|
|
65
|
+
|
|
66
|
+
</Accordion>
|
|
67
|
+
|
|
68
|
+
</AccordionGroup>
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Estratégias de Migração
|
|
73
|
+
|
|
74
|
+
Existem duas estratégias complementares para migrar do `i18next` para o Intlayer:
|
|
75
|
+
|
|
76
|
+
1. **Adaptador de Compatibilidade (Recomendado para apps existentes)** — Instale `@intlayer/i18next`. Este pacote expõe **exatamente a mesma API** do `i18next`, mas delega todo o trabalho de tradução, por baixo dos panos, ao Intlayer. Mantenha suas chamadas existentes de `i18next.t()`, `i18next.changeLanguage()` e `createInstance()` intactas — a única coisa que muda é o caminho de importação e a inicialização.
|
|
77
|
+
|
|
78
|
+
2. **Migração Completa** — Substitua gradualmente as APIs do `i18next` pelas ferramentas nativas do Intlayer, e co-localize seu conteúdo em arquivos `.content.ts` próximos aos seus componentes.
|
|
79
|
+
|
|
80
|
+
Este guia cobre a **Estratégia 1** (adaptador de compatibilidade) primeiro, depois discute a migração completa opcional.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Índice
|
|
85
|
+
|
|
86
|
+
<TOC/>
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Migração Rápida
|
|
91
|
+
|
|
92
|
+
As etapas a seguir são o mínimo necessário para executar seu aplicativo `i18next` existente no Intlayer, sem fazer alterações na sua base de código.
|
|
93
|
+
|
|
94
|
+
<Steps>
|
|
95
|
+
|
|
96
|
+
<Step number={1} title="Instale as Dependências">
|
|
97
|
+
|
|
98
|
+
Instale o pacote principal do Intlayer e o adaptador de compatibilidade:
|
|
99
|
+
|
|
100
|
+
```bash packageManager="npm"
|
|
101
|
+
npm install intlayer @intlayer/i18next @intlayer/sync-json-plugin
|
|
102
|
+
npx intlayer init
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
```bash packageManager="pnpm"
|
|
106
|
+
pnpm add intlayer @intlayer/i18next @intlayer/sync-json-plugin
|
|
107
|
+
pnpm intlayer init
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
```bash packageManager="yarn"
|
|
111
|
+
yarn add intlayer @intlayer/i18next @intlayer/sync-json-plugin
|
|
112
|
+
yarn intlayer init
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
```bash packageManager="bun"
|
|
116
|
+
bun add intlayer @intlayer/i18next @intlayer/sync-json-plugin
|
|
117
|
+
bun x intlayer init
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
> Você pode manter o `i18next` instalado com segurança — o adaptador de compatibilidade o utiliza como uma `devDependency` / `peerDependency` para tipos TypeScript.
|
|
121
|
+
|
|
122
|
+
</Step>
|
|
123
|
+
|
|
124
|
+
<Step number={2} title="Configure o Intlayer">
|
|
125
|
+
|
|
126
|
+
O comando `intlayer init` cria um arquivo inicial `intlayer.config.ts`. Atualize-o para corresponder aos seus locales existentes e aponte o plugin `syncJSON` para os seus arquivos de mensagens:
|
|
127
|
+
|
|
128
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
129
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
130
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
131
|
+
|
|
132
|
+
const config: IntlayerConfig = {
|
|
133
|
+
internationalization: {
|
|
134
|
+
locales: [
|
|
135
|
+
Locales.ENGLISH,
|
|
136
|
+
Locales.FRENCH,
|
|
137
|
+
Locales.SPANISH,
|
|
138
|
+
// Adicione todos os seus locales existentes aqui
|
|
139
|
+
],
|
|
140
|
+
defaultLocale: Locales.ENGLISH,
|
|
141
|
+
},
|
|
142
|
+
plugins: [
|
|
143
|
+
syncJSON({
|
|
144
|
+
// Corresponde à sintaxe de espaço reservado do i18next: {{name}}
|
|
145
|
+
format: "i18next",
|
|
146
|
+
source: ({ locale }) => `./src/locales/${locale}.json`,
|
|
147
|
+
location: "src/locales",
|
|
148
|
+
}),
|
|
149
|
+
],
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
export default config;
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
> **`source`** mapeia um locale para o caminho de seu arquivo JSON. **`location`** diz ao observador (watcher) do Intlayer qual pasta monitorar para alterações. A opção `format: 'i18next'` garante que espaços reservados como `{{name}}` sejam interpretados corretamente.
|
|
156
|
+
|
|
157
|
+
</Step>
|
|
158
|
+
|
|
159
|
+
<Step number={3} title="Atualize o Alias do Bundler (Opcional)">
|
|
160
|
+
|
|
161
|
+
Se você usa um empacotador (Vite, Webpack, esbuild), você pode injetar um alias de módulo para que `import ... from 'i18next'` resolva automaticamente para `@intlayer/i18next`. Isso remove a necessidade de alterar os caminhos de importação manualmente em toda a sua base de código.
|
|
162
|
+
|
|
163
|
+
**Para Vite:**
|
|
164
|
+
|
|
165
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
166
|
+
import { defineConfig } from "vite";
|
|
167
|
+
import i18nextVitePlugin from "@intlayer/i18next/plugin";
|
|
168
|
+
|
|
169
|
+
export default defineConfig({
|
|
170
|
+
plugins: [i18nextVitePlugin()],
|
|
171
|
+
});
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
> O `i18nextVitePlugin()` encapsula o plugin `intlayer()` do `vite-intlayer` e adiciona automaticamente o alias de `i18next` → `@intlayer/i18next` para você. Usar o plugin `intlayer()` comum do `vite-intlayer` compila os dicionários, mas **não** adiciona o alias — você teria que renomear as importações para `@intlayer/i18next` manualmente nesse caso (veja o próximo passo).
|
|
175
|
+
|
|
176
|
+
</Step>
|
|
177
|
+
|
|
178
|
+
</Steps>
|
|
179
|
+
|
|
180
|
+
Isso é tudo para a migração rápida. Seu aplicativo agora está rodando no Intlayer, mantendo todas as suas importações e a API do `i18next` intactas.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Migração Completa
|
|
185
|
+
|
|
186
|
+
As etapas a seguir são opcionais e podem ser feitas gradativamente. Elas desbloqueiam o conjunto completo das funcionalidades do Intlayer: editor visual, CMS, arquivos de conteúdo tipados, automação de tradução por IA e muito mais.
|
|
187
|
+
|
|
188
|
+
<Steps>
|
|
189
|
+
|
|
190
|
+
<Step number={4} title="Renomeie Explícitamente as Importações (Opcional)" isOptional={true}>
|
|
191
|
+
|
|
192
|
+
Se você preferir tornar a dependência explícita nos seus arquivos-fonte ou não usar um plugin de bundler para criar alias nas importações, você pode renomear os caminhos de importação manualmente:
|
|
193
|
+
|
|
194
|
+
| Antes | Depois |
|
|
195
|
+
| ------------------------------------------ | ---------------------------------------------------- |
|
|
196
|
+
| `import i18next from 'i18next'` | `import i18next from '@intlayer/i18next'` |
|
|
197
|
+
| `import { createInstance } from 'i18next'` | `import { createInstance } from '@intlayer/i18next'` |
|
|
198
|
+
| `import { t } from 'i18next'` | `import { t } from '@intlayer/i18next'` |
|
|
199
|
+
|
|
200
|
+
Essas são **substituições diretas** (drop-in) — nenhuma alteração de assinaturas de chamadas, argumentos ou tipos de retorno é necessária.
|
|
201
|
+
|
|
202
|
+
</Step>
|
|
203
|
+
|
|
204
|
+
<Step number={5} title="Habilite a Automação de Tradução por IA" isOptional={true}>
|
|
205
|
+
|
|
206
|
+
Com o Intlayer configurado, você pode usar a CLI para preencher traduções ausentes automaticamente:
|
|
207
|
+
|
|
208
|
+
```bash packageManager="npm"
|
|
209
|
+
# Testar traduções ausentes (adicionar ao CI)
|
|
210
|
+
npx intlayer test
|
|
211
|
+
|
|
212
|
+
# Preencher traduções ausentes usando IA
|
|
213
|
+
npx intlayer fill
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
```bash packageManager="pnpm"
|
|
217
|
+
pnpm intlayer test
|
|
218
|
+
pnpm intlayer fill
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
```bash packageManager="yarn"
|
|
222
|
+
yarn intlayer test
|
|
223
|
+
yarn intlayer fill
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
```bash packageManager="bun"
|
|
227
|
+
bun x intlayer test
|
|
228
|
+
bun x intlayer fill
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Adicione a configuração de IA ao seu `intlayer.config.ts`:
|
|
232
|
+
|
|
233
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
234
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
235
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
236
|
+
|
|
237
|
+
const config: IntlayerConfig = {
|
|
238
|
+
internationalization: {
|
|
239
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
240
|
+
defaultLocale: Locales.ENGLISH,
|
|
241
|
+
},
|
|
242
|
+
plugins: [
|
|
243
|
+
syncJSON({
|
|
244
|
+
format: "i18next",
|
|
245
|
+
source: ({ locale }) => `./src/locales/${locale}.json`,
|
|
246
|
+
location: "src/locales",
|
|
247
|
+
}),
|
|
248
|
+
],
|
|
249
|
+
ai: {
|
|
250
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
251
|
+
// provider: "openai", // padrão
|
|
252
|
+
// model: "gpt-4o-mini", // padrão
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
export default config;
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
> Verifique a [Documentação da CLI do Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/index.md) para explorar todas as opções disponíveis.
|
|
260
|
+
|
|
261
|
+
</Step>
|
|
262
|
+
|
|
263
|
+
</Steps>
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## O que pode ser excluído pós-migração
|
|
268
|
+
|
|
269
|
+
Uma vez que o adaptador de compatibilidade esteja implementado, o seguinte boilerplate padrão do `i18next` pode ser excluído:
|
|
270
|
+
|
|
271
|
+
| Arquivo / Padrão | Por que não é mais necessário |
|
|
272
|
+
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
273
|
+
| Chamadas a `i18next.init()` | O Intlayer inicializa tudo automaticamente; não há passo de carregamento em tempo de execução. |
|
|
274
|
+
| `i18next.use(...)` | O Intlayer não usa plugins de i18next, backends ou detectores de idiomas. |
|
|
275
|
+
| Pacotes de idiomas em JSON (`locales/*.json`) | Pacotes JSON são necessários apenas se você continuar a usar o plugin `syncJSON`. Uma vez migrado para arquivos `.content.ts`, você pode remover a pasta JSON. |
|
|
276
|
+
|
|
277
|
+
Quando você estiver pronto para ir mais além, o Intlayer **descobre automaticamente todos os arquivos `.content.ts` e `.content.json` em qualquer lugar da sua base de código** (por padrão, em qualquer lugar sob `./src`). Basta colocar um arquivo `my-component.content.ts` ao lado de sua lógica, e o Intlayer o detectará em tempo de build sem necessidade de configuração adicional — não são necessários imports, registros ou um arquivo index central. Isso torna a co-localização das traduções totalmente simples e integrada.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Configuração do TypeScript
|
|
282
|
+
|
|
283
|
+
O Intlayer usa aumento de módulo (module augmentation) para fornecer IntelliSense completo no TypeScript (autocompletar) para as chaves de tradução. Certifique-se de que o seu arquivo `tsconfig.json` inclua os tipos gerados automaticamente:
|
|
284
|
+
|
|
285
|
+
```json5 fileName="tsconfig.json"
|
|
286
|
+
{
|
|
287
|
+
// ... Suas configurações existentes de TypeScript
|
|
288
|
+
"include": [
|
|
289
|
+
// ... Suas configurações existentes de TypeScript
|
|
290
|
+
".intlayer/**/*.ts", // Inclui os tipos gerados automaticamente
|
|
291
|
+
],
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Configuração do Git
|
|
298
|
+
|
|
299
|
+
Adicione o diretório gerado pelo Intlayer ao seu `.gitignore`:
|
|
300
|
+
|
|
301
|
+
```plaintext fileName=".gitignore"
|
|
302
|
+
# Ignora arquivos gerados pelo Intlayer
|
|
303
|
+
.intlayer
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## Explore Além
|
|
309
|
+
|
|
310
|
+
- **Editor Visual** — Gerencie traduções visualmente no seu navegador: [Editor Visual Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md)
|
|
311
|
+
- **CMS** — Externalize o conteúdo e gerencie remotamente: [CMS do Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md)
|
|
312
|
+
- **Extensão para VS Code** — Obtenha autocompletar de tradução e detecção de erros em tempo real: [Extensão do VS Code para o Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/vs_code_extension.md)
|
|
313
|
+
- **Referência da CLI** — Lista completa de comandos da CLI: [CLI do Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/index.md)
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-05
|
|
3
|
+
updatedAt: 2026-06-05
|
|
4
|
+
title: "Migrando de next-i18next para Intlayer | Internacionalização (i18n)"
|
|
5
|
+
description: "Aprenda como migrar sua aplicação Next.js de next-i18next para Intlayer — passo a passo, sem quebrar seu código existente. Use o adaptador de compatibilidade @intlayer/next-i18next para uma transição perfeita."
|
|
6
|
+
keywords:
|
|
7
|
+
- next-i18next
|
|
8
|
+
- react-i18next
|
|
9
|
+
- i18next
|
|
10
|
+
- intlayer
|
|
11
|
+
- migração
|
|
12
|
+
- internacionalização
|
|
13
|
+
- i18n
|
|
14
|
+
- Next.js
|
|
15
|
+
- React
|
|
16
|
+
- JavaScript
|
|
17
|
+
slugs:
|
|
18
|
+
- doc
|
|
19
|
+
- migration
|
|
20
|
+
- next-i18next
|
|
21
|
+
history:
|
|
22
|
+
- version: 8.13.0
|
|
23
|
+
date: 2026-06-05
|
|
24
|
+
changes: "Init history"
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Migrando de next-i18next para Intlayer
|
|
28
|
+
|
|
29
|
+
## Por que migrar de next-i18next para Intlayer?
|
|
30
|
+
|
|
31
|
+
<AccordionGroup>
|
|
32
|
+
|
|
33
|
+
<Accordion header="Tamanho do pacote (Bundle size)">
|
|
34
|
+
|
|
35
|
+
Em vez de carregar enormes arquivos JSON em suas páginas, carregue apenas o conteúdo necessário. Intlayer ajuda você a **reduzir o tamanho do pacote e da página em até 50%**.
|
|
36
|
+
|
|
37
|
+
</Accordion>
|
|
38
|
+
|
|
39
|
+
<Accordion header="Manutenibilidade">
|
|
40
|
+
|
|
41
|
+
Criar escopos para o conteúdo da sua aplicação torna aplicações em larga escala **fáceis de manter**. Você pode duplicar ou excluir um diretório de recursos inteiro sem o esforço mental de revisar toda a sua base de código de conteúdo. Além disso, Intlayer é **fortemente tipado** para garantir a precisão do seu conteúdo.
|
|
42
|
+
|
|
43
|
+
Intlayer também é a solução **desenvolvida mais ativamente** no ecossistema i18n — problemas são corrigidos rapidamente, novos adaptadores de frameworks são lançados regularmente e a API principal é continuamente refinada com base em feedback do mundo real em produção.
|
|
44
|
+
|
|
45
|
+
</Accordion>
|
|
46
|
+
|
|
47
|
+
<Accordion header="Agentes de IA">
|
|
48
|
+
|
|
49
|
+
A co-localização do conteúdo **reduz o contexto necessário** para Modelos de Linguagem de Grande Escala (LLMs). O Intlayer também oferece um conjunto de ferramentas como uma **CLI** para testar traduções ausentes, **[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/mcp_server.md)** e **[Habilidades de Agente](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/agent_skills.md)** para tornar a Experiência do Desenvolvedor (DX) muito mais suave para agentes de IA.
|
|
50
|
+
|
|
51
|
+
</Accordion>
|
|
52
|
+
|
|
53
|
+
<Accordion header="Automação">
|
|
54
|
+
|
|
55
|
+
Automatize as traduções em seu pipeline de CI/CD usando o LLM de sua preferência pelo custo do seu provedor de IA. O Intlayer também oferece um **compilador** para automatizar a extração de conteúdo, bem como uma [plataforma web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md) para auxiliar com **tradução em segundo plano**.
|
|
56
|
+
|
|
57
|
+
</Accordion>
|
|
58
|
+
|
|
59
|
+
<Accordion header="Desempenho">
|
|
60
|
+
|
|
61
|
+
Conectar enormes arquivos JSON aos componentes pode levar a problemas de desempenho e reatividade. O Intlayer otimiza o carregamento do conteúdo no momento do build (build time).
|
|
62
|
+
|
|
63
|
+
</Accordion>
|
|
64
|
+
|
|
65
|
+
<Accordion header="Escalabilidade com não desenvolvedores">
|
|
66
|
+
|
|
67
|
+
Muito mais que apenas uma solução i18n, o Intlayer fornece um **[editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md)** auto-hospedável e um **[CMS completo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md)** para ajudá-lo a gerenciar seu conteúdo multilíngue em **tempo real**, tornando perfeita a colaboração com tradutores, redatores e outros membros da equipe. O conteúdo pode ser armazenado local e/ou remotamente.
|
|
68
|
+
|
|
69
|
+
</Accordion>
|
|
70
|
+
|
|
71
|
+
</AccordionGroup>
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Estratégias de Migração
|
|
76
|
+
|
|
77
|
+
Como o `next-i18next` encapsula `react-i18next` e `i18next` sob o capô, existem duas estratégias complementares para migrar para o Intlayer:
|
|
78
|
+
|
|
79
|
+
1. **Adaptador de Compatibilidade (Recomendado para apps existentes)** — Instale `@intlayer/next-i18next`, `@intlayer/react-i18next` e `@intlayer/i18next`. Esses pacotes expõem **exatamente as mesmas APIs** dos originais, mas delegam todo o trabalho de tradução para o Intlayer. Mantenha intactas suas chamadas para `useTranslation`, `appWithTranslation`, `serverSideTranslations` e roteamento de páginas do Next.js — a única coisa que muda é sua configuração e inicialização.
|
|
80
|
+
|
|
81
|
+
2. **Migração Completa** — Substitua gradualmente as APIs do `next-i18next` por hooks nativos do Intlayer (`useIntlayer`) e co-localize seu conteúdo em arquivos `.content.ts` junto de seus componentes.
|
|
82
|
+
|
|
83
|
+
Este guia cobre primeiro a **Estratégia 1** (adaptador de compatibilidade drop-in) e, em seguida, detalha a migração completa opcional.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Índice
|
|
88
|
+
|
|
89
|
+
<TOC/>
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Migração Rápida
|
|
94
|
+
|
|
95
|
+
As etapas a seguir são o mínimo necessário para executar seu aplicativo Next.js Pages Router no Intlayer, sem alterar o código de nenhuma página ou componente.
|
|
96
|
+
|
|
97
|
+
<Steps>
|
|
98
|
+
|
|
99
|
+
<Step number={1} title="Instale as Dependências">
|
|
100
|
+
|
|
101
|
+
Instale os pacotes principais do Intlayer e os adaptadores de compatibilidade:
|
|
102
|
+
|
|
103
|
+
```bash packageManager="npm"
|
|
104
|
+
npm install intlayer next-intlayer react-intlayer @intlayer/next-i18next @intlayer/react-i18next @intlayer/i18next @intlayer/sync-json-plugin
|
|
105
|
+
npx intlayer init
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
```bash packageManager="pnpm"
|
|
109
|
+
pnpm add intlayer next-intlayer react-intlayer @intlayer/next-i18next @intlayer/react-i18next @intlayer/i18next @intlayer/sync-json-plugin
|
|
110
|
+
pnpm intlayer init
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
```bash packageManager="yarn"
|
|
114
|
+
yarn add intlayer next-intlayer react-intlayer @intlayer/next-i18next @intlayer/react-i18next @intlayer/i18next @intlayer/sync-json-plugin
|
|
115
|
+
yarn intlayer init
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
```bash packageManager="bun"
|
|
119
|
+
bun add intlayer next-intlayer react-intlayer @intlayer/next-i18next @intlayer/react-i18next @intlayer/i18next @intlayer/sync-json-plugin
|
|
120
|
+
bun x intlayer init
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
> Você pode manter com segurança o `next-i18next`, `react-i18next` e `i18next` instalados durante a migração até que os aliases sejam resolvidos.
|
|
124
|
+
|
|
125
|
+
</Step>
|
|
126
|
+
|
|
127
|
+
<Step number={2} title="Configure o Intlayer">
|
|
128
|
+
|
|
129
|
+
O comando `intlayer init` cria um arquivo inicial `intlayer.config.ts`. Atualize-o para corresponder aos seus locales existentes e direcione o plugin `syncJSON` para seus arquivos de mensagens `next-i18next` (tipicamente localizados em `public/locales`):
|
|
130
|
+
|
|
131
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
132
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
133
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
134
|
+
|
|
135
|
+
const config: IntlayerConfig = {
|
|
136
|
+
internationalization: {
|
|
137
|
+
locales: [
|
|
138
|
+
Locales.ENGLISH,
|
|
139
|
+
Locales.FRENCH,
|
|
140
|
+
Locales.SPANISH,
|
|
141
|
+
// Adicione todos os seus locales existentes aqui
|
|
142
|
+
],
|
|
143
|
+
defaultLocale: Locales.ENGLISH,
|
|
144
|
+
},
|
|
145
|
+
plugins: [
|
|
146
|
+
syncJSON({
|
|
147
|
+
// Corresponde à sintaxe de espaço reservado do i18next: {{name}}
|
|
148
|
+
format: "i18next",
|
|
149
|
+
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
150
|
+
location: "public/locales",
|
|
151
|
+
}),
|
|
152
|
+
],
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
export default config;
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
> **`source`** mapeia um locale e namespace (`key`) para o caminho de seu arquivo JSON. **`location`** diz ao observador (watcher) do Intlayer qual pasta monitorar para alterações. A opção `format: 'i18next'` garante que os espaços reservados do `next-i18next` sejam interpretados corretamente.
|
|
159
|
+
|
|
160
|
+
</Step>
|
|
161
|
+
|
|
162
|
+
<Step number={3} title="Atualize a Configuração do Next.js">
|
|
163
|
+
|
|
164
|
+
Envolva o seu arquivo `next.config.ts` (ou `.js`) existente com `createNextI18nPlugin` de `@intlayer/next-i18next/plugin`. Este wrapper aplica `withIntlayer` **e simultaneamente** injeta aliases de `next-i18next` / `react-i18next` / `i18next` → `@intlayer/*`, para que suas chamadas a `import { useTranslation } from 'next-i18next'` sejam redirecionadas de forma transparente no momento do build. Nenhuma alteração de código-fonte é necessária.
|
|
165
|
+
|
|
166
|
+
```typescript fileName="next.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
167
|
+
import type { NextConfig } from "next";
|
|
168
|
+
import { createNextI18nPlugin } from "@intlayer/next-i18next/plugin";
|
|
169
|
+
// A importação de configuração i18n de next-i18next.config.js pode ser removida
|
|
170
|
+
// import { i18n } from './next-i18next.config';
|
|
171
|
+
|
|
172
|
+
const withIntlayer = createNextI18nPlugin();
|
|
173
|
+
|
|
174
|
+
const nextConfig: NextConfig = {
|
|
175
|
+
// O Intlayer cuida do roteamento i18n nativo do Next.js por baixo dos panos,
|
|
176
|
+
// portanto, você não precisa mais passar o objeto i18n aqui.
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
export default withIntlayer(nextConfig);
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
> **O arquivo `next-i18next.config.js` não é mais necessário.** O Intlayer compila todos os dicionários no **momento do build** (build-time), lidando com a detecção de locale, roteamento e carregamento de dicionário de maneira integrada.
|
|
183
|
+
>
|
|
184
|
+
> Você prefere usar o plugin `withIntlayer` puro do `next-intlayer/server`? Fazer isso compila dicionários, mas **não adiciona** os aliases de `next-i18next` / `react-i18next` / `i18next` — você precisaria renomear as importações para `@intlayer/*` manualmente nesse caso (veja o Passo 4).
|
|
185
|
+
|
|
186
|
+
</Step>
|
|
187
|
+
|
|
188
|
+
</Steps>
|
|
189
|
+
|
|
190
|
+
Isso é tudo para a migração rápida. Seu aplicativo Next.js agora está rodando no Intlayer, mantendo todas as suas chamadas `useTranslation`, `serverSideTranslations` e `appWithTranslation` intactas.
|
|
191
|
+
|
|
192
|
+
> **Chaves de tradução tipadas — automaticamente.** Uma vez que o Intlayer compila seus dicionários, `useTranslation` e `getFixedT` tornam-se tipados no seu conteúdo real. As chaves serão autocompletadas na sua IDE e caminhos inválidos resultarão em erros do TypeScript em tempo de compilação — nenhuma configuração extra é necessária.
|
|
193
|
+
>
|
|
194
|
+
> ```tsx
|
|
195
|
+
> // Pages Router — 'about' é um namespace de dicionário registrado
|
|
196
|
+
> const { t } = useTranslation("about");
|
|
197
|
+
> t("counter.label"); // ✓ autocompletar
|
|
198
|
+
> t("does.not.exist"); // ✗ Erro de TypeScript
|
|
199
|
+
>
|
|
200
|
+
> // getStaticProps / getServerSideProps (instância do i18next)
|
|
201
|
+
> const tAbout = i18n.getFixedT(null, "about");
|
|
202
|
+
> tAbout("counter.label"); // ✓ tipado
|
|
203
|
+
> ```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Migração Completa
|
|
208
|
+
|
|
209
|
+
As etapas a seguir são opcionais e podem ser feitas gradativamente. Elas desbloqueiam o conjunto completo das funcionalidades do Intlayer: editor visual, CMS, arquivos de conteúdo tipados, automação de tradução por IA e muito mais.
|
|
210
|
+
|
|
211
|
+
<Steps>
|
|
212
|
+
|
|
213
|
+
<Step number={4} title="Renomeie Explícitamente as Importações (Opcional)" isOptional={true}>
|
|
214
|
+
|
|
215
|
+
O plugin do Intlayer já lida com o aliasing (apelido) a nível do bundler. Se preferir tornar a dependência explícita nos seus arquivos de código-fonte, você pode renomear as importações manualmente:
|
|
216
|
+
|
|
217
|
+
| Antes | Depois |
|
|
218
|
+
| ------------------------------------------------------------------------------ | ----------------------------------------------------------------- |
|
|
219
|
+
| `import { serverSideTranslations } from 'next-i18next/serverSideTranslations'` | `import { serverSideTranslations } from '@intlayer/next-i18next'` |
|
|
220
|
+
| `import { appWithTranslation } from 'next-i18next'` | `import { appWithTranslation } from '@intlayer/next-i18next'` |
|
|
221
|
+
| `import { useTranslation } from 'next-i18next'` | `import { useTranslation } from '@intlayer/next-i18next'` |
|
|
222
|
+
| `import { useTranslation } from 'react-i18next'` | `import { useTranslation } from '@intlayer/react-i18next'` |
|
|
223
|
+
|
|
224
|
+
Essas são **substituições diretas** (drop-in) — nenhuma alteração de assinaturas de chamadas, argumentos ou tipos de retorno é necessária.
|
|
225
|
+
|
|
226
|
+
</Step>
|
|
227
|
+
|
|
228
|
+
<Step number={5} title="Habilite a Automação de Tradução por IA" isOptional={true}>
|
|
229
|
+
|
|
230
|
+
Com o Intlayer configurado, você pode usar a CLI para preencher traduções ausentes automaticamente:
|
|
231
|
+
|
|
232
|
+
```bash packageManager="npm"
|
|
233
|
+
# Testar traduções ausentes (adicionar ao CI)
|
|
234
|
+
npx intlayer test
|
|
235
|
+
|
|
236
|
+
# Preencher traduções ausentes usando IA
|
|
237
|
+
npx intlayer fill
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
```bash packageManager="pnpm"
|
|
241
|
+
pnpm intlayer test
|
|
242
|
+
pnpm intlayer fill
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
```bash packageManager="yarn"
|
|
246
|
+
yarn intlayer test
|
|
247
|
+
yarn intlayer fill
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
```bash packageManager="bun"
|
|
251
|
+
bun x intlayer test
|
|
252
|
+
bun x intlayer fill
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Adicione a configuração de IA ao seu `intlayer.config.ts`:
|
|
256
|
+
|
|
257
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
258
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
259
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
260
|
+
|
|
261
|
+
const config: IntlayerConfig = {
|
|
262
|
+
internationalization: {
|
|
263
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
264
|
+
defaultLocale: Locales.ENGLISH,
|
|
265
|
+
},
|
|
266
|
+
plugins: [
|
|
267
|
+
syncJSON({
|
|
268
|
+
format: "i18next",
|
|
269
|
+
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
270
|
+
location: "public/locales",
|
|
271
|
+
}),
|
|
272
|
+
],
|
|
273
|
+
ai: {
|
|
274
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
275
|
+
// provider: "openai", // padrão
|
|
276
|
+
// model: "gpt-4o-mini", // padrão
|
|
277
|
+
},
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
export default config;
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
> Verifique a [Documentação da CLI do Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/index.md) para explorar todas as opções disponíveis.
|
|
284
|
+
|
|
285
|
+
</Step>
|
|
286
|
+
|
|
287
|
+
</Steps>
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## O que pode ser excluído pós-migração
|
|
292
|
+
|
|
293
|
+
Uma vez que o adaptador de compatibilidade esteja implementado, o seguinte boilerplate padrão do `next-i18next` pode ser excluído:
|
|
294
|
+
|
|
295
|
+
| Arquivo / Padrão | Por que não é mais necessário |
|
|
296
|
+
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
297
|
+
| `next-i18next.config.js` | O Intlayer gerencia internamente o roteamento, carregamento do dicionário e locales com base no `intlayer.config.ts`. |
|
|
298
|
+
| `next-i18next` em `package.json` | Totalmente substituído por `@intlayer/next-i18next` e aliases. |
|
|
299
|
+
| Pacotes de idiomas JSON (`public/locales/*.json`) | Pacotes JSON são necessários apenas se você continuar a usar o plugin `syncJSON`. Uma vez migrado para arquivos `.content.ts`, você pode remover a pasta JSON. |
|
|
300
|
+
|
|
301
|
+
Quando você estiver pronto para ir mais além, o Intlayer **descobre automaticamente todos os arquivos `.content.ts` e `.content.json` em qualquer lugar da sua base de código** (por padrão, em qualquer lugar sob `./src`). Basta colocar um arquivo `my-component.content.ts` ao lado de seu `MyComponent.tsx`, e o Intlayer o detectará em tempo de build sem necessidade de configuração adicional — não são necessários imports, registros ou um arquivo index central. Isso torna a co-localização das traduções com páginas e componentes totalmente fluida.
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Configuração do TypeScript
|
|
306
|
+
|
|
307
|
+
O Intlayer usa aumento de módulo (module augmentation) para fornecer IntelliSense completo no TypeScript (autocompletar) para as chaves de tradução. Certifique-se de que o seu arquivo `tsconfig.json` inclua os tipos gerados automaticamente:
|
|
308
|
+
|
|
309
|
+
```json5 fileName="tsconfig.json"
|
|
310
|
+
{
|
|
311
|
+
// ... Suas configurações existentes de TypeScript
|
|
312
|
+
"include": [
|
|
313
|
+
// ... Suas configurações existentes de TypeScript
|
|
314
|
+
".intlayer/**/*.ts", // Inclui os tipos gerados automaticamente
|
|
315
|
+
],
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Configuração do Git
|
|
322
|
+
|
|
323
|
+
Adicione o diretório gerado pelo Intlayer ao seu `.gitignore`:
|
|
324
|
+
|
|
325
|
+
```plaintext fileName=".gitignore"
|
|
326
|
+
# Ignora arquivos gerados pelo Intlayer
|
|
327
|
+
.intlayer
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Explore Além
|
|
333
|
+
|
|
334
|
+
- **Editor Visual** — Gerencie traduções visualmente no seu navegador: [Editor Visual Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md)
|
|
335
|
+
- **CMS** — Externalize o conteúdo e gerencie remotamente: [CMS do Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md)
|
|
336
|
+
- **Extensão para VS Code** — Obtenha autocompletar de tradução e detecção de erros em tempo real: [Extensão do VS Code para o Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/vs_code_extension.md)
|
|
337
|
+
- **Referência da CLI** — Lista completa de comandos da CLI: [CLI do Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/index.md)
|
|
338
|
+
- **Intlayer com Next.js (Pages Router)** — Guia completo de configuração com Next.js: [intlayer_with_nextjs_page_router.md](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_nextjs_page_router.md)
|