ASP.NET ve Culture ayarları

0 dakikada yazıldı

18816 defa okundu

Düzenle

ASP.NET uygulamalarında Date.Now() gibi çoğu sınıf o anki
CurrentCulture üzerinden gerekli bilgileri alarak çalışır. Yani
uygulamanın çalıştığı makinen Regional Settings'i Türkiye'ye göre
ayarlanmış ise tarih bilgisi ona göre gelecektir. Bu durum genelde
sıkıntı yaratmasa da özellikle yurt dışından hosting (barındırma)
hizmeti aldığınızda sıkıntılar baş göstermeye başlar. Eğer uygulamanız
farklı ülkelere ve dillere hizmet edecek şekilde bir altyapıya sahip
değilse veya buna gerek yoksa aslında uygulamanın her şart altında
belirli bir CurrentCulture ile çalışmasını isteyebilirsiniz.

Varsayalım satın aldığınız hosting firması yurt dışında olduğu için
sunucularını yüklerken "Regional Settings"de sunucu ayarı olarak
İngilizceyi seçtiler. Bu durumda Date.Now() dahil kullandığınız çoğu
sınıf geriye farklı formatlarda değerler döndürecektir. Örneğin bizde
sıfırdan küçük sayılar virgül ile ayrılırken İngilizce ayarlanmış bir
sunucuda nokta ile ayrılacaktır. Bu gibi sıkıntıları toptan çözmek için
Web.Config içerisinde yapabileceğiniz bir ayar var.

<system.web>

  <globalization
culture="tr-TR"
uiCulture="tr-TR" />

</system.web>

Yukarıdaki şekilde Web.Config içerisindeki System.Web tagları arasına
uygun satırı yerleştirmeniz yeterli. Artık tüm uygulama herşeyden
bağımsız olarak Türkiye'ye ve Türkçe'ye göre çalışacaktır.

<%@ Page
UICulture="tr-TR" Culture="tr-TR" %>

Ayrıca isterseniz bu ayarı her aspx (web form) için ayrı ayrı da
yapabilirsiniz. Yukarıdaki şekilde herhangi bir web forumun mark-up
kısmına Page için UICulture ve Culture ayarlarını
tanımlayabilirsiniz.

Hepinize kolay gelsin...