@intlayer/docs 7.5.0-canary.0 → 7.5.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/intlayer_with_i18next.md +1 -1
- package/blog/ar/intlayer_with_next-i18next.md +1 -1
- package/blog/ar/intlayer_with_next-intl.md +1 -1
- package/blog/ar/intlayer_with_react-i18next.md +1 -1
- package/blog/ar/intlayer_with_react-intl.md +1 -1
- package/blog/ar/intlayer_with_vue-i18n.md +1 -1
- package/blog/de/intlayer_with_i18next.md +1 -1
- package/blog/de/intlayer_with_next-i18next.md +1 -1
- package/blog/de/intlayer_with_next-intl.md +1 -1
- package/blog/de/intlayer_with_react-i18next.md +1 -1
- package/blog/de/intlayer_with_react-intl.md +1 -1
- package/blog/de/intlayer_with_vue-i18n.md +1 -1
- package/blog/en/intlayer_with_i18next.md +1 -1
- package/blog/en/intlayer_with_next-i18next.md +1 -1
- package/blog/en/intlayer_with_next-intl.md +1 -1
- package/blog/en/intlayer_with_react-i18next.md +1 -1
- package/blog/en/intlayer_with_react-intl.md +1 -1
- package/blog/en/intlayer_with_vue-i18n.md +1 -1
- package/blog/en-GB/intlayer_with_i18next.md +1 -1
- package/blog/en-GB/intlayer_with_next-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_next-intl.md +1 -1
- package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_react-intl.md +1 -1
- package/blog/en-GB/intlayer_with_vue-i18n.md +1 -1
- package/blog/es/intlayer_with_i18next.md +1 -1
- package/blog/es/intlayer_with_next-i18next.md +1 -1
- package/blog/es/intlayer_with_next-intl.md +1 -1
- package/blog/es/intlayer_with_react-i18next.md +1 -1
- package/blog/es/intlayer_with_react-intl.md +1 -1
- package/blog/es/intlayer_with_vue-i18n.md +1 -1
- package/blog/fr/intlayer_with_i18next.md +1 -1
- package/blog/fr/intlayer_with_next-i18next.md +1 -1
- package/blog/fr/intlayer_with_next-intl.md +1 -1
- package/blog/fr/intlayer_with_react-i18next.md +1 -1
- package/blog/fr/intlayer_with_react-intl.md +1 -1
- package/blog/fr/intlayer_with_vue-i18n.md +1 -1
- package/blog/hi/intlayer_with_i18next.md +1 -1
- package/blog/hi/intlayer_with_next-i18next.md +1 -1
- package/blog/hi/intlayer_with_next-intl.md +1 -1
- package/blog/hi/intlayer_with_react-i18next.md +1 -1
- package/blog/hi/intlayer_with_react-intl.md +1 -1
- package/blog/hi/intlayer_with_vue-i18n.md +1 -1
- package/blog/id/intlayer_with_i18next.md +1 -1
- package/blog/id/intlayer_with_next-i18next.md +1 -1
- package/blog/id/intlayer_with_next-intl.md +1 -1
- package/blog/id/intlayer_with_react-i18next.md +1 -1
- package/blog/id/intlayer_with_react-intl.md +1 -1
- package/blog/id/intlayer_with_vue-i18n.md +1 -1
- package/blog/it/intlayer_with_i18next.md +1 -1
- package/blog/it/intlayer_with_next-i18next.md +1 -1
- package/blog/it/intlayer_with_next-intl.md +1 -1
- package/blog/it/intlayer_with_react-i18next.md +1 -1
- package/blog/it/intlayer_with_react-intl.md +1 -1
- package/blog/it/intlayer_with_vue-i18n.md +1 -1
- package/blog/ja/intlayer_with_i18next.md +1 -1
- package/blog/ja/intlayer_with_next-i18next.md +1 -1
- package/blog/ja/intlayer_with_next-intl.md +1 -1
- package/blog/ja/intlayer_with_react-i18next.md +1 -1
- package/blog/ja/intlayer_with_react-intl.md +1 -1
- package/blog/ja/intlayer_with_vue-i18n.md +1 -1
- package/blog/ko/intlayer_with_i18next.md +1 -1
- package/blog/ko/intlayer_with_next-i18next.md +1 -1
- package/blog/ko/intlayer_with_next-intl.md +1 -1
- package/blog/ko/intlayer_with_react-i18next.md +1 -1
- package/blog/ko/intlayer_with_react-intl.md +1 -1
- package/blog/ko/intlayer_with_vue-i18n.md +1 -1
- package/blog/pl/intlayer_with_i18next.md +1 -1
- package/blog/pl/intlayer_with_next-i18next.md +1 -1
- package/blog/pl/intlayer_with_next-intl.md +1 -1
- package/blog/pl/intlayer_with_react-i18next.md +1 -1
- package/blog/pl/intlayer_with_react-intl.md +1 -1
- package/blog/pl/intlayer_with_vue-i18n.md +1 -1
- package/blog/pt/intlayer_with_i18next.md +1 -1
- package/blog/pt/intlayer_with_next-i18next.md +1 -1
- package/blog/pt/intlayer_with_next-intl.md +1 -1
- package/blog/pt/intlayer_with_react-i18next.md +1 -1
- package/blog/pt/intlayer_with_react-intl.md +1 -1
- package/blog/pt/intlayer_with_vue-i18n.md +1 -1
- package/blog/ru/intlayer_with_i18next.md +1 -1
- package/blog/ru/intlayer_with_next-i18next.md +1 -1
- package/blog/ru/intlayer_with_next-intl.md +1 -1
- package/blog/ru/intlayer_with_react-i18next.md +1 -1
- package/blog/ru/intlayer_with_react-intl.md +1 -1
- package/blog/ru/intlayer_with_vue-i18n.md +1 -1
- package/blog/tr/intlayer_with_i18next.md +1 -1
- package/blog/tr/intlayer_with_next-i18next.md +1 -1
- package/blog/tr/intlayer_with_next-intl.md +1 -1
- package/blog/tr/intlayer_with_react-i18next.md +1 -1
- package/blog/tr/intlayer_with_vue-i18n.md +1 -1
- package/blog/vi/intlayer_with_i18next.md +1 -1
- package/blog/vi/intlayer_with_next-i18next.md +1 -1
- package/blog/vi/intlayer_with_next-intl.md +1 -1
- package/blog/vi/intlayer_with_react-i18next.md +1 -1
- package/blog/vi/intlayer_with_react-intl.md +1 -1
- package/blog/vi/intlayer_with_vue-i18n.md +1 -1
- package/blog/zh/intlayer_with_i18next.md +1 -1
- package/blog/zh/intlayer_with_next-i18next.md +1 -1
- package/blog/zh/intlayer_with_next-intl.md +1 -1
- package/blog/zh/intlayer_with_react-i18next.md +1 -1
- package/blog/zh/intlayer_with_react-intl.md +1 -1
- package/blog/zh/intlayer_with_vue-i18n.md +1 -1
- package/dist/cjs/common.cjs +6 -6
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +4 -4
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +23 -4
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -4
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -4
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +19 -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/cli/index.md +5 -0
- package/docs/ar/cli/login.md +157 -0
- package/docs/ar/configuration.md +12 -0
- package/docs/ar/dictionary/content_file.md +1 -1
- package/docs/ar/intlayer_CMS.md +1 -1
- package/docs/ar/intlayer_visual_editor.md +1 -1
- package/docs/ar/intlayer_with_nextjs_15.md +1 -1
- package/docs/ar/intlayer_with_nextjs_16.md +1 -1
- package/docs/ar/intlayer_with_nuxt.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ar/intlayer_with_tanstack.md +1 -1
- package/docs/ar/intlayer_with_vite+react.md +1 -1
- package/docs/ar/intlayer_with_vite+vue.md +1 -1
- package/docs/ar/plugins/sync-json.md +1 -1
- package/docs/de/cli/index.md +5 -0
- package/docs/de/cli/login.md +160 -0
- package/docs/de/configuration.md +12 -0
- package/docs/de/dictionary/content_file.md +1 -1
- package/docs/de/intlayer_CMS.md +1 -1
- package/docs/de/intlayer_visual_editor.md +1 -1
- package/docs/de/intlayer_with_nextjs_15.md +1 -1
- package/docs/de/intlayer_with_nextjs_16.md +1 -1
- package/docs/de/intlayer_with_nuxt.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +1 -1
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/de/intlayer_with_tanstack.md +1 -1
- package/docs/de/intlayer_with_vite+react.md +1 -1
- package/docs/de/intlayer_with_vite+vue.md +1 -1
- package/docs/de/plugins/sync-json.md +1 -1
- package/docs/en/cli/index.md +5 -0
- package/docs/en/cli/login.md +157 -0
- package/docs/en/configuration.md +13 -0
- package/docs/en/dictionary/content_file.md +1 -1
- package/docs/en/index.md +1 -0
- package/docs/en/intlayer_CMS.md +1 -1
- package/docs/en/intlayer_visual_editor.md +1 -1
- package/docs/en/intlayer_with_nextjs_15.md +1 -1
- package/docs/en/intlayer_with_nextjs_16.md +1 -1
- package/docs/en/intlayer_with_nuxt.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +1 -1
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en/intlayer_with_tanstack.md +8 -7
- package/docs/en/intlayer_with_vite+preact.md +1 -2
- package/docs/en/intlayer_with_vite+react.md +1 -1
- package/docs/en/intlayer_with_vite+vue.md +1 -1
- package/docs/en/plugins/sync-json.md +1 -1
- package/docs/en-GB/cli/index.md +5 -0
- package/docs/en-GB/cli/login.md +181 -0
- package/docs/en-GB/configuration.md +12 -0
- package/docs/en-GB/dictionary/content_file.md +1 -1
- package/docs/en-GB/intlayer_CMS.md +1 -1
- package/docs/en-GB/intlayer_visual_editor.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
- package/docs/en-GB/intlayer_with_nuxt.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
- package/docs/en-GB/plugins/sync-json.md +1 -1
- package/docs/es/cli/index.md +5 -0
- package/docs/es/cli/login.md +182 -0
- package/docs/es/configuration.md +12 -0
- package/docs/es/dictionary/content_file.md +1 -1
- package/docs/es/intlayer_CMS.md +1 -1
- package/docs/es/intlayer_visual_editor.md +1 -1
- package/docs/es/intlayer_with_nextjs_15.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +1 -1
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +1 -1
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/es/intlayer_with_tanstack.md +1 -1
- package/docs/es/intlayer_with_vite+react.md +1 -1
- package/docs/es/intlayer_with_vite+vue.md +1 -1
- package/docs/es/plugins/sync-json.md +1 -1
- package/docs/fr/cli/index.md +5 -0
- package/docs/fr/cli/login.md +185 -0
- package/docs/fr/configuration.md +12 -0
- package/docs/fr/dictionary/content_file.md +1 -1
- package/docs/fr/intlayer_CMS.md +1 -1
- package/docs/fr/intlayer_visual_editor.md +1 -1
- package/docs/fr/intlayer_with_nextjs_15.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +1 -1
- package/docs/fr/intlayer_with_nuxt.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/fr/intlayer_with_tanstack.md +1 -1
- package/docs/fr/intlayer_with_vite+react.md +1 -1
- package/docs/fr/intlayer_with_vite+vue.md +1 -1
- package/docs/fr/plugins/sync-json.md +1 -1
- package/docs/hi/cli/index.md +5 -0
- package/docs/hi/cli/login.md +181 -0
- package/docs/hi/configuration.md +12 -0
- package/docs/hi/dictionary/content_file.md +1 -1
- package/docs/hi/intlayer_CMS.md +1 -1
- package/docs/hi/intlayer_visual_editor.md +1 -1
- package/docs/hi/intlayer_with_nextjs_15.md +1 -1
- package/docs/hi/intlayer_with_nextjs_16.md +1 -1
- package/docs/hi/intlayer_with_nuxt.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/hi/intlayer_with_tanstack.md +1 -1
- package/docs/hi/intlayer_with_vite+react.md +1 -1
- package/docs/hi/intlayer_with_vite+vue.md +1 -1
- package/docs/hi/plugins/sync-json.md +1 -1
- package/docs/id/cli/index.md +5 -0
- package/docs/id/cli/login.md +157 -0
- package/docs/id/configuration.md +12 -0
- package/docs/id/dictionary/content_file.md +1 -1
- package/docs/id/intlayer_CMS.md +1 -1
- package/docs/id/intlayer_visual_editor.md +1 -1
- package/docs/id/intlayer_with_nextjs_15.md +1 -1
- package/docs/id/intlayer_with_nextjs_16.md +1 -1
- package/docs/id/intlayer_with_nuxt.md +1 -1
- package/docs/id/intlayer_with_react_router_v7.md +1 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/id/intlayer_with_tanstack.md +1 -1
- package/docs/id/intlayer_with_vite+preact.md +1 -2
- package/docs/id/intlayer_with_vite+react.md +1 -1
- package/docs/id/intlayer_with_vite+vue.md +1 -1
- package/docs/id/plugins/sync-json.md +1 -1
- package/docs/it/cli/index.md +5 -0
- package/docs/it/cli/login.md +157 -0
- package/docs/it/configuration.md +12 -0
- package/docs/it/dictionary/content_file.md +1 -1
- package/docs/it/intlayer_CMS.md +1 -1
- package/docs/it/intlayer_visual_editor.md +1 -1
- package/docs/it/intlayer_with_nextjs_15.md +1 -1
- package/docs/it/intlayer_with_nextjs_16.md +1 -1
- package/docs/it/intlayer_with_nuxt.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +1 -1
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/it/intlayer_with_tanstack.md +1 -1
- package/docs/it/intlayer_with_vite+react.md +1 -1
- package/docs/it/intlayer_with_vite+vue.md +1 -1
- package/docs/it/plugins/sync-json.md +1 -1
- package/docs/ja/cli/index.md +5 -0
- package/docs/ja/cli/login.md +159 -0
- package/docs/ja/configuration.md +12 -0
- package/docs/ja/dictionary/content_file.md +1 -1
- package/docs/ja/intlayer_CMS.md +1 -1
- package/docs/ja/intlayer_visual_editor.md +1 -1
- package/docs/ja/intlayer_with_nextjs_15.md +1 -1
- package/docs/ja/intlayer_with_nextjs_16.md +1 -1
- package/docs/ja/intlayer_with_nuxt.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ja/intlayer_with_tanstack.md +1 -1
- package/docs/ja/intlayer_with_vite+react.md +1 -1
- package/docs/ja/intlayer_with_vite+vue.md +1 -1
- package/docs/ja/plugins/sync-json.md +1 -1
- package/docs/ko/cli/index.md +5 -0
- package/docs/ko/cli/login.md +188 -0
- package/docs/ko/configuration.md +12 -0
- package/docs/ko/dictionary/content_file.md +1 -1
- package/docs/ko/intlayer_CMS.md +1 -1
- package/docs/ko/intlayer_visual_editor.md +1 -1
- package/docs/ko/intlayer_with_nextjs_15.md +1 -1
- package/docs/ko/intlayer_with_nextjs_16.md +1 -1
- package/docs/ko/intlayer_with_nuxt.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ko/intlayer_with_tanstack.md +1 -1
- package/docs/ko/intlayer_with_vite+react.md +1 -1
- package/docs/ko/intlayer_with_vite+vue.md +1 -1
- package/docs/ko/plugins/sync-json.md +1 -1
- package/docs/pl/cli/index.md +5 -0
- package/docs/pl/cli/login.md +187 -0
- package/docs/pl/configuration.md +12 -0
- package/docs/pl/dictionary/content_file.md +1 -1
- package/docs/pl/intlayer_CMS.md +1 -1
- package/docs/pl/intlayer_visual_editor.md +1 -1
- package/docs/pl/intlayer_with_nextjs_15.md +1 -1
- package/docs/pl/intlayer_with_nextjs_16.md +1 -1
- package/docs/pl/intlayer_with_nuxt.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/pl/intlayer_with_tanstack.md +1 -1
- package/docs/pl/intlayer_with_vite+preact.md +1 -2
- package/docs/pl/intlayer_with_vite+react.md +1 -1
- package/docs/pl/intlayer_with_vite+vue.md +1 -1
- package/docs/pl/plugins/sync-json.md +1 -1
- package/docs/pt/cli/index.md +5 -0
- package/docs/pt/cli/login.md +186 -0
- package/docs/pt/configuration.md +12 -0
- package/docs/pt/dictionary/content_file.md +1 -1
- package/docs/pt/intlayer_CMS.md +1 -1
- package/docs/pt/intlayer_visual_editor.md +1 -1
- package/docs/pt/intlayer_with_nextjs_15.md +1 -1
- package/docs/pt/intlayer_with_nextjs_16.md +1 -1
- package/docs/pt/intlayer_with_nuxt.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +570 -0
- package/docs/pt/intlayer_with_tanstack.md +1 -1
- package/docs/pt/intlayer_with_vite+react.md +1 -1
- package/docs/pt/intlayer_with_vite+vue.md +1 -1
- package/docs/pt/plugins/sync-json.md +1 -1
- package/docs/ru/cli/index.md +5 -0
- package/docs/ru/cli/login.md +181 -0
- package/docs/ru/configuration.md +12 -0
- package/docs/ru/dictionary/content_file.md +1 -1
- package/docs/ru/intlayer_CMS.md +1 -1
- package/docs/ru/intlayer_visual_editor.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_nextjs_16.md +1 -1
- package/docs/ru/intlayer_with_nuxt.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ru/intlayer_with_tanstack.md +1 -1
- package/docs/ru/intlayer_with_vite+react.md +1 -1
- package/docs/ru/intlayer_with_vite+vue.md +1 -1
- package/docs/ru/plugins/sync-json.md +1 -1
- package/docs/tr/cli/index.md +5 -0
- package/docs/tr/cli/login.md +171 -0
- package/docs/tr/configuration.md +12 -0
- package/docs/tr/dictionary/content_file.md +1 -1
- package/docs/tr/intlayer_CMS.md +1 -1
- package/docs/tr/intlayer_visual_editor.md +1 -1
- package/docs/tr/intlayer_with_nextjs_15.md +1 -1
- package/docs/tr/intlayer_with_nextjs_16.md +1 -1
- package/docs/tr/intlayer_with_nuxt.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +1 -1
- package/docs/tr/intlayer_with_vite+react.md +1 -1
- package/docs/tr/intlayer_with_vite+vue.md +1 -1
- package/docs/tr/plugins/sync-json.md +1 -1
- package/docs/vi/cli/index.md +5 -0
- package/docs/vi/cli/login.md +186 -0
- package/docs/vi/configuration.md +12 -0
- package/docs/vi/dictionary/content_file.md +1 -1
- package/docs/vi/intlayer_CMS.md +1 -1
- package/docs/vi/intlayer_visual_editor.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +1 -1
- package/docs/vi/intlayer_with_nextjs_16.md +1 -1
- package/docs/vi/intlayer_with_nuxt.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/vi/intlayer_with_tanstack.md +1 -1
- package/docs/vi/intlayer_with_vite+preact.md +1 -2
- package/docs/vi/intlayer_with_vite+react.md +1 -1
- package/docs/vi/intlayer_with_vite+vue.md +1 -1
- package/docs/vi/plugins/sync-json.md +1 -1
- package/docs/zh/cli/index.md +5 -0
- package/docs/zh/cli/login.md +182 -0
- package/docs/zh/configuration.md +12 -0
- package/docs/zh/dictionary/content_file.md +1 -1
- package/docs/zh/intlayer_CMS.md +1 -1
- package/docs/zh/intlayer_visual_editor.md +1 -1
- package/docs/zh/intlayer_with_nextjs_15.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +1 -1
- package/docs/zh/intlayer_with_nuxt.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/zh/intlayer_with_tanstack.md +1 -1
- package/docs/zh/intlayer_with_vite+react.md +1 -1
- package/docs/zh/intlayer_with_vite+vue.md +1 -1
- package/docs/zh/plugins/sync-json.md +1 -1
- package/package.json +9 -9
- package/src/generated/docs.entry.ts +19 -0
|
@@ -60,7 +60,7 @@ Intlayer ile şunları yapabilirsiniz:
|
|
|
60
60
|
<Tab defaultTab="video">
|
|
61
61
|
<TabItem label="Video" value="video">
|
|
62
62
|
|
|
63
|
-
<iframe title="Tanstack Start için en iyi i18n çözümü mü? Intlayer'ı keşfedin" class="m-auto aspect-
|
|
63
|
+
<iframe title="Tanstack Start için en iyi i18n çözümü mü? Intlayer'ı keşfedin" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
64
64
|
|
|
65
65
|
</TabItem>
|
|
66
66
|
<TabItem label="Code" value="code">
|
|
@@ -47,7 +47,7 @@ Intlayer ile şunları yapabilirsiniz:
|
|
|
47
47
|
<Tab defaultTab="video">
|
|
48
48
|
<TabItem label="Video" value="video">
|
|
49
49
|
|
|
50
|
-
<iframe title="Vite ve React için en iyi i18n çözümü? Intlayer'ı keşfedin" class="m-auto aspect-
|
|
50
|
+
<iframe title="Vite ve React için en iyi i18n çözümü? Intlayer'ı keşfedin" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
51
51
|
|
|
52
52
|
</TabItem>
|
|
53
53
|
<TabItem label="Code" value="code">
|
|
@@ -44,7 +44,7 @@ Intlayer ile şunları yapabilirsiniz:
|
|
|
44
44
|
<Tab defaultTab="video">
|
|
45
45
|
<TabItem label="Video" value="video">
|
|
46
46
|
|
|
47
|
-
<iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-
|
|
47
|
+
<iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/IE3XWkZ6a5U?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
48
48
|
|
|
49
49
|
</TabItem>
|
|
50
50
|
<TabItem label="Kod" value="code">
|
|
@@ -34,7 +34,7 @@ history:
|
|
|
34
34
|
|
|
35
35
|
# JSON Senkronizasyonu (i18n köprüleri) - ICU / i18next desteği ile JSON Senkronizasyonu
|
|
36
36
|
|
|
37
|
-
<iframe title="JSON çevirilerinizi Intlayer ile nasıl senkronize tutarsınız" class="m-auto aspect-
|
|
37
|
+
<iframe title="JSON çevirilerinizi Intlayer ile nasıl senkronize tutarsınız" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
38
38
|
|
|
39
39
|
Intlayer'ı mevcut i18n yapınıza bir eklenti olarak kullanın. Bu eklenti, JSON mesajlarınızı Intlayer sözlükleriyle senkronize tutar, böylece:
|
|
40
40
|
|
package/docs/vi/cli/index.md
CHANGED
|
@@ -103,6 +103,10 @@ Intlayer chấp nhận nhiều định dạng tệp cấu hình:
|
|
|
103
103
|
|
|
104
104
|
## Chạy các lệnh intlayer
|
|
105
105
|
|
|
106
|
+
### Xác thực
|
|
107
|
+
|
|
108
|
+
- **[Đăng nhập](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/login.md)** - Xác thực với Intlayer CMS và lấy thông tin đăng nhập
|
|
109
|
+
|
|
106
110
|
### Các Lệnh Cơ Bản
|
|
107
111
|
|
|
108
112
|
- **[Xây dựng Từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/build.md)** - Xây dựng từ điển của bạn từ các tệp khai báo nội dung
|
|
@@ -144,6 +148,7 @@ Intlayer chấp nhận nhiều định dạng tệp cấu hình:
|
|
|
144
148
|
|
|
145
149
|
```json fileName="package.json"
|
|
146
150
|
"scripts": {
|
|
151
|
+
"intlayer:login": "npx intlayer login",
|
|
147
152
|
"intlayer:build": "npx intlayer build",
|
|
148
153
|
"intlayer:watch": "npx intlayer build --watch",
|
|
149
154
|
"intlayer:push": "npx intlayer push",
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-16
|
|
3
|
+
updatedAt: 2025-12-16
|
|
4
|
+
title: CLI - Đăng nhập
|
|
5
|
+
description: Tìm hiểu cách sử dụng lệnh login của Intlayer CLI để xác thực với Intlayer CMS và lấy thông tin truy cập.
|
|
6
|
+
keywords:
|
|
7
|
+
- CLI
|
|
8
|
+
- Login
|
|
9
|
+
- Authentication
|
|
10
|
+
- CMS
|
|
11
|
+
- Intlayer
|
|
12
|
+
- Credentials
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- concept
|
|
16
|
+
- cli
|
|
17
|
+
- login
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Lệnh Login của Intlayer CLI
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Mô tả
|
|
25
|
+
|
|
26
|
+
Lệnh `login` của Intlayer CLI cho phép bạn xác thực với Intlayer CMS. Lệnh này tự động mở trình duyệt mặc định của bạn để hoàn tất quá trình xác thực và nhận các thông tin xác thực cần thiết (Client ID và Client Secret) để sử dụng dịch vụ Intlayer.
|
|
27
|
+
|
|
28
|
+
## Cách sử dụng
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx intlayer login [options]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
hoặc
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
intlayer login [options]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Tùy chọn
|
|
41
|
+
|
|
42
|
+
### `--cms-url <url>`
|
|
43
|
+
|
|
44
|
+
Chỉ định URL của Intlayer CMS để kết nối và thực hiện xác thực.
|
|
45
|
+
|
|
46
|
+
- **Loại**: `string`
|
|
47
|
+
- **Mặc định**: Giá trị cấu hình trong `intlayer.config.*` hoặc `https://intlayer.org`
|
|
48
|
+
- **Ví dụ**:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx intlayer login --cms-url https://intlayer.org
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Tùy chọn cấu hình
|
|
55
|
+
|
|
56
|
+
Bạn cũng có thể sử dụng các tùy chọn cấu hình chung sau:
|
|
57
|
+
|
|
58
|
+
- `--env-file <path>`: Đường dẫn tới file môi trường
|
|
59
|
+
- `-e, --env <env>`: Môi trường thực thi
|
|
60
|
+
- `--base-dir <dir>`: Thư mục gốc của dự án
|
|
61
|
+
- `--verbose`: Bật đầu ra chi tiết (mặc định: true)
|
|
62
|
+
- `--prefix <prefix>`: Tiền tố cho logs
|
|
63
|
+
|
|
64
|
+
## Cách hoạt động
|
|
65
|
+
|
|
66
|
+
1. **Khởi động máy chủ cục bộ**: Lệnh khởi động một máy chủ HTTP cục bộ trên một cổng ngẫu nhiên để nhận thông tin xác thực từ CMS
|
|
67
|
+
|
|
68
|
+
Chỉ định URL của Intlayer CMS để kết nối xác thực.
|
|
69
|
+
|
|
70
|
+
- **Loại**: `string`
|
|
71
|
+
- **Mặc định**: Giá trị được cấu hình trong `intlayer.config.*` hoặc `https://intlayer.org`
|
|
72
|
+
- **Ví dụ**:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx intlayer login --cms-url https://intlayer.org
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Tùy chọn cấu hình
|
|
79
|
+
|
|
80
|
+
Bạn cũng có thể sử dụng các tùy chọn cấu hình chung:
|
|
81
|
+
|
|
82
|
+
- `--env-file <path>`: Đường dẫn tới file môi trường
|
|
83
|
+
- `-e, --env <env>`: Môi trường thực thi
|
|
84
|
+
- `--base-dir <dir>`: Thư mục gốc của dự án
|
|
85
|
+
- `--verbose`: Bật hiển thị chi tiết (mặc định: true)
|
|
86
|
+
- `--prefix <prefix>`: Tiền tố cho các log
|
|
87
|
+
|
|
88
|
+
## Cách hoạt động
|
|
89
|
+
|
|
90
|
+
1. **Khởi động máy chủ cục bộ**: Lệnh khởi động một HTTP server cục bộ trên một cổng ngẫu nhiên để nhận thông tin xác thực từ CMS
|
|
91
|
+
2. **Mở trình duyệt**: Lệnh tự động mở trình duyệt mặc định của bạn tới URL đăng nhập của CMS
|
|
92
|
+
3. **Xác thực**: Hoàn tất xác thực trong trình duyệt bằng tài khoản Intlayer của bạn
|
|
93
|
+
4. **Nhận thông tin xác thực**: Máy chủ cục bộ nhận Client ID và Client Secret từ CMS
|
|
94
|
+
5. **Hướng dẫn**: Lệnh hiển thị hướng dẫn để cấu hình thông tin xác thực trong dự án của bạn
|
|
95
|
+
|
|
96
|
+
## Đầu ra
|
|
97
|
+
|
|
98
|
+
Sau khi đăng nhập thành công, lệnh sẽ hiển thị:
|
|
99
|
+
|
|
100
|
+
1. **Thông tin xác thực nhận được** (Client ID và Client Secret)
|
|
101
|
+
2. **Hướng dẫn cho file `.env`**:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
INTLAYER_CLIENT_ID=your_client_id
|
|
105
|
+
INTLAYER_CLIENT_SECRET=your_client_secret
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
3. **Hướng dẫn cho file cấu hình Intlayer**:
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
{
|
|
112
|
+
editor: {
|
|
113
|
+
cmsURL: 'https://intlayer.org',
|
|
114
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
115
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
116
|
+
},
|
|
117
|
+
}
|
|
118
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
119
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
120
|
+
},
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Cấu hình thủ công
|
|
125
|
+
|
|
126
|
+
Nếu trình duyệt không tự mở, bạn có thể truy cập thủ công URL hiển thị trong terminal.
|
|
127
|
+
|
|
128
|
+
## Ví dụ
|
|
129
|
+
|
|
130
|
+
### Đăng nhập với URL CMS tùy chỉnh
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npx intlayer login --cms-url https://custom-cms.example.com
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Đăng nhập với file môi trường cụ thể
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
npx intlayer login --env-file .env.production
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Đăng nhập ở chế độ verbose
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npx intlayer login --verbose
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Khắc phục sự cố
|
|
149
|
+
|
|
150
|
+
### Trình duyệt không tự mở
|
|
151
|
+
|
|
152
|
+
Nếu trình duyệt không tự mở, sao chép URL hiển thị trong terminal và mở thủ công trên trình duyệt của bạn.
|
|
153
|
+
|
|
154
|
+
### Sự cố kết nối
|
|
155
|
+
|
|
156
|
+
Nếu bạn gặp sự cố kết nối, kiểm tra:
|
|
157
|
+
|
|
158
|
+
1. Đảm bảo URL của CMS là chính xác
|
|
159
|
+
2. Kết nối Internet của bạn đang hoạt động bình thường
|
|
160
|
+
3. Không có tường lửa nào chặn kết nối
|
|
161
|
+
|
|
162
|
+
### Không nhận được thông tin xác thực
|
|
163
|
+
|
|
164
|
+
Nếu không nhận được thông tin xác thực:
|
|
165
|
+
|
|
166
|
+
1. Đảm bảo bạn đã hoàn tất quy trình xác thực trong trình duyệt
|
|
167
|
+
2. Xác nhận rằng cổng cục bộ không bị chặn
|
|
168
|
+
3. Thử chạy lại lệnh
|
|
169
|
+
|
|
170
|
+
## Các bước tiếp theo
|
|
171
|
+
|
|
172
|
+
Sau khi hoàn tất đăng nhập:
|
|
173
|
+
|
|
174
|
+
1. Thêm thông tin xác thực vào file `.env` của bạn
|
|
175
|
+
2. Cấu hình file `intlayer.config.*` của bạn với thông tin xác thực
|
|
176
|
+
3. Sử dụng các lệnh CLI để quản lý các từ điển của bạn:
|
|
177
|
+
- [`npx intlayer push`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/push.md) - Đẩy từ điển lên CMS
|
|
178
|
+
- [`npx intlayer pull`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/pull.md) - Kéo từ điển từ CMS
|
|
179
|
+
|
|
180
|
+
- [`npx intlayer fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/fill.md) - Điền các bản dịch còn thiếu
|
|
181
|
+
|
|
182
|
+
## Xem thêm
|
|
183
|
+
|
|
184
|
+
- [Tài liệu CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/index.md)
|
|
185
|
+
- [Cấu hình Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md)
|
|
186
|
+
- [CMS của Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_CMS.md)
|
package/docs/vi/configuration.md
CHANGED
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 7.5.0
|
|
18
|
+
date: 2025-12-17
|
|
19
|
+
changes: Thêm tùy chọn `buildMode`
|
|
17
20
|
- version: 7.0.0
|
|
18
21
|
date: 2025-10-25
|
|
19
22
|
changes: Thêm cấu hình `dictionary`
|
|
@@ -666,6 +669,15 @@ Các tùy chọn build áp dụng cho các plugin `@intlayer/babel` và `@intlay
|
|
|
666
669
|
|
|
667
670
|
#### Thuộc tính
|
|
668
671
|
|
|
672
|
+
- **mode**:
|
|
673
|
+
- _Kiểu_: `'auto' | 'manual'`
|
|
674
|
+
- _Mặc định_: `'auto'`
|
|
675
|
+
- _Mô tả_: Điều khiển chế độ build.
|
|
676
|
+
- _Ví dụ_: `'manual'`
|
|
677
|
+
- _Lưu ý_: Nếu 'auto', build sẽ được bật tự động khi ứng dụng được build.
|
|
678
|
+
- _Lưu ý_: Nếu 'manual', build sẽ chỉ được đặt khi lệnh build được thực thi.
|
|
679
|
+
- _Lưu ý_: Có thể được sử dụng để vô hiệu hóa build từ điển, ví dụ khi nên tránh thực thi trong môi trường Node.js.
|
|
680
|
+
|
|
669
681
|
- **optimize**:
|
|
670
682
|
- _Kiểu_: `boolean`
|
|
671
683
|
- _Mặc định_: `process.env.NODE_ENV === 'production'`
|
|
@@ -28,7 +28,7 @@ history:
|
|
|
28
28
|
|
|
29
29
|
# Tệp Nội Dung
|
|
30
30
|
|
|
31
|
-
<iframe title="i18n, Markdown, JSON… một giải pháp duy nhất để quản lý tất cả | Intlayer" class="m-auto aspect-
|
|
31
|
+
<iframe title="i18n, Markdown, JSON… một giải pháp duy nhất để quản lý tất cả | Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/1VHgSY_j9_I?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
32
32
|
|
|
33
33
|
## Tệp Nội Dung là gì?
|
|
34
34
|
|
package/docs/vi/intlayer_CMS.md
CHANGED
|
@@ -31,7 +31,7 @@ history:
|
|
|
31
31
|
|
|
32
32
|
# Tài liệu Hệ thống Quản lý Nội dung (CMS) Intlayer
|
|
33
33
|
|
|
34
|
-
<iframe title="Trình chỉnh sửa trực quan + CMS cho Ứng dụng Web của bạn: Giải thích về Intlayer" class="m-auto aspect-
|
|
34
|
+
<iframe title="Trình chỉnh sửa trực quan + CMS cho Ứng dụng Web của bạn: Giải thích về Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
35
35
|
|
|
36
36
|
Intlayer CMS là một ứng dụng cho phép bạn đưa nội dung của dự án Intlayer ra ngoài.
|
|
37
37
|
|
|
@@ -33,7 +33,7 @@ history:
|
|
|
33
33
|
|
|
34
34
|
# Tài liệu Trình chỉnh sửa trực quan Intlayer
|
|
35
35
|
|
|
36
|
-
<iframe title="Trình chỉnh sửa trực quan + CMS cho ứng dụng web của bạn: Giải thích Intlayer" class="m-auto aspect-
|
|
36
|
+
<iframe title="Trình chỉnh sửa trực quan + CMS cho ứng dụng web của bạn: Giải thích Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
37
37
|
|
|
38
38
|
Trình chỉnh sửa trực quan Intlayer là một công cụ bao bọc trang web của bạn để tương tác với các tệp khai báo nội dung của bạn bằng cách sử dụng trình chỉnh sửa trực quan.
|
|
39
39
|
|
|
@@ -80,7 +80,7 @@ Với Intlayer, bạn có thể:
|
|
|
80
80
|
<Tab defaultTab="video">
|
|
81
81
|
<TabItem label="Video" value="video">
|
|
82
82
|
|
|
83
|
-
<iframe title="Giải pháp i18n tốt nhất cho Next.js? Khám phá Intlayer" class="m-auto aspect-
|
|
83
|
+
<iframe title="Giải pháp i18n tốt nhất cho Next.js? Khám phá Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
84
84
|
|
|
85
85
|
</TabItem>
|
|
86
86
|
<TabItem label="Code" value="code">
|
|
@@ -27,7 +27,7 @@ history:
|
|
|
27
27
|
<Tab defaultTab="video">
|
|
28
28
|
<TabItem label="Video" value="video">
|
|
29
29
|
|
|
30
|
-
<iframe title="Giải pháp i18n tốt nhất cho Next.js? Khám phá Intlayer" class="m-auto aspect-
|
|
30
|
+
<iframe title="Giải pháp i18n tốt nhất cho Next.js? Khám phá Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
32
|
</TabItem>
|
|
33
33
|
<TabItem label="Code" value="code">
|
|
@@ -49,7 +49,7 @@ Với Intlayer, bạn có thể:
|
|
|
49
49
|
<Tab defaultTab="video">
|
|
50
50
|
<TabItem label="Video" value="video">
|
|
51
51
|
|
|
52
|
-
<iframe title="Cách dịch ứng dụng Nuxt và Vue của bạn bằng Intlayer? Khám phá Intlayer" class="m-auto aspect-
|
|
52
|
+
<iframe title="Cách dịch ứng dụng Nuxt và Vue của bạn bằng Intlayer? Khám phá Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/nhUcUAVQ6eQ?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
53
53
|
|
|
54
54
|
</TabItem>
|
|
55
55
|
<TabItem label="Mã nguồn" value="code">
|
|
@@ -91,7 +91,7 @@ pnpm add vite-intlayer --save-dev
|
|
|
91
91
|
<Tab defaultTab="video">
|
|
92
92
|
<TabItem label="Video" value="video">
|
|
93
93
|
|
|
94
|
-
<iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-
|
|
94
|
+
<iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
95
95
|
|
|
96
96
|
</TabItem>
|
|
97
97
|
<TabItem label="Code" value="code">
|
|
@@ -91,7 +91,7 @@ pnpm add vite-intlayer --save-dev
|
|
|
91
91
|
<Tab defaultTab="video">
|
|
92
92
|
<TabItem label="Video" value="video">
|
|
93
93
|
|
|
94
|
-
<iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-
|
|
94
|
+
<iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
95
95
|
|
|
96
96
|
</TabItem>
|
|
97
97
|
<TabItem label="Code" value="code">
|
|
@@ -60,7 +60,7 @@ Với Intlayer, bạn có thể:
|
|
|
60
60
|
<Tab defaultTab="video">
|
|
61
61
|
<TabItem label="Video" value="video">
|
|
62
62
|
|
|
63
|
-
<iframe title="Giải pháp i18n tốt nhất cho Tanstack Start? Khám phá Intlayer" class="m-auto aspect-
|
|
63
|
+
<iframe title="Giải pháp i18n tốt nhất cho Tanstack Start? Khám phá Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
64
64
|
|
|
65
65
|
</TabItem>
|
|
66
66
|
<TabItem label="Code" value="code">
|
|
@@ -1503,8 +1503,7 @@ import { forwardRef } from "preact/compat";
|
|
|
1503
1503
|
export const checkIsExternalLink = (href?: string) =>
|
|
1504
1504
|
/^https?:\/\//.test(href ?? "");
|
|
1505
1505
|
|
|
1506
|
-
export interface LocalizedLinkProps
|
|
1507
|
-
extends JSX.HTMLAttributes<HTMLAnchorElement> {
|
|
1506
|
+
export interface LocalizedLinkProps extends JSX.HTMLAttributes<HTMLAnchorElement> {
|
|
1508
1507
|
href: string;
|
|
1509
1508
|
replace?: boolean;
|
|
1510
1509
|
}
|
|
@@ -47,7 +47,7 @@ Với Intlayer, bạn có thể:
|
|
|
47
47
|
<Tab defaultTab="video">
|
|
48
48
|
<TabItem label="Video" value="video">
|
|
49
49
|
|
|
50
|
-
<iframe title="Giải pháp i18n tốt nhất cho Vite và React? Khám phá Intlayer" class="m-auto aspect-
|
|
50
|
+
<iframe title="Giải pháp i18n tốt nhất cho Vite và React? Khám phá Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
51
51
|
|
|
52
52
|
</TabItem>
|
|
53
53
|
<TabItem label="Code" value="code">
|
|
@@ -46,7 +46,7 @@ Với Intlayer, bạn có thể:
|
|
|
46
46
|
<Tab defaultTab="video">
|
|
47
47
|
<TabItem label="Video" value="video">
|
|
48
48
|
|
|
49
|
-
<iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-
|
|
49
|
+
<iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/IE3XWkZ6a5U?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
50
50
|
|
|
51
51
|
</TabItem>
|
|
52
52
|
<TabItem label="Mã" value="code">
|
|
@@ -34,7 +34,7 @@ history:
|
|
|
34
34
|
|
|
35
35
|
# Đồng bộ JSON (cầu nối i18n) - Đồng bộ JSON với hỗ trợ ICU / i18next
|
|
36
36
|
|
|
37
|
-
<iframe title="Cách giữ bản dịch JSON của bạn đồng bộ với Intlayer" class="m-auto aspect-
|
|
37
|
+
<iframe title="Cách giữ bản dịch JSON của bạn đồng bộ với Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
38
38
|
|
|
39
39
|
Sử dụng Intlayer như một tiện ích bổ sung cho bộ công cụ i18n hiện có của bạn. Plugin này giữ cho các thông điệp JSON của bạn đồng bộ với từ điển Intlayer để bạn có thể:
|
|
40
40
|
|
package/docs/zh/cli/index.md
CHANGED
|
@@ -103,6 +103,10 @@ Intlayer 支持多种配置文件格式:
|
|
|
103
103
|
|
|
104
104
|
## 运行 intlayer 命令
|
|
105
105
|
|
|
106
|
+
### 身份验证
|
|
107
|
+
|
|
108
|
+
- **[登录](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/login.md)** - 使用 Intlayer CMS 进行身份验证并获取访问凭据
|
|
109
|
+
|
|
106
110
|
### 核心命令
|
|
107
111
|
|
|
108
112
|
- **[构建字典](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/build.md)** - 从内容声明文件构建字典
|
|
@@ -149,6 +153,7 @@ Intlayer 支持多种配置文件格式:
|
|
|
149
153
|
|
|
150
154
|
```json fileName="package.json"
|
|
151
155
|
"scripts": {
|
|
156
|
+
"intlayer:login": "npx intlayer login",
|
|
152
157
|
"intlayer:build": "npx intlayer build",
|
|
153
158
|
"intlayer:watch": "npx intlayer build --watch",
|
|
154
159
|
"intlayer:push": "npx intlayer push",
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-16
|
|
3
|
+
updatedAt: 2025-12-16
|
|
4
|
+
title: CLI - 登录
|
|
5
|
+
description: 了解如何使用 Intlayer CLI 的 login 命令与 Intlayer CMS 进行身份验证并获取访问凭证。
|
|
6
|
+
keywords:
|
|
7
|
+
- CLI
|
|
8
|
+
- 登录
|
|
9
|
+
- 认证
|
|
10
|
+
- CMS
|
|
11
|
+
- Intlayer
|
|
12
|
+
- 凭证
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- concept
|
|
16
|
+
- cli
|
|
17
|
+
- login
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Intlayer CLI 登录命令
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 描述
|
|
25
|
+
|
|
26
|
+
Intlayer CLI 的 `login` 命令允许您对 Intlayer CMS 进行身份验证。该命令会自动打开您的默认浏览器以完成身份验证流程,并接收使用 Intlayer 服务所需的凭证(Client ID 和 Client Secret)。
|
|
27
|
+
|
|
28
|
+
## 用法
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx intlayer login [options]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
或
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
intlayer login [options]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## 选项
|
|
41
|
+
|
|
42
|
+
### `--cms-url <url>`
|
|
43
|
+
|
|
44
|
+
指定用于身份验证的 Intlayer CMS 的 URL。
|
|
45
|
+
|
|
46
|
+
- **类型**: `string`
|
|
47
|
+
- **默认**: 在 `intlayer.config.*` 中配置的值,或 `https://intlayer.org`
|
|
48
|
+
- **示例**:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx intlayer login --cms-url https://intlayer.org
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 配置选项
|
|
55
|
+
|
|
56
|
+
您还可以使用常见的配置选项:
|
|
57
|
+
|
|
58
|
+
- `--env-file <path>`:环境文件的路径
|
|
59
|
+
- `-e, --env <env>`:执行环境
|
|
60
|
+
- `--base-dir <dir>`:项目的基目录
|
|
61
|
+
- `--verbose`:启用详细输出(默认:true)
|
|
62
|
+
- `--prefix <prefix>`:日志前缀
|
|
63
|
+
|
|
64
|
+
## 工作原理
|
|
65
|
+
|
|
66
|
+
1. **启动本地服务器**:该命令在一个随机端口上启动本地 HTTP 服务器,以从 CMS 接收凭证
|
|
67
|
+
|
|
68
|
+
指定要用于身份验证的 Intlayer CMS 的 URL。
|
|
69
|
+
|
|
70
|
+
- **类型**: `string`
|
|
71
|
+
- **默认**: 在 `intlayer.config.*` 中配置的值,或 `https://intlayer.org`
|
|
72
|
+
- **示例**:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx intlayer login --cms-url https://intlayer.org
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 配置选项
|
|
79
|
+
|
|
80
|
+
您还可以使用常用的配置选项:
|
|
81
|
+
|
|
82
|
+
- `--env-file <path>`: 环境文件的路径
|
|
83
|
+
- `-e, --env <env>`: 执行环境
|
|
84
|
+
- `--base-dir <dir>`: 项目的基目录
|
|
85
|
+
- `--verbose`: 启用详细输出(默认:true)
|
|
86
|
+
- `--prefix <prefix>`: 日志前缀
|
|
87
|
+
|
|
88
|
+
## 工作原理
|
|
89
|
+
|
|
90
|
+
1. **启动本地服务器**:该命令在随机端口启动一个本地 HTTP 服务器以接收来自 CMS 的凭证
|
|
91
|
+
2. **Browser Opening**:该命令会自动在你的默认浏览器中打开 CMS 的登录 URL
|
|
92
|
+
3. **Authentication**:在浏览器中使用你的 Intlayer 帐户完成身份验证
|
|
93
|
+
4. **Credentials Reception**:本地服务器从 CMS 接收 Client ID 和 Client Secret
|
|
94
|
+
5. **Instructions**:该命令显示在项目中配置凭证的说明
|
|
95
|
+
|
|
96
|
+
## 输出
|
|
97
|
+
|
|
98
|
+
登录成功后,命令将显示:
|
|
99
|
+
|
|
100
|
+
1. **接收到的凭证**(Client ID 和 Client Secret)
|
|
101
|
+
2. **`.env` 文件的说明**:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
INTLAYER_CLIENT_ID=your_client_id
|
|
105
|
+
INTLAYER_CLIENT_SECRET=your_client_secret
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
3. **Intlayer 配置文件的说明**:
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
{
|
|
112
|
+
editor: {
|
|
113
|
+
cmsURL: 'https://intlayer.org',
|
|
114
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
115
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
116
|
+
},
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## 手动配置
|
|
121
|
+
|
|
122
|
+
如果浏览器没有自动打开,您可以手动访问终端中显示的 URL。
|
|
123
|
+
|
|
124
|
+
## 示例
|
|
125
|
+
|
|
126
|
+
### 使用自定义 CMS URL 登录
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npx intlayer login --cms-url https://custom-cms.example.com
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 使用特定环境文件登录
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
npx intlayer login --env-file .env.production
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 以详细模式登录
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
npx intlayer login --verbose
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## 故障排除
|
|
145
|
+
|
|
146
|
+
### 浏览器未打开
|
|
147
|
+
|
|
148
|
+
如果浏览器没有自动打开,请复制终端中显示的 URL 并在浏览器中手动打开。
|
|
149
|
+
|
|
150
|
+
### 连接问题
|
|
151
|
+
|
|
152
|
+
如果遇到连接问题,请验证:
|
|
153
|
+
|
|
154
|
+
1. 确认 CMS URL 是否正确
|
|
155
|
+
2. 确认您的网络连接正常工作
|
|
156
|
+
3. 确认没有防火墙阻止连接
|
|
157
|
+
|
|
158
|
+
### 未收到凭证
|
|
159
|
+
|
|
160
|
+
如果未收到凭证:
|
|
161
|
+
|
|
162
|
+
1. 确保在浏览器中完成了身份验证流程
|
|
163
|
+
2. 验证本地端口未被阻塞
|
|
164
|
+
3. 重新尝试该命令
|
|
165
|
+
|
|
166
|
+
## 后续步骤
|
|
167
|
+
|
|
168
|
+
完成登录后:
|
|
169
|
+
|
|
170
|
+
1. 将凭证添加到您的 `.env` 文件中
|
|
171
|
+
2. 在 `intlayer.config.*` 文件中配置这些凭证
|
|
172
|
+
3. 使用 CLI 命令管理您的词典:
|
|
173
|
+
- [`npx intlayer push`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/push.md) - 将词典推送到 CMS
|
|
174
|
+
- [`npx intlayer pull`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/pull.md) - 从 CMS 拉取词典
|
|
175
|
+
- [`npx intlayer fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/fill.md) - 填充缺失的翻译
|
|
176
|
+
- [`npx intlayer fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/fill.md) - 填充缺失的翻译
|
|
177
|
+
|
|
178
|
+
## 另请参阅
|
|
179
|
+
|
|
180
|
+
- [CLI 文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md)
|
|
181
|
+
- [Intlayer 配置](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)
|
|
182
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_CMS.md)
|
package/docs/zh/configuration.md
CHANGED
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 7.5.0
|
|
18
|
+
date: 2025-12-17
|
|
19
|
+
changes: 添加 `buildMode` 选项
|
|
17
20
|
- version: 6.0.0
|
|
18
21
|
date: 2025-09-16
|
|
19
22
|
changes: 添加 `live` 导入模式
|
|
@@ -528,6 +531,15 @@ Intlayer 支持多个 AI 提供商,以增强灵活性和选择。目前支持
|
|
|
528
531
|
|
|
529
532
|
#### 属性
|
|
530
533
|
|
|
534
|
+
- **mode**:
|
|
535
|
+
- _类型_:`'auto' | 'manual'`
|
|
536
|
+
- _默认值_:`'auto'`
|
|
537
|
+
- _描述_:控制构建的模式。
|
|
538
|
+
- _示例_:`'manual'`
|
|
539
|
+
- _注意_:如果为 'auto',构建将在应用程序构建时自动启用。
|
|
540
|
+
- _注意_:如果为 'manual',构建仅在执行构建命令时设置。
|
|
541
|
+
- _注意_:可用于禁用字典构建,例如当应避免在 Node.js 环境中执行时。
|
|
542
|
+
|
|
531
543
|
- **optimize**:
|
|
532
544
|
- _类型_:`boolean`
|
|
533
545
|
- _默认值_:`process.env.NODE_ENV === 'production'`
|
|
@@ -25,7 +25,7 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# 内容文件
|
|
27
27
|
|
|
28
|
-
<iframe title="i18n,Markdown,JSON……一站式管理解决方案 | Intlayer" class="m-auto aspect-
|
|
28
|
+
<iframe title="i18n,Markdown,JSON……一站式管理解决方案 | Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/1VHgSY_j9_I?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
29
29
|
|
|
30
30
|
## 什么是内容文件?
|
|
31
31
|
|