argosopentech/argos-translate

GitHub: argosopentech/argos-translate

基于 OpenNMT 的开源离线神经机器翻译库,支持数十种语言,可作 Python 库、命令行工具或 API 服务使用。

Stars: 6114 | Forks: 471

# Argos Translate [演示](https://libretranslate.com) | [网站](https://www.argosopentech.com) | [文档](https://argos-translate.readthedocs.io) | [论坛](https://community.libretranslate.com/c/argos-translate/5) | [GitHub](https://github.com/argosopentech/argos-translate) | [PyPI](https://pypi.org/project/argostranslate/) **使用 Python 编写的开源离线翻译库** Argos Translate 使用 [OpenNMT](https://opennmt.net/) 进行翻译,可用作 Python 库、命令行工具或 GUI 应用程序。Argos Translate 支持安装语言模型包,这些包是扩展名为 ".argosmodel" 的 zip 压缩包,包含了翻译所需的数据。[LibreTranslate](https://libretranslate.com) 是一个基于 Argos Translate 构建的 API 和 Web 应用程序。 Argos Translate 还能通过中间语言自动进行桥接转换,以便在没有直接安装相应翻译模型的语言之间进行翻译。例如,如果您安装了 es → en 和 en → fr 翻译,您就可以像安装了该翻译一样从 es → fr 进行翻译。这允许在各种语言之间进行翻译,代价是翻译质量会有一些损失。 [argospm-index](https://github.com/argosopentech/argospm-index) 包含访问预训练 Argos Translate 模型的元数据和下载链接。 ### 支持的语言 ##### [浏览软件包索引](https://www.argosopentech.com/argospm/index/) 阿拉伯语、阿塞拜疆语、巴斯克语、加泰罗尼亚语、中文、捷克语、丹麦语、荷兰语、英语、世界语、芬兰语、法语、加利西亚语、德语、希腊语、希伯来语、印地语、匈牙利语、印度尼西亚语、爱尔兰语、意大利语、日语、吉尔吉斯语、韩语、马来语、波斯语、波兰语、葡萄牙语、葡萄牙语(巴西)、俄语、斯洛伐克语、西班牙语、瑞典语、土耳其语、乌克兰语、乌尔都语等 [请求添加语言](https://github.com/argosopentech/argos-translate/discussions/91) ## 安装 ### 使用 Python 安装 Argos Translate 可通过 [PyPI](https://pypi.org/project/argostranslate/) 获取,并可以使用 [pip](https://pip.pypa.io/en/stable/installation/) 轻松安装。 ``` pip install argostranslate ``` 安装 [GUI](https://github.com/argosopentech/argos-translate-gui): ``` pip install argostranslategui ``` ### 将 Python 源码安装到 virtualenv 下载本仓库的副本并使用 pip 安装。 ``` git clone https://github.com/argosopentech/argos-translate.git cd argos-translate virtualenv env source env/bin/activate pip install -e . ``` ## 示例 ### [Python](https://argos-translate.readthedocs.io/en/latest/py-modindex.html) ``` import argostranslate.package import argostranslate.translate from_code = "en" to_code = "es" # 下载并安装 Argos Translate 包 argostranslate.package.update_package_index() available_packages = argostranslate.package.get_available_packages() package_to_install = next( filter( lambda x: x.from_code == from_code and x.to_code == to_code, available_packages ) ) argostranslate.package.install_from_path(package_to_install.download()) # 翻译 translatedText = argostranslate.translate.translate("Hello World", from_code, to_code) print(translatedText) # '¡Hola Mundo!' ``` ### 命令行界面 ``` argospm update argospm install translate-en_de argos-translate --from en --to de "Hello World!" # Hallo Welt! ``` 安装所有翻译包: ``` argospm install translate ``` ### [LibreTranslate](https://github.com/LibreTranslate/LibreTranslate) Web 应用 ([演示](https://libretranslate.com/)) ![Web 应用截图](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/23082ec143000740.png) ### [LibreTranslate](https://github.com/uav4geo/LibreTranslate) API ``` const res = await fetch("https://translate.argosopentech.com/translate", { method: "POST", body: JSON.stringify({ q: "Hello!", source: "en", target: "es" }), headers: { "Content-Type": "application/json"} }); console.log(await res.json()); { "translatedText": "¡Hola!" } ``` #### 图形用户界面 GUI 代码位于一个[单独的仓库](https://github.com/argosopentech/argos-translate-gui)中。 ![截图](/img/Screenshot.png) ![截图2](/img/Screenshot2.png) ## [包](https://www.argosopentech.com/argospm/index/) - [浏览](https://www.argosopentech.com/argospm/index/) - [使用 BitTorrent 进行 P2P 下载](/p2p/README.md) - [训练脚本](https://github.com/argosopentech/argos-train) - [Google Drive 下载](https://drive.google.com/drive/folders/11wxM3Ze7NCgOk_tdtRjwet10DmtvFu3i) ### GPU 加速 要启用 GPU 支持,您需要将 `ARGOS_DEVICE_TYPE` 环境变量设置为 `cuda` 或 `auto`。 ``` $ ARGOS_DEVICE_TYPE=cuda argos-translate --from-lang en --to-lang es "Hello World" Hola Mundo ``` 上述环境变量将设备类型传递给 [CTranslate2](https://github.com/OpenNMT/CTranslate2)。 ### HTML 翻译 [translate-html](https://github.com/argosopentech/translate-html) 库基于 Argos Translate 和 [Beautiful Soup](https://beautiful-soup-4.readthedocs.io/en/latest/) 构建,用于解析和翻译 HTML。LibreTranslate API 也支持翻译 HTML。 ### 文件翻译 [argos-translate-files](https://github.com/LibreTranslate/argos-translate-files) 库基于 Argos Translate 构建,用于解析和翻译文件。LibreTranslate API 也支持翻译文件。 ## 卸载 ``` pip uninstall argostranslate ``` 您可以选择同时删除临时文件和缓存文件: ``` rm -r ~/.local/cache/argos-translate rm -r ~/.local/share/argos-translate ``` ## 相关项目 - [LibreTranslate-py](https://github.com/argosopentech/LibreTranslate-py) - LibreTranslate 的 Python 绑定 - [MetalTranslate](https://github.com/argosopentech/MetalTranslate) - C++ 中的可定制翻译 - [LibreTranslate/Locomotive](https://github.com/LibreTranslate/Locomotive) - 用于训练/转换兼容 LibreTranslate 的语言模型的工具包 🚂 - [DesktopTranslator](https://github.com/ymoslem/DesktopTranslator) - 基于 [OpenNMT](https://opennmt.net/) 的翻译应用程序 - [LibreTranslate-rs](https://github.com/grantshandy/libretranslate-rs) - LibreTranslate 的 Rust 绑定 - [LibreTranslate Go](https://github.com/SnakeSel/libretranslate) - LibreTranslate 的 Golang 绑定 - [LibreTranslate Java](https://github.com/dynomake/libretranslate-java) - LibreTranslate 的 Java 绑定 - [LibreTranslator](https://gitlab.com/BeowuIf/libretranslator) - LibreTranslate 的 Android 应用程序 ## 支持 如需获取支持,请使用 [LibreTranslate 论坛](https://community.libretranslate.com/c/argos-translate/5) 或 [GitHub Issues](https://github.com/argosopentech/argos-translate/issues)。 有关 [CTranslate2](https://github.com/OpenNMT/CTranslate2) 或一般机器翻译研究的问题,[OpenNMT 论坛](https://forum.opennmt.net/) 是一个很好的资源。 ## 服务 基于您的自有数据训练的定制模型,售价为 $1000/语言(可议价)。 [我也接受雇佣](https://www.argosopentech.com/about/),以提供支持、咨询或定制软件开发。 ## 贡献 欢迎贡献!Bug 报告、Pull Request、文档编写和功能建议均备受感激。 ## 许可证 Argos Translate 采用双许可模式,授权依据为 [MIT 许可证](https://github.com/argosopentech/argos-translate/blob/master/LICENSE) 或 [Creative Commons CC0](https://creativecommons.org/share-your-work/public-domain/cc0/)。
标签:API, GUI应用, IPv6支持, LibreTranslate, NLP, OpenNMT, Python, SEO翻译, 多语言, 开源, 文本分析, 文本翻译, 无后门, 本地化, 机器翻译, 离线翻译, 翻译库, 语言包, 语言模型, 跨语言, 逆向工具