Docker搭建翻译工具API – 多国语言翻译自由

提供多国语言翻译接口(中, 英, 俄),为程序/系统提供翻译服务; 切换服务到https://c.carlzeng.com:3/translate

有什么用

提供多国语言翻译接口,为程序/系统提供翻译服务

20231230, 实践用python调用测试(为了实现hexo多语言解决方案):

多发几个请求就error了

Thread-1 is translating zh to en, length=437                                                        
 response RESULT:  {"code":429,"message":"Too Many Requests"}    

总之性能相当堪忧,没什么卵用的感觉。

20251121, 切换服务到 https://c.carlzeng.com:3/translate

怎么用

API 用法: post 到 https://translate1.carlzeng.com:3/translate

const res = await fetch("https://translate1.carlzeng.com:3/translate", {
    method: "POST",
    body: JSON.stringify({
        q: "Не рекомендуется использовать карту памяти свитча с MacOS. Дело в том, что эта ОС создает большое количество мета-файлов и папок на карте памяти, а так же может без спроса у пользователя менять атрибуты папок и файлов на вашей карте памяти, тем самым делая её частично или полностью неработоспособной. Это может выражаться в испорченных играх или приложениях, которые не будет отображаться или попросту перестанут запускаться\n\nДля того, чтобы минимизировать урон рекомендуется использовать виртуальные машины с Windows или следующие приложения и скрипты:\n\nClean My Drive 2\nЭто приложение автоматически удаляет весь макосовский мусор при извлечении любого usb носителя.",
        source: "auto",
        target: "zh-Hans",
        format: "text",
        alternatives: 3,
        api_key: ""
    }),
    headers: { "Content-Type": "application/json" }
});

console.log(await res.json());

如果使用curl使用:

curl -X POST http://localhost:1188/translate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_access_token" \
-d '{
    "text": "Hello, world!",
    "source_lang": "EN",
    "target_lang": "DE"
}'

UI 访问:

延伸阅读

实现方法

~~一键启动, 已放弃使用~~

version: "3"
services:
    deepl:
        stdin_open: true
        tty: true
        ports:
            - 1188:1188
        image: artem1sobolev/deepl:1.0.1
            #same error: no route to. huiwushi/deepl_zu1k
            #zu1k/deepl
        restart: always

~~开放防火墙1188,反代(如果有需求的话)~~

~~下一步~~

~~我要把中文语言的文章内容都意义传给这个API,翻译成英文版和繁体中文版,这样多国语言的功能就能完整;路途还有点远…~~

切换服务到libretranslate

# 只加载中英俄文模型

version: '3.8'
services:
  libretranslate:
    image: libretranslate/libretranslate
    container_name: lt_translate
    restart: unless-stopped
    ports:
      - "8104:5000"
    environment:
      - LT_LOAD_ONLY=en,zh,ru
    deploy:
      resources:
        limits:
          memory: 4096M

其他的语言:

“en”,”name”:”英语”,
,”zh-Hans”,”name”:”简体中文”,
,”zh-Hant”,”name”:”繁体中文”,
,”fr”,”name”:”法语”,
,”de”,”name”:”德语”,
,”it”,”name”:”意大利语”,
,”ja”,”name”:”日语”,
,”ko”,”name”:”韩语”,
,”ru”,”name”:”俄语”,

服务运行起来需要一点时间(一开始UI会502报错), 耐心等待下…

下一步 API如何访问?

image-20251121113735341

灵感来源

translator简单、轻量、好用的划词翻译软件

https://github.com/OwO-Network/DeepLX


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注