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...