Files
cn-rdms-web/src/locales/langs/en-us.ts

783 lines
29 KiB
TypeScript

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',
myProfile: 'My Profile',
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',
workbench: 'Workbench',
ticket: 'Ticket',
'ticket_my-submitted': 'My Submitted',
'ticket_my-pending': 'My Pending',
metrics: 'Metrics',
'metrics_project-progress': 'Project Progress',
'metrics_member-efficiency': 'Member Efficiency',
metrics_worktime: 'Worktime',
'personal-center': 'Personal Center',
'personal-center_my-profile': 'My Profile',
'personal-center_my-weekly': 'My Weekly Report',
'personal-center_my-monthly': 'My Monthly Report',
'personal-center_my-performance': 'My Performance',
'personal-center_my-application': 'My Application',
'personal-center_pending-approval': 'Pending Approval',
infra: 'Infra',
'infra_state-machine': 'State Machine',
'infra_rd-code': 'R&D Code',
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',
product: 'Product',
product_list: 'Product List',
product_dashboard: 'Dashboard',
product_requirement: 'Requirement',
product_setting: 'Settings',
project: 'Project',
project_list: 'Project List',
project_project: 'Project',
project_project_overview: 'Overview',
project_project_requirement: 'Requirement',
project_project_execution: 'Task Management',
project_project_setting: 'Settings',
system: 'System',
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'
},
scopeType: {
global: 'Global',
object: 'Object Scope'
},
objectType: {
product: 'Product',
project: 'Project'
}
},
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',
currentRoleCount: 'Role Count',
globalRoleTitle: 'Global Roles',
objectRoleTitle: 'Object-Scope Role Templates',
globalRoleSummary: 'Manage global login-state roles and their resource authorization relations.',
objectRoleSummary:
'Manage object-scope role templates and their authorized resources without participating in the global login-state navigation.',
objectRoleSummaryProduct:
'Manage product-scope role templates and their authorized resources without participating in the global login-state navigation.',
objectRoleSummaryProject:
'Manage project-scope role templates and their authorized resources without participating in the global login-state navigation.',
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',
function: 'Functional 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',
boundRoute: 'Bound Route',
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',
scopeType: 'Scope',
objectType: 'Object Type',
resourceCode: 'Resource Code',
contextEyebrow: 'Menu Configuration Context',
contextTitle: 'Unified Scope Resource Configuration',
contextDescription:
'Use one menu page to manage both global route resources and object-scope permission resources, instead of duplicating product and project pages.',
currentContext: 'Current Context',
currentResourceCount: 'Resource Count',
editorMode: 'Editor Mode',
editorModeGlobal: 'Route Resource Editor',
editorModeObject: 'Object Navigation Editor',
globalResourceTitle: 'Global Menu Resources',
objectResourceTitle: 'Object-Scope Resources',
globalResourceSummary: 'Configure login-state menus, route mappings, and global button permission resources.',
objectResourceSummary:
'Configure object-scope navigation items and action buttons. Navigation items bind real page routes, and action buttons provide in-object permission points.',
objectResourceSummaryProduct:
'Configure product-scope navigation items and action buttons. Navigation items bind real page routes, and action buttons provide in-product permission points.',
objectResourceSummaryProject:
'Configure project-scope navigation items and action buttons. Navigation items bind real page routes, and action buttons provide in-project permission points.',
scopeHintGlobal:
'Global mode keeps the current route-oriented editor and continues to serve login-state menus and global button permissions.',
scopeHintObject:
'Object mode manages navigation items and action buttons. Navigation items bind real page resources, and action buttons only maintain permission codes.',
objectTypePlaceholder: 'Please select an object type',
contextReady: 'Context Selected',
contextPending: 'Waiting For Object Type',
objectTypeRequiredTitle: 'Select an object type first',
objectTypeRequiredDescription:
'Object-scope resources must first define the configuration range, such as product or project. Then load the resource tree and editor.',
objectModeTipTitle: 'Object scope currently manages navigation items and action buttons',
objectModeTipDescription:
'In the first phase, object-scope menus only expose navigation items and action buttons. Navigation items bind real page routes for the object header navigation, and action buttons only maintain permission codes. Directory creation is intentionally hidden for now.',
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',
resourceCode: 'Please enter the resource code',
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',
boundRoute: 'Please select a bound route',
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.',
boundRoute:
'Object-scope navigation items should bind real object page routes. For example, the product scope can bind /product/dashboard or /product/requirement.',
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',
navigation: 'Navigation Item',
actionButton: 'Action 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;