@intlayer/docs 9.0.0-canary.10 → 9.0.0-canary.12
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-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/generated/docs.entry.cjs +20 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +20 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/bundle_optimization.md +16 -0
- package/docs/ar/cli/scan.md +2 -2
- package/docs/ar/how_works_intlayer.md +2 -2
- package/docs/ar/intlayer_CMS.md +16 -1
- 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/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 +58 -19
- package/docs/ar/self_hosting.md +350 -0
- package/docs/bn/bundle_optimization.md +16 -0
- package/docs/bn/cli/scan.md +2 -2
- 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 +340 -0
- package/docs/cs/bundle_optimization.md +16 -0
- package/docs/cs/cli/scan.md +2 -2
- 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 +340 -0
- package/docs/de/bundle_optimization.md +16 -0
- package/docs/de/cli/scan.md +2 -2
- package/docs/de/how_works_intlayer.md +2 -2
- package/docs/de/intlayer_CMS.md +117 -1
- 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/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 +61 -19
- package/docs/de/self_hosting.md +350 -0
- package/docs/en/bundle_optimization.md +16 -0
- package/docs/en/cli/scan.md +2 -2
- package/docs/en/how_works_intlayer.md +2 -2
- package/docs/en/intlayer_CMS.md +171 -1
- 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/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 +45 -20
- package/docs/en/self_hosting.md +292 -0
- package/docs/en-GB/bundle_optimization.md +16 -0
- package/docs/en-GB/cli/scan.md +2 -2
- package/docs/en-GB/how_works_intlayer.md +2 -2
- package/docs/en-GB/intlayer_CMS.md +16 -1
- 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/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 +47 -20
- package/docs/en-GB/self_hosting.md +350 -0
- package/docs/es/bundle_optimization.md +16 -0
- package/docs/es/cli/scan.md +2 -2
- package/docs/es/how_works_intlayer.md +2 -2
- package/docs/es/intlayer_CMS.md +117 -1
- 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/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 +61 -19
- package/docs/es/self_hosting.md +350 -0
- package/docs/fr/bundle_optimization.md +16 -0
- package/docs/fr/cli/scan.md +2 -2
- package/docs/fr/how_works_intlayer.md +2 -2
- package/docs/fr/intlayer_CMS.md +117 -1
- 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/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 +61 -19
- package/docs/fr/self_hosting.md +350 -0
- package/docs/hi/bundle_optimization.md +16 -0
- package/docs/hi/cli/scan.md +2 -2
- package/docs/hi/how_works_intlayer.md +2 -2
- package/docs/hi/intlayer_CMS.md +16 -1
- 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/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 +59 -19
- package/docs/hi/self_hosting.md +350 -0
- package/docs/id/bundle_optimization.md +16 -0
- package/docs/id/cli/scan.md +2 -2
- package/docs/id/how_works_intlayer.md +2 -2
- 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/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 +31 -19
- package/docs/id/self_hosting.md +350 -0
- package/docs/it/bundle_optimization.md +16 -0
- package/docs/it/cli/scan.md +2 -2
- package/docs/it/how_works_intlayer.md +2 -2
- package/docs/it/intlayer_CMS.md +117 -1
- 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/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 +61 -19
- package/docs/it/self_hosting.md +350 -0
- package/docs/ja/bundle_optimization.md +16 -0
- package/docs/ja/cli/scan.md +2 -2
- package/docs/ja/how_works_intlayer.md +2 -2
- package/docs/ja/intlayer_CMS.md +191 -10
- 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/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 +31 -19
- package/docs/ja/self_hosting.md +350 -0
- package/docs/ko/bundle_optimization.md +16 -0
- package/docs/ko/cli/scan.md +2 -2
- package/docs/ko/how_works_intlayer.md +2 -2
- package/docs/ko/intlayer_CMS.md +189 -6
- 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/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 +30 -19
- package/docs/ko/self_hosting.md +350 -0
- package/docs/nl/bundle_optimization.md +16 -0
- package/docs/nl/cli/scan.md +2 -2
- 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 +340 -0
- package/docs/pl/bundle_optimization.md +16 -0
- package/docs/pl/cli/scan.md +2 -2
- package/docs/pl/how_works_intlayer.md +2 -2
- package/docs/pl/intlayer_CMS.md +16 -1
- 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/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 +58 -19
- package/docs/pl/self_hosting.md +350 -0
- package/docs/pt/bundle_optimization.md +16 -0
- package/docs/pt/cli/scan.md +2 -2
- package/docs/pt/how_works_intlayer.md +2 -2
- package/docs/pt/intlayer_CMS.md +117 -1
- 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/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 +61 -19
- package/docs/pt/self_hosting.md +350 -0
- package/docs/ru/bundle_optimization.md +16 -0
- package/docs/ru/cli/scan.md +2 -2
- package/docs/ru/how_works_intlayer.md +2 -2
- package/docs/ru/intlayer_CMS.md +196 -15
- 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/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 +59 -19
- package/docs/ru/self_hosting.md +350 -0
- package/docs/tr/bundle_optimization.md +16 -0
- package/docs/tr/cli/scan.md +2 -2
- package/docs/tr/how_works_intlayer.md +2 -2
- package/docs/tr/intlayer_CMS.md +16 -1
- 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/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 +46 -19
- package/docs/tr/self_hosting.md +350 -0
- package/docs/uk/bundle_optimization.md +16 -0
- package/docs/uk/cli/scan.md +2 -2
- package/docs/uk/how_works_intlayer.md +2 -2
- package/docs/uk/intlayer_CMS.md +16 -1
- 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/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 +58 -19
- package/docs/uk/self_hosting.md +350 -0
- package/docs/ur/bundle_optimization.md +16 -0
- package/docs/ur/cli/scan.md +2 -2
- 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/scan.md +2 -2
- package/docs/vi/how_works_intlayer.md +2 -2
- 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/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 +31 -19
- package/docs/vi/self_hosting.md +350 -0
- package/docs/zh/bundle_optimization.md +16 -0
- package/docs/zh/cli/scan.md +2 -2
- package/docs/zh/how_works_intlayer.md +2 -2
- 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/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 +31 -19
- 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 +6 -6
- package/src/generated/docs.entry.ts +20 -0
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-30
|
|
3
|
+
updatedAt: 2026-06-30
|
|
4
|
+
title: Self-Hosting Intlayer
|
|
5
|
+
description: Jalankan instance Intlayer lengkap di infrastruktur Anda sendiri dengan satu perintah. Tidak memerlukan akun Intlayer Cloud.
|
|
6
|
+
keywords:
|
|
7
|
+
- Self-Hosting
|
|
8
|
+
- Docker
|
|
9
|
+
- Docker Compose
|
|
10
|
+
- Intlayer
|
|
11
|
+
- CMS
|
|
12
|
+
- Installation
|
|
13
|
+
- Infrastructure
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- self-hosting
|
|
17
|
+
author: aymericzip
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Self-Hosting Intlayer
|
|
21
|
+
|
|
22
|
+
Intlayer dapat berjalan sepenuhnya di infrastruktur Anda sendiri — tidak memerlukan akun Intlayer Cloud. Satu perintah akan mem-boot stack yang siap produksi:
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Installer mengunduh `docker-compose.yml` dan `.env`, membuat secret yang diperlukan secara otomatis, dan memulai semua kontainer dengan `docker compose up -d`.
|
|
29
|
+
|
|
30
|
+
## Daftar Isi
|
|
31
|
+
|
|
32
|
+
<TOC/>
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Arsitektur
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
┌─────────────────────────────┐
|
|
40
|
+
browser ──────▶ │ app (TanStack Start) :3000│ ──┐
|
|
41
|
+
└─────────────────────────────┘ │ VITE_BACKEND_URL
|
|
42
|
+
┌─────────────────────────────┐ │
|
|
43
|
+
│ backend (Fastify/Bun) :3100│ ◀─┘
|
|
44
|
+
└──────────────┬──────────────┘
|
|
45
|
+
┌──────────┬─────────┼──────────┬───────────┐
|
|
46
|
+
▼ ▼ ▼ ▼ ▼
|
|
47
|
+
mongo:27017 redis:6379 minio:9000 mailpit:1025 Chromium
|
|
48
|
+
(1-node RS) (S3 API) (SMTP) (in-image)
|
|
49
|
+
minio:9001 mailpit:8025
|
|
50
|
+
(console) (web UI)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Chromium (digunakan untuk pembuatan screenshot Puppeteer) dibundel di dalam image backend — tidak diperlukan kontainer terpisah.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Prasyarat
|
|
58
|
+
|
|
59
|
+
- **Docker** ≥ 24 dan **Docker Compose** ≥ v2. Jika salah satunya tidak ada, installer akan mencetak tautan instalasi dan keluar.
|
|
60
|
+
- Port `3000`, `3100`, `8025`, `9000`, dan `9001` tersedia di host.
|
|
61
|
+
- Host Linux atau macOS (atau WSL2 di Windows).
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Memulai Cepat
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Apa yang dilakukan installer:
|
|
72
|
+
|
|
73
|
+
1. Memeriksa bahwa `docker` dan `docker compose` ada.
|
|
74
|
+
2. Mengunduh `docker-compose.yml` dan `.env.example` ke `./intlayer/`.
|
|
75
|
+
3. Jika tidak ada `.env` yang ada, menyalin contoh dan menghasilkan secret acak untuk `BETTER_AUTH_SECRET`, `S3_ACCESS_KEY_ID`, dan `S3_SECRET_ACCESS_KEY` melalui `openssl rand`.
|
|
76
|
+
4. Menjalankan `docker compose pull` + `docker compose up -d`.
|
|
77
|
+
5. Mencetak URL: dashboard `:3000`, API `:3100`, UI email `:8025`, konsol MinIO `:9001`.
|
|
78
|
+
|
|
79
|
+
Setelah stack aktif, buka **http://localhost:3000** dan buat akun pertama Anda.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Layanan
|
|
84
|
+
|
|
85
|
+
| Layanan | Image | Port Host | Tujuan |
|
|
86
|
+
| ----------- | ------------------------------------- | ------------------------------ | ----------------------------------------------------------------------- |
|
|
87
|
+
| **app** | dibuat dari `apps/app/Dockerfile` | `3000` | Dashboard TanStack Start (UI CMS) |
|
|
88
|
+
| **backend** | dibuat dari `apps/backend/Dockerfile` | `3100` | Fastify REST API (`/health` endpoint) |
|
|
89
|
+
| **mongo** | `mongo:7` | internal | Replika set node tunggal (`rs0`) |
|
|
90
|
+
| **redis** | `redis:7-alpine` | internal | Job queues (BullMQ) dan caching (ioredis) |
|
|
91
|
+
| **minio** | `minio/minio` | `9000` (S3), `9001` (konsol) | Penyimpanan objek yang kompatibel dengan S3 untuk avatar dan screenshot |
|
|
92
|
+
| **mailpit** | `axllent/mailpit` | `1025` (SMTP), `8025` (UI web) | Sink email transaksional lokal |
|
|
93
|
+
|
|
94
|
+
Port internal (mongo, redis) tidak terekspos ke host secara default.
|
|
95
|
+
|
|
96
|
+
> Port MinIO `9000` harus dapat dijangkau oleh browser karena aset yang diunggah (avatar, screenshot) dimuat langsung dari `S3_PUBLIC_URL=http://localhost:9000/intlayer`.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Variabel Lingkungan
|
|
101
|
+
|
|
102
|
+
Installer menghasilkan `.env` yang siap pakai. Tabel di bawah ini menjelaskan setiap variabel.
|
|
103
|
+
|
|
104
|
+
### Wajib (dibuat secara otomatis atau diminta)
|
|
105
|
+
|
|
106
|
+
| Variabel | Contoh | Deskripsi |
|
|
107
|
+
| ---------------------- | ----------------------------------------------- | ------------------------------------------------------- |
|
|
108
|
+
| `NODE_ENV` | `production` | Lingkungan runtime |
|
|
109
|
+
| `PORT` | `3100` | Port listen backend |
|
|
110
|
+
| `BACKEND_URL` | `http://localhost:3100` | URL publik API backend |
|
|
111
|
+
| `APP_URL` | `http://localhost:3000` | URL publik dashboard |
|
|
112
|
+
| `DOMAIN` | `localhost` | Domain cookie |
|
|
113
|
+
| `MONGODB_URI` | `mongodb://mongo:27017/intlayer?replicaSet=rs0` | URI koneksi MongoDB lengkap |
|
|
114
|
+
| `REDIS_URL` | `redis://redis:6379` | URL koneksi Redis |
|
|
115
|
+
| `BETTER_AUTH_SECRET` | _(dibuat)_ | Secret 32-byte untuk penandatanganan sesi |
|
|
116
|
+
| `MAIL_PROVIDER` | `smtp` | Transportasi mail: `smtp` atau `resend` |
|
|
117
|
+
| `MAIL_SMTP_HOST` | `mailpit` | Nama host SMTP (nama kontainer Mailpit) |
|
|
118
|
+
| `MAIL_SMTP_PORT` | `1025` | Port SMTP |
|
|
119
|
+
| `MAIL_FROM` | `Intlayer <no-reply@localhost>` | Alamat pengirim |
|
|
120
|
+
| `S3_ENDPOINT` | `http://minio:9000` | Endpoint yang kompatibel dengan S3 |
|
|
121
|
+
| `S3_PUBLIC_URL` | `http://localhost:9000/intlayer` | URL publik untuk pemuatan aset browser |
|
|
122
|
+
| `S3_BUCKET_NAME` | `intlayer` | Nama bucket |
|
|
123
|
+
| `S3_ACCESS_KEY_ID` | _(dibuat)_ | Kunci akses MinIO |
|
|
124
|
+
| `S3_SECRET_ACCESS_KEY` | _(dibuat)_ | Kunci secret MinIO |
|
|
125
|
+
| `VITE_BACKEND_URL` | `http://localhost:3100` | URL backend yang tertanam di dashboard pada waktu build |
|
|
126
|
+
| `VITE_DOMAIN` | `localhost` | Domain yang tertanam di dashboard pada waktu build |
|
|
127
|
+
|
|
128
|
+
### Opsional (fitur akan menurun secara bertahap jika tidak ada)
|
|
129
|
+
|
|
130
|
+
| Variabel | Fitur |
|
|
131
|
+
| -------------------------------------------------------- | ------------------------------------------------------------- |
|
|
132
|
+
| `OPENAI_API_KEY` | Terjemahan berbantuan AI dan audit konten |
|
|
133
|
+
| `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, `STRIPE_*` | Penagihan dan manajemen langganan |
|
|
134
|
+
| `RESEND_API_KEY` | Email transaksional via Resend (menimpa Mailpit jika disetel) |
|
|
135
|
+
| `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` | Login GitHub OAuth |
|
|
136
|
+
| `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | Login Google OAuth |
|
|
137
|
+
| `GITLAB_CLIENT_ID`, `GITLAB_CLIENT_SECRET` | Login GitLab OAuth |
|
|
138
|
+
| `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET` | Login Microsoft OAuth |
|
|
139
|
+
| `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET` | Login LinkedIn OAuth |
|
|
140
|
+
| `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET` | Login Atlassian OAuth |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Menghubungkan proyek Intlayer Anda
|
|
145
|
+
|
|
146
|
+
Setelah stack berjalan, arahkan proyek Anda ke backend dan dashboard yang di-self-host, bukan ke `intlayer.org`.
|
|
147
|
+
|
|
148
|
+
### Konfigurasi proyek
|
|
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
|
+
* URL dashboard CMS yang di-self-host.
|
|
160
|
+
* Default: https://app.intlayer.org
|
|
161
|
+
*/
|
|
162
|
+
cmsURL: process.env.INTLAYER_CMS_URL, // e.g. http://localhost:3000
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* URL API backend yang di-self-host.
|
|
166
|
+
* Default: https://back.intlayer.org
|
|
167
|
+
*/
|
|
168
|
+
backendURL: process.env.INTLAYER_BACKEND_URL, // e.g. http://localhost:3100
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export default config;
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Setel variabel lingkungan di `.env` proyek Anda:
|
|
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
|
+
Buat kredensial akses di dashboard self-host Anda di bawah **Projects → Access keys** di `http://localhost:3000/projects`.
|
|
185
|
+
|
|
186
|
+
### `@intlayer/api` SDK
|
|
187
|
+
|
|
188
|
+
Saat menggunakan `@intlayer/api` SDK secara terprogram, teruskan `backendURL` secara eksplisit:
|
|
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
|
+
## Peningkatan
|
|
208
|
+
|
|
209
|
+
Menjalankan ulang installer pada deployment yang ada akan melakukan rolling upgrade:
|
|
210
|
+
|
|
211
|
+
```sh
|
|
212
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Ini menarik image terbaru dan memulai ulang kontainer dengan `docker compose pull && docker compose up -d`. Volume yang sudah ada (`mongo-data`, `redis-data`, `minio-data`) dipertahankan — tidak ada kehilangan data.
|
|
216
|
+
|
|
217
|
+
Untuk meningkatkan secara manual dari dalam direktori `./intlayer/`:
|
|
218
|
+
|
|
219
|
+
```sh
|
|
220
|
+
docker compose pull
|
|
221
|
+
docker compose up -d
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Cadangkan dan pulihkan
|
|
227
|
+
|
|
228
|
+
Semua data persisten berada dalam tiga volume Docker bernama.
|
|
229
|
+
|
|
230
|
+
### Cadangkan
|
|
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
|
+
### Pulihkan
|
|
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
|
+
# Ulangi untuk redis-data dan minio-data
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Menggunakan reverse proxy (Nginx / Caddy)
|
|
263
|
+
|
|
264
|
+
Untuk deployment produksi, letakkan reverse proxy di depan kontainer aplikasi dan backend daripada mengeksposnya secara langsung.
|
|
265
|
+
|
|
266
|
+
### Contoh 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
|
+
Perbarui variabel `.env` berikut agar sesuai dengan domain publik Anda:
|
|
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
|
+
> Variabel `VITE_*` tertanam dalam image dashboard pada waktu build. Jika Anda mengubahnya setelah image dibuat, Anda perlu membangun ulang image `app` (`docker compose build app`) atau menggunakan injeksi konfigurasi runtime.
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Pemecahan Masalah
|
|
307
|
+
|
|
308
|
+
### Backend crash-loops pada start pertama
|
|
309
|
+
|
|
310
|
+
MongoDB dan Redis harus sehat sebelum backend dimulai. File compose menggunakan `depends_on` dengan `condition: service_healthy`. Jika Anda melihat restart backend berulang, periksa apakah `healthchecks` `mongo` dan `redis` lulus:
|
|
311
|
+
|
|
312
|
+
```sh
|
|
313
|
+
docker compose ps
|
|
314
|
+
docker compose logs mongo
|
|
315
|
+
docker compose logs redis
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Dashboard tidak dapat mencapai API
|
|
319
|
+
|
|
320
|
+
Verifikasi bahwa `VITE_BACKEND_URL` cocok dengan URL di mana backend dapat dijangkau dari **browser** (bukan jaringan Docker). Jika Anda mengubah port backend atau menambahkan reverse proxy, bangun ulang image dashboard:
|
|
321
|
+
|
|
322
|
+
```sh
|
|
323
|
+
docker compose build app
|
|
324
|
+
docker compose up -d app
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Email tidak terkirim
|
|
328
|
+
|
|
329
|
+
Secara default, semua email keluar ditangkap oleh Mailpit. Buka `http://localhost:8025` untuk melihat pesan yang terkirim. Untuk mengirim email sungguhan, setel `MAIL_PROVIDER=resend` dan `RESEND_API_KEY=<your-key>` di `.env`, lalu restart backend:
|
|
330
|
+
|
|
331
|
+
```sh
|
|
332
|
+
docker compose restart backend
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Bucket MinIO hilang
|
|
336
|
+
|
|
337
|
+
Jika layanan one-shot `minio-init` tidak berjalan (atau berjalan sebelum MinIO siap), buat bucket secara manual:
|
|
338
|
+
|
|
339
|
+
```sh
|
|
340
|
+
docker compose run --rm minio-init
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Tautan Berguna
|
|
346
|
+
|
|
347
|
+
- [Dokumentasi Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_CMS.md)
|
|
348
|
+
- [Referensi Konfigurasi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/configuration.md)
|
|
349
|
+
- [SDK CMS — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/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 richiede il plugin `@intlayer/swc` per la fase optimize (riscrittura deg
|
|
|
231
231
|
|
|
232
232
|
> Questo plugin non è installato di default perché i plugin SWC sono ancora sperimentali in Next.js. Questo aspetto potrebbe cambiare in futuro.
|
|
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
|
Una volta installato, Intlayer rileverà e utilizzerà automaticamente il plugin.
|
|
251
267
|
|
|
252
268
|
Per i passaggi di **purge e minify** (rimozione dei campi e ridenominazione dei campi), installa `@intlayer/babel` insieme e aggiungi i plugin Babel. Dal momento che Next.js usa SWC per le trasformazioni ma valuta ancora `babel.config.js` per la configurazione dei plugin, i plugin Babel agiscono come fase preliminare rispetto ad SWC.
|
package/docs/it/cli/scan.md
CHANGED
|
@@ -150,10 +150,10 @@ await scan("https://example.com", {
|
|
|
150
150
|
});
|
|
151
151
|
```
|
|
152
152
|
|
|
153
|
-
Per l'accesso di livello inferiore, `scanWebsite` da `@intlayer/
|
|
153
|
+
Per l'accesso di livello inferiore, `scanWebsite` da `@intlayer/engine/scan` restituisce un oggetto `ScanResult` strutturato:
|
|
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);
|
|
@@ -217,9 +217,9 @@ Il pacchetto `@intlayer/mcp` fornisce un server MCP (Model Context Protocol) che
|
|
|
217
217
|
|
|
218
218
|
I pacchetti `@intlayer/dictionaries-entry`, `@intlayer/unmerged-dictionaries-entry` e `@intlayer/dynamic-dictionaries-entry` restituiscono il percorso di ingresso dei dizionari Intlayer. Poiché è impossibile cercare nel filesystem dal browser, non è possibile utilizzare bundler come Webpack o Rollup per recuperare il percorso di ingresso dei dizionari. Questi pacchetti sono progettati per essere aliasati, consentendo l'ottimizzazione del bundling attraverso vari bundler come Vite, Webpack e Turbopack.
|
|
219
219
|
|
|
220
|
-
### @intlayer/
|
|
220
|
+
### @intlayer/engine
|
|
221
221
|
|
|
222
|
-
Il pacchetto `@intlayer/
|
|
222
|
+
Il pacchetto `@intlayer/engine` viene utilizzato per monitorare i file di contenuto e rigenerare il dizionario modificato ad ogni modifica.
|
|
223
223
|
|
|
224
224
|
### @intlayer/editor
|
|
225
225
|
|
package/docs/it/intlayer_CMS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-08-23
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-06-30
|
|
4
4
|
title: Intlayer CMS | Esternalizza i tuoi contenuti nel CMS di Intlayer
|
|
5
5
|
description: Esternalizza i tuoi contenuti nel CMS di Intlayer per delegare la gestione dei tuoi contenuti al tuo team.
|
|
6
6
|
keywords:
|
|
@@ -18,6 +18,9 @@ slugs:
|
|
|
18
18
|
- cms
|
|
19
19
|
youtubeVideo: https://www.youtube.com/watch?v=UDDTnirwi_4
|
|
20
20
|
history:
|
|
21
|
+
- version: 9.0.0
|
|
22
|
+
date: 2026-06-30
|
|
23
|
+
changes: "Aggiunta sezione Self-Hosting: bootstrap Docker Compose, inventario dei servizi, configurazione SDK, funzionalità opzionali e note di aggiornamento"
|
|
21
24
|
- version: 6.0.1
|
|
22
25
|
date: 2025-09-22
|
|
23
26
|
changes: "Aggiunta documentazione sulla sincronizzazione live"
|
|
@@ -373,6 +376,119 @@ Note e vincoli:
|
|
|
373
376
|
- Il flag `live` viene valutato per ogni dizionario al momento della build. Se il contenuto remoto non era contrassegnato come `live=true` durante la build, è necessario ricostruire per abilitare Live Sync per quel dizionario.
|
|
374
377
|
- Il server di live sync deve poter scrivere nella cartella `.intlayer`. Nei container, assicurarsi che sia garantito l'accesso in scrittura a `/.intlayer`.
|
|
375
378
|
|
|
379
|
+
## Self-Hosting
|
|
380
|
+
|
|
381
|
+
Intlayer può essere eseguito interamente sulla propria infrastruttura — nessun account Intlayer Cloud richiesto. Un singolo comando avvia l'intera pila (dashboard, API, database, archiviazione di oggetti ed e-mail) tramite Docker Compose:
|
|
382
|
+
|
|
383
|
+
```sh
|
|
384
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
Questo scarica un `docker-compose.yml` e un `.env`, genera automaticamente i secret necessari (`BETTER_AUTH_SECRET`, credenziali MinIO) e avvia tutti i container con `docker compose up -d`. Rieseguire lo stesso comando su un'installazione esistente esegue un aggiornamento progressivo senza perdita di dati.
|
|
388
|
+
|
|
389
|
+
### Servizi avviati
|
|
390
|
+
|
|
391
|
+
| Servizio | Porta/e | Scopo |
|
|
392
|
+
| ------------------- | --------------------------------------- | ------------------------------------------------ |
|
|
393
|
+
| **app** (dashboard) | `3000` | Interfaccia CMS TanStack Start |
|
|
394
|
+
| **backend** (API) | `3100` | API REST Fastify |
|
|
395
|
+
| **MongoDB 7** | interno | Database principale (replica set a nodo singolo) |
|
|
396
|
+
| **Redis 7** | interno | Code di lavori e caching |
|
|
397
|
+
| **MinIO** | `9000` (S3), `9001` (console) | Archiviazione di oggetti compatibile S3 |
|
|
398
|
+
| **Mailpit** | `1025` (SMTP), `8025` (interfaccia web) | Sink locale per e-mail transazionali |
|
|
399
|
+
|
|
400
|
+
Chromium (per la generazione di screenshot con Puppeteer) è incluso nell'immagine del backend — non è necessario un container separato.
|
|
401
|
+
|
|
402
|
+
### Connettere il tuo progetto a un'istanza self-hosted
|
|
403
|
+
|
|
404
|
+
Punta la tua configurazione Intlayer al tuo backend e dashboard invece di `intlayer.org`:
|
|
405
|
+
|
|
406
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
407
|
+
import type { IntlayerConfig } from "intlayer";
|
|
408
|
+
|
|
409
|
+
const config: IntlayerConfig = {
|
|
410
|
+
editor: {
|
|
411
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
412
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* URL del dashboard CMS self-hosted.
|
|
416
|
+
* Predefinito: https://app.intlayer.org
|
|
417
|
+
*/
|
|
418
|
+
cmsURL: process.env.INTLAYER_CMS_URL, // es. http://localhost:3000
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* URL dell'API backend self-hosted.
|
|
422
|
+
* Predefinito: https://back.intlayer.org
|
|
423
|
+
*/
|
|
424
|
+
backendURL: process.env.INTLAYER_BACKEND_URL, // es. http://localhost:3100
|
|
425
|
+
},
|
|
426
|
+
};
|
|
427
|
+
|
|
428
|
+
export default config;
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
Imposta le variabili d'ambiente corrispondenti nel tuo progetto:
|
|
432
|
+
|
|
433
|
+
```sh
|
|
434
|
+
INTLAYER_CMS_URL=http://localhost:3000
|
|
435
|
+
INTLAYER_BACKEND_URL=http://localhost:3100
|
|
436
|
+
INTLAYER_CLIENT_ID=<your-client-id>
|
|
437
|
+
INTLAYER_CLIENT_SECRET=<your-client-secret>
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Crea le credenziali di accesso nel tuo dashboard self-hosted su `http://localhost:3000/projects`.
|
|
441
|
+
|
|
442
|
+
### SDK `@intlayer/api`: puntare a un backend self-hosted
|
|
443
|
+
|
|
444
|
+
Quando si utilizza l'SDK in modo programmatico, passa `backendURL` esplicitamente a `createIntlayerCMS`:
|
|
445
|
+
|
|
446
|
+
```typescript fileName="cms.ts" codeFormat="typescript"
|
|
447
|
+
import { createIntlayerCMS } from "@intlayer/api";
|
|
448
|
+
import { dictionaryEndpoint } from "@intlayer/api/dictionary";
|
|
449
|
+
|
|
450
|
+
const cms = createIntlayerCMS({
|
|
451
|
+
editor: {
|
|
452
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
453
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
454
|
+
backendURL: process.env.INTLAYER_BACKEND_URL, // http://localhost:3100
|
|
455
|
+
},
|
|
456
|
+
});
|
|
457
|
+
|
|
458
|
+
const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
### Funzionalità opzionali
|
|
462
|
+
|
|
463
|
+
Queste funzionalità richiedono account esterni e funzionano correttamente anche quando le loro chiavi sono assenti dal `.env` self-hosted:
|
|
464
|
+
|
|
465
|
+
| Funzionalità | Variabile/i d'ambiente |
|
|
466
|
+
| ----------------------------------- | ----------------------------------------------- |
|
|
467
|
+
| Traduzione / audit con IA | `OPENAI_API_KEY` |
|
|
468
|
+
| Fatturazione | `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, … |
|
|
469
|
+
| OAuth GitHub | `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` |
|
|
470
|
+
| OAuth Google | `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` |
|
|
471
|
+
| OAuth GitLab / Microsoft / LinkedIn | `GITLAB_*`, `MICROSOFT_*`, `LINKEDIN_*` |
|
|
472
|
+
| E-mail transazionale via Resend | `RESEND_API_KEY` (predefinito: Mailpit SMTP) |
|
|
473
|
+
|
|
474
|
+
### Persistenza dei dati e aggiornamenti
|
|
475
|
+
|
|
476
|
+
Tre volumi Docker contengono tutto lo stato persistente: `mongo-data`, `redis-data` e `minio-data`. Sopravvivono ai riavvii e agli aggiornamenti dei container. Eseguire nuovamente il programma di installazione scarica le immagini più recenti ed esegue un `docker compose up -d` progressivo.
|
|
477
|
+
|
|
478
|
+
Porte esposte sull'host:
|
|
479
|
+
|
|
480
|
+
| Porta | Servizio |
|
|
481
|
+
| ------ | -------------------------------------------------------------------- |
|
|
482
|
+
| `3000` | Dashboard |
|
|
483
|
+
| `3100` | API Backend |
|
|
484
|
+
| `8025` | Interfaccia web e-mail Mailpit |
|
|
485
|
+
| `9000` | API S3 MinIO (necessaria per il caricamento degli asset nel browser) |
|
|
486
|
+
| `9001` | Console MinIO |
|
|
487
|
+
|
|
488
|
+
Per un riferimento completo di tutte le variabili d'ambiente disponibili e le opzioni avanzate (proxy inverso, domini personalizzati, backup/ripristino), consulta la [Guida al Self-Hosting](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/self_hosting.md).
|
|
489
|
+
|
|
490
|
+
---
|
|
491
|
+
|
|
376
492
|
## Debug
|
|
377
493
|
|
|
378
494
|
Se riscontri problemi con il CMS, verifica quanto segue:
|
|
@@ -60,19 +60,23 @@ See [Application Template](https://github.com/aymericzip/intlayer-adonis-templat
|
|
|
60
60
|
Per iniziare a usare `adonis-intlayer`, installa il pacchetto usando npm:
|
|
61
61
|
|
|
62
62
|
```bash packageManager="npm"
|
|
63
|
-
npx intlayer
|
|
63
|
+
npx intlayer@canary init --interactive # v9
|
|
64
|
+
# npx intlayer init # v8
|
|
64
65
|
```
|
|
65
66
|
|
|
66
67
|
```bash packageManager="pnpm"
|
|
67
|
-
pnpm dlx intlayer
|
|
68
|
+
pnpm dlx intlayer@canary init --interactive # v9
|
|
69
|
+
# pnpm dlx intlayer init # v8
|
|
68
70
|
```
|
|
69
71
|
|
|
70
72
|
```bash packageManager="yarn"
|
|
71
|
-
yarn dlx intlayer
|
|
73
|
+
yarn dlx intlayer@canary init --interactive # v9
|
|
74
|
+
# yarn dlx intlayer init # v8
|
|
72
75
|
```
|
|
73
76
|
|
|
74
77
|
```bash packageManager="bun"
|
|
75
|
-
bunx intlayer
|
|
78
|
+
bunx intlayer@canary init --interactive # v9
|
|
79
|
+
# bunx intlayer init # v8
|
|
76
80
|
```
|
|
77
81
|
|
|
78
82
|
> il flag `--interactive` è opzionale. Usa `intlayer-cli init` se sei un agente IA.
|
|
@@ -119,19 +119,23 @@ Vedi il [Template dell'Applicazione](https://github.com/aymericzip/intlayer-anal
|
|
|
119
119
|
Installa i pacchetti necessari utilizzando npm:
|
|
120
120
|
|
|
121
121
|
```bash packageManager="npm"
|
|
122
|
-
npx intlayer
|
|
122
|
+
npx intlayer@canary init --interactive # v9
|
|
123
|
+
# npx intlayer init # v8
|
|
123
124
|
```
|
|
124
125
|
|
|
125
126
|
```bash packageManager="pnpm"
|
|
126
|
-
pnpm dlx intlayer
|
|
127
|
+
pnpm dlx intlayer@canary init --interactive # v9
|
|
128
|
+
# pnpm dlx intlayer init # v8
|
|
127
129
|
```
|
|
128
130
|
|
|
129
131
|
```bash packageManager="yarn"
|
|
130
|
-
yarn dlx intlayer
|
|
132
|
+
yarn dlx intlayer@canary init --interactive # v9
|
|
133
|
+
# yarn dlx intlayer init # v8
|
|
131
134
|
```
|
|
132
135
|
|
|
133
136
|
```bash packageManager="bun"
|
|
134
|
-
bunx intlayer
|
|
137
|
+
bunx intlayer@canary init --interactive # v9
|
|
138
|
+
# bunx intlayer init # v8
|
|
135
139
|
```
|
|
136
140
|
|
|
137
141
|
> il flag `--interactive` è opzionale. Usa `intlayer-cli init` se sei un agente IA.
|
|
@@ -122,19 +122,23 @@ Vedi il [Modello di Applicazione](https://github.com/aymericzip/intlayer-angular
|
|
|
122
122
|
Installa i pacchetti necessari usando npm:
|
|
123
123
|
|
|
124
124
|
```bash packageManager="npm"
|
|
125
|
-
npx intlayer
|
|
125
|
+
npx intlayer@canary init --interactive # v9
|
|
126
|
+
# npx intlayer init # v8
|
|
126
127
|
```
|
|
127
128
|
|
|
128
129
|
```bash packageManager="pnpm"
|
|
129
|
-
pnpm dlx intlayer
|
|
130
|
+
pnpm dlx intlayer@canary init --interactive # v9
|
|
131
|
+
# pnpm dlx intlayer init # v8
|
|
130
132
|
```
|
|
131
133
|
|
|
132
134
|
```bash packageManager="yarn"
|
|
133
|
-
yarn dlx intlayer
|
|
135
|
+
yarn dlx intlayer@canary init --interactive # v9
|
|
136
|
+
# yarn dlx intlayer init # v8
|
|
134
137
|
```
|
|
135
138
|
|
|
136
139
|
```bash packageManager="bun"
|
|
137
|
-
bunx intlayer
|
|
140
|
+
bunx intlayer@canary init --interactive # v9
|
|
141
|
+
# bunx intlayer init # v8
|
|
138
142
|
```
|
|
139
143
|
|
|
140
144
|
> il flag `--interactive` è opzionale. Usa `intlayer-cli init` se sei un agente IA.
|
|
@@ -124,19 +124,23 @@ Vedi il [Modello di Applicazione](https://github.com/aymericzip/intlayer-angular
|
|
|
124
124
|
Installa i pacchetti necessari utilizzando npm:
|
|
125
125
|
|
|
126
126
|
```bash packageManager="npm"
|
|
127
|
-
npx intlayer
|
|
127
|
+
npx intlayer@canary init --interactive # v9
|
|
128
|
+
# npx intlayer init # v8
|
|
128
129
|
```
|
|
129
130
|
|
|
130
131
|
```bash packageManager="pnpm"
|
|
131
|
-
pnpm dlx intlayer
|
|
132
|
+
pnpm dlx intlayer@canary init --interactive # v9
|
|
133
|
+
# pnpm dlx intlayer init # v8
|
|
132
134
|
```
|
|
133
135
|
|
|
134
136
|
```bash packageManager="yarn"
|
|
135
|
-
yarn dlx intlayer
|
|
137
|
+
yarn dlx intlayer@canary init --interactive # v9
|
|
138
|
+
# yarn dlx intlayer init # v8
|
|
136
139
|
```
|
|
137
140
|
|
|
138
141
|
```bash packageManager="bun"
|
|
139
|
-
bunx intlayer
|
|
142
|
+
bunx intlayer@canary init --interactive # v9
|
|
143
|
+
# bunx intlayer init # v8
|
|
140
144
|
```
|
|
141
145
|
|
|
142
146
|
> il flag `--interactive` è opzionale. Usa `intlayer-cli init` se sei un agente IA.
|