Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a built-in list of culture name constants?

Tags:

c#

cultureinfo

So I can't for example set the default to english, like so

CultureInfo MyCulture =  CultureInfo.ENGLISH;

or

CultureInfo MyCulture =  CultureInfo.getCultureInfo(CulureInfo.Eng);

I have to introduce a string dependency, using a list I found on the internet (or create my own enum) :

CultureInfo MyCulture =  CultureInfo.getCultureInfo("en-AU");

So is there already an enum or other kind of list of all available CultureInfos?

like image 897
NimChimpsky Avatar asked Sep 05 '25 10:09

NimChimpsky


1 Answers

You can obtain iso languages and region names, using System.Globalization classes:

System.Globalization.CultureInfo[] cinfo = System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures & ~System.Globalization.CultureTypes.NeutralCultures);
System.Globalization.RegionInfo ri = null;
foreach (System.Globalization.CultureInfo cul in cinfo)
{   
    try
    {
        ri = new System.Globalization.RegionInfo(cul.Name);
        Console.WriteLine(cul.TwoLetterISOLanguageName+"-"+ri.TwoLetterISORegionName);
    }
    catch(ArgumentException)
    {
        continue;
    }
}
like image 183
Antonio Pelleriti Avatar answered Sep 08 '25 00:09

Antonio Pelleriti