Google翻译云API,翻译不正确
2022-04-18 00:00:00
python
text-to-speech
google-text-to-speech
google-translate
google-translation-api
问题描述
我最近开始将Google Cloud Translate API与Python结合使用。我在把这个词翻译成泰卢固语时遇到了困难,泰卢固语是用英语写的。一般来说,我们使用的互联网或移动应用程序谷歌翻译都是正确的。但API再次返回相同的单词。
谷歌云翻译接口:
输入文本:parishkaram chesamu
输出文本:parishkaram chesamu
参数:
text ='''parishkaram chesamu'''
target = "en"
output = translate_client.translate(text)
print(output)
{'translatedText': 'parishkaram chesamu', 'detectedSourceLanguage': 'te', 'input': 'parishkaram chesamu'}
=
手机或互联网谷歌翻译:
输入文本:parishkaram chesamu
输出文本:我们已解决
解决方案
基于我的评论,我也试图找出解决此问题的解决方案,我提供了我对此问题的解决方案的版本。我能可靠地工作的唯一经过测试的流程如下:(我使用的是谷歌云翻译)
Step 1: translate your message into a language, it doesn't matter which.
Step 2: get the detectedLanguageCode value from the results in step 1
Step 3: run a transliteration on the original message, with the value from step 2. (I'm using google's deprecated translit API), with thanks to @Ali for providing it!
Step 4: re-run step 1, modifying the original message to be the transliterated output in step 3.
这是我的代码中的一段代码,用来显示确切的伪流。(我删除了错误检查、背压等复杂性)。
// run request
let [response] = await translate(request);
request['contents'][0] = await transliterate(request.contents[0], response.translations[0].detectedLanguageCode);
[response] = await callWithRetry(request, interaction, channel);
return response;
音译基于上面发布的链接,我获取并设置为:
const url = `https://inputtools.google.com/request?text=${srcMessage}&itc=${srclang}-t-i0-und&num=${numChoices}&cp=0&cs=1&ie=utf-8&oe=utf-8&app=demopage`;
其中srcMessage是原始文本,srclang是步骤2的输出,我设置了数字选项(可能的DID-You-Means-This音译的数量为1)
相关文章