ロケール論

自分がいいと思うロケールの扱い方について。
以前はロケールを自動で判定して、そのロケールの言語でコンテンツを生成すればいいと考えていた。
しかし、サイトやアプリ上でも言語を選択して表示できるべきと考えるようになった。
このように考えるようになったのは、iPhoneの言語設定を英語にして使ってみたことがきっかけ。
iPhoneの言語設定を英語にして、なめこ栽培キットを起動した際に、なめこの名前が全部英語版になっていて萎えた。切り替えようにもその設定がないので仕方なくiPhoneの言語設定を日本語に戻した。

これはなめこに限った話ではなく、結構なアプリが該当すると思われる。
iPhonei18nの仕組みを軽く見たが、iPhoneの言語設定で文言ファイルを切り分けている模様。このファイルをユーザーがアプリ内で指定した言語で選べないと実装が面倒になる感。

それはされおき、上記の要求をまとめると、以下のようになる。
アプリやサイトで、

  1. ユーザーが言語を指定していなかったら、システムのロケールの言語で表示
  2. ユーザーが言語を指定したら、その言語で表示

自分が知っているiPhone AppだとToodledo公式がアプリ内で言語設定できた。