feat: 实现模块6 - TUI集成翻译 (Enter翻译/异步执行/加载状态)

This commit is contained in:
2026-04-06 05:18:11 +08:00
parent 8c6b08cec8
commit 59f9c6de18
4 changed files with 164 additions and 9 deletions

View File

@@ -543,5 +543,44 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
**下一步**: 实现模块6: 集成翻译
**关联文档**:
- [changelog.md#0.6.0](changelog.md#060)
---
### [2026-04-06 13:00] 版本 0.6.0 - 模块6: 集成翻译 (已完成)
**原因**: 将Translator集成到TUI实现真正的翻译功能
**分析**:
- 需要在Enter键时调用翻译API
- 需要异步执行避免阻塞UI
- 需要显示loading状态和错误处理
**解决方案**:
1. 添加translateMsg消息类型处理异步结果
2. 添加loading和errMsg字段
3. 实现doTranslate()函数执行异步翻译
4. Update中处理translateMsg消息
5. View中显示loading状态或错误信息
**技术实现**:
```go
type translateMsg struct {
result string
err error
}
func (m model) doTranslate(text, toLang string) tea.Cmd {
return func() tea.Msg {
result, err := m.translator.Translate(...)
if err != nil {
return translateMsg{err: err}
}
return translateMsg{result: result.Translated}
}
}
```
**下一步**: 测试TUI界面、优化体验
**关联文档**:
- [changelog.md#0.6.0](changelog.md#060)