# 线程模板

## 使用方式

- 新开一个并行线程时，把下面内容复制到线程首条消息里，并把“线程名”和“认领文件”替换掉
- 新线程开始前，先读取：
  - `docs/i18n/线程协作.md`
  - `docs/i18n/翻译进度.md`
  - `docs/i18n/翻译清单.md`
  - `docs/i18n/主要路由.md`
- 每次准备领取新任务前，也要重新读取以上 3 份协作文档 + `docs/i18n/主要路由.md`，确认其他线程的认领状态已经写入文档，避免重复领取
- 每次领取任务时，先更新 md 认领记录，再开始改源码；不要先改代码再补文档
- 写入认领记录前和写完后，都要再检查一次以上 3 份协作文档 + `docs/i18n/主要路由.md`，确认没有线程冲突

## 文档定位

- 本文件只负责给新线程提供启动清单与首条消息模板
- 协作规则本体以 `docs/i18n/线程协作.md` 为准
- 主要路由结构与优先核查页面以 `docs/i18n/主要路由.md` 为准
- 进度时间线与文件级状态分别以 `docs/i18n/翻译进度.md`、`docs/i18n/翻译清单.md` 为准

## 启动前补充检查

- 读取 md 或源码时使用：`Get-Content -Raw -Encoding UTF8 <path>`
- 领取任务前先重读 3 份协作文档 + `docs/i18n/主要路由.md`，再决定是否写入新的认领记录
- 领取任务的推荐顺序：重读 3 份协作文档 + `docs/i18n/主要路由.md` -> 确认无人认领 -> 先写 md -> 再读同样的文档集合复查 -> 开始改代码
- 所有线程统一领取优先级：`首页 > docs/i18n/主要路由.md`
- 只要首页或 `docs/i18n/主要路由.md` 中页面仍未完成，就不要跳到其他普通路由
- 读取最新语言文件，避免覆盖别人新增的 key：
  - `src/lang/messages/pages/en.js`
  - `src/lang/messages/pages/zh.js`
- 扫描认领页面是否存在入口 import、局部注册、tab、动态组件、同目录私有子组件、抽屉、弹窗表单；如果有，一并检查中文展示文案并在完成记录里写明私有组件状态
- 构建验证使用：`npm run build:prod`
- 单文件快速扫中文可用：`Select-String -Path <file> -Pattern '[\u4e00-\u9fa5]' -Encoding UTF8`

## 推荐首条消息模板

你是国际化翻译协作中的【线程X】。

请先读取以下文件并基于其内容继续工作：

- `docs/i18n/线程协作.md`
- `docs/i18n/翻译进度.md`
- `docs/i18n/翻译清单.md`
- `docs/i18n/主要路由.md`

本线程当前认领文件：

- `待填写文件路径`

执行要求：

- 只翻译展示文本
- 不改功能逻辑
- 不改接口参数
- 不改路由路径
- 不改权限码
- 不改后端依赖值
- 认领优先级遵守：`首页 > docs/i18n/主要路由.md`
- 认领页面时同步检查该页面直接涉及的 `src/views/**` 页面内组件 / 私有组件
- 如果文本依赖接口返回且当前无法推断，先跳过，并把阻塞写入 md
- 领取任务后，先把认领信息写入 md，确认无冲突后再开始改源码
- 完成后同步更新：
  - `docs/i18n/翻译进度.md`
  - `docs/i18n/翻译清单.md`

完成后输出：

- 已完成文件
- 新增语言 key 范围
- 未处理阻塞项
- 是否已更新 md

## 已沉淀的复用经验

- 页面内资源组/奖励配置类抽屉，优先查看是否可复用 `pages.propsSourceGroupForm`
- 如果 PowerShell 直接读取出现乱码，优先怀疑读取编码，不要急着判断文件损坏
- 如果 `npm run build` 失败，先检查 `package.json`，本项目应改用 `npm run build:prod`
- 多线程认领时，写 md 比改源码优先级更高；认领前后都要复查 3 份协作文档 + `docs/i18n/主要路由.md`，确认没有撞任务
