2009年3月28日土曜日

zh-Hansとzh-CHS

カルチャには特定カルチャとニュートラルカルチャとインバリアントカルチャがある。
特定カルチャはja-JPとかen-USとか、言語+地域情報を持つもの。
ニュートラルカルチャはjaとかenとか、言語だけで地域情報を持たないもの。特定カルチャで完全一致できなかった場合にニュートラルカルチャにフォールバックします。
インバリアントカルチャは言語も地域も表さないもの。「要するに、体系を体系たらしめるために要請される意味の不在を否定する記号なんだよ。そのアナログなのが神で、デジタルなのがゼロ。どうかな?」

で、ニュートラルカルチャには唯一の例外としてzh-CHSとzh-CHTがある。中国語には簡体字と繁体字があるから。そしてこのカルチャ名はWindows Vistaからzh-Hansとzh-Hantに変更されてたりする。

  • Windows XP上の.NET Framework 2.0 SPなしだとzh-Hansを認識しない
  • Windows XP上の.NET Framework 2.0 SP1以降だとzh-Hansを認識し、zh-CHS→zh-Hansの順でフォールバックする
  • Windows Vista上の.NET Framework 2.0 SPなし(SP1以降も)zh-CHSを認識し、zh-CHS→zh-Hansの順でフォールバックする
結局の所、Windows XPを意識するならzh-CHSを使うことになるが、例えば.NET Framework 3.5 SP1 Client Profileだと.NET Framework 2.0 SP2を含むのでzh-Hansでもいいかもしれない。

0 件のコメント: