Javascriptアプリケーションの国際化(多言語化)をまとめてみた
hiWikiMini(http://d.hatena.ne.jp/dot_h2o2/20100407/p1)の機能拡張で悩んでいるのが、アプリケーションの多言語化。
通常のアプリやRails等で開発したWebアプリであればGettextを使うという手が思いつく。
ただ、HTML&Javascriptでシンプルを目指すhiWikiMiniでは、外部ライブラリの利用は難しそう。
そんな環境だけど調べてみると手はいくつかありそう
せっかくなのでJavascriptだけで実現できる、簡易法を研究してみた。
<html> <script> // Define Table var messages = {}; messages.ja = {}; messages.en = {}; var messgae ={}; function init(){ //Set Japanese messgaes messages.ja.run="実行"; messages.ja.stop="停止"; //Set English messgaes messages.en.run="Run"; messages.en.stop="Stop"; } function display(){ message = messages['en']; alert(message.run); } </script> <body onload="init();"> <h1>Test</h1> <form> <input type="button" name="Display" value="Display" onclick="display()"> </input> </body> </html>
言語の切り替えは"message = messages['en'];"でおこなう。
後は、"messages.ja.xxx"や"messages.en.xxx"で必要なメッセージを作成していけば完成、小規模ならこれで間に合いそう。
参考にさせて頂いたサイト:
JavaScriptの多言語対応の方法についてぼんやり考えてみた (でぃべろっぱーず・さいど)