const local: App.I18n.Schema = { system: { title: 'cn-rdms' }, common: { action: 'Action', add: 'Add', addSuccess: 'Add Success', backToHome: 'Back to home', batchDelete: 'Batch Delete', cancel: 'Cancel', close: 'Close', check: 'Check', expandColumn: 'Expand Column', columnSetting: 'Column Setting', config: 'Config', confirm: 'Confirm', delete: 'Delete', deleteSuccess: 'Delete Success', confirmDelete: 'Are you sure you want to delete?', edit: 'Edit', warning: 'Warning', error: 'Error', index: 'Index', keywordSearch: 'Please enter keyword', logout: 'Logout', logoutConfirm: 'Are you sure you want to log out?', lookForward: 'Coming soon', modify: 'Modify', modifySuccess: 'Modify Success', more: 'More', noData: 'No Data', operate: 'Operate', pleaseCheckValue: 'Please check whether the value is valid', refresh: 'Refresh', reset: 'Reset', search: 'Search', switch: 'Switch', tip: 'Tip', trigger: 'Trigger', update: 'Update', updateSuccess: 'Update Success', userCenter: 'User Center', yesOrNo: { yes: 'Yes', no: 'No' } }, request: { logout: 'Logout user after request failed', logoutMsg: 'User status is invalid, please log in again', logoutWithModal: 'Pop up modal after request failed and then log out user', logoutWithModalMsg: 'User status is invalid, please log in again', refreshToken: 'The requested token has expired, refresh the token', tokenExpired: 'The requested token has expired' }, theme: { themeSchema: { title: 'Theme Schema', light: 'Light', dark: 'Dark', auto: 'Follow System' }, grayscale: 'Grayscale', colourWeakness: 'Colour Weakness', layoutMode: { title: 'Layout Mode', vertical: 'Vertical Menu Mode', horizontal: 'Horizontal Menu Mode', 'vertical-mix': 'Vertical Mix Menu Mode', 'horizontal-mix': 'Horizontal Mix menu Mode', reverseHorizontalMix: 'Reverse first level menus and child level menus position' }, recommendColor: 'Apply Recommended Color Algorithm', recommendColorDesc: 'The recommended color algorithm refers to', themeColor: { title: 'Theme Color', primary: 'Primary', info: 'Info', success: 'Success', warning: 'Warning', error: 'Error', followPrimary: 'Follow Primary' }, scrollMode: { title: 'Scroll Mode', wrapper: 'Wrapper', content: 'Content' }, page: { animate: 'Page Animate', mode: { title: 'Page Animate Mode', fade: 'Fade', 'fade-slide': 'Slide', 'fade-bottom': 'Fade Zoom', 'fade-scale': 'Fade Scale', 'zoom-fade': 'Zoom Fade', 'zoom-out': 'Zoom Out', none: 'None' } }, fixedHeaderAndTab: 'Fixed Header And Tab', header: { height: 'Header Height', breadcrumb: { visible: 'Breadcrumb Visible', showIcon: 'Breadcrumb Icon Visible' }, multilingual: { visible: 'Display multilingual button' }, globalSearch: { visible: 'Display global search button' } }, tab: { visible: 'Tab Visible', cache: 'Tag Bar Info Cache', height: 'Tab Height', mode: { title: 'Tab Mode', chrome: 'Chrome', button: 'Button' } }, sider: { inverted: 'Dark Sider', width: 'Sider Width', collapsedWidth: 'Sider Collapsed Width', mixWidth: 'Mix Sider Width', mixCollapsedWidth: 'Mix Sider Collapse Width', mixChildMenuWidth: 'Mix Child Menu Width' }, footer: { visible: 'Footer Visible', fixed: 'Fixed Footer', height: 'Footer Height', right: 'Right Footer' }, watermark: { visible: 'Watermark Full Screen Visible', text: 'Watermark Text', enableUserName: 'Enable User Name Watermark' }, themeDrawerTitle: 'Theme Configuration', pageFunTitle: 'Page Function', configOperation: { copyConfig: 'Copy Config', copySuccessMsg: 'Copy Success, Please replace the variable "themeSettings" in "src/theme/settings.ts"', resetConfig: 'Reset Config', resetSuccessMsg: 'Reset Success' } }, route: { login: 'Login', 403: 'No Permission', 404: 'Page Not Found', 500: 'Server Error', 'iframe-page': 'Iframe', 'user-center': 'User Center', function: 'System Function', function_tab: 'Tab', 'function_multi-tab': 'Multi Tab', 'function_hide-child': 'Hide Child', 'function_hide-child_one': 'Hide Child', 'function_hide-child_two': 'Two', 'function_hide-child_three': 'Three', function_request: 'Request', 'function_toggle-auth': 'Toggle Auth', 'function_super-page': 'Super Admin Visible', system: 'System Management', system_user: 'User Management', 'system_user-detail': 'User Detail', system_role: 'Role Management', system_menu: 'Menu Management', system_post: 'Post Management', system_dict: 'Dictionary Management', 'system_user-management-relation': 'User Management Relation', exception: 'Exception', exception_403: '403', exception_404: '404', exception_500: '500', plugin: 'Plugin', plugin_copy: 'Copy', plugin_charts: 'Charts', plugin_charts_echarts: 'ECharts', plugin_charts_antv: 'AntV', plugin_charts_vchart: 'VChart', plugin_editor: 'Editor', plugin_editor_quill: 'Quill', plugin_editor_markdown: 'Markdown', plugin_icon: 'Icon', plugin_map: 'Map', plugin_print: 'Print', plugin_swiper: 'Swiper', plugin_video: 'Video', plugin_barcode: 'Barcode', plugin_pinyin: 'pinyin', plugin_excel: 'Excel', plugin_pdf: 'PDF preview', plugin_gantt: 'Gantt Chart', plugin_gantt_dhtmlx: 'dhtmlxGantt', plugin_gantt_vtable: 'VTableGantt', plugin_typeit: 'Typeit', plugin_tables: 'Tables', plugin_tables_vtable: 'VTable' }, page: { login: { common: { loginOrRegister: 'Login / Register', userNamePlaceholder: 'Please enter user name', phonePlaceholder: 'Please enter phone number', codePlaceholder: 'Please enter verification code', passwordPlaceholder: 'Please enter password', confirmPasswordPlaceholder: 'Please enter password again', codeLogin: 'Verification code login', confirm: 'Confirm', back: 'Back', validateSuccess: 'Verification passed', loginSuccess: 'Login successfully', welcomeBack: 'Welcome back, {userName} !' }, pwdLogin: { title: 'Password Login', rememberMe: 'Remember me', forgetPassword: 'Forget password?', register: 'Register', otherAccountLogin: 'Other Account Login', otherLoginMode: 'Other Login Mode', superAdmin: 'Super Admin', admin: 'Admin', user: 'User' }, codeLogin: { title: 'Verification Code Login', getCode: 'Get verification code', reGetCode: 'Reacquire after {time}s', sendCodeSuccess: 'Verification code sent successfully', imageCodePlaceholder: 'Please enter image verification code' }, register: { title: 'Register', agreement: 'I have read and agree to', protocol: '《User Agreement》', policy: '《Privacy Policy》' }, resetPwd: { title: 'Reset Password' }, bindWeChat: { title: 'Bind WeChat' } }, about: { title: 'About', introduction: 'CN-RDMS is the frontend application of the internal R&D management platform of 灿能电力. It is used to carry internal business modules, engineering collaboration and management capabilities.', projectInfo: { title: 'Project Info', version: 'Version', latestBuildTime: 'Latest Build Time', githubLink: 'Github Link', previewLink: 'Preview Link' }, prdDep: 'Production Dependency', devDep: 'Development Dependency' }, home: { branchDesc: 'This page is reserved for the internal dashboard overview of CN-RDMS and can be adjusted according to actual business needs.', greetingLateNight: 'It is late, {userName}. Take some rest.', greetingMorning: 'Good morning, {userName}. Another productive day begins.', greetingNoon: 'Good noon, {userName}. Remember to take a break.', greetingAfternoon: 'Good afternoon, {userName}. Keep up the momentum.', greetingEvening: 'Good evening, {userName}. Thanks for your hard work.', weatherDesc: 'Today is cloudy to clear, 20℃ - 25℃!', projectCount: 'Project Count', todo: 'Todo', message: 'Message', downloadCount: 'Download Count', registerCount: 'Register Count', schedule: 'Work and rest Schedule', study: 'Study', work: 'Work', rest: 'Rest', entertainment: 'Entertainment', visitCount: 'Visit Count', turnover: 'Turnover', dealCount: 'Deal Count', projectNews: { title: 'Project News', moreNews: 'More News', desc1: 'CN-RDMS project initialization is complete and the internal management frontend baseline is ready.', desc2: 'The development environment, routing structure and permission skeleton have been verified.', desc3: 'Core pages will continue to be replaced with actual internal business modules.', desc4: 'Project documentation and environment conventions are being refined step by step.', desc5: 'The current dashboard content is still placeholder data and can be replaced as needed.' }, creativity: 'Creativity' }, function: { tab: { tabOperate: { title: 'Tab Operation', addTab: 'Add Tab', addTabDesc: 'To user management page', closeTab: 'Close Tab', closeCurrentTab: 'Close Current Tab', closeAboutTab: 'Close "User Management" Tab', addMultiTab: 'Add Multi Tab', addMultiTabDesc1: 'To MultiTab page', addMultiTabDesc2: 'To MultiTab page(with query params)' }, tabTitle: { title: 'Tab Title', changeTitle: 'Change Title', change: 'Change', resetTitle: 'Reset Title', reset: 'Reset' } }, multiTab: { routeParam: 'Route Param', backTab: 'Back function_tab' }, toggleAuth: { toggleAccount: 'Toggle Account', authHook: 'Auth Hook Function `hasAuth`', superAdminVisible: 'Super Admin Visible', adminVisible: 'Admin Visible', adminOrUserVisible: 'Admin and User Visible' }, request: { repeatedErrorOccurOnce: 'Repeated Request Error Occurs Once', repeatedError: 'Repeated Request Error', repeatedErrorMsg1: 'Custom Request Error 1', repeatedErrorMsg2: 'Custom Request Error 2' } }, system: { common: { status: { enable: 'Enable', disable: 'Disable' } }, role: { title: 'Role List', currentRole: 'Current Role', resourceAuth: 'Resource Auth', searchKeyword: 'Keyword', searchPlaceholder: 'Role name / role key', searchMode: 'Search Field', all: 'All', roleName: 'Role Name', roleCode: 'Role Key', roleStatus: 'Role Status', roleDesc: 'Role Description', remark: 'Remark', sort: 'Sort', createTime: 'Create Time', menuAuth: 'Menu Auth', buttonAuth: 'Button Auth', saveAuth: 'Save Auth', selectedCount: 'Selected Resources', disabledTip: 'Disabled roles cannot be assigned menu permissions', emptyRole: 'Select a role first', lastAuthSave: 'Last auth save', unsavedTip: 'Remember to save after changing permissions', form: { roleName: 'Please enter role name', roleCode: 'Please enter role code', roleStatus: 'Please select role status', roleDesc: 'Please enter role description', remark: 'Please enter remark', sort: 'Please enter sort order', resourceKeyword: 'Filter the permission tree by resource name', startTime: 'Start time', endTime: 'End time' }, addRole: 'Add Role', editRole: 'Edit Role', type: { system: 'System Built-in', custom: 'Custom' } }, user: { title: 'User List', orgTitle: 'Organization', orgFilterPlaceholder: 'Filter organization', emptyOrg: 'No organization available', orgName: 'Organization Name', orgCode: 'Organization Code', orgTypeLabel: 'Organization Type', orgSort: 'Sort', orgLeader: 'Leader', orgLeaderTitle: 'Leader Management', candidateUser: 'Candidate User', effectiveFrom: 'Effective From', effectiveUntil: 'Effective Until', relationRemark: 'Leader Remark', emptyLeader: 'No leader', userName: 'User Name', userGender: 'Gender', nickName: 'Nick Name', deptName: 'Organization', positionName: 'Post', userPhone: 'Phone Number', userEmail: 'Email', userStatus: 'User Status', userRole: 'User Role', password: 'Password', newPassword: 'New Password', confirmPassword: 'Confirm Password', remark: 'Remark', resignedAt: 'Resigned At', resignedState: 'Resigned Status', loginDate: 'Last Login', createTime: 'Created Time', form: { userName: 'Please enter user name', userGender: 'Please select gender', nickName: 'Please enter nick name', orgName: 'Please enter organization name', orgCode: 'Please enter organization code', orgTypeLabel: 'Please select organization type', orgSort: 'Please enter sort', parentOrg: 'Please select parent organization', candidateUser: 'Please select leader', effectiveFrom: 'Please select effective start time', effectiveUntil: 'Please select effective end time', relationRemark: 'Please enter leader remark', deptName: 'Please select organization', positionName: 'Please select post', userPhone: 'Please enter phone number', userEmail: 'Please enter email', userStatus: 'Please select user status', userRole: 'Please select user role', password: 'Please enter password', newPassword: 'Please enter new password', confirmPassword: 'Please enter password again', remark: 'Please enter remark', resignedAt: 'Please select resigned time' }, addUser: 'Add User', editUser: 'Edit User', addOrg: 'Add Organization', addChildOrg: 'Add', editOrg: 'Edit Organization', addLeader: 'Add Leader', editLeader: 'Edit Leader', resetPassword: 'Reset Password', resignUser: 'Resign User', adjustResignUser: 'Adjust Resignation', restoreUser: 'Restore User', topLevelOrg: 'Top Level Organization', sections: { basicInfo: 'Basic Information', organizationInfo: 'Organization And Roles', contactInfo: 'Contact Information' }, orgType: { company: 'Company', dept: 'Department', direction: 'Direction', team: 'Team' }, gender: { unknown: 'Unknown', male: 'Male', female: 'Female' }, resignedStateEnum: { active: 'Active', pending: 'Pending Resignation', resigned: 'Resigned' } }, menu: { home: 'Home', title: 'Menu List', id: 'ID', parentId: 'Parent ID', menuType: 'Menu Type', menuName: 'Menu Name', permission: 'Permission', routeName: 'Route Name', routePath: 'Route Path', routeKind: 'Route Kind', routePropsJson: 'Route Props JSON', pageResource: 'Page Resource', component: 'Component Path', componentName: 'Component Name', iframeUrl: 'Iframe URL', externalUrl: 'External URL', redirectTarget: 'Redirect Target', pathParam: 'Path Param', layout: 'Layout Component', page: 'Page Component', i18nKey: 'I18n Key', icon: 'Icon', localIcon: 'Local Icon', iconTypeTitle: 'Icon Type', order: 'Order', constant: 'Constant', keepAlive: 'Keep Alive', href: 'Href', hideInMenu: 'Hide In Menu', activeMenu: 'Active Menu', multiTab: 'Multi Tab', fixedIndexInTab: 'Fixed Index In Tab', query: 'Query Params', button: 'Button', buttonCode: 'Button Code', buttonDesc: 'Button Desc', menuStatus: 'Menu Status', visible: 'Visible', alwaysShow: 'Always Show', createTime: 'Create Time', topLevel: 'Top Level Menu', sections: { basic: 'Basic Information', route: 'Route Information', display: 'Display Options' }, form: { home: 'Please select home', menuType: 'Please select menu type', parentId: 'Please select parent menu', menuName: 'Please enter menu name', permission: 'Please enter permission', routeName: 'Please enter route name', routePath: 'Please enter route path', path: 'Please enter route path', component: 'Please enter component path', componentName: 'Please enter component name', routeKind: 'Please select route kind', pageResource: 'Please select page resource', pageResourceParentMismatch: 'The selected page resource does not match the current parent menu path', routePropsJson: 'Please enter a valid JSON string', routePropsJsonHint: 'For example {"url":"https://example.com"}', iframeUrl: 'Please enter iframe URL', externalUrl: 'Please enter external URL', redirectTarget: 'Please enter redirect target', pathParam: 'Please enter path param', page: 'Please select page component', layout: 'Please select layout component', i18nKey: 'Please enter i18n key', icon: 'Please enter iconify name', localIcon: 'Please enter local icon name', order: 'Please enter order', sort: 'Please enter sort order', keepAlive: 'Please select whether to cache route', href: 'Please enter href', hideInMenu: 'Please select whether to hide menu', activeMenu: 'Please select route name of the highlighted menu', multiTab: 'Please select whether to support multiple tabs', fixedInTab: 'Please select whether to fix in the tab', fixedIndexInTab: 'Please enter the index fixed in the tab', queryKey: 'Please enter route parameter Key', queryValue: 'Please enter route parameter Value', button: 'Please select whether it is a button', buttonCode: 'Please enter button code', buttonDesc: 'Please enter button description', menuStatus: 'Please select menu status' }, tips: { routeKind: 'Choose the route kind that matches the current dropdown option', routeKindSummary: 'Most backend business menus should use "Page Route". Only switch to another type when you are building a top-level single page, iframe page, external link, or redirect route.', routeKindItems: { directory: 'Used only for menu grouping and does not render a real page. Typical for a parent directory such as "System Management".', view: 'Use this for normal business pages such as Role Management, Menu Management, and Dictionary Management.', single: 'Used when the page should be displayed as a top-level single page instead of being shown inside a directory content area.', iframe: 'Used when the page content is embedded by iframe. You need to provide url in Route Props JSON.', external: 'Used when clicking the menu should open an external website instead of rendering a page in this system.', redirect: 'Used only as a redirect route. Normal business menus usually should not choose this.' }, routePath: 'Fill in the last segment of the access path. For Role Management, the full path is /system/role, so this field is usually role.', pageResource: 'Page routes should select a page resource from the frontend whitelist. For example, Role Management maps to /system/role and view.system_role.', component: 'The component field should use the frontend page-resource whitelist key, not a src file path. For Role Management, use or select view.system_role.' }, addMenu: 'Add Menu', editMenu: 'Edit Menu', addChildMenu: 'Add Child Menu', type: { directory: 'Directory', menu: 'Menu', button: 'Button' }, iconType: { iconify: 'Iconify Icon', local: 'Local Icon' }, routeKindEnum: { directory: 'Directory Route', view: 'Page Route', single: 'Top-level Single Page', iframe: 'Iframe Page', external: 'External Link', redirect: 'Redirect Route' } }, dict: { typeTitle: 'Dictionary Type', dataTitle: 'Dictionary Data', currentType: 'Current Type', emptyType: 'Select a dictionary type first', typeSearchPlaceholder: 'Dictionary Type / Type Code', dictName: 'Dictionary Name', dictCode: 'Dictionary Code', dictStatus: 'Dictionary Status', dictLabel: 'Dictionary Label', dictValue: 'Dictionary Value', sort: 'Sort', remark: 'Remark', form: { dictName: 'Please enter dictionary name', dictCode: 'Please enter dictionary code', dictStatus: 'Please select dictionary status', dictLabel: 'Please enter dictionary label', dictValue: 'Please enter dictionary value', sort: 'Please enter sort', remark: 'Please enter remark' }, addType: 'Add Dictionary Type', editType: 'Edit Dictionary Type', addData: 'Add Dictionary Data', editData: 'Edit Dictionary Data' } } }, form: { required: 'Cannot be empty', userName: { required: 'Please enter user name', invalid: 'User name format is incorrect' }, phone: { required: 'Please enter phone number', invalid: 'Phone number format is incorrect' }, pwd: { required: 'Please enter password', invalid: '6-18 characters, including letters, numbers, and underscores' }, confirmPwd: { required: 'Please enter password again', invalid: 'The two passwords are inconsistent' }, code: { required: 'Please enter verification code', invalid: 'Verification code format is incorrect' }, email: { required: 'Please enter email', invalid: 'Email format is incorrect' } }, dropdown: { closeCurrent: 'Close Current', closeOther: 'Close Other', closeLeft: 'Close Left', closeRight: 'Close Right', closeAll: 'Close All' }, icon: { themeConfig: 'Theme Configuration', themeSchema: 'Theme Schema', lang: 'Switch Language', fullscreen: 'Fullscreen', fullscreenExit: 'Exit Fullscreen', reload: 'Reload Page', collapse: 'Collapse Menu', expand: 'Expand Menu', pin: 'Pin', unpin: 'Unpin' }, datatable: { itemCount: 'Total {total} items' } }; export default local;