# 国际化翻译清单 ## 文档定位 - 本文件只负责维护文件级待办、进行中、已完成与当前认领状态 - 需要看主要路由的完整父子级结构、路由别名、路径和入口文件时,统一查看 `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` 作为公共系统来源数据,本轮未改其值 ## 需持续关注 - 历史语言文件中的旧键名和新语义键并存 - 页面中文较多的文件需要分批推进,避免一次性改动过大 - 优先处理高频页面、公共组件、用户详情类抽屉和配置类页面