少年幃禿的煩惱

Navigation

最新協作平台活動

70天前是
某個日子

Home‎ > ‎Google Code‎ > ‎

Google AJAX Language API


介紹

Google AJAX Language API 可以透過 Javascript 翻譯或是偵測語言. 但是必須在線執行, 無法在離線狀態下使用. Translation 是翻譯功能, Transliteration 則是字譯功能, 能在不同語言下的字母做轉換.

Translation and Detection

Including the AJAX Language API

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("language", "1");
</script>

Language Translation

翻譯英文的 "Hello, World" 成西班牙語. (Demo@Google )
google.language.translate("Hello world", "en", "es", function(result) {
  if (!result.error) {
    var container = document.getElementById("translation");
    container.innerHTML = result.translation;
  }
});

Language Translation

偵測某段文字的語言. (Demo@Google )
var text = "¿Dónde está el baño?";
google.language.detect(text, function(result) {
  if (!result.error) {
    var language = 'unknown';
    for (l in google.language.Languages) {
      if (google.language.Languages[l] == result.language) {
        language = l;
        break;
      }
    }
    var container = document.getElementById("detection");
    container.innerHTML = text + " is: " + language + "";
  }
});

Detection of Unicode font rendering support

有些時候瀏覽器與作業系統會無法正確顯示一些特別 Unicode 字型. 你可以透過 google.language.isFontRenderingSupported() 來判斷使用者是否正常顯示文字. 另外要注意這個方法只在 Unicode 字型上有作用. 如果無法正常顯示有多個方式來解決這個問題 - 請詳細閱讀這篇文章 基本上是需要使用者端做調整. (Demo@Google )
var result = google.language.isFontRenderingSupported("hi");
var resultStr = "";
if (result == google.language.FontRenderingStatus.SUPPORTED) {
  resultStr = "Rendering for " + lang + " is supported.";
} else if (result == google.language.FontRenderingStatus.UNSUPPORTED) {
  resultStr = "Rendering for " + lang + " is not supported.";
} else {
  resultStr = "Unsupported language " + lang + " for font detection API.";
}
var resultDiv = document.getElementById("displayResultsDiv");
resultDiv.innerHTML += resultStr;

Source Detection during Translation

自動偵測來源語言, 直接翻譯成指定的語言. (Demo@Google )
google.language.translate("Hello world", "", "es", function(result) {
  if (!result.error) {
    var container = document.getElementById("translation");
    container.innerHTML = result.translation;
  }
});

Branding and Google Attribution

這部分跟翻譯沒直接關係, 只是一般而言必須告知使用者使用了哪個翻譯服務, 所以才有了 google.language.getBranding() 這個方法. (Demo@Google )
// attach a "powered by Google" branding
<div id='branding'> </div>
...
google.language.getBranding('branding');


Transliteration

@TODO