C# Localization (Çok Dillilik)
Uygulamalarımızı eskiden çok dilli şekilde yazmak istediğimizde bunun çok zor bir işlem olduğunu bir önceki yazımda bahsetmiştim. Şimdi bunu resource dosyalarını kullanarak nasıl kolay bir şekilde yapabiliriz ona bir göz atacağız.
Bunun için resource C# Resource Kullanımı yazımda bahsettiğim gibi projemize iki resource dosyası ekleyelim. Bunların isimlerine
Localization.resx (Localization.tr-TR.resx default olarak Türkçe kullandığımız için bu şekilde yazmamıza gerek yoktur ama yazabilirizde)
Localization.fr-FR.resx
verelim. Ardından bu Localization.resx dosyamıza key olarak Title değer olarakta "Merhaba" değerini verip kaydedelim. Daha sonra Localization.fr-FR.resx dosyamıza geçerek yine Title'ı key olarak verip değer olarakta "Bonjour" değerini verelim.
Lokalization.resx Dosyasının Görünümü
Lokalization.fr-FR.resx Dosyasının Görünümü
Bunu yaptıktan sonra artık programımızda bununları kullanalım :
Localization.Culture = new CultureInfo("fr-FR");kod parçacığını incelersek Localization.Culture = new CultureInfo("fr-FR"); diyerek dili Fransızcaya set etmiş oluyoruz ve bundan sonra resx dosyamızın ismi olan Localization diyip bunun içine Title keyi ile kaydettiğimiz değeri çağırırsak otomatik olarak dili fransızcaya set ettiğimiz için Lokalization.fr-FR.resx dosyasına bakarak frTitle stringine "Bonjour" değerini atıyor. Yani bundan sonra resource dosyamızdan ne çağırırsak çağıralım dili Fransızcaya set ettiğimiz için uygulamamız Lokalization.fr-FR.resx dosyasına bakacaktır.Daha sonra Localization.Culture = new CultureInfo("tr-TR"); diyerek dili yeniden Türkçeye set ediyoruz. Bu durumda da artık Lokalization.fr-FR.resx dosyasına değil Lokalization.resx dosyasına bakıyor ve trTitle stringine "Merhaba" değerini atıyor.
string frTitle = Localization.Title;
Localization.Culture = new CultureInfo("tr-TR");
string trTitle = Localization.Title;
Bu şekilde iki veya kaç dil desteği vermek istiyorsanız o sayıda resx dosyası oluşturup ayni parametrelerle çevirilerini yaparsanız çok dilli bir program çok kolay bir şekilde yazmış olursunuz. Hoşçakalın..
"tr" orjinal kültür, "tr-TR" ayarların değiştirilmiş halini getiriyor, öyle bir fark tecrübe ettim
YanıtlaSil