Google翻訳APIの利用

Google AJAX Language API(翻訳API)を使ってます。このAPIはXMLじゃなくJSONで返って来るので処置に困るのですが、戻り値の翻訳文字列の前後を機械的に削除することでとりあえず対応^^; エラー処理とかは考えてません。とりあえずということで。。

この内容を表示するためには Adobe Flash Plugin が必要です。

<canvas proxied="false" bgcolor="0xcccccc"> 
<dataset name="ds" request="true" type="http"
src="${'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&amp;q=' + query.text + '&amp;langpair=ja%7Cen'}" >
  <handler name="ondata"><![CDATA[
    var d = this.getPointer().xpathQuery("ds:/text()");
    d = d.replace('{"responseData": {"translatedText":"',"");
    d = d.replace('"}, "responseDetails": null, "responseStatus": 200}',"");
    res.setAttribute('text',d);
  ]]></handler>
</dataset>
<simplelayout/>
<edittext id="query" width="100%">こんにちは。お元気ですか?</edittext>
<button onclick="ds.doRequest()">翻訳</button>
<text id="res"/>
</canvas>

▼専用ライブラリを使ってJSONデータをきちんと取り扱ったバージョンはこちら
http://www.openlaszlo-ason.com/doku.php/json

もうひとつのやり方

入力した文章の言語を自動で識別して英語に翻訳する仕組みになっています。

この内容を表示するためには Adobe Flash Plugin が必要です。
(OpenLaszlo4.9.0/swf8)

<canvas proxied="false" bgcolor="0xcccccc"> 
<dataset name="lang_ds" request="false" type="http"
src="${'http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&amp;q=' + query.text }" >
  <handler name="ondata"><![CDATA[
    lang_res_str = new String(this.getPointer().xpathQuery("lang_ds:/text()"));
    lang_last = lang_res_str.indexOf(",");
    lang_str = new String(lang_res_str.substring(30,lang_last-1));
    tran_ds.setAttribute('src',"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + query.text + "&langpair=" +lang_str+"%7Cen");
    tran_ds.doRequest();
  ]]></handler>
</dataset>
<dataset name="tran_ds" request="false" type="http" >
 <handler name="ondata"><![CDATA[
   res_str = new String(this.getPointer().xpathQuery("tran_ds:/text()"));
   last = res_str.indexOf(",");
   results = res_str.substring(36,last-2);
   res.setAttribute('text',results);
 ]]></handler>
</dataset>
<dataset name="test"/>
<simplelayout/>
<edittext id="query" width="100%">こんにちは。お元気ですか?</edittext>
<button onclick="lang_ds.doRequest()">翻訳</button>
<text id="res"/>
</canvas>
translate.txt · 最終更新: 2011/01/20 12:31 by ason
Copyright © 2008~ずっと ason(minamotonoason@gmail.com)

chuumap 中小企業ツイッターマップ 製造、加工、卸などB2B主体の個人事業者、中小企業のツイッターを、グーグルマップの住所の位置に正確に表示。
tentwi 店舗でツイート 飲食店、販売店など、一般消費者向けの店舗を構えるお店ツイッターを、グーグルマップの住所の位置に正確に表示。
廃句ったー あなたのツイッターの最近のツイートから廃句もとい俳句を生成。
みかけったー 超人気!あなたのツイッターの最近のツイートからみかけの年齢と性別を診断。
キキキーったー 最近のツイートからキーの使用回数をしらべます。
SLOTTER(すろったー) あなたのツイッターのタイムラインのアイコンでスロット。FLASHゲーム。
MultiLangTweet 一度に48ヶ国語に翻訳してツイート。
英訳ったー 英訳または日本語訳してツイート。
バンドメンバー募集サイト シンプルなバンドメンバー募集サイト。
CMS総合デモサイト 有名オープンソースCMS、EC、SNS、Wikiを一度に全部体験できる総合デモサイト
ビズロック BizRock(ビズロック)~音楽ライブでプレゼン!情熱型ビジネス交流会