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.'
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'