N0I0C0K / TranslaterCollections

集成百度翻译, 有道翻译api. 提供Python版本的易用接口🖐️
38 stars 4 forks source link

无法指定翻译结果语言? #2

Closed Dinggggg closed 1 year ago

Dinggggg commented 1 year ago

我尝试将繁体中文翻译为简体中文,但是使用原方法只能够翻译为英文,所以我尝试固定返回结果始终为简体中文

def translate_zhT2zh(self, src: str, fromLan: str = "auto", toLan: str = "zh-CN"):
    data = {
        "i": src,
        "from": fromLan,
        "to": toLan,
        "dictResult": True,
        "keyid": "webfanyi",
    } | self.__base_body(self.key)
    res = self.sess.post("https://dict.youdao.com/webtranslate", data=data)
    return self.__decode(res.text)

得到的结果为:

>律政司入稟申請禁制令 禁公眾播放《願榮光》 歌詞旋律雷同亦禁
{'code': 21}
>
N0I0C0K commented 1 year ago

你好,这个问题是因为中文对应的代码是:“zh-CHS”,不是“zh-CN” 稍后我会补上完整的语言代码列表

translater.translate(input(">"), toLan="zh-CHS")

Output:

{
│   'code': 0,
│   'translateResult': [
│   │   [
│   │   │   {
│   │   │   │   'tgt': '律政司入禀申请禁制令 禁公众播放《愿荣光》 歌词旋律雷同亦禁',
│   │   │   │   'src': '律政司入稟申請禁制令 禁公眾播放《願榮光》 歌詞旋律雷同亦禁',
│   │   │   │   'tgtPronounce': 'lǜ zhèng sī rù bĭng shēn qĭng jìn zhì lìng jìn gōng zhòng bō fàng <yuàn róng guāng > gē cí xuán lǜ léi tóng yì jìn'
│   │   │   }
│   │   ]
│   ],
│   'type': 'zh-CHT2zh-CHS'
}
Dinggggg commented 1 year ago

感谢你的回复,问题得到解决了!

N0I0C0K commented 1 year ago

可以去PowerTranslator,里面有一个常用语言代码列表