# 国际化翻译清单

## 文档定位

- 本文件只负责维护文件级待办、进行中、已完成与当前认领状态
- 需要看主要路由的完整父子级结构、路由别名、路径和入口文件时，统一查看 `docs/i18n/主要路由.md`
- 需要看阶段成果、构建验证与时间线时，统一查看 `docs/i18n/翻译进度.md`
- 状态说明：
  - `已完成`
  - `进行中`
  - `待处理`

## 你的要求

### 翻译范围

- 扫描项目中的中文展示文本
- 只要不是涉及接口参数的内容，都要做翻译
- 路由、导航、页面标题、选项、按钮、表单标签、表格列名、提示文案、空态文案等都属于处理范围

### 禁止改动项

- 不要改功能逻辑
- 不要改接口参数
- 不要改路由路径
- 不要改权限码
- 不要改接口依赖的状态值、枚举值、提交值
- 不要把后端依赖的数据值翻译掉

### 文档维护要求

- 进度和清单文档统一放在 `docs/i18n/`
- 文档统一使用中文
- 后续每一轮翻译都要实时更新这些文档，避免上下文丢失
- 每轮源码翻译完成后，至少同步更新以下两份核心文档：
  - `docs/i18n/翻译进度.md`
  - `docs/i18n/翻译清单.md`
- 协作规则或主路由优先级发生变化时，再同步维护：
  - `docs/i18n/线程协作.md`
  - `docs/i18n/主要路由.md`

### 展示适配要求

- 英文等较长文案要兼顾展示宽度，不只做字面翻译
- 表单标签宽度不足时允许自动换行，必要时补充更宽的公共样式
- 表单标签需要保持纵向居中，避免宽度调整后标题贴边
- 表格列标题宽度不足时允许自动换行，避免英文单词被截断
- 没有设置 `min-width` 的普通表格列，需要补全局默认最小宽度
- 个别列仍不足时，再按页面单独调整

## 领取优先级

- 适用于所有线程，不只线程三
- 统一领取优先级：`已完成 src/views 页面私有组件复查 > 首页 > docs/i18n/主要路由.md > 其他路由`
- 在“已完成 `src/views` 页面私有组件复查”完成前，暂不继续领取新的未完成普通页面
- 只要首页或 `主要路由.md` 中页面仍未完成，后续线程都应优先从这两部分中选择任务
- `主要路由.md` 中具体优先领取哪个页面，仍可按原来的协作方式灵活分配，只要先读 md、先写认领、避免冲突

## 已完成

### 已完成主要路由索引

- 详细父子级结构、路由别名、路径与入口文件统一见 `docs/i18n/主要路由.md`
- 以下索引已按 `docs/i18n/主要路由.md` 当前父子级顺序同步更新
- 用户管理 / User Management
  - 用户列表 / User List
- 运营管理 / Operations Management
  - 数据配置 / Data Configuration
    - 转盘抽奖品配置 / Spin Wheel Prize Configuration
    - 国家管理 / Country Management
  - 活动配置 / Activity Configuration
    - 活动管理 / Activity Management
  - 消息推送 / Message Push
  - 运营日志 / Operations Logs
    - 砸金蛋记录 / Golden Egg Smash Records
  - APP管理员 / App Administrator
  - App启动页 / App Launch Page
  - 系统公告管理 / System Notice Management
- 语音房间 / Voice Rooms
  - 房间资料列表 / Room Profile List
- 道具管理 / Prop Management
  - 资源组配置 / Resource Group Configuration
- 系统工具 / System Tools
  - Redis缓存管理 / Redis Cache Management
  - 文件上传 / File Upload
- 主播中心 / Broadcaster Center
  - 代理钻石政策 / Agent Diamond Policy
  - 代理政策 / Agent Policy
  - BD列表 / BD List
- 补充页面
  - 抽奖概率配置 / Lottery Probability Settings

### 已完成文件平铺清单

- `src/views/login/index.vue`
- `src/components/Breadcrumb/index.vue`
- `src/components/HeaderSearch/index.vue`
- `src/components/SizeSelect/index.vue`
- `src/components/data/RestPassword/index.vue`
- `src/layout/components/NavbarLight.vue`
- `src/layout/components/Sidebar/Item.vue`
- `src/utils/get-page-title.js`
- `src/permission.js`
- `src/utils/ops-message.js`
- `src/views/dashboard/introduction/waiting-processing/index.vue`
- `src/views/dashboard/index.vue`
- `src/views/dashboard/dashboard.vue`
- `src/views/dashboard/dashboard-charts/index.vue`
- `src/views/dashboard/quick-link/index.vue`
- `src/views/dashboard/introduction/user-account-info/index.vue`
- `src/views/dashboard/introduction/user-navigation/index.vue`
- `src/views/dashboard/components/active-index/index.vue`
- `src/views/dashboard/components/daily-currency/index.vue`
- `src/views/dashboard/components/daily-currency/line-graph-charts.vue`
- `src/views/dashboard/components/daily-currency-gold/index.vue`
- `src/views/dashboard/components/daily-currency-gold/line-graph-charts.vue`
- `src/views/dashboard/components/daily-currency-gold-origin-top/index.vue`
- `src/views/dashboard/components/daily-currency-gold-origin-top/bar-graph-charts.vue`
- `src/views/dashboard/components/daily-purchase/index.vue`
- `src/views/dashboard/components/daily-purchase/line-graph-charts-general.vue`
- `src/views/dashboard/components/daily-purchase/line-graph-charts.vue`
- `src/views/dashboard/components/daily-register-user/index.vue`
- `src/views/dashboard/components/daily-register-user/line-graph-charts.vue`
- `src/views/dashboard/components/monthly-purchase/index.vue`
- `src/views/dashboard/components/monthly-purchase/line-graph-charts.vue`
- `src/views/dashboard/components/user-daily-currency-gold-top/index.vue`
- `src/views/dashboard/components/user-daily-currency-gold-top/bar-graph-charts.vue`
- `src/views/dashboard/components/user-daily-currency-recharge-top/index.vue`
- `src/views/dashboard/components/user-daily-currency-recharge-top/bar-graph-charts.vue`
- `src/components/data/PropsSalesOverviewCharts/index.vue`
- `src/components/data/PropsSalesOverviewCharts/dialog.vue`
- `src/components/data/PropsSalesOverviewCharts/bar-graph-charts.vue`
- `src/views/message/push/index.vue`
- `src/views/message/push/new-push-form.vue`
- `src/views/message/push/push-log.vue`
- `src/views/message/push/push-task.vue`
- `src/views/user/user-table/index.vue`
- `src/components/data/UserInfo/BaseInfo/index.vue`
- `src/views/room/profile/index.vue`
- `src/views/team/policy/index.vue`
- `src/views/props/props-source-group/form-edit.vue`
- `src/views/cnf/lottery/index.vue`
- `src/views/activity/template-cnf/index.vue`
- `src/views/team/business-development/index.vue`
- `src/views/team/diamond-policy/index.vue`
- `src/components/data/AccountHanle/index.vue`
- `src/views/sys/region-config/region/index.vue`
- `src/components/data/RoomInfo/index.vue`
- `src/components/data/UserAuthForm/index.vue`
- `src/components/data/InappPurchaseApple/index.vue`（已核查，无需重复修改）
- `src/components/data/InAppPurchaseDetails/index.vue`
- `src/components/data/InappPurchaseGoogle/index.vue`
- `src/components/data/UserInfo/BankCardDrawer/index.vue`
- `src/components/data/UserInfo/BaseInfo/AssociatedDeviceTimeline.vue`
- `src/components/data/UserInfo/AccountStatusLatestLog/index.vue`
- `src/components/data/UserInfo/UserTableExhibit/index.vue`
- `src/components/data/SearchRoomInput/index.vue`
- `src/components/data/GiftHistoryDetailsDrawer/index.vue`
- `src/components/data/EditUserForm/index.vue`
- `src/components/data/EditUserGoldCoinRewardForm/index.vue`
- `src/components/data/EditUserDiamondRewardForm/index.vue`
- `src/views/game/lucky-box/standard-config/gift-details.vue`
- `src/views/game/lucky-box/standard-config/index.vue`
- `src/views/game/lucky-box/standard-config/edit.vue`
- `src/views/game/lucky-box/standard-config/probability.vue`
- `src/views/game/lucky-box/award-config/index.vue`
- `src/views/game/lucky-box/award-config/edit.vue`
- `src/views/game/lucky-box/award-config/details.vue`
- `src/views/game/lucky-box/bounty-config/index.vue`
- `src/views/game/lucky-box/bounty-config/edit.vue`
- `src/views/game/lucky-box/bounty-config/details.vue`
- `src/views/game/lucky-box/fortune-config/index.vue`（已复核完成；目录实际仅存在该文件）
- `src/views/game/egg/index.vue`
- `src/views/game/egg/egg-exchange-record/index.vue`
- `src/views/game/egg/egg-lottery-record/index.vue`
- `src/views/game/egg/egg-lottery-cnf/index.vue`
- `src/views/game/lottery-config/form-edit.vue`
- `src/views/game/lottery-config/select-propsr-popover.vue`
- `src/views/game/lottery-config/index.vue`
- `src/components/data/AccountInput/index.vue`
- `src/components/data/EditUserGameCouponDeductionForm/index.vue`
- `src/views/user/freight/index.vue`
- `src/views/user/freight/form-edit.vue`
- `src/views/user/freight/running-water.vue`
- `src/views/user/freight/seller-info.vue`
- `src/views/user/freight/freight-seller-running-water.vue`
- `src/views/sys/region-config/index.vue`
- `src/views/sys/region-config/assist/index.vue`
- `src/views/props/props-source-group/index.vue`
- `src/views/sys/country-code/index.vue`
- `src/views/user/app-manager/index.vue`
- `src/views/user/app-manager/administrator/index.vue`
- `src/views/user/app-manager/administrator/auth.vue`
- `src/views/user/app-manager/administrator-auth-resource/index.vue`
- `src/views/sys/notice-message/index.vue`
- `src/views/sys/start-page/index.vue`
- `src/views/sys/start-page/form-edit.vue`
- `src/views/tools/redis/index.vue`
- `src/views/tools/upload/index.vue`
- 表格展示适配：表头自动换行 + 默认最小宽度补齐
- 表格展示适配：表头 `.cell` 高度自适应 + 纵向居中修正
- 表单展示适配：标题纵向居中

## 进行中

- 临时任务：已完成 `src/views` 页面私有组件复查
  - 状态：进行中
  - 范围说明：
    - 只检查 `src/views/**` 下已经标记“已完成”的页面目录
    - 只复查页面私有组件，不包含公共组件目录 `src/components/**`
    - 后续页面完成记录需要额外写明“私有组件状态”
  - 当前优先复核目录：
    - `src/views/team/policy`
    - `src/views/team/diamond-policy`
    - `src/views/team/business-development`
    - `src/views/room/profile`
    - `src/views/activity/template-cnf`
    - `src/views/cnf/lottery`
  - 当前已发现但尚未补齐到已完成记录的私有组件：
    - `src/views/team/policy/props-form-edit.vue`
    - `src/views/team/diamond-policy/props-form-edit.vue`
    - `src/views/team/business-development/add-bd.vue`
    - `src/views/team/business-development/auth.vue`
    - `src/views/team/business-development/bind-bd-leader.vue`
    - `src/views/team/business-development/bind-team.vue`
    - `src/views/team/business-development/team-member.vue`
    - `src/views/room/profile/room-active-charts.vue`
    - `src/views/room/profile/room-operation-log.vue`
    - `src/views/room/profile/room-visitor-log.vue`
    - `src/views/room/profile/user-drawer.vue`
    - `src/views/activity/template-cnf/activity-rank.vue`
    - `src/views/activity/template-cnf/activity-rank-reward.vue`
    - `src/views/activity/template-cnf/form-edit.vue`
    - `src/views/activity/template-cnf/reward-edit.vue`
    - `src/views/activity/template-cnf/template-editor/attr-editor.vue`
    - `src/views/activity/template-cnf/template-editor/index.vue`
    - `src/views/activity/template-cnf/template-editor/lang-text-editor.vue`
    - `src/views/activity/template-cnf/template-editor/page-editor.vue`
    - `src/views/activity/template-cnf/template-editor/props-card.vue`
    - `src/views/activity/template-cnf/template-editor/reward-array-editor.vue`
    - `src/views/activity/template-cnf/template-form/index.vue`
    - `src/views/cnf/lottery/select-prize.vue`
  - 当前明确排除：
    - `src/views/message/push/push-text-store.vue`
      - 原因：当前未纳入入口渲染链，继续按既有排除项处理
    - `src/views/props/props-source-group/select-propsr-popover.vue`
      - 原因：当前未被入口页或 `form-edit.vue` 引用，继续按既有排除项处理

## 优先待处理

- 已完成 `src/views` 页面目录中的私有组件复查任务
- 主要路由中已部分完成、但仍需继续收口的入口页
- 主要路由中的其他页面
  - 统一参考 `docs/i18n/主要路由.md`
  - 当首页与本文件中的“优先待处理”完成后，再继续处理 `主要路由.md` 中剩余未完成页面

## 第一批高优先级页面

- `src/views/user/user-table/index.vue`：已完成
- `src/views/room/profile/index.vue`：已完成
- `src/views/team/policy/index.vue`：已完成
- `src/views/message/push/index.vue`：已完成（线程二；同步收口 `new-push-form.vue`、`push-log.vue` 与 `push-task.vue`）
- `src/views/message/push/push-task.vue`：已完成
- `src/components/data/UserInfo/BaseInfo/index.vue`：已完成

## 第二批高优先级页面

- `src/views/props/props-source-group/form-edit.vue`：已完成静态文案，接口返回名称待补数据
- `src/views/cnf/lottery/index.vue`：已完成
- `src/views/activity/template-cnf/index.vue`：已完成
- `src/views/team/business-development/index.vue`：已完成
- `src/views/sys/region-config/region/index.vue`：已完成（线程一）
- `src/views/team/diamond-policy/index.vue`：已完成（线程二）
- `src/views/game/lottery-config/form-edit.vue`：已完成（线程二）
- `src/views/game/lottery-config/index.vue`：已完成（线程二）

## 高优先级组件

- `src/components/data/AccountHanle/index.vue`：已完成（线程二）
- `src/components/data/InappPurchaseApple/index.vue`：已核查完成（线程一）
- `src/components/data/InAppPurchaseDetails/index.vue`：已完成（线程二）
- `src/components/data/InappPurchaseGoogle/index.vue`：已完成（线程一）
- `src/components/data/RoomInfo/index.vue`：已完成（线程三）
- `src/components/data/UserInfo/BankCardDrawer/index.vue`：已完成（线程三）
- `src/components/data/UserAuthForm/index.vue`：已完成（线程三）
- `src/components/data/UserInfo/AccountStatusLatestLog/index.vue`：已完成（线程二）

## 本轮保留项
- `src/components/data/AccountHanle/index.vue`
  - 默认“警告”描述文案保留中文
  - 原因：该内容会直接写入提交表单并发给后端，不按纯展示文案处理
- `src/components/data/RoomInfo/index.vue`
  - 注释掉的“装饰道具”代码块仍保留中文
  - 原因：当前不渲染，不属于可见展示文案；领取任务前已按新规则重读 3 份协作文档 + `docs/i18n/主要路由.md` 后再认领
- `src/views/props/props-source-group/select-propsr-popover.vue`
  - 当前保留原样
  - 原因：已核对 `src/views/props/props-source-group/index.vue` 的入口 import 列表与模块目录文件列表；该文件当前未被入口页或 `form-edit.vue` 引用，不属于本轮入口渲染链
- `src/views/props/props-source-group/form-edit.vue`
  - 仍保留接口返回名称类文本与注释类中文
  - 原因：接口返回的 `badgeName`、`pItem.name`、资源名称等需依赖样例数据判断是否可安全翻译；注释不属于可见展示文案
- `src/views/user/app-manager/**/*.vue`
  - 当前保留注释“去除校验”和注释掉的“管理房间”代码块原样
  - 原因：均不属于可见展示文案；接口返回的 `resourceName` 等后端资源名称保持原样，不做翻译
- `src/views/sys/notice-message/index.vue`
  - 当前保留字段行尾注释与“删除”注释原样
  - 原因：均不属于可见展示文案；`permissionsSysOriginPlatforms` 的 `item.label` 作为公共系统来源数据，本轮未改其值

## 需持续关注

- 历史语言文件中的旧键名和新语义键并存
- 页面中文较多的文件需要分批推进，避免一次性改动过大
- 优先处理高频页面、公共组件、用户详情类抽屉和配置类页面
