mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-11 00:06:04 +00:00
266 lines
6.8 KiB
Markdown
266 lines
6.8 KiB
Markdown
# Workflows翻译工作流程指南
|
||
|
||
## 📋 概述
|
||
|
||
本指南说明如何使用提供的工具完成workflows部分的多语言翻译工作。
|
||
|
||
## 🎯 翻译目标
|
||
|
||
- **总键数**: 627个workflows相关的键
|
||
- **目标语言**: 6种语言(日语、繁体中文、西班牙语、俄语、泰语、越南语)
|
||
- **总翻译项**: 3762个(627键 × 6语言)
|
||
|
||
## 🛠️ 工具说明
|
||
|
||
### 1. `workflows_translations.json` - 翻译模板文件
|
||
|
||
这是核心翻译文件,包含所有需要翻译的键和值。
|
||
|
||
**文件结构**:
|
||
```json
|
||
{
|
||
"_comment": "Workflows翻译模板",
|
||
"_instructions": [...],
|
||
"_progress": {
|
||
"total_keys": 627,
|
||
"translated_keys": 0,
|
||
"remaining_keys": 627,
|
||
"languages": ["ja-JP", "zh-Hant", "es-ES", "ru-RU", "th-TH", "vi-VN"]
|
||
},
|
||
"translations": {
|
||
"title": {
|
||
"zh-Hans": "工作流对话",
|
||
"ja-JP": "TODO",
|
||
"zh-Hant": "TODO",
|
||
"es-ES": "TODO",
|
||
"ru-RU": "TODO",
|
||
"th-TH": "TODO",
|
||
"vi-VN": "TODO"
|
||
},
|
||
...
|
||
}
|
||
}
|
||
```
|
||
|
||
### 2. `apply_workflows_translations.py` - 应用翻译脚本
|
||
|
||
将完成的翻译应用到实际的语言文件中。
|
||
|
||
**功能**:
|
||
- 读取 `workflows_translations.json`
|
||
- 识别已完成的翻译(非"TODO")
|
||
- 应用到对应的语言文件(ja-JP.ts, zh-Hant.ts等)
|
||
- 生成应用报告
|
||
- 支持增量应用(可以分批翻译)
|
||
|
||
**使用方法**:
|
||
```bash
|
||
cd LangBot_copy/web
|
||
python3 apply_workflows_translations.py
|
||
```
|
||
|
||
### 3. `check_translation_progress.py` - 进度检查脚本
|
||
|
||
查看当前翻译进度和统计信息。
|
||
|
||
**功能**:
|
||
- 显示每种语言的翻译进度
|
||
- 显示进度条和百分比
|
||
- 列出已完成和待完成的键
|
||
- 建议下一批要翻译的键
|
||
- 估算剩余工作量
|
||
|
||
**使用方法**:
|
||
```bash
|
||
cd LangBot_copy/web
|
||
python3 check_translation_progress.py
|
||
```
|
||
|
||
## 📝 翻译工作流程
|
||
|
||
### 步骤1: 检查当前进度
|
||
|
||
```bash
|
||
python3 check_translation_progress.py
|
||
```
|
||
|
||
这会显示:
|
||
- 每种语言的完成度
|
||
- 剩余待翻译的键数量
|
||
- 建议下一批翻译的键
|
||
|
||
### 步骤2: 编辑翻译文件
|
||
|
||
打开 `workflows_translations.json` 文件,找到要翻译的键,将 `"TODO"` 替换为实际翻译。
|
||
|
||
**示例**:
|
||
|
||
翻译前:
|
||
```json
|
||
"title": {
|
||
"zh-Hans": "工作流对话",
|
||
"ja-JP": "TODO",
|
||
"zh-Hant": "TODO",
|
||
"es-ES": "TODO",
|
||
"ru-RU": "TODO",
|
||
"th-TH": "TODO",
|
||
"vi-VN": "TODO"
|
||
}
|
||
```
|
||
|
||
翻译后:
|
||
```json
|
||
"title": {
|
||
"zh-Hans": "工作流对话",
|
||
"ja-JP": "ワークフロー会話",
|
||
"zh-Hant": "工作流對話",
|
||
"es-ES": "Conversación de Flujo de Trabajo",
|
||
"ru-RU": "Диалог Рабочего Процесса",
|
||
"th-TH": "การสนทนาเวิร์กโฟลว์",
|
||
"vi-VN": "Hội thoại Quy trình"
|
||
}
|
||
```
|
||
|
||
**翻译技巧**:
|
||
- 参考 `zh-Hans` 的中文原文理解含义
|
||
- 保持专业术语的一致性
|
||
- 注意特殊字符需要转义(如单引号 `'` 要写成 `\'`)
|
||
- 可以使用翻译工具辅助,但需要人工审核确保准确性
|
||
|
||
### 步骤3: 应用翻译
|
||
|
||
完成一批翻译后,运行应用脚本:
|
||
|
||
```bash
|
||
python3 apply_workflows_translations.py
|
||
```
|
||
|
||
脚本会:
|
||
- 自动识别已完成的翻译
|
||
- 应用到对应的语言文件
|
||
- 显示应用结果和统计信息
|
||
- 更新进度信息
|
||
|
||
### 步骤4: 重复步骤1-3
|
||
|
||
继续翻译下一批键,直到所有翻译完成。
|
||
|
||
## 💡 建议的翻译策略
|
||
|
||
### 方案A: 按主题分批(推荐)
|
||
|
||
将相关的键分组翻译,例如:
|
||
1. **第1批**: 基础UI文本(title, description, placeholder等)
|
||
2. **第2批**: 节点相关(nodes, nodeTypes, nodeCategories等)
|
||
3. **第3批**: 调试相关(debug, debugDialog, executionHistory等)
|
||
4. **第4批**: 配置相关(nodeConfigFields, validation等)
|
||
5. **第5批**: 其他剩余键
|
||
|
||
**优点**: 上下文相关,翻译更一致
|
||
|
||
### 方案B: 按数量分批
|
||
|
||
每批翻译固定数量的键(如50或100个)。
|
||
|
||
**优点**: 进度可控,容易估算时间
|
||
|
||
### 方案C: 按语言分批
|
||
|
||
先完成一种语言的所有翻译,再翻译下一种语言。
|
||
|
||
**优点**: 可以利用语言专长,集中精力
|
||
|
||
## 📊 进度跟踪
|
||
|
||
使用 `check_translation_progress.py` 随时查看进度:
|
||
|
||
```bash
|
||
python3 check_translation_progress.py
|
||
```
|
||
|
||
输出示例:
|
||
```
|
||
================================================================================
|
||
📊 Workflows翻译进度报告
|
||
================================================================================
|
||
|
||
【日语 (ja-JP)】
|
||
[████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 20.0%
|
||
✅ 已完成: 125/627
|
||
⏳ 待翻译: 502
|
||
📝 最近完成: title, description, placeholder, ...
|
||
|
||
【繁体中文 (zh-Hant)】
|
||
[████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 20.0%
|
||
✅ 已完成: 125/627
|
||
⏳ 待翻译: 502
|
||
|
||
...
|
||
|
||
--------------------------------------------------------------------------------
|
||
📈 总体进度: 750/3762 (19.9%)
|
||
📊 平均每种语言: 125/627
|
||
|
||
💡 剩余工作量: 3012 个翻译项
|
||
建议分批策略:
|
||
- 每批50个键: 需要 61 批
|
||
- 每批100个键: 需要 31 批
|
||
================================================================================
|
||
```
|
||
|
||
## ⚠️ 注意事项
|
||
|
||
1. **备份**: 在开始翻译前,建议备份原始文件
|
||
2. **编码**: 确保使用UTF-8编码保存文件
|
||
3. **格式**: 保持JSON格式正确,注意逗号和引号
|
||
4. **特殊字符**: 单引号需要转义为 `\'`
|
||
5. **验证**: 每次应用翻译后,检查语言文件是否有语法错误
|
||
6. **增量工作**: 可以分多次完成,每次翻译一部分然后应用
|
||
|
||
## 🔍 故障排除
|
||
|
||
### 问题1: 应用翻译时提示"没有发现任何已完成的翻译"
|
||
|
||
**原因**: 所有值都还是 "TODO"
|
||
|
||
**解决**: 编辑 `workflows_translations.json`,将至少一个键的 "TODO" 替换为实际翻译
|
||
|
||
### 问题2: 应用翻译后语言文件报错
|
||
|
||
**原因**: 翻译中包含未转义的特殊字符
|
||
|
||
**解决**: 检查翻译文本,将单引号 `'` 替换为 `\'`
|
||
|
||
### 问题3: 某些键应用失败
|
||
|
||
**原因**: 键名在语言文件中不存在或格式不匹配
|
||
|
||
**解决**: 检查应用报告中的失败键列表,手动在语言文件中添加或修正
|
||
|
||
## 📈 预估工作量
|
||
|
||
- **总翻译项**: 3762个
|
||
- **每小时翻译速度**: 约50-100项(取决于熟练度)
|
||
- **预估总时间**: 38-75小时
|
||
- **建议分批**: 每天翻译100-200项,约需19-38天完成
|
||
|
||
## ✅ 完成标准
|
||
|
||
当 `check_translation_progress.py` 显示:
|
||
- 所有语言的进度都达到 100%
|
||
- 没有剩余待翻译的键
|
||
- 所有语言文件都能正常编译
|
||
|
||
则翻译工作完成!
|
||
|
||
## 🎉 完成后
|
||
|
||
1. 运行最后一次 `apply_workflows_translations.py` 确保所有翻译已应用
|
||
2. 测试各语言界面,确认翻译正确显示
|
||
3. 提交代码变更
|
||
4. 生成最终翻译报告
|
||
|
||
---
|
||
|
||
**祝翻译工作顺利!** 🚀
|