LibreTranslate简介
LibreTranslate是一个功能强大的开源机器翻译API,它具有完全自托管、离线运行、易于设置等特点。与其他需要依赖Google或Azure等专有服务的翻译API不同,LibreTranslate的翻译引擎由开源的Argos Translate库提供支持,使其成为一个真正自由和独立的翻译解决方案。
主要特点
-
开源免费:LibreTranslate采用AGPLv3开源协议,可以自由使用和修改。
-
自托管:用户可以在自己的服务器上部署和运行LibreTranslate,无需依赖第三方服务。
-
离线运行:安装后可以完全离线运行,保护用户隐私和数据安全。
-
多语言支持:支持多种语言之间的互译。
-
API接口:提供简单易用的RESTful API,方便集成到各种应用中。
-
Web界面:内置直观的Web用户界面,可直接在浏览器中使用。
-
跨平台:支持Linux、macOS和Windows等多种操作系统。
安装和使用
LibreTranslate的安装非常简单,只需几行命令即可完成。以下是几种常见的安装和运行方式:
使用pip安装
确保系统已安装Python 3.8或更高版本,然后执行以下命令:
pip install libretranslate
libretranslate [args]
安装完成后,在浏览器中访问 http://localhost:5000 即可使用Web界面。
使用Docker运行
对于喜欢使用Docker的用户,可以通过以下命令快速启动LibreTranslate:
docker run -ti --rm -p 5000:5000 libretranslate/libretranslate
从源码构建
对于希望自定义或贡献代码的开发者,可以从GitHub克隆源码并手动构建:
git clone https://github.com/LibreTranslate/LibreTranslate.git
cd LibreTranslate
pip install -e .
libretranslate
API使用示例
LibreTranslate提供了简洁的API接口,可以轻松集成到各种应用中。以下是一些常见的API调用示例:
基本翻译
const res = await fetch("https://libretranslate.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!"
}
自动检测语言
const res = await fetch("https://libretranslate.com/translate", {
method: "POST",
body: JSON.stringify({
q: "Ciao!",
source: "auto",
target: "en"
}),
headers: { "Content-Type": "application/json" }
});
console.log(await res.json());
响应结果:
{
"detectedLanguage": {
"confidence": 83,
"language": "it"
},
"translatedText": "Bye!"
}
HTML翻译
LibreTranslate还支持HTML内容的翻译:
const res = await fetch("https://libretranslate.com/translate", {
method: "POST",
body: JSON.stringify({
q: '<p class="green">Hello!</p>',
source: "en",
target: "es",
format: "html"
}),
headers: { "Content-Type": "application/json" }
});
console.log(await res.json());
响应结果:
{
"translatedText": "<p class=\"green\">¡Hola!</p>"
}
高级功能
API密钥管理
LibreTranslate支持API密钥管理,可以为不同用户设置不同的请求限制和字符限制。使用--api-keys
选项启动服务器,然后可以通过ltmanage keys
命令管理API密钥。
多语言本地化
LibreTranslate的Web界面支持多语言显示,甚至可以自动翻译自身。社区可以通过Weblate平台参与翻译和审核工作。
Prometheus指标导出
通过--metrics
参数启用Prometheus指标导出功能,可以在/metrics
端点获取性能监控数据。
生态系统
LibreTranslate拥有丰富的生态系统,包括多种语言绑定、移动应用和浏览器插件等。
语言绑定
LibreTranslate提供了多种编程语言的API绑定,包括:
- Rust
- Node.js
- TypeScript
- .Net
- Go
- Python
- PHP
- C++
- Swift
- Unix Shell
- Java
- Ruby
- R
这些绑定使得开发者可以在自己熟悉的编程语言中轻松使用LibreTranslate的功能。
移动应用
- LibreTranslator:Android应用,可在Google Play和F-Droid下载。
- LiTranslate:iOS应用,可在App Store下载。
Web浏览器集成
- minbrowser:一款集成了LibreTranslate支持的Web浏览器。
- Firefox插件:目前正在开发中。
公共实例和镜像
除了自托管,还有一些公共的LibreTranslate实例可供使用。以下是一些可用的公共实例列表:
此外,为了提高隐私和匿名性,LibreTranslate还提供了TOR和I2P网络的镜像站点。
未来发展
LibreTranslate项目正在积极发展中,未来的发展方向包括:
- 为更多编程语言提供API绑定
- 改进翻译质量
- 增加更多语言支持
- 优化性能和资源占用
社区成员可以通过提交PR、报告问题或提出新想法来参与项目的发展。
结语
LibreTranslate作为一个开源、自由的机器翻译解决方案,为用户提供了一个强大而灵活的翻译工具。无论是个人用户还是企业,都可以通过LibreTranslate实现自托管的翻译服务,保护数据隐私,同时享受高质量的翻译结果。随着社区的不断发展和贡献,LibreTranslate必将在开源翻译领域发挥更大的作用,为全球用户提供更好的语言障碍解决方案。
LibreTranslate的成功不仅仅在于其强大的功能,更在于其背后活跃的开源社区。通过共同努力,我们可以不断改进翻译质量,增加语言支持,并开发更多有趣的应用场景。让我们一起为构建一个更加开放、自由的翻译生态系统贡献力量!🌍💪