|
|
|
|
|
|
Implement Globalization in VB.NET using CultureInfo class
|
CultureInfo class provides culture-specific information in .NET applications. This information includes language, sublanguage, country or region, day names, month names, calendar etc. It also provides culture specific conversions of numbers, currencies, dates or strings.
In the following tutorial, I will show you how you can retrieve this information from different cultures available in .NET Framework.
|
|
|
To use CultureInfo class you need to import System.Globalization namespace which contains many classes used in the following code such as RegionInfo, DateTimeFormatInfo or NumberFormatInfo.

Following code is loading all specific cultures available in .NET Framework in the listbox.
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) ' Load All Specific Cultures Dim allCultures As CultureInfo() = CultureInfo.GetCultures(CultureTypes.SpecificCultures) For Each culture As CultureInfo In allCultures listBox1.Items.Add(culture.EnglishName) Next End Sub
When user select any culture from the listbox following code retrieve that culture, set current application and user interface culture and then display culture specific information on different labels.
Private Sub listBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Try Dim allCultures As CultureInfo() = CultureInfo.GetCultures(CultureTypes.SpecificCultures) Dim index As Integer = listBox1.SelectedIndex Dim c As CultureInfo = DirectCast(allCultures.GetValue(index), CultureInfo) ' Set Current Application and User Interface Culture System.Threading.Thread.CurrentThread.CurrentCulture = c System.Threading.Thread.CurrentThread.CurrentUICulture = c label1.Text = "Application Culture Name: " + c.Name label2.Text = "Application Culture Native Name: " + c.NativeName label3.Text = "Application Culture English Name: " + c.EnglishName label4.Text = "Application Culture Neutral Name: " + c.TwoLetterISOLanguageName label5.Text = "Application Culture Language Name: " + c.ThreeLetterISOLanguageName label6.Text = "Application Culture Windows Name: " + c.ThreeLetterWindowsLanguageName ' RegionInfo Object Dim r As New RegionInfo(c.Name) label7.Text = "Region English Name: " + r.CurrencyEnglishName label8.Text = "Currency Symbol: " + r.CurrencySymbol label9.Text = "Region English Name: " + r.EnglishName ' DateTimeFormatInfo Object is used ' to get DayNames and MonthNames Dim days As String() = c.DateTimeFormat.DayNames listBox2.Items.Clear() For Each day As String In days listBox2.Items.Add(day) Next Dim months As String() = c.DateTimeFormat.MonthNames listBox3.Items.Clear() For Each month As String In months listBox3.Items.Add(month) Next ' Formatting Currency and Numbers label10.Text = "Full Date Time Pattern: " + c.DateTimeFormat.FullDateTimePattern label11.Text = "Formatted Date: " + DateTime.Now.ToString("d", c.DateTimeFormat) label12.Text = "Formatted Number: " + 65000.ToString("C", c.NumberFormat) Catch ex As Exception End Try End Sub
|
RELATED TUTORIALS
|
Using CultureInfo class in C# to implement Globalization
Developing Multi Language Web Sites with ASP.NET
|
|
|
|
|
|
|
|
|
|
|
|
|