私は Web サイトを持っており、2 文字の言語名に基づいて、現在のカルチャで言語名を表示する必要があります。
たとえば、カルチャが FRench の場合に表示する必要があります。
- fr -> フランセ
- エン -> アングレ
- デ -> アルマン
ドイツ文化では
- fr -> フランセ
- エン -> アングレ
- デ -> アルマン
...
currentThread カルチャは既に正しい (つまり、"FR" ローカリゼーションにいることを意味します)。
問題は、私がフランス文化にいる場合、次のことを行うことです。
System.Globalization.CultureInfo.GetCultureInfo("de")
私はこのオブジェクトを受け取ります:
Calendar: {System.Globalization.GregorianCalendar}
CompareInfo: {CompareInfo - de}
CultureTypes: NeutralCultures | InstalledWin32Cultures | FrameworkCultures
DateTimeFormat: {System.Globalization.DateTimeFormatInfo}
DisplayName: "German"
EnglishName: "German"
IetfLanguageTag: "de"
IsNeutralCulture: true
IsReadOnly: true
KeyboardLayoutId: 7
LCID: 7
Name: "de"
NativeName: "Deutsch"
NumberFormat: {System.Globalization.NumberFormatInfo}
OptionalCalendars: {System.Globalization.Calendar[1]}
Parent: {}
TextInfo: {TextInfo - de}
ThreeLetterISOLanguageName: "deu"
ThreeLetterWindowsLanguageName: "DEU"
TwoLetterISOLanguageName: "de"
UseUserOverride: false
そして、表示名が現在のロケールであることを望みました(つまり、「Allemand」)。
可能だと思いますが、言語パックがありませんか? どのレベルで?ウィンドウズ?ASP? MVC? または、別のコードを使用する必要がありますか?