@intlayer/docs 9.0.0-canary.9 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/internationalization_and_SEO.md +6 -0
- package/blog/ar/intlayer_with_i18next.md +8 -4
- package/blog/ar/intlayer_with_next-i18next.md +8 -4
- package/blog/ar/intlayer_with_next-intl.md +8 -4
- package/blog/ar/intlayer_with_react-i18next.md +8 -4
- package/blog/ar/intlayer_with_react-intl.md +8 -4
- package/blog/ar/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/de/intlayer_with_next-i18next.md +8 -4
- package/blog/de/intlayer_with_next-intl.md +8 -4
- package/blog/de/intlayer_with_react-i18next.md +8 -4
- package/blog/de/intlayer_with_react-intl.md +8 -4
- package/blog/de/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/en/intlayer_with_next-i18next.md +8 -4
- package/blog/en/intlayer_with_next-intl.md +8 -4
- package/blog/en/intlayer_with_react-i18next.md +8 -4
- package/blog/en/intlayer_with_react-intl.md +8 -4
- package/blog/en/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/en-GB/intlayer_with_next-i18next.md +8 -4
- package/blog/en-GB/intlayer_with_next-intl.md +8 -4
- package/blog/en-GB/intlayer_with_react-i18next.md +8 -4
- package/blog/en-GB/intlayer_with_react-intl.md +8 -4
- package/blog/en-GB/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/es/intlayer_with_next-i18next.md +8 -4
- package/blog/es/intlayer_with_next-intl.md +8 -4
- package/blog/es/intlayer_with_react-i18next.md +8 -4
- package/blog/es/intlayer_with_react-intl.md +8 -4
- package/blog/es/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/fr/intlayer_with_next-i18next.md +8 -4
- package/blog/fr/intlayer_with_next-intl.md +8 -4
- package/blog/fr/intlayer_with_react-i18next.md +8 -4
- package/blog/fr/intlayer_with_react-intl.md +8 -4
- package/blog/fr/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/hi/intlayer_with_next-i18next.md +8 -4
- package/blog/hi/intlayer_with_next-intl.md +8 -4
- package/blog/hi/intlayer_with_react-i18next.md +8 -4
- package/blog/hi/intlayer_with_react-intl.md +8 -4
- package/blog/hi/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/id/intlayer_with_next-i18next.md +8 -4
- package/blog/id/intlayer_with_next-intl.md +8 -4
- package/blog/id/intlayer_with_react-i18next.md +8 -4
- package/blog/id/intlayer_with_react-intl.md +8 -4
- package/blog/id/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/it/intlayer_with_next-i18next.md +8 -4
- package/blog/it/intlayer_with_next-intl.md +8 -4
- package/blog/it/intlayer_with_react-i18next.md +8 -4
- package/blog/it/intlayer_with_react-intl.md +8 -4
- package/blog/it/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/ja/intlayer_with_next-i18next.md +8 -4
- package/blog/ja/intlayer_with_next-intl.md +8 -4
- package/blog/ja/intlayer_with_react-i18next.md +8 -4
- package/blog/ja/intlayer_with_react-intl.md +8 -4
- package/blog/ja/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/ko/intlayer_with_next-i18next.md +8 -4
- package/blog/ko/intlayer_with_next-intl.md +8 -4
- package/blog/ko/intlayer_with_react-i18next.md +8 -4
- package/blog/ko/intlayer_with_react-intl.md +8 -4
- package/blog/ko/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/pl/intlayer_with_next-i18next.md +8 -4
- package/blog/pl/intlayer_with_next-intl.md +8 -4
- package/blog/pl/intlayer_with_react-i18next.md +8 -4
- package/blog/pl/intlayer_with_react-intl.md +8 -4
- package/blog/pl/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/pt/intlayer_with_next-i18next.md +8 -4
- package/blog/pt/intlayer_with_next-intl.md +8 -4
- package/blog/pt/intlayer_with_react-i18next.md +8 -4
- package/blog/pt/intlayer_with_react-intl.md +8 -4
- package/blog/pt/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/ru/intlayer_with_next-i18next.md +8 -4
- package/blog/ru/intlayer_with_next-intl.md +8 -4
- package/blog/ru/intlayer_with_react-i18next.md +8 -4
- package/blog/ru/intlayer_with_react-intl.md +8 -4
- package/blog/ru/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/tr/intlayer_with_next-i18next.md +8 -4
- package/blog/tr/intlayer_with_next-intl.md +8 -4
- package/blog/tr/intlayer_with_react-i18next.md +8 -4
- package/blog/tr/intlayer_with_react-intl.md +8 -4
- package/blog/tr/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/uk/intlayer_with_next-i18next.md +8 -4
- package/blog/uk/intlayer_with_next-intl.md +8 -4
- package/blog/uk/intlayer_with_react-i18next.md +8 -4
- package/blog/uk/intlayer_with_react-intl.md +8 -4
- package/blog/uk/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/blog/vi/intlayer_with_next-i18next.md +8 -4
- package/blog/vi/intlayer_with_next-intl.md +8 -4
- package/blog/vi/intlayer_with_react-i18next.md +8 -4
- package/blog/vi/intlayer_with_react-intl.md +8 -4
- package/blog/vi/intlayer_with_vue-i18n.md +8 -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 +8 -4
- package/docs/ar/intlayer_with_analog.md +8 -4
- package/docs/ar/intlayer_with_angular_19.md +8 -4
- package/docs/ar/intlayer_with_angular_21.md +8 -4
- package/docs/ar/intlayer_with_astro_lit.md +11 -7
- package/docs/ar/intlayer_with_astro_preact.md +8 -4
- package/docs/ar/intlayer_with_astro_react.md +8 -4
- package/docs/ar/intlayer_with_astro_solid.md +8 -4
- package/docs/ar/intlayer_with_astro_svelte.md +8 -4
- package/docs/ar/intlayer_with_astro_vanilla.md +8 -4
- package/docs/ar/intlayer_with_astro_vue.md +8 -4
- package/docs/ar/intlayer_with_create_react_app.md +8 -4
- package/docs/ar/intlayer_with_express.md +8 -4
- package/docs/ar/intlayer_with_fastify.md +8 -4
- package/docs/ar/intlayer_with_hono.md +8 -4
- package/docs/ar/intlayer_with_lynx+react.md +8 -4
- package/docs/ar/intlayer_with_nestjs.md +8 -4
- package/docs/ar/intlayer_with_next-i18next.md +8 -4
- package/docs/ar/intlayer_with_nextjs_14.md +8 -4
- package/docs/ar/intlayer_with_nextjs_15.md +10 -8
- package/docs/ar/intlayer_with_nextjs_16.md +10 -8
- package/docs/ar/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/ar/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/ar/intlayer_with_nuxt.md +9 -5
- package/docs/ar/intlayer_with_react_native+expo.md +8 -4
- package/docs/ar/intlayer_with_react_router_v7.md +9 -5
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +9 -5
- package/docs/ar/intlayer_with_svelte_kit.md +8 -4
- package/docs/ar/intlayer_with_tanstack+solid.md +9 -5
- package/docs/ar/intlayer_with_tanstack.md +10 -7
- package/docs/ar/intlayer_with_vite+lit.md +8 -4
- package/docs/ar/intlayer_with_vite+preact.md +9 -5
- package/docs/ar/intlayer_with_vite+react.md +9 -5
- package/docs/ar/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/ar/intlayer_with_vite+solid.md +9 -5
- package/docs/ar/intlayer_with_vite+svelte.md +8 -4
- package/docs/ar/intlayer_with_vite+vanilla.md +8 -4
- package/docs/ar/intlayer_with_vite+vue.md +9 -5
- package/docs/ar/live-sync.md +174 -0
- package/docs/ar/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/ar/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/bn/intlayer_with_fastify.md +8 -4
- package/docs/bn/intlayer_with_hono.md +8 -4
- package/docs/bn/intlayer_with_vite+lit.md +8 -4
- package/docs/bn/intlayer_with_vite+vanilla.md +8 -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 +8 -4
- package/docs/cs/intlayer_with_fastify.md +8 -4
- package/docs/cs/intlayer_with_hono.md +8 -4
- package/docs/cs/intlayer_with_vite+lit.md +8 -4
- package/docs/cs/intlayer_with_vite+vanilla.md +8 -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 +8 -4
- package/docs/de/intlayer_with_analog.md +8 -4
- package/docs/de/intlayer_with_angular_19.md +8 -4
- package/docs/de/intlayer_with_angular_21.md +8 -4
- package/docs/de/intlayer_with_astro_lit.md +11 -7
- package/docs/de/intlayer_with_astro_preact.md +8 -4
- package/docs/de/intlayer_with_astro_react.md +8 -4
- package/docs/de/intlayer_with_astro_solid.md +8 -4
- package/docs/de/intlayer_with_astro_svelte.md +8 -4
- package/docs/de/intlayer_with_astro_vanilla.md +8 -4
- package/docs/de/intlayer_with_astro_vue.md +8 -4
- package/docs/de/intlayer_with_create_react_app.md +8 -4
- package/docs/de/intlayer_with_express.md +8 -4
- package/docs/de/intlayer_with_fastify.md +8 -4
- package/docs/de/intlayer_with_hono.md +8 -4
- package/docs/de/intlayer_with_lynx+react.md +8 -4
- package/docs/de/intlayer_with_nestjs.md +8 -4
- package/docs/de/intlayer_with_next-i18next.md +8 -4
- package/docs/de/intlayer_with_nextjs_14.md +8 -4
- package/docs/de/intlayer_with_nextjs_15.md +10 -8
- package/docs/de/intlayer_with_nextjs_16.md +10 -8
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/de/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/de/intlayer_with_nuxt.md +9 -5
- package/docs/de/intlayer_with_react_native+expo.md +8 -4
- package/docs/de/intlayer_with_react_router_v7.md +9 -5
- package/docs/de/intlayer_with_svelte_kit.md +8 -4
- package/docs/de/intlayer_with_tanstack+solid.md +9 -5
- package/docs/de/intlayer_with_tanstack.md +10 -7
- package/docs/de/intlayer_with_vite+lit.md +8 -4
- package/docs/de/intlayer_with_vite+preact.md +9 -5
- package/docs/de/intlayer_with_vite+react.md +9 -5
- package/docs/de/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/de/intlayer_with_vite+solid.md +9 -5
- package/docs/de/intlayer_with_vite+vanilla.md +8 -4
- package/docs/de/intlayer_with_vite+vue.md +9 -5
- package/docs/de/live-sync.md +174 -0
- package/docs/de/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/de/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/de/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/de/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +8 -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/how_works_intlayer.md +2 -2
- package/docs/en/intlayer_CMS.md +143 -107
- package/docs/en/intlayer_with_adonisjs.md +8 -4
- package/docs/en/intlayer_with_analog.md +8 -4
- package/docs/en/intlayer_with_angular_19.md +8 -4
- package/docs/en/intlayer_with_angular_21.md +8 -4
- package/docs/en/intlayer_with_astro.md +8 -4
- package/docs/en/intlayer_with_astro_lit.md +11 -7
- package/docs/en/intlayer_with_astro_preact.md +8 -4
- package/docs/en/intlayer_with_astro_react.md +8 -4
- package/docs/en/intlayer_with_astro_solid.md +8 -4
- package/docs/en/intlayer_with_astro_svelte.md +8 -4
- package/docs/en/intlayer_with_astro_vanilla.md +8 -4
- package/docs/en/intlayer_with_astro_vue.md +8 -4
- package/docs/en/intlayer_with_create_react_app.md +8 -4
- package/docs/en/intlayer_with_express.md +8 -4
- package/docs/en/intlayer_with_fastify.md +8 -4
- package/docs/en/intlayer_with_hono.md +8 -4
- package/docs/en/intlayer_with_lynx+react.md +8 -4
- package/docs/en/intlayer_with_nestjs.md +8 -4
- package/docs/en/intlayer_with_next-i18next.md +8 -4
- package/docs/en/intlayer_with_nextjs_14.md +8 -4
- package/docs/en/intlayer_with_nextjs_15.md +9 -7
- package/docs/en/intlayer_with_nextjs_16.md +10 -8
- package/docs/en/intlayer_with_nextjs_compiler.md +10 -8
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/en/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/en/intlayer_with_nuxt.md +9 -5
- package/docs/en/intlayer_with_react_native+expo.md +8 -4
- package/docs/en/intlayer_with_react_router_v7.md +9 -5
- package/docs/en/intlayer_with_svelte_kit.md +8 -4
- package/docs/en/intlayer_with_tanstack+solid.md +9 -5
- package/docs/en/intlayer_with_tanstack.md +10 -7
- package/docs/en/intlayer_with_vite+lit.md +8 -4
- package/docs/en/intlayer_with_vite+preact.md +9 -5
- package/docs/en/intlayer_with_vite+react.md +9 -5
- package/docs/en/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/en/intlayer_with_vite+solid.md +9 -5
- package/docs/en/intlayer_with_vite+svelte.md +8 -4
- package/docs/en/intlayer_with_vite+vanilla.md +8 -4
- package/docs/en/intlayer_with_vite+vue.md +9 -5
- package/docs/en/live-sync.md +184 -0
- package/docs/en/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/en/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/en/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/en/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/en-GB/intlayer_with_analog.md +8 -4
- package/docs/en-GB/intlayer_with_angular_19.md +8 -4
- package/docs/en-GB/intlayer_with_angular_21.md +8 -4
- package/docs/en-GB/intlayer_with_astro_lit.md +11 -7
- package/docs/en-GB/intlayer_with_astro_preact.md +8 -4
- package/docs/en-GB/intlayer_with_astro_react.md +8 -4
- package/docs/en-GB/intlayer_with_astro_solid.md +8 -4
- package/docs/en-GB/intlayer_with_astro_svelte.md +8 -4
- package/docs/en-GB/intlayer_with_astro_vanilla.md +8 -4
- package/docs/en-GB/intlayer_with_astro_vue.md +8 -4
- package/docs/en-GB/intlayer_with_create_react_app.md +16 -8
- package/docs/en-GB/intlayer_with_express.md +8 -4
- package/docs/en-GB/intlayer_with_fastify.md +8 -4
- package/docs/en-GB/intlayer_with_hono.md +8 -4
- package/docs/en-GB/intlayer_with_lynx+react.md +16 -8
- package/docs/en-GB/intlayer_with_nestjs.md +8 -4
- package/docs/en-GB/intlayer_with_next-i18next.md +8 -4
- package/docs/en-GB/intlayer_with_nextjs_14.md +8 -4
- package/docs/en-GB/intlayer_with_nextjs_15.md +10 -8
- package/docs/en-GB/intlayer_with_nextjs_16.md +10 -8
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/en-GB/intlayer_with_nuxt.md +9 -5
- package/docs/en-GB/intlayer_with_react_native+expo.md +8 -4
- package/docs/en-GB/intlayer_with_react_router_v7.md +9 -5
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +9 -5
- package/docs/en-GB/intlayer_with_svelte_kit.md +8 -4
- package/docs/en-GB/intlayer_with_tanstack+solid.md +9 -5
- package/docs/en-GB/intlayer_with_tanstack.md +10 -7
- package/docs/en-GB/intlayer_with_vite+lit.md +8 -4
- package/docs/en-GB/intlayer_with_vite+preact.md +9 -5
- package/docs/en-GB/intlayer_with_vite+react.md +9 -5
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/en-GB/intlayer_with_vite+solid.md +9 -5
- package/docs/en-GB/intlayer_with_vite+svelte.md +8 -4
- package/docs/en-GB/intlayer_with_vite+vanilla.md +8 -4
- package/docs/en-GB/intlayer_with_vite+vue.md +9 -5
- package/docs/en-GB/live-sync.md +173 -0
- package/docs/en-GB/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/en-GB/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/es/intlayer_with_analog.md +8 -4
- package/docs/es/intlayer_with_angular_19.md +8 -4
- package/docs/es/intlayer_with_angular_21.md +8 -4
- package/docs/es/intlayer_with_astro_lit.md +11 -7
- package/docs/es/intlayer_with_astro_preact.md +8 -4
- package/docs/es/intlayer_with_astro_react.md +8 -4
- package/docs/es/intlayer_with_astro_solid.md +8 -4
- package/docs/es/intlayer_with_astro_svelte.md +8 -4
- package/docs/es/intlayer_with_astro_vanilla.md +8 -4
- package/docs/es/intlayer_with_astro_vue.md +8 -4
- package/docs/es/intlayer_with_create_react_app.md +8 -4
- package/docs/es/intlayer_with_express.md +8 -4
- package/docs/es/intlayer_with_fastify.md +8 -4
- package/docs/es/intlayer_with_hono.md +8 -4
- package/docs/es/intlayer_with_lynx+react.md +8 -4
- package/docs/es/intlayer_with_nestjs.md +8 -4
- package/docs/es/intlayer_with_next-i18next.md +8 -4
- package/docs/es/intlayer_with_nextjs_14.md +8 -4
- package/docs/es/intlayer_with_nextjs_15.md +10 -8
- package/docs/es/intlayer_with_nextjs_16.md +10 -8
- package/docs/es/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/es/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/es/intlayer_with_nuxt.md +9 -5
- package/docs/es/intlayer_with_react_native+expo.md +8 -4
- package/docs/es/intlayer_with_react_router_v7.md +9 -5
- package/docs/es/intlayer_with_svelte_kit.md +8 -4
- package/docs/es/intlayer_with_tanstack+solid.md +9 -5
- package/docs/es/intlayer_with_tanstack.md +10 -7
- package/docs/es/intlayer_with_vite+lit.md +8 -4
- package/docs/es/intlayer_with_vite+preact.md +9 -5
- package/docs/es/intlayer_with_vite+react.md +9 -5
- package/docs/es/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/es/intlayer_with_vite+solid.md +9 -5
- package/docs/es/intlayer_with_vite+svelte.md +8 -4
- package/docs/es/intlayer_with_vite+vanilla.md +8 -4
- package/docs/es/intlayer_with_vite+vue.md +9 -5
- package/docs/es/live-sync.md +176 -0
- package/docs/es/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/es/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/es/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/es/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/fr/intlayer_with_analog.md +8 -4
- package/docs/fr/intlayer_with_angular_19.md +8 -4
- package/docs/fr/intlayer_with_angular_21.md +8 -4
- package/docs/fr/intlayer_with_astro_lit.md +11 -7
- package/docs/fr/intlayer_with_astro_preact.md +8 -4
- package/docs/fr/intlayer_with_astro_react.md +8 -4
- package/docs/fr/intlayer_with_astro_solid.md +8 -4
- package/docs/fr/intlayer_with_astro_svelte.md +8 -4
- package/docs/fr/intlayer_with_astro_vanilla.md +8 -4
- package/docs/fr/intlayer_with_astro_vue.md +8 -4
- package/docs/fr/intlayer_with_create_react_app.md +8 -4
- package/docs/fr/intlayer_with_express.md +8 -4
- package/docs/fr/intlayer_with_fastify.md +8 -4
- package/docs/fr/intlayer_with_hono.md +8 -4
- package/docs/fr/intlayer_with_lynx+react.md +8 -4
- package/docs/fr/intlayer_with_nestjs.md +8 -4
- package/docs/fr/intlayer_with_next-i18next.md +8 -4
- package/docs/fr/intlayer_with_nextjs_14.md +8 -4
- package/docs/fr/intlayer_with_nextjs_15.md +10 -8
- package/docs/fr/intlayer_with_nextjs_16.md +10 -8
- package/docs/fr/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/fr/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/fr/intlayer_with_nuxt.md +9 -5
- package/docs/fr/intlayer_with_react_native+expo.md +8 -4
- package/docs/fr/intlayer_with_react_router_v7.md +9 -5
- package/docs/fr/intlayer_with_svelte_kit.md +8 -4
- package/docs/fr/intlayer_with_tanstack+solid.md +9 -5
- package/docs/fr/intlayer_with_tanstack.md +10 -7
- package/docs/fr/intlayer_with_vite+lit.md +8 -4
- package/docs/fr/intlayer_with_vite+preact.md +9 -5
- package/docs/fr/intlayer_with_vite+react.md +9 -5
- package/docs/fr/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/fr/intlayer_with_vite+solid.md +9 -5
- package/docs/fr/intlayer_with_vite+svelte.md +8 -4
- package/docs/fr/intlayer_with_vite+vanilla.md +8 -4
- package/docs/fr/intlayer_with_vite+vue.md +9 -5
- package/docs/fr/live-sync.md +174 -0
- package/docs/fr/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/fr/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/hi/intlayer_with_analog.md +8 -4
- package/docs/hi/intlayer_with_angular_19.md +8 -4
- package/docs/hi/intlayer_with_angular_21.md +8 -4
- package/docs/hi/intlayer_with_astro_vue.md +8 -4
- package/docs/hi/intlayer_with_create_react_app.md +8 -4
- package/docs/hi/intlayer_with_express.md +8 -4
- package/docs/hi/intlayer_with_fastify.md +8 -4
- package/docs/hi/intlayer_with_hono.md +8 -4
- package/docs/hi/intlayer_with_lynx+react.md +8 -4
- package/docs/hi/intlayer_with_nestjs.md +8 -4
- package/docs/hi/intlayer_with_next-i18next.md +8 -4
- package/docs/hi/intlayer_with_nextjs_14.md +8 -4
- package/docs/hi/intlayer_with_nextjs_15.md +10 -8
- package/docs/hi/intlayer_with_nextjs_16.md +10 -8
- package/docs/hi/intlayer_with_nextjs_compiler.md +8 -4
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/hi/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/hi/intlayer_with_nuxt.md +9 -5
- package/docs/hi/intlayer_with_react_native+expo.md +8 -4
- package/docs/hi/intlayer_with_react_router_v7.md +9 -5
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +9 -5
- package/docs/hi/intlayer_with_svelte_kit.md +8 -4
- package/docs/hi/intlayer_with_tanstack+solid.md +9 -5
- package/docs/hi/intlayer_with_tanstack.md +10 -7
- package/docs/hi/intlayer_with_vite+lit.md +8 -4
- package/docs/hi/intlayer_with_vite+preact.md +9 -5
- package/docs/hi/intlayer_with_vite+react.md +9 -5
- package/docs/hi/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/hi/intlayer_with_vite+solid.md +9 -5
- package/docs/hi/intlayer_with_vite+svelte.md +8 -4
- package/docs/hi/intlayer_with_vite+vanilla.md +8 -4
- package/docs/hi/intlayer_with_vite+vue.md +9 -5
- package/docs/hi/live-sync.md +174 -0
- package/docs/hi/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/hi/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/hi/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/hi/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/hi/migration_from_vue-i18n_to_intlayer.md +8 -4
- package/docs/hi/packages/intlayer/index.md +8 -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 +8 -4
- package/docs/id/intlayer_with_analog.md +8 -4
- package/docs/id/intlayer_with_angular_19.md +8 -4
- package/docs/id/intlayer_with_angular_21.md +8 -4
- package/docs/id/intlayer_with_astro_lit.md +11 -7
- package/docs/id/intlayer_with_astro_preact.md +8 -4
- package/docs/id/intlayer_with_astro_react.md +8 -4
- package/docs/id/intlayer_with_astro_solid.md +8 -4
- package/docs/id/intlayer_with_astro_svelte.md +8 -4
- package/docs/id/intlayer_with_astro_vanilla.md +8 -4
- package/docs/id/intlayer_with_astro_vue.md +8 -4
- package/docs/id/intlayer_with_create_react_app.md +8 -4
- package/docs/id/intlayer_with_express.md +8 -4
- package/docs/id/intlayer_with_fastify.md +8 -4
- package/docs/id/intlayer_with_hono.md +8 -4
- package/docs/id/intlayer_with_lynx+react.md +8 -4
- package/docs/id/intlayer_with_nestjs.md +8 -4
- package/docs/id/intlayer_with_next-i18next.md +8 -4
- package/docs/id/intlayer_with_nextjs_14.md +8 -4
- package/docs/id/intlayer_with_nextjs_15.md +9 -7
- package/docs/id/intlayer_with_nextjs_16.md +10 -8
- package/docs/id/intlayer_with_nextjs_compiler.md +8 -4
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/id/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/id/intlayer_with_nuxt.md +9 -5
- package/docs/id/intlayer_with_react_native+expo.md +8 -4
- package/docs/id/intlayer_with_react_router_v7.md +9 -5
- package/docs/id/intlayer_with_svelte_kit.md +8 -4
- package/docs/id/intlayer_with_tanstack+solid.md +9 -5
- package/docs/id/intlayer_with_tanstack.md +10 -7
- package/docs/id/intlayer_with_vite+lit.md +8 -4
- package/docs/id/intlayer_with_vite+preact.md +9 -5
- package/docs/id/intlayer_with_vite+react.md +9 -5
- package/docs/id/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/id/intlayer_with_vite+solid.md +9 -5
- package/docs/id/intlayer_with_vite+svelte.md +8 -4
- package/docs/id/intlayer_with_vite+vanilla.md +8 -4
- package/docs/id/intlayer_with_vite+vue.md +9 -5
- package/docs/id/live-sync.md +185 -0
- package/docs/id/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/id/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/id/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/id/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/id/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/it/intlayer_with_analog.md +8 -4
- package/docs/it/intlayer_with_angular_19.md +8 -4
- package/docs/it/intlayer_with_angular_21.md +8 -4
- package/docs/it/intlayer_with_astro_lit.md +11 -7
- package/docs/it/intlayer_with_astro_preact.md +8 -4
- package/docs/it/intlayer_with_astro_react.md +8 -4
- package/docs/it/intlayer_with_astro_solid.md +8 -4
- package/docs/it/intlayer_with_astro_svelte.md +8 -4
- package/docs/it/intlayer_with_astro_vanilla.md +8 -4
- package/docs/it/intlayer_with_astro_vue.md +8 -4
- package/docs/it/intlayer_with_create_react_app.md +8 -4
- package/docs/it/intlayer_with_express.md +8 -4
- package/docs/it/intlayer_with_fastify.md +8 -4
- package/docs/it/intlayer_with_hono.md +8 -4
- package/docs/it/intlayer_with_lynx+react.md +8 -4
- package/docs/it/intlayer_with_nestjs.md +8 -4
- package/docs/it/intlayer_with_next-i18next.md +8 -4
- package/docs/it/intlayer_with_nextjs_14.md +8 -4
- package/docs/it/intlayer_with_nextjs_15.md +10 -8
- package/docs/it/intlayer_with_nextjs_16.md +10 -8
- package/docs/it/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/it/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/it/intlayer_with_nuxt.md +9 -5
- package/docs/it/intlayer_with_react_native+expo.md +8 -4
- package/docs/it/intlayer_with_react_router_v7.md +9 -5
- package/docs/it/intlayer_with_svelte_kit.md +8 -4
- package/docs/it/intlayer_with_tanstack+solid.md +9 -5
- package/docs/it/intlayer_with_tanstack.md +10 -7
- package/docs/it/intlayer_with_vite+lit.md +8 -4
- package/docs/it/intlayer_with_vite+preact.md +9 -5
- package/docs/it/intlayer_with_vite+react.md +10 -6
- package/docs/it/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/it/intlayer_with_vite+solid.md +9 -5
- package/docs/it/intlayer_with_vite+svelte.md +8 -4
- package/docs/it/intlayer_with_vite+vanilla.md +8 -4
- package/docs/it/intlayer_with_vite+vue.md +9 -5
- package/docs/it/live-sync.md +174 -0
- package/docs/it/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/it/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/it/migration_from_next-intl_to_intlayer.md +8 -4
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/it/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/ja/intlayer_with_analog.md +8 -4
- package/docs/ja/intlayer_with_angular_19.md +8 -4
- package/docs/ja/intlayer_with_angular_21.md +8 -4
- package/docs/ja/intlayer_with_astro_lit.md +11 -7
- package/docs/ja/intlayer_with_astro_preact.md +8 -4
- package/docs/ja/intlayer_with_astro_react.md +8 -4
- package/docs/ja/intlayer_with_astro_solid.md +8 -4
- package/docs/ja/intlayer_with_astro_svelte.md +8 -4
- package/docs/ja/intlayer_with_astro_vanilla.md +8 -4
- package/docs/ja/intlayer_with_astro_vue.md +8 -4
- package/docs/ja/intlayer_with_create_react_app.md +8 -4
- package/docs/ja/intlayer_with_express.md +8 -4
- package/docs/ja/intlayer_with_fastify.md +8 -4
- package/docs/ja/intlayer_with_hono.md +8 -4
- package/docs/ja/intlayer_with_lynx+react.md +8 -4
- package/docs/ja/intlayer_with_nestjs.md +8 -4
- package/docs/ja/intlayer_with_next-i18next.md +8 -4
- package/docs/ja/intlayer_with_nextjs_14.md +8 -4
- package/docs/ja/intlayer_with_nextjs_15.md +10 -8
- package/docs/ja/intlayer_with_nextjs_16.md +10 -8
- package/docs/ja/intlayer_with_nextjs_compiler.md +8 -4
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/ja/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/ja/intlayer_with_nuxt.md +9 -5
- package/docs/ja/intlayer_with_react_native+expo.md +8 -4
- package/docs/ja/intlayer_with_tanstack+solid.md +9 -5
- package/docs/ja/intlayer_with_tanstack.md +10 -7
- package/docs/ja/intlayer_with_vite+lit.md +8 -4
- package/docs/ja/intlayer_with_vite+preact.md +9 -5
- package/docs/ja/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/ja/intlayer_with_vite+solid.md +9 -5
- package/docs/ja/intlayer_with_vite+svelte.md +8 -4
- package/docs/ja/intlayer_with_vite+vanilla.md +8 -4
- package/docs/ja/intlayer_with_vite+vue.md +9 -5
- package/docs/ja/live-sync.md +185 -0
- package/docs/ja/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/ja/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/ko/intlayer_with_analog.md +8 -4
- package/docs/ko/intlayer_with_angular_19.md +8 -4
- package/docs/ko/intlayer_with_angular_21.md +8 -4
- package/docs/ko/intlayer_with_astro_vue.md +8 -4
- package/docs/ko/intlayer_with_create_react_app.md +8 -4
- package/docs/ko/intlayer_with_express.md +8 -4
- package/docs/ko/intlayer_with_fastify.md +8 -4
- package/docs/ko/intlayer_with_hono.md +8 -4
- package/docs/ko/intlayer_with_nestjs.md +8 -4
- package/docs/ko/intlayer_with_next-i18next.md +8 -4
- package/docs/ko/intlayer_with_nextjs_15.md +10 -8
- package/docs/ko/intlayer_with_nextjs_16.md +10 -8
- package/docs/ko/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/ko/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/ko/intlayer_with_nuxt.md +9 -5
- package/docs/ko/intlayer_with_react_native+expo.md +8 -4
- package/docs/ko/intlayer_with_react_router_v7.md +9 -5
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +9 -5
- package/docs/ko/intlayer_with_svelte_kit.md +8 -4
- package/docs/ko/intlayer_with_tanstack+solid.md +9 -5
- package/docs/ko/intlayer_with_tanstack.md +10 -7
- package/docs/ko/intlayer_with_vite+lit.md +8 -4
- package/docs/ko/intlayer_with_vite+preact.md +9 -5
- package/docs/ko/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/ko/intlayer_with_vite+solid.md +9 -5
- package/docs/ko/intlayer_with_vite+svelte.md +8 -4
- package/docs/ko/intlayer_with_vite+vanilla.md +8 -4
- package/docs/ko/intlayer_with_vite+vue.md +9 -5
- package/docs/ko/live-sync.md +187 -0
- package/docs/ko/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/ko/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/nl/intlayer_with_fastify.md +8 -4
- package/docs/nl/intlayer_with_hono.md +8 -4
- package/docs/nl/intlayer_with_vite+lit.md +8 -4
- package/docs/nl/intlayer_with_vite+vanilla.md +8 -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 +8 -4
- package/docs/pl/intlayer_with_analog.md +8 -4
- package/docs/pl/intlayer_with_angular_19.md +8 -4
- package/docs/pl/intlayer_with_angular_21.md +8 -4
- package/docs/pl/intlayer_with_astro_lit.md +11 -7
- package/docs/pl/intlayer_with_astro_preact.md +8 -4
- package/docs/pl/intlayer_with_astro_react.md +8 -4
- package/docs/pl/intlayer_with_astro_solid.md +8 -4
- package/docs/pl/intlayer_with_astro_svelte.md +8 -4
- package/docs/pl/intlayer_with_astro_vanilla.md +8 -4
- package/docs/pl/intlayer_with_astro_vue.md +8 -4
- package/docs/pl/intlayer_with_create_react_app.md +8 -4
- package/docs/pl/intlayer_with_express.md +8 -4
- package/docs/pl/intlayer_with_fastify.md +8 -4
- package/docs/pl/intlayer_with_hono.md +8 -4
- package/docs/pl/intlayer_with_lynx+react.md +8 -4
- package/docs/pl/intlayer_with_nestjs.md +8 -4
- package/docs/pl/intlayer_with_next-i18next.md +8 -4
- package/docs/pl/intlayer_with_nextjs_14.md +8 -4
- package/docs/pl/intlayer_with_nextjs_15.md +9 -7
- package/docs/pl/intlayer_with_nextjs_16.md +10 -8
- package/docs/pl/intlayer_with_nextjs_compiler.md +8 -4
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/pl/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/pl/intlayer_with_nuxt.md +9 -5
- package/docs/pl/intlayer_with_react_native+expo.md +8 -4
- package/docs/pl/intlayer_with_react_router_v7.md +9 -5
- package/docs/pl/intlayer_with_svelte_kit.md +8 -4
- package/docs/pl/intlayer_with_tanstack+solid.md +9 -5
- package/docs/pl/intlayer_with_tanstack.md +10 -7
- package/docs/pl/intlayer_with_vite+lit.md +8 -4
- package/docs/pl/intlayer_with_vite+preact.md +9 -5
- package/docs/pl/intlayer_with_vite+react.md +9 -5
- package/docs/pl/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/pl/intlayer_with_vite+solid.md +9 -5
- package/docs/pl/intlayer_with_vite+svelte.md +8 -4
- package/docs/pl/intlayer_with_vite+vanilla.md +8 -4
- package/docs/pl/intlayer_with_vite+vue.md +9 -5
- package/docs/pl/live-sync.md +185 -0
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/pl/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +9 -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 +8 -4
- package/docs/pt/intlayer_with_analog.md +8 -4
- package/docs/pt/intlayer_with_angular_19.md +8 -4
- package/docs/pt/intlayer_with_angular_21.md +8 -4
- package/docs/pt/intlayer_with_astro_lit.md +11 -7
- package/docs/pt/intlayer_with_astro_preact.md +8 -4
- package/docs/pt/intlayer_with_astro_react.md +8 -4
- package/docs/pt/intlayer_with_astro_solid.md +8 -4
- package/docs/pt/intlayer_with_astro_svelte.md +8 -4
- package/docs/pt/intlayer_with_astro_vanilla.md +8 -4
- package/docs/pt/intlayer_with_astro_vue.md +8 -4
- package/docs/pt/intlayer_with_create_react_app.md +8 -4
- package/docs/pt/intlayer_with_express.md +8 -4
- package/docs/pt/intlayer_with_fastify.md +8 -4
- package/docs/pt/intlayer_with_hono.md +8 -4
- package/docs/pt/intlayer_with_lynx+react.md +8 -4
- package/docs/pt/intlayer_with_nestjs.md +8 -4
- package/docs/pt/intlayer_with_next-i18next.md +8 -4
- package/docs/pt/intlayer_with_nextjs_14.md +8 -4
- package/docs/pt/intlayer_with_nextjs_15.md +10 -8
- package/docs/pt/intlayer_with_nextjs_16.md +10 -8
- package/docs/pt/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/pt/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/pt/intlayer_with_nuxt.md +9 -5
- package/docs/pt/intlayer_with_react_native+expo.md +8 -4
- package/docs/pt/intlayer_with_react_router_v7.md +9 -5
- package/docs/pt/intlayer_with_svelte_kit.md +8 -4
- package/docs/pt/intlayer_with_tanstack+solid.md +9 -5
- package/docs/pt/intlayer_with_tanstack.md +10 -7
- package/docs/pt/intlayer_with_vite+lit.md +8 -4
- package/docs/pt/intlayer_with_vite+preact.md +9 -5
- package/docs/pt/intlayer_with_vite+react.md +9 -5
- package/docs/pt/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/pt/intlayer_with_vite+solid.md +9 -5
- package/docs/pt/intlayer_with_vite+svelte.md +8 -4
- package/docs/pt/intlayer_with_vite+vanilla.md +8 -4
- package/docs/pt/intlayer_with_vite+vue.md +9 -5
- package/docs/pt/live-sync.md +174 -0
- package/docs/pt/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/pt/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/ru/intlayer_with_analog.md +8 -4
- package/docs/ru/intlayer_with_angular_19.md +8 -4
- package/docs/ru/intlayer_with_angular_21.md +8 -4
- package/docs/ru/intlayer_with_astro_vue.md +8 -4
- package/docs/ru/intlayer_with_create_react_app.md +8 -4
- package/docs/ru/intlayer_with_express.md +8 -4
- package/docs/ru/intlayer_with_fastify.md +8 -4
- package/docs/ru/intlayer_with_hono.md +8 -4
- package/docs/ru/intlayer_with_lynx+react.md +8 -4
- package/docs/ru/intlayer_with_nestjs.md +8 -4
- package/docs/ru/intlayer_with_next-i18next.md +8 -4
- package/docs/ru/intlayer_with_nextjs_14.md +8 -4
- package/docs/ru/intlayer_with_nextjs_15.md +10 -8
- package/docs/ru/intlayer_with_nextjs_16.md +10 -8
- package/docs/ru/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/ru/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/ru/intlayer_with_nuxt.md +9 -5
- package/docs/ru/intlayer_with_react_native+expo.md +8 -4
- package/docs/ru/intlayer_with_react_router_v7.md +9 -5
- package/docs/ru/intlayer_with_svelte_kit.md +8 -4
- package/docs/ru/intlayer_with_tanstack+solid.md +9 -5
- package/docs/ru/intlayer_with_tanstack.md +10 -7
- package/docs/ru/intlayer_with_vite+lit.md +8 -4
- package/docs/ru/intlayer_with_vite+preact.md +9 -5
- package/docs/ru/intlayer_with_vite+react.md +9 -5
- package/docs/ru/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/ru/intlayer_with_vite+solid.md +9 -5
- package/docs/ru/intlayer_with_vite+svelte.md +8 -4
- package/docs/ru/intlayer_with_vite+vanilla.md +8 -4
- package/docs/ru/intlayer_with_vite+vue.md +9 -5
- package/docs/ru/live-sync.md +185 -0
- package/docs/ru/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/ru/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/tr/intlayer_with_analog.md +8 -4
- package/docs/tr/intlayer_with_angular_19.md +8 -4
- package/docs/tr/intlayer_with_angular_21.md +8 -4
- package/docs/tr/intlayer_with_astro_lit.md +11 -7
- package/docs/tr/intlayer_with_astro_preact.md +8 -4
- package/docs/tr/intlayer_with_astro_react.md +8 -4
- package/docs/tr/intlayer_with_astro_solid.md +8 -4
- package/docs/tr/intlayer_with_astro_svelte.md +8 -4
- package/docs/tr/intlayer_with_astro_vanilla.md +8 -4
- package/docs/tr/intlayer_with_astro_vue.md +8 -4
- package/docs/tr/intlayer_with_create_react_app.md +8 -4
- package/docs/tr/intlayer_with_express.md +8 -4
- package/docs/tr/intlayer_with_fastify.md +8 -4
- package/docs/tr/intlayer_with_hono.md +8 -4
- package/docs/tr/intlayer_with_lynx+react.md +8 -4
- package/docs/tr/intlayer_with_nestjs.md +8 -4
- package/docs/tr/intlayer_with_next-i18next.md +8 -4
- package/docs/tr/intlayer_with_nextjs_14.md +8 -4
- package/docs/tr/intlayer_with_nextjs_15.md +10 -8
- package/docs/tr/intlayer_with_nextjs_16.md +10 -8
- package/docs/tr/intlayer_with_nextjs_compiler.md +8 -4
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/tr/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/tr/intlayer_with_nuxt.md +9 -5
- package/docs/tr/intlayer_with_react_native+expo.md +8 -4
- package/docs/tr/intlayer_with_react_router_v7.md +9 -5
- package/docs/tr/intlayer_with_svelte_kit.md +8 -4
- package/docs/tr/intlayer_with_tanstack+solid.md +9 -5
- package/docs/tr/intlayer_with_tanstack.md +10 -7
- package/docs/tr/intlayer_with_vite+lit.md +8 -4
- package/docs/tr/intlayer_with_vite+preact.md +9 -5
- package/docs/tr/intlayer_with_vite+react.md +9 -5
- package/docs/tr/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/tr/intlayer_with_vite+solid.md +9 -5
- package/docs/tr/intlayer_with_vite+svelte.md +8 -4
- package/docs/tr/intlayer_with_vite+vanilla.md +8 -4
- package/docs/tr/intlayer_with_vite+vue.md +9 -5
- package/docs/tr/live-sync.md +173 -0
- package/docs/tr/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/tr/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/uk/intlayer_with_analog.md +8 -4
- package/docs/uk/intlayer_with_angular_19.md +8 -4
- package/docs/uk/intlayer_with_angular_21.md +8 -4
- package/docs/uk/intlayer_with_astro_lit.md +11 -7
- package/docs/uk/intlayer_with_astro_preact.md +8 -4
- package/docs/uk/intlayer_with_astro_react.md +8 -4
- package/docs/uk/intlayer_with_astro_solid.md +8 -4
- package/docs/uk/intlayer_with_astro_svelte.md +8 -4
- package/docs/uk/intlayer_with_astro_vanilla.md +8 -4
- package/docs/uk/intlayer_with_astro_vue.md +8 -4
- package/docs/uk/intlayer_with_create_react_app.md +8 -4
- package/docs/uk/intlayer_with_express.md +8 -4
- package/docs/uk/intlayer_with_fastify.md +8 -4
- package/docs/uk/intlayer_with_hono.md +8 -4
- package/docs/uk/intlayer_with_lynx+react.md +8 -4
- package/docs/uk/intlayer_with_nestjs.md +8 -4
- package/docs/uk/intlayer_with_next-i18next.md +8 -4
- package/docs/uk/intlayer_with_nextjs_14.md +8 -4
- package/docs/uk/intlayer_with_nextjs_15.md +10 -8
- package/docs/uk/intlayer_with_nextjs_16.md +10 -8
- package/docs/uk/intlayer_with_nextjs_compiler.md +8 -4
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/uk/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/uk/intlayer_with_nuxt.md +9 -5
- package/docs/uk/intlayer_with_react_native+expo.md +8 -4
- package/docs/uk/intlayer_with_react_router_v7.md +9 -5
- package/docs/uk/intlayer_with_svelte_kit.md +8 -4
- package/docs/uk/intlayer_with_tanstack+solid.md +9 -5
- package/docs/uk/intlayer_with_tanstack.md +10 -7
- package/docs/uk/intlayer_with_vite+lit.md +8 -4
- package/docs/uk/intlayer_with_vite+preact.md +9 -5
- package/docs/uk/intlayer_with_vite+react.md +9 -5
- package/docs/uk/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/uk/intlayer_with_vite+solid.md +9 -5
- package/docs/uk/intlayer_with_vite+svelte.md +8 -4
- package/docs/uk/intlayer_with_vite+vanilla.md +8 -4
- package/docs/uk/intlayer_with_vite+vue.md +9 -5
- package/docs/uk/live-sync.md +185 -0
- package/docs/uk/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/uk/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/uk/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/uk/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/uk/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/ur/intlayer_with_fastify.md +8 -4
- package/docs/ur/intlayer_with_hono.md +8 -4
- package/docs/ur/intlayer_with_vite+lit.md +8 -4
- package/docs/ur/intlayer_with_vite+vanilla.md +8 -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 +8 -4
- package/docs/vi/intlayer_with_analog.md +8 -4
- package/docs/vi/intlayer_with_angular_19.md +8 -4
- package/docs/vi/intlayer_with_angular_21.md +8 -4
- package/docs/vi/intlayer_with_astro_lit.md +11 -7
- package/docs/vi/intlayer_with_astro_preact.md +8 -4
- package/docs/vi/intlayer_with_astro_react.md +8 -4
- package/docs/vi/intlayer_with_astro_solid.md +8 -4
- package/docs/vi/intlayer_with_astro_svelte.md +8 -4
- package/docs/vi/intlayer_with_astro_vanilla.md +8 -4
- package/docs/vi/intlayer_with_astro_vue.md +8 -4
- package/docs/vi/intlayer_with_create_react_app.md +8 -4
- package/docs/vi/intlayer_with_express.md +8 -4
- package/docs/vi/intlayer_with_fastify.md +8 -4
- package/docs/vi/intlayer_with_hono.md +8 -4
- package/docs/vi/intlayer_with_lynx+react.md +8 -4
- package/docs/vi/intlayer_with_nestjs.md +8 -4
- package/docs/vi/intlayer_with_next-i18next.md +8 -4
- package/docs/vi/intlayer_with_nextjs_14.md +8 -4
- package/docs/vi/intlayer_with_nextjs_15.md +9 -7
- package/docs/vi/intlayer_with_nextjs_16.md +10 -8
- package/docs/vi/intlayer_with_nextjs_compiler.md +8 -4
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/vi/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/vi/intlayer_with_nuxt.md +9 -5
- package/docs/vi/intlayer_with_react_native+expo.md +8 -4
- package/docs/vi/intlayer_with_react_router_v7.md +9 -5
- package/docs/vi/intlayer_with_svelte_kit.md +8 -4
- package/docs/vi/intlayer_with_tanstack+solid.md +9 -5
- package/docs/vi/intlayer_with_tanstack.md +10 -7
- package/docs/vi/intlayer_with_vite+lit.md +8 -4
- package/docs/vi/intlayer_with_vite+preact.md +9 -5
- package/docs/vi/intlayer_with_vite+react.md +9 -5
- package/docs/vi/intlayer_with_vite+react_compiler.md +9 -5
- package/docs/vi/intlayer_with_vite+solid.md +9 -5
- package/docs/vi/intlayer_with_vite+svelte.md +8 -4
- package/docs/vi/intlayer_with_vite+vanilla.md +8 -4
- package/docs/vi/intlayer_with_vite+vue.md +9 -5
- package/docs/vi/live-sync.md +185 -0
- package/docs/vi/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/vi/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/vi/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/vi/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/vi/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/docs/zh/intlayer_with_angular_21.md +8 -4
- package/docs/zh/intlayer_with_astro.md +8 -4
- package/docs/zh/intlayer_with_astro_lit.md +11 -7
- package/docs/zh/intlayer_with_astro_preact.md +8 -4
- package/docs/zh/intlayer_with_astro_react.md +8 -4
- package/docs/zh/intlayer_with_astro_solid.md +8 -4
- package/docs/zh/intlayer_with_astro_svelte.md +8 -4
- package/docs/zh/intlayer_with_astro_vanilla.md +8 -4
- package/docs/zh/intlayer_with_astro_vue.md +8 -4
- package/docs/zh/intlayer_with_create_react_app.md +8 -4
- package/docs/zh/intlayer_with_express.md +8 -4
- package/docs/zh/intlayer_with_fastify.md +8 -4
- package/docs/zh/intlayer_with_hono.md +8 -4
- package/docs/zh/intlayer_with_nestjs.md +8 -4
- package/docs/zh/intlayer_with_next-i18next.md +8 -4
- package/docs/zh/intlayer_with_nextjs_14.md +8 -4
- package/docs/zh/intlayer_with_nextjs_15.md +10 -8
- package/docs/zh/intlayer_with_nextjs_16.md +10 -8
- package/docs/zh/intlayer_with_nextjs_compiler.md +9 -7
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +10 -8
- package/docs/zh/intlayer_with_nextjs_page_router.md +8 -4
- package/docs/zh/intlayer_with_react_native+expo.md +8 -4
- package/docs/zh/intlayer_with_react_router_v7.md +9 -5
- package/docs/zh/intlayer_with_vite+solid.md +9 -5
- package/docs/zh/intlayer_with_vite+svelte.md +8 -4
- package/docs/zh/intlayer_with_vite+vue.md +9 -5
- package/docs/zh/live-sync.md +175 -0
- package/docs/zh/migration_from_i18next_to_intlayer.md +8 -4
- package/docs/zh/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/zh/migration_from_next-intl_to_intlayer.md +9 -7
- package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/zh/migration_from_react-i18next_to_intlayer.md +9 -7
- package/docs/zh/migration_from_vue-i18n_to_intlayer.md +8 -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 +8 -4
- package/package.json +10 -10
- package/src/generated/docs.entry.ts +60 -0
package/docs/ko/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 - 무엇이 달라졌나요?
|
|
5
5
|
description: Intlayer v9의 새로운 기능을 알아보세요. 인기 있는 i18n 라이브러리를 위한 드롭인 호환성 패키지와 컬렉션(Collections), 베리언트(Variants) 지원을 소개합니다.
|
|
6
6
|
keywords:
|
|
@@ -12,6 +12,7 @@ keywords:
|
|
|
12
12
|
- i18next
|
|
13
13
|
- next-intl
|
|
14
14
|
- vue-i18n
|
|
15
|
+
youtubeVideo: https://www.youtube.com/watch?v=ia6JmVf-kkU
|
|
15
16
|
slugs:
|
|
16
17
|
- doc
|
|
17
18
|
- releases
|
|
@@ -23,6 +24,14 @@ author: aymericzip
|
|
|
23
24
|
|
|
24
25
|
Intlayer v9에 오신 것을 환영합니다! 이번 메이저 릴리스는 주요 i18n 라이브러리(`react-i18next`, `next-intl`, `vue-i18n` 등)를 위한 **호환 어댑터 패키지(Compat Adapter Packages)**를 통해 Intlayer로의 마이그레이션 경로를 획기적으로 단순화하고, **컬렉션(Collections)** 및 **베리언트(Variants)**와 같은 풍부한 콘텐츠 구조 지원을 추가하는 큰 이정표를 세웠습니다.
|
|
25
26
|
|
|
27
|
+
<iframe
|
|
28
|
+
src="https://www.youtube.com/embed/ia6JmVf-kkU"
|
|
29
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
30
|
+
title="Demo Video - New Intlayer v9 - What's new?"
|
|
31
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
32
|
+
loading="lazy"
|
|
33
|
+
/>
|
|
34
|
+
|
|
26
35
|
## 목차
|
|
27
36
|
|
|
28
37
|
<TOC levels={[2]} maxDepth={1} />
|
|
@@ -109,36 +118,40 @@ Intlayer v9은 정적인 키-값 객체를 넘어, 딕셔너리가 처음부터
|
|
|
109
118
|
|
|
110
119
|
CMS에서 관리하는 순서가 있는 아이템 목록(예: FAQ, 제품 또는 블로그 목록)을 정의합니다:
|
|
111
120
|
|
|
112
|
-
```ts fileName="faq.content.ts"
|
|
121
|
+
```ts fileName="faq.1.content.ts"
|
|
122
|
+
import { t, type Dictionary } from "intlayer";
|
|
123
|
+
|
|
124
|
+
export default {
|
|
125
|
+
key: "faq",
|
|
126
|
+
item: 1,
|
|
127
|
+
content: {
|
|
128
|
+
question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
|
|
129
|
+
answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
|
|
130
|
+
},
|
|
131
|
+
} satisfies Dictionary;
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
```ts fileName="faq.2.content.ts"
|
|
113
135
|
import { t, type Dictionary } from "intlayer";
|
|
114
136
|
|
|
115
137
|
export default {
|
|
116
138
|
key: "faq",
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
fr: "Qu'est-ce qu'Intlayer ?",
|
|
123
|
-
}),
|
|
124
|
-
answer: t({
|
|
125
|
-
ko: "i18n 툴킷입니다.",
|
|
126
|
-
en: "An i18n toolkit.",
|
|
127
|
-
fr: "Une boîte à outils i18n.",
|
|
128
|
-
}),
|
|
129
|
-
},
|
|
130
|
-
],
|
|
139
|
+
item: 2,
|
|
140
|
+
content: {
|
|
141
|
+
question: t({ en: "Is it free?", fr: "Est-ce gratuit ?" }),
|
|
142
|
+
answer: t({ en: "Yes, open-source.", fr: "Oui, open-source." }),
|
|
143
|
+
},
|
|
131
144
|
} satisfies Dictionary;
|
|
132
145
|
```
|
|
133
146
|
|
|
134
147
|
#### 사용법:
|
|
135
148
|
|
|
136
149
|
```ts
|
|
137
|
-
//
|
|
150
|
+
// Fetch all items as an array
|
|
138
151
|
const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
|
|
139
152
|
|
|
140
|
-
//
|
|
141
|
-
const faq = useIntlayer("faq", { item:
|
|
153
|
+
// Fetch a single item by index
|
|
154
|
+
const faq = useIntlayer("faq", { item: 2 }); // -> { question: string, answer: string }
|
|
142
155
|
```
|
|
143
156
|
|
|
144
157
|
### 2. 베리언트 (Variants)
|
|
@@ -192,28 +205,52 @@ export default {
|
|
|
192
205
|
```ts
|
|
193
206
|
// 요청된 아이템만 동적으로 가져옵니다 (Suspense 필요)
|
|
194
207
|
const product = useIntlayer("product-copy", {
|
|
195
|
-
id: "prod_123",
|
|
196
|
-
category: "books",
|
|
208
|
+
variant: { id: "prod_123", category: "books" },
|
|
197
209
|
});
|
|
198
210
|
```
|
|
199
211
|
|
|
200
212
|
---
|
|
201
213
|
|
|
202
|
-
##
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
214
|
+
## `@intlayer/analytics`: 콘텐츠 노출 추적 및 A/B 테스트
|
|
215
|
+
|
|
216
|
+
새로운 선택적 패키지 [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)는 방문자에게 실제로 어떤 콘텐츠가 표시되는지 알려주며, **Collections & Variants**의 마지막 퍼즐을 완성하여 콘텐츠 A/B 테스트와 변형별 전환 측정을 가능하게 합니다.
|
|
217
|
+
|
|
218
|
+
- **프로바이더 수준 추적**: `IntlayerProvider`(React / Next.js / React Native)는 로드, 라우트 변경, 로케일 변경 시 `page_view` 이벤트를 자동으로 기록합니다.
|
|
219
|
+
- **노드 수준 추적**: `useIntlayer`가 해석될 때마다 `content_exposure` 이벤트가 전송됩니다 — 어떤 딕셔너리 키, 키 경로, 로케일, 그리고 (해당하는 경우) 어떤 A/B **변형**이 표시되었는지. 플러시 창 내에서 동일 노드에 대한 반복 노출은 하나의 이벤트로 병합됩니다.
|
|
220
|
+
- **결정론적 A/B 할당**: `getVariant(experimentKey, variants)`는 서버 왕복 없이 각 세션에 변형을 할당하므로 첫 렌더링 전 깜빡임이 없습니다.
|
|
221
|
+
- **`useConversion()`**: 세션이 노출된 변형에 목표(가입, 클릭, 구매 등)를 귀속시킵니다.
|
|
222
|
+
- **설치하지 않으면 비용 없음**: `@intlayer/editor`와 동일한 tree-shakeable 패턴 — `try/catch`로 감싼 동적 `import()`와, 이를 사용하지 않는 앱에서 전체 통합을 데드 코드로 제거하는 빌드 타임 환경 변수(`INTLAYER_ANALYTICS_ENABLED`).
|
|
223
|
+
- **새로운 설정 스키마 없음**: 기존 `editor.backendURL`(수집 엔드포인트 / 셀프 호스팅)과 `editor.clientId`(프로젝트 키이자 활성화 스위치)를 재사용합니다.
|
|
224
|
+
- **개인정보 보호**: 세션 익명 해시화(SHA-256, 원본 ID 미저장), IP 미저장, 국가 단위의 대략적인 위치 정보만 사용, 약 20초마다 배치로 요청 전송.
|
|
225
|
+
- **대시보드**: 새로운 **Analytics** 페이지(프로젝트 선택 시 사이드바에 표시)에서 활성 사용자, 오늘의 사용자, 지난 7/30/90일 사용자, 방문자 추이 그래프, 로케일 및 위치별 분석을 확인할 수 있습니다.
|
|
226
|
+
|
|
227
|
+
```tsx fileName="CTAButton.tsx" codeFormat="tsx"
|
|
228
|
+
import { useConversion } from "react-intlayer";
|
|
229
|
+
|
|
230
|
+
const CTAButton = () => {
|
|
231
|
+
const trackConversion = useConversion();
|
|
232
|
+
|
|
233
|
+
return (
|
|
234
|
+
<button
|
|
235
|
+
onClick={() =>
|
|
236
|
+
trackConversion({
|
|
237
|
+
experimentKey: "homepage-hero",
|
|
238
|
+
variant: "black_friday",
|
|
239
|
+
goal: "cta_click",
|
|
240
|
+
})
|
|
241
|
+
}
|
|
242
|
+
>
|
|
243
|
+
Get started
|
|
244
|
+
</button>
|
|
245
|
+
);
|
|
213
246
|
};
|
|
214
247
|
```
|
|
215
248
|
|
|
216
|
-
|
|
249
|
+
```bash packageManager="npm"
|
|
250
|
+
npm install @intlayer/analytics
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
현재 React, Next.js, React Native(`react-intlayer` 경유)에서 사용할 수 있습니다. 다른 프레임워크 바인딩(Vue, Svelte, Angular 등)은 `@intlayer/editor`와 동일한 배포 방식으로 계획되어 있습니다. 전체 가이드는 [Analytics 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)를 참조하세요.
|
|
217
254
|
|
|
218
255
|
---
|
|
219
256
|
|
|
@@ -296,6 +333,34 @@ npm install intlayer react-native-intlayer
|
|
|
296
333
|
|
|
297
334
|
---
|
|
298
335
|
|
|
336
|
+
## CMS SDK: Intlayer를 헤드리스 콘텐츠 데이터베이스로 사용하기
|
|
337
|
+
|
|
338
|
+
Intlayer v9는 CMS를 프로그래밍 방식으로 다루기 위한 깔끔하고 자동 인증되는 SDK를 `@intlayer/api`에 포함합니다. 프로젝트 가져오기, 사전 가져오기, 그리고 자체 서버·스크립트·CI에서의 푸시 또는 업데이트가 가능합니다. 인증(OAuth2 `client_credentials`)은 자동으로 처리되고 갱신됩니다.
|
|
339
|
+
|
|
340
|
+
SDK는 **두 개의 분리된 import**로 나뉘어, 실제로 사용하는 도메인만 번들에 포함됩니다:
|
|
341
|
+
|
|
342
|
+
1. `createIntlayerCMS` — 자격 증명과 관리되는 토큰을 보유하는 가벼운 **인증기**(도메인 클라이언트는 번들되지 않음).
|
|
343
|
+
2. `dictionaryEndpoint`, `projectEndpoint`, … — 도메인별 **엔드포인트 바인더**로, 각각 자체 서브패스에서 가져옵니다.
|
|
344
|
+
|
|
345
|
+
```ts fileName="cms.ts"
|
|
346
|
+
import { createIntlayerCMS } from "@intlayer/api";
|
|
347
|
+
import { dictionaryEndpoint } from "@intlayer/api/dictionary";
|
|
348
|
+
|
|
349
|
+
// 구성은 선택 사항입니다: 자격 증명은 INTLAYER_CLIENT_ID /
|
|
350
|
+
// INTLAYER_CLIENT_SECRET(`@intlayer/config/built`로 해석됨)로 폴백됩니다.
|
|
351
|
+
const cms = createIntlayerCMS();
|
|
352
|
+
|
|
353
|
+
// 읽기
|
|
354
|
+
const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
|
|
355
|
+
|
|
356
|
+
// 쓰기 — CMS를 데이터베이스처럼 사용
|
|
357
|
+
await dictionaryEndpoint(cms).pushDictionaries([myDictionary]);
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
> 보안: CMS 자격 증명은 콘텐츠에 대한 쓰기 권한을 부여합니다. 인증기는 항상 **서버 측**에서만 생성하고, `clientId` / `clientSecret`을 브라우저로 절대 보내지 마세요.
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
299
364
|
## v8에서의 마이그레이션 노트
|
|
300
365
|
|
|
301
366
|
v8에서 업그레이드하는 경우, v9에는 하위 호환성을 깨뜨리는 변경 사항(breaking changes)이 포함되어 있지 않습니다. 하지만 다음과 같은 주요 변경 사항이 있습니다:
|
|
@@ -310,4 +375,6 @@ v8에서 업그레이드하는 경우, v9에는 하위 호환성을 깨뜨리는
|
|
|
310
375
|
|
|
311
376
|
- [호환 어댑터 패키지 가이드](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compat/index.md)
|
|
312
377
|
- [동적 딕셔너리 - 컬렉션 및 베리언트](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dynamic_dictionaries/index.md)
|
|
378
|
+
- [Analytics - 콘텐츠 노출 추적 및 A/B 테스트](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
|
|
313
379
|
- [설정 레퍼런스](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)
|
|
380
|
+
- [CMS SDK - @intlayer/api를 통한 프로그래밍 방식 접근](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-30
|
|
3
|
+
updatedAt: 2026-06-30
|
|
4
|
+
title: Intlayer 자체 호스팅
|
|
5
|
+
description: 단일 명령으로 자신만의 인프라에서 완벽한 Intlayer 인스턴스를 실행하세요. Intlayer Cloud 계정이 필요하지 않습니다.
|
|
6
|
+
keywords:
|
|
7
|
+
- 자체 호스팅
|
|
8
|
+
- Docker
|
|
9
|
+
- Docker Compose
|
|
10
|
+
- Intlayer
|
|
11
|
+
- CMS
|
|
12
|
+
- 설치
|
|
13
|
+
- 인프라
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- self-hosting
|
|
17
|
+
author: aymericzip
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Intlayer 자체 호스팅
|
|
21
|
+
|
|
22
|
+
Intlayer는 Intlayer Cloud 계정 없이도 자체 인프라에서 완전히 실행될 수 있습니다. 단일 명령으로 프로덕션 준비 스택을 부팅합니다:
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
설치 프로그램은 `docker-compose.yml` 및 `.env` 파일을 다운로드하고, 필요한 비밀을 자동으로 생성하며, `docker compose up -d` 명령으로 모든 컨테이너를 시작합니다.
|
|
29
|
+
|
|
30
|
+
## 목차
|
|
31
|
+
|
|
32
|
+
<TOC/>
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 아키텍처
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
┌─────────────────────────────┐
|
|
40
|
+
브라우저 ──────▶ │ 앱 (TanStack Start) :3000│ ──┐
|
|
41
|
+
└─────────────────────────────┘ │ VITE_BACKEND_URL
|
|
42
|
+
┌─────────────────────────────┐ │
|
|
43
|
+
│ 백엔드 (Fastify/Bun) :3100│ ◀─┘
|
|
44
|
+
└──────────────┬──────────────┘
|
|
45
|
+
┌──────────┬─────────┼──────────┬───────────┐
|
|
46
|
+
▼ ▼ ▼ ▼ ▼
|
|
47
|
+
mongo:27017 redis:6379 minio:9000 mailpit:1025 Chromium
|
|
48
|
+
(1-노드 RS) (S3 API) (SMTP) (이미지 내)
|
|
49
|
+
minio:9001 mailpit:8025
|
|
50
|
+
(콘솔) (웹 UI)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Chromium (Puppeteer 스크린샷 생성에 사용됨)은 백엔드 이미지 내부에 번들로 제공되므로 별도의 컨테이너가 필요하지 않습니다.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 사전 요구 사항
|
|
58
|
+
|
|
59
|
+
- **Docker** ≥ 24 및 **Docker Compose** ≥ v2. 둘 중 하나라도 없으면 설치 프로그램이 설치 링크를 출력하고 종료됩니다.
|
|
60
|
+
- 호스트에서 포트 `3000`, `3100`, `8025`, `9000`, `9001`이 사용 가능해야 합니다.
|
|
61
|
+
- Linux 또는 macOS 호스트 (또는 Windows의 WSL2).
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 빠른 시작
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
설치 프로그램의 기능:
|
|
72
|
+
|
|
73
|
+
1. `docker` 및 `docker compose`가 설치되어 있는지 확인합니다.
|
|
74
|
+
2. `docker-compose.yml` 및 `.env.example`을 `./intlayer/` 디렉토리에 다운로드합니다.
|
|
75
|
+
3. `.env` 파일이 없으면 예제 파일을 복사하고 `openssl rand`를 통해 `BETTER_AUTH_SECRET`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`에 대한 임의의 비밀을 생성합니다.
|
|
76
|
+
4. `docker compose pull` + `docker compose up -d`를 실행합니다.
|
|
77
|
+
5. 다음 URL을 출력합니다: 대시보드 `:3000`, API `:3100`, 이메일 UI `:8025`, MinIO 콘솔 `:9001`.
|
|
78
|
+
|
|
79
|
+
스택이 실행되면 **http://localhost:3000**을 열고 첫 번째 계정을 생성하세요.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 서비스
|
|
84
|
+
|
|
85
|
+
| 서비스 | 이미지 | 호스트 포트 | 목적 |
|
|
86
|
+
| ----------- | ---------------------------------- | ----------------------------- | ----------------------------------------------- |
|
|
87
|
+
| **앱** | `apps/app/Dockerfile`에서 빌드 | `3000` | TanStack Start 대시보드 (CMS UI) |
|
|
88
|
+
| **백엔드** | `apps/backend/Dockerfile`에서 빌드 | `3100` | Fastify REST API (`/health` 엔드포인트) |
|
|
89
|
+
| **mongo** | `mongo:7` | 내부 | 단일 노드 복제본 세트 (`rs0`) |
|
|
90
|
+
| **redis** | `redis:7-alpine` | 내부 | 작업 큐 (BullMQ) 및 캐싱 (ioredis) |
|
|
91
|
+
| **minio** | `minio/minio` | `9000` (S3), `9001` (콘솔) | 아바타 및 스크린샷을 위한 S3 호환 객체 스토리지 |
|
|
92
|
+
| **mailpit** | `axllent/mailpit` | `1025` (SMTP), `8025` (웹 UI) | 로컬 트랜잭션 이메일 싱크 |
|
|
93
|
+
|
|
94
|
+
내부 포트(mongo, redis)는 기본적으로 호스트에 노출되지 않습니다.
|
|
95
|
+
|
|
96
|
+
> MinIO 포트 `9000`은 브라우저에서 접근할 수 있어야 합니다. 업로드된 자산(아바타, 스크린샷)은 `S3_PUBLIC_URL=http://localhost:9000/intlayer`에서 직접 로드되기 때문입니다.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 환경 변수
|
|
101
|
+
|
|
102
|
+
설치 프로그램은 즉시 사용할 수 있는 `.env` 파일을 생성합니다. 아래 표는 모든 변수를 설명합니다.
|
|
103
|
+
|
|
104
|
+
### 필수 (자동 생성 또는 프롬프트)
|
|
105
|
+
|
|
106
|
+
| 변수 | 예시 | 설명 |
|
|
107
|
+
| ---------------------- | ----------------------------------------------- | -------------------------------------- |
|
|
108
|
+
| `NODE_ENV` | `production` | 런타임 환경 |
|
|
109
|
+
| `PORT` | `3100` | 백엔드 리스닝 포트 |
|
|
110
|
+
| `BACKEND_URL` | `http://localhost:3100` | 백엔드 API의 공개 URL |
|
|
111
|
+
| `APP_URL` | `http://localhost:3000` | 대시보드의 공개 URL |
|
|
112
|
+
| `DOMAIN` | `localhost` | 쿠키 도메인 |
|
|
113
|
+
| `MONGODB_URI` | `mongodb://mongo:27017/intlayer?replicaSet=rs0` | 전체 MongoDB 연결 URI |
|
|
114
|
+
| `REDIS_URL` | `redis://redis:6379` | Redis 연결 URL |
|
|
115
|
+
| `BETTER_AUTH_SECRET` | _(생성됨)_ | 세션 서명을 위한 32바이트 비밀 키 |
|
|
116
|
+
| `MAIL_PROVIDER` | `smtp` | 메일 전송 방식: `smtp` 또는 `resend` |
|
|
117
|
+
| `MAIL_SMTP_HOST` | `mailpit` | SMTP 호스트명 (Mailpit 컨테이너 이름) |
|
|
118
|
+
| `MAIL_SMTP_PORT` | `1025` | SMTP 포트 |
|
|
119
|
+
| `MAIL_FROM` | `Intlayer <no-reply@localhost>` | 발신자 주소 |
|
|
120
|
+
| `S3_ENDPOINT` | `http://minio:9000` | S3 호환 엔드포인트 |
|
|
121
|
+
| `S3_PUBLIC_URL` | `http://localhost:9000/intlayer` | 브라우저 자산 로딩을 위한 공개 URL |
|
|
122
|
+
| `S3_BUCKET_NAME` | `intlayer` | 버킷 이름 |
|
|
123
|
+
| `S3_ACCESS_KEY_ID` | _(생성됨)_ | MinIO 접근 키 |
|
|
124
|
+
| `S3_SECRET_ACCESS_KEY` | _(생성됨)_ | MinIO 비밀 키 |
|
|
125
|
+
| `VITE_BACKEND_URL` | `http://localhost:3100` | 빌드 시 대시보드에 내장되는 백엔드 URL |
|
|
126
|
+
| `VITE_DOMAIN` | `localhost` | 빌드 시 대시보드에 내장되는 도메인 |
|
|
127
|
+
|
|
128
|
+
### 선택 사항 (누락 시 기능이 점진적으로 저하됨)
|
|
129
|
+
|
|
130
|
+
| 변수 | 기능 |
|
|
131
|
+
| -------------------------------------------------------- | ------------------------------------------------------ |
|
|
132
|
+
| `OPENAI_API_KEY` | AI 기반 번역 및 콘텐츠 감사 |
|
|
133
|
+
| `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, `STRIPE_*` | 결제 및 구독 관리 |
|
|
134
|
+
| `RESEND_API_KEY` | Resend를 통한 트랜잭션 이메일 (설정 시 Mailpit 재정의) |
|
|
135
|
+
| `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` | GitHub OAuth 로그인 |
|
|
136
|
+
| `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | Google OAuth 로그인 |
|
|
137
|
+
| `GITLAB_CLIENT_ID`, `GITLAB_CLIENT_SECRET` | GitLab OAuth 로그인 |
|
|
138
|
+
| `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET` | Microsoft OAuth 로그인 |
|
|
139
|
+
| `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET` | LinkedIn OAuth 로그인 |
|
|
140
|
+
| `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET` | Atlassian OAuth 로그인 |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Intlayer 프로젝트 연결하기
|
|
145
|
+
|
|
146
|
+
스택이 실행되면 프로젝트가 `intlayer.org` 대신 자체 호스팅된 백엔드 및 대시보드를 가리키도록 설정하세요.
|
|
147
|
+
|
|
148
|
+
### 프로젝트 설정
|
|
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
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
156
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* 자체 호스팅 CMS 대시보드의 URL.
|
|
160
|
+
* 기본값: https://app.intlayer.org
|
|
161
|
+
*/
|
|
162
|
+
cmsURL: process.env.INTLAYER_CMS_URL, // 예: http://localhost:3000
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* 자체 호스팅 백엔드 API의 URL.
|
|
166
|
+
* 기본값: https://back.intlayer.org
|
|
167
|
+
*/
|
|
168
|
+
backendURL: process.env.INTLAYER_BACKEND_URL, // 예: http://localhost:3100
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export default config;
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
프로젝트의 `.env` 파일에 환경 변수를 설정하세요:
|
|
176
|
+
|
|
177
|
+
```sh
|
|
178
|
+
INTLAYER_CMS_URL=http://localhost:3000
|
|
179
|
+
INTLAYER_BACKEND_URL=http://localhost:3100
|
|
180
|
+
INTLAYER_CLIENT_ID=<your-client-id>
|
|
181
|
+
INTLAYER_CLIENT_SECRET=<your-client-secret>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
`http://localhost:3000/projects`의 자체 호스팅 대시보드 **프로젝트 → 접근 키**에서 접근 자격 증명을 생성하세요.
|
|
185
|
+
|
|
186
|
+
### `@intlayer/api` SDK
|
|
187
|
+
|
|
188
|
+
`@intlayer/api` SDK를 프로그래밍 방식으로 사용할 때, `backendURL`을 명시적으로 전달하세요:
|
|
189
|
+
|
|
190
|
+
```typescript fileName="cms.ts" codeFormat="typescript"
|
|
191
|
+
import { createIntlayerCMS } from "@intlayer/api";
|
|
192
|
+
import { dictionaryEndpoint } from "@intlayer/api/dictionary";
|
|
193
|
+
|
|
194
|
+
const cms = createIntlayerCMS({
|
|
195
|
+
editor: {
|
|
196
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
197
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
198
|
+
backendURL: process.env.INTLAYER_BACKEND_URL, // http://localhost:3100
|
|
199
|
+
},
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 업그레이드
|
|
208
|
+
|
|
209
|
+
기존 배포에서 설치 프로그램을 다시 실행하면 롤링 업그레이드가 수행됩니다:
|
|
210
|
+
|
|
211
|
+
```sh
|
|
212
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
이는 최신 이미지를 가져오고 `docker compose pull && docker compose up -d`를 사용하여 컨테이너를 다시 시작합니다. 기존 볼륨(`mongo-data`, `redis-data`, `minio-data`)은 보존되므로 데이터 손실이 없습니다.
|
|
216
|
+
|
|
217
|
+
`./intlayer/` 디렉토리 내부에서 수동으로 업그레이드하려면:
|
|
218
|
+
|
|
219
|
+
```sh
|
|
220
|
+
docker compose pull
|
|
221
|
+
docker compose up -d
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## 백업 및 복원
|
|
227
|
+
|
|
228
|
+
모든 영구 데이터는 세 개의 명명된 Docker 볼륨에 저장됩니다.
|
|
229
|
+
|
|
230
|
+
### 백업
|
|
231
|
+
|
|
232
|
+
```sh
|
|
233
|
+
docker run --rm \
|
|
234
|
+
-v intlayer_mongo-data:/data \
|
|
235
|
+
-v "$(pwd)":/backup \
|
|
236
|
+
busybox tar czf /backup/mongo-data.tar.gz /data
|
|
237
|
+
|
|
238
|
+
docker run --rm \
|
|
239
|
+
-v intlayer_redis-data:/data \
|
|
240
|
+
-v "$(pwd)":/backup \
|
|
241
|
+
busybox tar czf /backup/redis-data.tar.gz /data
|
|
242
|
+
|
|
243
|
+
docker run --rm \
|
|
244
|
+
-v intlayer_minio-data:/data \
|
|
245
|
+
-v "$(pwd)":/backup \
|
|
246
|
+
busybox tar czf /backup/minio-data.tar.gz /data
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 복원
|
|
250
|
+
|
|
251
|
+
```sh
|
|
252
|
+
docker run --rm \
|
|
253
|
+
-v intlayer_mongo-data:/data \
|
|
254
|
+
-v "$(pwd)":/backup \
|
|
255
|
+
busybox tar xzf /backup/mongo-data.tar.gz -C /
|
|
256
|
+
|
|
257
|
+
# redis-data 및 minio-data에 대해서도 반복합니다.
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## 리버스 프록시 사용 (Nginx / Caddy)
|
|
263
|
+
|
|
264
|
+
프로덕션 배포의 경우, 앱 및 백엔드 컨테이너를 직접 노출하는 대신 리버스 프록시를 앞에 배치하세요.
|
|
265
|
+
|
|
266
|
+
### Nginx 예시
|
|
267
|
+
|
|
268
|
+
```nginx
|
|
269
|
+
server {
|
|
270
|
+
listen 80;
|
|
271
|
+
server_name cms.example.com;
|
|
272
|
+
|
|
273
|
+
location / {
|
|
274
|
+
proxy_pass http://localhost:3000;
|
|
275
|
+
proxy_set_header Host $host;
|
|
276
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
server {
|
|
281
|
+
listen 80;
|
|
282
|
+
server_name api.example.com;
|
|
283
|
+
|
|
284
|
+
location / {
|
|
285
|
+
proxy_pass http://localhost:3100;
|
|
286
|
+
proxy_set_header Host $host;
|
|
287
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
공개 도메인과 일치하도록 다음 `.env` 변수를 업데이트하세요:
|
|
293
|
+
|
|
294
|
+
```sh
|
|
295
|
+
BACKEND_URL=https://api.example.com
|
|
296
|
+
APP_URL=https://cms.example.com
|
|
297
|
+
DOMAIN=example.com
|
|
298
|
+
VITE_BACKEND_URL=https://api.example.com
|
|
299
|
+
VITE_DOMAIN=example.com
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
> `VITE_*` 변수는 빌드 시 대시보드 이미지에 내장됩니다. 이미지가 빌드된 후 이를 변경하는 경우, `app` 이미지를 다시 빌드(`docker compose build app`)하거나 런타임 구성 주입을 사용해야 합니다.
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## 문제 해결
|
|
307
|
+
|
|
308
|
+
### 첫 시작 시 백엔드 충돌 반복
|
|
309
|
+
|
|
310
|
+
백엔드가 시작되기 전에 MongoDB와 Redis가 정상 상태여야 합니다. compose 파일은 `condition: service_healthy`와 함께 `depends_on`을 사용합니다. 백엔드 재시작이 반복적으로 발생하면 `mongo` 및 `redis` 헬스체크가 통과하는지 확인하세요:
|
|
311
|
+
|
|
312
|
+
```sh
|
|
313
|
+
docker compose ps
|
|
314
|
+
docker compose logs mongo
|
|
315
|
+
docker compose logs redis
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 대시보드가 API에 연결할 수 없음
|
|
319
|
+
|
|
320
|
+
`VITE_BACKEND_URL`이 **브라우저**에서 백엔드에 접근 가능한 URL(Docker 네트워크가 아님)과 일치하는지 확인하세요. 백엔드 포트를 변경했거나 리버스 프록시를 추가했다면, 대시보드 이미지를 다시 빌드해야 합니다:
|
|
321
|
+
|
|
322
|
+
```sh
|
|
323
|
+
docker compose build app
|
|
324
|
+
docker compose up -d app
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### 이메일이 전송되지 않음
|
|
328
|
+
|
|
329
|
+
기본적으로 모든 발신 이메일은 Mailpit에 의해 캡처됩니다. `http://localhost:8025`를 열어 전송된 메시지를 확인하세요. 실제 이메일을 보내려면 `.env` 파일에 `MAIL_PROVIDER=resend` 및 `RESEND_API_KEY=<your-key>`를 설정한 다음 백엔드를 다시 시작하세요:
|
|
330
|
+
|
|
331
|
+
```sh
|
|
332
|
+
docker compose restart backend
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### MinIO 버킷 누락
|
|
336
|
+
|
|
337
|
+
`minio-init` 일회성 서비스가 실행되지 않았거나(또는 MinIO가 준비되기 전에 실행된 경우), 수동으로 버킷을 생성하세요:
|
|
338
|
+
|
|
339
|
+
```sh
|
|
340
|
+
docker compose run --rm minio-init
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## 유용한 링크
|
|
346
|
+
|
|
347
|
+
- [Intlayer CMS 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)
|
|
348
|
+
- [설정 참조](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)
|
|
349
|
+
- [CMS SDK — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md#programmatic-access-with-the-intlayerapi-sdk)
|
|
350
|
+
- [Docker Image (aymercizip/intlayer-selfhost)](https://hub.docker.com/repository/docker/aymercizip/intlayer-selfhost/general)
|
|
@@ -231,6 +231,9 @@ Next.js vereist de `@intlayer/swc` plugin voor de optimize-stap (import-herschri
|
|
|
231
231
|
|
|
232
232
|
> Deze plugin is niet standaard geïnstalleerd omdat SWC plugins nog experimenteel zijn voor Next.js. Dit kan in de toekomst veranderen.
|
|
233
233
|
|
|
234
|
+
<Tabs>
|
|
235
|
+
<Tab value="npm">
|
|
236
|
+
|
|
234
237
|
```bash packageManager="npm"
|
|
235
238
|
npm install -D @intlayer/swc
|
|
236
239
|
```
|
|
@@ -247,6 +250,19 @@ pnpm add -D @intlayer/swc
|
|
|
247
250
|
bun add -d @intlayer/swc
|
|
248
251
|
```
|
|
249
252
|
|
|
253
|
+
</Tab>
|
|
254
|
+
<Tab value="Crates.io (rust)">
|
|
255
|
+
|
|
256
|
+
```toml fileName="Cargo.toml"
|
|
257
|
+
[dependencies]
|
|
258
|
+
intlayer-swc-plugin = "*"
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
[View on Crates.io](https://crates.io/crates/intlayer-swc-plugin)
|
|
262
|
+
|
|
263
|
+
</Tab>
|
|
264
|
+
</Tabs>
|
|
265
|
+
|
|
250
266
|
Zodra geïnstalleerd, zal Intlayer de plugin automatisch detecteren en gebruiken.
|
|
251
267
|
|
|
252
268
|
Voor de **purge en minify** stappen (veldverwijdering en veldhernoeming), installeert u `@intlayer/babel` en voegt u de Babel-plugins toe. Omdat Next.js SWC gebruikt voor transformatie maar nog steeds `babel.config.js` evalueert voor pluginconfiguratie, draaien de Babel-plugins als een pre-stap voor SWC.
|
package/docs/nl/cli/index.md
CHANGED
|
@@ -125,7 +125,7 @@ Om te zien hoe u beschikbare talen of andere parameters configureert, raadpleegt
|
|
|
125
125
|
|
|
126
126
|
### Authenticatie
|
|
127
127
|
|
|
128
|
-
- **[Inloggen](https://github.com/aymericzip/intlayer/blob/main/docs/docs/nl/login.md)** - Authenticeren bij het Intlayer CMS en inloggegevens verkrijgen
|
|
128
|
+
- **[Inloggen](https://github.com/aymericzip/intlayer/blob/main/docs/docs/nl/cli/login.md)** - Authenticeren bij het Intlayer CMS en inloggegevens verkrijgen
|
|
129
129
|
|
|
130
130
|
### Kerncommando's
|
|
131
131
|
|
package/docs/nl/cli/scan.md
CHANGED
|
@@ -150,10 +150,10 @@ await scan("https://example.com", {
|
|
|
150
150
|
});
|
|
151
151
|
```
|
|
152
152
|
|
|
153
|
-
Voor toegang op een lager niveau retourneert `scanWebsite` van `@intlayer/
|
|
153
|
+
Voor toegang op een lager niveau retourneert `scanWebsite` van `@intlayer/engine/scan` een gestructureerd `ScanResult`-object:
|
|
154
154
|
|
|
155
155
|
```ts
|
|
156
|
-
import { scanWebsite } from "@intlayer/
|
|
156
|
+
import { scanWebsite } from "@intlayer/engine/scan";
|
|
157
157
|
|
|
158
158
|
const result = await scanWebsite("https://example.com", { deep: false });
|
|
159
159
|
console.log(result.score, result.totalPageSize, result.events);
|
package/docs/nl/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-07-11
|
|
4
4
|
title: Configuratie (Configuration)
|
|
5
5
|
description: Leer hoe u Intlayer configureert voor uw applicatie. Begrijp de verschillende instellingen en opties die beschikbaar zijn om Intlayer aan uw behoeften aan te passen.
|
|
6
6
|
keywords:
|
|
@@ -14,6 +14,12 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-07-11
|
|
19
|
+
changes: "`analytics` configuratie toegevoegd"
|
|
20
|
+
- version: 9.0.0
|
|
21
|
+
date: 2026-06-24
|
|
22
|
+
changes: "Add `enableProxy` option to the routing configuration"
|
|
17
23
|
- version: 8.10.0
|
|
18
24
|
date: 2026-06-17
|
|
19
25
|
changes: "Optie `format` toegevoegd aan de woordenboekconfiguratie"
|
|
@@ -352,6 +358,30 @@ const config: IntlayerConfig = {
|
|
|
352
358
|
liveSync: true,
|
|
353
359
|
},
|
|
354
360
|
|
|
361
|
+
/**
|
|
362
|
+
* Analytics-configuratie.
|
|
363
|
+
*/
|
|
364
|
+
analytics: {
|
|
365
|
+
/**
|
|
366
|
+
* Of het verzamelen van analytics is ingeschakeld (paginaweergaven, content-exposities, A/B-events).
|
|
367
|
+
* Vereist dat `editor.clientId` is ingesteld voor attributie.
|
|
368
|
+
* Standaard: false
|
|
369
|
+
*/
|
|
370
|
+
enabled: true,
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Milliseconden tussen automatische gebundelde verzendingen naar de backend.
|
|
374
|
+
* Standaard: 20000
|
|
375
|
+
*/
|
|
376
|
+
flushInterval: 20000,
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Fractie van sessies om te registreren, van 0 (geen) tot 1 (alle).
|
|
380
|
+
* Standaard: 1
|
|
381
|
+
*/
|
|
382
|
+
sampleRate: 1,
|
|
383
|
+
},
|
|
384
|
+
|
|
355
385
|
/**
|
|
356
386
|
* Instellingen voor vertalingen en genereren met behulp van AI.
|
|
357
387
|
*/
|
|
@@ -665,6 +695,20 @@ Definieert de instellingen voor de ingebouwde visuele editor, inclusief de serve
|
|
|
665
695
|
|
|
666
696
|
---
|
|
667
697
|
|
|
698
|
+
### Analytics-configuratie (Analytics)
|
|
699
|
+
|
|
700
|
+
Definieert instellingen voor Intlayer analytics: het verzamelen van welke content daadwerkelijk aan gebruikers wordt getoond (paginaweergaven, content-exposities) en het mogelijk maken van A/B-testen op content.
|
|
701
|
+
|
|
702
|
+
Analytics is strikt opt-in: er wordt niets verzameld tenzij `analytics.enabled` expliciet is ingesteld op `true` **en** een projectsleutel (`editor.clientId`) is geconfigureerd voor attributie. Wanneer uitgeschakeld (standaard) wordt de volledige analytics-integratie uit uw applicatiebundel verwijderd (dead-code elimination).
|
|
703
|
+
|
|
704
|
+
| Veld | Beschrijving | Type | Standaard | Voorbeeld | Opmerking |
|
|
705
|
+
| --------------- | ------------------------------------------------------------------------------------------- | --------- | --------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
706
|
+
| `enabled` | Schakelt het verzamelen van analytics in (paginaweergaven, content-exposities, A/B-events). | `boolean` | `false` | `true` | Vereist dat `editor.clientId` is ingesteld voor attributie; anders blijft analytics uitgeschakeld, zelfs als `enabled` op `true` staat. |
|
|
707
|
+
| `flushInterval` | Milliseconden tussen automatische gebundelde verzendingen naar de backend. | `number` | `20000` | `10000` | |
|
|
708
|
+
| `sampleRate` | Fractie van sessies om te registreren, van `0` (geen) tot `1` (alle). | `number` | `1` | `0.5` | Sampling is deterministisch per sessie, zodat een geregistreerde sessie al zijn events rapporteert (geen gedeeltelijke funnels). |
|
|
709
|
+
|
|
710
|
+
---
|
|
711
|
+
|
|
668
712
|
### Routingconfiguratie (Routing)
|
|
669
713
|
|
|
670
714
|
Instellingen die het gedrag van routing regelen, inclusief URL-structuur, opslag van locales en beheer van middleware.
|