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.

C# Localization (Çok Dillilik),C# Resources,C# Localization,Çok dillilik


                                                 Lokalization.resx Dosyasının Görünümü

C# Localization (Çok Dillilik),C# Resources,C# Localization,Çok dillilik


                                                  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");
string frTitle = Localization.Title;
Localization.Culture = new CultureInfo("tr-TR");
string trTitle = Localization.Title;
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.

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


1 yorum :

  1. "tr" orjinal kültür, "tr-TR" ayarların değiştirilmiş halini getiriyor, öyle bir fark tecrübe ettim

    YanıtlaSil