i18n

国際化の効率化のための仕組み

メッセージの翻訳者は、技術者ではなく、メッセージのリソースファイルを直接編集したりというのは少し難しいです。また、更新されたメッセージを間単に反映できないと、デザイナーがすぐに表示結果が確認できないために、システムの改善がスムーズに行えま…

ソフトウェアの国際化をするための前提条件

国際化をするためには、ソフトウェアのつくりが国際化を意識した作りになっていないといけません。ここでは、国際化を行うための前提条件として、3つの重要なポイントについて書いてみます。 ロジックとビューが分離されていること これが行われていないとビ…

画面レイアウトの国際化

画面のレイアウトは、国際化により崩れることがあります。文字列長が違うため、英語用のデザインにあわないことがでてくるからです。 画面レイアウトの国際化をするために守っておかなければいけないことが一つあります。それは、 構造とデザインを分離する…

Locale::Maketext::Simpleのハマリどころ

Perlには、Gettextを簡便に扱うためのモジュールが幾つか存在します。 その中でも、とても簡単に使えるのがLocale::Maketext::Simpleです。 Perlで国際化フレームワークを開発するのであれば、このモジュールがとてもお勧めです。 このモジュールは、Catalys…

gettext付属ツールによる翻訳状況の確認

gettextは国際化をする上で必須ツールの一つです。gettextそのものの便利さもあるのですが、その付属ツールの便利さもあります。 今回はその付属ツールの中からmsgfmtに絞って話をしたいと思います。 各国語毎のメッセージリソースファイルがあり、その中の…

Wikiを使った翻訳

アプリケーションの国際化というと、POTファイルを直接翻訳していき、それをPOファイルにマージするというやり方が一般的なのではないかと思います。しかし、POTファイルを直接編集するのは、技術者ではない人には少し難しいです。 そこで今は次のような工夫…

国際化時に発生する問題点

国際化といっても、単純なローカライズ作業とは違い、文字列を置き換えるだけでは国際化というのはできません。国際化をするには、数多くの問題を解決しなければいけません。 国際化をするときに発生するのは、以下のような問題です メッセージの長さによっ…

JavaScriptの国際化

JavaScriptにはGetTextのような国際化を支援するような仕組みがありません。 では、いかに国際化していけばよいでしょうか?少し考えてみました。 メッセージは、大きくわけて二つに分類されます。 静的に決定されるメッセージと、動的に決定されるメッセー…