@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
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-05
|
|
3
|
+
updatedAt: 2026-06-05
|
|
4
|
+
title: "next-intl에서 Intlayer로 마이그레이션하기 | 국제화 (i18n)"
|
|
5
|
+
description: "기존 코드를 손상시키지 않고 단계별로 Next.js 애플리케이션을 next-intl에서 Intlayer로 마이그레이션하는 방법을 알아봅니다. 원활한 전환을 위해 @intlayer/next-intl 호환성 어댑터를 사용하세요."
|
|
6
|
+
keywords:
|
|
7
|
+
- next-intl
|
|
8
|
+
- intlayer
|
|
9
|
+
- 마이그레이션
|
|
10
|
+
- 국제화
|
|
11
|
+
- i18n
|
|
12
|
+
- Next.js
|
|
13
|
+
- JavaScript
|
|
14
|
+
- React
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- migration
|
|
18
|
+
- next-intl
|
|
19
|
+
history:
|
|
20
|
+
- version: 8.13.0
|
|
21
|
+
date: 2026-06-05
|
|
22
|
+
changes: "Init history"
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# next-intl에서 Intlayer로 마이그레이션하기
|
|
26
|
+
|
|
27
|
+
## 왜 next-intl에서 Intlayer로 마이그레이션해야 하나요?
|
|
28
|
+
|
|
29
|
+
<AccordionGroup>
|
|
30
|
+
|
|
31
|
+
<Accordion header="번들 크기">
|
|
32
|
+
|
|
33
|
+
거대한 JSON 파일을 페이지에 불러오는 대신, 필요한 콘텐츠만 불러옵니다. Intlayer는 **번들 및 페이지 크기를 최대 50%까지 줄이도록** 도와줍니다.
|
|
34
|
+
|
|
35
|
+
</Accordion>
|
|
36
|
+
|
|
37
|
+
<Accordion header="유지보수성">
|
|
38
|
+
|
|
39
|
+
애플리케이션 콘텐츠의 스코프를 나누면 대규모 애플리케이션의 **유지보수가 쉬워집니다**. 전체 콘텐츠 코드베이스를 검토할 필요 없이 기능 디렉토리를 복제하거나 삭제할 수 있습니다. 게다가 Intlayer는 콘텐츠의 정확성을 보장하기 위해 **강력한 타입이 적용**되어 있습니다.
|
|
40
|
+
|
|
41
|
+
Intlayer는 i18n 생태계에서 **가장 활발하게 개발되는** 솔루션이기도 합니다. 문제가 신속히 해결되고 새로운 프레임워크 어댑터가 주기적으로 추가되며, 실제 운영 환경의 피드백을 기반으로 핵심 API가 지속적으로 개선됩니다.
|
|
42
|
+
|
|
43
|
+
</Accordion>
|
|
44
|
+
|
|
45
|
+
<Accordion header="AI 에이전트">
|
|
46
|
+
|
|
47
|
+
콘텐츠의 위치를 통일(Colocation)하면 대규모 언어 모델(LLM)에 필요한 **컨텍스트가 줄어듭니다**. Intlayer에는 누락된 번역을 테스트하기 위한 **CLI**, **[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/mcp_server.md)** 및 **[에이전트 스킬](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/agent_skills.md)** 등 일련의 도구가 있어 AI 에이전트를 위한 개발자 경험(DX)이 훨씬 매끄러워집니다.
|
|
48
|
+
|
|
49
|
+
</Accordion>
|
|
50
|
+
|
|
51
|
+
<Accordion header="자동화">
|
|
52
|
+
|
|
53
|
+
AI 제공 업체의 비용만으로 원하는 LLM을 사용하여 CI/CD 파이프라인에서 번역을 자동화하세요. Intlayer는 콘텐츠 추출을 자동화하기 위한 **컴파일러**와 **백그라운드 번역**을 지원하는 [웹 플랫폼](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)도 제공합니다.
|
|
54
|
+
|
|
55
|
+
</Accordion>
|
|
56
|
+
|
|
57
|
+
<Accordion header="성능">
|
|
58
|
+
|
|
59
|
+
거대한 JSON 파일을 컴포넌트에 연결하면 성능 및 반응성 문제가 발생할 수 있습니다. Intlayer는 빌드 시간에 콘텐츠를 불러오도록 최적화합니다.
|
|
60
|
+
|
|
61
|
+
</Accordion>
|
|
62
|
+
|
|
63
|
+
<Accordion header="비개발자와의 스케일업">
|
|
64
|
+
|
|
65
|
+
Intlayer는 단순한 i18n 솔루션을 넘어, 자체 호스팅이 가능한 **[시각적 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)**와 다국어 콘텐츠를 **실시간**으로 관리할 수 있는 **[풀 CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)**를 제공합니다. 이를 통해 번역가, 카피라이터 및 기타 팀 구성원과 원활하게 협업할 수 있습니다. 콘텐츠는 로컬 및/또는 원격으로 저장될 수 있습니다.
|
|
66
|
+
|
|
67
|
+
</Accordion>
|
|
68
|
+
|
|
69
|
+
</AccordionGroup>
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 마이그레이션 전략
|
|
74
|
+
|
|
75
|
+
기존 애플리케이션을 위한 추천 접근 방식은 **호환성 어댑터**를 사용하는 것입니다: `@intlayer/next-intl`을 설치하세요. 이 어댑터는 `next-intl`과 **정확히 동일한 API**를 제공하면서 모든 번역 작업을 백그라운드에서 Intlayer에 위임합니다.
|
|
76
|
+
|
|
77
|
+
기존에 사용하던 `useTranslations`, `getTranslations`, `NextIntlClientProvider` 및 기타 구성 요소는 계속 유지할 수 있습니다 — **가져오기 경로만 변경하면 됩니다.** 함수 호출 방식, 속성 형태, 컴포넌트 구조의 리팩토링이 필요하지 않습니다.
|
|
78
|
+
|
|
79
|
+
시간이 지남에 따라 점진적으로 개별 파일을 더욱 강력한 Intlayer의 `.content.ts` 형식으로 옮기면, 시각적 에디터, CMS 및 컴포넌트 레벨의 콘텐츠 스코프를 활용할 수 있습니다 — 하지만 이는 전적으로 선택 사항이며 점진적으로 도입할 수 있습니다.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 목차
|
|
84
|
+
|
|
85
|
+
<TOC/>
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 빠른 마이그레이션
|
|
90
|
+
|
|
91
|
+
다음 단계는 코드를 변경하지 않고 기존 `next-intl` 앱을 Intlayer에서 실행하기 위해 필요한 최소한의 작업입니다.
|
|
92
|
+
|
|
93
|
+
<Steps>
|
|
94
|
+
|
|
95
|
+
<Step number={1} title="의존성 설치">
|
|
96
|
+
|
|
97
|
+
Intlayer 핵심 패키지와 `@intlayer/next-intl` 호환성 어댑터를 설치합니다:
|
|
98
|
+
|
|
99
|
+
```bash packageManager="npm"
|
|
100
|
+
npm install intlayer next-intlayer @intlayer/next-intl @intlayer/sync-json-plugin
|
|
101
|
+
npx intlayer init
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
```bash packageManager="pnpm"
|
|
105
|
+
pnpm add intlayer next-intlayer @intlayer/next-intl @intlayer/sync-json-plugin
|
|
106
|
+
pnpm intlayer init
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```bash packageManager="yarn"
|
|
110
|
+
yarn add intlayer next-intlayer @intlayer/next-intl @intlayer/sync-json-plugin
|
|
111
|
+
yarn intlayer init
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```bash packageManager="bun"
|
|
115
|
+
bun add intlayer next-intlayer @intlayer/next-intl @intlayer/sync-json-plugin
|
|
116
|
+
bun x intlayer init
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
> `next-intl`은 계속 설치해 두세요 — **URL 라우팅**(`createNavigation`, `createMiddleware`, `Link`, `redirect`, `usePathname`, `useRouter`)을 위해 계속 필요합니다. 호환성 어댑터는 라우팅 레이어를 교체**하지 않습니다**.
|
|
120
|
+
|
|
121
|
+
</Step>
|
|
122
|
+
|
|
123
|
+
<Step number={2} title="Intlayer 설정">
|
|
124
|
+
|
|
125
|
+
`intlayer init` 명령어는 초기 `intlayer.config.ts` 파일을 만듭니다. 기존 로케일(언어)과 일치하도록 업데이트하고 `syncJSON` 플러그인이 메시지 파일을 가리키도록 설정하세요:
|
|
126
|
+
|
|
127
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
128
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
129
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
130
|
+
|
|
131
|
+
const config: IntlayerConfig = {
|
|
132
|
+
internationalization: {
|
|
133
|
+
locales: [
|
|
134
|
+
Locales.ENGLISH,
|
|
135
|
+
Locales.FRENCH,
|
|
136
|
+
Locales.SPANISH,
|
|
137
|
+
// 기존에 사용하던 모든 로케일을 여기에 추가하세요
|
|
138
|
+
],
|
|
139
|
+
defaultLocale: Locales.ENGLISH,
|
|
140
|
+
},
|
|
141
|
+
plugins: [
|
|
142
|
+
syncJSON({
|
|
143
|
+
// 'icu'는 next-intl의 ICU 플레이스홀더 구문인 {name}, {count, plural, ...}과 일치시킵니다.
|
|
144
|
+
format: "icu",
|
|
145
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
146
|
+
location: "messages",
|
|
147
|
+
}),
|
|
148
|
+
],
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export default config;
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
> **`source`**는 로케일을 해당 JSON 파일 경로로 매핑합니다. **`location`**은 Intlayer 관찰자(Watcher)에게 변경 사항을 모니터링할 폴더를 알려줍니다. `format: 'icu'` 옵션은 `{name}`이나 `{count, plural, one {# item} other {# items}}`와 같은 ICU 플레이스홀더가 올바르게 분석되도록 보장합니다.
|
|
155
|
+
|
|
156
|
+
> 가능한 모든 구성 옵션은 [설정 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)를 참조하세요.
|
|
157
|
+
|
|
158
|
+
</Step>
|
|
159
|
+
|
|
160
|
+
<Step number={3} title="Next.js에 Intlayer 플러그인 통합">
|
|
161
|
+
|
|
162
|
+
기존 Next.js 설정을 `@intlayer/next-intl/plugin`의 `createNextIntlPlugin`으로 래핑하세요. 이 래퍼는 `withIntlayer`를 결합**하면서** 동시에 `next-intl` → `@intlayer/next-intl` 별칭을 등록합니다:
|
|
163
|
+
|
|
164
|
+
```typescript fileName="next.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
165
|
+
import type { NextConfig } from "next";
|
|
166
|
+
import { createNextIntlPlugin } from "@intlayer/next-intl/plugin";
|
|
167
|
+
|
|
168
|
+
const withIntlayer = createNextIntlPlugin();
|
|
169
|
+
|
|
170
|
+
const nextConfig: NextConfig = {
|
|
171
|
+
/* 기존 설정 옵션들 */
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
export default withIntlayer(nextConfig);
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
> `createNextIntlPlugin()`은 `withIntlayer`를 래핑하여 **Webpack**이나 **Turbopack**을 자동으로 감지하고, 콘텐츠 감시와 사전 컴파일을 연결하며 가장 중요하게는 **모듈 별칭을 주입**합니다. 이를 통해 기존의 `import … from 'next-intl'`에 대한 호출이 빌드 시간에 투명하게 `@intlayer/next-intl`로 리디렉션됩니다. 라우팅 관련 파일인 `next-intl/routing` 항목은 여전히 실제 패키지를 가리킵니다. 소스 코드를 변경할 필요가 없습니다.
|
|
178
|
+
>
|
|
179
|
+
> 순수한 `next-intlayer/server`의 `withIntlayer`를 사용하고 싶나요? 이 경우 사전은 컴파일되지만 `next-intl`에 대한 별칭은 추가**되지 않습니다** — 따라서 수동으로 `@intlayer/next-intl`을 참조하도록 가져오기 경로를 이름을 변경해야 합니다(단계 4 참고).
|
|
180
|
+
|
|
181
|
+
> **`getRequestConfig`나 `loadMessages` 파일은 더 이상 필요하지 않습니다.** `next-intl`을 사용할 때는 모든 요청마다 `getRequestConfig`를 통해 JSON 메시지 번들을 불러오기 위해 `src/i18n.ts` 파일을 작성해야 했습니다. Intlayer는 모든 사전을 **빌드 시간**에 컴파일하므로 런타임에 메시지를 불러오는 단계가 없습니다. 이 파일을 완전히 지우셔도 됩니다 (계속해서 `createNavigation`을 사용한다면 라우팅 관련 코드만 남기세요).
|
|
182
|
+
|
|
183
|
+
</Step>
|
|
184
|
+
|
|
185
|
+
</Steps>
|
|
186
|
+
|
|
187
|
+
이것으로 빠른 마이그레이션이 완료되었습니다. 이제 앱은 모든 가져오기와 `next-intl` API를 그대로 유지한 채 Intlayer에서 작동합니다.
|
|
188
|
+
|
|
189
|
+
> **자동화된 타입의 번역 키.** Intlayer가 사전을 컴파일하면 `useTranslations` 및 `getTranslations`는 실제 콘텐츠에 대해 타입 검사를 수행합니다. 키는 IDE에서 자동 완성되며 유효하지 않은 경로는 빌드 시에 TypeScript 오류로 나타납니다 — 추가 설정이 필요 없습니다.
|
|
190
|
+
>
|
|
191
|
+
> ```tsx
|
|
192
|
+
> // 클라이언트 컴포넌트 — 'about'은 등록된 사전 키입니다.
|
|
193
|
+
> const t = useTranslations("about");
|
|
194
|
+
> t("counter.label"); // ✓ 자동 완성
|
|
195
|
+
> t("does.not.exist"); // ✗ TypeScript 오류
|
|
196
|
+
>
|
|
197
|
+
> // 서버 컴포넌트
|
|
198
|
+
> const t = await getTranslations("about");
|
|
199
|
+
> t("counter.label"); // ✓ 타입 적용됨
|
|
200
|
+
> ```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 전체 마이그레이션
|
|
205
|
+
|
|
206
|
+
아래 단계는 선택 사항이며 점진적으로 수행할 수 있습니다. 이는 시각적 에디터, CMS, 타입이 있는 콘텐츠 파일, AI 지원 번역 자동화 등 Intlayer의 전체 기능을 열어줍니다.
|
|
207
|
+
|
|
208
|
+
<Steps>
|
|
209
|
+
|
|
210
|
+
<Step number={4} title="명시적으로 가져오기 이름 변경 (선택 사항)" isOptional={true}>
|
|
211
|
+
|
|
212
|
+
`createNextIntlPlugin()` 래퍼는 이미 번들러 수준에서 `next-intl` → `@intlayer/next-intl` 별칭 처리를 관리합니다. 소스 파일에서 의존성을 명확히 하고 싶거나, 단순한 `withIntlayer` 플러그인을 직접 사용하려는 경우 가져오기 경로를 수동으로 변경할 수 있습니다:
|
|
213
|
+
|
|
214
|
+
| 변경 전 | 변경 후 |
|
|
215
|
+
| ---------------------------------------------------- | -------------------------------------------------------------- |
|
|
216
|
+
| `import { useTranslations } from 'next-intl'` | `import { useTranslations } from '@intlayer/next-intl'` |
|
|
217
|
+
| `import { useLocale } from 'next-intl'` | `import { useLocale } from '@intlayer/next-intl'` |
|
|
218
|
+
| `import { NextIntlClientProvider } from 'next-intl'` | `import { NextIntlClientProvider } from '@intlayer/next-intl'` |
|
|
219
|
+
| `import { getTranslations } from 'next-intl/server'` | `import { getTranslations } from '@intlayer/next-intl/server'` |
|
|
220
|
+
| `import { getLocale } from 'next-intl/server'` | `import { getLocale } from '@intlayer/next-intl/server'` |
|
|
221
|
+
| `import { setLocale } from 'next-intl/server'` | `import { setLocale } from '@intlayer/next-intl/server'` |
|
|
222
|
+
| `import { getMessages } from 'next-intl/server'` | `import { getMessages } from '@intlayer/next-intl/server'` |
|
|
223
|
+
|
|
224
|
+
> 실제 `next-intl`에서 제공하는 라우팅 가져오기는 항상 유지하세요 — 호환성 어댑터는 URL 라우팅 레이어를 대체**하지 않습니다**:
|
|
225
|
+
>
|
|
226
|
+
> ```ts
|
|
227
|
+
> // ✅ 이 항목들은 항상 실제 'next-intl'에서 불러옵니다.
|
|
228
|
+
> import { createNavigation } from "next-intl/routing";
|
|
229
|
+
> import { createMiddleware } from "next-intl/server";
|
|
230
|
+
> import { defineRouting } from "next-intl/routing";
|
|
231
|
+
> ```
|
|
232
|
+
>
|
|
233
|
+
> 혹은 `@intlayer/next-intl/routing`의 `defineRouting`을 사용하면 `intlayer.config.ts` 파일의 로케일 설정을 자동으로 병합할 수 있습니다.
|
|
234
|
+
|
|
235
|
+
</Step>
|
|
236
|
+
|
|
237
|
+
<Step number={5} title="AI 기반 번역 자동화 활성화" isOptional={true}>
|
|
238
|
+
|
|
239
|
+
Intlayer 설정이 완료되면, CLI를 사용하여 원하는 LLM을 이용해 누락된 번역을 자동으로 채울 수 있습니다:
|
|
240
|
+
|
|
241
|
+
```bash packageManager="npm"
|
|
242
|
+
# 누락된 번역 테스트 (CI에 추가)
|
|
243
|
+
npx intlayer test
|
|
244
|
+
|
|
245
|
+
# AI를 사용하여 누락된 번역 채우기
|
|
246
|
+
npx intlayer fill
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
```bash packageManager="pnpm"
|
|
250
|
+
pnpm intlayer test
|
|
251
|
+
pnpm intlayer fill
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
```bash packageManager="yarn"
|
|
255
|
+
yarn intlayer test
|
|
256
|
+
yarn intlayer fill
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
```bash packageManager="bun"
|
|
260
|
+
bun x intlayer test
|
|
261
|
+
bun x intlayer fill
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
`.env` 파일에 `OPENAI_API_KEY`(또는 선호하는 제공 업체의 키)를 추가하고, `intlayer.config.ts`를 확장하세요:
|
|
265
|
+
|
|
266
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
267
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
268
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
269
|
+
|
|
270
|
+
const config: IntlayerConfig = {
|
|
271
|
+
internationalization: {
|
|
272
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
273
|
+
defaultLocale: Locales.ENGLISH,
|
|
274
|
+
},
|
|
275
|
+
plugins: [
|
|
276
|
+
syncJSON({
|
|
277
|
+
format: "icu",
|
|
278
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
279
|
+
location: "messages",
|
|
280
|
+
}),
|
|
281
|
+
],
|
|
282
|
+
ai: {
|
|
283
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
284
|
+
// provider: "openai", // 기본값
|
|
285
|
+
// model: "gpt-4o-mini", // 기본값
|
|
286
|
+
},
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
export default config;
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
> 사용할 수 있는 모든 옵션은 [Intlayer CLI 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/index.md)에서 확인하세요.
|
|
293
|
+
|
|
294
|
+
</Step>
|
|
295
|
+
|
|
296
|
+
</Steps>
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## 마이그레이션 후 삭제할 수 있는 항목
|
|
301
|
+
|
|
302
|
+
`@intlayer/next-intl`이 적용되면, 다음의 기존 `next-intl` 표준 상용구를 삭제할 수 있습니다:
|
|
303
|
+
|
|
304
|
+
| 파일 / 패턴 | 더 이상 필요 없는 이유 |
|
|
305
|
+
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
306
|
+
| `src/i18n.ts` 내의 `getRequestConfig` 내보내기 | Intlayer는 빌드 시간에 사전을 컴파일합니다. 리퀘스트 단위의 메시지 로딩은 없습니다. 파일이 `createNavigation` 라우팅 유틸리티도 내보내는 경우에만 유지하세요. |
|
|
307
|
+
| 레이아웃 내에서 `loadMessages()` / `getMessages()` 호출 | `@intlayer/next-intl`의 `NextIntlClientProvider`는 컴파일된 출력을 읽습니다; `messages` 속성은 불필요합니다. |
|
|
308
|
+
| 레이아웃에서 `locales/{locale}/*.json` 불러오기 | JSON 번들은 `syncJSON` 플러그인을 여전히 사용할 때만 필요합니다. `.content.ts` 파일로 이전을 완료하면 JSON 폴더를 삭제할 수 있습니다. |
|
|
309
|
+
|
|
310
|
+
한 단계 더 나아갈 준비가 되면 Intlayer는 **코드베이스 내의 모든 `.content.ts` 및 `.content.json` 파일을 자동으로 감지합니다**(기본적으로 `./src` 내의 어느 곳에서든). `about/page.tsx` 파일 바로 옆에 `about.content.ts` 파일을 추가하기만 하면 Intlayer는 별도 설정 없이 컴파일 타임에 이를 감지합니다 — 가져오기, 등록, 중앙 인덱스 파일이 필요 없습니다. 페이지와 컴포넌트에서 번역의 위치 통일이 매우 매끄러워집니다.
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## TypeScript 설정
|
|
315
|
+
|
|
316
|
+
Intlayer는 번역 키에 대해 전체 TypeScript IntelliSense(자동 완성)를 제공하기 위해 모듈 확장을 사용합니다. `tsconfig.json` 파일에 자동으로 생성된 타입이 포함되어 있는지 확인하세요:
|
|
317
|
+
|
|
318
|
+
```json5 fileName="tsconfig.json"
|
|
319
|
+
{
|
|
320
|
+
// ... 기존 TypeScript 설정
|
|
321
|
+
"include": [
|
|
322
|
+
// ... 기존 TypeScript 설정
|
|
323
|
+
".intlayer/**/*.ts", // 자동으로 생성된 타입 포함
|
|
324
|
+
],
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## Git 설정
|
|
331
|
+
|
|
332
|
+
Intlayer가 생성한 디렉토리를 `.gitignore`에 추가하세요:
|
|
333
|
+
|
|
334
|
+
```plaintext fileName=".gitignore"
|
|
335
|
+
# Intlayer에서 생성된 파일 무시
|
|
336
|
+
.intlayer
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## 더 알아보기
|
|
342
|
+
|
|
343
|
+
- **시각적 에디터** — 브라우저에서 시각적으로 번역을 관리하세요: [Intlayer 시각적 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)
|
|
344
|
+
- **CMS** — 콘텐츠를 외부로 분리하고 원격으로 관리하세요: [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)
|
|
345
|
+
- **VS Code 확장** — 실시간 번역 자동 완성 및 오류 감지를 경험하세요: [Intlayer VS Code 확장](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/vs_code_extension.md)
|
|
346
|
+
- **CLI 레퍼런스** — 사용 가능한 CLI 명령어 목록: [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/index.md)
|
|
347
|
+
- **Intlayer와 Next.js** — Next.js의 전체 설정 가이드: [intlayer_with_nextjs_16.md](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_nextjs_16.md)
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-05
|
|
3
|
+
updatedAt: 2026-06-05
|
|
4
|
+
title: "@nuxtjs/i18n에서 Intlayer로 마이그레이션하기 | 국제화 (i18n)"
|
|
5
|
+
description: "기존 코드를 손상시키지 않고 단계별로 Nuxt 애플리케이션을 @nuxtjs/i18n에서 Intlayer로 마이그레이션하는 방법을 알아봅니다. 원활한 전환을 위해 @intlayer/vue-i18n 호환성 어댑터를 사용하세요."
|
|
6
|
+
keywords:
|
|
7
|
+
- "@nuxtjs/i18n"
|
|
8
|
+
- vue-i18n
|
|
9
|
+
- intlayer
|
|
10
|
+
- 마이그레이션
|
|
11
|
+
- 국제화
|
|
12
|
+
- i18n
|
|
13
|
+
- Nuxt
|
|
14
|
+
- Vue
|
|
15
|
+
- JavaScript
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- migration
|
|
19
|
+
- nuxtjs-i18n
|
|
20
|
+
history:
|
|
21
|
+
- version: 8.13.0
|
|
22
|
+
date: 2026-06-05
|
|
23
|
+
changes: "Init history"
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# @nuxtjs/i18n에서 Intlayer로 마이그레이션하기
|
|
27
|
+
|
|
28
|
+
## 왜 @nuxtjs/i18n에서 Intlayer로 마이그레이션해야 하나요?
|
|
29
|
+
|
|
30
|
+
<AccordionGroup>
|
|
31
|
+
|
|
32
|
+
<Accordion header="번들 크기">
|
|
33
|
+
|
|
34
|
+
거대한 JSON 파일을 페이지에 불러오는 대신, 필요한 콘텐츠만 불러옵니다. Intlayer는 **번들 및 페이지 크기를 최대 50%까지 줄이도록** 도와줍니다.
|
|
35
|
+
|
|
36
|
+
</Accordion>
|
|
37
|
+
|
|
38
|
+
<Accordion header="유지보수성">
|
|
39
|
+
|
|
40
|
+
애플리케이션 콘텐츠의 스코프를 나누면 대규모 애플리케이션의 **유지보수가 쉬워집니다**. 전체 콘텐츠 코드베이스를 검토할 필요 없이 기능 디렉토리를 복제하거나 삭제할 수 있습니다. 게다가 Intlayer는 콘텐츠의 정확성을 보장하기 위해 **강력한 타입이 적용**되어 있습니다.
|
|
41
|
+
|
|
42
|
+
Intlayer는 i18n 생태계에서 **가장 활발하게 개발되는** 솔루션이기도 합니다. 문제가 신속히 해결되고 새로운 프레임워크 어댑터가 주기적으로 추가되며, 실제 운영 환경의 피드백을 기반으로 핵심 API가 지속적으로 개선됩니다.
|
|
43
|
+
|
|
44
|
+
</Accordion>
|
|
45
|
+
|
|
46
|
+
<Accordion header="AI 에이전트">
|
|
47
|
+
|
|
48
|
+
콘텐츠의 위치를 통일(Colocation)하면 대규모 언어 모델(LLM)에 필요한 **컨텍스트가 줄어듭니다**. Intlayer에는 누락된 번역을 테스트하기 위한 **CLI**, **[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/mcp_server.md)** 및 **[에이전트 스킬](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/agent_skills.md)** 등 일련의 도구가 있어 AI 에이전트를 위한 개발자 경험(DX)이 훨씬 매끄러워집니다.
|
|
49
|
+
|
|
50
|
+
</Accordion>
|
|
51
|
+
|
|
52
|
+
<Accordion header="자동화">
|
|
53
|
+
|
|
54
|
+
AI 제공 업체의 비용만으로 원하는 LLM을 사용하여 CI/CD 파이프라인에서 번역을 자동화하세요. Intlayer는 콘텐츠 추출을 자동화하기 위한 **컴파일러**와 **백그라운드 번역**을 지원하는 [웹 플랫폼](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)도 제공합니다.
|
|
55
|
+
|
|
56
|
+
</Accordion>
|
|
57
|
+
|
|
58
|
+
<Accordion header="성능">
|
|
59
|
+
|
|
60
|
+
거대한 JSON 파일을 컴포넌트에 연결하면 성능 및 반응성 문제가 발생할 수 있습니다. Intlayer는 빌드 시간에 콘텐츠를 불러오도록 최적화합니다.
|
|
61
|
+
|
|
62
|
+
</Accordion>
|
|
63
|
+
|
|
64
|
+
<Accordion header="비개발자와의 스케일업">
|
|
65
|
+
|
|
66
|
+
Intlayer는 단순한 i18n 솔루션을 넘어, 자체 호스팅이 가능한 **[시각적 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)**와 다국어 콘텐츠를 **실시간**으로 관리할 수 있는 **[풀 CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)**를 제공합니다. 이를 통해 번역가, 카피라이터 및 기타 팀 구성원과 원활하게 협업할 수 있습니다. 콘텐츠는 로컬 및/또는 원격으로 저장될 수 있습니다.
|
|
67
|
+
|
|
68
|
+
</Accordion>
|
|
69
|
+
|
|
70
|
+
</AccordionGroup>
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 마이그레이션 전략
|
|
75
|
+
|
|
76
|
+
`@nuxtjs/i18n`은 내부적으로 `vue-i18n`에 의해 작동하므로, Intlayer로 마이그레이션하기 위한 두 가지 보완적 전략이 있습니다:
|
|
77
|
+
|
|
78
|
+
1. **호환성 어댑터 (기존 앱에 권장)** — `@intlayer/vue-i18n`과 `nuxt-intlayer`를 설치하세요. 이 기능은 `vue-i18n`과 **정확히 동일한 API**를 노출하지만, 모든 번역 작업을 Intlayer에 위임합니다. `$t`, `useI18n()` 및 Nuxt 라우팅에 대한 기존 호출은 그대로 유지됩니다. 변경 사항은 초기화뿐입니다.
|
|
79
|
+
|
|
80
|
+
2. **전체 마이그레이션** — `@nuxtjs/i18n` API를 점진적으로 기본 Intlayer 훅(`useIntlayer`)으로 교체하고 컴포넌트와 함께 `.content.ts` 파일 내에 콘텐츠를 배치합니다.
|
|
81
|
+
|
|
82
|
+
이 가이드에서는 먼저 **전략 1** (쉽게 도입할 수 있는 호환성 어댑터)에 대해 설명하고, 선택 사항인 전체 마이그레이션에 대해 알아봅니다.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 목차
|
|
87
|
+
|
|
88
|
+
<TOC/>
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 빠른 마이그레이션
|
|
93
|
+
|
|
94
|
+
다음 단계는 컴포넌트 코드를 변경하지 않고 기존 Nuxt 앱을 Intlayer에서 실행하기 위해 필요한 최소한의 작업입니다.
|
|
95
|
+
|
|
96
|
+
<Steps>
|
|
97
|
+
|
|
98
|
+
<Step number={1} title="의존성 설치">
|
|
99
|
+
|
|
100
|
+
Intlayer 핵심 패키지와 호환성 어댑터를 설치합니다:
|
|
101
|
+
|
|
102
|
+
```bash packageManager="npm"
|
|
103
|
+
npm install intlayer vue-intlayer nuxt-intlayer @intlayer/vue-i18n @intlayer/sync-json-plugin
|
|
104
|
+
npx intlayer init
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
```bash packageManager="pnpm"
|
|
108
|
+
pnpm add intlayer vue-intlayer nuxt-intlayer @intlayer/vue-i18n @intlayer/sync-json-plugin
|
|
109
|
+
pnpm intlayer init
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```bash packageManager="yarn"
|
|
113
|
+
yarn add intlayer vue-intlayer nuxt-intlayer @intlayer/vue-i18n @intlayer/sync-json-plugin
|
|
114
|
+
yarn intlayer init
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
```bash packageManager="bun"
|
|
118
|
+
bun add intlayer vue-intlayer nuxt-intlayer @intlayer/vue-i18n @intlayer/sync-json-plugin
|
|
119
|
+
bun x intlayer init
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
> 조만간 Nuxt 설정에서 `@nuxtjs/i18n`을 제거하겠지만 마이그레이션하는 동안 안전하게 설치해 둘 수 있습니다.
|
|
123
|
+
|
|
124
|
+
</Step>
|
|
125
|
+
|
|
126
|
+
<Step number={2} title="Intlayer 설정">
|
|
127
|
+
|
|
128
|
+
`intlayer init` 명령어는 초기 `intlayer.config.ts` 파일을 만듭니다. 기존 로케일(언어)과 일치하도록 업데이트하고 `syncJSON` 플러그인이 메시지 파일을 가리키도록 설정하세요:
|
|
129
|
+
|
|
130
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
131
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
132
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
133
|
+
|
|
134
|
+
const config: IntlayerConfig = {
|
|
135
|
+
internationalization: {
|
|
136
|
+
locales: [
|
|
137
|
+
Locales.ENGLISH,
|
|
138
|
+
Locales.FRENCH,
|
|
139
|
+
Locales.SPANISH,
|
|
140
|
+
// 기존에 사용하던 모든 로케일을 여기에 추가하세요
|
|
141
|
+
],
|
|
142
|
+
defaultLocale: Locales.ENGLISH,
|
|
143
|
+
},
|
|
144
|
+
plugins: [
|
|
145
|
+
syncJSON({
|
|
146
|
+
// vue-i18n 플레이스홀더 구문인 {name}과 일치시킵니다.
|
|
147
|
+
format: "icu",
|
|
148
|
+
source: ({ locale }) => `./locales/${locale}.json`,
|
|
149
|
+
location: "locales",
|
|
150
|
+
}),
|
|
151
|
+
],
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export default config;
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
> **`source`**는 로케일을 해당 JSON 파일 경로로 매핑합니다. **`location`**은 Intlayer 관찰자(Watcher)에게 변경 사항을 모니터링할 폴더를 알려줍니다. `format: 'icu'` 옵션은 `vue-i18n` 플레이스홀더가 올바르게 분석되도록 보장합니다.
|
|
158
|
+
|
|
159
|
+
</Step>
|
|
160
|
+
|
|
161
|
+
<Step number={3} title="Nuxt 설정 업데이트">
|
|
162
|
+
|
|
163
|
+
`nuxt.config.ts`에서 `@nuxtjs/i18n` 모듈을 `nuxt-intlayer`로 교체하세요. Intlayer 플러그인이 모듈 별칭을 자동으로 주입하므로, 기존의 `import { useI18n } from 'vue-i18n'` 호출이 부드럽게 `@intlayer/vue-i18n`으로 리디렉션됩니다.
|
|
164
|
+
|
|
165
|
+
```typescript fileName="nuxt.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
166
|
+
export default defineNuxtConfig({
|
|
167
|
+
// '@nuxtjs/i18n' 삭제
|
|
168
|
+
modules: ["nuxt-intlayer"],
|
|
169
|
+
});
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
> **더 이상 Nuxt i18n 구성 객체를 정의할 필요가 없습니다.** Intlayer는 모든 사전을 **빌드 시간**에 컴파일하고, 로케일 감지, 라우팅 및 사전 불러오기를 매끄럽게 처리합니다.
|
|
173
|
+
|
|
174
|
+
</Step>
|
|
175
|
+
|
|
176
|
+
</Steps>
|
|
177
|
+
|
|
178
|
+
이것으로 빠른 마이그레이션이 완료되었습니다. 이제 Nuxt 앱은 모든 `$t` 호출 및 `useI18n()`을 그대로 유지한 채 Intlayer에서 작동합니다.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 전체 마이그레이션
|
|
183
|
+
|
|
184
|
+
아래 단계는 선택 사항이며 점진적으로 수행할 수 있습니다. 이는 시각적 에디터, CMS, 타입이 있는 콘텐츠 파일, AI 지원 번역 자동화 등 Intlayer의 전체 기능을 열어줍니다.
|
|
185
|
+
|
|
186
|
+
<Steps>
|
|
187
|
+
|
|
188
|
+
<Step number={4} title="명시적으로 가져오기 이름 변경 (선택 사항)" isOptional={true}>
|
|
189
|
+
|
|
190
|
+
Intlayer 플러그인은 이미 번들러 수준에서 별칭 지정을 처리합니다. 소스 파일에서 명시적으로 의존성을 나타내고 싶다면 수동으로 가져오기 경로를 변경할 수 있습니다:
|
|
191
|
+
|
|
192
|
+
| 변경 전 | 변경 후 |
|
|
193
|
+
| ------------------------------------ | ---------------------------------------------- |
|
|
194
|
+
| `import { useI18n } from 'vue-i18n'` | `import { useI18n } from '@intlayer/vue-i18n'` |
|
|
195
|
+
|
|
196
|
+
이는 **드롭인 교체(Drop-in replacements)**이므로 함수 호출 시그니처, 매개변수, 반환 타입을 변경할 필요가 없습니다.
|
|
197
|
+
|
|
198
|
+
</Step>
|
|
199
|
+
|
|
200
|
+
<Step number={5} title="AI 기반 번역 자동화 활성화" isOptional={true}>
|
|
201
|
+
|
|
202
|
+
Intlayer 설정이 완료되면, CLI를 사용하여 누락된 번역을 자동으로 채울 수 있습니다:
|
|
203
|
+
|
|
204
|
+
```bash packageManager="npm"
|
|
205
|
+
# 누락된 번역 테스트 (CI에 추가)
|
|
206
|
+
npx intlayer test
|
|
207
|
+
|
|
208
|
+
# AI를 사용하여 누락된 번역 채우기
|
|
209
|
+
npx intlayer fill
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
```bash packageManager="pnpm"
|
|
213
|
+
pnpm intlayer test
|
|
214
|
+
pnpm intlayer fill
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
```bash packageManager="yarn"
|
|
218
|
+
yarn intlayer test
|
|
219
|
+
yarn intlayer fill
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
```bash packageManager="bun"
|
|
223
|
+
bun x intlayer test
|
|
224
|
+
bun x intlayer fill
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
AI 구성을 `intlayer.config.ts`에 추가하세요:
|
|
228
|
+
|
|
229
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
230
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
231
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
232
|
+
|
|
233
|
+
const config: IntlayerConfig = {
|
|
234
|
+
internationalization: {
|
|
235
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
236
|
+
defaultLocale: Locales.ENGLISH,
|
|
237
|
+
},
|
|
238
|
+
plugins: [
|
|
239
|
+
syncJSON({
|
|
240
|
+
format: "icu",
|
|
241
|
+
source: ({ locale }) => `./locales/${locale}.json`,
|
|
242
|
+
location: "locales",
|
|
243
|
+
}),
|
|
244
|
+
],
|
|
245
|
+
ai: {
|
|
246
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
247
|
+
// provider: "openai", // 기본값
|
|
248
|
+
// model: "gpt-4o-mini", // 기본값
|
|
249
|
+
},
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
export default config;
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
> 사용할 수 있는 모든 옵션은 [Intlayer CLI 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/index.md)에서 확인하세요.
|
|
256
|
+
|
|
257
|
+
</Step>
|
|
258
|
+
|
|
259
|
+
</Steps>
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 마이그레이션 후 삭제할 수 있는 항목
|
|
264
|
+
|
|
265
|
+
호환성 어댑터가 제자리에 배치되면 기존에 사용하던 다음 상용구를 삭제할 수 있습니다:
|
|
266
|
+
|
|
267
|
+
| 파일 / 패턴 | 더 이상 필요 없는 이유 |
|
|
268
|
+
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
|
269
|
+
| `nuxt.config.ts` 내의 `i18n` 설정 | Intlayer가 내부적으로 라우팅, 사전 불러오기, 기본 로케일 처리를 수행합니다. |
|
|
270
|
+
| `package.json` 안의 `@nuxtjs/i18n` | `nuxt-intlayer`로 완전히 대체되었습니다. |
|
|
271
|
+
| JSON 언어 번들 (`locales/*.json`) | JSON 번들은 `syncJSON` 플러그인을 여전히 사용할 때만 필요합니다. `.content.ts` 파일로 이전을 완료하면 JSON 폴더를 삭제할 수 있습니다. |
|
|
272
|
+
|
|
273
|
+
한 단계 더 나아갈 준비가 되면 Intlayer는 **코드베이스 내의 모든 `.content.ts` 및 `.content.json` 파일을 자동으로 감지합니다**(기본적으로 `./src` 내의 어느 곳에서든). `MyComponent.vue` 바로 옆에 `my-component.content.ts` 파일을 추가하기만 하면 Intlayer는 별도 설정 없이 컴파일 타임에 이를 감지합니다 — 가져오기, 등록, 중앙 인덱스 파일이 필요 없습니다. 페이지와 컴포넌트에서 번역의 위치 통일이 매우 매끄러워집니다.
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## TypeScript 설정
|
|
278
|
+
|
|
279
|
+
Intlayer는 번역 키에 대해 전체 TypeScript IntelliSense(자동 완성)를 제공하기 위해 모듈 확장을 사용합니다. `tsconfig.json` 파일에 자동으로 생성된 타입이 포함되어 있는지 확인하세요:
|
|
280
|
+
|
|
281
|
+
```json5 fileName="tsconfig.json"
|
|
282
|
+
{
|
|
283
|
+
// ... 기존 TypeScript 설정
|
|
284
|
+
"include": [
|
|
285
|
+
// ... 기존 TypeScript 설정
|
|
286
|
+
".intlayer/**/*.ts", // 자동으로 생성된 타입 포함
|
|
287
|
+
],
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## Git 설정
|
|
294
|
+
|
|
295
|
+
Intlayer가 생성한 디렉토리를 `.gitignore`에 추가하세요:
|
|
296
|
+
|
|
297
|
+
```plaintext fileName=".gitignore"
|
|
298
|
+
# Intlayer에서 생성된 파일 무시
|
|
299
|
+
.intlayer
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 더 알아보기
|
|
305
|
+
|
|
306
|
+
- **시각적 에디터** — 브라우저에서 시각적으로 번역을 관리하세요: [Intlayer 시각적 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)
|
|
307
|
+
- **CMS** — 콘텐츠를 외부로 분리하고 원격으로 관리하세요: [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)
|
|
308
|
+
- **VS Code 확장** — 실시간 번역 자동 완성 및 오류 감지를 경험하세요: [Intlayer VS Code 확장](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/vs_code_extension.md)
|
|
309
|
+
- **CLI 레퍼런스** — 사용 가능한 CLI 명령어 목록: [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/index.md)
|
|
310
|
+
- **Intlayer와 Nuxt** — Nuxt 전체 설정 가이드: [intlayer_with_nuxt.md](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_nuxt.md)
|
|
311
|
+
- **Intlayer와 Vue** — Vue 전체 설정 가이드: [intlayer_with_vite+vue.md](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_vite+vue.md)
|