@intlayer/docs 9.0.0-canary.9 → 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/internationalization_and_SEO.md +6 -0
- package/blog/ar/intlayer_with_i18next.md +4 -4
- package/blog/ar/intlayer_with_next-i18next.md +4 -4
- package/blog/ar/intlayer_with_next-intl.md +4 -4
- package/blog/ar/intlayer_with_react-i18next.md +4 -4
- package/blog/ar/intlayer_with_react-intl.md +4 -4
- package/blog/ar/intlayer_with_vue-i18n.md +4 -4
- package/blog/ar/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/de/internationalization_and_SEO.md +6 -0
- package/blog/de/intlayer_with_i18next.md +4 -4
- package/blog/de/intlayer_with_next-i18next.md +4 -4
- package/blog/de/intlayer_with_next-intl.md +4 -4
- package/blog/de/intlayer_with_react-i18next.md +4 -4
- package/blog/de/intlayer_with_react-intl.md +4 -4
- package/blog/de/intlayer_with_vue-i18n.md +4 -4
- package/blog/de/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/en/internationalization_and_SEO.md +6 -0
- package/blog/en/intlayer_with_i18next.md +4 -4
- package/blog/en/intlayer_with_next-i18next.md +4 -4
- package/blog/en/intlayer_with_next-intl.md +4 -4
- package/blog/en/intlayer_with_react-i18next.md +4 -4
- package/blog/en/intlayer_with_react-intl.md +4 -4
- package/blog/en/intlayer_with_vue-i18n.md +4 -4
- package/blog/en/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/en/rag_powered_documentation_assistant.md +6 -0
- package/blog/en-GB/internationalization_and_SEO.md +6 -0
- package/blog/en-GB/intlayer_with_i18next.md +4 -4
- package/blog/en-GB/intlayer_with_next-i18next.md +4 -4
- package/blog/en-GB/intlayer_with_next-intl.md +4 -4
- package/blog/en-GB/intlayer_with_react-i18next.md +4 -4
- package/blog/en-GB/intlayer_with_react-intl.md +4 -4
- package/blog/en-GB/intlayer_with_vue-i18n.md +4 -4
- package/blog/en-GB/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/es/internationalization_and_SEO.md +6 -0
- package/blog/es/intlayer_with_i18next.md +4 -4
- package/blog/es/intlayer_with_next-i18next.md +4 -4
- package/blog/es/intlayer_with_next-intl.md +4 -4
- package/blog/es/intlayer_with_react-i18next.md +4 -4
- package/blog/es/intlayer_with_react-intl.md +4 -4
- package/blog/es/intlayer_with_vue-i18n.md +4 -4
- package/blog/es/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/fr/internationalization_and_SEO.md +6 -0
- package/blog/fr/intlayer_with_i18next.md +4 -4
- package/blog/fr/intlayer_with_next-i18next.md +4 -4
- package/blog/fr/intlayer_with_next-intl.md +4 -4
- package/blog/fr/intlayer_with_react-i18next.md +4 -4
- package/blog/fr/intlayer_with_react-intl.md +4 -4
- package/blog/fr/intlayer_with_vue-i18n.md +4 -4
- package/blog/fr/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/hi/internationalization_and_SEO.md +6 -0
- package/blog/hi/intlayer_with_i18next.md +4 -4
- package/blog/hi/intlayer_with_next-i18next.md +4 -4
- package/blog/hi/intlayer_with_next-intl.md +4 -4
- package/blog/hi/intlayer_with_react-i18next.md +4 -4
- package/blog/hi/intlayer_with_react-intl.md +4 -4
- package/blog/hi/intlayer_with_vue-i18n.md +4 -4
- package/blog/hi/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/id/internationalization_and_SEO.md +6 -0
- package/blog/id/intlayer_with_i18next.md +4 -4
- package/blog/id/intlayer_with_next-i18next.md +4 -4
- package/blog/id/intlayer_with_next-intl.md +4 -4
- package/blog/id/intlayer_with_react-i18next.md +4 -4
- package/blog/id/intlayer_with_react-intl.md +4 -4
- package/blog/id/intlayer_with_vue-i18n.md +4 -4
- package/blog/id/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/it/internationalization_and_SEO.md +6 -0
- package/blog/it/intlayer_with_i18next.md +4 -4
- package/blog/it/intlayer_with_next-i18next.md +4 -4
- package/blog/it/intlayer_with_next-intl.md +4 -4
- package/blog/it/intlayer_with_react-i18next.md +4 -4
- package/blog/it/intlayer_with_react-intl.md +4 -4
- package/blog/it/intlayer_with_vue-i18n.md +4 -4
- package/blog/it/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/ja/internationalization_and_SEO.md +6 -0
- package/blog/ja/intlayer_with_i18next.md +4 -4
- package/blog/ja/intlayer_with_next-i18next.md +4 -4
- package/blog/ja/intlayer_with_next-intl.md +4 -4
- package/blog/ja/intlayer_with_react-i18next.md +4 -4
- package/blog/ja/intlayer_with_react-intl.md +4 -4
- package/blog/ja/intlayer_with_vue-i18n.md +4 -4
- package/blog/ja/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/ko/internationalization_and_SEO.md +6 -0
- package/blog/ko/intlayer_with_i18next.md +4 -4
- package/blog/ko/intlayer_with_next-i18next.md +4 -4
- package/blog/ko/intlayer_with_next-intl.md +4 -4
- package/blog/ko/intlayer_with_react-i18next.md +4 -4
- package/blog/ko/intlayer_with_react-intl.md +4 -4
- package/blog/ko/intlayer_with_vue-i18n.md +4 -4
- package/blog/ko/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/pl/internationalization_and_SEO.md +6 -0
- package/blog/pl/intlayer_with_i18next.md +4 -4
- package/blog/pl/intlayer_with_next-i18next.md +4 -4
- package/blog/pl/intlayer_with_next-intl.md +4 -4
- package/blog/pl/intlayer_with_react-i18next.md +4 -4
- package/blog/pl/intlayer_with_react-intl.md +4 -4
- package/blog/pl/intlayer_with_vue-i18n.md +4 -4
- package/blog/pl/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/pt/internationalization_and_SEO.md +6 -0
- package/blog/pt/intlayer_with_i18next.md +4 -4
- package/blog/pt/intlayer_with_next-i18next.md +4 -4
- package/blog/pt/intlayer_with_next-intl.md +4 -4
- package/blog/pt/intlayer_with_react-i18next.md +4 -4
- package/blog/pt/intlayer_with_react-intl.md +4 -4
- package/blog/pt/intlayer_with_vue-i18n.md +4 -4
- package/blog/pt/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/ru/internationalization_and_SEO.md +6 -0
- package/blog/ru/intlayer_with_i18next.md +4 -4
- package/blog/ru/intlayer_with_next-i18next.md +4 -4
- package/blog/ru/intlayer_with_next-intl.md +4 -4
- package/blog/ru/intlayer_with_react-i18next.md +4 -4
- package/blog/ru/intlayer_with_react-intl.md +4 -4
- package/blog/ru/intlayer_with_vue-i18n.md +4 -4
- package/blog/ru/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/tr/internationalization_and_SEO.md +6 -0
- package/blog/tr/intlayer_with_i18next.md +4 -4
- package/blog/tr/intlayer_with_next-i18next.md +4 -4
- package/blog/tr/intlayer_with_next-intl.md +4 -4
- package/blog/tr/intlayer_with_react-i18next.md +4 -4
- package/blog/tr/intlayer_with_react-intl.md +4 -4
- package/blog/tr/intlayer_with_vue-i18n.md +4 -4
- package/blog/tr/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/uk/internationalization_and_SEO.md +6 -0
- package/blog/uk/intlayer_with_i18next.md +4 -4
- package/blog/uk/intlayer_with_next-i18next.md +4 -4
- package/blog/uk/intlayer_with_next-intl.md +4 -4
- package/blog/uk/intlayer_with_react-i18next.md +4 -4
- package/blog/uk/intlayer_with_react-intl.md +4 -4
- package/blog/uk/intlayer_with_vue-i18n.md +4 -4
- package/blog/uk/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/vi/internationalization_and_SEO.md +6 -0
- package/blog/vi/intlayer_with_i18next.md +4 -4
- package/blog/vi/intlayer_with_next-i18next.md +4 -4
- package/blog/vi/intlayer_with_next-intl.md +4 -4
- package/blog/vi/intlayer_with_react-i18next.md +4 -4
- package/blog/vi/intlayer_with_react-intl.md +4 -4
- package/blog/vi/intlayer_with_vue-i18n.md +4 -4
- package/blog/vi/nextjs-multilingual-seo-comparison.md +6 -0
- package/blog/zh/internationalization_and_SEO.md +6 -0
- package/blog/zh/nextjs-multilingual-seo-comparison.md +6 -0
- package/dist/cjs/authors.cjs.map +1 -1
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +2 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +0 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +60 -1
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +0 -1
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/authors.mjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +2 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +60 -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/esm/legal.mjs.map +1 -1
- package/dist/types/authors.d.ts +16 -8
- package/dist/types/authors.d.ts.map +1 -1
- package/dist/types/blog.d.ts +0 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts +0 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/doc.d.ts +0 -1
- package/dist/types/doc.d.ts.map +1 -1
- package/dist/types/frequentQuestions.d.ts +0 -1
- package/dist/types/frequentQuestions.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +0 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +3 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +0 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts +0 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/dist/types/legal.d.ts +0 -1
- package/dist/types/legal.d.ts.map +1 -1
- package/docs/ar/bundle_optimization.md +16 -0
- package/docs/ar/cli/index.md +1 -1
- package/docs/ar/cli/scan.md +2 -2
- package/docs/ar/configuration.md +42 -1
- package/docs/ar/how_works_intlayer.md +2 -2
- package/docs/ar/intlayer_CMS.md +14 -122
- package/docs/ar/intlayer_with_adonisjs.md +4 -4
- package/docs/ar/intlayer_with_analog.md +4 -4
- package/docs/ar/intlayer_with_angular_19.md +4 -4
- package/docs/ar/intlayer_with_angular_21.md +4 -4
- package/docs/ar/intlayer_with_astro_lit.md +7 -7
- package/docs/ar/intlayer_with_astro_preact.md +4 -4
- package/docs/ar/intlayer_with_astro_react.md +4 -4
- package/docs/ar/intlayer_with_astro_solid.md +4 -4
- package/docs/ar/intlayer_with_astro_svelte.md +4 -4
- package/docs/ar/intlayer_with_astro_vanilla.md +4 -4
- package/docs/ar/intlayer_with_astro_vue.md +4 -4
- package/docs/ar/intlayer_with_create_react_app.md +4 -4
- package/docs/ar/intlayer_with_express.md +4 -4
- package/docs/ar/intlayer_with_fastify.md +4 -4
- package/docs/ar/intlayer_with_hono.md +4 -4
- package/docs/ar/intlayer_with_lynx+react.md +4 -4
- package/docs/ar/intlayer_with_nestjs.md +4 -4
- package/docs/ar/intlayer_with_next-i18next.md +4 -4
- package/docs/ar/intlayer_with_nextjs_14.md +4 -4
- package/docs/ar/intlayer_with_nextjs_15.md +6 -8
- package/docs/ar/intlayer_with_nextjs_16.md +6 -8
- package/docs/ar/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/ar/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/ar/intlayer_with_nuxt.md +5 -5
- package/docs/ar/intlayer_with_react_native+expo.md +4 -4
- package/docs/ar/intlayer_with_react_router_v7.md +5 -5
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +5 -5
- package/docs/ar/intlayer_with_svelte_kit.md +4 -4
- package/docs/ar/intlayer_with_tanstack+solid.md +5 -5
- package/docs/ar/intlayer_with_tanstack.md +6 -7
- package/docs/ar/intlayer_with_vite+lit.md +4 -4
- package/docs/ar/intlayer_with_vite+preact.md +5 -5
- package/docs/ar/intlayer_with_vite+react.md +5 -5
- package/docs/ar/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/ar/intlayer_with_vite+solid.md +5 -5
- package/docs/ar/intlayer_with_vite+svelte.md +4 -4
- package/docs/ar/intlayer_with_vite+vanilla.md +4 -4
- package/docs/ar/intlayer_with_vite+vue.md +5 -5
- package/docs/ar/live-sync.md +174 -0
- package/docs/ar/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/ar/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/ar/releases/v9.md +128 -33
- package/docs/ar/self_hosting.md +350 -0
- package/docs/bn/bundle_optimization.md +16 -0
- package/docs/bn/cli/index.md +1 -1
- package/docs/bn/cli/scan.md +2 -2
- package/docs/bn/configuration.md +45 -1
- package/docs/bn/intlayer_CMS.md +570 -0
- package/docs/bn/intlayer_with_angular_21.md +4 -4
- package/docs/bn/intlayer_with_fastify.md +4 -4
- package/docs/bn/intlayer_with_hono.md +4 -4
- package/docs/bn/intlayer_with_vite+lit.md +4 -4
- package/docs/bn/intlayer_with_vite+vanilla.md +4 -4
- package/docs/bn/releases/v9.md +349 -0
- package/docs/cs/bundle_optimization.md +16 -0
- package/docs/cs/cli/index.md +1 -1
- package/docs/cs/cli/scan.md +2 -2
- package/docs/cs/configuration.md +45 -1
- package/docs/cs/intlayer_with_angular_21.md +4 -4
- package/docs/cs/intlayer_with_fastify.md +4 -4
- package/docs/cs/intlayer_with_hono.md +4 -4
- package/docs/cs/intlayer_with_vite+lit.md +4 -4
- package/docs/cs/intlayer_with_vite+vanilla.md +4 -4
- package/docs/cs/releases/v9.md +349 -0
- package/docs/de/bundle_optimization.md +16 -0
- package/docs/de/cli/index.md +1 -1
- package/docs/de/cli/scan.md +2 -2
- package/docs/de/configuration.md +42 -1
- package/docs/de/how_works_intlayer.md +2 -2
- package/docs/de/intlayer_CMS.md +86 -100
- package/docs/de/intlayer_with_adonisjs.md +4 -4
- package/docs/de/intlayer_with_analog.md +4 -4
- package/docs/de/intlayer_with_angular_19.md +4 -4
- package/docs/de/intlayer_with_angular_21.md +4 -4
- package/docs/de/intlayer_with_astro_lit.md +7 -7
- package/docs/de/intlayer_with_astro_preact.md +4 -4
- package/docs/de/intlayer_with_astro_react.md +4 -4
- package/docs/de/intlayer_with_astro_solid.md +4 -4
- package/docs/de/intlayer_with_astro_svelte.md +4 -4
- package/docs/de/intlayer_with_astro_vanilla.md +4 -4
- package/docs/de/intlayer_with_astro_vue.md +4 -4
- package/docs/de/intlayer_with_create_react_app.md +4 -4
- package/docs/de/intlayer_with_express.md +4 -4
- package/docs/de/intlayer_with_fastify.md +4 -4
- package/docs/de/intlayer_with_hono.md +4 -4
- package/docs/de/intlayer_with_lynx+react.md +4 -4
- package/docs/de/intlayer_with_nestjs.md +4 -4
- package/docs/de/intlayer_with_next-i18next.md +4 -4
- package/docs/de/intlayer_with_nextjs_14.md +4 -4
- package/docs/de/intlayer_with_nextjs_15.md +6 -8
- package/docs/de/intlayer_with_nextjs_16.md +6 -8
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/de/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/de/intlayer_with_nuxt.md +5 -5
- package/docs/de/intlayer_with_react_native+expo.md +4 -4
- package/docs/de/intlayer_with_react_router_v7.md +5 -5
- package/docs/de/intlayer_with_svelte_kit.md +4 -4
- package/docs/de/intlayer_with_tanstack+solid.md +5 -5
- package/docs/de/intlayer_with_tanstack.md +6 -7
- package/docs/de/intlayer_with_vite+lit.md +4 -4
- package/docs/de/intlayer_with_vite+preact.md +5 -5
- package/docs/de/intlayer_with_vite+react.md +5 -5
- package/docs/de/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/de/intlayer_with_vite+solid.md +5 -5
- package/docs/de/intlayer_with_vite+vanilla.md +4 -4
- package/docs/de/intlayer_with_vite+vue.md +5 -5
- package/docs/de/live-sync.md +174 -0
- package/docs/de/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/de/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/de/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/de/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/de/releases/v9.md +131 -33
- package/docs/de/self_hosting.md +350 -0
- package/docs/en/analytics.md +222 -0
- package/docs/en/bundle_optimization.md +16 -0
- package/docs/en/cli/index.md +1 -1
- package/docs/en/cli/scan.md +2 -2
- package/docs/en/configuration.md +42 -1
- package/docs/en/dictionary/content_file.md +2 -2
- package/docs/en/how_works_intlayer.md +2 -2
- package/docs/en/intlayer_CMS.md +143 -107
- package/docs/en/intlayer_with_adonisjs.md +4 -4
- package/docs/en/intlayer_with_analog.md +4 -4
- package/docs/en/intlayer_with_angular_19.md +4 -4
- package/docs/en/intlayer_with_angular_21.md +4 -4
- package/docs/en/intlayer_with_astro.md +4 -4
- package/docs/en/intlayer_with_astro_lit.md +7 -7
- package/docs/en/intlayer_with_astro_preact.md +4 -4
- package/docs/en/intlayer_with_astro_react.md +4 -4
- package/docs/en/intlayer_with_astro_solid.md +4 -4
- package/docs/en/intlayer_with_astro_svelte.md +4 -4
- package/docs/en/intlayer_with_astro_vanilla.md +4 -4
- package/docs/en/intlayer_with_astro_vue.md +4 -4
- package/docs/en/intlayer_with_create_react_app.md +4 -4
- package/docs/en/intlayer_with_express.md +4 -4
- package/docs/en/intlayer_with_fastify.md +4 -4
- package/docs/en/intlayer_with_hono.md +4 -4
- package/docs/en/intlayer_with_lynx+react.md +4 -4
- package/docs/en/intlayer_with_nestjs.md +4 -4
- package/docs/en/intlayer_with_next-i18next.md +4 -4
- package/docs/en/intlayer_with_nextjs_14.md +4 -4
- package/docs/en/intlayer_with_nextjs_15.md +5 -7
- package/docs/en/intlayer_with_nextjs_16.md +6 -8
- package/docs/en/intlayer_with_nextjs_compiler.md +6 -8
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/en/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/en/intlayer_with_nuxt.md +5 -5
- package/docs/en/intlayer_with_react_native+expo.md +4 -4
- package/docs/en/intlayer_with_react_router_v7.md +5 -5
- package/docs/en/intlayer_with_svelte_kit.md +4 -4
- package/docs/en/intlayer_with_tanstack+solid.md +5 -5
- package/docs/en/intlayer_with_tanstack.md +6 -7
- package/docs/en/intlayer_with_vite+lit.md +4 -4
- package/docs/en/intlayer_with_vite+preact.md +5 -5
- package/docs/en/intlayer_with_vite+react.md +5 -5
- package/docs/en/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/en/intlayer_with_vite+solid.md +5 -5
- package/docs/en/intlayer_with_vite+svelte.md +4 -4
- package/docs/en/intlayer_with_vite+vanilla.md +4 -4
- package/docs/en/intlayer_with_vite+vue.md +5 -5
- package/docs/en/live-sync.md +184 -0
- package/docs/en/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/en/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/en/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/en/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/en/releases/v9.md +124 -29
- package/docs/en/self_hosting.md +310 -0
- package/docs/en-GB/bundle_optimization.md +16 -0
- package/docs/en-GB/cli/index.md +1 -1
- package/docs/en-GB/cli/scan.md +2 -2
- package/docs/en-GB/configuration.md +42 -1
- package/docs/en-GB/how_works_intlayer.md +2 -2
- package/docs/en-GB/intlayer_CMS.md +14 -122
- package/docs/en-GB/intlayer_with_adonisjs.md +4 -4
- package/docs/en-GB/intlayer_with_analog.md +4 -4
- package/docs/en-GB/intlayer_with_angular_19.md +4 -4
- package/docs/en-GB/intlayer_with_angular_21.md +4 -4
- package/docs/en-GB/intlayer_with_astro_lit.md +7 -7
- package/docs/en-GB/intlayer_with_astro_preact.md +4 -4
- package/docs/en-GB/intlayer_with_astro_react.md +4 -4
- package/docs/en-GB/intlayer_with_astro_solid.md +4 -4
- package/docs/en-GB/intlayer_with_astro_svelte.md +4 -4
- package/docs/en-GB/intlayer_with_astro_vanilla.md +4 -4
- package/docs/en-GB/intlayer_with_astro_vue.md +4 -4
- package/docs/en-GB/intlayer_with_create_react_app.md +8 -8
- package/docs/en-GB/intlayer_with_express.md +4 -4
- package/docs/en-GB/intlayer_with_fastify.md +4 -4
- package/docs/en-GB/intlayer_with_hono.md +4 -4
- package/docs/en-GB/intlayer_with_lynx+react.md +8 -8
- package/docs/en-GB/intlayer_with_nestjs.md +4 -4
- package/docs/en-GB/intlayer_with_next-i18next.md +4 -4
- package/docs/en-GB/intlayer_with_nextjs_14.md +4 -4
- package/docs/en-GB/intlayer_with_nextjs_15.md +6 -8
- package/docs/en-GB/intlayer_with_nextjs_16.md +6 -8
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/en-GB/intlayer_with_nuxt.md +5 -5
- package/docs/en-GB/intlayer_with_react_native+expo.md +4 -4
- package/docs/en-GB/intlayer_with_react_router_v7.md +5 -5
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +5 -5
- package/docs/en-GB/intlayer_with_svelte_kit.md +4 -4
- package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -5
- package/docs/en-GB/intlayer_with_tanstack.md +6 -7
- package/docs/en-GB/intlayer_with_vite+lit.md +4 -4
- package/docs/en-GB/intlayer_with_vite+preact.md +5 -5
- package/docs/en-GB/intlayer_with_vite+react.md +5 -5
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/en-GB/intlayer_with_vite+solid.md +5 -5
- package/docs/en-GB/intlayer_with_vite+svelte.md +4 -4
- package/docs/en-GB/intlayer_with_vite+vanilla.md +4 -4
- package/docs/en-GB/intlayer_with_vite+vue.md +5 -5
- package/docs/en-GB/live-sync.md +173 -0
- package/docs/en-GB/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/en-GB/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/en-GB/releases/v9.md +117 -26
- package/docs/en-GB/self_hosting.md +350 -0
- package/docs/es/bundle_optimization.md +16 -0
- package/docs/es/cli/index.md +1 -1
- package/docs/es/cli/scan.md +2 -2
- package/docs/es/configuration.md +42 -1
- package/docs/es/how_works_intlayer.md +2 -2
- package/docs/es/intlayer_CMS.md +85 -104
- package/docs/es/intlayer_with_adonisjs.md +4 -4
- package/docs/es/intlayer_with_analog.md +4 -4
- package/docs/es/intlayer_with_angular_19.md +4 -4
- package/docs/es/intlayer_with_angular_21.md +4 -4
- package/docs/es/intlayer_with_astro_lit.md +7 -7
- package/docs/es/intlayer_with_astro_preact.md +4 -4
- package/docs/es/intlayer_with_astro_react.md +4 -4
- package/docs/es/intlayer_with_astro_solid.md +4 -4
- package/docs/es/intlayer_with_astro_svelte.md +4 -4
- package/docs/es/intlayer_with_astro_vanilla.md +4 -4
- package/docs/es/intlayer_with_astro_vue.md +4 -4
- package/docs/es/intlayer_with_create_react_app.md +4 -4
- package/docs/es/intlayer_with_express.md +4 -4
- package/docs/es/intlayer_with_fastify.md +4 -4
- package/docs/es/intlayer_with_hono.md +4 -4
- package/docs/es/intlayer_with_lynx+react.md +4 -4
- package/docs/es/intlayer_with_nestjs.md +4 -4
- package/docs/es/intlayer_with_next-i18next.md +4 -4
- package/docs/es/intlayer_with_nextjs_14.md +4 -4
- package/docs/es/intlayer_with_nextjs_15.md +6 -8
- package/docs/es/intlayer_with_nextjs_16.md +6 -8
- package/docs/es/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/es/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/es/intlayer_with_nuxt.md +5 -5
- package/docs/es/intlayer_with_react_native+expo.md +4 -4
- package/docs/es/intlayer_with_react_router_v7.md +5 -5
- package/docs/es/intlayer_with_svelte_kit.md +4 -4
- package/docs/es/intlayer_with_tanstack+solid.md +5 -5
- package/docs/es/intlayer_with_tanstack.md +6 -7
- package/docs/es/intlayer_with_vite+lit.md +4 -4
- package/docs/es/intlayer_with_vite+preact.md +5 -5
- package/docs/es/intlayer_with_vite+react.md +5 -5
- package/docs/es/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/es/intlayer_with_vite+solid.md +5 -5
- package/docs/es/intlayer_with_vite+svelte.md +4 -4
- package/docs/es/intlayer_with_vite+vanilla.md +4 -4
- package/docs/es/intlayer_with_vite+vue.md +5 -5
- package/docs/es/live-sync.md +176 -0
- package/docs/es/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/es/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/es/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/es/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/es/releases/v9.md +131 -33
- package/docs/es/self_hosting.md +350 -0
- package/docs/fr/bundle_optimization.md +16 -0
- package/docs/fr/cli/index.md +1 -1
- package/docs/fr/cli/scan.md +2 -2
- package/docs/fr/configuration.md +42 -1
- package/docs/fr/how_works_intlayer.md +2 -2
- package/docs/fr/intlayer_CMS.md +86 -100
- package/docs/fr/intlayer_with_adonisjs.md +4 -4
- package/docs/fr/intlayer_with_analog.md +4 -4
- package/docs/fr/intlayer_with_angular_19.md +4 -4
- package/docs/fr/intlayer_with_angular_21.md +4 -4
- package/docs/fr/intlayer_with_astro_lit.md +7 -7
- package/docs/fr/intlayer_with_astro_preact.md +4 -4
- package/docs/fr/intlayer_with_astro_react.md +4 -4
- package/docs/fr/intlayer_with_astro_solid.md +4 -4
- package/docs/fr/intlayer_with_astro_svelte.md +4 -4
- package/docs/fr/intlayer_with_astro_vanilla.md +4 -4
- package/docs/fr/intlayer_with_astro_vue.md +4 -4
- package/docs/fr/intlayer_with_create_react_app.md +4 -4
- package/docs/fr/intlayer_with_express.md +4 -4
- package/docs/fr/intlayer_with_fastify.md +4 -4
- package/docs/fr/intlayer_with_hono.md +4 -4
- package/docs/fr/intlayer_with_lynx+react.md +4 -4
- package/docs/fr/intlayer_with_nestjs.md +4 -4
- package/docs/fr/intlayer_with_next-i18next.md +4 -4
- package/docs/fr/intlayer_with_nextjs_14.md +4 -4
- package/docs/fr/intlayer_with_nextjs_15.md +6 -8
- package/docs/fr/intlayer_with_nextjs_16.md +6 -8
- package/docs/fr/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/fr/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/fr/intlayer_with_nuxt.md +5 -5
- package/docs/fr/intlayer_with_react_native+expo.md +4 -4
- package/docs/fr/intlayer_with_react_router_v7.md +5 -5
- package/docs/fr/intlayer_with_svelte_kit.md +4 -4
- package/docs/fr/intlayer_with_tanstack+solid.md +5 -5
- package/docs/fr/intlayer_with_tanstack.md +6 -7
- package/docs/fr/intlayer_with_vite+lit.md +4 -4
- package/docs/fr/intlayer_with_vite+preact.md +5 -5
- package/docs/fr/intlayer_with_vite+react.md +5 -5
- package/docs/fr/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/fr/intlayer_with_vite+solid.md +5 -5
- package/docs/fr/intlayer_with_vite+svelte.md +4 -4
- package/docs/fr/intlayer_with_vite+vanilla.md +4 -4
- package/docs/fr/intlayer_with_vite+vue.md +5 -5
- package/docs/fr/live-sync.md +174 -0
- package/docs/fr/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/fr/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/fr/releases/v9.md +131 -25
- package/docs/fr/self_hosting.md +350 -0
- package/docs/hi/bundle_optimization.md +16 -0
- package/docs/hi/cli/index.md +1 -1
- package/docs/hi/cli/scan.md +2 -2
- package/docs/hi/configuration.md +42 -1
- package/docs/hi/how_works_intlayer.md +2 -2
- package/docs/hi/intlayer_CMS.md +14 -122
- package/docs/hi/intlayer_with_adonisjs.md +4 -4
- package/docs/hi/intlayer_with_analog.md +4 -4
- package/docs/hi/intlayer_with_angular_19.md +4 -4
- package/docs/hi/intlayer_with_angular_21.md +4 -4
- package/docs/hi/intlayer_with_astro_vue.md +4 -4
- package/docs/hi/intlayer_with_create_react_app.md +4 -4
- package/docs/hi/intlayer_with_express.md +4 -4
- package/docs/hi/intlayer_with_fastify.md +4 -4
- package/docs/hi/intlayer_with_hono.md +4 -4
- package/docs/hi/intlayer_with_lynx+react.md +4 -4
- package/docs/hi/intlayer_with_nestjs.md +4 -4
- package/docs/hi/intlayer_with_next-i18next.md +4 -4
- package/docs/hi/intlayer_with_nextjs_14.md +4 -4
- package/docs/hi/intlayer_with_nextjs_15.md +6 -8
- package/docs/hi/intlayer_with_nextjs_16.md +6 -8
- package/docs/hi/intlayer_with_nextjs_compiler.md +4 -4
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/hi/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/hi/intlayer_with_nuxt.md +5 -5
- package/docs/hi/intlayer_with_react_native+expo.md +4 -4
- package/docs/hi/intlayer_with_react_router_v7.md +5 -5
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +5 -5
- package/docs/hi/intlayer_with_svelte_kit.md +4 -4
- package/docs/hi/intlayer_with_tanstack+solid.md +5 -5
- package/docs/hi/intlayer_with_tanstack.md +6 -7
- package/docs/hi/intlayer_with_vite+lit.md +4 -4
- package/docs/hi/intlayer_with_vite+preact.md +5 -5
- package/docs/hi/intlayer_with_vite+react.md +5 -5
- package/docs/hi/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/hi/intlayer_with_vite+solid.md +5 -5
- package/docs/hi/intlayer_with_vite+svelte.md +4 -4
- package/docs/hi/intlayer_with_vite+vanilla.md +4 -4
- package/docs/hi/intlayer_with_vite+vue.md +5 -5
- package/docs/hi/live-sync.md +174 -0
- package/docs/hi/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/hi/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/hi/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/hi/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/hi/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/hi/packages/intlayer/index.md +4 -4
- package/docs/hi/releases/v9.md +129 -33
- package/docs/hi/self_hosting.md +350 -0
- package/docs/id/bundle_optimization.md +16 -0
- package/docs/id/cli/index.md +1 -1
- package/docs/id/cli/scan.md +2 -2
- package/docs/id/configuration.md +42 -1
- package/docs/id/how_works_intlayer.md +2 -2
- package/docs/id/intlayer_CMS.md +5 -139
- package/docs/id/intlayer_with_adonisjs.md +4 -4
- package/docs/id/intlayer_with_analog.md +4 -4
- package/docs/id/intlayer_with_angular_19.md +4 -4
- package/docs/id/intlayer_with_angular_21.md +4 -4
- package/docs/id/intlayer_with_astro_lit.md +7 -7
- package/docs/id/intlayer_with_astro_preact.md +4 -4
- package/docs/id/intlayer_with_astro_react.md +4 -4
- package/docs/id/intlayer_with_astro_solid.md +4 -4
- package/docs/id/intlayer_with_astro_svelte.md +4 -4
- package/docs/id/intlayer_with_astro_vanilla.md +4 -4
- package/docs/id/intlayer_with_astro_vue.md +4 -4
- package/docs/id/intlayer_with_create_react_app.md +4 -4
- package/docs/id/intlayer_with_express.md +4 -4
- package/docs/id/intlayer_with_fastify.md +4 -4
- package/docs/id/intlayer_with_hono.md +4 -4
- package/docs/id/intlayer_with_lynx+react.md +4 -4
- package/docs/id/intlayer_with_nestjs.md +4 -4
- package/docs/id/intlayer_with_next-i18next.md +4 -4
- package/docs/id/intlayer_with_nextjs_14.md +4 -4
- package/docs/id/intlayer_with_nextjs_15.md +5 -7
- package/docs/id/intlayer_with_nextjs_16.md +6 -8
- package/docs/id/intlayer_with_nextjs_compiler.md +4 -4
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/id/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/id/intlayer_with_nuxt.md +5 -5
- package/docs/id/intlayer_with_react_native+expo.md +4 -4
- package/docs/id/intlayer_with_react_router_v7.md +5 -5
- package/docs/id/intlayer_with_svelte_kit.md +4 -4
- package/docs/id/intlayer_with_tanstack+solid.md +5 -5
- package/docs/id/intlayer_with_tanstack.md +6 -7
- package/docs/id/intlayer_with_vite+lit.md +4 -4
- package/docs/id/intlayer_with_vite+preact.md +5 -5
- package/docs/id/intlayer_with_vite+react.md +5 -5
- package/docs/id/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/id/intlayer_with_vite+solid.md +5 -5
- package/docs/id/intlayer_with_vite+svelte.md +4 -4
- package/docs/id/intlayer_with_vite+vanilla.md +4 -4
- package/docs/id/intlayer_with_vite+vue.md +5 -5
- package/docs/id/live-sync.md +185 -0
- package/docs/id/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/id/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/id/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/id/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/id/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/id/releases/v9.md +101 -33
- package/docs/id/self_hosting.md +350 -0
- package/docs/it/bundle_optimization.md +16 -0
- package/docs/it/cli/index.md +1 -1
- package/docs/it/cli/scan.md +2 -2
- package/docs/it/configuration.md +42 -1
- package/docs/it/how_works_intlayer.md +2 -2
- package/docs/it/intlayer_CMS.md +87 -94
- package/docs/it/intlayer_with_adonisjs.md +4 -4
- package/docs/it/intlayer_with_analog.md +4 -4
- package/docs/it/intlayer_with_angular_19.md +4 -4
- package/docs/it/intlayer_with_angular_21.md +4 -4
- package/docs/it/intlayer_with_astro_lit.md +7 -7
- package/docs/it/intlayer_with_astro_preact.md +4 -4
- package/docs/it/intlayer_with_astro_react.md +4 -4
- package/docs/it/intlayer_with_astro_solid.md +4 -4
- package/docs/it/intlayer_with_astro_svelte.md +4 -4
- package/docs/it/intlayer_with_astro_vanilla.md +4 -4
- package/docs/it/intlayer_with_astro_vue.md +4 -4
- package/docs/it/intlayer_with_create_react_app.md +4 -4
- package/docs/it/intlayer_with_express.md +4 -4
- package/docs/it/intlayer_with_fastify.md +4 -4
- package/docs/it/intlayer_with_hono.md +4 -4
- package/docs/it/intlayer_with_lynx+react.md +4 -4
- package/docs/it/intlayer_with_nestjs.md +4 -4
- package/docs/it/intlayer_with_next-i18next.md +4 -4
- package/docs/it/intlayer_with_nextjs_14.md +4 -4
- package/docs/it/intlayer_with_nextjs_15.md +6 -8
- package/docs/it/intlayer_with_nextjs_16.md +6 -8
- package/docs/it/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/it/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/it/intlayer_with_nuxt.md +5 -5
- package/docs/it/intlayer_with_react_native+expo.md +4 -4
- package/docs/it/intlayer_with_react_router_v7.md +5 -5
- package/docs/it/intlayer_with_svelte_kit.md +4 -4
- package/docs/it/intlayer_with_tanstack+solid.md +5 -5
- package/docs/it/intlayer_with_tanstack.md +6 -7
- package/docs/it/intlayer_with_vite+lit.md +4 -4
- package/docs/it/intlayer_with_vite+preact.md +5 -5
- package/docs/it/intlayer_with_vite+react.md +6 -6
- package/docs/it/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/it/intlayer_with_vite+solid.md +5 -5
- package/docs/it/intlayer_with_vite+svelte.md +4 -4
- package/docs/it/intlayer_with_vite+vanilla.md +4 -4
- package/docs/it/intlayer_with_vite+vue.md +5 -5
- package/docs/it/live-sync.md +174 -0
- package/docs/it/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/it/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/it/migration_from_next-intl_to_intlayer.md +4 -4
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/it/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/it/releases/v9.md +131 -33
- package/docs/it/self_hosting.md +350 -0
- package/docs/ja/bundle_optimization.md +16 -0
- package/docs/ja/cli/index.md +1 -1
- package/docs/ja/cli/scan.md +2 -2
- package/docs/ja/configuration.md +42 -1
- package/docs/ja/how_works_intlayer.md +2 -2
- package/docs/ja/intlayer_CMS.md +149 -102
- package/docs/ja/intlayer_with_adonisjs.md +4 -4
- package/docs/ja/intlayer_with_analog.md +4 -4
- package/docs/ja/intlayer_with_angular_19.md +4 -4
- package/docs/ja/intlayer_with_angular_21.md +4 -4
- package/docs/ja/intlayer_with_astro_lit.md +7 -7
- package/docs/ja/intlayer_with_astro_preact.md +4 -4
- package/docs/ja/intlayer_with_astro_react.md +4 -4
- package/docs/ja/intlayer_with_astro_solid.md +4 -4
- package/docs/ja/intlayer_with_astro_svelte.md +4 -4
- package/docs/ja/intlayer_with_astro_vanilla.md +4 -4
- package/docs/ja/intlayer_with_astro_vue.md +4 -4
- package/docs/ja/intlayer_with_create_react_app.md +4 -4
- package/docs/ja/intlayer_with_express.md +4 -4
- package/docs/ja/intlayer_with_fastify.md +4 -4
- package/docs/ja/intlayer_with_hono.md +4 -4
- package/docs/ja/intlayer_with_lynx+react.md +4 -4
- package/docs/ja/intlayer_with_nestjs.md +4 -4
- package/docs/ja/intlayer_with_next-i18next.md +4 -4
- package/docs/ja/intlayer_with_nextjs_14.md +4 -4
- package/docs/ja/intlayer_with_nextjs_15.md +6 -8
- package/docs/ja/intlayer_with_nextjs_16.md +6 -8
- package/docs/ja/intlayer_with_nextjs_compiler.md +4 -4
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/ja/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/ja/intlayer_with_nuxt.md +5 -5
- package/docs/ja/intlayer_with_react_native+expo.md +4 -4
- package/docs/ja/intlayer_with_tanstack+solid.md +5 -5
- package/docs/ja/intlayer_with_tanstack.md +6 -7
- package/docs/ja/intlayer_with_vite+lit.md +4 -4
- package/docs/ja/intlayer_with_vite+preact.md +5 -5
- package/docs/ja/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/ja/intlayer_with_vite+solid.md +5 -5
- package/docs/ja/intlayer_with_vite+svelte.md +4 -4
- package/docs/ja/intlayer_with_vite+vanilla.md +4 -4
- package/docs/ja/intlayer_with_vite+vue.md +5 -5
- package/docs/ja/live-sync.md +185 -0
- package/docs/ja/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/ja/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/ja/releases/v9.md +101 -33
- package/docs/ja/self_hosting.md +350 -0
- package/docs/ko/bundle_optimization.md +16 -0
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/cli/scan.md +2 -2
- package/docs/ko/configuration.md +42 -1
- package/docs/ko/how_works_intlayer.md +2 -2
- package/docs/ko/intlayer_CMS.md +147 -100
- package/docs/ko/intlayer_with_adonisjs.md +4 -4
- package/docs/ko/intlayer_with_analog.md +4 -4
- package/docs/ko/intlayer_with_angular_19.md +4 -4
- package/docs/ko/intlayer_with_angular_21.md +4 -4
- package/docs/ko/intlayer_with_astro_vue.md +4 -4
- package/docs/ko/intlayer_with_create_react_app.md +4 -4
- package/docs/ko/intlayer_with_express.md +4 -4
- package/docs/ko/intlayer_with_fastify.md +4 -4
- package/docs/ko/intlayer_with_hono.md +4 -4
- package/docs/ko/intlayer_with_nestjs.md +4 -4
- package/docs/ko/intlayer_with_next-i18next.md +4 -4
- package/docs/ko/intlayer_with_nextjs_15.md +6 -8
- package/docs/ko/intlayer_with_nextjs_16.md +6 -8
- package/docs/ko/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/ko/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/ko/intlayer_with_nuxt.md +5 -5
- package/docs/ko/intlayer_with_react_native+expo.md +4 -4
- package/docs/ko/intlayer_with_react_router_v7.md +5 -5
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +5 -5
- package/docs/ko/intlayer_with_svelte_kit.md +4 -4
- package/docs/ko/intlayer_with_tanstack+solid.md +5 -5
- package/docs/ko/intlayer_with_tanstack.md +6 -7
- package/docs/ko/intlayer_with_vite+lit.md +4 -4
- package/docs/ko/intlayer_with_vite+preact.md +5 -5
- package/docs/ko/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/ko/intlayer_with_vite+solid.md +5 -5
- package/docs/ko/intlayer_with_vite+svelte.md +4 -4
- package/docs/ko/intlayer_with_vite+vanilla.md +4 -4
- package/docs/ko/intlayer_with_vite+vue.md +5 -5
- package/docs/ko/live-sync.md +187 -0
- package/docs/ko/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/ko/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/ko/releases/v9.md +100 -33
- package/docs/ko/self_hosting.md +350 -0
- package/docs/nl/bundle_optimization.md +16 -0
- package/docs/nl/cli/index.md +1 -1
- package/docs/nl/cli/scan.md +2 -2
- package/docs/nl/configuration.md +45 -1
- package/docs/nl/intlayer_with_angular_21.md +4 -4
- package/docs/nl/intlayer_with_fastify.md +4 -4
- package/docs/nl/intlayer_with_hono.md +4 -4
- package/docs/nl/intlayer_with_vite+lit.md +4 -4
- package/docs/nl/intlayer_with_vite+vanilla.md +4 -4
- package/docs/nl/releases/v9.md +349 -0
- package/docs/pl/bundle_optimization.md +16 -0
- package/docs/pl/cli/index.md +1 -1
- package/docs/pl/cli/scan.md +2 -2
- package/docs/pl/configuration.md +45 -1
- package/docs/pl/how_works_intlayer.md +2 -2
- package/docs/pl/intlayer_CMS.md +14 -133
- package/docs/pl/intlayer_with_adonisjs.md +4 -4
- package/docs/pl/intlayer_with_analog.md +4 -4
- package/docs/pl/intlayer_with_angular_19.md +4 -4
- package/docs/pl/intlayer_with_angular_21.md +4 -4
- package/docs/pl/intlayer_with_astro_lit.md +7 -7
- package/docs/pl/intlayer_with_astro_preact.md +4 -4
- package/docs/pl/intlayer_with_astro_react.md +4 -4
- package/docs/pl/intlayer_with_astro_solid.md +4 -4
- package/docs/pl/intlayer_with_astro_svelte.md +4 -4
- package/docs/pl/intlayer_with_astro_vanilla.md +4 -4
- package/docs/pl/intlayer_with_astro_vue.md +4 -4
- package/docs/pl/intlayer_with_create_react_app.md +4 -4
- package/docs/pl/intlayer_with_express.md +4 -4
- package/docs/pl/intlayer_with_fastify.md +4 -4
- package/docs/pl/intlayer_with_hono.md +4 -4
- package/docs/pl/intlayer_with_lynx+react.md +4 -4
- package/docs/pl/intlayer_with_nestjs.md +4 -4
- package/docs/pl/intlayer_with_next-i18next.md +4 -4
- package/docs/pl/intlayer_with_nextjs_14.md +4 -4
- package/docs/pl/intlayer_with_nextjs_15.md +5 -7
- package/docs/pl/intlayer_with_nextjs_16.md +6 -8
- package/docs/pl/intlayer_with_nextjs_compiler.md +4 -4
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/pl/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/pl/intlayer_with_nuxt.md +5 -5
- package/docs/pl/intlayer_with_react_native+expo.md +4 -4
- package/docs/pl/intlayer_with_react_router_v7.md +5 -5
- package/docs/pl/intlayer_with_svelte_kit.md +4 -4
- package/docs/pl/intlayer_with_tanstack+solid.md +5 -5
- package/docs/pl/intlayer_with_tanstack.md +6 -7
- package/docs/pl/intlayer_with_vite+lit.md +4 -4
- package/docs/pl/intlayer_with_vite+preact.md +5 -5
- package/docs/pl/intlayer_with_vite+react.md +5 -5
- package/docs/pl/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/pl/intlayer_with_vite+solid.md +5 -5
- package/docs/pl/intlayer_with_vite+svelte.md +4 -4
- package/docs/pl/intlayer_with_vite+vanilla.md +4 -4
- package/docs/pl/intlayer_with_vite+vue.md +5 -5
- package/docs/pl/live-sync.md +185 -0
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/pl/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/pl/releases/v9.md +128 -33
- package/docs/pl/self_hosting.md +350 -0
- package/docs/pt/bundle_optimization.md +16 -0
- package/docs/pt/cli/index.md +1 -1
- package/docs/pt/cli/scan.md +2 -2
- package/docs/pt/configuration.md +45 -1
- package/docs/pt/how_works_intlayer.md +2 -2
- package/docs/pt/intlayer_CMS.md +87 -109
- package/docs/pt/intlayer_with_adonisjs.md +4 -4
- package/docs/pt/intlayer_with_analog.md +4 -4
- package/docs/pt/intlayer_with_angular_19.md +4 -4
- package/docs/pt/intlayer_with_angular_21.md +4 -4
- package/docs/pt/intlayer_with_astro_lit.md +7 -7
- package/docs/pt/intlayer_with_astro_preact.md +4 -4
- package/docs/pt/intlayer_with_astro_react.md +4 -4
- package/docs/pt/intlayer_with_astro_solid.md +4 -4
- package/docs/pt/intlayer_with_astro_svelte.md +4 -4
- package/docs/pt/intlayer_with_astro_vanilla.md +4 -4
- package/docs/pt/intlayer_with_astro_vue.md +4 -4
- package/docs/pt/intlayer_with_create_react_app.md +4 -4
- package/docs/pt/intlayer_with_express.md +4 -4
- package/docs/pt/intlayer_with_fastify.md +4 -4
- package/docs/pt/intlayer_with_hono.md +4 -4
- package/docs/pt/intlayer_with_lynx+react.md +4 -4
- package/docs/pt/intlayer_with_nestjs.md +4 -4
- package/docs/pt/intlayer_with_next-i18next.md +4 -4
- package/docs/pt/intlayer_with_nextjs_14.md +4 -4
- package/docs/pt/intlayer_with_nextjs_15.md +6 -8
- package/docs/pt/intlayer_with_nextjs_16.md +6 -8
- package/docs/pt/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/pt/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/pt/intlayer_with_nuxt.md +5 -5
- package/docs/pt/intlayer_with_react_native+expo.md +4 -4
- package/docs/pt/intlayer_with_react_router_v7.md +5 -5
- package/docs/pt/intlayer_with_svelte_kit.md +4 -4
- package/docs/pt/intlayer_with_tanstack+solid.md +5 -5
- package/docs/pt/intlayer_with_tanstack.md +6 -7
- package/docs/pt/intlayer_with_vite+lit.md +4 -4
- package/docs/pt/intlayer_with_vite+preact.md +5 -5
- package/docs/pt/intlayer_with_vite+react.md +5 -5
- package/docs/pt/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/pt/intlayer_with_vite+solid.md +5 -5
- package/docs/pt/intlayer_with_vite+svelte.md +4 -4
- package/docs/pt/intlayer_with_vite+vanilla.md +4 -4
- package/docs/pt/intlayer_with_vite+vue.md +5 -5
- package/docs/pt/live-sync.md +174 -0
- package/docs/pt/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/pt/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/pt/releases/v9.md +131 -33
- package/docs/pt/self_hosting.md +350 -0
- package/docs/ru/bundle_optimization.md +16 -0
- package/docs/ru/cli/index.md +1 -1
- package/docs/ru/cli/scan.md +2 -2
- package/docs/ru/configuration.md +42 -1
- package/docs/ru/how_works_intlayer.md +2 -2
- package/docs/ru/intlayer_CMS.md +149 -102
- package/docs/ru/intlayer_with_adonisjs.md +4 -4
- package/docs/ru/intlayer_with_analog.md +4 -4
- package/docs/ru/intlayer_with_angular_19.md +4 -4
- package/docs/ru/intlayer_with_angular_21.md +4 -4
- package/docs/ru/intlayer_with_astro_vue.md +4 -4
- package/docs/ru/intlayer_with_create_react_app.md +4 -4
- package/docs/ru/intlayer_with_express.md +4 -4
- package/docs/ru/intlayer_with_fastify.md +4 -4
- package/docs/ru/intlayer_with_hono.md +4 -4
- package/docs/ru/intlayer_with_lynx+react.md +4 -4
- package/docs/ru/intlayer_with_nestjs.md +4 -4
- package/docs/ru/intlayer_with_next-i18next.md +4 -4
- package/docs/ru/intlayer_with_nextjs_14.md +4 -4
- package/docs/ru/intlayer_with_nextjs_15.md +6 -8
- package/docs/ru/intlayer_with_nextjs_16.md +6 -8
- package/docs/ru/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/ru/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/ru/intlayer_with_nuxt.md +5 -5
- package/docs/ru/intlayer_with_react_native+expo.md +4 -4
- package/docs/ru/intlayer_with_react_router_v7.md +5 -5
- package/docs/ru/intlayer_with_svelte_kit.md +4 -4
- package/docs/ru/intlayer_with_tanstack+solid.md +5 -5
- package/docs/ru/intlayer_with_tanstack.md +6 -7
- package/docs/ru/intlayer_with_vite+lit.md +4 -4
- package/docs/ru/intlayer_with_vite+preact.md +5 -5
- package/docs/ru/intlayer_with_vite+react.md +5 -5
- package/docs/ru/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/ru/intlayer_with_vite+solid.md +5 -5
- package/docs/ru/intlayer_with_vite+svelte.md +4 -4
- package/docs/ru/intlayer_with_vite+vanilla.md +4 -4
- package/docs/ru/intlayer_with_vite+vue.md +5 -5
- package/docs/ru/live-sync.md +185 -0
- package/docs/ru/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/ru/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/ru/releases/v9.md +129 -33
- package/docs/ru/self_hosting.md +350 -0
- package/docs/tr/bundle_optimization.md +16 -0
- package/docs/tr/cli/index.md +1 -1
- package/docs/tr/cli/scan.md +2 -2
- package/docs/tr/configuration.md +42 -1
- package/docs/tr/how_works_intlayer.md +2 -2
- package/docs/tr/intlayer_CMS.md +14 -121
- package/docs/tr/intlayer_with_adonisjs.md +4 -4
- package/docs/tr/intlayer_with_analog.md +4 -4
- package/docs/tr/intlayer_with_angular_19.md +4 -4
- package/docs/tr/intlayer_with_angular_21.md +4 -4
- package/docs/tr/intlayer_with_astro_lit.md +7 -7
- package/docs/tr/intlayer_with_astro_preact.md +4 -4
- package/docs/tr/intlayer_with_astro_react.md +4 -4
- package/docs/tr/intlayer_with_astro_solid.md +4 -4
- package/docs/tr/intlayer_with_astro_svelte.md +4 -4
- package/docs/tr/intlayer_with_astro_vanilla.md +4 -4
- package/docs/tr/intlayer_with_astro_vue.md +4 -4
- package/docs/tr/intlayer_with_create_react_app.md +4 -4
- package/docs/tr/intlayer_with_express.md +4 -4
- package/docs/tr/intlayer_with_fastify.md +4 -4
- package/docs/tr/intlayer_with_hono.md +4 -4
- package/docs/tr/intlayer_with_lynx+react.md +4 -4
- package/docs/tr/intlayer_with_nestjs.md +4 -4
- package/docs/tr/intlayer_with_next-i18next.md +4 -4
- package/docs/tr/intlayer_with_nextjs_14.md +4 -4
- package/docs/tr/intlayer_with_nextjs_15.md +6 -8
- package/docs/tr/intlayer_with_nextjs_16.md +6 -8
- package/docs/tr/intlayer_with_nextjs_compiler.md +4 -4
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/tr/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/tr/intlayer_with_nuxt.md +5 -5
- package/docs/tr/intlayer_with_react_native+expo.md +4 -4
- package/docs/tr/intlayer_with_react_router_v7.md +5 -5
- package/docs/tr/intlayer_with_svelte_kit.md +4 -4
- package/docs/tr/intlayer_with_tanstack+solid.md +5 -5
- package/docs/tr/intlayer_with_tanstack.md +6 -7
- package/docs/tr/intlayer_with_vite+lit.md +4 -4
- package/docs/tr/intlayer_with_vite+preact.md +5 -5
- package/docs/tr/intlayer_with_vite+react.md +5 -5
- package/docs/tr/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/tr/intlayer_with_vite+solid.md +5 -5
- package/docs/tr/intlayer_with_vite+svelte.md +4 -4
- package/docs/tr/intlayer_with_vite+vanilla.md +4 -4
- package/docs/tr/intlayer_with_vite+vue.md +5 -5
- package/docs/tr/live-sync.md +173 -0
- package/docs/tr/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/tr/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/tr/releases/v9.md +116 -33
- package/docs/tr/self_hosting.md +350 -0
- package/docs/uk/bundle_optimization.md +16 -0
- package/docs/uk/cli/index.md +1 -1
- package/docs/uk/cli/scan.md +2 -2
- package/docs/uk/configuration.md +42 -1
- package/docs/uk/how_works_intlayer.md +2 -2
- package/docs/uk/intlayer_CMS.md +14 -133
- package/docs/uk/intlayer_with_adonisjs.md +4 -4
- package/docs/uk/intlayer_with_analog.md +4 -4
- package/docs/uk/intlayer_with_angular_19.md +4 -4
- package/docs/uk/intlayer_with_angular_21.md +4 -4
- package/docs/uk/intlayer_with_astro_lit.md +7 -7
- package/docs/uk/intlayer_with_astro_preact.md +4 -4
- package/docs/uk/intlayer_with_astro_react.md +4 -4
- package/docs/uk/intlayer_with_astro_solid.md +4 -4
- package/docs/uk/intlayer_with_astro_svelte.md +4 -4
- package/docs/uk/intlayer_with_astro_vanilla.md +4 -4
- package/docs/uk/intlayer_with_astro_vue.md +4 -4
- package/docs/uk/intlayer_with_create_react_app.md +4 -4
- package/docs/uk/intlayer_with_express.md +4 -4
- package/docs/uk/intlayer_with_fastify.md +4 -4
- package/docs/uk/intlayer_with_hono.md +4 -4
- package/docs/uk/intlayer_with_lynx+react.md +4 -4
- package/docs/uk/intlayer_with_nestjs.md +4 -4
- package/docs/uk/intlayer_with_next-i18next.md +4 -4
- package/docs/uk/intlayer_with_nextjs_14.md +4 -4
- package/docs/uk/intlayer_with_nextjs_15.md +6 -8
- package/docs/uk/intlayer_with_nextjs_16.md +6 -8
- package/docs/uk/intlayer_with_nextjs_compiler.md +4 -4
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/uk/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/uk/intlayer_with_nuxt.md +5 -5
- package/docs/uk/intlayer_with_react_native+expo.md +4 -4
- package/docs/uk/intlayer_with_react_router_v7.md +5 -5
- package/docs/uk/intlayer_with_svelte_kit.md +4 -4
- package/docs/uk/intlayer_with_tanstack+solid.md +5 -5
- package/docs/uk/intlayer_with_tanstack.md +6 -7
- package/docs/uk/intlayer_with_vite+lit.md +4 -4
- package/docs/uk/intlayer_with_vite+preact.md +5 -5
- package/docs/uk/intlayer_with_vite+react.md +5 -5
- package/docs/uk/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/uk/intlayer_with_vite+solid.md +5 -5
- package/docs/uk/intlayer_with_vite+svelte.md +4 -4
- package/docs/uk/intlayer_with_vite+vanilla.md +4 -4
- package/docs/uk/intlayer_with_vite+vue.md +5 -5
- package/docs/uk/live-sync.md +185 -0
- package/docs/uk/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/uk/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/uk/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/uk/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/uk/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/uk/releases/v9.md +128 -33
- package/docs/uk/self_hosting.md +350 -0
- package/docs/ur/bundle_optimization.md +16 -0
- package/docs/ur/cli/index.md +1 -1
- package/docs/ur/cli/scan.md +2 -2
- package/docs/ur/configuration.md +45 -1
- package/docs/ur/intlayer_with_angular_21.md +4 -4
- package/docs/ur/intlayer_with_fastify.md +4 -4
- package/docs/ur/intlayer_with_hono.md +4 -4
- package/docs/ur/intlayer_with_vite+lit.md +4 -4
- package/docs/ur/intlayer_with_vite+vanilla.md +4 -4
- package/docs/vi/bundle_optimization.md +16 -0
- package/docs/vi/cli/index.md +1 -1
- package/docs/vi/cli/scan.md +2 -2
- package/docs/vi/configuration.md +42 -1
- package/docs/vi/how_works_intlayer.md +2 -2
- package/docs/vi/intlayer_CMS.md +5 -139
- package/docs/vi/intlayer_with_adonisjs.md +4 -4
- package/docs/vi/intlayer_with_analog.md +4 -4
- package/docs/vi/intlayer_with_angular_19.md +4 -4
- package/docs/vi/intlayer_with_angular_21.md +4 -4
- package/docs/vi/intlayer_with_astro_lit.md +7 -7
- package/docs/vi/intlayer_with_astro_preact.md +4 -4
- package/docs/vi/intlayer_with_astro_react.md +4 -4
- package/docs/vi/intlayer_with_astro_solid.md +4 -4
- package/docs/vi/intlayer_with_astro_svelte.md +4 -4
- package/docs/vi/intlayer_with_astro_vanilla.md +4 -4
- package/docs/vi/intlayer_with_astro_vue.md +4 -4
- package/docs/vi/intlayer_with_create_react_app.md +4 -4
- package/docs/vi/intlayer_with_express.md +4 -4
- package/docs/vi/intlayer_with_fastify.md +4 -4
- package/docs/vi/intlayer_with_hono.md +4 -4
- package/docs/vi/intlayer_with_lynx+react.md +4 -4
- package/docs/vi/intlayer_with_nestjs.md +4 -4
- package/docs/vi/intlayer_with_next-i18next.md +4 -4
- package/docs/vi/intlayer_with_nextjs_14.md +4 -4
- package/docs/vi/intlayer_with_nextjs_15.md +5 -7
- package/docs/vi/intlayer_with_nextjs_16.md +6 -8
- package/docs/vi/intlayer_with_nextjs_compiler.md +4 -4
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/vi/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/vi/intlayer_with_nuxt.md +5 -5
- package/docs/vi/intlayer_with_react_native+expo.md +4 -4
- package/docs/vi/intlayer_with_react_router_v7.md +5 -5
- package/docs/vi/intlayer_with_svelte_kit.md +4 -4
- package/docs/vi/intlayer_with_tanstack+solid.md +5 -5
- package/docs/vi/intlayer_with_tanstack.md +6 -7
- package/docs/vi/intlayer_with_vite+lit.md +4 -4
- package/docs/vi/intlayer_with_vite+preact.md +5 -5
- package/docs/vi/intlayer_with_vite+react.md +5 -5
- package/docs/vi/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/vi/intlayer_with_vite+solid.md +5 -5
- package/docs/vi/intlayer_with_vite+svelte.md +4 -4
- package/docs/vi/intlayer_with_vite+vanilla.md +4 -4
- package/docs/vi/intlayer_with_vite+vue.md +5 -5
- package/docs/vi/live-sync.md +185 -0
- package/docs/vi/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/vi/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/vi/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/vi/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/vi/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/vi/releases/v9.md +101 -33
- package/docs/vi/self_hosting.md +350 -0
- package/docs/zh/bundle_optimization.md +16 -0
- package/docs/zh/cli/index.md +1 -1
- package/docs/zh/cli/scan.md +2 -2
- package/docs/zh/configuration.md +42 -1
- package/docs/zh/how_works_intlayer.md +2 -2
- package/docs/zh/intlayer_CMS.md +5 -129
- package/docs/zh/intlayer_with_adonisjs.md +4 -4
- package/docs/zh/intlayer_with_angular_21.md +4 -4
- package/docs/zh/intlayer_with_astro.md +4 -4
- package/docs/zh/intlayer_with_astro_lit.md +7 -7
- package/docs/zh/intlayer_with_astro_preact.md +4 -4
- package/docs/zh/intlayer_with_astro_react.md +4 -4
- package/docs/zh/intlayer_with_astro_solid.md +4 -4
- package/docs/zh/intlayer_with_astro_svelte.md +4 -4
- package/docs/zh/intlayer_with_astro_vanilla.md +4 -4
- package/docs/zh/intlayer_with_astro_vue.md +4 -4
- package/docs/zh/intlayer_with_create_react_app.md +4 -4
- package/docs/zh/intlayer_with_express.md +4 -4
- package/docs/zh/intlayer_with_fastify.md +4 -4
- package/docs/zh/intlayer_with_hono.md +4 -4
- package/docs/zh/intlayer_with_nestjs.md +4 -4
- package/docs/zh/intlayer_with_next-i18next.md +4 -4
- package/docs/zh/intlayer_with_nextjs_14.md +4 -4
- package/docs/zh/intlayer_with_nextjs_15.md +6 -8
- package/docs/zh/intlayer_with_nextjs_16.md +6 -8
- package/docs/zh/intlayer_with_nextjs_compiler.md +5 -7
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +6 -8
- package/docs/zh/intlayer_with_nextjs_page_router.md +4 -4
- package/docs/zh/intlayer_with_react_native+expo.md +4 -4
- package/docs/zh/intlayer_with_react_router_v7.md +5 -5
- package/docs/zh/intlayer_with_vite+solid.md +5 -5
- package/docs/zh/intlayer_with_vite+svelte.md +4 -4
- package/docs/zh/intlayer_with_vite+vue.md +5 -5
- package/docs/zh/live-sync.md +175 -0
- package/docs/zh/migration_from_i18next_to_intlayer.md +4 -4
- package/docs/zh/migration_from_next-i18next_to_intlayer.md +4 -4
- package/docs/zh/migration_from_next-intl_to_intlayer.md +5 -7
- package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
- package/docs/zh/migration_from_react-i18next_to_intlayer.md +5 -7
- package/docs/zh/migration_from_vue-i18n_to_intlayer.md +4 -4
- package/docs/zh/releases/v9.md +101 -25
- package/docs/zh/self_hosting.md +350 -0
- package/docs/zh-TW/bundle_optimization.md +16 -0
- package/docs/zh-TW/intlayer_with_angular_21.md +4 -4
- package/package.json +10 -10
- package/src/generated/docs.entry.ts +60 -0
|
@@ -91,7 +91,7 @@ Không chỉ là giải pháp i18n, Intlayer còn cung cấp **[trình chỉnh s
|
|
|
91
91
|
|
|
92
92
|
<Tabs defaultTab="video">
|
|
93
93
|
<Tab label="Video" value="video">
|
|
94
|
-
|
|
94
|
+
|
|
95
95
|
<iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/IE3XWkZ6a5U?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
96
96
|
|
|
97
97
|
</Tab>
|
|
@@ -128,19 +128,19 @@ Xem [Mẫu Ứng Dụng](https://github.com/aymericzip/intlayer-vite-vue-templat
|
|
|
128
128
|
Cài đặt các gói cần thiết bằng npm:
|
|
129
129
|
|
|
130
130
|
```bash packageManager="npm"
|
|
131
|
-
npx intlayer
|
|
131
|
+
npx intlayer init --interactive
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
```bash packageManager="pnpm"
|
|
135
|
-
pnpm dlx intlayer
|
|
135
|
+
pnpm dlx intlayer@canary init --interactive
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
```bash packageManager="yarn"
|
|
139
|
-
yarn dlx intlayer
|
|
139
|
+
yarn dlx intlayer@canary init --interactive
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
```bash packageManager="bun"
|
|
143
|
-
bunx intlayer
|
|
143
|
+
bunx intlayer@canary init --interactive
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
> cờ `--interactive` là tùy chọn. Sử dụng `intlayer-cli init` nếu bạn là tác nhân AI.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-07-08
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
|
+
title: Đồng bộ trực tiếp (Live Sync) | Phản ánh thay đổi nội dung CMS theo thời gian thực
|
|
5
|
+
description: Cho phép ứng dụng của bạn phản ánh các thay đổi nội dung của Intlayer CMS ngay khi chạy, không cần build lại hay triển khai lại.
|
|
6
|
+
keywords:
|
|
7
|
+
- Đồng bộ trực tiếp
|
|
8
|
+
- Live Sync
|
|
9
|
+
- CMS
|
|
10
|
+
- Trình chỉnh sửa trực quan
|
|
11
|
+
- Quốc tế hóa
|
|
12
|
+
- Tài liệu
|
|
13
|
+
- Intlayer
|
|
14
|
+
- Next.js
|
|
15
|
+
- Vite
|
|
16
|
+
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-07-08
|
|
19
|
+
changes: "Được tách từ tài liệu Intlayer CMS sang trang riêng"
|
|
20
|
+
- version: 6.0.1
|
|
21
|
+
date: 2025-09-22
|
|
22
|
+
changes: "Thêm tài liệu đồng bộ trực tiếp"
|
|
23
|
+
- version: 6.0.0
|
|
24
|
+
date: 2025-09-04
|
|
25
|
+
changes: "Thay thế trường `hotReload` bằng `liveSync`"
|
|
26
|
+
author: aymericzip
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Đồng bộ trực tiếp (Live sync)
|
|
30
|
+
|
|
31
|
+
Live Sync cho phép ứng dụng của bạn phản ánh các thay đổi nội dung CMS trong thời gian chạy. Không cần xây dựng lại hoặc triển khai lại. Khi được bật, các cập nhật sẽ được truyền đến máy chủ Live Sync để làm mới các từ điển mà ứng dụng của bạn đang đọc.
|
|
32
|
+
|
|
33
|
+
## Mục lục
|
|
34
|
+
|
|
35
|
+
<TOC/>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Bật Đồng bộ trực tiếp
|
|
40
|
+
|
|
41
|
+
Bật Live Sync bằng cách cập nhật cấu hình Intlayer của bạn:
|
|
42
|
+
|
|
43
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
44
|
+
import type { IntlayerConfig } from "intlayer";
|
|
45
|
+
|
|
46
|
+
const config: IntlayerConfig = {
|
|
47
|
+
// ... các thiết lập cấu hình khác
|
|
48
|
+
editor: {
|
|
49
|
+
/**
|
|
50
|
+
* Bật tính năng tải lại nóng (hot reloading) cấu hình locale khi phát hiện thay đổi.
|
|
51
|
+
* Ví dụ, khi một từ điển được thêm hoặc cập nhật, ứng dụng sẽ cập nhật
|
|
52
|
+
* nội dung hiển thị trên trang.
|
|
53
|
+
*
|
|
54
|
+
* Vì tải lại nóng yêu cầu kết nối liên tục với máy chủ,
|
|
55
|
+
* tính năng này chỉ có sẵn cho khách hàng của gói `enterprise`.
|
|
56
|
+
*
|
|
57
|
+
* Mặc định: false
|
|
58
|
+
*/
|
|
59
|
+
liveSync: true,
|
|
60
|
+
},
|
|
61
|
+
dictionary: {
|
|
62
|
+
/**
|
|
63
|
+
* Điều khiển cách các từ điển được nhập khẩu:
|
|
64
|
+
*
|
|
65
|
+
* - "live": Các từ điển được lấy động bằng cách sử dụng Live Sync API.
|
|
66
|
+
* Thay thế useIntlayer bằng useDictionaryDynamic.
|
|
67
|
+
*
|
|
68
|
+
* Lưu ý: Chế độ live sử dụng Live Sync API để lấy từ điển. Nếu cuộc gọi API
|
|
69
|
+
* thất bại, các từ điển sẽ được nhập khẩu động.
|
|
70
|
+
* Lưu ý: Chỉ các từ điển có nội dung từ xa và cờ "live" mới sử dụng chế độ live.
|
|
71
|
+
* Các từ điển khác sử dụng chế độ động để tối ưu hiệu năng.
|
|
72
|
+
*/
|
|
73
|
+
importMode: "fetch",
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export default config;
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Khởi động server Live Sync để bao bọc ứng dụng của bạn:
|
|
81
|
+
|
|
82
|
+
Ví dụ sử dụng server độc lập:
|
|
83
|
+
|
|
84
|
+
```json5 fileName="package.json"
|
|
85
|
+
{
|
|
86
|
+
"scripts": {
|
|
87
|
+
// ... các script khác
|
|
88
|
+
"live:start": "npx intlayer live",
|
|
89
|
+
},
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Bạn cũng có thể sử dụng server ứng dụng của mình song song bằng cách sử dụng đối số `--process`.
|
|
94
|
+
|
|
95
|
+
Ví dụ sử dụng Next.js:
|
|
96
|
+
|
|
97
|
+
```json5 fileName="package.json"
|
|
98
|
+
{
|
|
99
|
+
"scripts": {
|
|
100
|
+
// ... các script khác
|
|
101
|
+
"build": "next build",
|
|
102
|
+
"dev": "next dev",
|
|
103
|
+
"start": "npx intlayer live --with 'next start'",
|
|
104
|
+
},
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Ví dụ sử dụng Vite:
|
|
109
|
+
|
|
110
|
+
```json5 fileName="package.json"
|
|
111
|
+
{
|
|
112
|
+
"scripts": {
|
|
113
|
+
// ... các script khác
|
|
114
|
+
"build": "vite build",
|
|
115
|
+
"dev": "vite dev",
|
|
116
|
+
"start": "npx intlayer live --with 'vite start'",
|
|
117
|
+
},
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Server Live Sync bao bọc ứng dụng của bạn và tự động áp dụng nội dung cập nhật khi nó đến.
|
|
122
|
+
|
|
123
|
+
Để nhận thông báo thay đổi từ CMS, server Live Sync duy trì một kết nối SSE đến backend. Khi nội dung thay đổi trong CMS, backend chuyển tiếp bản cập nhật đến server Live Sync, server này sẽ ghi các từ điển mới. Ứng dụng của bạn sẽ phản ánh bản cập nhật trong lần điều hướng tiếp theo hoặc khi tải lại trình duyệt, không cần phải xây dựng lại.
|
|
124
|
+
|
|
125
|
+
Sơ đồ luồng (CMS/Backend -> Live Sync Server -> Application Server -> Frontend):
|
|
126
|
+
|
|
127
|
+

|
|
128
|
+
|
|
129
|
+
Cách hoạt động:
|
|
130
|
+
|
|
131
|
+

|
|
132
|
+
|
|
133
|
+
## Quy trình phát triển (cục bộ)
|
|
134
|
+
|
|
135
|
+
- Trong quá trình phát triển, tất cả các từ điển từ xa được lấy khi ứng dụng khởi động, giúp bạn có thể kiểm tra các cập nhật nhanh chóng.
|
|
136
|
+
- Để thử nghiệm Live Sync cục bộ với Next.js, hãy bao bọc server phát triển của bạn:
|
|
137
|
+
|
|
138
|
+
```json5 fileName="package.json"
|
|
139
|
+
{
|
|
140
|
+
"scripts": {
|
|
141
|
+
// ... các script khác
|
|
142
|
+
"dev": "npx intlayer live --with 'next dev'",
|
|
143
|
+
// "dev": "npx intlayer live --with 'vite dev'", // Dành cho Vite
|
|
144
|
+
},
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Bật tối ưu hóa để Intlayer áp dụng các biến đổi nhập khẩu Live trong quá trình phát triển:
|
|
149
|
+
|
|
150
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
151
|
+
import type { IntlayerConfig } from "intlayer";
|
|
152
|
+
|
|
153
|
+
const config: IntlayerConfig = {
|
|
154
|
+
editor: {
|
|
155
|
+
applicationURL: "http://localhost:5173",
|
|
156
|
+
liveSyncURL: "http://localhost:4000",
|
|
157
|
+
liveSync: true,
|
|
158
|
+
},
|
|
159
|
+
dictionary: {
|
|
160
|
+
importMode: "fetch",
|
|
161
|
+
},
|
|
162
|
+
build: {
|
|
163
|
+
optimize: true,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export default config;
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Cấu hình này bao bọc server phát triển của bạn với server Live Sync, lấy các từ điển từ xa khi khởi động, và truyền các cập nhật từ CMS qua SSE. Tải lại trang để xem các thay đổi.
|
|
171
|
+
|
|
172
|
+
## Ghi chú và hạn chế
|
|
173
|
+
|
|
174
|
+
- Thêm nguồn gốc live sync vào chính sách bảo mật trang web của bạn (CSP). Đảm bảo URL live sync được phép trong `connect-src` (và `frame-ancestors` nếu có liên quan).
|
|
175
|
+
- Live Sync không hoạt động với đầu ra tĩnh. Đối với Next.js, trang phải là động để nhận các cập nhật tại thời gian chạy (ví dụ: sử dụng `generateStaticParams`, `generateMetadata`, `getServerSideProps`, hoặc `getStaticProps` một cách phù hợp để tránh các hạn chế chỉ tĩnh hoàn toàn).
|
|
176
|
+
- Trong CMS, mỗi từ điển có một cờ `live`. Chỉ những từ điển có `live=true` mới được lấy qua API live sync; những từ điển khác được nhập động và không thay đổi trong thời gian chạy.
|
|
177
|
+
- Cờ `live` được đánh giá cho mỗi từ điển tại thời điểm build. Nếu nội dung từ xa không được đánh dấu `live=true` trong quá trình build, bạn phải build lại để kích hoạt Live Sync cho từ điển đó.
|
|
178
|
+
- Server live sync phải có quyền ghi vào `.intlayer`. Trong các container, đảm bảo quyền ghi vào `/.intlayer`.
|
|
179
|
+
|
|
180
|
+
## Liên kết hữu ích
|
|
181
|
+
|
|
182
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_CMS.md)
|
|
183
|
+
- [Trình chỉnh sửa trực quan Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_visual_editor.md)
|
|
184
|
+
- [Tài liệu tham khảo cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md)
|
|
185
|
+
- [Hướng dẫn Self-Hosting](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/self_hosting.md)
|
|
@@ -99,19 +99,19 @@ Các bước sau đây là những bước tối thiểu cần thiết để ch
|
|
|
99
99
|
Cài đặt các gói Intlayer core và bộ adapter tương thích:
|
|
100
100
|
|
|
101
101
|
```bash packageManager="npm"
|
|
102
|
-
npx intlayer
|
|
102
|
+
npx intlayer init --interactive
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
```bash packageManager="pnpm"
|
|
106
|
-
pnpm dlx intlayer
|
|
106
|
+
pnpm dlx intlayer@canary init --interactive
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
```bash packageManager="yarn"
|
|
110
|
-
yarn dlx intlayer
|
|
110
|
+
yarn dlx intlayer@canary init --interactive
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
```bash packageManager="bun"
|
|
114
|
-
bunx intlayer
|
|
114
|
+
bunx intlayer@canary init --interactive
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
> cờ `--interactive` là tùy chọn. Sử dụng `intlayer-cli init` nếu bạn là một agent AI.
|
|
@@ -102,19 +102,19 @@ Các bước sau đây là yêu cầu tối thiểu để chạy ứng dụng Ne
|
|
|
102
102
|
Cài đặt các gói lõi Intlayer và bộ điều hợp tương thích:
|
|
103
103
|
|
|
104
104
|
```bash packageManager="npm"
|
|
105
|
-
npx intlayer
|
|
105
|
+
npx intlayer init --interactive
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
```bash packageManager="pnpm"
|
|
109
|
-
pnpm dlx intlayer
|
|
109
|
+
pnpm dlx intlayer@canary init --interactive
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
```bash packageManager="yarn"
|
|
113
|
-
yarn dlx intlayer
|
|
113
|
+
yarn dlx intlayer@canary init --interactive
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
```bash packageManager="bun"
|
|
117
|
-
bunx intlayer
|
|
117
|
+
bunx intlayer@canary init --interactive
|
|
118
118
|
```
|
|
119
119
|
|
|
120
120
|
> cờ `--interactive` là tùy chọn. Sử dụng `intlayer-cli init` nếu bạn là một agent AI.
|
|
@@ -98,19 +98,19 @@ Các bước sau là mức tối thiểu cần thiết để chạy ứng dụng
|
|
|
98
98
|
Cài đặt các gói lõi của Intlayer và adapter tương thích `@intlayer/next-intl`:
|
|
99
99
|
|
|
100
100
|
```bash packageManager="npm"
|
|
101
|
-
npx intlayer
|
|
101
|
+
npx intlayer init --interactive
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
```bash packageManager="pnpm"
|
|
105
|
-
pnpm dlx intlayer
|
|
105
|
+
pnpm dlx intlayer@canary init --interactive
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
```bash packageManager="yarn"
|
|
109
|
-
yarn dlx intlayer
|
|
109
|
+
yarn dlx intlayer@canary init --interactive
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
```bash packageManager="bun"
|
|
113
|
-
bunx intlayer
|
|
113
|
+
bunx intlayer@canary init --interactive
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
> cờ `--interactive` là tùy chọn. Sử dụng `intlayer-cli init` nếu bạn là một AI agent.
|
|
@@ -184,9 +184,7 @@ import { createNextIntlPlugin } from "@intlayer/next-intl/plugin";
|
|
|
184
184
|
|
|
185
185
|
const withIntlayer = createNextIntlPlugin();
|
|
186
186
|
|
|
187
|
-
const nextConfig: NextConfig = {
|
|
188
|
-
/* các tùy chọn cấu hình hiện tại của bạn */
|
|
189
|
-
};
|
|
187
|
+
const nextConfig: NextConfig = {/* các tùy chọn cấu hình hiện tại của bạn */};
|
|
190
188
|
|
|
191
189
|
export default withIntlayer(nextConfig);
|
|
192
190
|
```
|
|
@@ -101,19 +101,19 @@ Các bước sau là mức tối thiểu cần thiết để chạy ứng dụng
|
|
|
101
101
|
Cài đặt các gói lõi Intlayer và adapter tương thích:
|
|
102
102
|
|
|
103
103
|
```bash packageManager="npm"
|
|
104
|
-
npx intlayer
|
|
104
|
+
npx intlayer init --interactive
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
```bash packageManager="pnpm"
|
|
108
|
-
pnpm dlx intlayer
|
|
108
|
+
pnpm dlx intlayer@canary init --interactive
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
```bash packageManager="yarn"
|
|
112
|
-
yarn dlx intlayer
|
|
112
|
+
yarn dlx intlayer@canary init --interactive
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
```bash packageManager="bun"
|
|
116
|
-
bunx intlayer
|
|
116
|
+
bunx intlayer@canary init --interactive
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
> cờ `--interactive` là tùy chọn. Sử dụng `intlayer-cli init` nếu bạn là một tác nhân AI.
|
|
@@ -101,19 +101,19 @@ Các bước sau đây là tối thiểu cần thiết để chạy ứng dụng
|
|
|
101
101
|
Cài đặt các gói core của Intlayer và các bộ chuyển đổi tương thích:
|
|
102
102
|
|
|
103
103
|
```bash packageManager="npm"
|
|
104
|
-
npx intlayer
|
|
104
|
+
npx intlayer init --interactive
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
```bash packageManager="pnpm"
|
|
108
|
-
pnpm dlx intlayer
|
|
108
|
+
pnpm dlx intlayer@canary init --interactive
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
```bash packageManager="yarn"
|
|
112
|
-
yarn dlx intlayer
|
|
112
|
+
yarn dlx intlayer@canary init --interactive
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
```bash packageManager="bun"
|
|
116
|
-
bunx intlayer
|
|
116
|
+
bunx intlayer@canary init --interactive
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
> cờ `--interactive` là tùy chọn. Sử dụng `intlayer-cli init` nếu bạn là agent AI.
|
|
@@ -209,9 +209,7 @@ import { createNextI18nPlugin } from "@intlayer/next-i18next/plugin";
|
|
|
209
209
|
|
|
210
210
|
const withIntlayer = createNextI18nPlugin();
|
|
211
211
|
|
|
212
|
-
const nextConfig: NextConfig = {
|
|
213
|
-
/* các tùy chọn của bạn */
|
|
214
|
-
};
|
|
212
|
+
const nextConfig: NextConfig = {/* các tùy chọn của bạn */};
|
|
215
213
|
|
|
216
214
|
export default withIntlayer(nextConfig);
|
|
217
215
|
```
|
|
@@ -100,19 +100,19 @@ Các bước sau đây là mức tối thiểu cần thiết để chạy ứng
|
|
|
100
100
|
Cài đặt các gói core của Intlayer và adapter tương thích:
|
|
101
101
|
|
|
102
102
|
```bash packageManager="npm"
|
|
103
|
-
npx intlayer
|
|
103
|
+
npx intlayer init --interactive
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
```bash packageManager="pnpm"
|
|
107
|
-
pnpm dlx intlayer
|
|
107
|
+
pnpm dlx intlayer@canary init --interactive
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
```bash packageManager="yarn"
|
|
111
|
-
yarn dlx intlayer
|
|
111
|
+
yarn dlx intlayer@canary init --interactive
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
```bash packageManager="bun"
|
|
115
|
-
bunx intlayer
|
|
115
|
+
bunx intlayer@canary init --interactive
|
|
116
116
|
```
|
|
117
117
|
|
|
118
118
|
> cờ `--interactive` là tùy chọn. Sử dụng `intlayer-cli init` nếu bạn là một AI agent.
|
package/docs/vi/releases/v9.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-06-14
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
4
|
title: Intlayer v9 Mới - Có gì mới?
|
|
5
5
|
description: Khám phá các tính năng mới trong Intlayer v9. Giới thiệu các package tương thích drop-in cho các thư viện i18n phổ biến và hỗ trợ Collections và Variants.
|
|
6
6
|
keywords:
|
|
@@ -9,9 +9,11 @@ keywords:
|
|
|
9
9
|
- Migration
|
|
10
10
|
- Collections
|
|
11
11
|
- Variants
|
|
12
|
+
- CMS SDK
|
|
12
13
|
- i18next
|
|
13
14
|
- next-intl
|
|
14
15
|
- vue-i18n
|
|
16
|
+
youtubeVideo: https://www.youtube.com/watch?v=zmCN4z_B4jk
|
|
15
17
|
slugs:
|
|
16
18
|
- doc
|
|
17
19
|
- releases
|
|
@@ -23,6 +25,14 @@ author: aymericzip
|
|
|
23
25
|
|
|
24
26
|
Chào mừng bạn đến với Intlayer v9! Bản phát hành lớn này đánh dấu một cột mốc quan trọng trong việc đơn giản hóa lộ trình migration sang Intlayer với các **Compat Adapter Packages** dành cho các thư viện i18n phổ biến (`react-i18next`, `next-intl`, `vue-i18n`, v.v.) và bổ sung hỗ trợ cho các cấu trúc nội dung phong phú: **Collections** và **Variants**.
|
|
25
27
|
|
|
28
|
+
<iframe
|
|
29
|
+
src="https://www.youtube.com/embed/zmCN4z_B4jk"
|
|
30
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
31
|
+
title="Demo Video - New Intlayer v9 - What's new?"
|
|
32
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
33
|
+
loading="lazy"
|
|
34
|
+
/>
|
|
35
|
+
|
|
26
36
|
## Mục lục
|
|
27
37
|
|
|
28
38
|
<TOC levels={[2]} maxDepth={1} />
|
|
@@ -109,36 +119,40 @@ Intlayer v9 mở rộng vượt ra ngoài các đối tượng key-value tĩnh,
|
|
|
109
119
|
|
|
110
120
|
Định nghĩa một danh sách các item có thứ tự do CMS quản lý (ví dụ: FAQ, sản phẩm, hoặc danh sách blog):
|
|
111
121
|
|
|
112
|
-
```ts fileName="faq.content.ts"
|
|
122
|
+
```ts fileName="faq.1.content.ts"
|
|
123
|
+
import { t, type Dictionary } from "intlayer";
|
|
124
|
+
|
|
125
|
+
export default {
|
|
126
|
+
key: "faq",
|
|
127
|
+
item: 1,
|
|
128
|
+
content: {
|
|
129
|
+
question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
|
|
130
|
+
answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
|
|
131
|
+
},
|
|
132
|
+
} satisfies Dictionary;
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
```ts fileName="faq.2.content.ts"
|
|
113
136
|
import { t, type Dictionary } from "intlayer";
|
|
114
137
|
|
|
115
138
|
export default {
|
|
116
139
|
key: "faq",
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
fr: "Qu'est-ce qu'Intlayer ?",
|
|
123
|
-
}),
|
|
124
|
-
answer: t({
|
|
125
|
-
vi: "Một bộ công cụ i18n.",
|
|
126
|
-
en: "An i18n toolkit.",
|
|
127
|
-
fr: "Une boîte à outils i18n.",
|
|
128
|
-
}),
|
|
129
|
-
},
|
|
130
|
-
],
|
|
140
|
+
item: 2,
|
|
141
|
+
content: {
|
|
142
|
+
question: t({ en: "Is it free?", fr: "Est-ce gratuit ?" }),
|
|
143
|
+
answer: t({ en: "Yes, open-source.", fr: "Oui, open-source." }),
|
|
144
|
+
},
|
|
131
145
|
} satisfies Dictionary;
|
|
132
146
|
```
|
|
133
147
|
|
|
134
148
|
#### Cách sử dụng:
|
|
135
149
|
|
|
136
150
|
```ts
|
|
137
|
-
//
|
|
151
|
+
// Fetch all items as an array
|
|
138
152
|
const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
|
|
139
153
|
|
|
140
|
-
//
|
|
141
|
-
const faq = useIntlayer("faq", { item:
|
|
154
|
+
// Fetch a single item by index
|
|
155
|
+
const faq = useIntlayer("faq", { item: 2 }); // -> { question: string, answer: string }
|
|
142
156
|
```
|
|
143
157
|
|
|
144
158
|
### 2. Variants
|
|
@@ -192,28 +206,52 @@ export default {
|
|
|
192
206
|
```ts
|
|
193
207
|
// Chỉ tải động item được yêu cầu (yêu cầu Suspense)
|
|
194
208
|
const product = useIntlayer("product-copy", {
|
|
195
|
-
id: "prod_123",
|
|
196
|
-
category: "books",
|
|
209
|
+
variant: { id: "prod_123", category: "books" },
|
|
197
210
|
});
|
|
198
211
|
```
|
|
199
212
|
|
|
200
213
|
---
|
|
201
214
|
|
|
202
|
-
##
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
215
|
+
## `@intlayer/analytics`: theo dõi mức độ hiển thị nội dung & thử nghiệm A/B
|
|
216
|
+
|
|
217
|
+
Một gói tùy chọn mới, [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md), cho bạn biết nội dung nào thực sự được hiển thị cho khách truy cập — và khép lại vòng lặp với **Collections & Variants** bằng cách cho phép bạn thử nghiệm A/B nội dung và đo lường chuyển đổi theo từng biến thể.
|
|
218
|
+
|
|
219
|
+
- **Theo dõi ở cấp provider**: `IntlayerProvider` (React / Next.js / React Native) tự động ghi lại sự kiện `page_view` khi tải trang, khi chuyển route và khi đổi locale.
|
|
220
|
+
- **Theo dõi ở cấp node**: mỗi lần `useIntlayer` được phân giải sẽ báo cáo một sự kiện `content_exposure` — khóa dictionary nào, key path nào, locale nào, và (nếu có) **biến thể** A/B nào đã được hiển thị. Các lần hiển thị lặp lại của cùng một node trong một cửa sổ flush sẽ được gộp lại thành một sự kiện.
|
|
221
|
+
- **Phân bổ A/B tất định**: `getVariant(experimentKey, variants)` gán một biến thể cho mỗi phiên **mà không cần gọi ngược lại máy chủ**, vì vậy không có hiện tượng nhấp nháy trước lần render đầu tiên.
|
|
222
|
+
- **`useConversion()`**: gán một mục tiêu (đăng ký, nhấp chuột, mua hàng…) cho biến thể mà phiên đã tiếp xúc.
|
|
223
|
+
- **Không tốn chi phí nếu không cài đặt**: cùng mô hình tree-shakeable như `@intlayer/editor` — `import()` động được bọc trong `try/catch`, cộng với một biến môi trường tại thời điểm build (`INTLAYER_ANALYTICS_ENABLED`) giúp loại bỏ hoàn toàn tích hợp này khỏi bundle đối với các ứng dụng không sử dụng.
|
|
224
|
+
- **Không có schema cấu hình mới**: tái sử dụng `editor.backendURL` (endpoint gửi dữ liệu / self-hosting) và `editor.clientId` (khóa dự án, đồng thời là công tắc bật/tắt).
|
|
225
|
+
- **Tôn trọng quyền riêng tư**: băm ẩn danh phiên (SHA-256, không lưu id gốc), không lưu trữ IP, chỉ định vị địa lý thô ở cấp quốc gia, các yêu cầu được gửi theo lô khoảng mỗi 20 giây.
|
|
226
|
+
- **Bảng điều khiển**: một trang **Analytics** mới (hiển thị trong thanh bên sau khi chọn dự án) hiển thị người dùng đang hoạt động, người dùng hôm nay, người dùng trong 7/30/90 ngày qua, biểu đồ biến động khách truy cập, và phân tích theo Locale so với Vị trí.
|
|
227
|
+
|
|
228
|
+
```tsx fileName="CTAButton.tsx" codeFormat="tsx"
|
|
229
|
+
import { useConversion } from "react-intlayer";
|
|
230
|
+
|
|
231
|
+
const CTAButton = () => {
|
|
232
|
+
const trackConversion = useConversion();
|
|
233
|
+
|
|
234
|
+
return (
|
|
235
|
+
<button
|
|
236
|
+
onClick={() =>
|
|
237
|
+
trackConversion({
|
|
238
|
+
experimentKey: "homepage-hero",
|
|
239
|
+
variant: "black_friday",
|
|
240
|
+
goal: "cta_click",
|
|
241
|
+
})
|
|
242
|
+
}
|
|
243
|
+
>
|
|
244
|
+
Get started
|
|
245
|
+
</button>
|
|
246
|
+
);
|
|
213
247
|
};
|
|
214
248
|
```
|
|
215
249
|
|
|
216
|
-
|
|
250
|
+
```bash packageManager="npm"
|
|
251
|
+
npm install @intlayer/analytics
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Đã khả dụng ngay hôm nay cho React, Next.js và React Native (thông qua `react-intlayer`); các liên kết framework khác (Vue, Svelte, Angular, …) đang được lên kế hoạch, theo cùng một mô hình triển khai như `@intlayer/editor`. Xem [tài liệu Analytics](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md) để biết hướng dẫn đầy đủ.
|
|
217
255
|
|
|
218
256
|
---
|
|
219
257
|
|
|
@@ -296,6 +334,34 @@ npm install intlayer react-native-intlayer
|
|
|
296
334
|
|
|
297
335
|
---
|
|
298
336
|
|
|
337
|
+
## CMS SDK: dùng Intlayer như một cơ sở dữ liệu nội dung headless
|
|
338
|
+
|
|
339
|
+
Intlayer v9 cung cấp một SDK gọn gàng, tự xác thực trong `@intlayer/api` để tương tác với CMS theo chương trình — lấy dự án, lấy từ điển, cũng như đẩy hoặc cập nhật chúng từ máy chủ, script hoặc CI của bạn. Việc xác thực (OAuth2 `client_credentials`) được xử lý và làm mới tự động cho bạn.
|
|
340
|
+
|
|
341
|
+
SDK được tách thành **hai import riêng biệt** để bundle của bạn chỉ bao gồm những domain bạn thực sự dùng:
|
|
342
|
+
|
|
343
|
+
1. `createIntlayerCMS` — một **bộ xác thực** nhẹ giữ thông tin đăng nhập và token được quản lý (không đóng gói client domain nào).
|
|
344
|
+
2. `dictionaryEndpoint`, `projectEndpoint`, … — các **bộ liên kết endpoint** theo từng domain, mỗi cái được import từ subpath riêng.
|
|
345
|
+
|
|
346
|
+
```ts fileName="cms.ts"
|
|
347
|
+
import { createIntlayerCMS } from "@intlayer/api";
|
|
348
|
+
import { dictionaryEndpoint } from "@intlayer/api/dictionary";
|
|
349
|
+
|
|
350
|
+
// Cấu hình là tùy chọn: thông tin đăng nhập sẽ dùng INTLAYER_CLIENT_ID /
|
|
351
|
+
// INTLAYER_CLIENT_SECRET được phân giải bởi `@intlayer/config/built`.
|
|
352
|
+
const cms = createIntlayerCMS();
|
|
353
|
+
|
|
354
|
+
// Đọc
|
|
355
|
+
const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
|
|
356
|
+
|
|
357
|
+
// Ghi — dùng CMS như một cơ sở dữ liệu
|
|
358
|
+
await dictionaryEndpoint(cms).pushDictionaries([myDictionary]);
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
> Bảo mật: thông tin đăng nhập CMS cấp quyền ghi vào nội dung của bạn. Luôn chỉ tạo bộ xác thực ở **phía máy chủ** — không bao giờ gửi `clientId` / `clientSecret` xuống trình duyệt.
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
299
365
|
## Lưu ý khi migration từ v8
|
|
300
366
|
|
|
301
367
|
Nếu bạn đang nâng cấp từ v8, lưu ý rằng v9 không bao gồm các breaking change. Tuy nhiên, dưới đây là các thay đổi chính:
|
|
@@ -310,4 +376,6 @@ Nếu bạn đang nâng cấp từ v8, lưu ý rằng v9 không bao gồm các b
|
|
|
310
376
|
|
|
311
377
|
- [Hướng dẫn về Compat Adapter Packages](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/compat/index.md)
|
|
312
378
|
- [Dynamic Dictionaries - Collections & Variants](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dynamic_dictionaries/index.md)
|
|
379
|
+
- [Analytics - Theo dõi mức độ hiển thị nội dung & thử nghiệm A/B](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
|
|
313
380
|
- [Tài liệu tham khảo cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md)
|
|
381
|
+
- [CMS SDK - Truy cập theo chương trình với @intlayer/api](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_CMS.md)
|