693 lines
24 KiB
TypeScript
693 lines
24 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',
|
||
|
|
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',
|
||
|
|
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;
|