# CSV自动翻译器 - 实现计划

## [ ] Task 1: 实现小牛翻译API客户端
- **Priority**: P0
- **Depends On**: None
- **Description**: 
  - 实现权限字符串生成（按ASCII码排序参数字段 + MD5加密）
  - 实现批量翻译API调用
  - 支持API Key、AppId配置
- **Success Criteria**:
  - 能正确生成符合小牛API规范的authStr
  - 能成功调用小牛翻译批量接口并返回结果
- **Test Requirements**:
  - `programmatic` TR-1.1: authStr生成算法符合文档规范
  - `programmatic` TR-1.2: API调用能处理响应和错误
- **Notes**: 使用Node.js内置crypto模块实现MD5

## [ ] Task 2: 实现CSV读取和解析逻辑
- **Priority**: P0
- **Depends On**: None
- **Description**: 
  - 使用现有的CSVUtils类读取CSV文件
  - 提取第一列内容作为待翻译文本
  - 检查第三列是否已有内容，跳过已有内容的行
- **Success Criteria**:
  - 能正确读取CSV文件并解析为二维数组
  - 能正确识别需要翻译的行（第三列为空的行）
- **Test Requirements**:
  - `programmatic` TR-2.1: 能正确解析CSV文件
  - `programmatic` TR-2.2: 能正确跳过第三列已有内容的行

## [ ] Task 3: 实现批量翻译和CSV写入
- **Priority**: P0
- **Depends On**: Task 1, Task 2
- **Description**: 
  - 分批翻译待翻译文本（考虑API限制，每批最多50条）
  - 将翻译结果写入第三列
  - 保存更新后的CSV文件
- **Success Criteria**:
  - 翻译结果正确写入CSV第三列
  - 已有内容的行不被覆盖
  - 分批处理符合API限制
- **Test Requirements**:
  - `programmatic` TR-3.1: 翻译结果正确写入
  - `programmatic` TR-3.2: 已有内容不被覆盖
  - `programmatic` TR-3.3: 分批处理正常工作

## [ ] Task 4: 集成和主入口
- **Priority**: P1
- **Depends On**: Task 3
- **Description**: 
  - 整合所有功能
  - 提供清晰的类接口
- **Success Criteria**:
  - 完整的CsvAutoTranslator类
  - 易于使用的API
- **Test Requirements**:
  - `programmatic` TR-4.1: 代码可以正常编译
  - `human-judgment` TR-4.2: 代码风格与项目保持一致
