JavaScriptでもGettextを使った多言語対応「JavaScript Gettext」
JavaScript Gettextは多言語化処理を行うGettextをJavaScriptに対応させたライブラリ。
JavaScript GettextはJavaScript製のオープンソース・ソフトウェア。インターネット上のサービスは世界中につながっている。最初は日本語向けに提供していたサービスも規模が大きくなれば他言語向けに提供したいと思うかもしれない。そんな時に使えるのがGettextだ。
デモ
通常は英語が基本になるだろうが、Gettextを使うことで別な言語への展開が容易になる。そんなGettextをJavaScript向けに提供するのがJavaScript Gettextだ。
JavaScriptで別言語展開する場合、大抵言語別にJavaScriptファイルを分けて提供する。だがそれではファイルが分かれてしまい、管理が複雑になる。そこでメッセージ部分だけを切り分けて管理できるのがJavaScript Gettextになる。
ソース
po2jsonというコマンドが用意されており、Gettextで使われるpoファイルをJSONデータに展開できる。後はgettextメソッドを使って文字列を呼び出すだけだ。単なるテキスト置き換えはもちろん、単数/複数形やEOTを使った場合にも対応している。
MOONGIFTはこう見る
poファイルから変換できるので、メッセージファイルを更新したらJSONファイルもアップデートするようにすれば良い。そうすれば言語依存部分は切り離して管理できるようになる。JavaScriptはビューとプログラミング言語が混ざるので、メッセージが別で管理できるメリットは大きそうだ。
一度サービスを開始した後、他言語化を考えるレベルに達するまでは相当サービスが大きくなければならないが、元々仕組みを用意しておけば導入コストはさほど大きくはない。サーバ側の多言語化はもちろん、JavaScriptについても考えておくといいだろう。
JavaScript Gettext - Javascript implementation of the GNU Gettext internationalization (i18n) API.