| Crates.io | ai-translator |
| lib.rs | ai-translator |
| version | 0.1.1 |
| created_at | 2026-01-25 11:39:13.473368+00 |
| updated_at | 2026-01-25 11:39:13.473368+00 |
| description | 基于 AI 的多语言文本翻译工具,支持自定义提示词 |
| homepage | https://github.com/jetsung/ai-translator |
| repository | https://github.com/jetsung/ai-translator |
| max_upload_size | |
| id | 2068577 |
| size | 228,043 |
基于 Rust 开发的高性能 AI 文档翻译工具,旨在将技术文档(特别是 Markdown)精准地翻译成流畅的简体中文。
.txt 文件内容。若前 20 行中 80% 为有效路径或 URL,自动切换为列表模式。max_chunk_size 配置(默认 4000 字符),自动按段落和行拆分超长文档,完美解决模型上下文限制。.txt 列表文件并进行原样复制,防止误翻译导致的清单损坏。cargo build --release
编译后的二进制文件位于 target/release/aitr。
cargo install --git https://github.com/jetsung/ai-translator.git --locked
aitr --init
这将在当前目录生成 config.toml。请在其中填入您的 API Key 和 Provider 信息。
# 本地文件
aitr --input path/to/readme.md
# 远程 URL
aitr --input https://example.com/docs/guide.md --output ./zh_docs/
aitr --input ./en_docs --output ./zh_docs
创建一个 list.txt,每行一个路径或 URL,然后运行:
aitr --list --input list.txt --output ./translated
注:即使不带 --list,程序检测到内容为列表时也会自动切换模式。
针对极长文档,可以手动调整分块大小:
aitr --input long_doc.md --max-chunk-size 8000
# 使用名为 "DeepSeek" 的 Provider 翻译,并使用该 Provider 配置的并发数
aitr --input ./docs --provider-name DeepSeek
aitr --retry-failed
config.toml)# 基础配置
root_dir = "./docs"
output_dir = "./docs_zh"
output_mode = "new_folder" # overwrite 或 new_folder
max_tokens = 8192
max_chunk_size = 4000 # 大文件拆分字符阈值
exclude_dir = ".git,node_modules"
# Provider 配置 (支持多个)
[[providers]]
name = "OpenAI"
enabled = true
api_key = "sk-..."
base_url = "https://api.openai.com/v1"
model = "gpt-4"
concurrency = 3 # 并发任务数
rate_delay = 1.0 # 请求间隔延迟 (秒)
| 参数 | 说明 |
|---|---|
--init |
初始化配置文件 |
--input |
输入路径(文件/目录/URL) |
--output |
输出路径 |
--list |
启用列表模式 |
--max-chunk-size |
覆盖大文件拆分阈值 |
--max-tokens |
覆盖单次请求最大 Token |
--provider-name |
指定使用的 Provider 名称 |
--force |
强制重新翻译 |
--retry-failed |
仅重试之前失败的文件 |
--full-path |
保留完整目录结构 |
项目提供了 Makefile 以简化开发流程:
make test: 运行所有单元测试。make lint: 运行代码风格检查。make run-examples: 顺序运行包含大文件、列表、URL 的全场景示例。make clean: 清理日志、翻译记录及示例输出。Apache License 2.0