feat: 实现AppHeader和LoginView完整国际化支持

- 完成AppHeader.vue全面国际化
  * 版本检查和更新通知系统多语言支持
  * 用户菜单和账户信息修改模态框国际化
  * 退出登录确认流程多语言化
  * 总计替换30+个硬编码中文字符串

- 实现LoginView.vue完整国际化
  * 登录表单所有文本支持多语言
  * 添加语言切换组件到登录页面
  * 确保用户可在登录前选择语言

- 扩展三语言翻译文件
  * zh-cn.js: 简体中文标准翻译
  * zh-tw.js: 繁体中文专业化翻译
  * en.js: 英文技术术语标准翻译
  * 新增header和login完整翻译组

- 提升用户体验
  * 登录页面右上角工具栏(语言+主题切换)
  * 响应式布局适配多设备
  * 完整的首次访问多语言体验
This commit is contained in:
Wangnov
2025-09-08 19:41:44 +08:00
parent 4aae4aaec0
commit e88e97b485
5 changed files with 218 additions and 45 deletions

View File

@@ -23,7 +23,51 @@ export default {
adminPanel: 'Admin Panel',
userMenu: 'User Menu',
logout: 'Logout',
settings: 'Settings'
settings: 'Settings',
// Version related
currentVersion: 'Current Version',
newVersionAvailable: 'New version available',
newVersion: 'New Version',
hasUpdate: 'New Version Available',
viewUpdate: 'View Update',
checkingUpdate: 'Checking for updates...',
alreadyLatest: 'Already the latest version',
checkUpdate: 'Check Update',
// User menu items
changeAccountInfo: 'Change Account Info',
// Change password modal
changePasswordModal: {
title: 'Change Account Information',
currentUsername: 'Current Username',
currentUsernameHint: 'Current username, enter new username to modify',
newUsername: 'New Username',
newUsernamePlaceholder: 'Enter new username (leave empty to keep unchanged)',
newUsernameHint: 'Leave empty to keep username unchanged',
currentPassword: 'Current Password',
currentPasswordPlaceholder: 'Please enter current password',
newPassword: 'New Password',
newPasswordPlaceholder: 'Please enter new password',
newPasswordHint: 'Password must be at least 8 characters',
confirmPassword: 'Confirm New Password',
confirmPasswordPlaceholder: 'Please enter new password again',
saving: 'Saving...',
save: 'Save Changes',
// Messages
passwordMismatch: 'Passwords do not match',
passwordTooShort: 'New password must be at least 8 characters',
accountInfoChangeSuccess: 'Account information changed successfully, please log in again',
passwordChangeSuccess: 'Password changed successfully, please log in again',
changeFailed: 'Change failed',
changePasswordFailed: 'Failed to change password'
},
// Logout
logoutConfirm: 'Are you sure you want to logout?',
logoutSuccess: 'Logged out safely'
},
apiStats: {
title: 'API Key Usage Statistics',
@@ -160,5 +204,16 @@ export default {
securityNoticeSingle: 'Your API Key is only used to query your own statistical data and will not be stored or used for other purposes',
securityNoticeMulti: 'Your API Keys are only used to query statistical data and will not be stored. Some individual information will not be displayed in aggregate mode.',
multiKeyTip: 'Tip: Supports querying up to 30 API Keys simultaneously. Use Ctrl+Enter for quick query.'
},
// Login page
login: {
title: 'Admin Panel',
username: 'Username',
usernamePlaceholder: 'Please enter username',
password: 'Password',
passwordPlaceholder: 'Please enter password',
loginButton: 'Login',
loggingIn: 'Logging in...'
}
}