Home > スポンサー広告 > Google AJAX Language APIを読みこむブックマークレット

スポンサーサイト

スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comments:-

Comment Form

Trackback+Pingback:-

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/207-b1da3e63
Listed below are links to weblogs that reference
スポンサーサイト from Karafuto Blog

Home > スポンサー広告 > Google AJAX Language APIを読みこむブックマークレット

Home > javascript > Google AJAX Language APIを読みこむブックマークレット

Google AJAX Language APIを読みこむブックマークレット

javascript

Karafuto Blog - Google AJAX Language APIで翻訳する User JavaScriptではRESTful形式を使ったが、今回は Google AJAX Language APIを読みこみ、作成されたオブジェクトのメソッドを使う。RESTful形式よりは少し面倒だが、やれることは多い。

Google AJAX Language APIを読みこみ、使う手順

  1. Google AJAX API スクリプトを読みこむ。
    http://www.google.com/jsapi?callback=(関数名)
  2. 1で指定したコールバック関数で、googleオブジェクトの loadメソッドを使い、Google AJAX Language APIを読みこむ。
    google.load('language', '1', {'callback': (関数)});
  3. 2のコールバック関数で、languageオブジェクト(google.language)のメソッドを実行する。例えば、translateメソッドで文章を翻訳する。
    google.language.translate('こんにちは', 'ja', 'en', function (result){ alert(result.translation);});

Google AJAX Language APIで使える言語を列挙するブックマークレット

Google AJAX Language APIで使える言語を列挙するブックマークレット

ブックマークレットを実行すると、Google AJAX Language APIで使える言語を警告ダイアログに表示する。言語名の後の括弧に入っているのは、Google AJAX Language APIで言語を指定する時に使うパラメータ。

Google AJAX Language APIで使える言語を列挙するブックマークレット

ブックマークレットの内容

javascript:(function() {
  // Google AJAX Language APIの読みこみ
  loadLanguage = function() {
    google.load('language', '1', {
      'callback': enumerateLanguage
    });
  };
  // 言語を列挙
  enumerateLanguage = function() {
    var list = '';
    var num = 0;
    for (var i in google.language.Languages) {
      if (i != 'UNKNOWN') {
        num++;
        list += i + ' (' + google.language.Languages[i] + '), ';
      }
    }
    list = list.substring(0, list.length - 2) + '\n\n' + num;
    alert(list);
  };

  // Google AJAX APIの読みこみ
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = 'http://www.google.com/jsapi?callback=loadLanguage';
  document.body.appendChild(script);
})();

google.language.Languagesは、Google AJAX Language APIで扱うことができる言語の名前と言語のパラメータをプロパティと値にしたオブジェクト。

選択した文字列の言語を判定するブックマークレット

選択した文字列の言語を判定するブックマークレット

文字列を選択して、ブックマークレットを実行すると、Google AJAX Language APIが特定した言語と信頼度を警告ダイアログに表示する。

選択した文字列の言語を判定するブックマークレット

ブックマークレットの内容

javascript:(function() {
  // Google AJAX Language APIの読みこみ
  loadLanguage = function() {
    google.load('language', '1', {
      'callback': googleDetect
    });
  };
  // 言語を判定
  googleDetect = function() {
    google.language.detect(text, function(result) {
      if (result.language){
        for (var i in google.language.Languages) {
          var lang = result.language;
          if (result.language == google.language.Languages[i]) {
            lang = i;
            break;
          }
        }
        var percent = result.confidence < 0.01 ? result.confidence * 100 : Math.round(result.confidence * 100);
        alert('テキストの言語は、' + lang + 'です。\n判定の信頼度は、' + percent + '%です。');
      } else {
        alert('テキストの言語を判定できませんでした。');
      }
    })
  };

  var text = window.getSelection ? window.getSelection().toString() : document.selection.createRange().text;
  if (! text){
    alert('文字列を選択してください');
    return;
  }
  if (text.length > 200){
    text = text.substring(0, 200);
  }
  // Google AJAX APIの読みこみ
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'http://www.google.com/jsapi?callback=loadLanguage';
    document.body.appendChild(script);
})();

google.language.detectは、文字列の言語を判定するメソッド。コールバック関数の引数に結果の入ったオブジェクトを返す。

google.language.detect(文字列, 関数)

返すオブジェクト
{
    status: {
        code: (ステータスコード)
    }
    language: (特定した言語)
    isReliable: (判定が信頼できるか表す真偽値、信頼できるなら true)
    confidence: (判定の信頼度を 0~1.0の数字で表す)
}
    

参考にしたページ

Comments:0

Comment Form

Trackback+Pingback:0

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/207-b1da3e63
Listed below are links to weblogs that reference
Google AJAX Language APIを読みこむブックマークレット from Karafuto Blog

Home > javascript > Google AJAX Language APIを読みこむブックマークレット

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。