Files
yoyo/changelog.md
z.to 24ba405d55 feat: add language support and onboard configuration wizard (v0.2.0)
- Add language code intelligent parsing module (internal/lang)
- Support --lang parameter for target language specification
- Support multiple language code formats (BCP47, aliases, Chinese names)
- Implement interactive onboard configuration wizard
- Update Config struct with language fields
- Add survey library dependency for interactive UI
- Improve CLI command interface
- Add comprehensive unit tests for language module
- Update documentation (AGENTS.md, changelog.md, taolun.md, memory.md)

Supported language codes:
- Standard: zh-CN, zh-TW, en-US, en-GB, ja, ko, es, fr, de
- Aliases: cn, en, jp, kr, es, fr, de
- Chinese names: chinese, english, japanese

Commands:
- yoyo "Hello world" - basic translation
- yoyo --lang=cn "Hello world" - specify target language
- yoyo onboard - start configuration wizard
- yoyo onboard --force - force reconfiguration

Version: 0.2.0
2026-03-29 01:30:42 +08:00

175 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 变更日志 (changelog.md)
> 本文档记录所有版本变更,包含功能、修复和讨论链接。
## 使用说明
- 版本号格式:`主版本.次版本.修订版本`(如 `0.0.1`
- 第三位为00-99超过99时增加第二位
- 每个版本包含指向讨论记录的链接
## 未来架构想法
- [ ] 支持流式翻译输出
- [ ] 添加本地缓存减少API调用
- [ ] 实现插件系统支持自定义厂商
- [ ] 支持批量翻译文件
- [ ] 添加Web界面可选
## 待实现
- [ ] 实现硅基流动厂商
- [ ] 实现火山引擎厂商
- [ ] 实现国家超算厂商
- [ ] 实现Qwen厂商
- [ ] 实现OpenAI兼容厂商
- [ ] 配置文件热重载
- [ ] 翻译历史记录
## 当前正实现
- [ ] 项目基础架构搭建
- [ ] 核心类设计实现
## 待修复BUG
-
## 版本历史
### 0.2.0 (2026-03-29) - 语言支持和配置向导
**类型**: 功能版本
**状态**: 开发中
**变更内容**:
- ✅ 添加语言代码智能解析模块 (internal/lang)
- ✅ 支持 `--lang` 参数指定目标语言
- ✅ 支持多种语言代码格式标准BCP47、别名、中文名称
- ✅ 实现 onboard 交互式配置向导
- ✅ 更新配置结构添加语言字段
- ✅ 添加 survey 库依赖用于交互式界面
- ✅ 改进CLI命令行接口
- ✅ 添加语言模块单元测试
**新增文件**:
- `internal/lang/lang.go` - 语言代码解析模块
- `internal/lang/lang_test.go` - 语言模块测试
- `internal/onboard/onboard.go` - 配置向导实现
**支持的语言代码**:
- 标准格式: zh-CN, zh-TW, en-US, en-GB, ja, ko, es, fr, de 等
- 简短别名: cn(中文), en(英文), jp(日文), kr(韩文) 等
- 中文名称: chinese(中文), english(英文), japanese(日文) 等
**使用示例**:
```bash
# 基本翻译
yoyo "Hello world"
yoyo --lang=cn "Hello world"
yoyo --lang=en "你好世界"
yoyo --lang=zh-TW "Hello world"
# 配置向导
yoyo onboard
yoyo onboard --force
```
**讨论记录**:
- [语言代码解析设计](taolun.md#语言代码解析设计)
- [onboard配置向导](taolun.md#onboard配置向导)
**下一步**:
- 实现更多厂商火山引擎、国家超算、Qwen、OpenAI兼容
- 添加配置文件路径查找机制
- 实现配置文件迁移工具
- 完善错误处理和用户体验
### 0.0.3 (2026-03-29) - 环境变量加载修复
**类型**: 修复版本
**状态**: 开发中
**变更内容**:
- ✅ 修复环境变量加载问题
- ✅ 添加godotenv依赖
- ✅ 更新memory.md记录踩坑经验
- ✅ 测试CLI基本功能
**讨论记录**:
- [环境变量加载修复](taolun.md#2026-03-29-0000-版本-003-环境变量加载修复)
**下一步**:
- 实现更多厂商
- 添加更多测试
- 完善错误处理
### 0.0.2 (2026-03-28) - 核心架构实现
**类型**: 功能版本
**状态**: 开发中
**变更内容**:
- ✅ 实现Config配置类internal/config/config.go
- ✅ 实现Provider接口和工厂模式internal/provider/
- ✅ 实现硅基流动厂商internal/provider/siliconflow.go
- ✅ 实现Translator核心翻译类internal/translator/
- ✅ 实现Prompt管理器internal/translator/prompt.go
- ✅ 创建CLI入口点cmd/yoyo/main.go
- ✅ 添加配置文件模板configs/config.yaml
- ✅ 添加单元测试internal/config/config_test.go
- ✅ 初始化Git仓库和版本标签
**讨论记录**:
- [实现核心架构](taolun.md#2026-03-28-2350-版本-002-实现核心架构)
**下一步**:
- 实现其他厂商火山引擎、国家超算、Qwen、OpenAI兼容
- 添加更多测试
- 实现批量翻译功能
- 添加翻译历史记录
- 实现配置文件热重载
### 0.0.1 (2026-03-28) - 项目初始化
**类型**: 初始化版本
**状态**: 开发中
**变更内容**:
- ✅ 确定技术栈为Go语言
- ✅ 设计OOP架构Config、Provider、Translator
- ✅ 制定开发规范taolun.md、changelog.md、memory.md、why.md
- ✅ 确定分支策略main、dev
- ✅ 设计项目结构
- ✅ 创建项目初衷文档why.md
**讨论记录**:
- [确定技术栈](taolun.md#2026-03-28-2230-版本-001-确定技术栈)
- [设计OOP架构](taolun.md#2026-03-28-2300-版本-001-设计oop架构)
- [制定开发规范](taolun.md#2026-03-28-2330-版本-001-制定开发规范)
- [创建项目初衷文档](taolun.md#2026-03-28-2345-版本-001-创建项目初衷文档)
**下一步**:
- 创建项目目录结构
- 初始化Go模块
- 实现Config类
- 实现Provider接口
- 用户填写why.md内容
---
## 版本号管理规则
### 版本号格式
`主版本.次版本.修订版本`(例如:`1.2.3`
### 更新规则
1. **主版本**(第一位):重大架构变更、不兼容更新
2. **次版本**(第二位):新功能、重要特性
3. **修订版本**第三位小修复、优化00-99
### 更新流程
1. 完成开发并测试
2. 更新changelog.md
3. 更新taolun.md如有讨论
4. 更新memory.md如有新知识
5. 更新版本号
6. 提交到dev分支
7. 测试通过后合并到main
8. 创建版本标签:`git tag v0.0.1`
### 示例版本递增
- `0.0.1``0.0.2`:小修复
- `0.0.99``0.1.0`:新功能(修订版本溢出)
- `1.2.3``2.0.0`:重大架构变更