【问题标题】:Translating human languages in Python [closed]用 Python 翻译人类语言 [关闭]
【发布时间】:2009-08-22 16:33:11
【问题描述】:

是否有用于将文本从一种人类语言翻译成另一种语言的 Python 模块?我打算使用要使用 Python 脚本进行预处理和后处理的文本。 还可以使用哪些其他 Python 集成方法?

【问题讨论】:

    标签: python linguistics


    【解决方案1】:

    如果您希望在两种语言之间实际翻译一串文本,例如从英语“Hello”到西班牙语“Hola”,您可能需要查看Google Language API

    Bing Translator API.

    最后,Google Cloud Platform 提供Translate API 服务,每翻译 50,000 个字符的成本约为 1 美元。

    【讨论】:

    • 来自 Google Code "Google Translate API v1 已于 2011 年 5 月 26 日正式弃用;它将在 2011 年 12 月 1 日完全关闭。对于文本翻译,您可以使用 Google Translate API v2,现在可以作为付费服务使用。”有其他选择吗?
    • @JJ Geewax Google Translate API 现在是付费服务。有没有免费的python开发者语言离线翻译服务器
    • 我不知道任何副手,但按照谷歌翻译当前(2016 年 8 月)的定价,1 美元可以为您购买 50,000 个翻译字符,这似乎很合理。
    • 有没有可用的离线python翻译器?我可以下载语言包。
    【解决方案2】:

    Python Natural Language Toolkit 几乎肯定会对您有用:

    “用于自然语言处理研究和开发的开源 Python 模块、语言数据和文档”

    我不相信它会直接进行翻译,但它对于机器理解自然语言文本非常有用。

    【讨论】:

      【解决方案3】:

      Python 支持gettext。查看docs here

      【讨论】:

        【解决方案4】:

        如果您想翻译任意(自然)文本,请查看Goslate,这是一个用于 Google 翻译服务的免费 Python API。根据this website,代码就这么简单:

        import goslate
        gs = goslate.Goslate()
        print(gs.translate('hello world', 'de'))
        

        您可以使用 pip 安装

        pip install goslate
        

        【讨论】:

        • 随着 Google 翻译的弃用,goslate 已停止服务。
        【解决方案5】:

        使用什么取决于您要翻译的内容。

        1. 作为应用程序一部分的文本,如 UI 等。然后直接使用 gettext 或 zope.i18n,它包装了 gettext,因此更易于使用。
        2. 任意文本:Google Translation API 适合您。
        3. “内容”,即应用程序的用户将修改和翻译的内容:嗯...没什么,真的。您必须自己实现。

        根据你的描述,听起来你是在 #2 之后。

        【讨论】: