translateLocally命令行完全指南:8个核心参数搞定批量翻译与自动化脚本
【免费下载链接】translateLocallyFast and secure translation on your local machine, powered by marian and Bergamot.项目地址: https://gitcode.com/gh_mirrors/tr/translateLocally
translateLocally是一个开源的本地机器翻译工具,完全在你的电脑上离线运行,基于 marian 神经网络机器翻译引擎与 Bergamot 翻译模型构建。它的命令行模式只需8 个核心参数,即可完成模型管理、批量翻译和自动化脚本,翻译过程无需联网,数据永不离开你的设备。无论是批量翻译整个语料库,还是写一条 shell 脚本,这篇 translateLocally 命令行指南都能让你快速上手。
为什么用 translateLocally 做命令行翻译?
- 🔒本地离线:翻译模型在你的 CPU 上运行,下载模型时才需要联网,隐私零顾虑
- ⚡快速:Bergamot 8-bit 量化学生模型比 base 模型快数倍,适合大批量场景
- 📦易自动化:原生支持 stdin/stdout 管道,天然适配 shell 脚本与 CI 流程
- 🧩模型自由:可导入自训练的 marian 模型和自定义模型仓库
CLI 的参数注册与分派逻辑非常精简,集中在 CLIParsing.h,读源码也能一目了然。
如何快速安装并启动 translateLocally
两种获取方式:
- 从项目官网下载 Windows / Linux / macOS 官方构建包
- 克隆源码自行编译:
git clone https://gitcode.com/gh_mirrors/tr/translateLocally cd translateLocally mkdir build && cd build cmake .. make -j5Linux 编译需要 Qt5/Qt6、libarchive 与 MKL 等依赖,具体版本适配可参考项目 README 的编译章节。
安装完成后执行./translateLocally --help,即可看到完整的命令行参数帮助。
8个核心参数一览表
| 参数 | 长格式 | 作用 |
|---|---|---|
-l | --list-models | 列出本地已安装的模型 |
-a | --available-models | 联网查看可下载/可升级的模型 |
-d <model> | --download-model | 从网上下载指定模型 |
-r <model> | --remove-model | 删除本地管理的模型 |
-m <model> | --model | 选择用于翻译的模型 |
-i <file> | --input | 输入文件(省略时读取 stdin) |
-o <file> | --output | 输出文件(省略时写入 stdout) |
--html | — | 声明输入内容为 HTML |
参数定义源码见 CLIParsing.h,主入口的分派逻辑在 main.cpp。
第一步:用 -l 和 -a 查看与下载翻译模型
先看看本地装了哪些模型:
./translateLocally -l # English-Spanish type: tiny version: 1; To invoke do -m en-es-tiny再用-a联网查看尚未安装、或有新版本可升级的模型:
./translateLocally -a # English-Estonian type: tiny version: 1; To download do -d en-et-tiny确认后用-d下载(带实时进度条),用完可用-r清理:
./translateLocally -d en-et-tiny ./translateLocally -r en-et-tiny💡 模型短名格式为
<源语言>-<目标语言>-<规格>,如es-en-tiny表示西语→英语的 tiny 模型。
第二步:不写文件,用管道翻译单个句子
省略-i和-o时,translateLocally 从标准输入读取、向标准输出写出,最适合交互式快速翻译:
echo "Me gustaría comprar la casa verde" | ./translateLocally -m es-en-tiny第三步:用 -i 和 -o 批量翻译整个文件
处理语料文件时,直接指定输入输出即可:
./translateLocally -m es-en-tiny -i /tmp/es.in -o /tmp/en.out程序内部按每 320 行一批预读并送引擎翻译(批处理常量见 CommandLineIface.h),大文件也能保持高吞吐;完整的输入/输出与翻译流程实现见 CommandLineIface.cpp。
第四步:用 --html 翻译 HTML 并保留结构
输入含 HTML 标签时加上--html,引擎只翻译文本内容、保留标签结构:
./translateLocally -m es-en-tiny --html -i page.html -o page_en.html批量翻译实战:Pivoting 管道链式翻译
当两种语言之间没有直接模型时,可以用管道把多个模型串成“中转翻译”(Pivoting)。例如西语→德语,先经英语中转:
cat /tmp/es.in \ | ./translateLocally -m es-en-tiny \ | ./translateLocally -m en-de-tiny \ > /tmp/de.out⚠️ macOS 上使用 .app 版本时,
-i/-o可能受系统沙盒限制无法读文件,请改用< input.txt > output.txt管道写法。程序检测到该环境时还会自动打印提示(见 CommandLineIface.cpp)。
自动化进阶:Native Messaging 服务与 Python 客户端
除了 shell,translateLocally 还能以-p启动 Native Messaging 服务,通过 JSON 消息协议被程序异步调用,官方提供了现成的 Python 示例 native_client.py:
./translateLocally -p & python3 scripts/native_client.py浏览器扩展(Firefox/Chrome)也能直接对接该服务,客户端管理参数包括--allow-client、--remove-client、--list-clients、--update-manifests,消息格式说明见 NativeMsgIface.h。
常见错误码速查表
| 返回码 | 含义 | 排查建议 |
|---|---|---|
| 1 | 未找到指定模型 | 用-l核对模型短名 |
| 3 | 无法打开输入文件 | 检查路径与权限,macOS 改用管道 |
| 4 | 无法写入输出文件 | 检查路径与写权限 |
| 22 | 翻译引擎出错 | 加--debug参数打印调试信息 |
总结:5个最常用的 translateLocally 命令行套路
- 🗣️ 快速翻译:
echo "..." | translateLocally -m en-es-tiny - 📄 批量翻译:
translateLocally -m en-es-tiny -i in.txt -o out.txt - 📥 模型维护:
-a查看 →-d下载 →-r清理旧模型 - 🔀 多语言中转:管道串联多个模型做 Pivoting
- 🐍 程序集成:
-p启动服务,配合 Python 客户端或浏览器扩展
掌握这 8 个核心参数,translateLocally 的命令行能力就全部收入囊中;更多翻译引擎细节可查看 MarianInterface.cpp。本地运行、私密安全,让批量翻译变得简单高效。
【免费下载链接】translateLocallyFast and secure translation on your local machine, powered by marian and Bergamot.项目地址: https://gitcode.com/gh_mirrors/tr/translateLocally
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考