diff --git a/docs/i18n/主要路由.md b/docs/i18n/主要路由.md index 62d3633..c64d63a 100644 --- a/docs/i18n/主要路由.md +++ b/docs/i18n/主要路由.md @@ -10,7 +10,8 @@ - 本文件中的菜单层级不默认限制为“父级 > 子级”两层,若实际菜单存在三级结构,则按真实父链整理 - 路由是否记为独立菜单,先以原始接口返回为准;若入口页再直接引用同目录多个 `.vue` 文件,则这些文件记为页面内功能文件,不单独记成并列主路由 - 后续所有线程领取新任务前,除了读取 `线程协作.md`、`翻译进度.md`、`翻译清单.md`,还应先读取本文件 -- 其他文档不再重复维护完整主路由树,最多保留摘要并引用本文件 +- 其他文档不再重复维护完整主路由树或已完成主要路由索引,最多保留引用本文件的说明 +- “当前已完成主要路由摘要”只在本文件维护;完成主要路由页面时必须同步更新本文件,不再去 `docs/i18n/翻译清单.md` 维护第二份主路由索引 - 下方保留原始接口返回,顶部摘要用于实际执行 ### 全线程统一优先级 @@ -57,7 +58,7 @@ ### 当前进行中的主要路由 -- 当前无进行中主要路由 +- 当前无 ### 当前跨已完成页面的公共组件联动复查 @@ -441,19 +442,56 @@ - 区域关联支付国家 / Region-Payment Country Relations - 路由别名:`region:pay:country` - 路径:`cnf/pay/region-relation/index` - - 状态:待处理 + - 已完成文件: + - `src/views/cnf/pay/region-relation/index.vue` + - 页面私有组件状态:无页面私有组件 + - 直接公共组件复核: + - `src/components/Pagination/index.vue`:复核通过 + - `src/components/SysOriginIcon/index.vue`:复核通过 + - 状态:已完成(线程一,2026-05-07) - 开通支付国家 / Enabled Payment Countries - 路由别名:`open:pay:country` - 路径:`cnf/pay/country/index` - - 状态:待处理 + - 已完成文件: + - `src/views/cnf/pay/country/index.vue` + - `src/views/cnf/pay/country/associated-channels.vue` + - `src/views/cnf/pay/country/country-select.vue` + - 页面私有组件状态: + - `src/views/cnf/pay/country/associated-channels.vue` 已随页面同步完成 + - `src/views/cnf/pay/country/country-select.vue` 已随页面同步完成 + - `src/views/cnf/pay/comp/transfer-channel.vue` 历史已完成,本轮复核通过 + - 直接公共组件复核: + - `src/components/Pagination/index.vue`:复核通过 + - 状态:已完成(线程一,2026-05-07) - 应用管理 / Application Management - 路由别名:`pay:application` - 路径:`cnf/pay/application/index` - - 状态:待处理 + - 已完成文件: + - `src/views/cnf/pay/application/index.vue` + - `src/views/cnf/pay/application/app-navigation.vue` + - `src/views/cnf/pay/application/app-manager/index.vue` + - `src/views/cnf/pay/application/app-manager/edit-form.vue` + - `src/views/cnf/pay/application/commodity/index.vue` + - `src/views/cnf/pay/application/commodity/edit-form.vue` + - `src/views/cnf/pay/application/commodity-v2/index.vue` + - `src/views/cnf/pay/application/commodity-v2/edit-form.vue` + - `src/views/cnf/pay/application/order-manager/index.vue` + - 页面私有组件状态: + - 已随页面同步完成或复核 + - 直接公共组件复核: + - `src/components/Pagination/index.vue`:复核通过 + - `src/components/SysOriginIcon/index.vue`:复核通过 + - 备注:`order-manager` 当前在 tab 配置中被注释,本轮仅处理其可见开发中提示与未使用 prompt 文案;注释掉的历史表格按规则保留 + - 状态:已完成(线程一,2026-05-07) - Google/Apple-V2 / Google/Apple V2 - 路由别名:`google:apple:product:config` - 路径:`cnf/product-v2/index` - - 状态:待处理 + - 已完成文件: + - `src/views/cnf/product-v2/index.vue` + - 页面私有组件状态:无页面私有组件 + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue`:复核通过 + - 状态:已完成(线程一,2026-05-07) - 活动配置 / Activity Configuration - 路由别名:`Activity:Config` - 状态:部分完成 @@ -481,7 +519,11 @@ - 活动规则配置 / Activity Rule Configuration - 路由别名:`Props:Activity:Rule:Config` - 路径:`props/props-activity-rule-config/index` - - 状态:待处理 + - 已完成文件: + - `src/views/props/props-activity-rule-config/index.vue` + - `src/views/props/props-activity-rule-config/edit-rule-drawer.vue` + - `src/views/props/props-activity-rule-config/components/*.vue` + - 状态:已完成 - 消息推送 / Message Push - 路由别名:`MessageManagerPush` - 路径:`message/push/index` @@ -565,10 +607,118 @@ - 状态:已完成 - 用户银行 / User Bank - 路由别名:`UserBankBalance` - - 状态:待处理 + - 状态:部分完成 + - 用户银行流水 / User Bank Transactions + - 路由别名:`UserBankRunningWater` + - 路径:`user/bank-balance/running-water/index` + - 已完成文件: + - `src/views/user/bank-balance/running-water/index.vue` + - 页面私有组件状态:无同目录私有组件 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核通过 + - 状态:已完成(线程三,2026-05-07) + - 用户银行账户 / User Bank Accounts + - 路由别名:`UserBankBalance` + - 路径:`user/bank-balance/table/index` + - 已完成文件: + - `src/views/user/bank-balance/table/index.vue` + - `src/views/user/bank-balance/table/form-edit.vue` + - `src/views/user/bank-balance/table/running-water.vue` + - 页面私有组件状态:已随页面同步完成 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核通过 + - 状态:已完成(线程三,2026-05-07) + - 美金兑换金币记录 / USD-to-Gold Exchange Records + - 路由别名:`UserBankWithdrawGoldApply` + - 路径:`user/bank-balance/withdraw-gold-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-gold-apply/index.vue` + - 页面私有组件状态:当前目录仅包含 `index.vue`,无页面私有组件 + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue`:复核通过 + - `src/components/data/AccountInput/index.vue`:复核通过 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:复核通过 + - 状态:已完成(线程一,2026-05-07) + - 现金提现申请 / Cash Withdrawal Applications + - 路由别名:`UserBankWithdrawMoneyApply` + - 路径:`user/bank-balance/withdraw-money-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-money-apply/index.vue` + - `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` + - 页面私有组件状态: + - `approval-drawer.vue`、`details-drawer.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:复核通过 + - `src/components/data/AccountInput/index.vue`:复核通过 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:复核通过 + - `src/components/upload-image/index.vue`:复核通过,仅剩注释中文 + - 备注: + - 复制银行卡信息时使用的剪贴板文本中文标签按“不改复制内容结构”保留,不属于页面可见展示文案 + - 状态:已完成(线程一,2026-05-07) + - 自动支付工资凭据 / Automatic Salary Payment Vouchers + - 路由别名:`AutomaticSalaryPaymentRecord` + - 路径:`user/bank-balance/auto-salary-pay-record/index` + - 已完成文件: + - `src/views/user/bank-balance/auto-salary-pay-record/index.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/policy-details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/remark-details-drawer.vue` + - 页面私有组件状态: + - `details-drawer.vue`、`policy-details-drawer.vue`、`remark-details-drawer.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:复核通过 + - `src/components/SysOriginIcon/index.vue`:复核通过 + - `src/components/data/AccountInput/index.vue`:复核通过 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:复核通过 + - `src/components/data/PropsRow/index.vue`:复核通过,仅剩注释中文 + - 状态:已完成(线程一,2026-05-07) - 用户工资钻石 / User Salary Diamonds - 路由别名:`UserSalaryDiamondBalance` - - 状态:待处理 + - 已完成文件: + - `src/views/user/salary-diamond-balance/running-water/index.vue` + - `src/views/user/salary-diamond-balance/table/index.vue` + - `src/views/user/salary-diamond-balance/table/form-edit.vue` + - `src/views/user/salary-diamond-balance/table/running-water.vue` + - 页面私有组件状态: + - `table/form-edit.vue`、`table/running-water.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核通过 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核通过 + - 状态:已完成(线程一,2026-05-07) + - 钻石提现申请 / Diamond Withdrawal Applications + - 路由别名:`UserBankWithdrawDiamondApply` + - 路径:`user/bank-balance/withdraw-diamond-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-diamond-apply/index.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/details-drawer.vue` + - 页面私有组件状态: + - `approval-drawer.vue`、`details-drawer.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/upload-image/index.vue`:本轮复核中文扫描无命中 + - 状态:已完成(线程一,2026-05-07) + - 钻石兑换金币记录 / Diamond-to-Gold Exchange Records + - 路由别名:`UserBankDiamondWithdrawGoldApply` + - 路径:`user/bank-balance/diamond-withdraw-gold-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - 页面私有组件状态: + - 当前目录仅包含 `index.vue`,无页面私有组件 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:复核通过 + - `src/components/data/AccountInput/index.vue`:复核通过 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:复核通过 + - 状态:已完成(线程一,2026-05-07) - 语音房间 / Voice Rooms - 路由别名:`VoiceRoom` @@ -659,11 +809,26 @@ - 道具赠送 / Prop Gift - 路由别名:`PropsSendTool` - 路径:`props/props-send-tool/index` - - 状态:待处理 + - 已完成文件: + - `src/views/props/props-send-tool/index.vue` + - `src/views/props/props-send-tool/send-props.vue` + - `src/views/props/props-send-tool/send-badge.vue` + - `src/views/props/props-send-tool/send-ticket.vue` + - 页面私有组件状态:已随页面同步完成 + - 直接公共组件状态: + - `src/components/data/PropsSourceSelectPopover/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 状态:已完成(线程二,2026-05-07) - 道具商店 / Prop Store - 路由别名:`props:store` - 路径:`props/props-store/index` - - 状态:待处理 + - 已完成文件: + - `src/views/props/props-store/index.vue` + - `src/views/props/props-store/form-edit.vue` + - 页面私有组件状态:`form-edit.vue` 已随入口页同步完成 + - 直接公共组件复核: + - `src/components/Pagination/index.vue`:复核通过 + - `src/components/SysOriginIcon/index.vue`:复核通过 + - 状态:已完成(线程一,2026-05-07) - 主播中心 / Broadcaster Center - 路由别名:`team:manaber` @@ -692,7 +857,15 @@ - BD工作统计 / BD Work Statistics - 路由别名:`WorkStatistics` - 路径:`team/work-statistics/index` - - 状态:待处理 + - 已完成文件: + - `src/views/team/work-statistics/index.vue` + - 页面私有组件状态:无同目录私有组件 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/SelectSystemRegion/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 状态:已完成(线程二,2026-05-07) - BD列表 / BD List - 路由别名:`BusinessDevelopment` - 路径:`team/business-development/index` @@ -711,7 +884,21 @@ - 主播成员 / Broadcaster Members - 路由别名:`team:member` - 路径:`team/team-member/index` - - 状态:待处理 + - 已完成文件: + - `src/views/team/team-member/index.vue` + - `src/views/team/team-member/team-member-add.vue` + - `src/views/team/team-member/team-member-change.vue` + - `src/views/team/team-member/team-member-remark.vue` + - `src/views/team/team-member/team-member-target-reset.vue` + - 页面私有组件状态: + - 同目录 4 个私有弹窗/抽屉已随入口页同步完成 + - `src/views/team/components/TeamDetailsDrawer/index.vue` 历史已完成,本轮复核中文扫描无命中 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/Avatar/index.vue`:本轮复核中文扫描无命中 + - 状态:已完成(线程二,2026-05-07) - 账单列表 / Bill List - 路由别名:`team:bill` - 路径:`team/team-bill/index` @@ -719,7 +906,22 @@ - 主播工作 / Broadcaster Work - 路由别名:`team:member:work` - 路径:`team/team-member-work/index` - - 状态:待处理 + - 已完成文件: + - `src/views/team/team-member-work/index.vue` + - `src/views/team/team-member-work/details-drawer.vue` + - `src/views/team/team-member-work/gift-running-water-dialog.vue` + - `src/views/team/team-member-work/room-gift-dialog.vue` + - `src/views/team/components/TeamDetailsDrawer/index.vue` + - 页面私有组件状态:同目录 3 个私有弹窗/抽屉与入口页直接引用的 `TeamDetailsDrawer/index.vue` 已随页面同步完成 + - 直接公共组件状态: + - `src/components/data/AccountInput/index.vue`:复核通过 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:复核通过 + - `src/components/data/GiftHistoryDetailsDrawer/index.vue`:复核通过,仅剩注释中文 + - `src/components/data/PropsRow/index.vue`:复核通过,仅剩注释中文 + - `src/components/data/RoomDeatilsDrawer/index.vue`:复核通过 + - `src/views/common/user_deatils.vue`:复核通过,仅剩注释块中文 + - `src/components/SysOriginIcon/index.vue`:复核通过 + - 状态:已完成(线程二,2026-05-07) ### 当前已完成主要路由摘要 @@ -743,29 +945,75 @@ - 数据配置 / Data Configuration - 参数配置 / Parameter Settings - 幸运礼物规则配置 / Lucky Gift Rule Configuration - - 国家管理 / Country Management + - 幸运礼物规格配置 / Lucky Gift Specification Configuration + - 靓号管理(角色) / Special ID Management (Role) + - 礼物管理 / Gift Management - IM账号管理 / IM Account Management + - Banner管理 / Banner Management + - 房间主题管理 / Room Theme Management + - 国家管理 / Country Management + - 徽章配置管理 / Badge Configuration Management + - 表情管理 / Emoji Management + - 靓号管理 / Special ID Management + - 邀请用户配置 / Invite User Configuration + - 游戏列表 / Game List + - 运营日志 / Operations Logs + - 礼物赠送记录 / Gift Sending Records + - 用户道具流水 / User Prop Transactions + - 邀请用户 / Invite Users + - 幸运礼物送礼记录 / Lucky Gift Sending Records + - 用户签到 / User Check-ins + - 登录日志 / Login Logs + - Ludo飞行棋 / Ludo + - CP申请日志 / CP Application Logs + - 用户密码日志 / User Password Logs + - 内购配置 / In-App Purchase Configuration + - 渠道管理 / Channel Management + - 厂商管理 / Provider Management + - 区域关联支付国家 / Region-Payment Country Relations + - 开通支付国家 / Enabled Payment Countries + - 应用管理 / Application Management + - Google/Apple-V2 / Google/Apple V2 - 活动配置 / Activity Configuration - 活动管理 / Activity Management - 活动模版 / Activity Templates + - 活动规则配置 / Activity Rule Configuration - 消息推送 / Message Push - APP管理员 / App Administrators - 系统公告管理 / System Notice Management - 金币代理 / Gold Agents + - 申请靓号 / Apply for Special ID - App启动页 / App Launch Page + - 客服列表 / Customer Service List + - 金币余额榜 / Gold Balance Leaderboard - 区域配置 / Region Configuration + - 用户银行 / User Bank + - 用户银行流水 / User Bank Transactions + - 用户银行账户 / User Bank Accounts + - 美金兑换金币记录 / USD-to-Gold Exchange Records + - 现金提现申请 / Cash Withdrawal Applications + - 自动支付工资凭据 / Automatic Salary Payment Vouchers + - 用户工资钻石 / User Salary Diamonds - 语音房间 / Voice Rooms + - 在线房间 / Online Rooms - 房间资料列表 / Room Profile List + - 置顶房间 / Pinned Rooms + - 房间黑名单 / Room Blacklist +- 家族管理 / Family Management + - 家族配置 / Family Configuration + - 家族列表 / Family List - 道具管理 / Prop Management - 资源组配置 / Resource Group Configuration + - 道具赠送 / Prop Gift + - 道具商店 / Prop Store - 主播中心 / Broadcaster Center - 代理钻石政策 / Agent Diamond Policy - BD Lead / BD Lead - 代理政策 / Agent Policy + - BD工作统计 / BD Work Statistics - BD列表 / BD List -- 家族管理 / Family Management - - 家族配置 / Family Configuration - - 家族列表 / Family List + - 主播成员 / Broadcaster Members + - 主播工作 / Broadcaster Work ### 已部分完成但入口页仍需复核的主要路由 diff --git a/docs/i18n/线程协作.md b/docs/i18n/线程协作.md index 1200b33..cb44bd5 100644 --- a/docs/i18n/线程协作.md +++ b/docs/i18n/线程协作.md @@ -54,6 +54,8 @@ - 每完成一轮修改后,必须同步更新: - `docs/i18n/翻译进度.md` - `docs/i18n/翻译清单.md` +- 如果完成的是主要路由页面,还必须同步更新 `docs/i18n/主要路由.md` 中该路由的详细状态与“当前已完成主要路由摘要” +- `docs/i18n/翻译清单.md` 不再重复维护“已完成主要路由索引”;清单只维护文件级平铺清单、进行中任务、完成记录和保留项,避免两份主路由摘要漂移 - 判断“独立路由”还是“页面内功能文件”时,统一按以下顺序执行: - 先看原始接口返回中该菜单是否是独立菜单项 - 再看入口 `index.vue` 是否通过 `import`/局部注册直接引用同目录文件 @@ -76,6 +78,7 @@ - 不是只有“新线程启动”才需要读 md;每次准备领取新文件前,也要再读一遍 3 份协作文档 + `docs/i18n/主要路由.md`,确认其他线程的认领状态已经同步到文档 - 领取任务时,顺序固定为:先重读 3 份协作文档 + `docs/i18n/主要路由.md` -> 确认无人认领 -> 先写 md 认领 -> 再读一次同样的文档集合复查无冲突 -> 最后开始改代码 - 本项目当前没有 `npm run build` 脚本;需要做构建验证时,统一使用 `npm run build:prod`。 +- 本项目当前使用自定义 i18n 插件,只提供 `$t`、`$setLocale`、`$locale`;不要使用 vue-i18n 的 `$te`。如果需要判断翻译 key 是否存在,用 `$t(key)` 的返回值是否等于原 key 做兜底判断。 - 2026-04-17 当前环境补充: - 优先直接执行 `npm run build:prod` - 不要默认再用 `$env:NODE_OPTIONS='--openssl-legacy-provider'` @@ -177,13 +180,973 @@ | 线程 | 当前状态 | 认领范围 | 说明 | | --- | --- | --- | --- | -| 线程一 | 待分配 | 未认领 | 2026-05-06 已完成 `src/views/cnf/pay/factory/**`、`src/views/cnf/pay/comp/transfer-channel.vue` 厂商管理页面国际化、直接公共组件复核、语言文件校验与构建验证 | -| 线程二 | 待分配 | 未认领 | 2026-05-06 已完成 `src/views/log/login-logger/index.vue` 登录日志页面国际化、直接公共组件复核、语言文件校验与构建验证 | -| 线程三 | 待分配 | 未认领 | 2026-05-06 已完成 `src/views/log/invite-user-log/index.vue` 邀请用户页面国际化、直接公共组件复核、语言文件校验与构建验证 | +| 线程一 | 待分配 | 未认领 | 2026-05-07 已完成主要路由 `钻石提现申请 / Diamond Withdrawal Applications` 入口页、同目录私有抽屉与直接公共组件复核 | +| 线程二 | 待分配 | 未认领 | 2026-05-07 已完成主要路由 `主播成员 / Broadcaster Members` 入口页、同目录私有组件与直接公共组件复核 | +| 线程三 | 待分配 | 未认领 | 2026-05-07 已完成 `src/views/user/bank-balance/table/**` 用户银行账户页面国际化、同目录私有组件、直接公共组件复核、语言文件校验与构建验证 | | 线程四 | 待分配 | 未认领 | 避免和其他线程同时编辑同一语言模块 | ## 最新认领记录 +- 2026-05-07 + - 线程一已完成:`src/views/user/bank-balance/withdraw-diamond-apply/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 钻石提现申请 / Diamond Withdrawal Applications + - 路由别名:`UserBankWithdrawDiamondApply` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-diamond-apply/index.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/details-drawer.vue` + - 已完成内容: + - 筛选区、表格列头、类型/状态展示映射、导出抽屉、审核抽屉、详情抽屉等可见静态文案已国际化 + - 新增 `pages.userBankWithdrawDiamondApply` + - 页面私有组件状态: + - `approval-drawer.vue`、`details-drawer.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/upload-image/index.vue`:本轮复核中文扫描无命中 + - 验证结果: + - `src/views/user/bank-balance/withdraw-diamond-apply/*.vue` 中文残留仅剩银行卡复制文本,不属于页面可见展示文案 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 未修改: + - 接口参数、查询字段、路由路径、权限码、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构、导出参数或接口返回动态数据 + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程二已完成:`src/views/team/team-member/**` + - 对应主要路由: + - 主播中心 / Broadcaster Center + - 主播成员 / Broadcaster Members + - 路由别名:`team:member` + - 已完成文件: + - `src/views/team/team-member/index.vue` + - `src/views/team/team-member/team-member-add.vue` + - `src/views/team/team-member/team-member-change.vue` + - `src/views/team/team-member/team-member-remark.vue` + - `src/views/team/team-member/team-member-target-reset.vue` + - 已完成内容: + - 筛选区、表格列头、操作下拉、加载更多、删除确认、添加成员、变更团队、编辑备注、目标重置等可见静态文案已国际化 + - 新增 `pages.teamMember` + - 页面私有组件状态: + - 同目录 4 个私有弹窗/抽屉已随入口页同步完成 + - `src/views/team/components/TeamDetailsDrawer/index.vue` 历史已完成,本轮复核中文扫描无命中 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/Avatar/index.vue`:本轮复核中文扫描无命中 + - 验证结果: + - `src/views/team/team-member/*.vue` 中文残留仅为注释或注释掉的历史代码块,不属于可见展示文案 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 未修改: + - 接口参数、查询字段、路由路径、权限码、团队/成员/代理 ID、成员角色实际值、批量删除提交值、目标重置提交值或接口返回动态数据 + - 线程二本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/user/bank-balance/withdraw-diamond-apply/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 钻石提现申请 / Diamond Withdrawal Applications + - 路由别名:`UserBankWithdrawDiamondApply` + - 路径:`user/bank-balance/withdraw-diamond-apply/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认当前没有其他线程认领 `src/views/user/bank-balance/withdraw-diamond-apply/**` + - 已核对模块目录包含入口页、`approval-drawer.vue`、`details-drawer.vue` + - 认领范围包括: + - `src/views/user/bank-balance/withdraw-diamond-apply/index.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/details-drawer.vue` + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - `src/components/upload-image/index.vue` + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构或接口返回动态数据 + - 领取时线程一状态:进行中 + +- 2026-05-07 + - 线程二已新认领:`src/views/team/team-member/**` + - 对应主要路由: + - 主播中心 / Broadcaster Center + - 主播成员 / Broadcaster Members + - 路由别名:`team:member` + - 路径:`team/team-member/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认当前没有其他线程认领 `src/views/team/team-member/**` + - 已核对入口页 import 与模块目录文件列表 + - 认领范围包括: + - `src/views/team/team-member/index.vue` + - `src/views/team/team-member/team-member-add.vue` + - `src/views/team/team-member/team-member-change.vue` + - `src/views/team/team-member/team-member-remark.vue` + - `src/views/team/team-member/team-member-target-reset.vue` + - 页面私有组件预检查: + - 同目录 4 个私有组件由入口页直接渲染,纳入同轮处理 + - `src/views/team/components/TeamDetailsDrawer/index.vue` 为入口页直接渲染的团队详情抽屉,历史已完成,本轮复核 + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - `src/components/data/Avatar/index.vue` + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、团队/成员/代理 ID、成员角色实际值、批量删除提交值、目标重置提交值或接口返回动态数据 + - 领取时线程二状态:进行中;本轮随后已完成,见上方完成记录 + +- 2026-05-07 + - 线程一已完成:`src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 钻石兑换金币记录 / Diamond-to-Gold Exchange Records + - 路由别名:`UserBankDiamondWithdrawGoldApply` + - 已完成文件: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - 页面私有组件状态: + - 当前目录仅包含 `index.vue`,无页面私有组件 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 已完成内容: + - 筛选区、日期范围、表格列头、创建日期前缀、加载更多与已加载全部文案已国际化 + - `GOLD`、`FREIGHT` 仅在页面展示层做本地映射,未修改查询值、接口参数、`amountType` 实际值或接口返回动态数据 + - 已补充 `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 中的 `pages.userBankDiamondWithdrawGoldApply` + - 已完成验证: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` 中文残留扫描通过 + - 直接公共组件中文扫描无命中 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 钻石兑换金币记录 / Diamond-to-Gold Exchange Records + - 路由别名:`UserBankDiamondWithdrawGoldApply` + - 路径:`user/bank-balance/diamond-withdraw-gold-apply/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认当前没有其他线程认领 `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - 已核对当前目录仅包含入口页,无同目录私有组件 + - 认领范围包括: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、`amountType` 实际值、`acceptAccount` 实际值或接口返回动态数据 + - 领取时线程一状态:进行中 + +- 2026-05-07 + - 线程一已完成:`src/views/user/bank-balance/auto-salary-pay-record/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 自动支付工资凭据 / Automatic Salary Payment Vouchers + - 路由别名:`AutomaticSalaryPaymentRecord` + - 已完成文件: + - `src/views/user/bank-balance/auto-salary-pay-record/index.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/policy-details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/remark-details-drawer.vue` + - 页面私有组件状态: + - `details-drawer.vue`、`policy-details-drawer.vue`、`remark-details-drawer.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/PropsRow/index.vue`:历史已完成,本轮复核中文命中仅为注释 + - 已完成内容: + - 筛选区、月份选择、表格列头、查看明细/查看备注操作已国际化 + - 自动发送工资详情抽屉、政策详情抽屉、内部备注抽屉的标题、分组标题、字段标签与展示状态已国际化 + - 团长/成员/代收/已收回/账户类型仅在页面展示层做本地映射,未修改实际布尔值、政策值或接口返回动态数据 + - 已补充 `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 中的 `pages.automaticSalaryPaymentRecord` + - 已完成验证: + - `src/views/user/bank-balance/auto-salary-pay-record/*.vue` 中文残留扫描通过 + - 直接公共组件中文扫描仅命中 `src/components/data/PropsRow/index.vue` 注释,不属于可见展示文案 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/user/bank-balance/auto-salary-pay-record/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 自动支付工资凭据 / Automatic Salary Payment Vouchers + - 路由别名:`AutomaticSalaryPaymentRecord` + - 路径:`user/bank-balance/auto-salary-pay-record/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认当前没有其他线程认领 `src/views/user/bank-balance/auto-salary-pay-record/**` + - 已核对模块目录包含入口页、`details-drawer.vue`、`policy-details-drawer.vue`、`remark-details-drawer.vue` + - 认领范围包括: + - `src/views/user/bank-balance/auto-salary-pay-record/index.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/policy-details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/remark-details-drawer.vue` + - 直接公共组件复核: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - `src/components/data/PropsRow/index.vue` + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、时间格式值、政策数据值、是否代收布尔值、退款布尔值或接口返回动态数据 + - 领取时线程一状态:进行中 + +- 2026-05-07 + - 线程一已完成:`src/views/user/bank-balance/withdraw-gold-apply/index.vue` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 美金兑换金币记录 / USD-to-Gold Exchange Records + - 路由别名:`UserBankWithdrawGoldApply` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-gold-apply/index.vue` + - 页面私有组件状态: + - 当前目录仅包含 `index.vue`,无页面私有组件 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 已完成内容: + - 筛选区、日期范围、表格列头、创建日期文案、加载更多与已加载全部文案已国际化 + - `GOLD`、`FREIGHT` 仅在页面展示层做本地映射,未修改查询值、接口参数与接口返回动态数据 + - 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.userBankWithdrawGoldApply` + - 已完成验证: + - `src/views/user/bank-balance/withdraw-gold-apply/index.vue` 中文残留扫描通过 + - 直接公共组件中文扫描无命中 + - 本轮改动未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 线程一已完成:`src/views/user/bank-balance/withdraw-money-apply/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 现金提现申请 / Cash Withdrawal Applications + - 路由别名:`UserBankWithdrawMoneyApply` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-money-apply/index.vue` + - `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` + - 页面私有组件状态: + - `approval-drawer.vue`、`details-drawer.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/upload-image/index.vue`:本轮复核仅剩注释中文 + - 已完成内容: + - 筛选区、表格列头、导出抽屉、详情抽屉、审核抽屉、按钮、placeholder、tooltip、状态文案与审核记录展示已国际化 + - 审核状态、接收类型、金额类型仅在页面展示层做本地映射,未修改实际值、查询字段或接口返回动态数据 + - 已补充 `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 中的 `pages.userBankWithdrawMoneyApply` + - 验证结果: + - `src/views/user/bank-balance/withdraw-money-apply/*.vue` 中文残留仅剩复制银行卡信息的剪贴板文本,不属于页面可见展示文案 + - `src/components/upload-image/index.vue` 中文残留仅为文件注释,不属于可见展示文案 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 未修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、提现状态实际值、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构、导出参数或接口返回动态数据 + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/user/bank-balance/withdraw-money-apply/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 现金提现申请 / Cash Withdrawal Applications + - 路由别名:`UserBankWithdrawMoneyApply` + - 路径:`user/bank-balance/withdraw-money-apply/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认当前没有其他线程认领 `src/views/user/bank-balance/withdraw-money-apply/**` + - 已核对模块目录包含入口页、`approval-drawer.vue`、`details-drawer.vue` + - 认领范围包括: + - `src/views/user/bank-balance/withdraw-money-apply/index.vue` + - `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - `src/components/UploadImage/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、提现状态实际值、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构、导出参数或接口返回动态数据 + - 领取时线程一状态:进行中 + +- 2026-05-07 + - 线程二已完成:`src/views/team/team-member-work/**` + - 同步完成直接引用页面内组件: + - `src/views/team/components/TeamDetailsDrawer/index.vue` + - 对应主要路由: + - 主播中心 / Broadcaster Center + - 主播工作 / Broadcaster Work + - 路由别名:`team:member:work` + - 已完成文件: + - `src/views/team/team-member-work/index.vue` + - `src/views/team/team-member-work/details-drawer.vue` + - `src/views/team/team-member-work/gift-running-water-dialog.vue` + - `src/views/team/team-member-work/room-gift-dialog.vue` + - `src/views/team/components/TeamDetailsDrawer/index.vue` + - 已完成内容: + - 筛选区系统、账单 ID、代理 ID、成员 ID、搜索/删除按钮已国际化 + - 表格加载文案、表头、工资/钻石/礼物/时长/时间字段、详情入口、加载更多与已加载全部文案已国际化 + - 工作详情抽屉、礼物流水弹窗、房间流水弹窗与团队详情抽屉的标题、分组、字段标签、状态展示和操作按钮已国际化 + - 新增 `pages.teamMemberWork` 与 `pages.teamDetailsDrawer` + - 页面私有组件状态: + - `details-drawer.vue`、`gift-running-water-dialog.vue`、`room-gift-dialog.vue` 与 `TeamDetailsDrawer/index.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/GiftHistoryDetailsDrawer/index.vue`:历史已完成,本轮复核仅剩注释中文 + - `src/components/data/PropsRow/index.vue`:历史已完成,本轮复核仅剩注释中文 + - `src/components/data/RoomDeatilsDrawer/index.vue`:历史已完成,本轮复核无新增可见中文 + - `src/views/common/user_deatils.vue`:历史已完成,本轮复核仅剩注释块中文 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 验证结果: + - `src/views/team/team-member-work/**/*.vue` 中文残留仅为注释,不属于可见展示文案 + - `src/views/team/components/TeamDetailsDrawer/index.vue` 中文扫描无命中 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 未修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、礼物流水类型实际值、团队/成员/代理 ID、系统来源、工资结算模式实际值、账单状态实际值或接口返回动态数据 + - 线程二本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已完成:`src/views/user/salary-diamond-balance/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 路由别名:`UserSalaryDiamondBalance` + - 已完成文件: + - `src/views/user/salary-diamond-balance/running-water/index.vue` + - `src/views/user/salary-diamond-balance/table/index.vue` + - `src/views/user/salary-diamond-balance/table/form-edit.vue` + - `src/views/user/salary-diamond-balance/table/running-water.vue` + - 页面私有组件状态: + - `table/form-edit.vue`、`table/running-water.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 已完成内容: + - 筛选区、表格列头、弹窗标题、表单标签、placeholder、按钮与校验提示已国际化 + - 收入/支出、事件名称与转账附属标签仅在页面展示层做本地映射,未修改常量值、查询字段、提交值或接口返回动态数据 + - 已补充 `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 中的 `pages.userSalaryDiamond` + - 验证结果: + - `src/views/user/salary-diamond-balance/**` 中文残留仅剩注释,不属于可见展示文案 + - 本轮纳入的直接公共组件中文扫描无命中 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 未发现项目中使用 `$te` + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 未修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、收支类型实际值、事件实际值、用户账号查询值、金额提交值、备注提交值或接口返回动态数据 + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程三已新认领:`src/views/user/bank-balance/table/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 用户银行账户 / User Bank Accounts + - 路由别名:`UserBankBalance` + - 路径:`user/bank-balance/table/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认线程一当前认领 `src/views/user/salary-diamond-balance/**`,线程三主动避让 + - 已确认线程二当前认领 `src/views/team/team-member-work/**`,线程三主动避让 + - 已确认当前没有其他线程认领 `src/views/user/bank-balance/table/**` + - 已核对 `src/views/user/bank-balance/table` 目录包含入口页、`form-edit.vue`、`running-water.vue` + - 认领范围包括: + - `src/views/user/bank-balance/table/index.vue` + - `src/views/user/bank-balance/table/form-edit.vue` + - `src/views/user/bank-balance/table/running-water.vue` + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、银行账户金额实际值、发送/扣除/转账实际提交值、用户 ID、系统来源、导入文件内容或接口返回账户/流水数据 + - `userBankWaterEvent` 原常量值保持不变;如需展示翻译,仅在页面显示层做本地映射 + - 领取时线程三状态:进行中 + - 线程三已完成:`src/views/user/bank-balance/table/**` + - 已完成内容: + - 账户列表筛选区、搜索/添加/导出/导入按钮、表格加载文案、表格列头、操作下拉、加载更多/全部加载完成已国际化 + - 发送/扣除弹窗、转账弹窗、创建账户弹窗、导入弹窗、上传提示、校验提示、导入/下载反馈已国际化 + - 账户流水弹窗标题、表格列头、加载文案、事件名、收入/支出、收款人/付款人标识已国际化 + - 新增 `pages.userBankAccounts`,账户流水事件复用 `pages.userBankRunningWater` + - 页面私有组件状态: + - `src/views/user/bank-balance/table/form-edit.vue` 已随入口页同步完成 + - `src/views/user/bank-balance/table/running-water.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 验证结果: + - `src/views/user/bank-balance/table/*.vue` 中文残留仅为注释,不属于可见展示文案 + - 直接公共组件中文扫描无命中 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 线程三本轮完成后切回待分配 + +- 2026-05-07 + - 线程二已新认领:`src/views/team/team-member-work/**` + - 同步纳入直接引用页面内组件: + - `src/views/team/components/TeamDetailsDrawer/index.vue` + - 对应主要路由: + - 主播中心 / Broadcaster Center + - 主播工作 / Broadcaster Work + - 路由别名:`team:member:work` + - 路径:`team/team-member-work/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认线程一当前认领 `src/views/user/salary-diamond-balance/**`,线程二主动避让 + - 已确认当前没有其他线程认领 `src/views/team/team-member-work/**` + - 已核对 `src/views/team/team-member-work` 目录包含入口页、`details-drawer.vue`、`gift-running-water-dialog.vue`、`room-gift-dialog.vue` + - 认领范围包括: + - `src/views/team/team-member-work/index.vue` + - `src/views/team/team-member-work/details-drawer.vue` + - `src/views/team/team-member-work/gift-running-water-dialog.vue` + - `src/views/team/team-member-work/room-gift-dialog.vue` + - `src/views/team/components/TeamDetailsDrawer/index.vue` + - 直接公共组件复核: + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - `src/components/data/GiftHistoryDetailsDrawer/index.vue` + - `src/components/data/PropsRow/index.vue` + - `src/components/data/RoomDeatilsDrawer/index.vue` + - `src/views/common/user_deatils.vue` + - `src/components/SysOriginIcon/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、礼物流水类型实际值、团队/成员/代理 ID、系统来源、工资结算模式实际值、账单状态实际值或接口返回动态数据 + - 领取时线程二状态:进行中 + +- 2026-05-07 + - 线程二已完成:`src/views/team/work-statistics/index.vue` + - 对应主要路由: + - 主播中心 / Broadcaster Center + - BD工作统计 / BD Work Statistics + - 路由别名:`WorkStatistics` + - 已完成内容: + - 筛选区系统、长 UID、短账号、区域、日期范围 tooltip、日期选择器 placeholder、搜索按钮已国际化 + - 筛选时间汇总、表格加载文案、BD 与邀请人数、充值、客单价、有效人数、区域、区域排名表头已国际化 + - 新增 `pages.workStatistics` + - 页面私有组件状态: + - `src/views/team/work-statistics` 目录当前仅包含入口页,无同目录私有组件 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/SelectSystemRegion/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 验证结果: + - `src/views/team/work-statistics/index.vue` 中文残留仅为注释,不属于可见展示文案 + - 直接公共组件中文扫描无命中 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 未修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、排序值、分页字段、用户 ID / 短账号查询值、区域值、系统值或接口返回统计数据 + - 线程二本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/user/salary-diamond-balance/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 路由别名:`UserSalaryDiamondBalance` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 认领前已检查: + - 已确认线程二当前认领 `src/views/team/work-statistics/index.vue`,线程一主动避开 `src/views/team/**` + - 已确认线程三当前待分配,当前没有其他线程认领 `src/views/user/salary-diamond-balance/**` + - 已核对目录包含 `running-water/index.vue`、`table/index.vue`、`table/form-edit.vue`、`table/running-water.vue` + - 认领范围: + - `src/views/user/salary-diamond-balance/running-water/index.vue` + - `src/views/user/salary-diamond-balance/table/index.vue` + - `src/views/user/salary-diamond-balance/table/form-edit.vue` + - `src/views/user/salary-diamond-balance/table/running-water.vue` + - 直接公共组件复核: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、收支类型实际值、事件实际值、用户账号查询值、金额提交值、备注提交值或接口返回动态数据 + - 领取时线程一状态:进行中 + +- 2026-05-07 + - 线程三已新认领:`src/views/user/bank-balance/running-water/index.vue` + - 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 用户银行流水 / User Bank Transactions + - 路由别名:`UserBankRunningWater` + - 路径:`user/bank-balance/running-water/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认线程二当前认领 `src/views/team/work-statistics/index.vue`,线程三主动避让 + - 已确认当前没有其他线程认领 `src/views/user/bank-balance/running-water/index.vue` + - 已核对 `src/views/user/bank-balance/running-water` 目录当前仅包含入口页,无同目录私有组件 + - 认领范围包括: + - `src/views/user/bank-balance/running-water/index.vue` + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、分页字段、银行流水事件实际值、收入/支出实际值、用户 ID、时间戳、系统来源或接口返回流水数据 + - `userBankWaterEvent` 原常量值保持不变;如需展示翻译,仅在页面显示层做本地映射 + - 领取时线程三状态:进行中 + - 线程三已完成:`src/views/user/bank-balance/running-water/index.vue` + - 已完成内容: + - 筛选区系统、用户 ID、类型、事件、日期范围 placeholder、搜索按钮已国际化 + - 金额汇总提示、表格加载文案、表格列头、加载更多、全部加载完成、收款人/付款人标识已国际化 + - 收入/支出与 `userBankWaterEvent` 仅在页面展示层做本地翻译映射,常量值、查询值与接口返回数据保持原样 + - 新增 `pages.userBankRunningWater` + - 页面私有组件状态: + - `src/views/user/bank-balance/running-water` 目录当前仅包含入口页,无同目录私有组件 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 验证结果: + - `src/views/user/bank-balance/running-water/index.vue` 中文残留仅为注释,不属于可见展示文案 + - 直接公共组件中文扫描无命中 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 线程三本轮完成后切回待分配 + +- 2026-05-07 + - 线程二已新认领:`src/views/team/work-statistics/index.vue` + - 对应主要路由: + - 主播中心 / Broadcaster Center + - BD工作统计 / BD Work Statistics + - 路由别名:`WorkStatistics` + - 路径:`team/work-statistics/index` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认线程一当前认领 `src/views/props/props-store/**`,线程二主动避让 + - 已确认线程三当前待分配,当前没有其他线程认领 `src/views/team/work-statistics/index.vue` + - 已核对 `src/views/team/work-statistics` 目录当前仅包含入口页,无同目录私有组件 + - 认领范围包括: + - `src/views/team/work-statistics/index.vue` + - 直接公共组件复核: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/SelectSystemRegion/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、排序值、分页字段、用户 ID / 短账号查询值、区域值、系统值或接口返回统计数据 + - 领取时线程二状态:进行中 + +- 2026-05-07 + - 线程二已完成:`src/views/props/props-send-tool/**` + - 对应主要路由: + - 道具管理 / Prop Management + - 道具赠送 / Prop Gift + - 路由别名:`PropsSendTool` + - 已完成文件: + - `src/views/props/props-send-tool/index.vue` + - `src/views/props/props-send-tool/send-props.vue` + - `src/views/props/props-send-tool/send-badge.vue` + - `src/views/props/props-send-tool/send-ticket.vue` + - 完成范围包括: + - 赠送道具、赠送徽章、赠送道具券三块表单的标题、表单标签、placeholder、按钮、校验提示、贵族来源展示与无效短账号提示国际化 + - 道具类型、道具券类型、徽章类型仅在页面展示层按 value 做本地翻译映射,未修改 `propsTypes`、`propsTicket`、`badgeTypes` 常量值 + - 新增 `pages.propsSendTool` + - 页面私有组件状态: + - `send-props.vue`、`send-badge.vue`、`send-ticket.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/data/PropsSourceSelectPopover/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 验证结果: + - `src/views/props/props-send-tool/**/*.vue` 中文残留仅为注释,不属于可见展示文案 + - `src/components/data/PropsSourceSelectPopover/index.vue` 中文扫描无命中 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 未修改: + - 接口参数、路由路径、权限码、表单提交字段、道具/徽章/道具券实际类型值、贵族来源实际值、资源 ID、接收人提交内容、接口返回资源名称或接口错误内容 + - 线程二本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/props/props-store/**` + - 对应主要路由: + - 道具管理 / Prop Management + - 道具商店 / Prop Store + - 路由别名:`props:store` + - 路径:`props/props-store/index` + - 认领前已读取: + - `docs/i18n/线程协作.md` + - `docs/i18n/翻译进度.md` + - `docs/i18n/翻译清单.md` + - `docs/i18n/主要路由.md` + - 认领前已检查: + - 已确认线程二当前认领 `src/views/props/props-send-tool/**`,线程一主动避开该目录 + - 已确认线程三当前认领 `src/views/props/props-activity-rule-config/**`,线程一主动避开该目录 + - 已确认当前无其他线程认领 `src/views/props/props-store/**` + - 已核对 `src/views/props/props-store` 目录当前包含入口页与同目录私有表单组件 + - 认领范围: + - `src/views/props/props-store/index.vue` + - `src/views/props/props-store/form-edit.vue` + - 直接公共组件复核: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - 本轮不修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、道具类型实际值、付费类型实际值、有效天数实际值、上下架实际值、资源 ID、接口返回资源名称或提交值 + - 领取时线程一状态:进行中 + - 线程一已完成:`src/views/props/props-store/**` + - 已完成内容: + - `src/views/props/props-store/index.vue`:筛选区、展开详情、表格列头、上下架展示、道具类型/付费类型展示映射、按钮已国际化 + - `src/views/props/props-store/form-edit.vue`:弹窗标题、表单标签、placeholder、按钮、校验提示、贵族能力字段与资源更换按钮已国际化 + - 道具类型、付费类型、有效天数、上下架、贵族类型等实际 `value` 均保持不变,仅做展示层映射 + - 接口返回资源名称、资源图片、SVGA 地址、资源 ID 与提交值保持原样 + - 验证结果: + - `src/views/props/props-store/*.vue` 中文残留扫描通过 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语言文件语法检查通过 + - `src` 中无 `$te(` 命中 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程二已新认领:`src/views/props/props-send-tool/**` + - 对应主要路由: + - 道具管理 / Prop Management + - 道具赠送 / Prop Gift + - 路由别名:`PropsSendTool` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认 `src/views/cnf/product-v2/index.vue` 已由线程一认领,线程二主动避让 + - 已确认 `src/views/props/props-activity-rule-config/**` 已由线程三认领,线程二主动避让 + - 已确认当前没有其他线程认领 `src/views/props/props-send-tool/**` + - 已核对入口页 import 与目录文件列表,确认 `send-props.vue`、`send-badge.vue`、`send-ticket.vue` 为入口页直接渲染的页面内组件 + - 认领范围包括: + - `src/views/props/props-send-tool/index.vue` + - `src/views/props/props-send-tool/send-props.vue` + - `src/views/props/props-send-tool/send-badge.vue` + - `src/views/props/props-send-tool/send-ticket.vue` + - 直接公共组件复核: + - `src/components/data/PropsSourceSelectPopover/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、路由路径、权限码、表单提交字段、道具/徽章/道具券实际类型值、贵族来源实际值、资源 ID、接收人提交内容、接口返回资源名称或接口错误内容 + - `propsTypes`、`propsTicket`、`badgeTypes` 原常量值保持不变;如需展示翻译,仅在页面显示层做本地映射 + - 领取时线程二状态:进行中 + +- 2026-05-07 + - 线程三已新认领:`src/views/props/props-activity-rule-config/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 活动配置 / Activity Configuration + - 活动规则配置 / Activity Rule Configuration + - 路由别名:`Props:Activity:Rule:Config` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认 `src/views/cnf/product-v2/index.vue` 已由线程一认领,线程三主动避让 + - 已确认当前没有其他线程认领 `src/views/props/props-activity-rule-config/**` + - 认领范围包括: + - `src/views/props/props-activity-rule-config/index.vue` + - `src/views/props/props-activity-rule-config/edit-rule-drawer.vue` + - `src/views/props/props-activity-rule-config/components/crystal.vue` + - `src/views/props/props-activity-rule-config/components/first-charge-reward.vue` + - `src/views/props/props-activity-rule-config/components/game-fruit.vue` + - `src/views/props/props-activity-rule-config/components/game-weekly-tasks.vue` + - `src/views/props/props-activity-rule-config/components/input-quantity-mark.vue` + - `src/views/props/props-activity-rule-config/components/input-quantity.vue` + - `src/views/props/props-activity-rule-config/components/lucky-box.vue` + - 直接公共组件复核: + - `src/components/Pagination/index.vue` + - `src/components/data/AssociatedResources/index.vue` + - `src/components/data/PropsRow/index.vue` + - `src/components/SysOriginIcon/index.vue` + - 计划处理: + - 页面筛选区、卡片操作、规则详情、删除确认、抽屉、表单、提示文案与同目录私有组件静态展示文本国际化 + - 复核直接公共组件当前语言切换状态 + - 补充或复用 `pages.propsActivityRuleConfig` 语言 key + - 中文残留扫描 + - 构建验证 + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表单提交字段、活动类型实际值、资源组/规则接口返回动态数据或提交值 + - 领取时线程三状态:进行中 + - 线程三已完成:`src/views/props/props-activity-rule-config/**` + - 已完成内容: + - 页面筛选区、卡片操作下拉、规则详情、资源信息、删除确认、保存/删除提示已国际化 + - 编辑抽屉标题、系统/类型/规则描述/排序表单、按钮、必填校验与充值抽奖提示已国际化 + - 同目录规则子组件的数量、标识、内购产品、上下架、游戏、目标、水晶等级/里程碑/图标/动画资源、上传提示、幸运宝箱 placeholder 与校验提示已国际化 + - 活动类型与上下架采用本地展示映射,活动类型 `value`、布尔值、表单提交字段与接口返回动态数据保持原样 + - 直接公共组件 `Pagination`、`AssociatedResources`、`PropsRow`、`SysOriginIcon` 已复核;当前中文命中仅剩 `PropsRow` 注释,不属于可见展示文案 + - 已补充语言 key: + - `pages.propsActivityRuleConfig` + - 验证结果: + - `src/views/props/props-activity-rule-config/**/*.vue` 中文残留仅剩注释 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 线程三本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/cnf/product-v2/index.vue` + - 对应主要路由: + - 运营管理 / Operations Management + - 内购配置 / In-App Purchase Configuration + - Google/Apple-V2 / Google/Apple V2 + - 路由别名:`google:apple:product:config` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已读取 `src/views/cnf/product-v2/index.vue` + - 已确认 `src/views/cnf/product-v2` 目录当前仅包含入口页,无页面私有组件 + - 已确认当前无其他线程认领 `src/views/cnf/product-v2/index.vue` + - 认领范围包括: + - `src/views/cnf/product-v2/index.vue` + - 筛选区、搜索/添加/修改按钮、表格列头、弹窗标题、表单标签、placeholder、校验提示与弹窗按钮国际化 + - 入口页直接公共组件扫描与必要处理: + - `src/components/SysOriginIcon/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、平台实际值、上下架实际值、区域/系统接口返回动态数据或提交值 + - 领取时线程一状态:进行中 + - 线程一已完成:`src/views/cnf/product-v2/index.vue` + - 已完成内容: + - Google/Apple-V2 页面筛选区系统、支付平台、状态、区域 placeholder 与搜索/添加按钮已国际化 + - 表格列头、修改按钮、弹窗标题、表单标签、placeholder、保存/取消按钮与校验提示已国际化 + - 状态下拉采用本地展示映射,`true/false` 实际值保持不变;平台 `AppStore/Google/Huawei` 实际值保持不变 + - 新增 `pages.productV2` + - 直接公共组件 `SysOriginIcon` 复核 + - 验证结果: + - `src/views/cnf/product-v2/index.vue` 中文残留扫描通过 + - `src` 中无 `$te(` 命中 + - 语言文件语法检查通过 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 说明: + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、平台实际值、上下架实际值、区域/系统接口返回动态数据或提交值 + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/cnf/pay/application/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 内购配置 / In-App Purchase Configuration + - 应用管理 / Application Management + - 路由别名:`pay:application` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已读取 `src/views/cnf/pay/application/index.vue` + - 已读取 `src/views/cnf/pay/application/app-navigation.vue` + - 已读取 `src/views/cnf/pay/application/app-manager/index.vue` + - 已读取 `src/views/cnf/pay/application/app-manager/edit-form.vue` + - 已读取 `src/views/cnf/pay/application/commodity/index.vue` + - 已读取 `src/views/cnf/pay/application/commodity/edit-form.vue` + - 已读取 `src/views/cnf/pay/application/commodity-v2/index.vue` + - 已读取 `src/views/cnf/pay/application/commodity-v2/edit-form.vue` + - 已读取 `src/views/cnf/pay/application/order-manager/index.vue` + - 已确认当前无其他线程认领 `src/views/cnf/pay/application` + - 认领范围包括: + - `src/views/cnf/pay/application/index.vue` + - `src/views/cnf/pay/application/app-navigation.vue` + - `src/views/cnf/pay/application/app-manager/index.vue` + - `src/views/cnf/pay/application/app-manager/edit-form.vue` + - `src/views/cnf/pay/application/commodity/index.vue` + - `src/views/cnf/pay/application/commodity/edit-form.vue` + - `src/views/cnf/pay/application/commodity-v2/index.vue` + - `src/views/cnf/pay/application/commodity-v2/edit-form.vue` + - `src/views/cnf/pay/application/order-manager/index.vue` + - 筛选区、应用卡片、下拉菜单、tab 标题、表格列头、商品编辑弹窗、校验提示、按钮与开发中提示国际化 + - 入口页直接公共组件扫描与必要处理: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、商品类型/上下架实际值、应用/国家/区域/渠道接口返回动态数据或提交值 + - `order-manager` 当前在 `app-navigation.vue` 的 tab 配置中被注释,但文件已由入口导航 import,且自身存在可见开发中提示;本轮纳入复核并记录处理结果 + - 领取时线程一状态:进行中 + - 线程一已完成:`src/views/cnf/pay/application/**` + - 已完成内容: + - 应用卡片操作下拉、支付链接、编辑、创建应用、创建时间、返回按钮、商品管理 tab 标题已国际化 + - 应用编辑弹窗标题、类型/Android 链接/iOS 链接表单项、placeholder、按钮与必填校验已国际化 + - 商品管理与商品管理 V2 的筛选区、商品类型展示映射、上下架展示映射、搜索/添加/编辑按钮、表格列头、商品编辑弹窗、价格/限额展示与校验提示已国际化 + - `order-manager` 开发中提示与未使用 prompt 文案已国际化;注释掉的历史表格保持原样 + - 新增 `pages.payApplication` + - 直接公共组件 `Pagination` 与 `SysOriginIcon` 复核 + - 验证结果: + - `src/views/cnf/pay/application/**/*.vue` 中文残留仅剩注释、注释掉的历史表格与注释掉的历史表单块,不属于可见展示文本 + - `src` 中无 `$te(` 命中 + - 语言文件语法检查通过 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 说明: + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、商品类型/上下架实际值、应用/国家/区域/渠道接口返回动态数据或提交值 + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已新认领:`src/views/cnf/pay/country/**` + - 对应主要路由: + - 运营管理 / Operations Management + - 内购配置 / In-App Purchase Configuration + - 开通支付国家 / Enabled Payment Countries + - 路由别名:`open:pay:country` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已读取 `src/views/cnf/pay/country/index.vue` + - 已读取 `src/views/cnf/pay/country/associated-channels.vue` + - 已读取 `src/views/cnf/pay/country/country-select.vue` + - 已确认 `associated-channels.vue` 直接渲染 `src/views/cnf/pay/comp/transfer-channel.vue` + - 已确认当前无其他线程认领 `src/views/cnf/pay/country` + - 认领范围包括: + - `src/views/cnf/pay/country/index.vue` + - `src/views/cnf/pay/country/associated-channels.vue` + - `src/views/cnf/pay/country/country-select.vue` + - `src/views/cnf/pay/comp/transfer-channel.vue` 复核 + - 筛选区、按钮、表格列头、行内可点击提示、prompt 标题/按钮/校验提示、关联渠道弹窗、国家选择弹窗、Transfer 标题/按钮国际化 + - 入口页直接公共组件扫描与必要处理: + - `src/components/Pagination/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、国家/渠道实际值、开通/删除提交值或接口返回动态数据 + - 领取时线程一状态:进行中 + - 线程一已完成:`src/views/cnf/pay/country/**` + - 已完成内容: + - 开通支付国家筛选区、添加/刷新/关联渠道按钮、表格加载文案、表格列头、行内可点击提示、prompt 标题/按钮/校验提示国际化 + - 关联渠道弹窗标题、国家货币/美元汇率标签、渠道额度表单标签、placeholder、开关文案与本地校验提示国际化 + - 国家选择弹窗标题、Transfer 标题与按钮国际化 + - 新增 `pages.payOpenCountry` + - 直接页面组件 `src/views/cnf/pay/comp/transfer-channel.vue` 复核 + - 直接公共组件 `Pagination` 复核 + - 验证结果: + - `src/views/cnf/pay/country/**/*.vue` 中文残留仅剩注释与注释掉的历史按钮,不属于可见展示文本 + - `src/views/cnf/pay/comp/transfer-channel.vue` 与 `src/components/Pagination/index.vue` 中文残留扫描通过 + - `src` 中无 `$te(` 命中 + - 语言文件语法检查通过 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 说明: + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、国家/渠道实际值、开通/删除提交值或接口返回动态数据 + - 线程一本轮完成后切回待分配 + +- 2026-05-07 + - 线程一已记录兼容问题: + - 本项目自定义 i18n 插件不支持 `$te` + - 已将渠道管理 / 厂商管理相关渠道类型展示中的 `$te` 判断修正为 `$t(key)` 返回值兜底判断 + - 涉及文件: + - `src/views/cnf/pay/channel/index.vue` + - `src/views/cnf/pay/channel/edit-form.vue` + - `src/views/cnf/pay/factory/associated-channel.vue` + - 线程一已新认领:`src/views/cnf/pay/region-relation/index.vue` + - 对应主要路由: + - 运营管理 / Operations Management + - 内购配置 / In-App Purchase Configuration + - 区域关联支付国家 / Region-Payment Country Relations + - 路由别名:`region:pay:country` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已读取 `src/views/cnf/pay/region-relation/index.vue` + - 已确认目录当前仅包含入口页,无页面私有组件 + - 已确认当前无其他线程认领 `src/views/cnf/pay/region-relation` + - 认领范围包括: + - `src/views/cnf/pay/region-relation/index.vue` + - 筛选区、按钮、表格列头、状态展示、弹窗标题、表单标签、placeholder、校验提示与弹窗按钮国际化 + - 入口页直接公共组件扫描与必要处理: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - 说明: + - 只翻译可见静态文案,不修改接口参数、查询字段、路由路径、权限码、表格 `prop`、布尔提交值或接口返回动态数据 + - 领取时线程一状态:进行中 + - 线程一已完成:`src/views/cnf/pay/region-relation/index.vue` + - 已完成内容: + - 区域关联支付国家筛选区、搜索/添加/编辑按钮、表格加载文案、表格列头、状态展示、弹窗标题、表单标签、placeholder、校验提示与弹窗按钮国际化 + - 状态下拉与状态列采用本地展示映射,`productConfigShowcase` 原常量值与接口提交值保持不变 + - 新增 `pages.payRegionRelation` + - 直接公共组件 `Pagination` 与 `SysOriginIcon` 复核 + - 验证结果: + - `src/views/cnf/pay/region-relation/index.vue` 中文残留扫描通过 + - `src/components/Pagination/index.vue` 与 `src/components/SysOriginIcon/index.vue` 中文残留扫描通过 + - `src` 中无 `$te(` 命中 + - 语言文件语法检查通过 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 说明: + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、布尔提交值或接口返回动态数据 + - 线程一本轮完成后切回待分配 + - 2026-05-06 - 线程一已完成:`src/views/cnf/pay/factory/index.vue`、`src/views/cnf/pay/factory/edit-form.vue`、`src/views/cnf/pay/factory/associated-channel.vue`、`src/views/cnf/pay/comp/transfer-channel.vue` - 已完成内容: @@ -5214,8 +6177,9 @@ 8. 如果需要新增公共 key,优先使用已有命名体系,避免同义重复 key 9. 修改完成后先本地构建验证 10. 把结果同步写入 `翻译进度.md` 和 `翻译清单.md` -11. 在线程认领表里把状态改为“已完成”或“阻塞” -12. 后续不要再新认领非主要路由页面;已经处理过的非主要路由保持现状即可 +11. 如果本轮完成主要路由页面,只更新 `主要路由.md` 的主路由详细状态与“当前已完成主要路由摘要”;不要在 `翻译清单.md` 里重复维护主路由索引 +12. 在线程认领表里把状态改为“已完成”或“阻塞” +13. 后续不要再新认领非主要路由页面;已经处理过的非主要路由保持现状即可 ## 线程之间如何“保持联系” diff --git a/docs/i18n/翻译清单.md b/docs/i18n/翻译清单.md index 53257f5..a2de386 100644 --- a/docs/i18n/翻译清单.md +++ b/docs/i18n/翻译清单.md @@ -3,7 +3,8 @@ ## 文档定位 - 本文件只负责维护文件级待办、进行中、已完成与当前认领状态 -- 需要看主要路由的完整父子级结构、路由别名、路径和入口文件时,统一查看 `docs/i18n/主要路由.md` +- 需要看主要路由的完整父子级结构、路由别名、路径、入口文件、完成状态与已完成主要路由摘要时,统一查看 `docs/i18n/主要路由.md` +- 本文件不再重复维护“已完成主要路由索引”,避免和 `docs/i18n/主要路由.md` 的主路由摘要在多线程写入时漂移 - 文档中的英文路由名需要与侧边栏实际语言包 `src/lang/messages/base/menu-en.js` 保持一致;如有差异,以 `menu-en.js` 为准 - 注意 `src/lang/messages/en.js` 顶层旧中文 key 会在运行时覆盖 `menu-en.js` 的同名 key;统一路由英文名时需要同步检查并消除这类重复覆盖 - 需要看阶段成果、构建验证与时间线时,统一查看 `docs/i18n/翻译进度.md` @@ -64,71 +65,9 @@ ### 已完成主要路由索引 -- 详细父子级结构、路由别名、路径与入口文件统一见 `docs/i18n/主要路由.md` -- 以下索引已按 `docs/i18n/主要路由.md` 当前父子级顺序同步更新 -- 系统管理 / System Management - - 用户管理 / User Management - - 角色管理 / Role Management - - 菜单管理 / Menu Management - - 资源管理 / Resource Management - - App系统 / App System - - 版本管理 / Version Management - - 请求黑名单 / Request Blacklist -- 用户管理 / User Management - - 用户列表 / User List(页面本体已完成,直接公共组件待联动复核) - - 用户专属礼物制作 / Custom User Gift Creation - - 封禁设备列表 / Blocked Device List - - 最新登记设备 / Latest Registered Devices -- 运营管理 / Operations Management - - 营收支出 / Revenue and Expenses - - 消费商品订单 / Purchase Orders - - 金币收支记录 / Gold Transaction Records - - 内购配置 / In-App Purchase Configuration - - 渠道管理 / Channel Management - - 厂商管理 / Provider Management - - 运营日志 / Operations Logs - - 礼物赠送记录 / Gift Sending Records - - 用户道具流水 / User Prop Transactions - - 用户签到 / User Check-ins - - 邀请用户 / Invite Users - - 幸运礼物送礼记录 / Lucky Gift Sending Records - - 登录日志 / Login Logs - - CP申请日志 / CP Application Logs - - 用户密码日志 / User Password Logs - - 数据配置 / Data Configuration - - 参数配置 / Parameter Settings - - 幸运礼物规则配置 / Lucky Gift Rule Configuration - - 幸运礼物规格配置 / Lucky Gift Specification Configuration - - 靓号管理(角色) / Special ID Management (Role) - - 游戏列表 / Game List - - 房间主题管理 / Room Theme Management - - 国家管理 / Country Management - - IM账号管理 / IM Account Management - - 活动配置 / Activity Configuration - - 活动管理 / Activity Management - - 活动模版 / Activity Templates - - 消息推送 / Message Push - - APP管理员 / App Administrators - - App启动页 / App Launch Page - - 客服列表 / Customer Service List - - 系统公告管理 / System Notice Management - - 金币代理 / Gold Agents - - 申请靓号 / Apply for Special ID - - 区域配置 / Region Configuration -- 语音房间 / Voice Rooms - - 在线房间 / Online Rooms - - 房间资料列表 / Room Profile List - - 置顶房间 / Pinned Rooms -- 道具管理 / Prop Management - - 资源组配置 / Resource Group Configuration -- 主播中心 / Broadcaster Center - - 代理钻石政策 / Agent Diamond Policy - - BD Lead / BD Lead - - 代理政策 / Agent Policy - - BD列表 / BD List -- 家族管理 / Family Management - - 家族配置 / Family Configuration - - 家族列表 / Family List +- 本段不再重复维护主路由完成索引。 +- 已完成主要路由摘要、父子级结构、路由别名、路径、入口文件与完成状态,统一以 `docs/i18n/主要路由.md` 为准。 +- 本文件只继续维护下方“已完成文件平铺清单”、进行中任务、最新同步记录和文件级保留项。 ### 已完成文件平铺清单 @@ -243,6 +182,17 @@ - `src/views/team/bd-lead/index.vue` - `src/views/team/bd-lead/add-bd-lead.vue` - `src/views/team/bd-lead/bind-bd.vue` +- `src/views/team/work-statistics/index.vue` +- `src/views/team/team-member-work/index.vue` +- `src/views/team/team-member-work/details-drawer.vue` +- `src/views/team/team-member-work/gift-running-water-dialog.vue` +- `src/views/team/team-member-work/room-gift-dialog.vue` +- `src/views/team/team-member/index.vue` +- `src/views/team/team-member/team-member-add.vue` +- `src/views/team/team-member/team-member-change.vue` +- `src/views/team/team-member/team-member-remark.vue` +- `src/views/team/team-member/team-member-target-reset.vue` +- `src/views/team/components/TeamDetailsDrawer/index.vue` - `src/views/team/components/TeamCreate/index.vue` - `src/views/team/diamond-policy/index.vue` - `src/views/team/diamond-policy/props-form-edit.vue` @@ -346,13 +296,522 @@ - `src/views/sys/game-config/match/form-edit.vue` - `src/views/sys/game-config/room/index.vue` - `src/views/sys/game-config/room/form-edit.vue` +- `src/views/cnf/pay/region-relation/index.vue` +- `src/views/cnf/pay/country/index.vue` +- `src/views/cnf/pay/country/associated-channels.vue` +- `src/views/cnf/pay/country/country-select.vue` +- `src/views/cnf/pay/application/index.vue` +- `src/views/cnf/pay/application/app-navigation.vue` +- `src/views/cnf/pay/application/app-manager/index.vue` +- `src/views/cnf/pay/application/app-manager/edit-form.vue` +- `src/views/cnf/pay/application/commodity/index.vue` +- `src/views/cnf/pay/application/commodity/edit-form.vue` +- `src/views/cnf/pay/application/commodity-v2/index.vue` +- `src/views/cnf/pay/application/commodity-v2/edit-form.vue` +- `src/views/cnf/pay/application/order-manager/index.vue` +- `src/views/cnf/product-v2/index.vue` +- `src/views/props/props-store/index.vue` +- `src/views/props/props-store/form-edit.vue` +- `src/views/user/salary-diamond-balance/running-water/index.vue` +- `src/views/user/salary-diamond-balance/table/index.vue` +- `src/views/user/salary-diamond-balance/table/form-edit.vue` +- `src/views/user/salary-diamond-balance/table/running-water.vue` +- `src/views/user/bank-balance/withdraw-money-apply/index.vue` +- `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` +- `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` - 表格展示适配:表头自动换行 + 默认最小宽度补齐 - 表格展示适配:表头 `.cell` 高度自适应 + 纵向居中修正 - 表单展示适配:标题纵向居中 ## 进行中 -- 当前无进行中任务 +- 线程一:待分配 + - 主要路由:钻石提现申请 / Diamond Withdrawal Applications + - 路由别名:`UserBankWithdrawDiamondApply` + - 路径:`user/bank-balance/withdraw-diamond-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-diamond-apply/index.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/details-drawer.vue` + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - `src/components/upload-image/index.vue` + - 验证结果: + - 中文残留仅剩银行卡复制文本,不属于可见展示文案 + - 语言文件语法校验通过 + - `npm run build:prod` 通过,仍为项目既有 `17` 条 warning + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构或接口返回动态数据 + +- 线程二:当前无进行中任务,待分配 + +- 线程三:当前无进行中任务,待分配 + +## 2026-05-07 最新同步 + +- 线程二已完成:主要路由页面 / 主播中心 / 主播成员 + - 路由别名:`team:member` + - 路径:`team/team-member/index` + - 已完成文件: + - `src/views/team/team-member/index.vue` + - `src/views/team/team-member/team-member-add.vue` + - `src/views/team/team-member/team-member-change.vue` + - `src/views/team/team-member/team-member-remark.vue` + - `src/views/team/team-member/team-member-target-reset.vue` + - 页面私有组件状态: + - 同目录 4 个私有弹窗/抽屉已随入口页同步完成 + - `src/views/team/components/TeamDetailsDrawer/index.vue` 历史已完成,本轮复核中文扫描无命中 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/Avatar/index.vue`:本轮复核中文扫描无命中 + - 已补充页面级语言 key:`pages.teamMember` + - 验证结果:语言文件语法校验通过;本轮源码未使用 `$te`;`src/views/team/team-member/*.vue` 中文残留仅剩注释或注释掉的历史代码块;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 未修改:接口参数、查询字段、路由路径、权限码、团队/成员/代理 ID、成员角色实际值、批量删除提交值、目标重置提交值或接口返回动态数据 + - 状态:已完成,线程二已切回待分配 + +- 线程一已完成:主要路由页面 / 钻石提现申请 + - 路由别名:`UserBankWithdrawDiamondApply` + - 路径:`user/bank-balance/withdraw-diamond-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-diamond-apply/index.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/details-drawer.vue` + - 页面私有组件状态: + - `approval-drawer.vue`、`details-drawer.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/upload-image/index.vue`:本轮复核中文扫描无命中 + - 已补充页面级语言 key:`pages.userBankWithdrawDiamondApply` + - 验证结果:语言文件语法校验通过;本轮源码未使用 `$te`;`src/views/user/bank-balance/withdraw-diamond-apply/*.vue` 中文残留仅剩银行卡复制文本;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程一已切回待分配 + - 模块预检查结果: + - 已按模块级规则核对入口页与目录文件列表 + - `approval-drawer.vue`、`details-drawer.vue` 为入口页直接渲染私有抽屉,纳入同轮处理 + - 直接公共组件 `src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue`、`src/components/upload-image/index.vue` 纳入本轮复核 + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构或接口返回动态数据 + +- 线程二已新认领:主要路由页面 / 主播中心 / 主播成员 + - 路由别名:`team:member` + - 路径:`team/team-member/index` + - 已认领文件: + - `src/views/team/team-member/index.vue` + - `src/views/team/team-member/team-member-add.vue` + - `src/views/team/team-member/team-member-change.vue` + - `src/views/team/team-member/team-member-remark.vue` + - `src/views/team/team-member/team-member-target-reset.vue` + - 模块预检查结果: + - 已按模块级规则核对入口页 import 与目录文件列表 + - 入口页直接渲染同目录 4 个私有弹窗/抽屉,纳入同轮处理 + - 入口页直接渲染的 `src/views/team/components/TeamDetailsDrawer/index.vue` 历史已完成,本轮复核 + - 直接公共组件 `src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue`、`src/components/data/Avatar/index.vue` 纳入本轮复核 + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、团队/成员/代理 ID、成员角色实际值、批量删除提交值、目标重置提交值或接口返回动态数据 + - 领取时线程二状态:进行中;本轮随后已完成,见上方完成记录 + +- 线程一已完成:主要路由页面 / 钻石兑换金币记录 + - 路由别名:`UserBankDiamondWithdrawGoldApply` + - 路径:`user/bank-balance/diamond-withdraw-gold-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - 模块复核结果: + - 已按模块级规则核对入口页与目录文件列表 + - 当前目录仅包含入口页,无同目录私有组件 + - 直接公共组件 `src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue` 复核通过 + - 本模块中文残留扫描通过 + - 说明: + - 新增 `pages.userBankDiamondWithdrawGoldApply` + - 未修改接口参数、查询字段、路由路径、权限码、`amountType` 实际值、`acceptAccount` 实际值或接口返回动态数据 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 线程一本轮完成后切回待分配 + +- 线程一已新认领:主要路由页面 / 钻石兑换金币记录 + - 路由别名:`UserBankDiamondWithdrawGoldApply` + - 路径:`user/bank-balance/diamond-withdraw-gold-apply/index` + - 已认领文件: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - 模块预检查结果: + - 已按模块级规则核对入口页与目录文件列表 + - 当前目录仅包含入口页,无同目录私有组件 + - 直接公共组件 `src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue` 纳入本轮复核 + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、`amountType` 实际值、`acceptAccount` 实际值或接口返回动态数据 + +- 线程一已完成:主要路由页面 / 自动支付工资凭据 + - 路由别名:`AutomaticSalaryPaymentRecord` + - 路径:`user/bank-balance/auto-salary-pay-record/index` + - 已完成文件: + - `src/views/user/bank-balance/auto-salary-pay-record/index.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/policy-details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/remark-details-drawer.vue` + - 模块复核结果: + - 已按模块级规则核对入口页与目录文件列表 + - `details-drawer.vue`、`policy-details-drawer.vue`、`remark-details-drawer.vue` 已随入口页同步完成 + - 直接公共组件 `src/components/Pagination/index.vue`、`src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue` 复核通过 + - `src/components/data/PropsRow/index.vue` 中文命中仅为注释,不属于可见展示文案 + - 本模块递归中文扫描通过 + - 说明: + - 新增 `pages.automaticSalaryPaymentRecord` + - 未修改接口参数、查询字段、路由路径、权限码、政策值、布尔值或接口返回动态数据 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 线程一本轮完成后切回待分配 + +- 线程一已新认领:主要路由页面 / 自动支付工资凭据 + - 路由别名:`AutomaticSalaryPaymentRecord` + - 路径:`user/bank-balance/auto-salary-pay-record/index` + - 已认领文件: + - `src/views/user/bank-balance/auto-salary-pay-record/index.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/policy-details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/remark-details-drawer.vue` + - 模块预检查结果: + - 已按模块级规则核对入口页与目录文件列表 + - `details-drawer.vue`、`policy-details-drawer.vue`、`remark-details-drawer.vue` 为入口页直接渲染私有抽屉,纳入同轮处理 + - 直接公共组件 `src/components/Pagination/index.vue`、`src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue`、`src/components/data/PropsRow/index.vue` 纳入本轮复核 + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、政策值、布尔值或接口返回动态数据 + +- 线程一已完成:主要路由页面 / 美金兑换金币记录 + - 路由别名:`UserBankWithdrawGoldApply` + - 路径:`user/bank-balance/withdraw-gold-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-gold-apply/index.vue` + - 模块复核结果: + - 已按模块级规则核对入口页与目录文件列表;当前目录仅包含 `index.vue` + - 筛选区、日期范围、表格列头、创建日期文案、加载更多与已加载全部文案已国际化 + - `GOLD`、`FREIGHT` 仅在页面展示层做本地映射,未修改查询值、接口参数与接口返回动态数据 + - 直接公共组件 `src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue` 复核通过 + - `src/lang/messages/pages/en.js`、`src/lang/messages/pages/zh.js` 已补 `pages.userBankWithdrawGoldApply` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 线程一已新认领:主要路由页面 / 现金提现申请 + - 路由别名:`UserBankWithdrawMoneyApply` + - 路径:`user/bank-balance/withdraw-money-apply/index` + - 已认领文件: + - `src/views/user/bank-balance/withdraw-money-apply/index.vue` + - `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` + - 模块预检查结果: + - 已按模块级规则核对入口页与目录文件列表 + - `approval-drawer.vue`、`details-drawer.vue` 为入口页直接渲染私有抽屉,纳入同轮处理 + - 直接公共组件 `src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue`、`src/components/UploadImage/index.vue` 纳入本轮复核 + - 说明: + - 仅处理可见静态展示文案,不改接口参数、查询字段、路由路径、权限码、状态实际值、复制内容结构或接口返回动态数据 + - 线程一当前状态:进行中 + +- 线程一已完成:主要路由页面 / 现金提现申请 + - 路由别名:`UserBankWithdrawMoneyApply` + - 路径:`user/bank-balance/withdraw-money-apply/index` + - 已完成文件: + - `src/views/user/bank-balance/withdraw-money-apply/index.vue` + - `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` + - 模块复核结果: + - 已按模块级规则核对入口页与目录文件列表 + - `approval-drawer.vue`、`details-drawer.vue` 已随入口页同步完成 + - 直接公共组件 `src/components/SysOriginIcon/index.vue`、`src/components/data/AccountInput/index.vue`、`src/components/data/UserInfo/UserTableExhibit/index.vue` 复核通过 + - `src/components/upload-image/index.vue` 中文命中仅为文件注释 + - 本模块递归中文扫描后,仅剩复制银行卡信息时使用的剪贴板文本中文,不属于页面可见展示文案 + - 说明: + - 新增 `pages.userBankWithdrawMoneyApply` + - 未修改接口参数、查询字段、路由路径、权限码、状态实际值、复制内容结构、导出参数或接口返回动态数据 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 线程一本轮完成后切回待分配 + +- 线程二已完成:主要路由页面 / 主播中心 / 主播工作 + - 路由别名:`team:member:work` + - 路径:`team/team-member-work/index` + - 已完成文件: + - `src/views/team/team-member-work/index.vue` + - `src/views/team/team-member-work/details-drawer.vue` + - `src/views/team/team-member-work/gift-running-water-dialog.vue` + - `src/views/team/team-member-work/room-gift-dialog.vue` + - `src/views/team/components/TeamDetailsDrawer/index.vue` + - 页面私有组件状态: + - 同目录 3 个私有弹窗/抽屉与入口页直接引用的 `TeamDetailsDrawer/index.vue` 已随页面同步完成 + - 直接公共组件状态: + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/GiftHistoryDetailsDrawer/index.vue`:历史已完成,本轮复核仅剩注释中文 + - `src/components/data/PropsRow/index.vue`:历史已完成,本轮复核仅剩注释中文 + - `src/components/data/RoomDeatilsDrawer/index.vue`:历史已完成,本轮复核无新增可见中文 + - `src/views/common/user_deatils.vue`:历史已完成,本轮复核仅剩注释块中文 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 模块复核结果: + - 已完成筛选区、表格、工作详情抽屉、礼物流水弹窗、房间流水弹窗与团队详情抽屉静态展示文本国际化 + - 新增 `pages.teamMemberWork` 与 `pages.teamDetailsDrawer` + - 递归中文扫描后仅剩模板注释和既有公共组件注释块,不属于可见展示文案 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、礼物流水类型实际值、团队/成员/代理 ID、系统来源、工资结算模式实际值、账单状态实际值或接口返回内容 + - 验证结果:语言文件语法检查通过;本轮源码未使用 `$te`;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程二已切回待分配 + +- 线程三已新认领:主要路由页面 / 运营管理 / 用户银行 / 用户银行账户 + - 路由别名:`UserBankBalance` + - 路径:`user/bank-balance/table/index` + - 认领范围: + - `src/views/user/bank-balance/table/index.vue` + - `src/views/user/bank-balance/table/form-edit.vue` + - `src/views/user/bank-balance/table/running-water.vue` + - 页面私有组件状态: + - `form-edit.vue`、`running-water.vue` 已纳入本轮同步处理 + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - 已完成文件: + - `src/views/user/bank-balance/table/index.vue` + - `src/views/user/bank-balance/table/form-edit.vue` + - `src/views/user/bank-balance/table/running-water.vue` + - 模块复核结果: + - 已完成账户列表、发送/扣除、转账、创建账户、导入数据、账户流水弹窗静态展示文案国际化 + - 收入/支出与 `userBankWaterEvent` 仅在页面展示层做本地翻译映射,接口参数、查询字段、分页字段、提交值与接口返回账户/流水数据保持原样 + - 语言文件新增 `pages.userBankAccounts` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程三已切回待分配 + +- 线程二已新认领:主要路由页面 / 主播中心 / 主播工作 + - 路由别名:`team:member:work` + - 路径:`team/team-member-work/index` + - 认领范围: + - `src/views/team/team-member-work/index.vue` + - `src/views/team/team-member-work/details-drawer.vue` + - `src/views/team/team-member-work/gift-running-water-dialog.vue` + - `src/views/team/team-member-work/room-gift-dialog.vue` + - `src/views/team/components/TeamDetailsDrawer/index.vue` + - 页面私有组件状态: + - 同目录 3 个私有弹窗/抽屉与入口页直接引用的 `TeamDetailsDrawer/index.vue` 已纳入本轮同步处理 + - 直接公共组件复核: + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - `src/components/data/GiftHistoryDetailsDrawer/index.vue` + - `src/components/data/PropsRow/index.vue` + - `src/components/data/RoomDeatilsDrawer/index.vue` + - `src/views/common/user_deatils.vue` + - `src/components/SysOriginIcon/index.vue` + - 状态:领取时进行中;本轮随后已完成,见上方完成记录 + +- 线程三已完成:主要路由页面 / 运营管理 / 用户银行 / 用户银行流水 + - 路由别名:`UserBankRunningWater` + - 路径:`user/bank-balance/running-water/index` + - 已完成文件: + - `src/views/user/bank-balance/running-water/index.vue` + - 页面私有组件状态:无同目录私有组件 + - 直接公共组件复核: + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - 模块复核结果: + - 已完成筛选区、日期范围、搜索按钮、金额汇总提示、表格加载文案、表格列头、加载更多、全部加载完成、收款人/付款人标识国际化 + - 收入/支出与 `userBankWaterEvent` 仅在页面展示层做本地翻译映射,接口参数、查询字段、分页字段、实际常量值与接口返回流水数据保持原样 + - 语言文件新增 `pages.userBankRunningWater` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程三已切回待分配 + +- 线程一已完成:主要路由页面 / 运营管理 / 用户工资钻石 + - 路由别名:`UserSalaryDiamondBalance` + - 路径:`user/salary-diamond-balance/table/index` + - 已完成文件: + - `src/views/user/salary-diamond-balance/running-water/index.vue` + - `src/views/user/salary-diamond-balance/table/index.vue` + - `src/views/user/salary-diamond-balance/table/form-edit.vue` + - `src/views/user/salary-diamond-balance/table/running-water.vue` + - 页面私有组件状态: + - `table/form-edit.vue`、`table/running-water.vue` 已随入口页同步完成 + - 直接公共组件复核: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - `src/components/data/AccountInput/index.vue` + - `src/components/data/UserInfo/UserTableExhibit/index.vue` + - 模块复核结果: + - 已完成筛选区、表格列头、弹窗标题、表单标签、placeholder、按钮与校验提示国际化 + - 收入/支出、事件名称与转账标签仅在页面展示层做本地翻译映射,未修改常量值、查询字段、提交值或接口返回动态数据 + - 递归中文扫描后仅剩注释,不属于可见展示文案 + - 已补充 `pages.userSalaryDiamond` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程一已切回待分配 + +- 线程一已完成:主要路由页面 / 道具管理 / 道具商店 + - 路由别名:`props:store` + - 路径:`props/props-store/index` + - 已完成文件: + - `src/views/props/props-store/index.vue` + - `src/views/props/props-store/form-edit.vue` + - 同步复核: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - 模块复核结果: + - 已完成筛选区、展开详情、表格列头、上下架展示、道具类型/付费类型展示映射、按钮、弹窗标题、表单标签、placeholder、校验提示、贵族能力字段与资源更换按钮国际化 + - 道具类型、付费类型、有效天数、上下架、贵族类型等实际 `value` 均保持不变,仅做展示层映射 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、资源 ID、接口返回资源名称、资源图片、SVGA 地址或提交值 + - 页面私有组件状态:`src/views/props/props-store/form-edit.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核通过 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 + - 验证结果:`src/views/props/props-store/*.vue` 中文残留扫描通过;`src` 中无 `$te(` 命中;语言文件语法检查通过;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程一已切回待分配 + +- 线程二已完成:主要路由页面 / 主播中心 / BD工作统计 + - 路由别名:`WorkStatistics` + - 路径:`team/work-statistics/index` + - 已完成文件: + - `src/views/team/work-statistics/index.vue` + - 页面私有组件状态:无同目录私有组件 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/SelectSystemRegion/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 模块复核结果: + - 筛选区、日期范围、筛选时间汇总、表格加载文案与统计表头已国际化 + - 新增 `pages.workStatistics` + - `src/views/team/work-statistics/index.vue` 中文残留仅剩注释,不属于可见展示文本 + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、排序值、分页字段、用户 ID / 短账号查询值、区域值、系统值与接口返回统计数据保持原样 + - 验证结果:语言文件语法校验通过;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程二已切回待分配 + +- 线程二已完成:主要路由页面 / 道具管理 / 道具赠送 + - 路由别名:`PropsSendTool` + - 路径:`props/props-send-tool/index` + - 已完成文件: + - `src/views/props/props-send-tool/index.vue` + - `src/views/props/props-send-tool/send-props.vue` + - `src/views/props/props-send-tool/send-badge.vue` + - `src/views/props/props-send-tool/send-ticket.vue` + - 模块复核结果: + - 赠送道具、赠送徽章、赠送道具券三块表单的标题、表单标签、placeholder、按钮、校验提示、贵族来源展示与无效短账号提示已国际化 + - 道具类型、道具券类型、徽章类型仅在页面展示层按 value 做本地翻译映射,未修改 `propsTypes`、`propsTicket`、`badgeTypes` 常量值 + - 接口参数、路由路径、权限码、表单提交字段、道具/徽章/道具券实际类型值、贵族来源实际值、资源 ID、接收人提交内容、接口返回资源名称与接口错误内容保持原样 + - `src/views/props/props-send-tool/**/*.vue` 中文残留仅剩注释,不属于可见展示文本 + - 页面私有组件状态: + - `send-props.vue`、`send-badge.vue`、`send-ticket.vue` 已随入口页同步完成 + - 直接公共组件状态: + - `src/components/data/PropsSourceSelectPopover/index.vue`:历史已完成,本轮复核中文扫描无命中 + - 验证结果: + - 语言文件语法校验通过;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程二已切回待分配 + +- 线程三已完成:主要路由页面 / 运营管理 / 活动配置 / 活动规则配置 + - 路由别名:`Props:Activity:Rule:Config` + - 路径:`props/props-activity-rule-config/index` + - 已完成文件: + - `src/views/props/props-activity-rule-config/index.vue` + - `src/views/props/props-activity-rule-config/edit-rule-drawer.vue` + - `src/views/props/props-activity-rule-config/components/crystal.vue` + - `src/views/props/props-activity-rule-config/components/first-charge-reward.vue` + - `src/views/props/props-activity-rule-config/components/game-fruit.vue` + - `src/views/props/props-activity-rule-config/components/game-weekly-tasks.vue` + - `src/views/props/props-activity-rule-config/components/input-quantity-mark.vue` + - `src/views/props/props-activity-rule-config/components/input-quantity.vue` + - `src/views/props/props-activity-rule-config/components/lucky-box.vue` + - 模块复核结果: + - 已完成页面筛选区、卡片操作、规则信息、资源信息、删除确认、编辑抽屉、子规则表单、上传提示、placeholder、按钮与校验提示国际化 + - 活动类型与上下架采用本地展示映射,活动类型 `value`、布尔值、表单提交字段、资源组/规则接口返回动态数据保持原样 + - `src/views/props/props-activity-rule-config/**/*.vue` 中文残留仅剩注释,不属于可见展示文本 + - 页面私有组件状态:`edit-rule-drawer.vue` 与 `components/*.vue` 已随页面同步完成 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/AssociatedResources/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/PropsRow/index.vue`:历史已完成,本轮复核通过,中文命中仅剩注释 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 + - 验证结果:语言文件语法随构建校验通过;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程三已切回待分配 + +- 线程一已完成:主要路由页面 / 运营管理 / 内购配置 / Google/Apple-V2 + - 路由别名:`google:apple:product:config` + - 路径:`cnf/product-v2/index` + - 已完成文件: + - `src/views/cnf/product-v2/index.vue` + - 同步复核: + - `src/components/SysOriginIcon/index.vue` + - 模块复核结果: + - 已完成筛选区、搜索/添加按钮、表格加载文案、表格列头、状态展示、弹窗标题、表单标签、placeholder、按钮与校验提示国际化 + - 上下架采用本地展示映射,`true/false` 实际值保持不变 + - 平台 `AppStore`、`Google`、`Huawei` 等实际值保持不变,仅保留展示原文 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、平台实际值、上下架实际值、区域/系统接口返回动态数据或提交值 + - 页面私有组件状态:`src/views/cnf/product-v2` 目录当前仅包含 `index.vue`,无页面私有组件 + - 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 + - 验证结果:`src/views/cnf/product-v2/index.vue` 中文残留扫描通过;`src` 中无 `$te(` 命中;语言文件语法检查通过;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程一已切回待分配 + +- 线程一已完成:主要路由页面 / 运营管理 / 内购配置 / 应用管理 + - 路由别名:`pay:application` + - 路径:`cnf/pay/application/index` + - 已完成文件: + - `src/views/cnf/pay/application/index.vue` + - `src/views/cnf/pay/application/app-navigation.vue` + - `src/views/cnf/pay/application/app-manager/index.vue` + - `src/views/cnf/pay/application/app-manager/edit-form.vue` + - `src/views/cnf/pay/application/commodity/index.vue` + - `src/views/cnf/pay/application/commodity/edit-form.vue` + - `src/views/cnf/pay/application/commodity-v2/index.vue` + - `src/views/cnf/pay/application/commodity-v2/edit-form.vue` + - `src/views/cnf/pay/application/order-manager/index.vue` + - 同步复核: + - `src/components/Pagination/index.vue` + - `src/components/SysOriginIcon/index.vue` + - 模块复核结果: + - 已完成应用卡片操作下拉、支付链接、编辑、创建应用、创建时间、返回按钮、商品管理 tab、筛选区、表格列头、商品编辑弹窗、按钮、placeholder 与校验提示国际化 + - 商品类型与上下架采用本地展示映射,`GOLD`、`FREIGHT_GOLD`、`FREIGHT_GOLD_SUPER`、`true/false` 实际值保持不变 + - `order-manager` 当前在 tab 配置中被注释,本轮仅处理其可见开发中提示与未使用 prompt 文案;注释掉的历史表格按规则保留 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、商品类型/上下架实际值、应用/国家/区域/渠道接口返回动态数据或提交值 + - 页面私有组件状态:目录内入口导航、应用卡片、应用编辑、商品管理、商品编辑、商品管理 V2、商品编辑 V2 与订单管理文件已随页面同步完成或复核 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核通过 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 + - 验证结果:中文残留仅剩注释、注释掉的历史表格与注释掉的历史表单块;`src` 中无 `$te(` 命中;语言文件语法检查通过;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程一已切回待分配 + +- 线程一已完成:主要路由页面 / 运营管理 / 内购配置 / 开通支付国家 + - 路由别名:`open:pay:country` + - 路径:`cnf/pay/country/index` + - 已完成文件: + - `src/views/cnf/pay/country/index.vue` + - `src/views/cnf/pay/country/associated-channels.vue` + - `src/views/cnf/pay/country/country-select.vue` + - 同步复核: + - `src/views/cnf/pay/comp/transfer-channel.vue` + - `src/components/Pagination/index.vue` + - 模块复核结果: + - 已完成筛选区、添加/刷新/关联渠道按钮、表格加载文案、表格列头、行内可点击提示、prompt 标题/按钮/校验提示、关联渠道弹窗、国家选择弹窗、Transfer 标题/按钮国际化 + - `shelfStatus` 采用本地展示映射,`true/false` 实际值保持不变 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、国家/渠道实际值、开通/删除提交值或接口返回动态数据 + - 页面私有组件状态:`associated-channels.vue`、`country-select.vue` 已随页面同步完成;`comp/transfer-channel.vue` 历史已完成,本轮复核通过 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:扫描无中文命中 + - 验证结果:中文残留仅剩注释与注释掉的历史按钮;`src` 中无 `$te(` 命中;语言文件语法检查通过;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程一已切回待分配 + +- 线程一已记录兼容问题: + - 本项目自定义 i18n 插件不支持 `$te` + - 渠道管理 / 厂商管理相关渠道类型展示已改为用 `$t(key)` 返回值是否等于原 key 做兜底判断 + - 涉及文件: + - `src/views/cnf/pay/channel/index.vue` + - `src/views/cnf/pay/channel/edit-form.vue` + - `src/views/cnf/pay/factory/associated-channel.vue` + - 说明:避免页面运行时报 `this.$te is not a function` 导致空白页 + +- 线程一已完成:主要路由页面 / 运营管理 / 内购配置 / 区域关联支付国家 + - 路由别名:`region:pay:country` + - 路径:`cnf/pay/region-relation/index` + - 已完成文件: + - `src/views/cnf/pay/region-relation/index.vue` + - 模块复核结果: + - 已完成筛选区、搜索/添加/编辑按钮、表格加载文案、表格列头、状态展示、弹窗标题、表单标签、placeholder、校验提示与弹窗按钮国际化 + - 状态下拉与状态列采用本地展示映射,`productConfigShowcase` 原常量值、接口参数和提交值保持不变 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、布尔提交值或接口返回动态数据 + - 页面私有组件状态:无页面私有组件 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:扫描无中文命中 + - `src/components/SysOriginIcon/index.vue`:扫描无中文命中 + - 验证结果:中文残留扫描通过;`src` 中无 `$te(` 命中;语言文件语法检查通过;`npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning + - 状态:已完成,线程一已切回待分配 ## 2026-05-06 最新同步 @@ -938,6 +1397,12 @@ - `src/views/tools/other/user-swap-user.vue` - 当前保留注释掉的“用户id不可相同”原样 - 原因:该内容仅存在于注释中,不属于可见展示文案 +- `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` + - 当前保留复制银行卡信息时的中文标签原样 + - 原因:该内容只用于复制到剪贴板的文本结构,不属于页面可见展示文案;本轮按“不改复制内容结构”保留 +- `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` + - 当前保留复制银行卡信息时的中文标签原样 + - 原因:该内容只用于复制到剪贴板的文本结构,不属于页面可见展示文案;本轮按“不改复制内容结构”保留 ## 需持续关注 diff --git a/docs/i18n/翻译进度.md b/docs/i18n/翻译进度.md index 7bea15e..5accc2b 100644 --- a/docs/i18n/翻译进度.md +++ b/docs/i18n/翻译进度.md @@ -3,7 +3,8 @@ ## 文档定位 - 本文件只负责记录全局进展、阶段成果、构建验证结果与下一步目标 -- 主要路由的完整父子级结构、路由别名、路径、入口文件与主路由优先级,以 `docs/i18n/主要路由.md` 为准 +- 主要路由的完整父子级结构、路由别名、路径、入口文件、完成状态、已完成主要路由摘要与主路由优先级,以 `docs/i18n/主要路由.md` 为准 +- `docs/i18n/翻译清单.md` 不再重复维护已完成主要路由索引,只维护文件级清单与任务状态 - 文档中的英文路由名需要与侧边栏实际语言包 `src/lang/messages/base/menu-en.js` 保持一致;如有差异,以 `menu-en.js` 为准 - 注意 `src/lang/messages/en.js` 顶层旧中文 key 会在运行时覆盖 `menu-en.js` 的同名 key;统一路由英文名时需要同步检查并消除这类重复覆盖 - 文件级待办、进行中、已完成与认领状态,以 `docs/i18n/翻译清单.md` 为准 @@ -19,9 +20,689 @@ ## 当前认领线程 -- 线程一:待分配,上一轮已完成 `src/views/cnf/pay/factory/**`、`src/views/cnf/pay/comp/transfer-channel.vue` 厂商管理页面国际化、直接公共组件复核、语言文件校验与构建验证 -- 线程二:待分配,上一轮已完成 `src/views/log/login-logger/index.vue` 登录日志页面国际化、直接公共组件复核、语言文件校验与构建验证 -- 线程三:待分配,上一轮已完成 `src/views/log/invite-user-log/index.vue` 邀请用户页面国际化、直接公共组件复核、语言文件校验与构建验证 +- 线程一:待分配,上一轮已完成 `src/views/user/bank-balance/withdraw-diamond-apply/**` 钻石提现申请页面入口、同目录私有抽屉、直接公共组件复核、语言文件校验与构建验证 +- 线程二:待分配,上一轮已完成 `src/views/team/team-member/**` 主播成员页面入口、同目录私有组件、直接引用的团队详情抽屉与直接公共组件复核、语言文件校验与构建验证 +- 线程三:待分配,上一轮已完成 `src/views/user/bank-balance/table/**` 用户银行账户页面入口、同目录私有组件、直接公共组件复核、语言文件校验与构建验证 + +## 2026-05-07 最新同步 + +- 线程二已完成: + - `src/views/team/team-member/index.vue` + - `src/views/team/team-member/team-member-add.vue` + - `src/views/team/team-member/team-member-change.vue` + - `src/views/team/team-member/team-member-remark.vue` + - `src/views/team/team-member/team-member-target-reset.vue` +- 对应主要路由: + - 主播中心 / Broadcaster Center + - 主播成员 / Broadcaster Members +- 已完成模块级复核: + - 筛选区系统、角色、代理 ID、成员 ID、未活跃天数、日期范围、搜索/新增/删除按钮已国际化 + - 表格加载文案、代理/成员/备注/创建人/时间/操作列头、创建/活跃前缀、加载更多与已加载全部文案已国际化 + - 添加成员、变更团队、编辑备注、目标重置等同目录 4 个私有弹窗/抽屉的标题、表单标签、placeholder、按钮、校验、确认框和提示文案已国际化 + - 新增 `pages.teamMember` +- 页面私有组件状态: + - 同目录 4 个私有弹窗/抽屉已随入口页同步完成 + - `src/views/team/components/TeamDetailsDrawer/index.vue` 历史已完成,本轮复核中文扫描无命中 +- 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/Avatar/index.vue`:本轮复核中文扫描无命中 +- 已完成验证: + - `src/views/team/team-member/*.vue` 中文残留仅剩注释或注释掉的历史代码块,不属于可见展示文本 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 本轮未修改: + - 接口参数、查询字段、路由路径、权限码、团队/成员/代理 ID、成员角色实际值、批量删除提交值、目标重置提交值或接口返回动态数据 +- 线程二当前状态:待分配 + +- 线程一已完成: + - `src/views/user/bank-balance/withdraw-diamond-apply/index.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-diamond-apply/details-drawer.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 钻石提现申请 / Diamond Withdrawal Applications +- 已完成模块级复核: + - 筛选区系统、卡片类型、提交用户、类型、状态、日期范围、搜索/导出按钮已国际化 + - 表格列头、金额类型展示、接收方式展示、审核状态展示、加载更多与已加载全部文案已国际化 + - 导出抽屉、审核抽屉、详情抽屉的标题、标签、按钮、提示文案已国际化 + - 新增 `pages.userBankWithdrawDiamondApply` +- 页面私有组件状态: + - `approval-drawer.vue`、`details-drawer.vue` 已随入口页同步完成 +- 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/upload-image/index.vue`:本轮复核中文扫描无命中 +- 已完成验证: + - `src/views/user/bank-balance/withdraw-diamond-apply/*.vue` 中文残留仅剩银行卡复制文本,不属于可见展示文本 + - `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 语法校验通过 + - 本轮源码未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 本轮未修改: + - 接口参数、查询字段、路由路径、权限码、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构、导出参数或接口返回动态数据 +- 线程一当前状态:待分配 + +- 线程二已新认领: + - `src/views/team/team-member/index.vue` + - `src/views/team/team-member/team-member-add.vue` + - `src/views/team/team-member/team-member-change.vue` + - `src/views/team/team-member/team-member-remark.vue` + - `src/views/team/team-member/team-member-target-reset.vue` +- 对应主要路由: + - 主播中心 / Broadcaster Center + - 主播成员 / Broadcaster Members +- 认领前已复查: + - 当前没有其他线程认领 `src/views/team/team-member/**` + - `src/views/team/team-member` 目录包含入口页与 4 个同目录私有组件,均由入口页直接渲染 + - `src/views/team/components/TeamDetailsDrawer/index.vue` 为入口页直接渲染的团队详情抽屉,历史已完成,本轮复核 + - 直接公共组件 `SysOriginIcon`、`AccountInput`、`UserTableExhibit`、`src/components/data/Avatar/index.vue` 纳入本轮复核 +- 本轮不修改: + - 接口参数、查询字段、路由路径、权限码、团队/成员/代理 ID、成员角色实际值、批量删除提交值、目标重置提交值或接口返回动态数据 +- 领取时线程二状态:进行中;本轮随后已完成,见上方完成记录 + +- 线程一已完成: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 钻石兑换金币记录 / Diamond-to-Gold Exchange Records +- 已完成模块级复核: + - 筛选区系统、提交用户 ID、接收用户 ID、接收方式、日期范围、搜索按钮已国际化 + - 表格列头、创建日期前缀、加载更多与已加载全部文案已国际化 + - `GOLD`、`FREIGHT` 仅在页面展示层做本地映射,未修改查询值、接口参数、`amountType` 实际值或接口返回动态数据 +- 页面私有组件状态: + - 当前目录仅包含 `index.vue`,无页面私有组件 +- 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.userBankDiamondWithdrawGoldApply` +- 已完成验证: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` 中文残留扫描通过 + - 直接公共组件中文扫描无命中 + - 语言文件语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 本轮未修改: + - 接口参数、查询字段、路由路径、权限码、`amountType` 实际值、`acceptAccount` 实际值、`lastId` 分页逻辑或接口返回动态数据 +- 线程一当前状态:待分配 + +- 线程一已新认领: + - `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds + - 钻石兑换金币记录 / Diamond-to-Gold Exchange Records +- 认领前已复查: + - 当前没有其他线程认领 `src/views/user/bank-balance/diamond-withdraw-gold-apply/index.vue` + - `src/views/user/bank-balance/diamond-withdraw-gold-apply` 目录当前仅包含入口页,无同目录私有组件 + - 直接公共组件 `SysOriginIcon`、`AccountInput`、`UserTableExhibit` 纳入本轮复核 +- 本轮不修改: + - 接口参数、查询字段、路由路径、权限码、`amountType` 实际值、`acceptAccount` 实际值、`lastId` 分页逻辑或接口返回动态数据 +- 线程一当前状态:进行中 + +- 线程一已完成: + - `src/views/user/bank-balance/auto-salary-pay-record/index.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/policy-details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/remark-details-drawer.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 自动支付工资凭据 / Automatic Salary Payment Vouchers +- 已完成模块级复核: + - 筛选区系统、用户 ID、月份选择、搜索按钮、表格列头、查看明细/查看备注操作已国际化 + - 自动发送工资详情抽屉、政策详情抽屉、内部备注抽屉的标题、分组标题、字段标签与展示状态已国际化 + - 团长/成员/代收/已收回/账户类型仅在页面展示层做本地映射,未修改布尔值、政策值或接口返回动态数据 +- 页面私有组件状态: + - `details-drawer.vue`、`policy-details-drawer.vue`、`remark-details-drawer.vue` 已随入口页同步完成 +- 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/PropsRow/index.vue`:历史已完成,本轮复核中文命中仅为注释 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.automaticSalaryPaymentRecord` +- 已完成验证: + - `src/views/user/bank-balance/auto-salary-pay-record/*.vue` 中文残留扫描通过 + - 直接公共组件中文扫描仅命中 `PropsRow` 注释,不属于可见展示文案 + - 语言文件语法校验通过 + - 本轮改动未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 本轮未修改: + - 接口参数、查询字段、路由路径、权限码、`dateNumber` 值、政策等级值、工资数值、是否代收/是否回收布尔值、时间格式值或接口返回动态数据 +- 线程一当前状态:待分配 + +- 线程一已新认领: + - `src/views/user/bank-balance/auto-salary-pay-record/index.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/policy-details-drawer.vue` + - `src/views/user/bank-balance/auto-salary-pay-record/remark-details-drawer.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 自动支付工资凭据 / Automatic Salary Payment Vouchers +- 认领前已复查: + - 当前没有其他线程认领 `src/views/user/bank-balance/auto-salary-pay-record/**` + - `src/views/user/bank-balance/auto-salary-pay-record` 目录包含入口页、`details-drawer.vue`、`policy-details-drawer.vue`、`remark-details-drawer.vue` + - 直接公共组件 `Pagination`、`SysOriginIcon`、`AccountInput`、`UserTableExhibit`、`PropsRow` 纳入本轮复核 +- 本轮不修改: + - 接口参数、查询字段、路由路径、权限码、`dateNumber` 值、政策等级值、工资数值、是否代收/是否回收布尔值、时间格式值或接口返回动态数据 +- 线程一当前状态:进行中 + +- 线程一已完成: + - `src/views/user/bank-balance/withdraw-gold-apply/index.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 美金兑换金币记录 / USD-to-Gold Exchange Records +- 已完成模块级复核: + - 筛选区、日期范围、表格列头、创建日期文案、加载更多与已加载全部文案已国际化 + - `GOLD`、`FREIGHT` 仅在页面展示层做本地映射,未修改查询值、接口参数与接口返回动态数据 +- 页面私有组件状态: + - 当前目录仅包含 `index.vue`,无页面私有组件 +- 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.userBankWithdrawGoldApply` +- 已完成验证: + - `src/views/user/bank-balance/withdraw-gold-apply/index.vue` 中文残留扫描通过 + - 直接公共组件中文扫描无命中 + - 本轮改动未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 线程一当前状态:待分配 +- 线程一已新认领: + - `src/views/user/bank-balance/withdraw-money-apply/index.vue` + - `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 现金提现申请 / Cash Withdrawal Applications +- 认领前已复查: + - 当前没有其他线程认领 `src/views/user/bank-balance/withdraw-money-apply/**` + - `src/views/user/bank-balance/withdraw-money-apply` 目录包含入口页、`approval-drawer.vue`、`details-drawer.vue` + - 直接公共组件 `SysOriginIcon`、`AccountInput`、`UserTableExhibit`、`UploadImage` 纳入本轮复核 +- 本轮不修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、提现状态实际值、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构、导出参数或接口返回动态数据 +- 线程一当前状态:进行中 + +- 线程一已完成: + - `src/views/user/bank-balance/withdraw-money-apply/index.vue` + - `src/views/user/bank-balance/withdraw-money-apply/approval-drawer.vue` + - `src/views/user/bank-balance/withdraw-money-apply/details-drawer.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 现金提现申请 / Cash Withdrawal Applications +- 已完成模块级复核: + - 筛选区、表格列头、导出条件抽屉、详情抽屉、审核抽屉、按钮、placeholder、tooltip 与审核记录展示已国际化 + - 审核状态、接收方式、金额类型仅在页面展示层做本地映射,未修改实际值、查询字段、导出参数或接口返回动态数据 +- 页面私有组件状态: + - `approval-drawer.vue`、`details-drawer.vue` 已随入口页同步完成 +- 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/upload-image/index.vue`:本轮复核仅剩注释中文 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.userBankWithdrawMoneyApply` +- 已完成验证: + - 语言文件语法校验通过 + - `src/views/user/bank-balance/withdraw-money-apply/*.vue` 中文残留仅剩复制银行卡信息的剪贴板文本,不属于页面可见展示文案 + - `src/components/upload-image/index.vue` 中文残留仅为文件注释,不属于可见展示文案 + - 本轮改动未使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 本轮未修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、提现状态实际值、审核状态实际值、接收方式实际值、银行卡类型实际值、复制内容结构、导出参数或接口返回动态数据 +- 线程一当前状态:待分配 + +- 线程二已完成: + - `src/views/team/team-member-work/index.vue` + - `src/views/team/team-member-work/details-drawer.vue` + - `src/views/team/team-member-work/gift-running-water-dialog.vue` + - `src/views/team/team-member-work/room-gift-dialog.vue` + - `src/views/team/components/TeamDetailsDrawer/index.vue` +- 对应主要路由: + - 主播中心 / Broadcaster Center + - 主播工作 / Broadcaster Work +- 已完成模块级复核: + - 筛选区系统、账单 ID、代理 ID、成员 ID、搜索/删除按钮已国际化 + - 表格加载文案、表头、工资/钻石/礼物/时长/时间字段、详情入口、加载更多与已加载全部文案已国际化 + - 工作详情抽屉、礼物流水弹窗、房间流水弹窗与团队详情抽屉的标题、分组、字段标签、状态展示和操作按钮已国际化 + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、礼物流水类型实际值、团队/成员/代理 ID、系统来源、工资结算模式实际值、账单状态实际值与接口返回动态数据保持原样 +- 页面私有组件状态: + - `details-drawer.vue`、`gift-running-water-dialog.vue`、`room-gift-dialog.vue` 与 `TeamDetailsDrawer/index.vue` 已随入口页同步完成 +- 直接公共组件状态: + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/GiftHistoryDetailsDrawer/index.vue`:历史已完成,本轮复核仅剩注释中文 + - `src/components/data/PropsRow/index.vue`:历史已完成,本轮复核仅剩注释中文 + - `src/components/data/RoomDeatilsDrawer/index.vue`:历史已完成,本轮复核无新增可见中文 + - `src/views/common/user_deatils.vue`:历史已完成,本轮复核仅剩注释块中文 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.teamMemberWork` 与 `pages.teamDetailsDrawer` +- 已完成验证: + - 语言文件语法校验通过 + - 本轮源码中文残留仅剩注释,不属于可见展示文本 + - 未发现本轮改动使用 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 线程二当前状态:待分配 + +- 线程三已新认领: + - `src/views/user/bank-balance/table/index.vue` + - `src/views/user/bank-balance/table/form-edit.vue` + - `src/views/user/bank-balance/table/running-water.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 用户银行账户 / User Bank Accounts +- 认领前已复查: + - 线程一当前进行中范围为 `src/views/user/salary-diamond-balance/**`,线程三主动避让 + - 线程二当前进行中范围为 `src/views/team/team-member-work/**`,线程三主动避让 + - 当前无其他线程认领 `src/views/user/bank-balance/table/**` + - `src/views/user/bank-balance/table` 目录包含入口页、`form-edit.vue`、`running-water.vue` + - 直接公共组件 `SysOriginIcon`、`AccountInput`、`UserTableExhibit` 纳入本轮复核 +- 本轮不修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、银行账户金额实际值、发送/扣除/转账实际提交值、用户 ID、系统来源、导入文件内容或接口返回账户/流水数据 +- 线程三已完成: + - `src/views/user/bank-balance/table/index.vue` + - `src/views/user/bank-balance/table/form-edit.vue` + - `src/views/user/bank-balance/table/running-water.vue` +- 已完成模块级复核: + - 账户列表筛选区、操作按钮、表格加载文案、表格列头、操作下拉、加载更多/全部加载完成已国际化 + - 发送/扣除弹窗、转账弹窗、创建账户弹窗、导入弹窗、上传提示、校验提示、导入/下载反馈已国际化 + - 账户流水弹窗复用 `pages.userBankRunningWater` 事件名、收入/支出与转账收付款人展示映射,未修改事件常量值或接口返回数据 +- 页面私有组件状态: + - `form-edit.vue`、`running-water.vue` 已随入口页同步完成 +- 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.userBankAccounts` +- 已完成验证: + - 语言文件语法校验通过 + - `src/views/user/bank-balance/table/*.vue` 中文残留仅剩注释,不属于可见展示文本 + - 直接公共组件中文扫描无命中 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 线程三当前状态:待分配 + +- 线程二已新认领: + - `src/views/team/team-member-work/index.vue` + - `src/views/team/team-member-work/details-drawer.vue` + - `src/views/team/team-member-work/gift-running-water-dialog.vue` + - `src/views/team/team-member-work/room-gift-dialog.vue` + - `src/views/team/components/TeamDetailsDrawer/index.vue` +- 对应主要路由: + - 主播中心 / Broadcaster Center + - 主播工作 / Broadcaster Work +- 认领前已复查: + - 线程一当前进行中范围为 `src/views/user/salary-diamond-balance/**`,线程二主动避让 + - 当前没有其他线程认领 `src/views/team/team-member-work/**` + - 已核对入口页直接渲染 `details-drawer.vue`、`gift-running-water-dialog.vue`、`room-gift-dialog.vue` 与 `src/views/team/components/TeamDetailsDrawer/index.vue` + - 直接公共组件 `AccountInput`、`UserTableExhibit`、`GiftHistoryDetailsDrawer`、`PropsRow`、`RoomDeatilsDrawer`、`user_deatils.vue`、`SysOriginIcon` 纳入本轮复核 +- 本轮不修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、分页字段、礼物流水类型实际值、团队/成员/代理 ID、系统来源、工资结算模式实际值、账单状态实际值或接口返回动态数据 +- 领取时线程二状态:进行中;本轮随后已完成,见上方完成记录 + +- 线程三已完成: + - `src/views/user/bank-balance/running-water/index.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户银行 / User Bank + - 用户银行流水 / User Bank Transactions +- 已完成模块级复核: + - 筛选区系统、用户 ID、类型、事件、日期范围 placeholder 与搜索按钮已国际化 + - 金额汇总提示、表格加载文案、表格列头、加载更多、全部加载完成、收款人/付款人标识已国际化 + - 收入/支出与 `userBankWaterEvent` 仅在页面展示层做本地翻译映射,未修改 `0/1`、事件常量值、查询字段、分页字段或接口返回流水数据 +- 页面私有组件状态: + - `src/views/user/bank-balance/running-water` 目录当前仅包含入口页,无同目录私有组件 +- 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.userBankRunningWater` +- 已完成验证: + - 语言文件语法校验通过 + - `src/views/user/bank-balance/running-water/index.vue` 中文残留仅剩注释,不属于可见展示文本 + - 直接公共组件中文扫描无命中 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 线程三当前状态:待分配 + +- 线程二已完成: + - `src/views/team/work-statistics/index.vue` +- 对应主要路由: + - 主播中心 / Broadcaster Center + - BD工作统计 / BD Work Statistics +- 已完成模块级复核: + - 筛选区系统、长 UID、短账号、区域、日期范围 tooltip、日期选择器 placeholder 与搜索按钮已国际化 + - 筛选时间汇总、表格加载文案、BD、邀请人数、充值、客单价、有效人数、区域与区域排名表头已国际化 + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、排序值、分页字段、用户 ID / 短账号查询值、区域值、系统值与接口返回统计数据保持原样 +- 页面私有组件状态: + - `src/views/team/work-statistics` 目录当前仅包含入口页,无同目录私有组件 +- 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/SelectSystemRegion/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.workStatistics` +- 已完成验证: + - 语言文件语法校验通过 + - `src/views/team/work-statistics/index.vue` 中文残留仅剩注释,不属于可见展示文本 + - 直接公共组件中文扫描无命中 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 线程二当前状态:待分配 + +- 线程一已完成: + - `src/views/user/salary-diamond-balance/running-water/index.vue` + - `src/views/user/salary-diamond-balance/table/index.vue` + - `src/views/user/salary-diamond-balance/table/form-edit.vue` + - `src/views/user/salary-diamond-balance/table/running-water.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 用户工资钻石 / User Salary Diamonds +- 已完成模块级复核: + - 筛选区系统、用户 ID、类型、事件、日期范围 placeholder 与搜索按钮已国际化 + - 账户列表与流水列表的表格列头、转账附属标签、弹窗标题、表单标签、placeholder、按钮与校验提示已国际化 + - 收入/支出、事件名称与转账标签仅在页面展示层做本地翻译映射,未修改事件常量值、查询字段、提交值或接口返回动态数据 +- 页面私有组件状态: + - `table/form-edit.vue`、`table/running-water.vue` 已随入口页同步完成 +- 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserInfo/UserTableExhibit/index.vue`:历史已完成,本轮复核中文扫描无命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.userSalaryDiamond` +- 已完成验证: + - 语言文件语法校验通过 + - `src/views/user/salary-diamond-balance/**` 中文残留仅剩注释,不属于可见展示文本 + - 直接公共组件中文扫描无命中 + - 项目中未发现 `$te` + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 本轮未修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、收支类型实际值、事件实际值、用户账号查询值、金额提交值、备注提交值或接口返回动态数据 +- 线程一当前状态:待分配 + +- 线程二已新认领: + - `src/views/team/work-statistics/index.vue` +- 对应主要路由: + - 主播中心 / Broadcaster Center + - BD工作统计 / BD Work Statistics +- 认领前已复查: + - 线程一当前进行中范围为 `src/views/props/props-store/**`,线程二主动避让 + - 线程三当前待分配,当前没有其他线程认领 `src/views/team/work-statistics/index.vue` + - `src/views/team/work-statistics` 目录当前仅包含入口页,无同目录私有组件 + - 直接公共组件 `Pagination`、`SysOriginIcon`、`SelectSystemRegion`、`UserTableExhibit` 纳入本轮复核 +- 本轮不修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、排序值、分页字段、用户 ID / 短账号查询值、区域值、系统值或接口返回统计数据 +- 线程二当前状态:进行中 + +- 线程二已完成: + - `src/views/props/props-send-tool/index.vue` + - `src/views/props/props-send-tool/send-props.vue` + - `src/views/props/props-send-tool/send-badge.vue` + - `src/views/props/props-send-tool/send-ticket.vue` +- 对应主要路由: + - 道具管理 / Prop Management + - 道具赠送 / Prop Gift +- 已完成模块级复核: + - 赠送道具、赠送徽章、赠送道具券三块表单的标题、表单标签、placeholder、按钮、校验提示、贵族来源展示与无效短账号提示已国际化 + - 道具类型、道具券类型、徽章类型仅在页面展示层按 value 做本地翻译映射,未修改 `propsTypes`、`propsTicket`、`badgeTypes` 常量值 + - 接口参数、路由路径、权限码、表单提交字段、道具/徽章/道具券实际类型值、贵族来源实际值、资源 ID、接收人提交内容、接口返回资源名称与接口错误内容保持原样 +- 页面私有组件状态: + - `send-props.vue`、`send-badge.vue`、`send-ticket.vue` 已随入口页同步完成 +- 直接公共组件状态: + - `src/components/data/PropsSourceSelectPopover/index.vue`:历史已完成,本轮复核中文扫描无命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.propsSendTool` +- 已完成验证: + - 语言文件语法校验通过 + - `src/views/props/props-send-tool/**/*.vue` 中文残留仅剩注释,不属于可见展示文本 + - `src/components/data/PropsSourceSelectPopover/index.vue` 中文扫描无命中 + - `npm run build:prod` 构建通过,仍为项目既有 `17` 条 warning +- 线程二当前状态:待分配 + +- 线程三已完成: + - `src/views/props/props-activity-rule-config/index.vue` + - `src/views/props/props-activity-rule-config/edit-rule-drawer.vue` + - `src/views/props/props-activity-rule-config/components/crystal.vue` + - `src/views/props/props-activity-rule-config/components/first-charge-reward.vue` + - `src/views/props/props-activity-rule-config/components/game-fruit.vue` + - `src/views/props/props-activity-rule-config/components/game-weekly-tasks.vue` + - `src/views/props/props-activity-rule-config/components/input-quantity-mark.vue` + - `src/views/props/props-activity-rule-config/components/input-quantity.vue` + - `src/views/props/props-activity-rule-config/components/lucky-box.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 活动配置 / Activity Configuration + - 活动规则配置 / Activity Rule Configuration +- 已完成模块级复核: + - 页面筛选区、卡片操作、规则信息、资源信息、删除确认、保存/删除提示已国际化 + - 编辑抽屉与全部同目录规则子组件静态展示文本、placeholder、按钮、上传提示与校验提示已国际化 + - 活动类型与上下架仅翻译展示文案,实际提交值、布尔值、接口参数、路由路径、权限码与接口返回动态数据保持原样 + - 直接公共组件 `Pagination`、`AssociatedResources`、`PropsRow`、`SysOriginIcon` 已复核,当前中文命中仅剩注释 +- 页面私有组件状态: + - `edit-rule-drawer.vue` 与 `components/*.vue` 已随页面同步完成 +- 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/AssociatedResources/index.vue`:历史已完成,本轮复核通过 + - `src/components/data/PropsRow/index.vue`:历史已完成,本轮复核通过,中文命中仅剩注释 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.propsActivityRuleConfig` +- 已完成构建验证: + - `npm run build:prod` + - 构建通过,仍为项目既有 `17` 条 warning +- 线程三当前状态:待分配 + +- 线程一已完成: + - `src/views/props/props-store/index.vue` + - `src/views/props/props-store/form-edit.vue` +- 对应主要路由: + - 道具管理 / Prop Management + - 道具商店 / Prop Store +- 认领前已复查: + - `src/views/props/props-send-tool/**` 当前由线程二进行中,线程一避让 + - `src/views/props/props-activity-rule-config/**` 当前由线程三进行中,线程一避让 + - `src/views/props/props-store` 目录仅包含入口页和同目录私有表单组件 + - 直接公共组件 `Pagination` 与 `SysOriginIcon` 纳入本轮复核 +- 已完成模块级复核: + - 筛选区、展开详情、表格列头、上下架展示、道具类型/付费类型展示映射、按钮已国际化 + - 弹窗标题、表单标签、placeholder、按钮、校验提示、贵族能力字段与资源更换按钮已国际化 + - 道具类型、付费类型、有效天数、上下架、贵族类型等实际 `value` 均保持不变,仅做展示层映射 + - 接口返回资源名称、资源图片、SVGA 地址、资源 ID 与提交值保持原样 + - `src/views/props/props-store/*.vue` 中文残留扫描通过 +- 页面私有组件状态: + - `src/views/props/props-store/form-edit.vue` 已随入口页同步完成 +- 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核通过 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.propsStore` +- 已完成构建验证: + - `npm run build:prod` + - 构建通过,仍为项目既有 `17` 条 warning +- 本轮未修改: + - 接口参数、查询字段、路由路径、权限码、表格 `prop`、道具类型实际值、付费类型实际值、有效天数实际值、上下架实际值、资源 ID、接口返回资源名称或提交值 +- 线程一当前状态:待分配 + +- 线程一已完成: + - `src/views/cnf/product-v2/index.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 内购配置 / In-App Purchase Configuration + - Google/Apple-V2 / Google/Apple V2 +- 已完成模块级复核: + - 筛选区、搜索/添加按钮、表格加载文案、表格列头、状态展示、弹窗标题、表单标签、placeholder、按钮与校验提示已国际化 + - 上下架采用本地展示映射,`true/false` 实际值保持不变 + - 平台 `AppStore`、`Google`、`Huawei` 等实际值保持不变,仅保留展示原文 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、平台实际值、上下架实际值、区域/系统接口返回动态数据或提交值 + - `src/views/cnf/product-v2/index.vue` 中文残留扫描通过 +- 页面私有组件状态: + - `src/views/cnf/product-v2` 目录当前仅包含 `index.vue`,无页面私有组件 +- 直接公共组件状态: + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.productV2` +- 已完成构建验证: + - `npm run build:prod` + - 构建通过,仍为项目既有 `17` 条 warning +- 线程一当前状态:待分配 + +- 线程二已新认领: + - `src/views/props/props-send-tool/index.vue` + - `src/views/props/props-send-tool/send-props.vue` + - `src/views/props/props-send-tool/send-badge.vue` + - `src/views/props/props-send-tool/send-ticket.vue` +- 对应主要路由: + - 道具管理 / Prop Management + - 道具赠送 / Prop Gift +- 认领前已复查: + - `src/views/cnf/product-v2/index.vue` 当前由线程一进行中,线程二避让 + - `src/views/props/props-activity-rule-config/**` 当前由线程三进行中,线程二避让 + - `src/components/data/PropsSourceSelectPopover/index.vue` 当前中文扫描无命中,作为直接公共组件复核纳入记录 +- 本轮不修改: + - 接口参数、路由路径、权限码、表单提交字段、道具/徽章/道具券实际类型值、贵族来源实际值、资源 ID、接收人提交内容、接口返回资源名称或接口错误内容 +- 线程二当前状态:进行中 + +- 线程一已完成: + - `src/views/cnf/pay/application/index.vue` + - `src/views/cnf/pay/application/app-navigation.vue` + - `src/views/cnf/pay/application/app-manager/index.vue` + - `src/views/cnf/pay/application/app-manager/edit-form.vue` + - `src/views/cnf/pay/application/commodity/index.vue` + - `src/views/cnf/pay/application/commodity/edit-form.vue` + - `src/views/cnf/pay/application/commodity-v2/index.vue` + - `src/views/cnf/pay/application/commodity-v2/edit-form.vue` + - `src/views/cnf/pay/application/order-manager/index.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 内购配置 / In-App Purchase Configuration + - 应用管理 / Application Management +- 已完成模块级复核: + - 应用卡片操作下拉、支付链接、编辑、创建应用、创建时间、返回按钮、商品管理 tab 标题已国际化 + - 应用编辑弹窗标题、类型/Android 链接/iOS 链接表单项、placeholder、按钮与必填校验已国际化 + - 商品管理与商品管理 V2 的筛选区、商品类型展示映射、上下架展示映射、搜索/添加/编辑按钮、表格列头、商品编辑弹窗、价格/限额展示与校验提示已国际化 + - `order-manager` 当前在 tab 配置中被注释,本轮仅处理其可见开发中提示与未使用 prompt 文案;注释掉的历史表格按规则保留 + - 商品类型与上下架采用本地展示映射,`GOLD`、`FREIGHT_GOLD`、`FREIGHT_GOLD_SUPER`、`true/false` 实际值保持不变 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、商品类型/上下架实际值、应用/国家/区域/渠道接口返回动态数据或提交值 + - `src/views/cnf/pay/application/**/*.vue` 中文残留仅剩注释、注释掉的历史表格与注释掉的历史表单块,不属于可见展示文本 +- 页面私有组件状态: + - `app-navigation.vue`、`app-manager/index.vue`、`app-manager/edit-form.vue`、`commodity/index.vue`、`commodity/edit-form.vue`、`commodity-v2/index.vue`、`commodity-v2/edit-form.vue`、`order-manager/index.vue` 已随页面同步完成或复核 +- 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核通过 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核通过 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.payApplication` +- 已完成构建验证: + - `npm run build:prod` + - 构建通过,仍为项目既有 `17` 条 warning +- 线程一当前状态:待分配 + +- 线程一已完成: + - `src/views/cnf/pay/country/index.vue` + - `src/views/cnf/pay/country/associated-channels.vue` + - `src/views/cnf/pay/country/country-select.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 内购配置 / In-App Purchase Configuration + - 开通支付国家 / Enabled Payment Countries +- 已完成模块级复核: + - 筛选区、添加/刷新/关联渠道按钮、表格加载文案、表格列头、行内可点击提示、prompt 标题/按钮/校验提示已国际化 + - 关联渠道弹窗标题、国家货币/美元汇率标签、渠道额度表单标签、placeholder、开关文案与本地校验提示已国际化 + - 国家选择弹窗标题、Transfer 标题与按钮已国际化 + - `shelfStatus` 采用本地展示映射,`true/false` 实际值保持不变 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、国家/渠道实际值、开通/删除提交值或接口返回动态数据 + - `src/views/cnf/pay/country/**/*.vue` 中文残留仅剩注释与注释掉的历史按钮,不属于可见展示文本 +- 页面私有组件状态: + - `src/views/cnf/pay/country/associated-channels.vue` 已随页面同步完成 + - `src/views/cnf/pay/country/country-select.vue` 已随页面同步完成 + - `src/views/cnf/pay/comp/transfer-channel.vue` 历史已完成,本轮复核通过 +- 直接公共组件状态: + - `src/components/Pagination/index.vue`:扫描无中文命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.payOpenCountry` +- 已完成构建验证: + - `npm run build:prod` + - 构建通过,仍为项目既有 `17` 条 warning +- 线程一当前状态:待分配 + +- 线程一已记录兼容问题: + - 本项目自定义 i18n 插件不支持 `$te` + - 渠道管理 / 厂商管理相关渠道类型展示已改为用 `$t(key)` 返回值是否等于原 key 做兜底判断 + - 涉及文件: + - `src/views/cnf/pay/channel/index.vue` + - `src/views/cnf/pay/channel/edit-form.vue` + - `src/views/cnf/pay/factory/associated-channel.vue` + - 说明:该修复用于避免页面运行时报 `this.$te is not a function` 导致空白页 + +- 线程一已完成: + - `src/views/cnf/pay/region-relation/index.vue` +- 对应主要路由: + - 运营管理 / Operations Management + - 内购配置 / In-App Purchase Configuration + - 区域关联支付国家 / Region-Payment Country Relations +- 已完成模块级复核: + - 筛选区、按钮、表格列头、状态展示、弹窗标题、表单标签、placeholder、校验提示与弹窗按钮已国际化 + - 状态下拉与状态列采用本地展示映射,`productConfigShowcase` 原常量值与接口提交值保持不变 + - 未修改接口参数、查询字段、路由路径、权限码、表格 `prop`、布尔提交值或接口返回动态数据 + - `src/views/cnf/pay/region-relation/index.vue` 中文残留扫描通过 +- 页面私有组件状态: + - `src/views/cnf/pay/region-relation` 目录当前仅包含 `index.vue`,无页面私有组件 +- 直接公共组件状态: + - `src/components/Pagination/index.vue`:扫描无中文命中 + - `src/components/SysOriginIcon/index.vue`:扫描无中文命中 +- 已完成语言文件校验: + - `src/lang/messages/pages/en.js` + - `src/lang/messages/pages/zh.js` + - 说明:新增 `pages.payRegionRelation` +- 已完成构建验证: + - `npm run build:prod` + - 构建通过,仍为项目既有 `17` 条 warning +- 线程一当前状态:待分配 ## 2026-05-06 最新同步 @@ -2049,9 +2730,9 @@ - `npm run build:prod` - 说明:当前环境直接执行构建通过,仍保留项目既有 `17` 条 warning,未新增阻塞错误 - 当前认领线程: - - 线程一:待分配,当前未认领新任务;已完成 `src/views/sys/emoji-config/**` 表情管理模块国际化、中文残留扫描、语言文件校验与构建验证 - - 线程二:待分配,当前未认领新任务;已完成 `src/views/sys/invite-user-rule/**` 邀请用户配置模块国际化、语言文件校验与构建验证 - - 线程三:待分配,当前未认领新任务;已完成 `src/views/room/theme/index.vue` 房间主题管理页面国际化、中文残留扫描、语言文件校验与构建验证 + - 线程一:待分配,已完成 `src/views/user/bank-balance/withdraw-diamond-apply/**` 钻石提现申请页面与同目录私有抽屉 + - 线程二:待分配,当前未认领新任务;已完成 `src/views/team/team-member/**` 主播成员页面国际化、直接组件复核、语言文件校验与构建验证 + - 线程三:待分配,当前未认领新任务;已完成 `src/views/user/bank-balance/table/**` 用户银行账户页面国际化、直接组件复核、语言文件校验与构建验证 ## 扫描概况 diff --git a/src/lang/messages/pages/en.js b/src/lang/messages/pages/en.js index ac041fd..b33bca3 100644 --- a/src/lang/messages/pages/en.js +++ b/src/lang/messages/pages/en.js @@ -3260,6 +3260,65 @@ export default { permanent: 'Permanent' } }, + propsSendTool: { + title: { + props: 'Send Props', + badge: 'Send Badge', + ticket: 'Send Prop Coupon' + }, + form: { + receiver: 'Recipient', + system: 'System', + type: 'Type', + resource: 'Resource', + vipOrigin: 'Noble Source', + validDays: 'Valid Days' + }, + placeholder: { + receiverAccounts: 'Enter user short accounts. Separate multiple short accounts with English commas. Up to 15 short accounts per batch.', + system: 'System', + type: 'Type', + vipOrigin: 'Noble Source', + validDays: 'Positive numbers grant, negative numbers reclaim' + }, + action: { + send: 'Send' + }, + propsTypes: { + AVATAR_FRAME: 'Avatar Frame', + RIDE: 'Ride', + NOBLE_VIP: 'Noble VIP', + THEME: 'Theme', + LAYOUT: 'Decoration', + CHAT_BUBBLE: 'Chat Bubble', + FLOAT_PICTURE: 'Floating Picture', + FRAGMENTS: 'Fragments', + DATA_CARD: 'Profile Card', + SPECIAL_ID: 'Special ID', + CUSTOMIZE: 'Custom (Read-only)' + }, + badgeTypes: { + ACHIEVEMENT: 'User - Achievement Badge', + ADMINISTRATOR: 'User - Administrator', + ACTIVITY: 'User - Activity Badge', + HONOR_ADMIN: 'Honor - Administrator', + HONOR_ACTIVITY: 'Honor - Activity' + }, + vipOrigin: { + SYSTEM_GIVE: 'System Gift', + BUY_OR_GIVE: 'Purchase or Friend Gift', + ACTIVITY_AWARD: 'Activity Reward' + }, + validation: { + requiredField: 'Required field cannot be empty', + validDaysRequired: 'Valid days cannot be empty', + propDaysRequired: 'Prop days cannot be empty', + validNumber: 'Please enter a valid number' + }, + message: { + invalidShortAccounts: 'Invalid short accounts: {accounts}. Please fix them and resend all short accounts in the current batch.' + } + }, propsSourceSelectPopover: { placeholder: { keyword: 'Enter keywords to filter' @@ -5417,6 +5476,1299 @@ export default { loading: 'Loading' } }, + payRegionRelation: { + placeholder: { + system: 'System', + region: 'Region', + status: 'Status', + select: 'Please select' + }, + action: { + search: 'Search', + add: 'Add', + edit: 'Edit', + cancel: 'Cancel', + save: 'Save' + }, + table: { + system: 'System', + region: 'Region', + relatedData: 'Related Data', + status: 'Status', + actions: 'Actions' + }, + form: { + region: 'Region', + enabledCountries: 'Enabled Countries', + status: 'Status' + }, + dialog: { + addTitle: 'Add Region-Payment Country Relation', + editTitle: 'Edit Region-Payment Country Relation' + }, + status: { + enabled: 'Enabled', + disabled: 'Disabled' + }, + statusOptions: { + true: 'Enabled', + false: 'Disabled' + }, + validation: { + selectRelatedData: 'Please select related data', + selectRegion: 'Please select a region' + }, + word: { + loading: 'Loading' + } + }, + payOpenCountry: { + action: { + add: 'Add', + refresh: 'Refresh', + associateChannels: 'Associate Channels', + inputCurrency: 'Enter Currency', + inputExchangeRate: 'Enter Exchange Rate', + inputSortWeight: 'Enter Sort Weight', + confirm: 'Confirm', + cancel: 'Cancel', + delete: 'Remove', + enable: 'Enable' + }, + table: { + countryInfo: 'Country Info', + countryName: 'Country Name', + currency: 'Currency', + usdExchangeRate: 'USD Exchange Rate (?=$)', + sortWeight: 'Sort Weight', + shelf: 'Enable / Disable', + actions: 'Actions' + }, + shelfStatus: { + true: 'Enabled', + false: 'Disabled' + }, + prompt: { + title: 'Prompt', + inputSortWeight: 'Please enter a new sort weight', + inputCurrency: 'Please enter a new country currency code', + inputExchangeRate: 'Please enter a new USD exchange rate' + }, + validation: { + sortRange: 'Range: 0-99999', + exchangeRateRange: 'Range: 0-99999, up to 8 decimal places', + amountRange: 'Range: 0-99999999, up to 2 decimal places', + currencyPointRange: 'Currency decimal point range: 0-6' + }, + word: { + loading: 'Loading' + }, + associated: { + dialogTitle: 'Associated Channels', + separator: ',', + currency: 'Currency', + usdExchangeRate: 'USD Exchange Rate', + form: { + minLimit: 'Minimum Amount', + maxLimit: 'Maximum Amount', + dailyLimit: 'Daily Limit', + factoryChannel: 'Third-party Channel Code', + currencyPoint: 'Currency Decimal Point (Unused)', + enabled: 'Enabled' + }, + placeholder: { + minLimit: 'Minimum limit', + maxLimit: 'Maximum limit', + dailyLimit: 'Daily limit', + factoryChannel: 'Please enter third-party provider channel code', + currencyPoint: 'Currency decimal point, default 2' + }, + switch: { + on: 'On', + off: 'Off' + } + }, + countrySelect: { + dialogTitle: 'Select Countries', + available: 'Available', + selected: 'Selected' + } + }, + payApplication: { + action: { + actions: 'Actions', + paymentLink: 'Payment Link', + edit: 'Edit', + add: 'Add', + search: 'Search', + save: 'Save', + cancel: 'Cancel', + confirm: 'Confirm', + back: 'Back', + createApplication: 'Create New Application' + }, + tabs: { + commodity: 'Product Management', + commodityV2: 'Product Management V2', + orderManager: 'Order Management' + }, + table: { + createdAt: 'Created At', + goldAmount: 'Gold Amount', + rewardAmount: 'Reward Amount', + priceUsd: 'Price (USD)', + shelf: 'Enable / Disable', + actions: 'Actions', + region: 'Region' + }, + form: { + type: 'Type', + androidLink: 'Android Link', + iosLink: 'iOS Link', + saleCountry: 'Sale Country', + productType: 'Product Type', + goldAmount: 'Gold Amount', + rewardAmount: 'Reward Amount', + salePrice: 'Sale Price', + paymentChannel: 'Payment Channel', + minLimit: 'Minimum Limit', + maxLimit: 'Maximum Limit', + dailyLimit: 'Daily Limit', + region: 'Region', + status: 'Status' + }, + placeholder: { + system: 'System', + application: 'Application', + country: 'Country', + region: 'Region', + productId: 'Product ID', + androidLink: 'Please enter the Android link', + iosLink: 'Please enter the iOS link', + goldAmount: 'Please enter the gold amount', + rewardAmount: 'Please enter the reward gold amount', + salePrice: 'Please enter the product price' + }, + dialog: { + addApplication: 'Add Application', + editApplication: 'Edit Application', + createProduct: 'Create Product', + editProduct: 'Edit Product' + }, + shelfStatus: { + true: 'Enabled', + false: 'Disabled' + }, + productTypes: { + GOLD: 'Gold', + FREIGHT_GOLD: 'Freight Gold', + FREIGHT_GOLD_SUPER: 'Super Freight Gold' + }, + prompt: { + title: 'Prompt', + inputExchangeRate: 'Please enter a new USD exchange rate' + }, + validation: { + requiredField: 'Required field cannot be empty', + positiveNumberPointTwo: 'Please enter a valid positive number with up to two decimal places', + exchangeRateRange: 'Range: 0-99999, up to 2 decimal places' + }, + message: { + inputValue: 'You entered: {value}', + inputCanceled: 'Input canceled' + }, + word: { + comingSoon: 'Coming soon...', + separator: ', ' + } + }, + productV2: { + action: { + search: 'Search', + add: 'Add', + edit: 'Edit', + save: 'Save', + cancel: 'Cancel' + }, + placeholder: { + system: 'System', + paymentPlatform: 'Payment Platform', + status: 'Status', + region: 'Region', + select: 'Please select', + sort: 'Smaller numbers are displayed first (ascending order)' + }, + table: { + system: 'System', + packageName: 'Package Name', + unitPrice: 'Product Unit Price', + obtainCandy: 'Obtained Candy', + rewardCandy: 'Reward Candy', + platform: 'Platform', + region: 'Region', + description: 'Description', + sort: 'Sort Order', + createdAt: 'Created At', + actions: 'Actions' + }, + form: { + platform: 'Platform', + region: 'Region', + status: 'Status', + packageName: 'Package Name', + unitPrice: 'Product Unit Price', + obtainCandy: 'Obtained Candy', + rewardCandy: 'Reward Candy', + description: 'Description', + sort: 'Sort Order' + }, + dialog: { + addTitle: 'Add In-App Purchase Product', + editTitle: 'Edit In-App Purchase Product' + }, + showcase: { + true: 'On Shelf', + false: 'Off Shelf' + }, + validation: { + systemRequired: 'Please select a system', + statusRequired: 'Please select a status', + regionRequired: 'Please select a region', + packageRequired: 'Please enter the package name', + unitPriceRequired: 'Please enter the unit price', + obtainCandyRequired: 'Please enter the obtained candy amount', + platformRequired: 'Please select a payment platform', + maxManagerRequired: 'Maximum manager count is required', + sortRequired: 'Sort order is required' + } + }, + propsActivityRuleConfig: { + filter: { + system: 'System', + activityType: 'Activity Type', + ruleDescription: 'Rule Description', + resourceGroupId: 'Activity Group ID' + }, + action: { + search: 'Search', + add: 'Add', + edit: 'Edit', + save: 'Save', + cancel: 'Cancel', + delete: 'Delete', + more: 'Actions', + editRule: 'Edit Rule', + associateResources: 'Associate Resources', + upload: 'Upload' + }, + card: { + ruleInfo: 'Rule Information', + sort: 'Sort', + description: 'Description', + rule: 'Rule', + resourceInfo: 'Resource Information 1 ({id})' + }, + form: { + system: 'System', + type: 'Type', + ruleDescription: 'Rule Description', + sort: 'Sort', + quantity: 'Quantity', + mark: 'Mark', + inAppProduct: 'In-App Product', + shelfStatus: 'On/Off Shelf', + game: 'Game', + target: 'Target', + level: 'Level', + milestone: 'Milestone', + icon: 'Icon', + small: 'Small', + medium: 'Medium', + animationResource: 'Animation Resource' + }, + placeholder: { + selectType: 'Please select a type', + selectProduct: 'Please select a product', + selectGame: 'Please select a game', + selectLevel: 'Please select a level', + consumeCandy: '{index}. Candy Cost', + drawTimes: '{index}. Draw Count' + }, + validation: { + requiredField: 'Required field' + }, + confirm: { + title: 'Prompt', + delete: 'Are you sure you want to delete it?' + }, + message: { + saveSuccess: 'Saved successfully', + deleteSuccess: 'Deleted successfully' + }, + symbol: { + colon: ': ' + }, + shelfStatus: { + on: 'On Shelf', + off: 'Off Shelf' + }, + tips: { + cumulativeRechargeLottery: 'Required recharge amount for lottery, for example: 9.9', + uploadSvgaPag: 'Only SVGA/PAG files can be uploaded' + }, + activityTypes: { + THE_BIG_WHEEL: 'Big Wheel', + INDEPENDENCE_DAY_OF_INDIA: 'India Independence Day', + ACTIVITY_FRIENDSHIP_CARD_REWARDS: 'Friendship Card Ranking Event', + INVITE_USER_REWARDS: 'Invite User Count Reward', + STAR: 'Weekly Star', + WEEK_STAR: 'Weekly Star Reward', + CUMULATIVE_RECHARGE: 'Cumulative Recharge', + CRYSTAL: 'Crystal Burst', + CRYSTAL_TOP: 'Crystal Burst Milestone Reward', + CRYSTAL_LUCKY_BOX: 'Crystal Lucky Box Reward', + GAME_EXPLOSION_CRYSTAL: 'Crystal Burst Reward', + ROOM_REWARD: 'Room Reward', + CP_REWARD: 'CP Reward', + FIRST_CHARGE_REWARD: 'First Recharge Reward', + WEEK_CP_GIFT: 'Weekly CP Gift Ranking', + SVIP_REWARD: 'SVIP', + WEEK_KING: 'Weekly King', + WEEK_QUEEN: 'Weekly Queen', + ROOM_PK: 'Room PK', + GAME_KING: 'Game King', + DAILY_REGISTER: 'Daily Check-in', + LUCKY_GIFT_REWARD: 'Lucky Gift Reward', + APRIL_ACTIVITY_FRAGMENT: 'Five Blessings Fragment', + CUMULATIVE_RECHARGE_LOTTERY: 'Cumulative Recharge Lottery Prize', + WEEKLY_GAME_TASKS: 'Weekly Game Tasks', + ACTIVE_AGENT_ANCHOR_COUNT_REWARD: 'Agent Host Count Milestone Reward', + ACTIVE_AGENT_MONTH_TARGET_REWARD: 'Monthly Points Reward for Hosts Under Agent', + ACTIVE_ANCHOR_MONTH_TARGET_REWARD: 'Host Monthly Points Reward', + ACTIVE_ANCHOR_DAY_TARGET_REWARD: 'Host Daily Points Reward', + GAME_KTV_WEEK_RANK_REWARD: 'KTV Game Weekly Ranking Reward', + AGENT_ACTIVE_WEEK_REWARD: 'Agent Activity Reward - Weekly', + AGENT_ACTIVE_MONTH_REWARD: 'Agent Activity Reward - Monthly', + CONSUMPTION_ACTIVITY: 'Consumption Event', + ROOM_FAN_VOTES_ACTIVITY: 'Room Fan Popularity Vote', + ACTIVITY_COUNTRY_PK: 'Country Flag PK Event', + USER_RECHARGE_DRAW: 'Recharge Lottery Event', + USER_RECHARGE_DRAW_REWARD: 'User Recharge Lottery Reward', + NEWCOMER_GIFT_PACKAGE: 'Newcomer Gift Package', + GAME_KING_BADGE: 'Game King Badge Reward', + GAME_KING_HONOR: 'Game King Honor Reward', + ACTIVITY_WORLD_CUP_REWARDS: 'World Cup Event Reward', + GAME_FRUIT_BOX_REWARD_WIN: 'Fruit Game Box Win Reward', + GAME_FRUIT_BOX_REWARD_TIMES: 'Fruit Game Box Draw Count Reward' + } + }, + propsStore: { + filter: { + system: 'System', + propsType: 'Prop Type', + shelfStatus: 'Shelf Status', + currencyType: 'Payment Type', + commodityId: 'Product ID', + resourceId: 'Resource ID' + }, + section: { + resourceInfo: 'Resource Info', + nobleAbility: 'Noble Abilities' + }, + table: { + platform: 'Platform', + currencyType: 'Payment Type', + validDays: 'Valid Days', + cover: 'Cover', + shelfStatus: 'Shelf Status', + label: 'Label', + sort: 'Sort', + createTime: 'Created At', + updateTime: 'Updated At', + actions: 'Actions' + }, + detail: { + code: 'Code', + name: 'Name', + basePrice: 'Base Price', + shelfStatus: 'Shelf Status', + salePrice: 'Sale Price', + originalPrice: 'Original Price', + discountedPrice: 'Discounted Price', + memberCount: 'Member Count', + loginRewardCount: 'Login Reward Count', + props: 'Props' + }, + form: { + system: 'System', + propsType: 'Prop Type', + propsResource: 'Prop Resource', + currencyType: 'Payment Type', + validDays: 'Valid Days', + label: 'Label', + discount: 'Discount', + sort: 'Sort', + shelfStatus: 'Shelf Status', + vipType: 'VIP Type', + loginReward: 'Login Reward', + vipLevel: 'VIP Level', + adminCount: 'Admin Count', + roomMemberCount: 'Room Member Count' + }, + placeholder: { + type: 'Type', + label: 'Please enter a label', + sort: 'Larger numbers appear first', + vipType: 'Noble Type' + }, + action: { + search: 'Search', + add: 'Add', + edit: 'Edit', + save: 'Save', + cancel: 'Cancel', + changeResource: 'Change Resource' + }, + status: { + onShelf: 'On Shelf', + offShelf: 'Off Shelf' + }, + propsTypes: { + AVATAR_FRAME: 'Avatar Frame', + RIDE: 'Ride', + NOBLE_VIP: 'Noble', + THEME: 'Theme', + LAYOUT: 'Decoration', + FLOAT_PICTURE: 'Floating Image', + CHAT_BUBBLE: 'Chat Bubble', + DATA_CARD: 'Profile Card' + }, + currencyTypes: { + GOLD: 'Gold', + DIAMOND: 'Diamond', + FREE: 'Free' + }, + nobleVipTypes: { + VISCOUNT: 'Viscount', + EARL: 'Earl', + MARQUIS: 'Marquis', + DUKE: 'Duke', + KING: 'King', + EMPEROR: 'Emperor' + }, + validation: { + required: 'Required field cannot be empty' + } + }, + workStatistics: { + placeholder: { + system: 'System', + longUid: 'Long UID', + shortAccount: 'Short Account', + region: 'Region' + }, + tooltip: { + dateRange: 'Only includes data within the selected start and end dates' + }, + dateRange: { + separator: 'To', + start: 'Start Date', + end: 'End Date' + }, + action: { + search: 'Search' + }, + summary: { + filterTime: 'Filter Time:', + rangeData: 'To {endDate} 00:00:00 data' + }, + table: { + bd: 'BD', + level1Invitation: 'Direct Invites', + level2Invitation: 'Level 2 Invites', + level3Invitation: 'Level 3 Invites', + totalInvitation: 'Total Invites', + totalRechargeGold: 'Total Recharge (Gold)', + bdCustomerUnitPrice: 'BD Average Order Value', + regionAvgCustomerUnitPrice: 'Regional Avg. Order Value', + effectivePerson: 'Effective Users', + region: 'Region', + bdRegionRanking: 'BD Regional Ranking' + }, + word: { + loading: 'Loading' + } + }, + userBankAccounts: { + loading: 'Loading', + filter: { + system: 'System', + userId: 'User ID' + }, + table: { + system: 'System', + user: 'User', + earnPoints: 'Total Earned', + consumptionPoints: 'Total Spent', + balance: 'Balance', + createTime: 'Created At', + updateTime: 'Updated At', + actions: 'Actions' + }, + action: { + search: 'Search', + add: 'Add', + edit: 'Edit', + export: 'Export', + import: 'Import', + send: 'Send', + deduct: 'Deduct', + transfer: 'Transfer', + transactions: 'Transactions', + loadMore: 'Load More', + allLoaded: 'All loaded', + cancel: 'Cancel', + submit: 'Submit', + save: 'Save' + }, + dialog: { + createAccount: 'Create Account', + accountTransactions: 'Bank Account Transactions' + }, + form: { + system: 'System', + userId: 'User ID', + amount: 'Amount', + internalRemark: 'Internal Remark', + payee: 'Payee' + }, + placeholder: { + sendAmount: 'Please enter send amount', + deductAmount: 'Please enter deduction amount', + internalRemark: 'Please enter an internal remark', + userAccount: 'User Account', + transferAmount: 'Please enter transfer amount' + }, + validation: { + required: 'Required field', + requiredField: 'Required field cannot be empty' + }, + importDialog: { + title: 'Import Data', + selectFile: 'Please select an import file:', + downloadTemplate: 'Download Template', + dragHere: 'Drag the file here, or ', + clickUpload: 'click to upload' + }, + message: { + downloadFailed: 'Download failed', + importing: 'Importing...', + importSuccess: 'Imported successfully', + importFailed: 'Import failed. Please try again.' + } + }, + userBankRunningWater: { + loading: 'Loading', + filter: { + system: 'System', + userId: 'User ID', + type: 'Type', + event: 'Event' + }, + date: { + to: 'to', + start: 'Start Date', + end: 'End Date' + }, + action: { + search: 'Search', + loadMore: 'Load More', + allLoaded: 'All loaded' + }, + summary: { + amount: 'Amount ($): {amount}' + }, + table: { + system: 'System', + user: 'User', + type: 'Type', + amount: 'Amount', + balance: 'Balance', + event: 'Event', + remark: 'Remark', + createOrigin: 'Create Origin', + createTime: 'Created At' + }, + type: { + income: 'Income', + expense: 'Expense' + }, + transfer: { + payee: 'Payee', + payer: 'Payer' + }, + events: { + WITHDRAW: 'Withdrawal', + TRANSFER: 'Transfer', + TRANSFER_GOLD: 'Gold Transfer', + RECEIVE_TRANSFER: 'Receive Transfer', + SYSTEM_SETTLEMENT_WAGES_AGENT: 'Settle Agent Salary', + SYSTEM_SETTLEMENT_WAGES_MEMBER: 'Settle Host Salary', + EXCHANGE_GOLD_COINS: 'Exchange Gold', + BILL_EXCHANGE_GOLD_COINS: 'Bill Gold Exchange', + SALARY_EXCHANGE_GOLD_COINS: 'Salary Gold Exchange', + SYSTEM_SETTLEMENT_WAGES: 'Settle Member Salary', + SEND_SALARY: 'Backend Import', + SYSTEM_DEDUCT: 'System Deduction', + SYSTEM_COMPENSATE: 'System Compensation', + CREATE_ACCOUNT: 'Create Bank Account', + SYSTEM_AUTOMATIC_DEDUCT_SALARY: 'AUTO - Deduct Host', + SYSTEM_AUTOMATIC_DEDUCT_SALARY_AGENT: 'AUTO - Deduct Agent', + SYSTEM_AUTOMATIC_DEDUCT_SALARY_AGENT_MEMBER: 'AUTO - Deduct Agent Collection', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES: 'AUTO - Host Settlement', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES_AGENT: 'AUTO - Agent Settlement', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES_MEMBER: 'AUTO - Agent Collection' + } + }, + userSalaryDiamond: { + filter: { + system: 'System', + userId: 'User ID', + type: 'Type', + event: 'Event' + }, + date: { + rangeSeparator: 'To', + start: 'Start Date', + end: 'End Date' + }, + table: { + system: 'System', + user: 'User', + type: 'Type', + amount: 'Amount', + balance: 'Balance', + tempBalance: 'Temporary Diamond Balance', + event: 'Event', + remark: 'Remark', + createOrigin: 'Create Origin', + createTime: 'Created At', + updateTime: 'Updated At', + totalIncome: 'Total Income', + totalExpense: 'Total Expense', + actions: 'Actions' + }, + form: { + system: 'System', + userId: 'User ID', + amount: 'Amount', + innerRemark: 'Internal Remark', + payee: 'Payee' + }, + dialog: { + createAccountTitle: 'Create Account', + runningWaterTitle: 'Salary Diamond Transactions' + }, + action: { + search: 'Search', + add: 'Add', + edit: 'Edit', + save: 'Save', + cancel: 'Cancel', + submit: 'Submit', + send: 'Send', + deduct: 'Deduct', + transfer: 'Transfer', + runningWater: 'Transactions' + }, + placeholder: { + sendSalaryDiamond: 'Please enter salary diamonds to send', + deductSalaryDiamond: 'Please enter salary diamonds to deduct', + transferSalaryDiamond: 'Please enter salary diamonds to transfer', + innerRemark: 'Please enter internal remark', + userAccount: 'User Account' + }, + type: { + income: 'Income', + expense: 'Expense' + }, + tag: { + payee: 'Payee', + payer: 'Payer' + }, + events: { + WITHDRAW: 'Withdrawal', + TRANSFER: 'Transfer', + RECEIVE_TRANSFER: 'Receive Transfer', + SYSTEM_SETTLEMENT_WAGES_AGENT: 'Settle Agent Salary', + SYSTEM_SETTLEMENT_WAGES_MEMBER: 'Settle Host Salary', + EXCHANGE_GOLD_COINS: 'Exchange Gold', + BILL_EXCHANGE_GOLD_COINS: 'Bill Gold Exchange', + SALARY_EXCHANGE_GOLD_COINS: 'Salary Gold Exchange', + SYSTEM_SETTLEMENT_WAGES: 'Settle Member Salary', + SEND_SALARY: 'Backend Import', + SYSTEM_DEDUCT: 'System Deduction', + SYSTEM_COMPENSATE: 'System Compensation', + CREATE_ACCOUNT: 'Create Bank Account', + SYSTEM_AUTOMATIC_DEDUCT_SALARY: 'AUTO - Deduct Host', + SYSTEM_AUTOMATIC_DEDUCT_SALARY_AGENT: 'AUTO - Deduct Agent', + SYSTEM_AUTOMATIC_DEDUCT_SALARY_AGENT_MEMBER: 'AUTO - Deduct Agent Collection', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES: 'AUTO - Host Settlement', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES_AGENT: 'AUTO - Agent Settlement', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES_MEMBER: 'AUTO - Agent Collection' + }, + validation: { + required: 'Required field', + requiredNotEmpty: 'Required field cannot be empty' + }, + message: { + amountGreaterThanZero: 'Amount cannot be less than 0' + } + }, + userBankWithdrawMoneyApply: { + filter: { + system: 'System', + bankCardType: 'Card Type', + submitUserId: 'Submitter User ID', + acceptMethod: 'Recipient Type', + status: 'Status' + }, + acceptMethod: { + ONESELF: 'Self', + AGENT: 'Agent', + OTHER: 'Other' + }, + approvalStatus: { + SUBMIT: 'Submitted', + PASS: 'Approved', + NOT_PASS: 'Rejected' + }, + amountType: { + SALARY_DIAMOND: 'Diamond', + MONEY: 'USD' + }, + date: { + rangeSeparator: 'To', + start: 'Start Date', + end: 'End Date' + }, + action: { + search: 'Search', + export: 'Export', + view: 'View', + approval: 'Review', + loadMore: 'Load More', + allLoaded: 'All loaded', + close: 'Close', + cancel: 'Cancel', + pass: 'Approve', + reject: 'Reject' + }, + table: { + system: 'System', + submitUser: 'Submitter', + amount: 'Submitted Amount', + amountType: 'Type', + serviceCharge: 'Service Fee (%)', + actualAmount: 'Actual Withdrawal Amount', + acceptMethod: 'Receiving Method', + approvalStatus: 'Latest Review Status', + createTime: 'Created At', + actions: 'Actions' + }, + exportDialog: { + title: 'Export Conditions', + system: 'System', + bankCardType: 'Card Type', + user: 'User', + status: 'Status', + time: 'Time', + limit: 'Quantity', + limitPlaceholder: 'Export quantity' + }, + approvalDrawer: { + title: 'Review Withdrawal Application', + submitUser: 'Submitter', + bankCard: 'Bank Card', + cardNo: 'Card No.', + payee: 'Payee', + bankName: 'Bank', + bankCardDeleted: 'This bank card has been deleted by the user', + amount: 'Withdrawal Amount', + settlement: 'Settlement', + transferVoucherTip: 'Transfer voucher: screenshot record after the settlement operator sends USD or other currencies', + remarkTip: 'Remark: external note shown for this bill', + uploadVoucher: 'Upload Voucher', + externalRemark: 'External Remark', + externalRemarkPlaceholder: 'Please enter an external remark' + }, + detailsDrawer: { + title: 'Withdrawal Application Details', + submitUser: 'Submitter', + bankCard: 'Bank Card', + cardNo: 'Card No.', + payee: 'Payee', + bankName: 'Bank', + bankCardRisk: 'This bank card may have been deleted by the user or has not passed verification. Please verify it.', + amount: 'Withdrawal Amount', + serviceCharge: 'Service Fee (%)', + actualAmount: 'Actual Withdrawal Amount', + voucher: 'Vouchers', + approvalRecords: 'Review Records', + remark: 'Remark' + }, + approvalRecord: { + SUBMIT: 'User Submitted', + PASS: 'Approved', + NOT_PASS: 'Rejected', + UNKNOWN: 'Unknown' + }, + validation: { + requiredField: 'Required field cannot be empty' + }, + message: { + exporting: 'Export in progress, please wait', + downloadFailed: 'Download failed', + processing: 'Processing, please wait', + uploadVoucherFirst: 'Please upload the transfer voucher first' + } + }, + userBankWithdrawGoldApply: { + filter: { + system: 'System', + submitUserId: 'Submitter User ID', + acceptUserId: 'Recipient User ID', + acceptAccount: 'Type' + }, + acceptAccount: { + GOLD: 'Self', + FREIGHT: 'Freight Agent Account' + }, + date: { + rangeSeparator: 'To', + start: 'Start Date', + end: 'End Date' + }, + action: { + search: 'Search', + loadMore: 'Load More', + allLoaded: 'All loaded' + }, + table: { + system: 'System', + submitUser: 'Submitter', + acceptUser: 'Recipient', + acceptAccount: 'Receiving Method', + amount: 'Submitted Amount', + exchangeRate: 'Exchange Rate', + goldQuantity: 'Gold Received', + createTime: 'Created At', + createDate: 'Created Date' + } + }, + automaticSalaryPaymentRecord: { + filter: { + system: 'System', + userId: 'User ID', + selectMonth: 'Select Month' + }, + date: { + format: 'yyyy MM' + }, + action: { + search: 'Search', + view: 'View', + viewDetails: 'View Details', + viewRemarks: 'View Remarks' + }, + table: { + system: 'System', + user: 'User', + dateNumber: 'Month', + createTime: 'Created At', + updateTime: 'Updated At', + actions: 'Actions' + }, + detailsDrawer: { + title: 'Auto Salary Details ({dateNumber})', + table: { + system: 'System', + region: 'Region', + policyLevel: 'Policy Level', + target: 'User Target', + salary: 'Salary', + expectedReceiver: 'Expected Salary Recipient', + actualReceiver: 'Actual Salary Recipient', + hostSalaryToAgent: 'Collected by Captain', + recycled: 'Recycled', + createTime: 'Created At', + updateTime: 'Updated At', + actions: 'Actions' + } + }, + policyDrawer: { + title: 'Details', + sections: { + captain: 'Captain', + member: 'Member', + refundUser: 'Refund User', + billInfo: 'Bill Information', + remarks: 'Remarks', + policy: 'Policy: Lv.{level}' + }, + labels: { + recordId: 'Salary Voucher ID', + region: 'Region', + salary: 'Salary ($)', + receiver: 'Salary Recipient', + hostSalaryToAgent: 'Collected by Captain', + recycled: 'Recycled', + actualReceiveAccount: 'Actual Receiving Account', + actualDeductAccount: 'Actual Deduction Account' + } + }, + remarkDrawer: { + title: 'Details', + sections: { + internalRemarks: 'Internal Remarks' + } + }, + words: { + yes: 'Yes', + no: 'No', + captain: 'Captain', + member: 'Member', + collectedByCaptain: 'Collected by Captain', + recycled: 'Recycled', + captainAccount: 'Captain Account', + memberAccount: 'Member Account' + } + }, + userBankDiamondWithdrawGoldApply: { + filter: { + system: 'System', + submitUserId: 'Submitter User ID', + acceptUserId: 'Recipient User ID', + acceptAccount: 'Type' + }, + acceptAccount: { + GOLD: 'Self', + FREIGHT: 'Freight Agent Account' + }, + date: { + rangeSeparator: 'To', + start: 'Start Date', + end: 'End Date' + }, + action: { + search: 'Search', + loadMore: 'Load More', + allLoaded: 'All loaded' + }, + table: { + system: 'System', + submitUser: 'Submitter', + acceptUser: 'Recipient', + acceptAccount: 'Receiving Method', + amount: 'Submitted Amount', + exchangeRate: 'Exchange Rate', + goldQuantity: 'Gold Received', + createTime: 'Created At', + createDate: 'Created Date' + } + }, + userBankWithdrawDiamondApply: { + filter: { + system: 'System', + bankCardType: 'Card Type', + submitUserId: 'Submitter User ID', + acceptMethod: 'Recipient Type', + status: 'Status' + }, + acceptMethod: { + ONESELF: 'Self', + AGENT: 'Agent', + OTHER: 'Other' + }, + approvalStatus: { + SUBMIT: 'Submitted', + PASS: 'Approved', + NOT_PASS: 'Rejected' + }, + amountType: { + SALARY_DIAMOND: 'Diamond', + MONEY: 'USD' + }, + date: { + rangeSeparator: 'To', + start: 'Start Date', + end: 'End Date' + }, + action: { + search: 'Search', + export: 'Export', + view: 'View', + approval: 'Review', + loadMore: 'Load More', + allLoaded: 'All loaded', + close: 'Close', + cancel: 'Cancel', + pass: 'Approve', + reject: 'Reject' + }, + table: { + system: 'System', + submitUser: 'Submitter', + amount: 'Submitted Amount', + amountType: 'Type', + serviceCharge: 'Service Fee (%)', + actualAmount: 'Actual Withdrawal Amount', + acceptMethod: 'Receiving Method', + approvalStatus: 'Latest Review Status', + createTime: 'Created At', + actions: 'Actions' + }, + exportDialog: { + title: 'Export Conditions', + system: 'System', + bankCardType: 'Card Type', + user: 'User', + status: 'Status', + time: 'Time', + limit: 'Quantity', + limitPlaceholder: 'Export quantity' + }, + approvalDrawer: { + title: 'Review Withdrawal Application', + submitUser: 'Submitter', + bankCard: 'Bank Card', + cardNo: 'Card No.', + payee: 'Payee', + bankName: 'Bank', + bankCardDeleted: 'This bank card has been deleted by the user', + amount: 'Withdrawal Amount', + settlement: 'Settlement', + transferVoucherTip: 'Transfer voucher: screenshot record after the settlement operator sends USD or other currencies', + remarkTip: 'Remark: external note shown for this bill', + uploadVoucher: 'Upload Voucher', + externalRemark: 'External Remark', + externalRemarkPlaceholder: 'Please enter an external remark' + }, + detailsDrawer: { + title: 'Withdrawal Application Details', + submitUser: 'Submitter', + bankCard: 'Bank Card', + cardNo: 'Card No.', + payee: 'Payee', + bankName: 'Bank', + bankCardRisk: 'This bank card may have been deleted by the user or has not passed verification. Please verify it.', + amount: 'Withdrawal Amount', + serviceCharge: 'Service Fee (%)', + actualAmount: 'Actual Withdrawal Amount', + voucher: 'Vouchers', + approvalRecords: 'Review Records', + remark: 'Remark' + }, + approvalRecord: { + SUBMIT: 'User Submitted', + PASS: 'Approved', + NOT_PASS: 'Rejected', + UNKNOWN: 'Unknown' + }, + validation: { + requiredField: 'Required field cannot be empty' + }, + message: { + exporting: 'Export in progress, please wait', + downloadFailed: 'Download failed', + processing: 'Processing, please wait', + uploadVoucherFirst: 'Please upload the transfer voucher first' + } + }, + teamMember: { + loading: 'Loading', + placeholder: { + system: 'System', + role: 'Role', + agentId: 'Agent ID', + memberId: 'Member ID', + inactiveDays: 'Inactive Days', + teamAccount: 'Please enter the team account', + remarks: 'Please enter remarks', + contentRatio: 'Please enter the content ratio' + }, + date: { + rangeSeparator: 'To', + start: 'Start Date', + end: 'End Date' + }, + action: { + search: 'Search', + add: 'Add', + delete: 'Delete', + deleteMember: 'Delete Member', + changeTeam: 'Change Team', + editRemarks: 'Edit Remarks', + resetTarget: 'Reset Target', + loadedAll: 'All Loaded', + loadMore: 'Load More', + close: 'Close', + save: 'Save', + check: 'Check', + checkLuckyGiftTarget: 'Check Lucky Gift Target Issue (Peng Shigang)' + }, + table: { + agent: 'Agent', + member: 'Member', + remarks: 'Remarks', + createdBy: 'Created By', + time: 'Time', + actions: 'Actions' + }, + label: { + created: 'Created', + active: 'Active' + }, + dialog: { + addMember: 'Add Member', + changeTeam: 'Change Team', + changeMemberTeam: 'Change Member Team', + editRemarks: 'Edit Remarks', + resetTarget: 'Reset Target' + }, + form: { + agentId: 'Agent ID', + teamAccount: 'Team Account', + memberId: 'Member ID', + remarks: 'Remarks', + timeRange: 'Time Range', + checkAnchor: 'Verify the user was a host when receiving gifts' + }, + alert: { + crossRegion: 'Warning! Switching to an agent team in a different region will delete this host related target work. Please proceed carefully.', + sameRegion: 'Warning! Switching to an agent team in the same region before settlement will migrate related target work.', + resetTarget: 'Note: Resetting targets now will calculate them into the latest unsettled bill. More detailed operations will be improved later.' + }, + confirm: { + deleteMember: 'Are you sure you want to delete this member? Current bill work data will be removed as well.', + restoreTarget: 'Are you sure you want to restore the user target: {target}?', + title: 'Prompt', + confirm: 'Confirm', + cancel: 'Cancel' + }, + validation: { + requiredField: 'Required field cannot be empty' + }, + message: { + processing: 'Processing, please wait', + submitting: 'Submitting, please wait' + } + }, + teamMemberWork: { + loading: 'Loading', + placeholder: { + system: 'System', + billId: 'Bill ID', + agentId: 'Agent ID', + memberId: 'Member ID' + }, + action: { + search: 'Search', + delete: 'Delete', + details: 'Details', + loadMore: 'Load More', + loadedAll: 'All Loaded' + }, + table: { + agent: 'Agent', + member: 'Member', + salaryMode: 'Salary Mode', + period: 'Period', + duration: 'Duration', + effectiveDays: 'Effective Days', + fans: 'Fans', + gifts: 'Gifts', + salaryUsd: 'Salary USD', + salaryDiamonds: 'Salary Diamonds', + time: 'Time', + actions: 'Actions', + sender: 'Sender', + giftQuantity: 'Gift Quantity', + recipientCount: 'Recipients', + spendAmount: 'Spend Amount', + createdTime: 'Created Time' + }, + label: { + agent: 'Agent', + member: 'Member', + mine: 'Mine', + other: 'Other', + received: 'Received', + sent: 'Sent', + memberRemaining: 'Member Remaining', + created: 'Created', + updated: 'Updated', + period: 'Period', + status: 'Status', + myDuration: 'Duration (Mine)', + otherDuration: 'Duration (Other)', + sentGifts: 'Gifts (Sent)', + receivedGifts: 'Gifts (Received)', + fans: 'Fans', + memberSalaryUsd: 'Member Salary USD', + memberSalaryDiamonds: 'Member Salary Diamonds', + agentSalaryUsd: 'Agent Salary USD', + agentSalaryDiamonds: 'Agent Salary Diamonds', + totalSalaryUsd: 'Total Salary USD', + totalSalaryDiamonds: 'Total Salary Diamonds', + exchangedDiamonds: 'Exchanged Diamonds', + remainingDiamonds: 'Remaining Diamonds', + propsReward: 'Prop Rewards', + receiveStatus: 'Receive Status', + receivedReward: 'Received', + pendingReward: 'Pending', + yes: 'Yes', + no: 'No', + effectiveDays: 'Effective Days', + room: 'Room' + }, + section: { + agent: 'Agent', + member: 'Member', + workData: 'Work Data', + dailyWorkData: 'Daily Work Data' + }, + drawer: { + details: 'Details' + }, + dialog: { + giftTransactions: 'Gift Transactions', + roomTransactions: 'Room Transactions' + } + }, + teamDetailsDrawer: { + title: 'Details', + section: { + agent: 'Agent', + settings: 'Settings', + createdBy: 'Created By', + lastOperator: 'Last Operator', + releasePolicy: 'Release Policy' + }, + label: { + status: 'Status', + regionId: 'Region ID', + region: 'Region', + members: 'Members', + teamCountry: 'Country (Team)', + createdTime: 'Created Time', + updatedTime: 'Updated Time' + }, + status: { + available: 'Active', + closed: 'Closed' + } + }, regionConfig: { filter: { system: 'System', diff --git a/src/lang/messages/pages/zh.js b/src/lang/messages/pages/zh.js index 068b868..c2af254 100644 --- a/src/lang/messages/pages/zh.js +++ b/src/lang/messages/pages/zh.js @@ -3257,6 +3257,65 @@ export default { permanent: '永久' } }, + propsSendTool: { + title: { + props: '赠送道具', + badge: '赠送徽章', + ticket: '赠送道具券' + }, + form: { + receiver: '接收人', + system: '选择系统', + type: '选择类型', + resource: '选择资源', + vipOrigin: '贵族来源', + validDays: '有效天数' + }, + placeholder: { + receiverAccounts: "请输入用户【短账号】,多个短账号用英文 ',' 分割(一批最多15个短账号)", + system: '系统', + type: '类型', + vipOrigin: '贵族来源', + validDays: '输入正数为赠送,负数为回收' + }, + action: { + send: '发送' + }, + propsTypes: { + AVATAR_FRAME: '头像框', + RIDE: '座驾', + NOBLE_VIP: '贵族', + THEME: '主题', + LAYOUT: '装扮', + CHAT_BUBBLE: '聊天气泡', + FLOAT_PICTURE: '飘窗', + FRAGMENTS: '碎片', + DATA_CARD: '资料卡', + SPECIAL_ID: '靓号', + CUSTOMIZE: '自定义(只读)' + }, + badgeTypes: { + ACHIEVEMENT: '用户-成就徽章', + ADMINISTRATOR: '用户-管理员', + ACTIVITY: '用户-活动徽章', + HONOR_ADMIN: '荣誉-管理员', + HONOR_ACTIVITY: '荣誉-活动' + }, + vipOrigin: { + SYSTEM_GIVE: '系统赠送', + BUY_OR_GIVE: '购买或朋友赠送', + ACTIVITY_AWARD: '活动奖励' + }, + validation: { + requiredField: '必填字段不可为空', + validDaysRequired: '有效天数不能为空', + propDaysRequired: '道具天数不能为空', + validNumber: '请输入有效数字' + }, + message: { + invalidShortAccounts: '无效短账号: {accounts} 请处理后再将当前批次所有短账号重新发送。' + } + }, propsSourceSelectPopover: { placeholder: { keyword: '请输入关键字进行过滤' @@ -5414,6 +5473,1299 @@ export default { loading: '加载中' } }, + payRegionRelation: { + placeholder: { + system: '系统', + region: '区域', + status: '状态', + select: '请选择' + }, + action: { + search: '搜索', + add: '添加', + edit: '修改', + cancel: '取消', + save: '保存' + }, + table: { + system: '系统', + region: '区域', + relatedData: '关联数据', + status: '状态', + actions: '操作' + }, + form: { + region: '区域', + enabledCountries: '开通国家', + status: '状态' + }, + dialog: { + addTitle: '新增区域支付国家关联', + editTitle: '修改区域支付国家关联' + }, + status: { + enabled: '已上架', + disabled: '已下架' + }, + statusOptions: { + true: '已上架', + false: '已下架' + }, + validation: { + selectRelatedData: '请选择关联数据', + selectRegion: '请选择区域' + }, + word: { + loading: '加载中' + } + }, + payOpenCountry: { + action: { + add: '添加', + refresh: '刷新', + associateChannels: '关联渠道', + inputCurrency: '点击输入货币', + inputExchangeRate: '点击输入汇率', + inputSortWeight: '点击输入权重', + confirm: '确定', + cancel: '取消', + delete: '删除', + enable: '开通' + }, + table: { + countryInfo: '国家信息', + countryName: '国家名称', + currency: '国家货币', + usdExchangeRate: '美元汇率(?=$)', + sortWeight: '展示权重', + shelf: '上/下架', + actions: '操作' + }, + shelfStatus: { + true: '上架', + false: '下架' + }, + prompt: { + title: '提示', + inputSortWeight: '请输入新的权重数', + inputCurrency: '请输入新的国家货币Code', + inputExchangeRate: '请输入新的美元汇率' + }, + validation: { + sortRange: '范围0~99999', + exchangeRateRange: '范围0~99999小数最多八位', + amountRange: '输入支持范围0 ~ 99999999最多2位小数', + currencyPointRange: '货币小数点范围0 ~ 6' + }, + word: { + loading: '加载中' + }, + associated: { + dialogTitle: '关联渠道', + separator: '、', + currency: '国家货币', + usdExchangeRate: '美元汇率', + form: { + minLimit: '最小额度', + maxLimit: '最大额度', + dailyLimit: '每日限额', + factoryChannel: '第三方渠道CODE', + currencyPoint: '货币小数点(暂时没用)', + enabled: '是否启动' + }, + placeholder: { + minLimit: '最小限额', + maxLimit: '最大限额', + dailyLimit: '每日限额', + factoryChannel: '请输入第三方厂商渠道CODE', + currencyPoint: '货币小数点,默认2位' + }, + switch: { + on: '开', + off: '关' + } + }, + countrySelect: { + dialogTitle: '国家选择', + available: '可选', + selected: '已选' + } + }, + payApplication: { + action: { + actions: '操作', + paymentLink: '支付链接', + edit: '编辑', + add: '添加', + search: '搜索', + save: '保存', + cancel: '取消', + confirm: '确定', + back: '返回', + createApplication: '创建新的应用' + }, + tabs: { + commodity: '商品管理', + commodityV2: '商品管理V2', + orderManager: '订单管理' + }, + table: { + createdAt: '创建时间', + goldAmount: '金币数', + rewardAmount: '奖励数', + priceUsd: '价格$', + shelf: '上/下架', + actions: '操作', + region: '区域' + }, + form: { + type: '类型', + androidLink: 'Android链接', + iosLink: 'iOS链接', + saleCountry: '售卖国家', + productType: '商品类型', + goldAmount: '金币数', + rewardAmount: '奖励数', + salePrice: '售卖价格', + paymentChannel: '支付渠道', + minLimit: '最小限额', + maxLimit: '最大限额', + dailyLimit: '每日限额', + region: '区域', + status: '状态' + }, + placeholder: { + system: '系统', + application: '应用', + country: '国家', + region: '区域', + productId: '商品ID', + androidLink: '请输入Android链接', + iosLink: '请输入iOS链接', + goldAmount: '请输入金币数量', + rewardAmount: '请输入奖励金币数量', + salePrice: '请输入商品价格' + }, + dialog: { + addApplication: '添加应用', + editApplication: '修改应用', + createProduct: '创建商品', + editProduct: '修改商品' + }, + shelfStatus: { + true: '上架', + false: '下架' + }, + productTypes: { + GOLD: '金币', + FREIGHT_GOLD: '货运金币', + FREIGHT_GOLD_SUPER: '超级货运' + }, + prompt: { + title: '提示', + inputExchangeRate: '请输入新的美元汇率' + }, + validation: { + requiredField: '必填参数不可为空', + positiveNumberPointTwo: '请输入正确的正数/小数最多两位小数点', + exchangeRateRange: '范围0~99999小数最多两位' + }, + message: { + inputValue: '你输入的是: {value}', + inputCanceled: '取消输入' + }, + word: { + comingSoon: '开发中近期期待...', + separator: '、' + } + }, + productV2: { + action: { + search: '搜索', + add: '添加', + edit: '修改', + save: '保存', + cancel: '取消' + }, + placeholder: { + system: '系统', + paymentPlatform: '支付平台', + status: '状态', + region: '区域', + select: '请选择', + sort: '数字越小越靠前(升序排列)' + }, + table: { + system: '系统', + packageName: '包名', + unitPrice: '产品单价', + obtainCandy: '获得糖果数量', + rewardCandy: '奖励糖果', + platform: '平台', + region: '区域', + description: '描述', + sort: '序号', + createdAt: '创建时间', + actions: '操作' + }, + form: { + platform: '平台', + region: '区域', + status: '状态', + packageName: '包名', + unitPrice: '产品单价', + obtainCandy: '获得糖果数量', + rewardCandy: '奖励糖果', + description: '描述', + sort: '顺序' + }, + dialog: { + addTitle: '新增内购产品', + editTitle: '修改内购产品' + }, + showcase: { + true: '上架', + false: '下架' + }, + validation: { + systemRequired: '请选择系统', + statusRequired: '请选择状态', + regionRequired: '请选择区域', + packageRequired: '请输入包名', + unitPriceRequired: '请输入单价', + obtainCandyRequired: '请输入获得糖果数', + platformRequired: '请选择支付平台', + maxManagerRequired: '最大管理员数必须填写', + sortRequired: '序号必须填写' + } + }, + propsActivityRuleConfig: { + filter: { + system: '系统', + activityType: '活动类型', + ruleDescription: '规则描述', + resourceGroupId: '活动组ID' + }, + action: { + search: '搜索', + add: '新增', + edit: '修改', + save: '保存', + cancel: '取消', + delete: '删除', + more: '操作选项', + editRule: '编辑规则', + associateResources: '关联资源', + upload: '点击上传' + }, + card: { + ruleInfo: '规则信息', + sort: '排序', + description: '描述', + rule: '规则', + resourceInfo: '资源信息1({id})' + }, + form: { + system: '系统', + type: '类型', + ruleDescription: '规则描述', + sort: '排序', + quantity: '数量', + mark: '标识', + inAppProduct: '内购产品', + shelfStatus: '上/下架', + game: '游戏', + target: '目标', + level: '等级', + milestone: '里程碑', + icon: '图标Icon', + small: '小号', + medium: '中号', + animationResource: '动画资源图' + }, + placeholder: { + selectType: '请选择类型', + selectProduct: '请选择产品', + selectGame: '请选择游戏', + selectLevel: '请选择等级', + consumeCandy: '{index}、消耗糖果', + drawTimes: '{index}、抽奖次数' + }, + validation: { + requiredField: '必填字段' + }, + confirm: { + title: '提示', + delete: '确认删除吗?' + }, + message: { + saveSuccess: '保存成功', + deleteSuccess: '删除成功' + }, + symbol: { + colon: ':' + }, + shelfStatus: { + on: '上架', + off: '下架' + }, + tips: { + cumulativeRechargeLottery: '抽奖要求充值金额(列如: 9.9)', + uploadSvgaPag: '只能上传svga/pag文件' + }, + activityTypes: { + THE_BIG_WHEEL: '大转盘', + INDEPENDENCE_DAY_OF_INDIA: '印度独立日', + ACTIVITY_FRIENDSHIP_CARD_REWARDS: '好友关系卡榜单活动', + INVITE_USER_REWARDS: '邀请用户数量奖励', + STAR: '周星', + WEEK_STAR: '周星奖励', + CUMULATIVE_RECHARGE: '累积充值', + CRYSTAL: '爆水晶', + CRYSTAL_TOP: '爆水晶突破奖励', + CRYSTAL_LUCKY_BOX: '爆水晶宝箱奖励', + GAME_EXPLOSION_CRYSTAL: '爆水晶奖励', + ROOM_REWARD: '房间奖励', + CP_REWARD: 'CP奖励', + FIRST_CHARGE_REWARD: '首充奖励', + WEEK_CP_GIFT: '每周CP礼物互送榜', + SVIP_REWARD: 'SVIP', + WEEK_KING: '每周国王', + WEEK_QUEEN: '每周皇后', + ROOM_PK: '房间PK', + GAME_KING: '游戏之王', + DAILY_REGISTER: '每天签到', + LUCKY_GIFT_REWARD: '幸运礼物奖励', + APRIL_ACTIVITY_FRAGMENT: '五福碎片', + CUMULATIVE_RECHARGE_LOTTERY: '累计充值抽奖奖品', + WEEKLY_GAME_TASKS: '每周游戏任务', + ACTIVE_AGENT_ANCHOR_COUNT_REWARD: '代理的主播数量满足奖励', + ACTIVE_AGENT_MONTH_TARGET_REWARD: '代理名下主播累计月积分奖励', + ACTIVE_ANCHOR_MONTH_TARGET_REWARD: '主播月积分奖励', + ACTIVE_ANCHOR_DAY_TARGET_REWARD: '主播日积分奖励', + GAME_KTV_WEEK_RANK_REWARD: 'KTV游戏每周榜单奖励', + AGENT_ACTIVE_WEEK_REWARD: '代理活动奖励-周', + AGENT_ACTIVE_MONTH_REWARD: '代理活动奖励-月', + CONSUMPTION_ACTIVITY: '消耗活动', + ROOM_FAN_VOTES_ACTIVITY: '房间粉丝人气票', + ACTIVITY_COUNTRY_PK: '区域国旗PK活动', + USER_RECHARGE_DRAW: '充值活动抽奖', + USER_RECHARGE_DRAW_REWARD: '用户充值抽奖活动奖励', + NEWCOMER_GIFT_PACKAGE: '新人大礼包', + GAME_KING_BADGE: '游戏王徽章奖励', + GAME_KING_HONOR: '游戏王荣誉奖励', + ACTIVITY_WORLD_CUP_REWARDS: '世界杯活动奖励', + GAME_FRUIT_BOX_REWARD_WIN: '水果游戏宝箱胜利奖励', + GAME_FRUIT_BOX_REWARD_TIMES: '水果游戏宝箱次数奖励' + } + }, + propsStore: { + filter: { + system: '归属系统', + propsType: '道具类型', + shelfStatus: '上/下架', + currencyType: '付费类型', + commodityId: '商品ID', + resourceId: '资源ID' + }, + section: { + resourceInfo: '资源信息', + nobleAbility: '贵族能力' + }, + table: { + platform: '平台', + currencyType: '付费类型', + validDays: '有效天数', + cover: '封面', + shelfStatus: '上/下架', + label: '标签', + sort: '序号', + createTime: '创建时间', + updateTime: '修改时间', + actions: '操作' + }, + detail: { + code: '编号', + name: '名称', + basePrice: '低价', + shelfStatus: '上/下架状态', + salePrice: '低价', + originalPrice: '原低价', + discountedPrice: '折后低价', + memberCount: '成员数量', + loginRewardCount: '登录奖励数', + props: '道具' + }, + form: { + system: '归属系统', + propsType: '道具类型', + propsResource: '道具资源', + currencyType: '付费类型', + validDays: '有效天数', + label: '标签', + discount: '折扣率', + sort: '序号', + shelfStatus: '上/下架', + vipType: 'VIP类型', + loginReward: '登录奖励', + vipLevel: 'VIP等级', + adminCount: '管理员数', + roomMemberCount: '房间成员数' + }, + placeholder: { + type: '类型', + label: '请输入标签', + sort: '序号越大越靠前', + vipType: '贵族类型' + }, + action: { + search: '搜索', + add: '添加', + edit: '修改', + save: '保存', + cancel: '取消', + changeResource: '更换资源' + }, + status: { + onShelf: '上架', + offShelf: '下架' + }, + propsTypes: { + AVATAR_FRAME: '头像框', + RIDE: '座驾', + NOBLE_VIP: '贵族', + THEME: '主题', + LAYOUT: '装扮', + FLOAT_PICTURE: '飘窗', + CHAT_BUBBLE: '聊天气泡', + DATA_CARD: '资料卡' + }, + currencyTypes: { + GOLD: '金币', + DIAMOND: '钻石', + FREE: '免费' + }, + nobleVipTypes: { + VISCOUNT: '子爵', + EARL: '伯爵', + MARQUIS: '侯爵', + DUKE: '公爵', + KING: '国王', + EMPEROR: '皇帝' + }, + validation: { + required: '必填字段不可为空' + } + }, + workStatistics: { + placeholder: { + system: '系统', + longUid: '长UID', + shortAccount: '短账号', + region: '区域' + }, + tooltip: { + dateRange: '仅包含开始时间至结束时间区间的数据' + }, + dateRange: { + separator: '至', + start: '开始日期开始', + end: '结束日期结束' + }, + action: { + search: '搜索' + }, + summary: { + filterTime: '筛选时间:', + rangeData: '至{endDate} 00:00:00 区间的数据' + }, + table: { + bd: 'BD', + level1Invitation: '自己邀请人数(一级邀请)', + level2Invitation: '二级邀请人数', + level3Invitation: '三级邀请人数', + totalInvitation: '邀请总人数', + totalRechargeGold: '总充值(金币)', + bdCustomerUnitPrice: 'BD客单价', + regionAvgCustomerUnitPrice: '区域平均客单价', + effectivePerson: '有效人数', + region: '区域', + bdRegionRanking: 'BD区域排名' + }, + word: { + loading: 'Loading' + } + }, + userBankAccounts: { + loading: '加载中', + filter: { + system: '系统', + userId: '用户ID' + }, + table: { + system: '系统', + user: '用户', + earnPoints: '获得总额', + consumptionPoints: '消费总额', + balance: '余额', + createTime: '创建时间', + updateTime: '修改时间', + actions: '操作' + }, + action: { + search: '搜索', + add: '添加', + edit: '修改', + export: '导出', + import: '导入', + send: '发送', + deduct: '扣除', + transfer: '转账', + transactions: '流水', + loadMore: '加载更多', + allLoaded: '已加载全部', + cancel: '取消', + submit: '提交', + save: '保存' + }, + dialog: { + createAccount: '创建账户', + accountTransactions: '用户银行账户流水' + }, + form: { + system: '系统', + userId: '用户id', + amount: '金额', + internalRemark: '对内备注', + payee: '收款人' + }, + placeholder: { + sendAmount: '请输入发送金额', + deductAmount: '请输入扣除金额', + internalRemark: '请输入对内备注', + userAccount: '用户账号', + transferAmount: '请输入转账金额' + }, + validation: { + required: '必填字段', + requiredField: '必填字段不可为空' + }, + importDialog: { + title: '导入数据', + selectFile: '请选择导入文件:', + downloadTemplate: '模板下载', + dragHere: '将文件拖到此处,或', + clickUpload: '点击上传' + }, + message: { + downloadFailed: '下载失败!', + importing: '正在导入...', + importSuccess: '导入成功', + importFailed: '导入失败,请重试!' + } + }, + userBankRunningWater: { + loading: '加载中', + filter: { + system: '系统', + userId: '用户ID', + type: '类型', + event: '事件' + }, + date: { + to: '至', + start: '日期开始', + end: '日期结束' + }, + action: { + search: '搜索', + loadMore: '加载更多', + allLoaded: '已加载全部' + }, + summary: { + amount: '金额($): {amount}' + }, + table: { + system: '系统', + user: '用户', + type: '类型', + amount: '数量', + balance: '余额', + event: '事件', + remark: '备注', + createOrigin: '创建源', + createTime: '创建时间' + }, + type: { + income: '收入', + expense: '支出' + }, + transfer: { + payee: '收款人', + payer: '付款人' + }, + events: { + WITHDRAW: '提现', + TRANSFER: '转账', + TRANSFER_GOLD: '转账金币', + RECEIVE_TRANSFER: '接收转账', + SYSTEM_SETTLEMENT_WAGES_AGENT: '结算代理工资', + SYSTEM_SETTLEMENT_WAGES_MEMBER: '结算主播工资', + EXCHANGE_GOLD_COINS: '兑换金币', + BILL_EXCHANGE_GOLD_COINS: '账单兑换金币', + SALARY_EXCHANGE_GOLD_COINS: '工资兑换金币', + SYSTEM_SETTLEMENT_WAGES: '结算成员工资', + SEND_SALARY: '后台导入', + SYSTEM_DEDUCT: '系统扣除', + SYSTEM_COMPENSATE: '系统补偿', + CREATE_ACCOUNT: '创建银行账户', + SYSTEM_AUTOMATIC_DEDUCT_SALARY: 'AUTO-扣除主播', + SYSTEM_AUTOMATIC_DEDUCT_SALARY_AGENT: 'AUTO-扣除代理', + SYSTEM_AUTOMATIC_DEDUCT_SALARY_AGENT_MEMBER: 'AUTO-扣除代理代收', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES: 'AUTO-主播结算', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES_AGENT: 'AUTO-代理结算', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES_MEMBER: 'AUTO-代理代收' + } + }, + userSalaryDiamond: { + filter: { + system: '系统', + userId: '用户ID', + type: '类型', + event: '事件' + }, + date: { + rangeSeparator: '至', + start: '日期开始', + end: '日期结束' + }, + table: { + system: '系统', + user: '用户', + type: '类型', + amount: '数量', + balance: '余额', + tempBalance: '临时钻石余额', + event: '事件', + remark: '备注', + createOrigin: '创建源', + createTime: '创建时间', + updateTime: '修改时间', + totalIncome: '获得总额', + totalExpense: '消费总额', + actions: '操作' + }, + form: { + system: '系统', + userId: '用户ID', + amount: '金额', + innerRemark: '对内备注', + payee: '收款人' + }, + dialog: { + createAccountTitle: '创建账户', + runningWaterTitle: '用户工资钻石流水' + }, + action: { + search: '搜索', + add: '添加', + edit: '修改', + save: '保存', + cancel: '取消', + submit: '提交', + send: '发送', + deduct: '扣除', + transfer: '转账', + runningWater: '流水' + }, + placeholder: { + sendSalaryDiamond: '请输入发送工资钻石', + deductSalaryDiamond: '请输入扣除工资钻石', + transferSalaryDiamond: '请输入转账工资钻石', + innerRemark: '请输入对内备注', + userAccount: '用户账号' + }, + type: { + income: '收入', + expense: '支出' + }, + tag: { + payee: '收款人', + payer: '付款人' + }, + events: { + WITHDRAW: '提现', + TRANSFER: '转账', + RECEIVE_TRANSFER: '接收转账', + SYSTEM_SETTLEMENT_WAGES_AGENT: '结算代理工资', + SYSTEM_SETTLEMENT_WAGES_MEMBER: '结算主播工资', + EXCHANGE_GOLD_COINS: '兑换金币', + BILL_EXCHANGE_GOLD_COINS: '账单兑换金币', + SALARY_EXCHANGE_GOLD_COINS: '工资兑换金币', + SYSTEM_SETTLEMENT_WAGES: '结算成员工资', + SEND_SALARY: '后台导入', + SYSTEM_DEDUCT: '系统扣除', + SYSTEM_COMPENSATE: '系统补偿', + CREATE_ACCOUNT: '创建银行账户', + SYSTEM_AUTOMATIC_DEDUCT_SALARY: 'AUTO-扣除主播', + SYSTEM_AUTOMATIC_DEDUCT_SALARY_AGENT: 'AUTO-扣除代理', + SYSTEM_AUTOMATIC_DEDUCT_SALARY_AGENT_MEMBER: 'AUTO-扣除代理代收', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES: 'AUTO-主播结算', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES_AGENT: 'AUTO-代理结算', + SYSTEM_AUTOMATIC_SETTLEMENT_WAGES_MEMBER: 'AUTO-代理代收' + }, + validation: { + required: '必填字段', + requiredNotEmpty: '必填字段不可为空' + }, + message: { + amountGreaterThanZero: '金额不能小于0' + } + }, + userBankWithdrawMoneyApply: { + filter: { + system: '系统', + bankCardType: '卡片类型', + submitUserId: '提交用户ID', + acceptMethod: '类型', + status: '状态' + }, + acceptMethod: { + ONESELF: '自己', + AGENT: '代理', + OTHER: '其他' + }, + approvalStatus: { + SUBMIT: '用户提交', + PASS: '通过', + NOT_PASS: '驳回' + }, + amountType: { + SALARY_DIAMOND: '钻石', + MONEY: '美金' + }, + date: { + rangeSeparator: '至', + start: '日期开始', + end: '日期结束' + }, + action: { + search: '搜索', + export: '导出', + view: '查看', + approval: '审核', + loadMore: '加载更多', + allLoaded: '已加载全部', + close: '关闭', + cancel: '取消', + pass: '通过', + reject: '驳回' + }, + table: { + system: '系统', + submitUser: '提交用户', + amount: '提交金额', + amountType: '类型', + serviceCharge: '手续费(%)', + actualAmount: '实际提现金额', + acceptMethod: '接收方式', + approvalStatus: '最新审核状态', + createTime: '创建时间', + actions: '操作' + }, + exportDialog: { + title: '导出条件', + system: '系统', + bankCardType: '类型', + user: '用户', + status: '状态', + time: '时间', + limit: '数量', + limitPlaceholder: '导出数量' + }, + approvalDrawer: { + title: '审核提现申请', + submitUser: '提交人', + bankCard: '银行卡', + cardNo: '卡号', + payee: '收款人', + bankName: '银行', + bankCardDeleted: '该银行卡已被用户删除', + amount: '提现金额', + settlement: '结算', + transferVoucherTip: '转账凭证: 结算人员发送美元或其他币种后的记录凭证截图', + remarkTip: '备注: 本次账单备注, 对外显示', + uploadVoucher: '凭证上传', + externalRemark: '对外备注', + externalRemarkPlaceholder: '请输入对外备注' + }, + detailsDrawer: { + title: '提现申请详情', + submitUser: '提交人', + bankCard: '银行卡', + cardNo: '卡号', + payee: '收款人', + bankName: '银行', + bankCardRisk: '该银行卡可能已被用户删除或没有通审核,请核实.', + amount: '提现金额', + serviceCharge: '手续费(%)', + actualAmount: '实际提现金额', + voucher: '凭证', + approvalRecords: '审批记录', + remark: '备注' + }, + approvalRecord: { + SUBMIT: '用户提交', + PASS: '审核通过', + NOT_PASS: '审核不通过', + UNKNOWN: '未知' + }, + validation: { + requiredField: '必填字段不可为空' + }, + message: { + exporting: '正在执行导出, 请稍等~', + downloadFailed: '下载失败!', + processing: '正在处理中!', + uploadVoucherFirst: '请上传转账凭证, 请稍等!' + } + }, + userBankWithdrawGoldApply: { + filter: { + system: '系统', + submitUserId: '提交用户ID', + acceptUserId: '接收用户ID', + acceptAccount: '类型' + }, + acceptAccount: { + GOLD: '自己', + FREIGHT: '货运代理账户' + }, + date: { + rangeSeparator: '至', + start: '日期开始', + end: '日期结束' + }, + action: { + search: '搜索', + loadMore: '加载更多', + allLoaded: '已加载全部' + }, + table: { + system: '系统', + submitUser: '提交用户', + acceptUser: '接收用户', + acceptAccount: '接收方式', + amount: '提交金额', + exchangeRate: '兑换比率', + goldQuantity: '获得金币', + createTime: '创建时间', + createDate: '创建日期' + } + }, + automaticSalaryPaymentRecord: { + filter: { + system: '系统', + userId: '用户ID', + selectMonth: '选择日期' + }, + date: { + format: 'yyyy 年 MM 月' + }, + action: { + search: '搜索', + view: '查看', + viewDetails: '查看明细', + viewRemarks: '查看备注' + }, + table: { + system: '系统', + user: '用户', + dateNumber: '年月', + createTime: '创建时间', + updateTime: '修改时间', + actions: '操作' + }, + detailsDrawer: { + title: '自动发送工资详情({dateNumber})', + table: { + system: '系统', + region: '区域', + policyLevel: '政策等级', + target: '用户目标', + salary: '工资', + expectedReceiver: '应收工资用户', + actualReceiver: '实际接收工资用户', + hostSalaryToAgent: '团长代收', + recycled: '已收回', + createTime: '创建时间', + updateTime: '修改时间', + actions: '操作' + } + }, + policyDrawer: { + title: '详情', + sections: { + captain: '团长', + member: '成员', + refundUser: '退款用户', + billInfo: '账单信息', + remarks: '备注', + policy: '政策: Lv.{level}' + }, + labels: { + recordId: '工资凭据ID', + region: '区域', + salary: '工资($)', + receiver: '工资接收方', + hostSalaryToAgent: '是否团长代收', + recycled: '是否已收回', + actualReceiveAccount: '实际收款账户', + actualDeductAccount: '实际扣款账户' + } + }, + remarkDrawer: { + title: '详情', + sections: { + internalRemarks: '内部备注' + } + }, + words: { + yes: '是', + no: '否', + captain: '团长', + member: '成员', + collectedByCaptain: '代收', + recycled: '已收回', + captainAccount: '团长账户', + memberAccount: '成员账户' + } + }, + userBankDiamondWithdrawGoldApply: { + filter: { + system: '系统', + submitUserId: '提交用户ID', + acceptUserId: '接收用户ID', + acceptAccount: '类型' + }, + acceptAccount: { + GOLD: '自己', + FREIGHT: '货运代理账户' + }, + date: { + rangeSeparator: '至', + start: '日期开始', + end: '日期结束' + }, + action: { + search: '搜索', + loadMore: '加载更多', + allLoaded: '已加载全部' + }, + table: { + system: '系统', + submitUser: '提交用户', + acceptUser: '接收用户', + acceptAccount: '接收方式', + amount: '提交金额', + exchangeRate: '兑换比率', + goldQuantity: '获得金币', + createTime: '创建时间', + createDate: '创建日期' + } + }, + userBankWithdrawDiamondApply: { + filter: { + system: '系统', + bankCardType: '卡片类型', + submitUserId: '提交用户ID', + acceptMethod: '类型', + status: '状态' + }, + acceptMethod: { + ONESELF: '自己', + AGENT: '代理', + OTHER: '其他' + }, + approvalStatus: { + SUBMIT: '用户提交', + PASS: '通过', + NOT_PASS: '驳回' + }, + amountType: { + SALARY_DIAMOND: '钻石', + MONEY: '美金' + }, + date: { + rangeSeparator: '至', + start: '日期开始', + end: '日期结束' + }, + action: { + search: '搜索', + export: '导出', + view: '查看', + approval: '审核', + loadMore: '加载更多', + allLoaded: '已加载全部', + close: '关闭', + cancel: '取消', + pass: '通过', + reject: '驳回' + }, + table: { + system: '系统', + submitUser: '提交用户', + amount: '提交金额', + amountType: '类型', + serviceCharge: '手续费(%)', + actualAmount: '实际提现金额', + acceptMethod: '接收方式', + approvalStatus: '最新审核状态', + createTime: '创建时间', + actions: '操作' + }, + exportDialog: { + title: '导出条件', + system: '系统', + bankCardType: '类型', + user: '用户', + status: '状态', + time: '时间', + limit: '数量', + limitPlaceholder: '导出数量' + }, + approvalDrawer: { + title: '审核提现申请', + submitUser: '提交人', + bankCard: '银行卡', + cardNo: '卡号', + payee: '收款人', + bankName: '银行', + bankCardDeleted: '该银行卡已被用户删除', + amount: '提现金额', + settlement: '结算', + transferVoucherTip: '转账凭证: 结算人员发送美元或其他币种后的记录凭证截图', + remarkTip: '备注: 本次账单备注, 对外显示', + uploadVoucher: '凭证上传', + externalRemark: '对外备注', + externalRemarkPlaceholder: '请输入对外备注' + }, + detailsDrawer: { + title: '提现申请详情', + submitUser: '提交人', + bankCard: '银行卡', + cardNo: '卡号', + payee: '收款人', + bankName: '银行', + bankCardRisk: '该银行卡可能已被用户删除或没有通审核,请核实.', + amount: '提现金额', + serviceCharge: '手续费(%)', + actualAmount: '实际提现金额', + voucher: '凭证', + approvalRecords: '审批记录', + remark: '备注' + }, + approvalRecord: { + SUBMIT: '用户提交', + PASS: '审核通过', + NOT_PASS: '审核不通过', + UNKNOWN: '未知' + }, + validation: { + requiredField: '必填字段不可为空' + }, + message: { + exporting: '正在执行导出, 请稍等~', + downloadFailed: '下载失败!', + processing: '正在处理中!', + uploadVoucherFirst: '请上传转账凭证, 请稍等!' + } + }, + teamMember: { + loading: '加载中', + placeholder: { + system: '归属系统', + role: '角色', + agentId: '代理ID', + memberId: '成员ID', + inactiveDays: '不活跃天数', + teamAccount: '请输入团队账号', + remarks: '请输入备注', + contentRatio: '请输入内容比例' + }, + date: { + rangeSeparator: '至', + start: '开始日期开始', + end: '结束日期结束' + }, + action: { + search: '搜索', + add: '新增', + delete: '删除', + deleteMember: '删除成员', + changeTeam: '更换团队', + editRemarks: '修改备注', + resetTarget: '重置目标', + loadedAll: '已加载全部', + loadMore: '加载更多', + close: '关闭', + save: '保存', + check: '检测', + checkLuckyGiftTarget: '(彭石刚)检测幸运礼物目标问题' + }, + table: { + agent: '代理', + member: '成员', + remarks: '备注', + createdBy: '创建人', + time: '时间', + actions: '操作' + }, + label: { + created: '创建', + active: '活跃' + }, + dialog: { + addMember: '添加成员', + changeTeam: '更换团队', + changeMemberTeam: '变更成员归属团队', + editRemarks: '编辑备注', + resetTarget: '重置目标' + }, + form: { + agentId: '代理ID', + teamAccount: '团队账号', + memberId: '成员ID', + remarks: '备注', + timeRange: '时间范围', + checkAnchor: '验证用户收礼物时段必须是主播身份' + }, + alert: { + crossRegion: '注意!! 切换到【不同区域】代理团队名下: 该主播相关目标工作都将删除,请谨慎操作!', + sameRegion: '注意!! 切换到【相同区域】代理团队名下: 该主播没有结算前进更换代理团队, 相关目标工作都会进行迁移!', + resetTarget: '注意: 当前重置目标将计算到最新未结算账单(更细的操作将在后期完善)' + }, + confirm: { + deleteMember: '是否确认删除, 本期账单工作数据将会同步移除?', + restoreTarget: '是否确认恢复用户目标: {target}?', + title: '提示', + confirm: '确定', + cancel: '取消' + }, + validation: { + requiredField: '必填字段不可为空' + }, + message: { + processing: '正在处理中!', + submitting: '正在提交!' + } + }, + teamMemberWork: { + loading: '加载中', + placeholder: { + system: '归属系统', + billId: '账单ID', + agentId: '代理ID', + memberId: '成员ID' + }, + action: { + search: '搜索', + delete: '删除', + details: '详情', + loadMore: '加载更多', + loadedAll: '已加载全部' + }, + table: { + agent: '代理', + member: '成员', + salaryMode: '工资模式', + period: '周期', + duration: '时长', + effectiveDays: '有效天', + fans: '粉丝', + gifts: '礼物', + salaryUsd: '工资$', + salaryDiamonds: '工资钻石', + time: '时间', + actions: '操作', + sender: '发送人', + giftQuantity: '礼物数量', + recipientCount: '接收人数', + spendAmount: '消费金额', + createdTime: '创建时间' + }, + label: { + agent: '代理', + member: '成员', + mine: '我的', + other: '其他', + received: '收', + sent: '送', + memberRemaining: '成员剩余', + created: '创建', + updated: '修改', + period: '周期', + status: '状态', + myDuration: '时长(我的)', + otherDuration: '时长(其他)', + sentGifts: '礼物(送)', + receivedGifts: '礼物(收)', + fans: '粉丝', + memberSalaryUsd: '成员工资$', + memberSalaryDiamonds: '成员工资钻石', + agentSalaryUsd: '代理工资$', + agentSalaryDiamonds: '代理工资钻石', + totalSalaryUsd: '合计工资$', + totalSalaryDiamonds: '合计工资钻石', + exchangedDiamonds: '已兑换钻石', + remainingDiamonds: '剩余钻石', + propsReward: '道具奖励', + receiveStatus: '领取状态', + receivedReward: '已领取', + pendingReward: '待领取', + yes: 'Yes', + no: 'No', + effectiveDays: '有效天', + room: '房间' + }, + section: { + agent: '代理', + member: '成员', + workData: '工作数据', + dailyWorkData: '每天工作数据' + }, + drawer: { + details: '详情' + }, + dialog: { + giftTransactions: '礼物流水', + roomTransactions: '房间流水' + } + }, + teamDetailsDrawer: { + title: '详情', + section: { + agent: '代理', + settings: '设置资料', + createdBy: '创建用户', + lastOperator: '最近操作用户', + releasePolicy: '发布政策' + }, + label: { + status: '状态', + regionId: '区域ID', + region: '区域', + members: '成员', + teamCountry: '国家(团队)', + createdTime: '创建时间', + updatedTime: '修改时间' + }, + status: { + available: '正常', + closed: '关闭' + } + }, regionConfig: { filter: { system: '系统', diff --git a/src/views/cnf/pay/application/app-manager/edit-form.vue b/src/views/cnf/pay/application/app-manager/edit-form.vue index 2dbd1d5..b36003a 100644 --- a/src/views/cnf/pay/application/app-manager/edit-form.vue +++ b/src/views/cnf/pay/application/app-manager/edit-form.vue @@ -16,12 +16,12 @@ v-loading="submitLoading" style="width: 400px; margin-left:50px;" :model="form" - :rules="rules" + :rules="localizedRules" > - + --> - - + + - - + + @@ -71,7 +71,6 @@ export default { } }, data() { - var commonRequiredParams = [{ required: true, message: '必填参数不可为空', trigger: 'blur' }] return { payChannelGroups, form: { @@ -81,12 +80,6 @@ export default { androidLink: '', iosLink: '' }, - rules: { - appName: commonRequiredParams, - appCode: commonRequiredParams, - androidLink: commonRequiredParams, - iosLink: commonRequiredParams - }, submitLoading: false, iconUploadLoading: false, iconFileList: [] @@ -98,7 +91,16 @@ export default { return !!(this.form && this.form.id) }, title() { - return this.form && this.form.id ? '修改渠道' : '添加渠道' + return this.form && this.form.id ? this.$t('pages.payApplication.dialog.editApplication') : this.$t('pages.payApplication.dialog.addApplication') + }, + localizedRules() { + const requiredRule = { required: true, message: this.$t('pages.payApplication.validation.requiredField'), trigger: 'blur' } + return { + appName: [requiredRule], + appCode: [requiredRule], + androidLink: [requiredRule], + iosLink: [requiredRule] + } }, formChannelIconNotEmpty() { return !!(this.form.channelIcon && this.form.channelIcon.length > 0) diff --git a/src/views/cnf/pay/application/app-manager/index.vue b/src/views/cnf/pay/application/app-manager/index.vue index 731d52c..49e7699 100644 --- a/src/views/cnf/pay/application/app-manager/index.vue +++ b/src/views/cnf/pay/application/app-manager/index.vue @@ -12,11 +12,11 @@
- 操作 + {{ $t('pages.payApplication.action.actions') }} - 支付链接 - 编辑 + {{ $t('pages.payApplication.action.paymentLink') }} + {{ $t('pages.payApplication.action.edit') }}
@@ -30,7 +30,7 @@
- 创建时间: {{ item.createTime | dateFormat }} + {{ $t('pages.payApplication.table.createdAt') }}: {{ item.createTime | dateFormat }}
@@ -38,7 +38,7 @@
- 创建新的应用 + {{ $t('pages.payApplication.action.createApplication') }}
diff --git a/src/views/cnf/pay/application/app-navigation.vue b/src/views/cnf/pay/application/app-navigation.vue index a4823fb..2321527 100644 --- a/src/views/cnf/pay/application/app-navigation.vue +++ b/src/views/cnf/pay/application/app-navigation.vue @@ -2,17 +2,17 @@
- 返回 + {{ $t('pages.payApplication.action.back') }}
- {{ item.title }} + {{ getTabTitle(item) }} @@ -37,12 +37,12 @@ export default { activeName: 'Commodity', tables: [ { - title: '商品管理', + titleKey: 'pages.payApplication.tabs.commodity', icon: 'el-icon-shopping-bag-1', component: 'Commodity' }, { - title: '商品管理V2', + titleKey: 'pages.payApplication.tabs.commodityV2', icon: 'el-icon-shopping-bag-1', component: 'CommodityV2' } @@ -55,6 +55,9 @@ export default { } }, methods: { + getTabTitle(item) { + return item.titleKey ? this.$t(item.titleKey) : item.title + }, clickBack() { this.$emit('back') } diff --git a/src/views/cnf/pay/application/commodity-v2/edit-form.vue b/src/views/cnf/pay/application/commodity-v2/edit-form.vue index d52873c..4901449 100644 --- a/src/views/cnf/pay/application/commodity-v2/edit-form.vue +++ b/src/views/cnf/pay/application/commodity-v2/edit-form.vue @@ -12,12 +12,12 @@
- {{ isUpdate ? '修改商品' : '创建商品' }} + {{ isUpdate ? $t('pages.payApplication.dialog.editProduct') : $t('pages.payApplication.dialog.createProduct') }}
- - + +
{{ regionName }}
- + - + - + - - + + - - + + - - + + - +
@@ -72,19 +72,19 @@
-
售卖价格: {{ computedAmount }} {{ row.country.currency }}
-
售卖价格: {{ amountUsd }} USD
+
{{ $t('pages.payApplication.form.salePrice') }}: {{ computedAmount }} {{ row.country.currency }}
+
{{ $t('pages.payApplication.form.salePrice') }}: {{ amountUsd }} USD
- 最小限额: {{ aItem.countryChannelDetails.computedMinLimit }} {{ row.country.currency }}、 - 最大限额: {{ aItem.countryChannelDetails.computedMaxLimit }} {{ row.country.currency }}、 - 每日限额: {{ aItem.countryChannelDetails.computedDailyLimit }} {{ row.country.currency }} + {{ $t('pages.payApplication.form.minLimit') }}: {{ aItem.countryChannelDetails.computedMinLimit }} {{ row.country.currency }}{{ $t('pages.payApplication.word.separator') }} + {{ $t('pages.payApplication.form.maxLimit') }}: {{ aItem.countryChannelDetails.computedMaxLimit }} {{ row.country.currency }}{{ $t('pages.payApplication.word.separator') }} + {{ $t('pages.payApplication.form.dailyLimit') }}: {{ aItem.countryChannelDetails.computedDailyLimit }} {{ row.country.currency }}
- 最小限额: {{ aItem.countryChannelDetails.factoryMinLimit }} USD、 - 最大限额: {{ aItem.countryChannelDetails.factoryMaxLimit }} USD、 - 每日限额: {{ aItem.countryChannelDetails.factoryDailyLimit }} USD + {{ $t('pages.payApplication.form.minLimit') }}: {{ aItem.countryChannelDetails.factoryMinLimit }} USD{{ $t('pages.payApplication.word.separator') }} + {{ $t('pages.payApplication.form.maxLimit') }}: {{ aItem.countryChannelDetails.factoryMaxLimit }} USD{{ $t('pages.payApplication.word.separator') }} + {{ $t('pages.payApplication.form.dailyLimit') }}: {{ aItem.countryChannelDetails.factoryDailyLimit }} USD
@@ -95,8 +95,8 @@
- 取消 - 保存 + {{ $t('pages.payApplication.action.cancel') }} + {{ $t('pages.payApplication.action.save') }}
@@ -117,14 +117,10 @@ export default { } }, data() { - const commonRules = [ - { required: true, message: '必填字段', trigger: 'blur' } - ] - return { shelfStatus: [ - { value: true, name: '上架' }, - { value: false, name: '下架' } + { value: true, labelKey: 'pages.payApplication.shelfStatus.true' }, + { value: false, labelKey: 'pages.payApplication.shelfStatus.false' } ], productTypeConfs, form: { @@ -136,23 +132,6 @@ export default { regionId: '', shelf: '' }, - formRules: { - applicationId: commonRules, - content: commonRules, - awardContent: commonRules, - type: commonRules, - shelf: commonRules, - amountUsd: { - required: true, - trigger: 'blur', - validator: (rule, value, callback) => { - if (validPositiveNumberPointTwo(value)) { - return callback() - } - return callback(new Error('请输入正确的正数/小数最多两位小数点')) - } - } - }, regionName: '', activeNames: '', submitLoading: false, @@ -165,6 +144,34 @@ export default { computed: { isUpdate() { return this.row && this.row.id + }, + shelfStatusOptions() { + return this.shelfStatus.map(item => ({ + ...item, + label: this.$t(item.labelKey) + })) + }, + localizedRules() { + const commonRules = [ + { required: true, message: this.$t('pages.payApplication.validation.requiredField'), trigger: 'blur' } + ] + return { + applicationId: commonRules, + content: commonRules, + awardContent: commonRules, + type: commonRules, + shelf: commonRules, + amountUsd: { + required: true, + trigger: 'blur', + validator: (rule, value, callback) => { + if (validPositiveNumberPointTwo(value)) { + return callback() + } + return callback(new Error(this.$t('pages.payApplication.validation.positiveNumberPointTwo'))) + } + } + } } }, watch: { @@ -181,6 +188,11 @@ export default { } }, methods: { + getProductTypeName(item) { + const key = `pages.payApplication.productTypes.${item.value}` + const label = this.$t(key) + return label === key ? item.name : label + }, handleClose() { this.$emit('close') }, diff --git a/src/views/cnf/pay/application/commodity-v2/index.vue b/src/views/cnf/pay/application/commodity-v2/index.vue index 1b11404..84febdb 100644 --- a/src/views/cnf/pay/application/commodity-v2/index.vue +++ b/src/views/cnf/pay/application/commodity-v2/index.vue @@ -7,11 +7,11 @@ class="filter-item" @change="changeType" > - + @@ -69,7 +69,7 @@ icon="el-icon-search" @click="handleSearch" > - 搜索 + {{ $t('pages.payApplication.action.search') }} - 添加 + {{ $t('pages.payApplication.action.add') }}
@@ -90,11 +90,11 @@ highlight-current-row > - - - - - + + + + + - + @@ -148,8 +148,8 @@ export default { return { productTypeConfs, shelfStatus: [ - { value: true, name: '上架' }, - { value: false, name: '下架' } + { value: true, labelKey: 'pages.payApplication.shelfStatus.true' }, + { value: false, labelKey: 'pages.payApplication.shelfStatus.false' } ], appCommodityEditFormVisible: false, selectedEditFrom: {}, @@ -173,6 +173,14 @@ export default { loading: false } }, + computed: { + shelfStatusOptions() { + return this.shelfStatus.map(item => ({ + ...item, + label: this.$t(item.labelKey) + })) + } + }, watch: { appInfo: { handler(newVal) { @@ -189,6 +197,11 @@ export default { this.listRegion() }, methods: { + getProductTypeName(item) { + const key = `pages.payApplication.productTypes.${item.value}` + const label = this.$t(key) + return label === key ? item.name : label + }, handleSwitchChange(row) { switchShelfCommodity(row.id, row.shelf) .then((res) => {}) diff --git a/src/views/cnf/pay/application/commodity/edit-form.vue b/src/views/cnf/pay/application/commodity/edit-form.vue index 8191658..e11d1be 100644 --- a/src/views/cnf/pay/application/commodity/edit-form.vue +++ b/src/views/cnf/pay/application/commodity/edit-form.vue @@ -12,33 +12,33 @@
- {{ isUpdate ? '修改商品' : '创建商品' }} + {{ isUpdate ? $t('pages.payApplication.dialog.editProduct') : $t('pages.payApplication.dialog.createProduct') }}
- - + +
{{ row.country.countryName }}
- + - + - - + + - - + + - - + + - +
@@ -56,19 +56,19 @@
-
售卖价格: {{ computedAmount }} {{ row.country.currency }}
-
售卖价格: {{ amountUsd }} USD
+
{{ $t('pages.payApplication.form.salePrice') }}: {{ computedAmount }} {{ row.country.currency }}
+
{{ $t('pages.payApplication.form.salePrice') }}: {{ amountUsd }} USD
- 最小限额: {{ aItem.countryChannelDetails.computedMinLimit }} {{ row.country.currency }}、 - 最大限额: {{ aItem.countryChannelDetails.computedMaxLimit }} {{ row.country.currency }}、 - 每日限额: {{ aItem.countryChannelDetails.computedDailyLimit }} {{ row.country.currency }} + {{ $t('pages.payApplication.form.minLimit') }}: {{ aItem.countryChannelDetails.computedMinLimit }} {{ row.country.currency }}{{ $t('pages.payApplication.word.separator') }} + {{ $t('pages.payApplication.form.maxLimit') }}: {{ aItem.countryChannelDetails.computedMaxLimit }} {{ row.country.currency }}{{ $t('pages.payApplication.word.separator') }} + {{ $t('pages.payApplication.form.dailyLimit') }}: {{ aItem.countryChannelDetails.computedDailyLimit }} {{ row.country.currency }}
- 最小限额: {{ aItem.countryChannelDetails.factoryMinLimit }} USD、 - 最大限额: {{ aItem.countryChannelDetails.factoryMaxLimit }} USD、 - 每日限额: {{ aItem.countryChannelDetails.factoryDailyLimit }} USD + {{ $t('pages.payApplication.form.minLimit') }}: {{ aItem.countryChannelDetails.factoryMinLimit }} USD{{ $t('pages.payApplication.word.separator') }} + {{ $t('pages.payApplication.form.maxLimit') }}: {{ aItem.countryChannelDetails.factoryMaxLimit }} USD{{ $t('pages.payApplication.word.separator') }} + {{ $t('pages.payApplication.form.dailyLimit') }}: {{ aItem.countryChannelDetails.factoryDailyLimit }} USD
@@ -79,8 +79,8 @@
- 取消 - 保存 + {{ $t('pages.payApplication.action.cancel') }} + {{ $t('pages.payApplication.action.save') }}
@@ -100,10 +100,6 @@ export default { } }, data() { - const commonRules = [ - { required: true, message: '必填字段', trigger: 'blur' } - ] - return { productTypeConfs, form: { @@ -114,23 +110,6 @@ export default { amountUsd: '', type: '' }, - formRules: { - applicationId: commonRules, - payCountryId: commonRules, - content: commonRules, - awardContent: commonRules, - type: commonRules, - amountUsd: { - required: true, - trigger: 'blur', - validator: (rule, value, callback) => { - if (validPositiveNumberPointTwo(value)) { - return callback() - } - return callback(new Error('请输入正确的正数/小数最多两位小数点')) - } - } - }, activeNames: '', submitLoading: false, associateLoading: false, @@ -142,6 +121,28 @@ export default { computed: { isUpdate() { return this.row && this.row.id + }, + localizedRules() { + const commonRules = [ + { required: true, message: this.$t('pages.payApplication.validation.requiredField'), trigger: 'blur' } + ] + return { + applicationId: commonRules, + payCountryId: commonRules, + content: commonRules, + awardContent: commonRules, + type: commonRules, + amountUsd: { + required: true, + trigger: 'blur', + validator: (rule, value, callback) => { + if (validPositiveNumberPointTwo(value)) { + return callback() + } + return callback(new Error(this.$t('pages.payApplication.validation.positiveNumberPointTwo'))) + } + } + } } }, watch: { @@ -157,6 +158,11 @@ export default { } }, methods: { + getProductTypeName(item) { + const key = `pages.payApplication.productTypes.${item.value}` + const label = this.$t(key) + return label === key ? item.name : label + }, handleClose() { this.$emit('close') }, diff --git a/src/views/cnf/pay/application/commodity/index.vue b/src/views/cnf/pay/application/commodity/index.vue index ea515a6..aaebc99 100644 --- a/src/views/cnf/pay/application/commodity/index.vue +++ b/src/views/cnf/pay/application/commodity/index.vue @@ -7,11 +7,11 @@ class="filter-item" @change="changeType" > - + @@ -72,7 +72,7 @@ icon="el-icon-search" @click="handleSearch" > - 搜索 + {{ $t('pages.payApplication.action.search') }} - 添加 + {{ $t('pages.payApplication.action.add') }} @@ -94,10 +94,10 @@ highlight-current-row > - - - - + + + + - + @@ -149,8 +149,8 @@ export default { return { productTypeConfs, shelfStatus: [ - { value: true, name: '上架' }, - { value: false, name: '下架' } + { value: true, labelKey: 'pages.payApplication.shelfStatus.true' }, + { value: false, labelKey: 'pages.payApplication.shelfStatus.false' } ], appCommodityEditFormVisible: false, selectedEditFrom: {}, @@ -172,6 +172,14 @@ export default { loadingCountry: false } }, + computed: { + shelfStatusOptions() { + return this.shelfStatus.map(item => ({ + ...item, + label: this.$t(item.labelKey) + })) + } + }, watch: { appInfo: { handler(newVal) { @@ -188,6 +196,11 @@ export default { this.loadOpenCountry() }, methods: { + getProductTypeName(item) { + const key = `pages.payApplication.productTypes.${item.value}` + const label = this.$t(key) + return label === key ? item.name : label + }, handleSwitchChange(row) { switchShelfCommodity(row.id, row.shelf) .then((res) => {}) diff --git a/src/views/cnf/pay/application/index.vue b/src/views/cnf/pay/application/index.vue index 62a41ad..62aab18 100644 --- a/src/views/cnf/pay/application/index.vue +++ b/src/views/cnf/pay/application/index.vue @@ -77,21 +77,21 @@ export default { }, clickEdit() { const that = this - that.$prompt('请输入新的美元汇率', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', + that.$prompt(this.$t('pages.payApplication.prompt.inputExchangeRate'), this.$t('pages.payApplication.prompt.title'), { + confirmButtonText: this.$t('pages.payApplication.action.confirm'), + cancelButtonText: this.$t('pages.payApplication.action.cancel'), inputPattern: /^\d{1,5}(\.\d{0,2})?$/, - inputErrorMessage: '范围0~99999小数最多两位', + inputErrorMessage: this.$t('pages.payApplication.validation.exchangeRateRange'), closeOnClickModal: false }).then(({ value }) => { this.$message({ type: 'success', - message: '你输入的是: ' + value + message: this.$t('pages.payApplication.message.inputValue', { value }) }) }).catch(() => { this.$message({ type: 'info', - message: '取消输入' + message: this.$t('pages.payApplication.message.inputCanceled') }) }) } diff --git a/src/views/cnf/pay/application/order-manager/index.vue b/src/views/cnf/pay/application/order-manager/index.vue index 30e9439..5e11a33 100644 --- a/src/views/cnf/pay/application/order-manager/index.vue +++ b/src/views/cnf/pay/application/order-manager/index.vue @@ -1,6 +1,6 @@