多言語翻訳スクリプト

MyScripts向けに、様々な言語を日本語に翻訳するスクリプトを作成しました。Microsoft Translatorのサービスを使用しています。このサービスがサポートする言語であれば、すべて日本語に翻訳できます。機械翻訳なので、訳文の質は微妙ですが、多言語辞書としては使えます。スクリプトは以下のページの「日本語へ翻訳」からどうぞ。

MyScriptsスクリプト集

参考までに、スクリプトのソースも掲載しておきます。

// ユーティリティ関数
function httpGet(url) {
var xhr = new XMLHttpRequest();
xhr.open("GET",url, false);
xhr.send(null);
return xhr.responseText;
}

// https://ssl.bing.com/webmaster/developers/appids.aspx で取得したApp IDを設定します。
// MyScriptsスクリプト集に登録したスクリプトには設定済みです。
var APPID = "<App ID>";

// 原文の言語を判定します。
var srcLangXml = httpGet("http://api.microsofttranslator.com/V2/Http.svc/Detect?appId="+APPID+"&text="+ENCTEXT);

// 結果はXMLとして返却されるので、タグを削除して、"en" や "fr" といった文字列にします。
var srcLang = srcLangXml.replace(/<.+?>/g,"");

// 翻訳します。
// URL末尾の ja を en や fr に変更すれば、それぞれ英語とフランス語に翻訳できるようになります。
var resultXml = httpGet("http://api.microsofttranslator.com/V2/Http.svc/Translate?appId="+APPID+"&text="+ENCTEXT+"&from="+srcLang+"&to=ja");

// タグを削除して、エンティティを変換します。
var result = resultXml.replace(/<.+?>/g,"").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&");

// MyScriptsに結果を渡します。
result;

「MyScripts」をリリースしました

「MyScripts」は、Javascriptの編集と実行を行うためのアプリです。クリップボード内のテキストや、MyScriptsの連携URLで渡されたテキストをスクリプトから取得して加工することができます。加工後のテキストはクリップボードにコピーしたり、URLとして開いたり、デバッグ画面に表示したりできます。

スクリプトのエディタ画面にはコード補完と自動インデント機能が搭載されていますので、スクリプトをすばやく簡単に作成できます。

その他に以下の機能を搭載しています。
・拡張キーボード – 各種記号をすばやく入力できます
・インポート文 – 他のスクリプトをインポートできます
・ログ出力 – デバッグ画面にログを出力できます
・エラー出力 – デバッグ画面でスクリプト実行時のエラーを確認できます
・スクリプト共有 – スクリプトをブックマークレットに変換して他の人にメールしたりブログに掲載できます

ダウンロードはこちらからどうぞ。