在控制台上从一种语言翻译成英语

Translate from a language to English on the console

我在一家使用其他多种语言(英语)的公司工作,所以我使用 https://translate.google.com a reasonable amount, but as I am on the terminal a lot, I would find a lot of convenience in being able to do that there than having to open a new google tab. The URL structure is trivial, and this works if put into any browser https://translate.google.com/?sl=fr&tl=en&text=bonjour&op=translate,将 fr 替换为任何源语言,将 en 替换为任何目标语言任何 word/phrase 的语言和 bonjoun%20mon%20ami。理想情况下,我想要 bash:

中的 2x 个函数
tt (translate to), tt <target-lang> <English word or phrase to translate to target-lang>
tf (translate from), tf <source-lang> <word or phrase to translate to English>

我已经尝试了几天 lynxelinks 等,并且在 commandlinefu 和其他网站(例如 https://www.commandlinefu.com/commands/matching/translate-english/dHJhbnNsYXRlIGVuZ2xpc2g=/sort-by-votes)上进行了多次搜索,但没有找到成功的方法返回翻译后的文本。 Google 是否以某种方式阻止了事情,是否有解决方法 - 肯定有一些工具(lynxelinkslinks2)可以解析当我们点击 URL,然后我们可以使用 sedcutgrep 等来提取翻译后的文本?

如果这被 cookie 或某些登录要求阻止,是否有替代的控制台工具或站点来允许其他翻译服务 Google 翻译?

各种翻译服务有 API,Google Translate 有 API,Deepl 有 API。我发现有些比其他的更准确,但这是个人喜好问题。

https://www.deepl.com/docs-api

https://cloud.google.com/translate/docs/reference/rest/v2/translate

如果您想从 shell 使用它,用 curljq 拼凑一个小的 bash 脚本来处理 [=28] 就足够了=] 响应,或者更好,使用 Python 或原生支持所有这些操作的 Perl。