2011-06-30 18 views
7

Czy istnieje metoda wbudowana w .NET do przekształcenia kodu kultury w przyjazną dla użytkownika nazwę? Np:.NET - Uzyskaj nazwę kultury z kodu kultury

  • en-GB - Angielski - Wielka Brytania
  • et-EE - Estoński - Estonia
  • pa-IN - Punjabi - Indie
  • fo-FO - Farerski - Wyspy Owcze

Odpowiedz

12

CultureInfo ma właściwość o nazwie DisplayName

var culture = CultureInfo.GetCultureInfo("en-GB"); 
var displayName = culture.DisplayName; 

DisplayName daje zlokalizowane wersję nazwy. Istnieje również właściwość EnglishName. ;)

+0

Jakiego wywołania używa do uzyskania informacji CultureInfo z kodu? Czy to tylko statyczne GetCultureInfo? – Rup

+0

@Rup, możesz uzyskać aktualną kulturę poprzez Sytem.Threading.Thread.CurrentThread.CurrentCulture –

+0

@Bokka nikt nie poprosił o ** aktualną ** kulturę. –

1
string displayName; 

CultureInfo cultureInfo = CultureInfo.GetCultureInfo("fo-FO"); 

displayName = cultureInfo.DisplayName; 

Edycja:

Usunięto if (culture != null).

+0

Nie sądzę, aby wartość zwracana przez 'GetCultureInfo' mogła mieć wartość' null', ponieważ generuje 'CultureNotFoundException/ArgumentException' (.NET 4/.NET 3.5) na niepoprawnej nazwie kultury. –

+0

@ba_friend Masz rację. – Dummy01

Powiązane problemy