# 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. 生成最终翻译报告 --- **祝翻译工作顺利!** 🚀