DeepL API 使用

DeepL 是我用过的最好的翻译工具。为了能更高效地利用这个工具,我们可以使用它的 API。

可以在 DeepL 的订阅选项中启用 API 订阅。需要注意的是 DeepL 有个奇怪的设定,如果你开通了 DeepL Pro,那么就不能用 DeepL API,反之亦然。所以在开通的时候看清楚要开通的是 DeepL API。

开通了 API 之后获取 token。

有一些提供 DeepLX 服务的,让我们可以免费使用到 DeepL 的 API 翻译服务。不过响应速度要比官方的慢一些。

通过结合词汇表(glossary)使用可以获得更好的翻译效果。接下来我们创建一个词汇表:

Free API 和 API Pro 的 Endpoint 不一样,下面都以 API Pro 的 Endpoint 来举例。Free API 用户请使用 https://api-free.deepl.com

# 首先设置 token
TOKEN="your-token"

# 构建 data
data=$(jq -n --arg glossary "$(cat glossary.tsv)" \
      '{
         name: "My Glossary",
         source_lang: "en",
         target_lang: "zh",
         entries: $glossary,
         entries_format: "tsv"
       }')

# 创建词汇表
curl -X POST "https://api.deepl.com/v2/glossaries" \
--header "Authorization: DeepL-Auth-Key $TOKEN" \
--header "Content-Type: application/json" \
--data "$data"

你可以把词汇表写入一个文件,然后通过 GLOSSARY=$(<glossary.tsv) 将词汇表写入环境变量的方式上传词汇表。

查看全部词汇表:

curl -X GET "https://api.deepl.com/v2/glossaries" \
--header "Authorization: DeepL-Auth-Key $TOKEN"

查看词汇表条目:

curl -X GET "https://api.deepl.com/v2/glossaries/96ebcd10-ac05-4e43-a529-8e4bdc0d8dd2/entries" \
--header "Authorization: DeepL-Auth-Key $TOKEN" \
--header "Accept: text/tab-separated-values" \
-o glossary.tsv

删除词汇表:

curl -X DELETE "https://api.deepl.com/v2/glossaries/{glossary_id}" \
--header "Authorization: DeepL-Auth-Key $TOKEN"

获取词汇表支持的语言对:

curl -X GET "https://api.deepl.com/v2/glossary-language-pairs" \
--header "Authorization: DeepL-Auth-Key $TOKEN" | jq

词汇表现在只支持 TSV 和 CSV,并且 CSV 只支持上传,不支持下载。

参考:Manage glossaries | DeepL API Documentation

posted @ 2024-10-13 22:21  Undefined443  阅读(1107)  评论(0)    收藏  举报