Linguee API
项目描述
Linguee API
Linguee提供优秀的词典和翻译记忆服务。遗憾的是,您无法自动访问它。Linguee API解决了这个问题。它作为代理,将他们的HTML响应转换为易于使用的JSON API。
API端点
代理提供三个API端点:翻译、示例和外部来源。
API文档和游乐场可供示例安装使用
示例安装
示例安装可在https://linguee-api.fly.dev找到。
- 获取从葡萄牙语到英语的“bacalhau”单词的翻译:https://linguee-api.fly.dev/api/v2/translations?query=bacalhau&src=pt&dst=en。
- 获取精选示例列表:https://linguee-api.fly.dev/api/v2/examples?query=bacalhau&src=pt&dst=en。
- 从外部来源获取示例:https://linguee-api.fly.dev/api/v2/external_sources?query=bacalhau&src=pt&dst=en。
本地安装
安装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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a15d15a2a3ceae40dcc3496c36518df90f56b7eccdf5f0f294a5e7f5d7b695ec |
|
MD5 | 66551033a50f613f109f1503e2ad88ad |
|
BLAKE2b-256 | 7bdba21134fcb3c28c3f678aaa63e3e7ef5be6cc5a417be91c1f464a008c944d |
linguee_api-2.6.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9a224d28b7f31bd03dac5d478416a67c745c222c4e735003f67efaab79f69117 |
|
MD5 | 9f51ffd3e3ac3c8086db3c44d8beab92 |
|
BLAKE2b-256 | ffadae2d4f05ea4937ae1bc579434b7b790f2ef80fcd332c1f14d6d4b2d5c9bd |