【问题标题】:Problem using Yandex translater API in Python在 Python 中使用 Yandex 翻译 API 的问题
【发布时间】:2019-04-15 04:19:35
【问题描述】:

有人要求我翻译一些单词,我正在使用 Python 来做。 Yandex 有一个应该与 Python 一起使用的 API,文档在这里:

https://pypi.org/project/yandex-translater/1.0/

我按照这些步骤操作,但总是遇到与 API 相关的错误,或者我的代码中可能没有正确设置某些内容。

代码如下:

from yandex import Translater

tr = Translater()
tr.set_key('my API key not given here')
tr.set_text("Hello World") 
tr.set_from_lang('en')
tr.set_to_lang('fr')

result = tr.translate()

print(result)

然后我得到这个错误:

File "C:\Users\BMQT\Desktop\Scraping\test.py", line 2, in <module>
tr = Translater()
File "C:\Program Files\Python37\lib\site-packages\yandex\Translater.py",     line 23, in __init__
self.default_ui = locale.getlocale()[0].split('_')[0]
AttributeError: 'NoneType' object has no attribute 'split'

如果您需要,请快速浏览一下 translater.py 中的第 23 行:

self.default_ui = locale.getlocale()[0].split('_')[0]

API 是否损坏或我的代码有误?感谢您的回答!

【问题讨论】:

  • 我使用了另一个名为 yandex_translate 的 api 模块,它工作正常。从 yandex_translate 导入 YandexTranslate

标签: python api translate yandex


【解决方案1】:

我使用了另一个名为 yandex_translate 的 api 模块,它运行良好。

from yandex_translate import YandexTranslate
translate = YandexTranslate('mykey')
traduction =('Translate:', translate.translate('bonjour', 'fr-ar'))
print(traduction)

不知道上一个有什么问题,可能已经过时了。

【讨论】:

    【解决方案2】:

    翻译器对象需要像这样创建:tr = Translater.Translater()

    from yandex import Translater
    
    tr = Translater.Translater()
    tr.set_key('my API key not given here')
    tr.set_text("Hello World") 
    tr.set_from_lang('en')
    tr.set_to_lang('fr')
    
    result = tr.translate()
    
    print(result)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-22
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      相关资源
      最近更新 更多