多言語asp.net MVCアプリケーションを開発しています。グリッドでは、私は文化のリストを表示しようとしています。これらのデータは、ユーザー言語(現在のスレッド言語)で表示する必要があります。ローカライズされたカルチャのカルチャ名の表示名を取得する
fr-fr
en-gb
fr-ca
そして、私はこれをやっている:
var cultureOne = new CultureInfo("fr-fr").DisplayName
var cultureTwo = new CultureInfo("en-gb").DisplayName
var cultureThird = new CultureInfo("fr-ca").DisplayName
そのコードの問題は、表示名のプロパティではないされていることを
は例えば、私は言語コードのリストを取得しますローカライズされています(これはユーザーの文化に依存しません)が、サーバーの文化に応じて推測します。
だから私のマシンはフランス語であると、私はいつも(私は英語で午前かどうか、フランス語、イタリア語...)と同じ結果を得ています:
français (France)
Anglais (Royaume-Uni)
français (Canada)
私の目標は、次のような結果を得ることです。
私はフランス語だ場合:
français (France) Anglais (Royaume-Uni) français (Canada)
私は英語で午前場合:
french (France) English (United Kingdom) french (Canada)
私はイタリア語で午前場合:
francese (Francia) inglese (Regno Unito) francese(Canada)
1は私が何を意味するか、DisplayNameには、この文化に依存すること
Application.CurrentCultureを英語に設定するのはどうですか?またはThread.CurrentThread.CurrentCultureを英語にもしますか? –
これは私の現在の言語を交換するときに既に行われています。たとえば、私がitalienに切り替えると、このThread.CurrentThread.CurrentCulture = new CultureInfo( "it-it")を実行しています – user2443476
http://stackoverflow.com/questions/2432813/how-to-translate-cultureinfo-language名前 – filhit