从 Google Translate API 获取中文罗马拼音

2022-01-15 00:00:00 google-translate xmlhttprequest ajax

Google 语言翻译 A​​PI 可以干净利落地翻译成中文:

The Google language translate API works cleanly to translate into Chinese:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script>
  google.load('language','1');
  function googletrans(text) {
    google.language.translate(text,'en','zh',function(result) {
      alert(result.translation);
    });
  }
</script>
<input onchange="googletrans(this.value);">
Example input: "Hello"
Result: "你好"

我的问题是我无法获得罗马拼音(使用英文字母的发音).这是一个已知问题.

My problem is I can't get the Romanization (pronunciation using English letters). This is a known issue.

现在数据就在 translate.google.com 上(示例输入:Hello" 结果:Nǐ hǎo"),我什至可以通过将浏览器指向:

Now the data is right there on translate.google.com (Example input: "Hello" Result: "Nǐ hǎo") and I can even see it by pointing my browser to:

http://translate.google.com/translate_a/t?client=t&text=hello&hl=en&sl=en&tl=zh-CN&otf=2&pc=0
Result:
{"sentences":[{"trans":"你好","orig":"hello","translit":"Nǐ hǎo"}],
 "dict":[{"pos":"interjection","terms":["喂"]}],"src":"en"}

但不知何故,当我尝试使用 ajax 获取此 URL 时,它失败了(XMLHttpRequest 异常 101).有没有办法用 ajax 检索这个罗马化数据?

But somehow when I try to get this URL with ajax it fails (XMLHttpRequest Exception 101). Is there any way to retrieve this Romanization data with ajax?

推荐答案

今天看来不可能,但 Google Translate API 上存在未解决的问题来解决这个问题.如果我们能够围绕这个问题召集足够多的人,也许 Google 会提高其优先级:

It doesn't appear possible today, but there are open issues on the Google Translate API to address this. If we can rally enough people around the issue, perhaps Google will raise its priority:

1) http://code.google.com/p/google-ajax-apis/issues/detail?id=478&q=label%3AAPIType-Language&sort=-stars&colspec=ID%20Type%20Stars%20Status%20Modified%20Summary%20APIType%20Opened

2) http://code.google.com/p/google-ajax-apis/issues/detail?id=381&q=label%3AAPIType-Language&sort=-stars&colspec=ID%20Type%20Stars%20Status%20Modified%20Summary%20APIType%20Opened

相关文章