smart-admin-web 10.14.0 → 10.20.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/README.md +6 -6
- package/dist/api/index.d.ts +41 -2
- package/dist/api/index.js +36 -15
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +418 -6
- package/dist/assets/icons/ph-subset.json.js +7 -7
- package/dist/assets/smart-logo.svg.js +5 -0
- package/dist/assets/smart-logo.svg.js.map +1 -0
- package/dist/components/AppIcon.vue.js +9 -9
- package/dist/components/AppIcon.vue.js.map +1 -1
- package/dist/components/AppWatermark.vue.d.ts +14 -0
- package/dist/components/AppWatermark.vue.js +38 -0
- package/dist/components/AppWatermark.vue.js.map +1 -0
- package/dist/components/AppWatermark2.vue.js +5 -0
- package/dist/components/AppWatermark2.vue.js.map +1 -0
- package/dist/components/Chart/PieChart.vue.d.ts +1 -1
- package/dist/components/Chart/echarts.js +15 -20
- package/dist/components/Chart/echarts.js.map +1 -1
- package/dist/components/CronEditor/index.vue.js +1 -1
- package/dist/components/CronEditor/index2.vue.js +2 -1
- package/dist/components/CronEditor/index2.vue.js.map +1 -1
- package/dist/components/DetailPage/index.vue.js +2 -2
- package/dist/components/DetailPage/index2.vue.js.map +1 -1
- package/dist/components/DictTag/index.vue.js.map +1 -1
- package/dist/components/ErrorBoundary/index.vue.js +2 -2
- package/dist/components/ErrorBoundary/index2.vue.js +1 -1
- package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
- package/dist/components/FormContainer/index.vue.js +91 -56
- package/dist/components/FormContainer/index.vue.js.map +1 -1
- package/dist/components/ImportWizard/index.vue.js +1 -1
- package/dist/components/ImportWizard/index2.vue.js +44 -41
- package/dist/components/ImportWizard/index2.vue.js.map +1 -1
- package/dist/components/MenuSearch.vue.js +2 -2
- package/dist/components/MenuSearch2.vue.js +19 -18
- package/dist/components/MenuSearch2.vue.js.map +1 -1
- package/dist/components/PasswordStrength/index.vue.js +2 -2
- package/dist/components/PasswordStrength/index2.vue.js +20 -18
- package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
- package/dist/components/SmartLogo.vue.d.ts +3 -0
- package/dist/components/SmartLogo.vue.js +1 -1
- package/dist/components/SmartLogo2.vue.js +22 -64
- package/dist/components/SmartLogo2.vue.js.map +1 -1
- package/dist/{views/system/config/components/GroupExtraConfig.vue.d.ts → components/TableTotal/index.vue.d.ts} +1 -4
- package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
- package/dist/components/TableTotal/index2.vue.js +16 -0
- package/dist/components/TableTotal/index2.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index.vue.js.map +1 -1
- package/dist/components/UserPicker/index.vue.js +2 -2
- package/dist/components/UserPicker/index2.vue.js +176 -117
- package/dist/components/UserPicker/index2.vue.js.map +1 -1
- package/dist/composables/useBatchDelete.js.map +1 -1
- package/dist/composables/useLayoutMenu.js +17 -16
- package/dist/composables/useLayoutMenu.js.map +1 -1
- package/dist/composables/useLoginHero.d.ts +2 -0
- package/dist/composables/useLoginHero.js +22 -0
- package/dist/composables/useLoginHero.js.map +1 -0
- package/dist/composables/useModule.js +39 -29
- package/dist/composables/useModule.js.map +1 -1
- package/dist/composables/usePageTitle.js +16 -14
- package/dist/composables/usePageTitle.js.map +1 -1
- package/dist/composables/useShellBreakpoint.d.ts +19 -0
- package/dist/composables/useShellBreakpoint.js +37 -0
- package/dist/composables/useShellBreakpoint.js.map +1 -0
- package/dist/composables/useSite.d.ts +20 -0
- package/dist/composables/useSite.js +18 -13
- package/dist/composables/useSite.js.map +1 -1
- package/dist/composables/useTabTitle.js.map +1 -1
- package/dist/composables/useTableTitle.d.ts +6 -0
- package/dist/composables/useTableTitle.js +11 -0
- package/dist/composables/useTableTitle.js.map +1 -0
- package/dist/composables/useTableZoom.d.ts +5 -0
- package/dist/composables/useTableZoom.js.map +1 -1
- package/dist/composables/useTheme.d.ts +2 -2
- package/dist/composables/useTheme.js +23 -20
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/createSmartAdmin.d.ts +12 -2
- package/dist/createSmartAdmin.js +72 -60
- package/dist/createSmartAdmin.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +223 -208
- package/dist/index.js.map +1 -1
- package/dist/layouts/AccentPicker.vue.js +8 -0
- package/dist/layouts/AccentPicker.vue.js.map +1 -0
- package/dist/layouts/AccentPicker2.vue.js +131 -0
- package/dist/layouts/AccentPicker2.vue.js.map +1 -0
- package/dist/layouts/AppHeader.vue.d.ts +8 -1
- package/dist/layouts/AppHeader.vue.js +2 -2
- package/dist/layouts/AppHeader2.vue.js +317 -235
- package/dist/layouts/AppHeader2.vue.js.map +1 -1
- package/dist/layouts/NoticeBell.vue.js +2 -2
- package/dist/layouts/NoticeBell2.vue.js +1 -1
- package/dist/layouts/NoticeBell2.vue.js.map +1 -1
- package/dist/layouts/PersonalLayout.vue.js +2 -2
- package/dist/layouts/PersonalLayout2.vue.js +69 -47
- package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
- package/dist/layouts/SettingsDrawer.vue.js +3 -3
- package/dist/layouts/SettingsDrawer2.vue.js +261 -325
- package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
- package/dist/layouts/TabsBar.vue.js +2 -2
- package/dist/layouts/TabsBar2.vue.js +97 -69
- package/dist/layouts/TabsBar2.vue.js.map +1 -1
- package/dist/layouts/components/SideNav.vue.d.ts +3 -0
- package/dist/layouts/components/SideNav.vue.js +1 -1
- package/dist/layouts/components/SideNav2.vue.js +54 -26
- package/dist/layouts/components/SideNav2.vue.js.map +1 -1
- package/dist/layouts/default.vue.js +1 -1
- package/dist/layouts/default2.vue.js +170 -140
- package/dist/layouts/default2.vue.js.map +1 -1
- package/dist/lib/favicon.d.ts +1 -0
- package/dist/lib/favicon.js +12 -0
- package/dist/lib/favicon.js.map +1 -0
- package/dist/lib/loginHero.d.ts +16 -0
- package/dist/lib/loginHero.js +33 -0
- package/dist/lib/loginHero.js.map +1 -0
- package/dist/lib/logoCrop.d.ts +25 -0
- package/dist/lib/logoCrop.js +22 -0
- package/dist/lib/logoCrop.js.map +1 -0
- package/dist/lib/runtime.d.ts +2 -0
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/securityRules.d.ts +26 -0
- package/dist/lib/securityRules.js +86 -0
- package/dist/lib/securityRules.js.map +1 -0
- package/dist/lib/watermark.d.ts +110 -0
- package/dist/lib/watermark.js +151 -0
- package/dist/lib/watermark.js.map +1 -0
- package/dist/locales/en-US.d.ts +462 -42
- package/dist/locales/en-US.js +491 -78
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/kernelMenuTitles.d.ts +1 -0
- package/dist/locales/kernelMenuTitles.js +128 -0
- package/dist/locales/kernelMenuTitles.js.map +1 -0
- package/dist/locales/menuTitle.d.ts +3 -0
- package/dist/locales/menuTitle.js +14 -12
- package/dist/locales/menuTitle.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +462 -42
- package/dist/locales/zh-CN.js +490 -81
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/index.js +41 -32
- package/dist/router/index.js.map +1 -1
- package/dist/router/namedPage.d.ts +4 -0
- package/dist/router/namedPage.js +7 -7
- package/dist/router/namedPage.js.map +1 -1
- package/dist/router/viewRegistry.js +12 -12
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/stores/app.d.ts +0 -12
- package/dist/stores/app.js +11 -12
- package/dist/stores/app.js.map +1 -1
- package/dist/stores/tabs.js.map +1 -1
- package/dist/stores/user.d.ts +10 -0
- package/dist/stores/user.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme/accentTokens.d.ts +27 -0
- package/dist/theme/accentTokens.js +54 -0
- package/dist/theme/accentTokens.js.map +1 -0
- package/dist/theme/accents.d.ts +21 -1
- package/dist/theme/accents.js +11 -2
- package/dist/theme/accents.js.map +1 -1
- package/dist/theme/mix.d.ts +58 -7
- package/dist/theme/mix.js +115 -30
- package/dist/theme/mix.js.map +1 -1
- package/dist/theme/naive-theme.d.ts +5 -2
- package/dist/theme/naive-theme.js +405 -75
- package/dist/theme/naive-theme.js.map +1 -1
- package/dist/utils/jwt.d.ts +8 -0
- package/dist/utils/jwt.js +14 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/menuIcon.d.ts +2 -0
- package/dist/utils/menuIcon.js +8 -0
- package/dist/utils/menuIcon.js.map +1 -0
- package/dist/utils/oauthBrand.d.ts +34 -9
- package/dist/utils/oauthBrand.js +70 -74
- package/dist/utils/oauthBrand.js.map +1 -1
- package/dist/utils/tableFilter.d.ts +88 -0
- package/dist/utils/tableFilter.js +116 -0
- package/dist/utils/tableFilter.js.map +1 -0
- package/dist/utils/tableToolbar.d.ts +18 -0
- package/dist/utils/tableToolbar.js +11 -0
- package/dist/utils/tableToolbar.js.map +1 -0
- package/dist/utils/treeFilter.d.ts +20 -0
- package/dist/utils/treeFilter.js +24 -0
- package/dist/utils/treeFilter.js.map +1 -0
- package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
- package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
- package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
- package/dist/views/dashboard/biz.vue.js +1 -1
- package/dist/views/dashboard/biz2.vue.js +310 -257
- package/dist/views/dashboard/biz2.vue.js.map +1 -1
- package/dist/views/dashboard/workbench.vue.js +2 -2
- package/dist/views/dashboard/workbench2.vue.js +141 -155
- package/dist/views/dashboard/workbench2.vue.js.map +1 -1
- package/dist/views/embed/iframe.vue.js +2 -2
- package/dist/views/embed/iframe2.vue.js +22 -15
- package/dist/views/embed/iframe2.vue.js.map +1 -1
- package/dist/views/error/404.vue.js +2 -2
- package/dist/views/error/4042.vue.js +33 -24
- package/dist/views/error/4042.vue.js.map +1 -1
- package/dist/views/error/BootError.vue.js +1 -1
- package/dist/views/error/BootError2.vue.js +59 -48
- package/dist/views/error/BootError2.vue.js.map +1 -1
- package/dist/views/error/MissingRoute.vue.js +2 -2
- package/dist/views/error/MissingRoute2.vue.js +34 -15
- package/dist/views/error/MissingRoute2.vue.js.map +1 -1
- package/dist/views/login/LoginForm.vue.d.ts +7 -1
- package/dist/views/login/LoginForm.vue.js +2 -2
- package/dist/views/login/LoginForm2.vue.js +580 -488
- package/dist/views/login/LoginForm2.vue.js.map +1 -1
- package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
- package/dist/views/login/components/LoginDesk.vue.js +9 -0
- package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
- package/dist/views/login/components/LoginDesk2.vue.js +100 -0
- package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel.vue.d.ts +18 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js +8 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js +61 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -0
- package/dist/views/login/index.vue.js +1 -1
- package/dist/views/login/index2.vue.js +141 -71
- package/dist/views/login/index2.vue.js.map +1 -1
- package/dist/views/login/layout.d.ts +11 -0
- package/dist/views/login/layout.js +27 -0
- package/dist/views/login/layout.js.map +1 -0
- package/dist/views/mfa/index.vue.js +2 -2
- package/dist/views/mfa/index2.vue.js +367 -321
- package/dist/views/mfa/index2.vue.js.map +1 -1
- package/dist/views/module/index.vue.js +2 -2
- package/dist/views/module/index2.vue.js +132 -99
- package/dist/views/module/index2.vue.js.map +1 -1
- package/dist/views/oauth/callback.vue.js +2 -2
- package/dist/views/oauth/callback2.vue.js +65 -51
- package/dist/views/oauth/callback2.vue.js.map +1 -1
- package/dist/views/personal/bindings.vue.js +2 -2
- package/dist/views/personal/bindings2.vue.js +98 -94
- package/dist/views/personal/bindings2.vue.js.map +1 -1
- package/dist/views/personal/notice2.vue.js +103 -76
- package/dist/views/personal/notice2.vue.js.map +1 -1
- package/dist/views/personal/password2.vue.js +47 -40
- package/dist/views/personal/password2.vue.js.map +1 -1
- package/dist/views/personal/profile.vue.js +3 -3
- package/dist/views/personal/profile2.vue.js +24 -18
- package/dist/views/personal/profile2.vue.js.map +1 -1
- package/dist/views/personal/security.vue.js +2 -2
- package/dist/views/personal/security2.vue.js +65 -53
- package/dist/views/personal/security2.vue.js.map +1 -1
- package/dist/views/personal/sessions.vue.js +2 -2
- package/dist/views/personal/sessions2.vue.js +67 -62
- package/dist/views/personal/sessions2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
- package/dist/views/system/ai-model/index.vue.js +2 -2
- package/dist/views/system/ai-model/index2.vue.js +99 -99
- package/dist/views/system/ai-model/index2.vue.js.map +1 -1
- package/dist/views/system/ai-model/presets.d.ts +1 -1
- package/dist/views/system/ai-model/presets.js +18 -18
- package/dist/views/system/ai-model/presets.js.map +1 -1
- package/dist/views/system/ai-usage/index.vue.js +2 -2
- package/dist/views/system/ai-usage/index2.vue.js +356 -258
- package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
- package/dist/views/system/api-docs/index.vue.js +5 -2
- package/dist/views/system/api-docs/index.vue.js.map +1 -1
- package/dist/views/system/api-docs/index2.vue.js +92 -42
- package/dist/views/system/api-docs/index2.vue.js.map +1 -1
- package/dist/views/system/cache/index.vue.js +2 -2
- package/dist/views/system/cache/index2.vue.js +74 -80
- package/dist/views/system/cache/index2.vue.js.map +1 -1
- package/dist/views/system/config/components/AdminMock.vue.js +8 -0
- package/dist/views/system/config/components/AdminMock.vue.js.map +1 -0
- package/dist/views/system/config/components/AdminMock2.vue.js +93 -0
- package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js +8 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js +163 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection.vue.d.ts +7 -0
- package/dist/views/system/config/components/BrandSection.vue.js +8 -0
- package/dist/views/system/config/components/BrandSection.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection2.vue.js +266 -0
- package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup.vue.d.ts +18 -0
- package/dist/views/system/config/components/CfgGroup.vue.js +8 -0
- package/dist/views/system/config/components/CfgGroup.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js +22 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow.vue.d.ts +26 -0
- package/dist/views/system/config/components/CfgRow.vue.js +9 -0
- package/dist/views/system/config/components/CfgRow.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow2.vue.js +54 -0
- package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment.vue.d.ts +28 -0
- package/dist/views/system/config/components/CfgSegment.vue.js +8 -0
- package/dist/views/system/config/components/CfgSegment.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js +45 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js +4 -1
- package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -1
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +72 -60
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
- package/dist/views/system/config/components/JobSection.vue.js +8 -0
- package/dist/views/system/config/components/JobSection.vue.js.map +1 -0
- package/dist/views/system/config/components/JobSection2.vue.js +140 -0
- package/dist/views/system/config/components/JobSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock.vue.d.ts +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock2.vue.js +132 -0
- package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper.vue.d.ts +10 -0
- package/dist/views/system/config/components/LogoCropper.vue.js +8 -0
- package/dist/views/system/config/components/LogoCropper.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js +122 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor.vue.js +8 -0
- package/dist/views/system/config/components/LogoEditor.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js +161 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet.vue.d.ts +17 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js +8 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js +343 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -0
- package/dist/{layouts/SettingRow.vue.d.ts → views/system/config/components/ScaleToFit.vue.d.ts} +2 -1
- package/dist/views/system/config/components/ScaleToFit.vue.js +8 -0
- package/dist/views/system/config/components/ScaleToFit.vue.js.map +1 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js +41 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout.vue.d.ts +30 -0
- package/dist/views/system/config/components/SectionLayout.vue.js +8 -0
- package/dist/views/system/config/components/SectionLayout.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js +69 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection.vue.js +8 -0
- package/dist/views/system/config/components/SecuritySection.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js +417 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js +8 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js +214 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection.vue.js +8 -0
- package/dist/views/system/config/components/SigninSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection2.vue.js +201 -0
- package/dist/views/system/config/components/SigninSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection.vue.js +8 -0
- package/dist/views/system/config/components/UploadSection.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection2.vue.js +176 -0
- package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
- package/dist/views/system/config/draft.d.ts +148 -0
- package/dist/views/system/config/draft.js +170 -0
- package/dist/views/system/config/draft.js.map +1 -0
- package/dist/views/system/config/flash.d.ts +2 -0
- package/dist/views/system/config/flash.js +9 -0
- package/dist/views/system/config/flash.js.map +1 -0
- package/dist/views/system/config/groups.d.ts +38 -7
- package/dist/views/system/config/groups.js +104 -14
- package/dist/views/system/config/groups.js.map +1 -1
- package/dist/views/system/config/index.vue.js +6 -2
- package/dist/views/system/config/index.vue.js.map +1 -1
- package/dist/views/system/config/index2.vue.js +201 -111
- package/dist/views/system/config/index2.vue.js.map +1 -1
- package/dist/views/system/config/layoutMode.d.ts +23 -0
- package/dist/views/system/config/layoutMode.js +28 -0
- package/dist/views/system/config/layoutMode.js.map +1 -0
- package/dist/views/system/config/providerForm.d.ts +33 -0
- package/dist/views/system/config/providerForm.js +63 -0
- package/dist/views/system/config/providerForm.js.map +1 -0
- package/dist/views/system/dict/index.vue.js +2 -2
- package/dist/views/system/dict/index2.vue.js +471 -366
- package/dist/views/system/dict/index2.vue.js.map +1 -1
- package/dist/views/system/file/index2.vue.js +91 -76
- package/dist/views/system/file/index2.vue.js.map +1 -1
- package/dist/views/system/job/index.vue.js +3 -3
- package/dist/views/system/job/index2.vue.js +897 -828
- package/dist/views/system/job/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
- package/dist/views/system/job-log/index.vue.js +2 -2
- package/dist/views/system/job-log/index2.vue.js +193 -207
- package/dist/views/system/job-log/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/runStatus.d.ts +13 -0
- package/dist/views/system/job-log/runStatus.js +26 -0
- package/dist/views/system/job-log/runStatus.js.map +1 -0
- package/dist/views/system/job-monitor/index.vue.js +2 -2
- package/dist/views/system/job-monitor/index2.vue.js +172 -180
- package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
- package/dist/views/system/log/exception/index.vue.js +2 -2
- package/dist/views/system/log/exception/index2.vue.js +135 -96
- package/dist/views/system/log/exception/index2.vue.js.map +1 -1
- package/dist/views/system/log/login/index2.vue.js +62 -41
- package/dist/views/system/log/login/index2.vue.js.map +1 -1
- package/dist/views/system/log/op/index.vue.js +2 -2
- package/dist/views/system/log/op/index2.vue.js +200 -162
- package/dist/views/system/log/op/index2.vue.js.map +1 -1
- package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
- package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
- package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
- package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
- package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
- package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
- package/dist/views/system/menu/index.vue.js +1 -1
- package/dist/views/system/menu/index2.vue.js +216 -183
- package/dist/views/system/menu/index2.vue.js.map +1 -1
- package/dist/views/system/module/index.vue.js +1 -1
- package/dist/views/system/module/index2.vue.js +177 -144
- package/dist/views/system/module/index2.vue.js.map +1 -1
- package/dist/views/system/monitor/index.vue.js +2 -2
- package/dist/views/system/monitor/index2.vue.js +134 -149
- package/dist/views/system/monitor/index2.vue.js.map +1 -1
- package/dist/views/system/notice/index.vue.js +1 -1
- package/dist/views/system/notice/index2.vue.js +209 -181
- package/dist/views/system/notice/index2.vue.js.map +1 -1
- package/dist/views/system/org/index.vue.js +1 -1
- package/dist/views/system/org/index2.vue.js +278 -248
- package/dist/views/system/org/index2.vue.js.map +1 -1
- package/dist/views/system/position/index.vue.js +5 -2
- package/dist/views/system/position/index.vue.js.map +1 -1
- package/dist/views/system/position/index2.vue.js +128 -92
- package/dist/views/system/position/index2.vue.js.map +1 -1
- package/dist/views/system/recycle/index.vue.js +2 -2
- package/dist/views/system/recycle/index2.vue.js +90 -67
- package/dist/views/system/recycle/index2.vue.js.map +1 -1
- package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
- package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
- package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
- package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
- package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
- package/dist/views/system/role/components/MatchText.vue.js +8 -0
- package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
- package/dist/views/system/role/components/MatchText2.vue.js +29 -0
- package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
- package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
- package/dist/views/system/role/components/grantMenuGroups.js +110 -48
- package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
- package/dist/views/system/role/index.vue.js +5 -2
- package/dist/views/system/role/index.vue.js.map +1 -1
- package/dist/views/system/role/index2.vue.js +181 -165
- package/dist/views/system/role/index2.vue.js.map +1 -1
- package/dist/views/system/session/index2.vue.js +75 -49
- package/dist/views/system/session/index2.vue.js.map +1 -1
- package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
- package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
- package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
- package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
- package/dist/views/system/user/index.vue.js +2 -2
- package/dist/views/system/user/index2.vue.js +362 -275
- package/dist/views/system/user/index2.vue.js.map +1 -1
- package/package.json +6 -8
- package/dist/components/SelectTable/index.vue.d.ts +0 -76
- package/dist/components/SelectTable/index2.vue.js +0 -256
- package/dist/components/SelectTable/index2.vue.js.map +0 -1
- package/dist/composables/useTableRowSort.d.ts +0 -20
- package/dist/composables/useTableRowSort.js +0 -59
- package/dist/composables/useTableRowSort.js.map +0 -1
- package/dist/layouts/LayoutModeCards.vue.js +0 -8
- package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
- package/dist/layouts/LayoutModeCards2.vue.js +0 -67
- package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
- package/dist/layouts/SettingRow.vue.js +0 -8
- package/dist/layouts/SettingRow.vue.js.map +0 -1
- package/dist/layouts/SettingRow2.vue.js +0 -23
- package/dist/layouts/SettingRow2.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
- package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
- package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel.vue.js +0 -8
- package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel2.vue.js +0 -85
- package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight.vue.js +0 -8
- package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight2.vue.js +0 -36
- package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
- package/dist/views/login/skins.d.ts +0 -8
- package/dist/views/login/skins.js +0 -13
- package/dist/views/login/skins.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js +0 -8
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +0 -218
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig.vue.js +0 -8
- package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js +0 -108
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig.vue.js +0 -5
- package/dist/views/system/config/components/HighSensConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig2.vue.js +0 -134
- package/dist/views/system/config/components/HighSensConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig.vue.js +0 -5
- package/dist/views/system/config/components/JobConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig2.vue.js +0 -116
- package/dist/views/system/config/components/JobConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig.vue.js +0 -5
- package/dist/views/system/config/components/OtherConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig2.vue.js +0 -121
- package/dist/views/system/config/components/OtherConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig.vue.js +0 -8
- package/dist/views/system/config/components/SecurityConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig2.vue.js +0 -456
- package/dist/views/system/config/components/SecurityConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig.vue.js +0 -5
- package/dist/views/system/config/components/SysBaseConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig2.vue.js +0 -107
- package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig.vue.d.ts +0 -3
- package/dist/views/system/config/components/UploadConfig.vue.js +0 -5
- package/dist/views/system/config/components/UploadConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig2.vue.js +0 -135
- package/dist/views/system/config/components/UploadConfig2.vue.js.map +0 -1
- /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
- /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/AdminMock.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/SplitPanel.vue.d.ts → system/config/components/AdvancedSection.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/Spotlight.vue.d.ts → system/config/components/JobSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{ExternalAuthConfig.vue.d.ts → LogoEditor.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{HighSensConfig.vue.d.ts → SecuritySection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{JobConfig.vue.d.ts → SensitiveSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{OtherConfig.vue.d.ts → SigninSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SecurityConfig.vue.d.ts → UploadSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SysBaseConfig.vue.d.ts → WatermarkSection.vue.d.ts} +0 -0
package/dist/locales/en-US.js
CHANGED
|
@@ -79,10 +79,12 @@ const e = {
|
|
|
79
79
|
comfortable: "Comfortable",
|
|
80
80
|
compact: "Compact",
|
|
81
81
|
language: "Language",
|
|
82
|
-
loginStyle: "Login style",
|
|
83
82
|
collapse: "Collapse",
|
|
84
83
|
openMenu: "Open menu",
|
|
85
84
|
switchModule: "Switch app",
|
|
85
|
+
appearance: "Appearance",
|
|
86
|
+
back: "Back",
|
|
87
|
+
forward: "Forward",
|
|
86
88
|
logout: "Log out",
|
|
87
89
|
personalCenter: "Account",
|
|
88
90
|
clearCache: "Clear cache",
|
|
@@ -112,6 +114,17 @@ const e = {
|
|
|
112
114
|
auto: "Auto",
|
|
113
115
|
themeColor: "Theme color",
|
|
114
116
|
custom: "Custom",
|
|
117
|
+
accentName: {
|
|
118
|
+
blue: "Blue",
|
|
119
|
+
indigo: "Indigo",
|
|
120
|
+
purple: "Purple",
|
|
121
|
+
teal: "Teal",
|
|
122
|
+
green: "Green",
|
|
123
|
+
graphite: "Graphite",
|
|
124
|
+
custom: "Custom color"
|
|
125
|
+
},
|
|
126
|
+
accentDemoButton: "Button",
|
|
127
|
+
accentDemoLink: "Link text",
|
|
115
128
|
layout: "Layout",
|
|
116
129
|
layoutVertical: "Vertical",
|
|
117
130
|
layoutVerticalMix: "Vertical Mix",
|
|
@@ -120,6 +133,9 @@ const e = {
|
|
|
120
133
|
layoutTopHybridSidebarFirst: "Top Hybrid (Sidebar)",
|
|
121
134
|
layoutTopHybridHeaderFirst: "Top Hybrid (Header)",
|
|
122
135
|
interface: "Interface",
|
|
136
|
+
formStyle: "Form style",
|
|
137
|
+
formStyleModal: "Dialog",
|
|
138
|
+
formStyleDrawer: "Drawer",
|
|
123
139
|
showBreadcrumb: "Breadcrumb",
|
|
124
140
|
showTabs: "Tabs",
|
|
125
141
|
fixedHeader: "Fixed header",
|
|
@@ -127,19 +143,17 @@ const e = {
|
|
|
127
143
|
transitionNone: "None",
|
|
128
144
|
transitionFade: "Fade",
|
|
129
145
|
transitionFadeSlide: "Fade slide",
|
|
130
|
-
grayscale: "Grayscale",
|
|
131
|
-
watermark: "Watermark",
|
|
132
|
-
watermarkText: "Watermark text",
|
|
133
|
-
watermarkPlaceholder: "Enter watermark text",
|
|
134
|
-
formStyle: "Form style",
|
|
135
|
-
formStyleModal: "Modal",
|
|
136
|
-
formStyleDrawer: "Drawer",
|
|
137
146
|
resetConfirm: "Reset all settings to default?",
|
|
138
147
|
copyConfig: "Copy config",
|
|
139
148
|
configCopied: "Current config copied (paste into DEFAULTS in stores/app.ts to make it the new default)",
|
|
140
149
|
searchPlaceholder: "Search menu…",
|
|
141
150
|
searchEmpty: "No matching menu",
|
|
142
|
-
searchHint: "↑↓ navigate · ↵ open · Esc close"
|
|
151
|
+
searchHint: "↑↓ navigate · ↵ open · Esc close",
|
|
152
|
+
descBreadcrumb: "Show the page path in the header",
|
|
153
|
+
descTabs: "Keep opened pages and switch between them",
|
|
154
|
+
descFixedHeader: "Pin the header with frosted glass",
|
|
155
|
+
descPageTransition: "Animation when switching pages",
|
|
156
|
+
descCollapse: "Hide the sidebar, more room for content"
|
|
143
157
|
},
|
|
144
158
|
tabs: {
|
|
145
159
|
refresh: "Refresh",
|
|
@@ -201,9 +215,9 @@ const e = {
|
|
|
201
215
|
ssoDingtalk: "DingTalk",
|
|
202
216
|
sso: "SSO",
|
|
203
217
|
ssoComingSoon: "Third-party login coming soon",
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
218
|
+
layoutLabel: "Switch sign-in layout",
|
|
219
|
+
layoutToSolo: "Switch to single column",
|
|
220
|
+
layoutToSplit: "Switch to two columns"
|
|
207
221
|
},
|
|
208
222
|
module: {
|
|
209
223
|
choose: "Choose app",
|
|
@@ -228,6 +242,7 @@ const e = {
|
|
|
228
242
|
editTitle: "Edit app",
|
|
229
243
|
deleteConfirm: 'Delete app "{title}"?',
|
|
230
244
|
disableConfirm: 'Disable app "{title}"? It will disappear from the portal',
|
|
245
|
+
builtinNoDisable: "The built-in app cannot be disabled",
|
|
231
246
|
saved: "Saved",
|
|
232
247
|
deleted: "Deleted"
|
|
233
248
|
},
|
|
@@ -286,6 +301,139 @@ const e = {
|
|
|
286
301
|
saved: "Saved",
|
|
287
302
|
deleted: "Deleted"
|
|
288
303
|
},
|
|
304
|
+
// Translations of the kernel seed menu / app titles (DefaultMenuSeed / DefaultModuleSeed); the title -> key table is locales/kernelMenuTitles.ts
|
|
305
|
+
menuTitle: {
|
|
306
|
+
module: {
|
|
307
|
+
system: "System",
|
|
308
|
+
business: "Business Center"
|
|
309
|
+
},
|
|
310
|
+
catalog: {
|
|
311
|
+
org: "Organization",
|
|
312
|
+
ops: "System Operations",
|
|
313
|
+
schedule: "Job Scheduling",
|
|
314
|
+
audit: "Audit Logs",
|
|
315
|
+
ai: "AI Management"
|
|
316
|
+
},
|
|
317
|
+
page: {
|
|
318
|
+
workbench: "Workbench",
|
|
319
|
+
org: "Organizations",
|
|
320
|
+
position: "Positions",
|
|
321
|
+
user: "Users",
|
|
322
|
+
role: "Roles",
|
|
323
|
+
config: "System Settings",
|
|
324
|
+
dict: "Dictionaries",
|
|
325
|
+
menu: "Menus",
|
|
326
|
+
module: "Modules",
|
|
327
|
+
notice: "Notifications",
|
|
328
|
+
recycle: "Recycle Bin",
|
|
329
|
+
monitor: "Server Monitor",
|
|
330
|
+
cache: "Cache",
|
|
331
|
+
apiDocs: "API Docs",
|
|
332
|
+
job: "Scheduled Jobs",
|
|
333
|
+
jobLog: "Job Runs",
|
|
334
|
+
jobMonitor: "Job Monitor",
|
|
335
|
+
loginLog: "Login Logs",
|
|
336
|
+
opLog: "Operation Logs",
|
|
337
|
+
exceptionLog: "Exception Logs",
|
|
338
|
+
session: "Online Sessions",
|
|
339
|
+
file: "Files",
|
|
340
|
+
aiModel: "AI Models",
|
|
341
|
+
aiUsage: "AI Usage"
|
|
342
|
+
},
|
|
343
|
+
button: {
|
|
344
|
+
orgQuery: "Org - Query",
|
|
345
|
+
orgCreate: "Org - Create",
|
|
346
|
+
orgUpdate: "Org - Update",
|
|
347
|
+
orgDelete: "Org - Delete",
|
|
348
|
+
orgCopy: "Org - Copy",
|
|
349
|
+
positionQuery: "Position - Query",
|
|
350
|
+
positionCreate: "Position - Create",
|
|
351
|
+
positionUpdate: "Position - Update",
|
|
352
|
+
positionDelete: "Position - Delete",
|
|
353
|
+
userQuery: "User - Query",
|
|
354
|
+
userCreate: "User - Create",
|
|
355
|
+
userUpdate: "User - Update",
|
|
356
|
+
userDelete: "User - Delete",
|
|
357
|
+
userResetPassword: "User - Reset Password",
|
|
358
|
+
userToggle: "User - Enable / Disable",
|
|
359
|
+
userImport: "User - Import",
|
|
360
|
+
userExport: "User - Export",
|
|
361
|
+
roleQuery: "Role - Query",
|
|
362
|
+
roleCreate: "Role - Create",
|
|
363
|
+
roleUpdate: "Role - Update",
|
|
364
|
+
roleDelete: "Role - Delete",
|
|
365
|
+
roleGrantMenus: "Role - Grant Menus",
|
|
366
|
+
roleDataScope: "Role - Data Scope",
|
|
367
|
+
roleGrantUsers: "Role - Grant Users",
|
|
368
|
+
ping: "Connectivity Probe",
|
|
369
|
+
configQuery: "Config - Query",
|
|
370
|
+
configCreate: "Config - Create",
|
|
371
|
+
configUpdate: "Config - Update",
|
|
372
|
+
configDelete: "Config - Delete",
|
|
373
|
+
configUploadLogo: "Config - Upload Logo",
|
|
374
|
+
sensitiveQuery: "Sensitive Action - Query",
|
|
375
|
+
sensitiveCreate: "Sensitive Action - Create",
|
|
376
|
+
sensitiveDelete: "Sensitive Action - Delete",
|
|
377
|
+
mfaClear: "MFA - Unbind User Authenticator",
|
|
378
|
+
dictTypeQuery: "Dict Type - Query",
|
|
379
|
+
dictTypeCreate: "Dict Type - Create",
|
|
380
|
+
dictTypeUpdate: "Dict Type - Update",
|
|
381
|
+
dictTypeDelete: "Dict Type - Delete",
|
|
382
|
+
dictItemQuery: "Dict Item - Query",
|
|
383
|
+
dictItemCreate: "Dict Item - Create",
|
|
384
|
+
dictItemUpdate: "Dict Item - Update",
|
|
385
|
+
dictItemDelete: "Dict Item - Delete",
|
|
386
|
+
menuQuery: "Menu - Query",
|
|
387
|
+
menuCreate: "Menu - Create",
|
|
388
|
+
menuUpdate: "Menu - Update",
|
|
389
|
+
menuDelete: "Menu - Delete",
|
|
390
|
+
moduleQuery: "Module - Query",
|
|
391
|
+
moduleCreate: "Module - Create",
|
|
392
|
+
moduleUpdate: "Module - Update",
|
|
393
|
+
moduleDelete: "Module - Delete",
|
|
394
|
+
noticeQuery: "Notice - Query",
|
|
395
|
+
noticePublish: "Notice - Publish",
|
|
396
|
+
noticeDelete: "Notice - Delete",
|
|
397
|
+
recycleQuery: "Recycle Bin - Query",
|
|
398
|
+
recyclePurge: "Recycle Bin - Delete Permanently",
|
|
399
|
+
recycleRestore: "Recycle Bin - Restore",
|
|
400
|
+
monitorQuery: "Server Monitor - Query",
|
|
401
|
+
cacheFlushAuth: "Cache - Clear Permissions",
|
|
402
|
+
cacheFlushDict: "Cache - Clear Dictionaries",
|
|
403
|
+
cacheFlushConfig: "Cache - Clear Configs",
|
|
404
|
+
cacheRebuildPortal: "Cache - Rebuild Portal Menus",
|
|
405
|
+
apiDocsView: "API Docs - View Contract",
|
|
406
|
+
jobQuery: "Job - Query",
|
|
407
|
+
jobCreate: "Job - Create",
|
|
408
|
+
jobUpdate: "Job - Update",
|
|
409
|
+
jobDelete: "Job - Delete",
|
|
410
|
+
jobToggle: "Job - Enable / Disable",
|
|
411
|
+
jobRun: "Job - Run Once",
|
|
412
|
+
jobLogQuery: "Job Run - Query",
|
|
413
|
+
jobLogKill: "Job Run - Terminate",
|
|
414
|
+
jobLogClear: "Job Run - Clear",
|
|
415
|
+
jobMonitorQuery: "Job Monitor - Query",
|
|
416
|
+
loginLogQuery: "Login Log - Query",
|
|
417
|
+
loginLogClear: "Login Log - Clear",
|
|
418
|
+
opLogQuery: "Operation Log - Query",
|
|
419
|
+
opLogClear: "Operation Log - Clear",
|
|
420
|
+
opLogExport: "Operation Log - Export",
|
|
421
|
+
exceptionLogQuery: "Exception Log - Query",
|
|
422
|
+
exceptionLogClear: "Exception Log - Clear",
|
|
423
|
+
sessionQuery: "Online Session - Query",
|
|
424
|
+
sessionKick: "Force Logout",
|
|
425
|
+
fileQuery: "File - Query",
|
|
426
|
+
fileUpload: "File - Upload",
|
|
427
|
+
fileDelete: "File - Delete",
|
|
428
|
+
fileDownload: "File - Download",
|
|
429
|
+
aiProviderQuery: "AI Provider - Query",
|
|
430
|
+
aiProviderCreate: "AI Provider - Create",
|
|
431
|
+
aiProviderUpdate: "AI Provider - Update",
|
|
432
|
+
aiProviderDelete: "AI Provider - Delete",
|
|
433
|
+
aiProviderTest: "AI Provider - Test Connection",
|
|
434
|
+
aiUsageQuery: "AI Usage - Query"
|
|
435
|
+
}
|
|
436
|
+
},
|
|
289
437
|
iconPicker: {
|
|
290
438
|
placeholder: "Select icon",
|
|
291
439
|
title: "Select icon",
|
|
@@ -308,9 +456,13 @@ const e = {
|
|
|
308
456
|
fixedNone: "Unpin",
|
|
309
457
|
expand: "Expand",
|
|
310
458
|
collapse: "Collapse",
|
|
459
|
+
total: "Total {n}",
|
|
311
460
|
// TableZoomButton (blow a wide table up to the full viewport)
|
|
312
461
|
zoom: "Zoom in",
|
|
313
|
-
zoomExit: "Zoom out"
|
|
462
|
+
zoomExit: "Zoom out",
|
|
463
|
+
// Shown when a search condition is beyond what the backend can express (see utils/tableFilter.ts)
|
|
464
|
+
filterFallback: 'Some search conditions are not supported by the server (one condition per field; a date range needs "on or after" plus "on or before" joined by AND). Searching with the recognizable ones.',
|
|
465
|
+
filterTruncated: "More than 10000 rows: search only covers the first 10000. Use a more specific condition."
|
|
314
466
|
},
|
|
315
467
|
workbench: {
|
|
316
468
|
welcome: "Hello, {name}",
|
|
@@ -358,6 +510,8 @@ const e = {
|
|
|
358
510
|
passwordHint: "Leave blank to auto-generate one (shown once after creation)",
|
|
359
511
|
org: "Org",
|
|
360
512
|
allOrgs: "All",
|
|
513
|
+
// Narrow content area: the org tree moves into a drawer (toolbar button + drawer title)
|
|
514
|
+
orgFilter: "Organization",
|
|
361
515
|
orgPlaceholder: "Select org (optional)",
|
|
362
516
|
position: "Position",
|
|
363
517
|
positionPlaceholder: "Select position (optional)",
|
|
@@ -528,113 +682,349 @@ const e = {
|
|
|
528
682
|
deleteConfirm: 'Delete config "{name}"?',
|
|
529
683
|
saved: "Saved",
|
|
530
684
|
deleted: "Deleted",
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
685
|
+
keyManagedBy: 'This key is managed by the "{tab}" form. Edit it there after saving.',
|
|
686
|
+
unsaved: "{n} unsaved change(s)",
|
|
687
|
+
unsavedTab: "Unsaved changes",
|
|
688
|
+
discard: "Discard",
|
|
689
|
+
leaveTitle: "Discard unsaved changes?",
|
|
690
|
+
leaveConfirm: "You have unsaved configuration changes. They will be lost if you leave.",
|
|
536
691
|
tab: {
|
|
537
|
-
|
|
692
|
+
brand: "Branding & login",
|
|
693
|
+
signin: "Sign-in methods",
|
|
538
694
|
security: "Security",
|
|
539
|
-
|
|
540
|
-
|
|
695
|
+
watermark: "Watermark",
|
|
696
|
+
sensitive: "Sensitive actions",
|
|
697
|
+
upload: "Uploads",
|
|
541
698
|
job: "Scheduled jobs",
|
|
542
|
-
|
|
699
|
+
advanced: "Advanced"
|
|
700
|
+
},
|
|
701
|
+
brand: {
|
|
702
|
+
desc: "How the site looks in the browser tab, the sidebar, the footer and the login page.",
|
|
703
|
+
preview: "Live preview",
|
|
704
|
+
previewAdmin: "Admin",
|
|
705
|
+
previewLogin: "Login",
|
|
706
|
+
groupSite: "Site",
|
|
707
|
+
groupLogin: "Login page",
|
|
708
|
+
copyrightPh: "Leave empty to show the site name",
|
|
709
|
+
copyrightUrlHint: "When set, the footer copyright becomes a link"
|
|
710
|
+
},
|
|
711
|
+
watermark: {
|
|
712
|
+
desc: "Overlaid on every page after sign-in, never on the login page.",
|
|
713
|
+
groupContent: "Content",
|
|
714
|
+
groupStyle: "Style",
|
|
715
|
+
enable: "Enable watermark",
|
|
716
|
+
enableHint: "Overlay faint text on every page so a leaked screenshot can be traced to a person",
|
|
717
|
+
content: "Content",
|
|
718
|
+
contentHint: "Each user sees their own details, in the order below",
|
|
719
|
+
contentEmpty: "Nothing is selected, so no watermark will show",
|
|
720
|
+
field: {
|
|
721
|
+
name: "Name",
|
|
722
|
+
account: "Account",
|
|
723
|
+
org: "Organization",
|
|
724
|
+
phone: "Phone (last 4)",
|
|
725
|
+
time: "Current time",
|
|
726
|
+
text: "Custom text"
|
|
727
|
+
},
|
|
728
|
+
text: "Custom text",
|
|
729
|
+
textHint: 'e.g. "Internal only"; the same for everyone',
|
|
730
|
+
textPlaceholder: "Up to {max} characters",
|
|
731
|
+
timeFormat: "Time format",
|
|
732
|
+
layout: "Layout",
|
|
733
|
+
layoutSingle: "One line",
|
|
734
|
+
layoutMulti: "Multi-line",
|
|
735
|
+
fontSize: "Font size",
|
|
736
|
+
opacity: "Strength",
|
|
737
|
+
opacityHint: "Higher is easier to read the mark, and harder to read the page",
|
|
738
|
+
rotate: "Angle",
|
|
739
|
+
density: "Density",
|
|
740
|
+
sparse: "Loose",
|
|
741
|
+
normal: "Normal",
|
|
742
|
+
dense: "Tight",
|
|
743
|
+
cross: "Staggered",
|
|
744
|
+
crossHint: "Offset alternate rows by half a tile so it is harder to crop out"
|
|
745
|
+
},
|
|
746
|
+
logo: {
|
|
747
|
+
title: "Logo",
|
|
748
|
+
edit: "Change logo",
|
|
749
|
+
upload: "Upload a new image…",
|
|
750
|
+
useUrl: "Use an image URL…",
|
|
751
|
+
remove: "Remove, use the default",
|
|
752
|
+
help: "PNG, JPG or WEBP, cropped square; also the browser tab icon",
|
|
753
|
+
fallback: "Without a logo the built-in one is used. The browser tab icon follows the logo too.",
|
|
754
|
+
badType: "Only PNG, JPG and WEBP images are supported",
|
|
755
|
+
tooLarge: "The image must be at most {mb} MB",
|
|
756
|
+
cropTitle: "Crop new logo",
|
|
757
|
+
cropTip: "Drag or use the arrow keys to reposition; scroll, the slider or +/- to zoom",
|
|
758
|
+
zoom: "Zoom",
|
|
759
|
+
apply: "Set new logo",
|
|
760
|
+
cropFailed: "Cropping failed, try another image",
|
|
761
|
+
badUrl: "Enter an address starting with http:// or https://, or a site path starting with /",
|
|
762
|
+
urlHint: "The image must be publicly readable. A square image works best."
|
|
763
|
+
},
|
|
764
|
+
advanced: {
|
|
765
|
+
desc: "Configs that belong to none of the tabs above, edited as raw key/value rows. Keys the tabs above manage are not listed here."
|
|
766
|
+
},
|
|
767
|
+
preview: {
|
|
768
|
+
minutes: "{n} min",
|
|
769
|
+
hours: "{n} h",
|
|
770
|
+
days: "{n} days",
|
|
771
|
+
off: "(not enabled)",
|
|
772
|
+
sep: ", ",
|
|
773
|
+
expand: "Expand",
|
|
774
|
+
collapse: "Collapse",
|
|
775
|
+
req: {
|
|
776
|
+
upper: "an uppercase letter",
|
|
777
|
+
lower: "a lowercase letter",
|
|
778
|
+
digit: "a digit",
|
|
779
|
+
special: "a special character"
|
|
780
|
+
},
|
|
781
|
+
lock: "After {count} wrong passwords in a row the account is locked for {minutes} min",
|
|
782
|
+
lockOff: "Wrong passwords never lock the account",
|
|
783
|
+
captcha: "Sign-in asks for a captcha ({type})",
|
|
784
|
+
totp: "Users can use an authenticator as a second factor",
|
|
785
|
+
totpSuper: "Users can use an authenticator as a second factor; super admins must",
|
|
786
|
+
smsMfa: "Users with a bound phone verify an SMS code at sign-in",
|
|
787
|
+
password: "Passwords need at least {min} characters and {reqs}",
|
|
788
|
+
passwordMin: "Passwords need at least {min} characters",
|
|
789
|
+
expire: "Passwords must be changed every {days} days",
|
|
790
|
+
noExpire: "Passwords never expire",
|
|
791
|
+
history: "A new password cannot repeat the last {n}",
|
|
792
|
+
historyOff: "A new password may repeat an old one",
|
|
793
|
+
firstChange: "Admin-created accounts must change their password at first sign-in",
|
|
794
|
+
firstChangeOff: "New accounts keep their initial password at first sign-in",
|
|
795
|
+
session: "Access tokens renew every {access}; sign-in lasts up to {refresh}",
|
|
796
|
+
rateLimit: "At most {permit} requests per {seconds} s from one source"
|
|
543
797
|
},
|
|
544
798
|
job: {
|
|
545
|
-
|
|
799
|
+
desc: "How long run logs are kept and who hears about failures.",
|
|
800
|
+
preview: "Live preview · effect",
|
|
801
|
+
groupLog: "Run logs",
|
|
802
|
+
groupAlert: "Failure alerts",
|
|
803
|
+
logRetentionDays: "Keep for",
|
|
804
|
+
logRetentionHint: "Older logs are cleaned up daily",
|
|
546
805
|
alertEmails: "Alert emails",
|
|
547
|
-
alertEmailsHint: "
|
|
806
|
+
alertEmailsHint: "Press Enter to add; none means no email",
|
|
807
|
+
previewRetention: "Run logs are kept for {days} days; older ones are cleaned up daily",
|
|
808
|
+
previewKeep: "Keep {days} days",
|
|
809
|
+
previewAxisStart: "{days} days ago",
|
|
810
|
+
previewToday: "Today",
|
|
811
|
+
previewTo: "To",
|
|
812
|
+
previewSubject: "Subject",
|
|
813
|
+
previewSubjectText: "[{site}] Scheduled job failed: Daily report",
|
|
814
|
+
previewBody: 'Job "Daily report" failed at 02:00 after 3 retries.',
|
|
815
|
+
previewError: "database connection timed out (30s)",
|
|
816
|
+
previewNoAlert: "Failed runs send no email; they are only recorded in the run log"
|
|
548
817
|
},
|
|
549
818
|
externalAuth: {
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
819
|
+
preview: "Live preview · sign-in box",
|
|
820
|
+
previewOther: "Other sign-in options",
|
|
821
|
+
hint: "Which sign-in options appear on the login page. Connection details for each third party are entered in its Settings and stored encrypted.",
|
|
822
|
+
groupLocal: "Local account",
|
|
823
|
+
groupThird: "Third-party",
|
|
824
|
+
password: "Username and password",
|
|
825
|
+
passwordHint: "Always available",
|
|
826
|
+
smsHint: "Sign in with phone number and SMS code",
|
|
827
|
+
state: {
|
|
828
|
+
notInstalled: "Not installed",
|
|
829
|
+
unconfigured: "Not configured",
|
|
830
|
+
configured: "Configured"
|
|
831
|
+
},
|
|
832
|
+
settings: "Settings",
|
|
833
|
+
addOidc: "Add OIDC",
|
|
834
|
+
needPackage: "Install the {pkg} package on the server first",
|
|
835
|
+
codeRegistered: "Registered in code; not configured here",
|
|
560
836
|
linkByAccount: "Link by account",
|
|
837
|
+
linkByAccountHint: "People with the same account ID are bound to the local account on first sign-in; asks to confirm",
|
|
561
838
|
linkByAccountConfirmTitle: "Turn on link by account?",
|
|
562
|
-
linkByAccountConfirm: "The first time someone signs in with {name}, if their {name} account ID is exactly the same as a local account, the two are bound and they are signed in directly. Super admins, disabled accounts and accounts already bound to {name} are never linked. Make sure both sides are the same people first, e.g. local accounts were synced from {name}."
|
|
839
|
+
linkByAccountConfirm: "The first time someone signs in with {name}, if their {name} account ID is exactly the same as a local account, the two are bound and they are signed in directly. Super admins, disabled accounts and accounts already bound to {name} are never linked. Make sure both sides are the same people first, e.g. local accounts were synced from {name}.",
|
|
840
|
+
field: {
|
|
841
|
+
displayName: "Display name",
|
|
842
|
+
code: "Identifier",
|
|
843
|
+
corpId: "Corp ID",
|
|
844
|
+
agentId: "Agent ID",
|
|
845
|
+
corpSecret: "App secret",
|
|
846
|
+
appKey: "AppKey",
|
|
847
|
+
appSecret: "AppSecret",
|
|
848
|
+
clientId: "Client ID",
|
|
849
|
+
clientSecret: "Client secret",
|
|
850
|
+
appId: "AppId",
|
|
851
|
+
authority: "Authority",
|
|
852
|
+
scopes: "Scopes",
|
|
853
|
+
usePkce: "Use PKCE"
|
|
854
|
+
},
|
|
855
|
+
sheet: {
|
|
856
|
+
title: "{name} sign-in settings",
|
|
857
|
+
addOidc: "Add OIDC",
|
|
858
|
+
oidcHint: "A standard OpenID Connect identity source",
|
|
859
|
+
secretNote: "Secrets are stored encrypted and are not displayed after saving",
|
|
860
|
+
namePlaceholder: "e.g. Company SSO",
|
|
861
|
+
codePlaceholder: "lowercase letters, digits, hyphens",
|
|
862
|
+
codeFixed: "Cannot be changed after saving",
|
|
863
|
+
codeTaken: "This identifier is already in use",
|
|
864
|
+
secretPlaceholder: "Paste the secret",
|
|
865
|
+
secretSet: "set",
|
|
866
|
+
keepSecret: "Leave blank to keep · current {now}",
|
|
867
|
+
secretRetype: "Enter the secret again",
|
|
868
|
+
endpointMoved: "Authority changed: to avoid sending the saved secret to a new address, enter the client secret again.",
|
|
869
|
+
ephemeralKey: "The data-protection master key is temporary, so secrets cannot be saved yet. Configure SmartAdmin:Security:DataProtection:Key and restart.",
|
|
870
|
+
ephemeralTitle: "The master key is temporary; saving is unavailable",
|
|
871
|
+
callback: "Callback URL",
|
|
872
|
+
callbackHint: "Enter this callback URL in the {name} console.",
|
|
873
|
+
idp: "identity provider",
|
|
874
|
+
callbackMissing: "SmartAdmin:ExternalAuth:CallbackBaseUrl is not set in production, so the callback URL cannot be computed.",
|
|
875
|
+
copyFailed: "Copy failed; select it manually",
|
|
876
|
+
test: "Test connection",
|
|
877
|
+
testing: "Testing…",
|
|
878
|
+
saved: "Saved",
|
|
879
|
+
clear: "Clear settings",
|
|
880
|
+
clearTitle: 'Clear the settings for "{name}"?',
|
|
881
|
+
clearConfirm: "After clearing, this sign-in option is unavailable and disappears from the login page. Accounts users have already bound to {name} are not deleted.",
|
|
882
|
+
cleared: "Cleared"
|
|
883
|
+
},
|
|
884
|
+
check: {
|
|
885
|
+
reachable: "Connectivity",
|
|
886
|
+
credentials: "Credentials",
|
|
887
|
+
agent: "AgentId",
|
|
888
|
+
appId: "AppId",
|
|
889
|
+
secret: "AppSecret",
|
|
890
|
+
discovery: "Discovery document",
|
|
891
|
+
issuer: "Issuer match",
|
|
892
|
+
endpoints: "Authorization and token endpoints",
|
|
893
|
+
clientSecret: "Client secret",
|
|
894
|
+
timeout: "Timeout",
|
|
895
|
+
error: "Error"
|
|
896
|
+
},
|
|
897
|
+
checkStatus: {
|
|
898
|
+
ok: "passed",
|
|
899
|
+
failed: "failed",
|
|
900
|
+
skipped: "not verified"
|
|
901
|
+
}
|
|
563
902
|
},
|
|
564
903
|
base: {
|
|
565
904
|
siteTitle: "Site title",
|
|
566
|
-
|
|
567
|
-
siteSubtitle: "Login subtitle",
|
|
905
|
+
siteSubtitle: "Subtitle",
|
|
568
906
|
copyright: "Copyright",
|
|
569
907
|
copyrightUrl: "Copyright link"
|
|
570
908
|
},
|
|
909
|
+
login: {
|
|
910
|
+
language: "Login page language",
|
|
911
|
+
localeZh: "Chinese",
|
|
912
|
+
localeEn: "English",
|
|
913
|
+
showFeatures: "Show feature list",
|
|
914
|
+
headline: "Headline",
|
|
915
|
+
headlinePlaceholder: "Leave empty to use the built-in headline",
|
|
916
|
+
highlight: "Highlight",
|
|
917
|
+
highlightPlaceholder: "Word in the headline to highlight",
|
|
918
|
+
highlightHint: "Word in the headline shown in the accent color",
|
|
919
|
+
features: "Features",
|
|
920
|
+
featuresPlaceholder: "One per line, up to 5",
|
|
921
|
+
featuresHint: "One per line, up to 5",
|
|
922
|
+
highlightMissing: "Not in the headline; it will render as plain text",
|
|
923
|
+
tooManyFeatures: "At most 5 features"
|
|
924
|
+
},
|
|
571
925
|
security: {
|
|
926
|
+
desc: "Sign-in protection, password rules, session length and rate limits. Takes effect on save.",
|
|
927
|
+
preview: "Rules users will meet",
|
|
928
|
+
groupLogin: "Sign-in protection",
|
|
929
|
+
groupSession: "Session",
|
|
930
|
+
groupRate: "Rate limit",
|
|
931
|
+
zeroNoLock: "0 = never lock",
|
|
932
|
+
zeroNever: "0 = never expires",
|
|
933
|
+
zeroOff: "0 = no limit",
|
|
934
|
+
unit: { times: "times", minutes: "min", days: "days", seconds: "s", chars: "chars" },
|
|
935
|
+
tryLabel: "Try a password",
|
|
936
|
+
tryMin: "At least {n} chars",
|
|
937
|
+
tryPass: "Accepted",
|
|
938
|
+
tryFail: "Rejected",
|
|
572
939
|
loginLock: {
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
lockMinutes: "Lock minutes"
|
|
940
|
+
maxFailCount: "Lock after failures",
|
|
941
|
+
lockMinutes: "Lock duration"
|
|
576
942
|
},
|
|
577
943
|
password: {
|
|
578
|
-
title: "Password
|
|
944
|
+
title: "Password",
|
|
579
945
|
minLength: "Min length",
|
|
946
|
+
mustContain: "Must contain",
|
|
947
|
+
chipUpper: "A-Z",
|
|
948
|
+
chipLower: "a-z",
|
|
949
|
+
chipDigit: "0-9",
|
|
950
|
+
// @ 在 vue-i18n 里是链接语法,要用字面量插值转义
|
|
951
|
+
chipSpecial: "#{'@'}!",
|
|
580
952
|
requireUpper: "Require uppercase",
|
|
581
953
|
requireLower: "Require lowercase",
|
|
582
954
|
requireDigit: "Require digit",
|
|
583
955
|
requireSpecial: "Require special char",
|
|
584
|
-
expireDays: "
|
|
585
|
-
historyCount: "
|
|
956
|
+
expireDays: "Max age",
|
|
957
|
+
historyCount: "No reuse of last",
|
|
958
|
+
forceChangeOnFirstLogin: "Change at first sign-in",
|
|
959
|
+
forceChangeOnFirstLoginHint: "New accounts only; resets still require a change"
|
|
586
960
|
},
|
|
587
961
|
session: {
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
refreshMinutes: "Refresh token (min)"
|
|
962
|
+
accessMinutes: "Access token lifetime",
|
|
963
|
+
refreshMinutes: "Stay signed in up to"
|
|
591
964
|
},
|
|
592
965
|
captcha: {
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
types: { char: "Characters", path: "Stroke (anti-scrape)", math: "Arithmetic" }
|
|
966
|
+
enabled: "Login captcha",
|
|
967
|
+
type: "Type",
|
|
968
|
+
types: { char: "Characters", path: "Stroke", math: "Arithmetic" }
|
|
597
969
|
},
|
|
598
970
|
totp: {
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
requireForSuperAdmin: "Require authenticator for super admin",
|
|
971
|
+
enabled: "Authenticator (TOTP)",
|
|
972
|
+
requireForSuperAdmin: "Required for super admins",
|
|
602
973
|
hint: "Toggles like login captcha — takes effect immediately. Per-user “require authenticator” only enforces at sign-in when this is on; users bind under Account security."
|
|
603
974
|
},
|
|
604
975
|
sms: {
|
|
605
|
-
title: "SMS verification",
|
|
606
976
|
hint: "The second factor only applies to users with a bound phone; in development, codes are printed to the backend log — production requires a real SMS provider (ISmsSender)."
|
|
607
977
|
},
|
|
608
|
-
mfa: { enabled: "
|
|
609
|
-
smsLogin: { enabled: "
|
|
978
|
+
mfa: { enabled: "SMS second factor" },
|
|
979
|
+
smsLogin: { enabled: "SMS code sign-in" },
|
|
610
980
|
rateLimit: {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
authPermitPerWindow: "Auth-endpoint requests / window"
|
|
981
|
+
enabled: "Enabled",
|
|
982
|
+
windowSeconds: "Window",
|
|
983
|
+
permitPerWindow: "Per source, at most",
|
|
984
|
+
authPermitPerWindow: "Sign-in endpoints, at most"
|
|
616
985
|
},
|
|
617
986
|
highSens: {
|
|
618
|
-
title: "High-sensitivity permissions (custom)",
|
|
619
|
-
hint: "Kernel defaults cannot be removed; only consumer custom codes can be added/deleted. Writes require recent reauth.",
|
|
620
987
|
code: "Permission code",
|
|
621
988
|
remark: "Remark",
|
|
622
|
-
codePh: "e.g. POST:/api/v1/biz/order",
|
|
623
|
-
remarkPh: "
|
|
989
|
+
codePh: "e.g. POST:/api/v1/biz/order/refund",
|
|
990
|
+
remarkPh: "Remark (optional)",
|
|
624
991
|
codeRequired: "Permission code is required"
|
|
625
992
|
}
|
|
626
993
|
},
|
|
994
|
+
sensitive: {
|
|
995
|
+
desc: "Users must verify their identity again before calling these endpoints. Built-in ones cannot be removed; add your own business endpoints. Changes apply immediately.",
|
|
996
|
+
preview: "What users see when they call it",
|
|
997
|
+
previewTip: "Click a row to switch",
|
|
998
|
+
previewDoing: "You are about to call",
|
|
999
|
+
method: "Method",
|
|
1000
|
+
path: "Endpoint",
|
|
1001
|
+
builtin: "Built-in",
|
|
1002
|
+
added: "Added, effective now",
|
|
1003
|
+
removed: "Removed, effective now",
|
|
1004
|
+
removeConfirm: 'Remove "{code}"? Calling it will no longer require re-verification.'
|
|
1005
|
+
},
|
|
627
1006
|
upload: {
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
1007
|
+
desc: "Size and type limits for every upload on the site. Takes effect on save.",
|
|
1008
|
+
preview: "Live preview · upload box",
|
|
1009
|
+
previewDrop: "Click or drop files here",
|
|
1010
|
+
previewLimit: "Accepts {exts}, up to {mb} MB per file",
|
|
1011
|
+
previewDefault: "server default types",
|
|
1012
|
+
groupLimit: "Limits",
|
|
1013
|
+
maxSizeMb: "Max file size",
|
|
1014
|
+
allowedExtensions: "Allowed types",
|
|
1015
|
+
extTip: "Empty = server default",
|
|
1016
|
+
quickAdd: "Quick add",
|
|
1017
|
+
preset: { images: "Images", docs: "Documents", archives: "Archives", clear: "Clear" },
|
|
1018
|
+
fileOk: "OK",
|
|
1019
|
+
fileBadExt: "{ext} not allowed",
|
|
1020
|
+
fileTooBig: "Over {mb} MB",
|
|
1021
|
+
fileDefault: "Per server default"
|
|
633
1022
|
}
|
|
634
1023
|
},
|
|
635
1024
|
// Dict management (master-detail: types on the left, items on the right)
|
|
636
1025
|
dict: {
|
|
637
1026
|
title: "Dictionaries",
|
|
1027
|
+
typeTitle: "Dictionary types",
|
|
638
1028
|
code: "Type code",
|
|
639
1029
|
name: "Type name",
|
|
640
1030
|
searchName: "Search name",
|
|
@@ -648,7 +1038,7 @@ const e = {
|
|
|
648
1038
|
typeSaved: "Saved",
|
|
649
1039
|
typeDeleted: "Deleted",
|
|
650
1040
|
itemsOf: 'Items of "{name}"',
|
|
651
|
-
selectTypeHint: "Select a dict type
|
|
1041
|
+
selectTypeHint: "Select a dict type above to manage its items",
|
|
652
1042
|
itemLabel: "Label",
|
|
653
1043
|
itemValue: "Value",
|
|
654
1044
|
itemLabelRequired: "Enter a label",
|
|
@@ -658,7 +1048,10 @@ const e = {
|
|
|
658
1048
|
editItemTitle: "Edit dict item",
|
|
659
1049
|
itemDeleteConfirm: 'Delete dict item "{label}"?',
|
|
660
1050
|
itemSaved: "Saved",
|
|
661
|
-
itemDeleted: "Deleted"
|
|
1051
|
+
itemDeleted: "Deleted",
|
|
1052
|
+
codeImmutable: "The code cannot be changed after creation",
|
|
1053
|
+
itemsSheetTitle: "Dict items",
|
|
1054
|
+
selectItem: "Select"
|
|
662
1055
|
},
|
|
663
1056
|
// Org management (tree table + parent-org tree select)
|
|
664
1057
|
org: {
|
|
@@ -673,6 +1066,7 @@ const e = {
|
|
|
673
1066
|
parentPlaceholder: "Select parent (blank = top level)",
|
|
674
1067
|
nameRequired: "Enter a name",
|
|
675
1068
|
codePlaceholder: "Leave blank to auto-generate",
|
|
1069
|
+
codeImmutableHint: "The code cannot be changed after creation",
|
|
676
1070
|
addChild: "Add child",
|
|
677
1071
|
addTitle: "Add org",
|
|
678
1072
|
editTitle: "Edit org",
|
|
@@ -815,6 +1209,7 @@ const e = {
|
|
|
815
1209
|
name: "Name",
|
|
816
1210
|
sort: "Sort",
|
|
817
1211
|
codePlaceholder: "Auto-generated if empty",
|
|
1212
|
+
codeImmutableHint: "The code cannot be changed after creation",
|
|
818
1213
|
nameRequired: "Enter a name",
|
|
819
1214
|
addTitle: "Add position",
|
|
820
1215
|
editTitle: "Edit position",
|
|
@@ -844,10 +1239,17 @@ const e = {
|
|
|
844
1239
|
deleted: "Deleted",
|
|
845
1240
|
grantMenus: "Grant menus",
|
|
846
1241
|
grantSaved: "Grants saved",
|
|
847
|
-
catalog: "Directory",
|
|
848
|
-
menuCol: "Menu",
|
|
849
|
-
buttonsCol: "Buttons",
|
|
850
1242
|
apiOnlyRow: "API only (no page)",
|
|
1243
|
+
grantSearch: "Search directories, pages or buttons",
|
|
1244
|
+
grantSearchClear: "Clear search",
|
|
1245
|
+
grantSelectAll: 'Select all in "{name}"',
|
|
1246
|
+
noButtons: "No button permissions",
|
|
1247
|
+
grantNoMatch: "No matching permissions",
|
|
1248
|
+
grantNoMatchElsewhere: "{count} directory(ies) match in other apps. Switch the app above to view them.",
|
|
1249
|
+
grantNoMenus: "No menus in this app",
|
|
1250
|
+
grantSummary: "Granted {on} / {total}",
|
|
1251
|
+
grantSummarySplit: "{pages} pages · {buttons} buttons",
|
|
1252
|
+
grantUnsaved: "Unsaved changes",
|
|
851
1253
|
dataScope: "Data scope",
|
|
852
1254
|
scopeType: "Scope type",
|
|
853
1255
|
customOrgs: "Custom orgs",
|
|
@@ -1030,6 +1432,7 @@ const e = {
|
|
|
1030
1432
|
killed: "Kill requested",
|
|
1031
1433
|
clear: "Clear logs",
|
|
1032
1434
|
clearTitle: "Clear run logs",
|
|
1435
|
+
clearRange: "Range",
|
|
1033
1436
|
clearAll: "All records",
|
|
1034
1437
|
beforeDays: "Older than {n} days",
|
|
1035
1438
|
clearHint: "Running records are always kept; this is a hard delete and cannot be undone.",
|
|
@@ -1118,6 +1521,7 @@ const e = {
|
|
|
1118
1521
|
enabled: "Enabled",
|
|
1119
1522
|
disabled: "Disabled",
|
|
1120
1523
|
pendingConfigTip: "No API key configured yet — fill it in before saving",
|
|
1524
|
+
pendingConfig: "Pending setup",
|
|
1121
1525
|
provider: {
|
|
1122
1526
|
code: "Provider code",
|
|
1123
1527
|
codePlaceholder: "Unique code, immutable after creation",
|
|
@@ -1159,7 +1563,8 @@ const e = {
|
|
|
1159
1563
|
defaultTag: "Default",
|
|
1160
1564
|
atLeastOne: "Keep at least one model",
|
|
1161
1565
|
duplicateName: "Duplicate model name",
|
|
1162
|
-
noDefault: "No default model set"
|
|
1566
|
+
noDefault: "No default model set",
|
|
1567
|
+
defaultUniqueHint: "The default model is unique across all providers: saving a new default here clears the default of any other provider."
|
|
1163
1568
|
},
|
|
1164
1569
|
test: {
|
|
1165
1570
|
action: "Test connection",
|
|
@@ -1330,7 +1735,14 @@ const e = {
|
|
|
1330
1735
|
csrfInvalid: "Request validation failed; refresh the page and try again",
|
|
1331
1736
|
reauthRequired: "This action requires re-authentication",
|
|
1332
1737
|
mfaBindPasswordRequired: "Verify your current password before binding an authenticator",
|
|
1333
|
-
apiKeyInvalid: "API key missing or invalid"
|
|
1738
|
+
apiKeyInvalid: "API key missing or invalid",
|
|
1739
|
+
externalAuthTypeNotFound: "Sign-in type does not exist or its package is not installed",
|
|
1740
|
+
externalAuthCodeExists: "This code is already in use",
|
|
1741
|
+
externalAuthCodeInvalid: "Code is invalid or conflicts with a built-in sign-in method",
|
|
1742
|
+
externalAuthFieldMissing: "Required field missing: {field}",
|
|
1743
|
+
externalAuthDataProtectionKeyMissing: "No data-protection master key is configured, so third-party secrets cannot be stored safely. Set SmartAdmin:Security:DataProtection:Key first",
|
|
1744
|
+
externalAuthProviderNotFound: "This sign-in method is not configured",
|
|
1745
|
+
externalAuthEndpointBlocked: "This address is rejected by the outbound-request fence; check the scheme, host and network range"
|
|
1334
1746
|
},
|
|
1335
1747
|
perm: {
|
|
1336
1748
|
denied: "Access denied",
|
|
@@ -1499,7 +1911,8 @@ const e = {
|
|
|
1499
1911
|
fallbackLink: "Didn't open automatically? Click here",
|
|
1500
1912
|
copyToken: "Copy my API token",
|
|
1501
1913
|
copyTokenHint: "In the new tab, click Authentication → Bearer in the top right and paste the token you just copied",
|
|
1502
|
-
tokenCopied: "Copied"
|
|
1914
|
+
tokenCopied: "Copied",
|
|
1915
|
+
tokenWarn: "The token is the credential of your current session and acts as your identity. Do not share it with anyone."
|
|
1503
1916
|
},
|
|
1504
1917
|
// User import / export: column titles + file names (mirror UserImportProfile / UserExportProfile columns)
|
|
1505
1918
|
userExport: {
|