カルチャ

たまたま見つけたものだけど、Mono は CurrentCulture と CurrentUICulture の使い分けが VB.NET と似ているようで、DisplayName とか ErrorMessage とか Message みたいなプロパティ類が文字列を返すとき、CurrentCulture が使用される。
これは、Microsoft の BCL の実装とは相反していて、Microsoft の実装は VB.NET の実装である Microsoft.VisualBasic 名称空間を除いて CurrentUICulture を利用しているようだ。

どちらが正しいか? というと、DisplayName とか Message といった文字列は、ユーザに選択肢や情報として表示することを前提にしているので、当然 CurrentUICulture を利用しなければならないはずだ。
とはいえ、CurrentCulture と CurrentUICulture の使い分けはいまいちはっきりしない部分が多く、この2つを異なるカルチャに設定することはほとんどないと思われるので、たいして気にするようなことではないだろうと思ったりする。