ユーザーは、Windowsの設定で、それ自体が彼女のお気に入りの言語に言及したことがない:彼女は、コントロールパネルの彼女の文化を設定し、そのよう英語(カナダ)を別名エン-CA。この選択はThread.Cultureプロパティに反映されます。これは、Windows(日時の形式と名前、通貨の名前、通貨の名前など)、通貨などの表示と書式設定の方法を決定するために使用されます。
その他の設定は、Windows (ほとんどの場合英語(米国))。これはThread.CurrentUICultureに反映されます。 GUI(メニュー、ボタン、ヘルプなど)の言語を反映しているので、この選択肢の選択肢は少なくなります。例えばen-CA CurrentUultureなどはありません。
注:Vista +およびXP-MUIでは、追加のGUI言語をインストールして、各ユーザーアカウントで使用する言語を設定できます。これはCurrentUICultureに反映されています。
よくある誤解は、文化がユーザーの好きな言語を判断するために使用されるべきだと考えることです。 CurrentUICultureに頼る方が良いです。私の場合、Windowsは英語で、ユーザーの好み(Culture)はfr-BE(フランス語 - ベルギー)です。あなたのUIをフランス語で表示することを考えてはいけません。目的に合わせてWindowsを英語でインストールしました。フランス語ではなく、英語でネイティブUIを使用したいと思います。私の選択の背後にある理由は疑わしいですが、これは無関係です。私の決定のみが関連しています。
つまり、私は2012年5月2日を5月2日ではなく2012年2月5日と読んでいます。だから、fr-BEは私のロケール/文化です。
FWIW、非Unicodeプログラムの言語は、Unicode以外のプログラムで使用されるデフォルトのコードページ(Win32 NLSのCP_ACP)を示します。 .NETアプリはUnicodeなので、これはあなたのアプリには影響しません。
デフォルトの入力言語によって、デフォルトのキーボードレイアウトが決まります。これはどちらも文化の設定ではありません。
文化特性に影響を与える設定はこの1つである:
![XP Regional Settings](https://i.stack.imgur.com/apdSU.png)
_ユーザでログインのデフォルト設定は何ですか? – Oded
ログインしたユーザーのデフォルト設定(コントロールパネル/地域と言語オプション/地域オプション、コントロールパネル/地域と言語オプション/言語/詳細/既定の入力言語、コントロールパネル/地域と言語オプション/詳細/非Unicodeプログラムの言語)はすべてカナダ英語に設定されています。 –
これらのプロパティを読むために使用するコードを教えてください。 –