i18n
メッセージの翻訳者は、技術者ではなく、メッセージのリソースファイルを直接編集したりというのは少し難しいです。また、更新されたメッセージを間単に反映できないと、デザイナーがすぐに表示結果が確認できないために、システムの改善がスムーズに行えま…
国際化をするためには、ソフトウェアのつくりが国際化を意識した作りになっていないといけません。ここでは、国際化を行うための前提条件として、3つの重要なポイントについて書いてみます。 ロジックとビューが分離されていること これが行われていないとビ…
画面のレイアウトは、国際化により崩れることがあります。文字列長が違うため、英語用のデザインにあわないことがでてくるからです。 画面レイアウトの国際化をするために守っておかなければいけないことが一つあります。それは、 構造とデザインを分離する…
Perlには、Gettextを簡便に扱うためのモジュールが幾つか存在します。 その中でも、とても簡単に使えるのがLocale::Maketext::Simpleです。 Perlで国際化フレームワークを開発するのであれば、このモジュールがとてもお勧めです。 このモジュールは、Catalys…
gettextは国際化をする上で必須ツールの一つです。gettextそのものの便利さもあるのですが、その付属ツールの便利さもあります。 今回はその付属ツールの中からmsgfmtに絞って話をしたいと思います。 各国語毎のメッセージリソースファイルがあり、その中の…
アプリケーションの国際化というと、POTファイルを直接翻訳していき、それをPOファイルにマージするというやり方が一般的なのではないかと思います。しかし、POTファイルを直接編集するのは、技術者ではない人には少し難しいです。 そこで今は次のような工夫…
国際化といっても、単純なローカライズ作業とは違い、文字列を置き換えるだけでは国際化というのはできません。国際化をするには、数多くの問題を解決しなければいけません。 国際化をするときに発生するのは、以下のような問題です メッセージの長さによっ…
JavaScriptにはGetTextのような国際化を支援するような仕組みがありません。 では、いかに国際化していけばよいでしょうか?少し考えてみました。 メッセージは、大きくわけて二つに分類されます。 静的に決定されるメッセージと、動的に決定されるメッセー…