【问题标题】:Translate from a language to English on the console在控制台上从一种语言翻译成英语
【发布时间】:2021-10-02 07:51:28
【问题描述】:

我在一家使用各种其他语言的公司工作(英语),所以我使用https://translate.google.com 的数量是合理的,但由于我经常在终端上,我会发现能够很方便要做到这一点,而不必打开一个新的谷歌标签。 URL 结构很简单,如果将其放入任何浏览器 https://translate.google.com/?sl=fr&tl=en&text=bonjour&op=translate 中,将 fr 替换为任何源语言,将 en 替换为任何目标语言,将 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)上的许多搜索都没有成功,但没有找到返回翻译文本的技巧。谷歌是否以某种方式阻止了事情,是否有解决方法 - 肯定有一些工具(lynxelinkslinks2)可以解决我们点击 URL 时发回的文本,然后我们可以只提取翻译后的文本使用sedcutgrep 等?

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

【问题讨论】:

  • 至少在Ubuntu中有一个工具translate-shell
  • 这些比我想通过谷歌翻译网址做的要好得多。我看到translate-shell 可以立即从aptdnf 存储库获得,并且它还可以显示字典定义(其他对我有用的东西,例如trans -d dog)。如果我想将tt / tf 构造为别名或函数,我也可以使用trans 轻松构造它们。谢谢这些。

标签: bash google-translate lynx elinks


【解决方案1】:

各种翻译服务都有 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 脚本来处理 JSON 响应,或者更好的是,使用原生支持所有这些操作的 Python 或 Perl。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-04
    • 2011-01-04
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    相关资源
    最近更新 更多