多言語対応
fusion_place のユーザインターフェースは多言語に対応してします。
言語とロケール
fusion_place では、「言語」という呼び方を用いていますが、これは正確には、同一言語内での表記法のバリエーションも含んだ「ロケール」と呼ばれるものです。例えば、フランス語には以下のようなロケールがあります。
fr フランス語
fr_BE フランス語(ベルギー)
fr_CA フランス語(カナダ)
fr_CH フランス語(スイス)
fr_FR フランス語(フランス)
fr_LU フランス語(ルクセンブルク)
左に示されたロケール(記号)の _ (下線)で区切られた最初の部分が、「言語」を示し、次が「国」を示しています。さらに「変種」などの記号が付されることもあります。「フランス語(fr)」という「言語」自体もロケールであることにご留意ください。
fusion_place に登録される「言語」は上記のうちいずれでもかまいませんが、言語自体を示すロケールと、国別あるいは変種を表すロケールの間には親子関係がありますので、文字列表示の際にその親子関係が考慮されます。
「言語の管理」画面にて、「フランス語(fr)」と「フランス語(ベルギー)(fr_BE)」がともに追加されていたとしましょう。その上で、あるディメンションのあるメンバについては、フランス語の名称は付されているものの、フランス語(ベルギー)の名称は空白とされていたとします。
このような状態で、ユーザが自らの言語として「フランス語(ベルギー)」を選択した上で、当該メンバを [ブラウザ] などの画面で表示した場合、そのメンバの名称としては、フランス語の名称が表示されます。フランス語(ベルギー)での名称がなかったので、言語―国―変種という階層をたどって、上位の「フランス語」の名称が表示されるわけです。
このように、ロケールに対応する文字列を表示する過程では、より上位のロケールでの文字列がデフォルト値として用いられます。
なお、言語レベルのロケール(例えば「フランス語(fr)」)に対応する文字列がない場合、英語(en)での文字列が用いられ、それもない場合には、日本語(ja)での文字列が用いられます。日本語の文字列もなければ、文字列があるロケールの文字列が表示されます(そのようなロケールが複数ある場合は、辞書順でもっとも順位の若いロケールの文字列が表示されます)。