Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

C# ile Globalization

Merhaba arkadaşlar bu makalemizde Globalization konusu üzerinde duracağız. .NET’te farklı coğrafi bölgeler için bölgesel ayarlar oluşturabilmekteyiz. Örneğin Türkiye’de tarih gün-ay-yıl ‘ken başka bir ülkede ay-gün-yıl olabilmekte. İşte burada standardı sağlayabilmek adına .NET içerisinde System.Globalization namespace’i kullanılmaktadır.

CultureInfo sınıfı çalıştığı bilgisayarda yüklü culture’ları alıp kullanabilmemizi sağlayan en temel sınıftır. Culture adı,takvimi,dili, ve alt dilleri temsil eder.

Culture’lar ‘en-US’ , ‘tr-TR’ gibi ifadelerle temsil edilirler
//Mevcut kullanıcının kültürünü almak

CultureInfo c = Thread.CurrentThread.CurrentCulture;          Console.WriteLine(String.Format(“Name:{0},DisplayName:{1},NativeName:{2},ISO:{3}”

    ,c.Name,c.DisplayName,c.NativeName,c.TwoLetterISOLanguageName));

Salary = (10000).ToString(“C”); //Eger tr ise 10.000,00 TL olacaktır.

//Mevcut Kültürleri listelemek

foreach (CultureInfo item inCultureInfo.GetCultures(CultureTypes.SpecificCultures))

     listCulture.Items.Add(item.Name); //en-US,tr-TR …

Bazen kültür bilgisi yeterli gelmez ve daha detaylı bilgiye ihtiyaç duyarız bu durumda RegionInfo devreye girer.

 

//Bölgesel bilgileri almak…

CultureInfo c = Thread.CurrentThread.CurrentCulture;

RegionInfo r = newRegionInfo(c.LCID);

Console.WriteLine(String.Format(“Display:{0},Currency Symbol:{1}”,

    r.DisplayName,r.CurrencySymbol));

 

 

//Mevcut bilgisayardaki kültürde haftanın günlerini listelemek. İstersek spesific bir kültürünki de listelenebilir.

CultureInfo c = Thread.CurrentThread.CurrentCulture;

String[] Days = c.DateTimeFormat.DayNames;

foreach (string day in Days)

{

    listDays.Items.Add(day);

}

//Ayları Listelemek

CultureInfo c = newCultureInfo(“en-US”);

String[] Months = c.DateTimeFormat.MonthNames;

foreach (string month in Months)

{

    listDays.Items.Add(month);

}

 

Mevcut kültürler dışında kendimiz custom kültürlerde oluşturabiliriz. Bunu CustureAndRegionInfoBuilder sınıfı ile yapabilmekteyiz.

 

Herkese iyi çalışmalar.

October 24, 2010 - Posted by | C# | , , , ,

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s