tags:

views:

178

answers:

2

I would like to give user option to select text file locale.

Is there some class in .net that keeps list of available locales?

Now, I am planning to make my own list class from MSDN page: Language Identifier Constants and Strings, but it would be nicer if there is something already in .net.

Here is MSDN article on CultureInfo.GetCultures method that Jeremy wrote in his answer. There are also code examples.

+5  A: 

You'd want like a 'for each locale loop'.

    Dim info As CultureInfo
    For Each info In CultureInfo.GetCultures(CultureTypes.AllCultures)

        ListBox1.Items.Add(info.EnglishName)
    Next

Takes like half a second to dump a list of locales into the Listbox1

Then you can reference 'info' in various ways such as:

    info.NumberFormat
    info.DateTimeFormat

Get todays date in that locales date:

        If Not info.IsNeutralCulture Then
            Dim dateNow As DateTime = DateTime.Now
            ListBox1.Items.Add(dateNow.ToString("d", info.DateTimeFormat).ToString)
        End If
Jeremy Child
Thanks. It works just as I need it.
zendar
Your welcome. Make sure you use the IsNeutralCulture check otherwise you will cause exceptions when converting locale data.
Jeremy Child
+1  A: 

check out everything around the System.Globalization.CultureInfo class. you'll probably find there what you are looking for

Joachim Kerschbaumer