这是一个用于翻译openpilot项目中events.py文件提示文本的图形化工具,支持自动翻译和手动翻译两种模式。
translator.py- 主程序(图形界面版本)requirements_translator.txt- Python依赖README.md- 完整使用说明
pip install PyQt5 requestspython3 translator.py- 🎯 智能文本提取:自动识别Alert类提示文本
- 🌐 多语言支持:简体/繁体中文翻译
- 🔧 图形化界面:基于PyQt5的友好界面
- 📊 实时进度:显示翻译进度和状态
- 💾 批量处理:一次性翻译所有文本
- 🔍 预览功能:预览原始文本和翻译结果
- ✋ 手动翻译:无需API即可手动编辑翻译
- 🎛️ 灵活模式:自动翻译和手动翻译两种模式
- 🧭 导航控制:手动翻译时支持上一个/下一个/跳过
- 获取DeepSeek API密钥
- 运行程序:
python3 translator.py - 输入API密钥并选择目标语言
- 选择events.py文件(位于
../selfdrive/selfdrived/events.py) - 点击"提取文本"
- 点击"自动翻译 (需要API)"
- 等待翻译完成
- 点击"保存翻译结果"
- 运行程序:
python3 translator.py - 选择events.py文件
- 点击"提取文本"
- 点击"手动翻译模式"
- 逐个编辑翻译文本
- 使用"上一个"/"下一个"/"跳过"按钮导航
- 点击"保存翻译结果"
- API设置:输入DeepSeek API密钥
- 翻译选项:选择目标语言(简体/繁体中文)和API延迟设置
- 文件操作:选择events.py文件
- 操作按钮:提取文本、选择翻译模式、保存结果
- 统计信息:显示总文本数和已翻译数量
- 文本列表:显示所有提取的文本
- 手动翻译区域:手动编辑翻译文本(手动模式时显示)
- 详细信息:显示选中文本的详细信息
工具可以识别以下类型的Alert调用:
Alert()- 基础Alert类NoEntryAlert()- 禁止进入提示NormalPermanentAlert()- 普通永久提示StartupAlert()- 启动提示ImmediateDisableAlert()- 立即禁用提示SoftDisableAlert()- 软禁用提示UserSoftDisableAlert()- 用户软禁用提示
- API延迟设置:默认500ms,可根据API限制调整(100-2000ms)
- 目标语言选择:简体中文(中国大陆)或繁体中文(台湾、香港)
程序支持通过 config.json 文件保存API密钥和设置,避免每次运行都需要重新输入。
在程序根目录创建 config.json 文件,格式如下:
{
"api_key": "your-api-key-here",
"model": "deepseek-chat",
"language": "繁體中文",
"delay": 500
}- api_key (字符串): DeepSeek API密钥,首次使用需要输入
- model (字符串): 使用的模型名称,默认
"deepseek-chat" - language (字符串): 目标翻译语言,可选值:
"简体中文"- 简体中文(中国大陆)"繁體中文"- 繁体中文(台湾、香港)
- delay (整数): API请求延迟时间(毫秒),范围 100-2000,默认 500
config.json文件包含敏感信息(API密钥),已被.gitignore排除,不会被提交到版本控制系统- 首次运行程序后,如果输入了API密钥,程序会自动创建此文件
- 建议不要将
config.json文件分享给他人或提交到公开仓库 - 如果删除
config.json文件,程序会重新要求输入配置信息
- 导入错误:确保已安装PyQt5和requests
- API错误:检查API密钥是否正确,网络是否正常
- 文件错误:确保文件路径正确,文件可读
- 翻译失败:检查API额度是否充足
- 红色状态:表示错误,需要检查设置
- 橙色状态:表示正在处理
- 绿色状态:表示操作成功
- 蓝色状态:表示手动翻译模式
- 自动翻译模式需要有效的DeepSeek API密钥
- 手动翻译模式无需API,完全免费
- 建议在翻译前备份原始文件
- 翻译结果基于AI生成,建议人工检查重要文本