专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

9.1K Star!LibreTranslate,免费开源翻译API,本地部署告别收费

ins518 2025-03-01 14:16:08 技术文章 97 ℃ 0 评论

「小墨是前端」专注分享前端技术,推荐优秀的开源项目,展示Github、Gitee上的创意作品,带你深入前端底层,一起成长。

最近在对接翻译接口的时候,发现市面上靠谱的翻译API都要收费。对于一些小项目,或者想自己动手丰衣足食的同学来说,调用收费API实在是不太友好。

本期小墨就给大家推荐一款免费开源的神器——LibreTranslate!


简介

这是一个完全自托管的免费开源机器翻译API。跟其他依赖谷歌或Azure等专有提供商进行翻译的API不同,LibreTranslate的翻译引擎由开源的Argos Translate库驱动,所以你就可以在本地搭建一个完全属于自己的翻译服务!想想都觉得很酷,对不对?

功能特点

1、可以免费使用和部署,无需担心 API 调用费用。

2、可以在本地服务器上部署,数据更安全可控。

3、支持多种语言之间的翻译,具体支持的语言种类可以参考官方文档。

本地部署 (Docker)

如果你想体验完整的 LibreTranslate 功能,建议你在本地部署。使用 Docker 部署非常简单,只需要几行命令:

git clone https://github.com/LibreTranslate/LibreTranslate.git
./run.sh

然后打开浏览器访问 http://localhost:5000 就可以使用了。是不是超级方便?

API 调用示例

以下是一段使用 JavaScript 调用 LibreTranslate API 的代码示例:

async function translateText(text, sourceLang, targetLang) {
  const res = await fetch("http://localhost:5000/translate", {
    method: "POST",
    body: JSON.stringify({
      q: text,
      source: sourceLang,
      target: targetLang
    }),
    headers: { "Content-Type": "application/json" }
  });
  const data = await res.json();
  return data.translatedText;
}


// 调用示例
async function testTranslate(){
  const translatedText = await translateText("你好,世界!", "zh", "en");
  console.log(translatedText); // Hello, world!
}

testTranslate();

你只需要替换 q、source 和 target 参数就可以翻译不同的文本了。

原理

LibreTranslate 基于 Argos Translate 库,它使用神经机器翻译 (NMT) 技术,通过深度学习模型进行翻译。与传统的统计机器翻译 (SMT) 相比,NMT 能够更好地捕捉语言的上下文信息,从而提供更流畅、更自然的翻译结果。

应用场景

  • 个人项目: 给个人网站、博客等提供多语言支持。
  • 小型团队: 为团队内部文档、沟通信息等提供翻译服务。
  • 本地化测试: 在正式接入商业翻译API前,可以用LibreTranslate进行快速本地化测试,验证翻译效果,节省成本。

项目地址

https://github.com/LibreTranslate/LibreTranslate

使用体验和总结

LibreTranslate 的翻译速度和质量都相当不错,虽然可能比不上一些商业翻译API,但对于日常使用来说完全足够了。关键是,它免费啊!而且本地部署,数据安全也有保障,不用担心数据泄露的问题。当然,如果你对翻译质量有更高的要求,或者需要翻译大量的文本,可能还是需要选择商业翻译API。

你有没有用过其他好用的翻译工具? 在评论区分享一下吧!

创作不易,欢迎大家关注、点赞、收藏、转发!我会继续分享高质量的干货和前沿的技术,给大家提供更多有价值的内容!”

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表