NimChimpsky
NimChimpsky

Reputation: 47290

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

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?

Upvotes: 4

Views: 1987

Answers (1)

Antonio Pelleriti
Antonio Pelleriti

Reputation: 859

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;
    }
}

Upvotes: 3

Related Questions