跳转到主要内容

Linguee API

项目描述

Linguee API

Linguee提供优秀的词典和翻译记忆服务。遗憾的是,您无法自动访问它。Linguee API解决了这个问题。它作为代理,将他们的HTML响应转换为易于使用的JSON API。

API端点

代理提供三个API端点:翻译、示例和外部来源。

Linguee API

API文档和游乐场可供示例安装使用

示例安装

示例安装可在https://linguee-api.fly.dev找到。

本地安装

安装Linguee API。

$ pip install linguee-api

使用uvicorn运行API服务器(作为依赖项安装)

$ uvicorn linguee_api.api:app
...
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
...

打开http://127.0.0.1:8000。您将被重定向到API文档页面,在那里您可以测试API。

支持的语言

API支持Linguee支持的所有语言。但在Linguee中,并非所有语言对都是有效的。支持的语言有:bg(保加利亚语)、cs(捷克语)、da(丹麦语)、de(德语)、el(希腊语)、en(英语)、es(西班牙语)、et(爱沙尼亚语)、fi(芬兰语)、fr(法语)、hu(匈牙利语)、it(意大利语)、ja(日语)、lt(立陶宛语)、lv(拉脱维亚语)、mt(马耳他语)、nl(荷兰语)、pl(波兰语)、pt(葡萄牙语)、ro(罗马尼亚语)、ru(俄语)、sk(斯洛伐克语)、sl(斯洛文尼亚语)、sv(瑞典语)、zh(中文)。

响应结构

词元

每个查询(一个随机字符串)可以匹配多个所谓的词元对象。

根据维基百科,词元是一组词的规范形式、词典形式或引用形式。

例如,在英语中,break、breaks、broke、broken和breaking是同一词素的不同形式,其中"break"是作为它们索引的词元。

在API中,词元只有一个必需的属性"文本",但可能包含可选元素,例如词性("pos")和带有发音的音频链接。

翻译

每个词元都有一个或多个翻译。翻译是不同语言中的词元,具有类似的结构,包括必要的文本字段和可选的词性和音频链接。

示例

除了词元外,API还返回由词典作者精心挑选的多个使用示例。示例是带有一种或多种不同语言等效词的短语。在适当的情况下,示例可能包含词性形式和音频链接。

外部来源

除了精心挑选的示例外,Linguee还提供指向外部来源的链接。API返回包含原始语言中摘录的短语以及翻译中等效摘录的对象。

使用Python和requests进行使用示例

一旦安装在Heroku上,Linguee API可以像其他API服务一样使用。我建议使用requests库。

使用Python将一个语言中的一个词或短语翻译成另一个语言

向样本API安装请求,将葡萄牙语的单词"bacalhau"翻译成英语。

import requests

api_root = "https://linguee-api.fly.dev/api/v2"
resp = requests.get(f"{api_root}/translations", params={"query": "bacalhau", "src": "pt", "dst": "en"})
for lemma in resp.json():
    for translation in lemma['translations']:
        print(f"{lemma['text']} -> {translation['text']}")

这将打印

bacalhau -> cod
bacalhau -> codfish

使用Python提供翻译示例

向样本API安装请求,获取"bacalhau"的所有使用示例及其翻译。

import requests

api_root = "https://linguee-api.fly.dev/api/v2"

resp = requests.get(f"{api_root}/examples", params={"query": "bacalhau", "src": "pt", "dst": "en"})

for example in resp.json():
    for translation in example["translations"]:
        print(f"{example['text']} -> {translation['text']}")

这将打印

bacalhau desfiado -> shredded cod
lombo de bacalhau -> codfish fillet
...
bacalhau do Atlântico -> Atlantic cod

使用Python获取真实世界的使用示例

向样本API安装请求,获取"bacalhau"的所有真实世界使用示例及其翻译。

import requests

api_root = "https://linguee-api.fly.dev/api/v2"

resp = requests.get(f"{api_root}/external_sources", params={"query": "bacalhau", "src": "pt", "dst": "en"})
for source in resp.json():
    print(f"{source['src']} -> {source['dst']}")

这将打印一个类似于以下的长列表的真实世界示例

É calculado o esforço de [...] pesca de todos os navios que capturam bacalhau. -> The fishing effort of all [...] the vessels catching cod will be calculated.

Bash、curl和jq使用示例

一旦安装在Heroku上,Linguee API可以像其他API服务一样使用。

对于Bash脚本,您可以使用curl和jq,一个命令行JSON解析器。

使用Bash将一个语言中的一个词或短语翻译成另一个语言

向样本API安装请求,获取"bacalhau"的所有使用示例及其翻译。

curl -s 'https://linguee-api.fly.dev/api/v2/translations?query=bacalhau&src=pt&dst=en' | jq -c '{text: .[].text, translation: .[].translations[].text}'

这将打印

{"text":"bacalhau","translation":"cod"}
{"text":"bacalhau","translation":"codfish"}

使用Bash提供翻译示例

向样本API安装请求,获取"bacalhau"的所有使用示例及其翻译。

curl -s 'https://linguee-api.fly.dev/api/v2/examples?query=bacalhau&src=pt&dst=en' | jq -c '{text: .[].text, translation: .[].translations[].text}'

这将打印类似于以下的内容

{"text":"bacalhau desfiado","translation":"shredded cod"}
{"text":"bacalhau desfiado","translation":"codfish fillet"}
...
{"text":"bacalhau do Atlântico","translation":"Atlantic cod"}

使用Bash获取真实世界的使用示例

向样本API安装请求,获取"bacalhau"的所有真实世界使用示例及其翻译。

curl -s 'https://linguee-api.fly.dev/api/v2/external_sources?query=bacalhau&src=pt&dst=en' | jq -c '{src: .[].src, dst: .[].dst}'

这将打印一个类似于以下的长列表的真实世界示例

{"src":"É calculado o esforço de [...] pesca de todos os navios que capturam bacalhau.","dst":"The fishing effort of all [...] the vessels catching cod will be calculated."}
...

常见问题解答(FAQ)

API服务器返回"The Linguee server returned 503"。

这个错误意味着Linguee网站暂时阻止API客户端发送过多请求。如果您使用https://linguee-api.fly.dev上的样本API服务器,您可以稍后再次发送请求或考虑安装自己的API服务器,在那里您不会与其他用户共享相同的IP地址。

条款和条件

如果您使用API,请确保您遵守Linguee条款和条件,特别是以下条款

linguee.com服务的私人使用和商业使用都是免费的。然而,严格禁止向第三方收费转发我们的服务

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

linguee_api-2.6.3.tar.gz (100.5 kB 查看哈希值)

上传时间 源代码

构建分发

linguee_api-2.6.3-py3-none-any.whl (98.1 kB 查看哈希值)

上传时间 Python 3

由以下支持