2240 字
11 分钟
Ollama 通用多格式翻译工具
基于本地 Ollama AI 服务的智能翻译工具
支持多种文件格式的批量翻译处理
📖 项目概述
这是一个功能强大的本地化AI翻译工具,专为开发者和技术文档维护者设计。工具利用 Ollama 本地AI服务,能够智能识别和翻译各种文件格式中的文本内容,同时完美保持原始文件的结构和格式。
🎯 核心价值
graph LR
A[多格式文件] --> B[智能识别]
B --> C[AI翻译]
C --> D[结构保持]
D --> E[批量输出]
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8
style D fill:#fff3e0
style E fill:#fce4ec
- 🔒 数据安全: 基于本地Ollama服务,数据不出本地
- 🧠 AI驱动: 支持多种开源大语言模型
- 📁 多格式: 支持8种常见文件格式
- ⚡ 高效率: 并发处理,智能过滤
- 🎨 保结构: 完美保持原文件格式和结构
✨ 功能特色
🤖 智能翻译引擎
AI模型支持
|
智能识别
|
📁 多格式文件支持
| 格式类型 | 文件扩展名 | 翻译内容 | 特殊处理 |
|---|---|---|---|
| 配置文件 | .json .yaml .yml | 配置描述、标题字段 | 🔧 保持数据结构 |
| 代码文件 | .ts .js .tsx .jsx | JSDoc注释、行内注释 | 💻 保护代码逻辑 |
| 标记语言 | .html .htm .vue | 文本内容、属性值 | 🏷️ 保持标签结构 |
| 文档文件 | .md .xml | 标题、正文、表格 | 📄 保持格式语法 |
⚡ 高性能处理
graph TD
A[源文件] --> B{格式检测}
B -->|JSON/YAML| C[配置翻译器]
B -->|TS/JS| D[代码翻译器]
B -->|HTML/Vue| E[标记翻译器]
B -->|MD/XML| F[文档翻译器]
C --> G[并发处理]
D --> G
E --> G
F --> G
G --> H[智能过滤]
H --> I[AI翻译]
I --> J[结构重建]
J --> K[输出文件]
style A fill:#e3f2fd
style G fill:#f1f8e9
style I fill:#fff3e0
style K fill:#fce4ec
🚀 快速体验
📋 环境要求
系统要求
|
软件依赖
|
硬件建议
|
🛠️ 一键安装
Windows 用户
# 1. 下载并安装 Ollama# 访问: https://ollama.ai/download
# 2. 下载翻译模型ollama pull qwen2.5:7b
# 3. 启动翻译工具quick_start.batLinux/macOS 用户
# 1. 安装 Ollamacurl -fsSL https://ollama.ai/install.sh | sh
# 2. 下载翻译模型ollama pull qwen2.5:7b
# 3. 启动翻译工具./setup_and_run.sh🎨 使用示例
📄 JSON 配置文件翻译
翻译前 (package.json) |
翻译后 (package_zh.json) |
💻 TypeScript 代码注释翻译
翻译前 (auth.ts) |
翻译后 (auth_zh.ts) |
📝 Markdown 文档翻译
翻译前 (README.md) |
翻译后 (README_zh.md) |
⚙️ 配置说明
🔧 基础配置
编辑 translator_config.py 进行个性化设置:
# Ollama 服务配置OLLAMA_CONFIG = { "url": "http://localhost:11434", # 服务地址 "model": "qwen2.5:latest", # 使用模型 "timeout": 60 # 超时时间}
# 翻译配置TRANSLATION_CONFIG = { "target_language": "zh-CN", # 目标语言 "max_workers": 3, # 并发线程数 "translate_comments": True, # 翻译代码注释 "translate_strings": False # 翻译字符串字面量}📂 文件路径配置
FILE_CONFIG = { "source_files": [ "package.json", # 单个文件 "src/**/*.ts", # 通配符模式 "docs/**/*.md" # 递归匹配 ], "output_dir": "translated", # 输出目录 "keep_structure": True, # 保持目录结构 "suffix": "_zh" # 文件名后缀}📊 性能表现
🏆 模型对比
| 模型 | 大小 | 中文翻译质量 | 处理速度 | 内存占用 | 推荐指数 |
|---|---|---|---|---|---|
| qwen2.5:7b | 4.4GB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 6GB | 🌟🌟🌟🌟🌟 |
| llama3.1:8b | 4.7GB | ⭐⭐⭐⭐ | ⭐⭐⭐ | 7GB | 🌟🌟🌟🌟 |
| gemma2:9b | 5.4GB | ⭐⭐⭐⭐ | ⭐⭐⭐ | 8GB | 🌟🌟🌟🌟 |
📈 处理效率
典型处理结果示例:
📊 处理统计: 📄 处理文件: 15 个 ✅ 翻译成功: 127 条 ❌ 翻译失败: 3 条 ⏭️ 跳过文本: 45 条 📈 成功率: 97.7% ⏱️ 总耗时: 2分30秒🛠️ 高级功能
🔍 智能过滤系统
工具内置多层智能过滤机制,自动识别并跳过不需要翻译的内容:
| 过滤类型 | 示例内容 | 识别规则 |
|---|---|---|
| 🔤 变量名 | userName, API_KEY | 驼峰命名、全大写 |
| 🔢 数值 | 123, 3.14, 0xFF | 纯数字、十六进制 |
| 🌐 URL链接 | https://example.com | 协议头识别 |
| 📧 邮箱地址 | user@example.com | 邮箱格式匹配 |
| 🏷️ 技术标识 | MAX_SIZE, DEFAULT_CONFIG | 常量命名规范 |
⚡ 并发处理优化
并发配置建议:
- 💻 低配置设备: 2-3 个线程
- 🖥️ 中等配置: 3-4 个线程
- 🚀 高端配置: 4-5 个线程
🔧 故障排除
❌ 常见问题及解决方案
🔴 Ollama 服务连接失败
问题现象:
❌ 无法连接到 Ollama 服务: Connection refused解决步骤:
# 1. 检查服务状态ollama serve
# 2. 验证服务可用性curl http://localhost:11434/api/tags
# 3. 检查端口占用netstat -an | grep 11434🔴 翻译模型未找到
问题现象:
❌ 模型 'qwen2.5:latest' 未找到解决步骤:
# 1. 查看已安装模型ollama list
# 2. 下载所需模型ollama pull qwen2.5:7b
# 3. 验证模型可用ollama run qwen2.5:7b "测试"🔴 Python 依赖包缺失
问题现象:
ModuleNotFoundError: No module named 'yaml'解决步骤:
# 1. 激活虚拟环境# Linux/macOS: source venv/bin/activate
# 2. 安装依赖pip install -r requirements.txt
# 3. 或运行依赖安装脚本python install_dependencies.py🔧 性能优化建议
- 内存优化: 根据可用内存选择合适的模型大小
- 并发调优: 根据CPU核心数调整
max_workers参数 - 网络优化: 使用本地模型避免网络延迟
- 存储优化: 定期清理翻译输出目录
📁 项目结构
ollama-translator/├── 📄 README.md # 项目说明文档├── 📄 PROJECT_INTRODUCTION.md # 本介绍文件├── 📄 项目结构说明.md # 详细结构说明├── 📄 虚拟环境使用指南.md # 环境配置指南├──├── 🔧 核心程序├── 📄 universal_translator.py # 多格式翻译器主程序├── 📄 translator_config.py # 翻译配置文件├──├── 🛠️ 环境工具├── 📄 setup_venv.py # 虚拟环境自动设置├── 📄 install_dependencies.py # 依赖安装脚本├── 📄 requirements.txt # Python依赖列表├──├── 🖥️ 启动脚本├── 📄 quick_start.bat # Windows快速启动├── 📄 run_universal_translator.bat # Windows翻译器启动├── 📄 setup_and_run.sh # Unix系统启动脚本├──├── 📂 venv/ # Python虚拟环境├── 📂 translated/ # 翻译输出目录└── 📂 .git/ # Git版本控制🤝 社区与支持
💡 参与贡献
我们欢迎各种形式的贡献:
🐛 问题反馈
|
💻 代码贡献
|
📖 文档完善
|
🌟 推广支持
|
📞 获取帮助
- 📧 问题反馈: 在 GitHub Issues 中提交问题
- 💬 社区讨论: 参与 GitHub Discussions
- 📚 文档查阅: 查看项目 Wiki 和说明文档
- 🔍 常见问题: 查看 FAQ 和故障排除指南
📄 开源协议
本项目采用 MIT 开源协议,您可以自由地:
- ✅ 商业使用
- ✅ 修改代码
- ✅ 分发软件
- ✅ 私人使用
唯一要求: 在分发时保留原始的版权声明和许可证声明。
🎉 立即开始使用
准备好体验AI驱动的智能翻译了吗?
⭐ 如果这个项目对您有帮助,请给我们一个 Star!
让AI翻译成为您开发工作流程的一部分 🚀
Waiting for api.github.com...
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时



