多言語対応

設計者 管理者

fusion_place のユーザインターフェースは多言語に対応してします。

  • ユーザが定義する名称などの文字列については、日本語・英語を基本とし、追加的に任意の言語を用いることが可能です。追加する言語は「言語の管理」画面にて指定することができ、システム全体に適用されます。ユーザは、自分が使用したい言語をメニューから選択することができます。

  • メニュー名・項目タイトル・メッセージなど、fusion_place 側であらかじめ用意されている文字列は、日本語・英語の2か国語で用意されています。ユーザが、日本語以外の言語を選択している場合、これらの文字列は英語で表示されます。

言語とロケール

fusion_place では、「言語」という呼び方を用いていますが、これは正確には、同一言語内での表記法のバリエーションも含んだ「ロケール」と呼ばれるものです。例えば、フランス語には以下のようなロケールがあります。

fr  フランス語

fr_BE フランス語(ベルギー)

fr_CA フランス語(カナダ)

fr_CH フランス語(スイス)

fr_FR フランス語(フランス)

fr_LU フランス語(ルクセンブルク)

左に示されたロケール(記号)の _ (下線)で区切られた最初の部分が、「言語」を示し、次が「国」を示しています。さらに「変種」などの記号が付されることもあります。「フランス語(fr)」という「言語」自体もロケールであることにご留意ください。

fusion_place に登録される「言語」は上記のうちいずれでもかまいませんが、言語自体を示すロケールと、国別あるいは変種を表すロケールの間には親子関係がありますので、文字列表示の際にその親子関係が考慮されます。

「言語の管理」画面にて、「フランス語(fr)」と「フランス語(ベルギー)(fr_BE)」がともに追加されていたとしましょう。その上で、あるディメンションのあるメンバについては、フランス語の名称は付されているものの、フランス語(ベルギー)の名称は空白とされていたとします。

このような状態で、ユーザが自らの言語として「フランス語(ベルギー)」を選択した上で、当該メンバを [ブラウザ] などの画面で表示した場合、そのメンバの名称としては、フランス語の名称が表示されます。フランス語(ベルギー)での名称がなかったので、言語―国―変種という階層をたどって、上位の「フランス語」の名称が表示されるわけです。

このように、ロケールに対応する文字列を表示する過程では、より上位のロケールでの文字列がデフォルト値として用いられます。

なお、言語レベルのロケール(例えば「フランス語(fr)」)に対応する文字列がない場合、英語(en)での文字列が用いられ、それもない場合には、日本語(ja)での文字列が用いられます。日本語の文字列もなければ、文字列があるロケールの文字列が表示されます(そのようなロケールが複数ある場合は、辞書順でもっとも順位の若いロケールの文字列が表示されます)。