Files
PolyHermes/docs/i18n-language-switcher-summary.md
T
WrBug 1a9407c544 feat: 完成前端多语言支持和菜单优化
- 缩短菜单标题,解决显示不全问题
- 添加跟随系统语言选项,作为默认选项
- 移除语言切换时的页面刷新,实现无刷新切换
- 完成主要页面的多语言替换:
  * ConfigPage - 全局配置页面
  * ResetPassword - 重置密码页面
  * LeaderList - Leader 列表页面
  * UserList - 用户列表页面
  * Statistics - 统计信息页面
  * OrderList - 订单列表页面
  * TemplateList - 模板列表页面
  * CopyTradingList - 跟单配置列表页面
- 添加简体中文、繁体中文和英文的完整翻译键
- 优化语言设置页面,支持跟随系统语言
2025-12-04 10:36:28 +08:00

90 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 前端语言切换功能实现总结
## ✅ 已完成的工作
### 1. 语言切换组件 ✅
- **文件**: `frontend/src/components/LanguageSwitcher.tsx`
- **功能**:
- 显示当前语言(简体中文、繁體中文、English)
- 支持手动切换语言
- 切换后自动刷新页面以应用 Ant Design 的 locale
- 支持移动端和桌面端响应式设计
### 2. Layout 组件集成 ✅
- **文件**: `frontend/src/components/Layout.tsx`
- **更新内容**:
- 在移动端 Header 中添加了语言切换器
- 在桌面端 Sider 中添加了语言切换器
- 菜单项已使用 i18n 翻译(menu.*
- 退出登录确认对话框已使用 i18n
### 3. i18n 配置优化 ✅
- **文件**: `frontend/src/i18n/config.ts`
- **功能**:
- 自动检测系统语言
- 优先使用 localStorage 中保存的用户选择
- 提供 `changeLanguage()` 函数用于手动切换
- 提供 `getCurrentLanguage()` 函数获取当前语言
### 4. 语言包扩展 ✅
- **新增翻译键**: `menu.*`
- `menu.accounts`: 账户管理
- `menu.copyTrading`: 跟单交易
- `menu.leaders`: Leader 管理
- `menu.templates`: 跟单模板
- `menu.copyTradingConfig`: 跟单配置
- `menu.positions`: 仓位管理
- `menu.statistics`: 统计信息
- `menu.users`: 用户管理
- `menu.systemSettings`: 系统管理
- `menu.logout`: 退出登录
- `menu.logoutConfirm`: 确认退出
- `menu.logoutConfirmDesc`: 确定要退出登录吗?
- `menu.navigation`: 导航菜单
### 5. API 请求同步 ✅
- **文件**: `frontend/src/services/api.ts`
- **功能**: 自动在请求头中添加 `X-Language`,与后端语言保持一致
## 使用方式
### 用户操作
1. 在页面右上角(桌面端)或 Header(移动端)找到语言切换器
2. 点击下拉菜单选择语言:
- 简体中文
- 繁體中文
- English
3. 选择后页面会自动刷新,应用新语言
### 技术实现
- 语言选择保存在 `localStorage``i18n_language` 键中
- 切换语言后自动刷新页面,确保:
- Ant Design 的 locale 正确应用
- 所有组件重新渲染,使用新语言
- API 请求自动携带新语言 Header
## 编译状态
- ✅ 前端编译通过,无错误
- ✅ 所有组件正常工作
## 位置说明
### 桌面端
- 语言切换器位于左侧导航栏顶部(PolyHermes 标题旁边)
### 移动端
- 语言切换器位于顶部 Header 右侧(GitHub 和 Twitter 图标之前)
## 后续优化建议
1. **无需刷新页面切换**(可选):
- 当前实现需要刷新页面以确保 Ant Design locale 正确应用
- 未来可以考虑动态更新 ConfigProvider 的 locale,避免刷新
2. **语言图标优化**(可选):
- 可以使用国旗图标或语言缩写(如 CN、TW、EN)代替文字
3. **语言切换动画**(可选):
- 添加平滑的切换动画,提升用户体验