translateLocally命令行完全指南:8个核心参数搞定批量翻译与自动化脚本
2026/8/22 15:45:40 网站建设 项目流程

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

两种获取方式:

  1. 从项目官网下载 Windows / Linux / macOS 官方构建包
  2. 克隆源码自行编译:
git clone https://gitcode.com/gh_mirrors/tr/translateLocally cd translateLocally mkdir build && cd build cmake .. make -j5

Linux 编译需要 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 命令行套路

  1. 🗣️ 快速翻译:echo "..." | translateLocally -m en-es-tiny
  2. 📄 批量翻译:translateLocally -m en-es-tiny -i in.txt -o out.txt
  3. 📥 模型维护:-a查看 →-d下载 →-r清理旧模型
  4. 🔀 多语言中转:管道串联多个模型做 Pivoting
  5. 🐍 程序集成:-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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询