Google翻訳APIを呼び出すショートコードタグ
2008/04/18
WordPress2.5のショートコードタグ関連のネタとして、Google翻訳APIを利用するショートコードタグを作ってみました。とはいっても実質はGoogleのドキュメント内のサンプルJavaScriptをラッピングしているだけですが(^^;
// [gtranslate (sl="SourceLang" tl="TargetLang" id="id")]content[/gtranslate]
// タグに囲まれた部分をgoogle翻訳する(デフォルトは日→英)
function gtranslate_func($atts, $content='') {
extract(shortcode_atts(array(
'sl' => 'ja',
'tl' => 'en',
'id' => 'gtrans',
), $atts));
return <<<_EOT_
<div id="$id"></div>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("language", "1");
function initialize() {
google.language.translate("$content", "$sl", "$tl", function(result) {
if (!result.error) {
var container = document.getElementById("$id");
container.innerHTML = result.translation;
}
});
}
google.setOnLoadCallback(initialize);
</script>
_EOT_;
}
add_shortcode('gtranslate', 'gtranslate_func');
使い方としては記事内に以下のようなタグを入れれば、次の行の様に翻訳されます。
[gtranslate]我々はこの老人を知っています。[/gtranslate]
ひとつの記事に複数タグを入れたい場合は重複しないidを指定してください。
[gtranslate id=”gtrans2″]いえ、この眼差しと顔の傷を知っています。[/gtranslate]