戻る コラム一覧 山写真紀行

★★ 翻訳プログラムを作ってみよう ★★ 2008年04月27日

 ここのコラムには場違いな内容かも知れないが、「こんなことも出来るんだ!」という驚きから挙げてみた。
マイコミジャーナルの記事「Googleからの贈り物 - Google AJAX Language APIでカンタンに翻訳サイトを」2008/03/21白石俊平氏から得た情報であるが、ネット接続状態で、実に簡単に翻訳ツールが作れる。

 以下は同氏の作成されたhtmlを筆者なりに変更を加えさせていただいたものである。GoogleのAPI(Application Program Interface)を利用するhtmlであれば、このレベルでは誰が作っても似たものになるのでパクリと言われないようにしようとしてもせいぜい変数名を変える程度で、やっぱりパクリになってしまうので、変数名もそのまま引用させていただいた。

 下の着色枠内 <html> から </html> の部分をWindowsのメモ帳にコピー&ペーストし、名前を付けて保存でマイドキュメントの中に aaaa.html とでも名前を付けて保存してみてください。そして、それをダブルクリックすると、翻訳プログラムが起動します。「翻訳遊び」程度には使えます。
(悪い奴が、似たようなSCRIPTを使ってウイルスを仕込むこともあるので、安易に不明なSCRIPTを実行してはいけませんが、ここではSCRIPTの元は間違いなくグーグルとなっているので問題ないし、その他のSCRIPTは中身丸見えで提供しており、この中にはそのような悪さをする仕組みはございません。)


<html>
  <head>
    <meta http-equiv="content-type"
      content="text/html;charset=Shift_JIS"></meta>
    <style type="text/css">
      textarea { width: 500px; height: 150px; }</style>
    <script type="text/javascript"
      src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("language", "1");
//画面初期化時に言語選択ボックスを作成する
      function init() {
        var langList = document.getElementById("target-language");
//  Language APIで使える言語をループしてリストに表示
        for (var lang in google.language.Languages) {
          var langOpt = new Option(lang, google.language.Languages[lang]);
          langList.options[langList.options.length] = langOpt;
        }
      }
// body.onload時にinit()が呼ばれるようにする
      google.setOnLoadCallback(init);
      function translate() {
        var source = document.getElementById("source").value;
// 入力された文字列から、言語を自動的に判別する
        google.language.detect(source, function(detectResult) {
          if (detectResult.error) {
            alert("Error:" + error.message); return;
          }
// 選択されている言語を取得
          var langList = document.getElementById("target-language");
          targetLang = langList.options[langList.selectedIndex].value;
// 翻訳
          google.language.translate(
            source,
            detectResult.language,
            targetLang,
            function(result) {
              if (result.error) {
                alert("Error:" + result.message);
                return;
              }
              document.getElementById("result").value = result.translation;
            });
        });
      }
    </script>
  </head>
  <body>
これはGoogleのAPIを使った翻訳プログラムです。<BR />
IEによるセキュリティ警告が出た場合はスクリプトを許可して下さい。<BR />
上の欄に文章を入れ、翻訳先言語を選択[翻訳]ボタンを押して下さい。<BR />
    <textarea id="source"></textarea><BR />
    <select id="target-language"></select>
    <button onclick="translate()"> 翻 訳 </button><br />
    <textarea id="result"></textarea>
  </body>
</html>

BACK