Asp.Net Mvc 5 Çoklu Dil Desteği



Merhaba arkadaşlar bu makalemde sizlere Mvc 5 te nasıl sitemize çoklu dil desteği sağlarız onunlailgili işin genel mantığını anlatan bir örnek yapıyor olacağım...Keyifli okumalar...



Öncelikle boş bir MVC projesi oluşturuyoruz.






 Projemiz oluştuktan sonra Solution Explorer'daki App_Start klasörümüzün altında bulunan RouteConfig.cs dosyasını açıp aşağıdaki düzenlemeyi yapıyoruz....


routes.MapRoute(
                name: "Default",
                url: "{language}/{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, language = "en-US" }
            );
 varsayılan dilimizin İngilizce olacağını belirtiyoruz...Ayrıca url : kısmında yazdığımız {language}
kısmı ise projeyi çalıştırdığımızda hangi dilin o anda aktif olduğunu görüntülemek için yazdık...

Diğer kısım ise hangi dilleri seçtirecekseniz kullanıcıya onunla ilgili menü yapmamız veya sayfamızın dil değişimini sağlayacak olan linki hazırlıyoruz...





Ben yukarıda görüldüğü gibi sağ tarafa ekledim.(Önündeki bayraklar <img> ile ekledim)



 Yukarıdaki kodu yazıp çalıştırıyoruz ve menümüzü görüyoruz...

Hemen akabinde dil çeviri yapacağımız kaynağı ekliyoruz. Bunun için Solution Explorer'a sağ tıklayıp yeni bir Resources  adında Folder oluşturuyoruz. Resource klasörümüzede sağ tıklayıp Add - New Item - Resource File'i seçip adınada Lang veriyorum bu bizim Default dilimizi temsil edecek.

Burada sayfamızda değiştirmek istediğimiz yerleri yazıyoruz.Ben mantığını anlatmak için 4 yeri değiştirtiyorum. Bunu yaptıktan sonra değiştirmesini istediğimiz(Home- About -Contact) yerleri bulup gidip bunları silip yerlerine ;

ProjeAdı.KlasörAdı.KaynakAdı.DeğişmesiniİstediğinizParametre 

Home için :  MultipleLanguageMvc.Resources.Lang.Home
About için :  MultipleLanguageMvc.Resources.Lang.About
Contactiçin :  MultipleLanguageMvc.Resources.Lang.Contact

bu değişikilikleri yapıp kaydediyoruz.

Sonra Resource dosyasında oluşturduğumuz dosyayı kopyalayıp yine aynı klasöre yapıştırıp adını "Lang.tr-TR" olarak değiştiriyoruz.Buradada ;


kelimelerin Türkçe karşılıklarını yazıp kaydedip çalıştırıyoruz.

Default olarak İngilizce seçili deliyor...






























Turkish butonuna bastıgımızda ise ;





Bu makalemizide burada sonlandırıyoruz...Umarım faydalı olur.....

Kaynak Kodlar : https://github.com/ebubekirdgn/Asp.Net-Mvc5-Beginner-to-Advanced/tree/master/MultipleLanguageMvc

Yorumlar

Bu blogdaki popüler yayınlar

Data Annotation Nedir?

2 bitlik 2 sayıyı çarpma