protected override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); if (RouteData.Values.First().Value != null) { try { if (RouteData.Values.First().Value.ToString() == "tr") { Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR"); Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; } if (RouteData.Values.First().Value.ToString() == "en") { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; } if (RouteData.Values.First().Value.ToString() == "de") { Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE"); Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; } } catch (Exception ex) { Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR"); Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; } } }
ilgili yada etkilenmesini istediğimiz controller içerisine yukarıdaki kod parçası yapıştırılır.
App_GlobalResources Klasösürünün içersinde ilgili eklenecek dosyaların çevirileri bulunması gereklidir.
Örnek: Strings.resx (Default) , Strings.en-US.resx .... şeklinde çoğaltılabilir.
Ve son olarak ilgili action içerisinde parametre ile dil seçeneğine veriler getirilir.
public ActionResult Anasayfa(string dil) { if (dil == "de") { //.......... } else if (dil == "en") { //................. } else { //.........(default dil) } ViewBag.Dil = dil; return View(); }
Yıkarıda asp.net mvc ile çoklu dil desteği için yapılması düşünülen projenize yardımcı olması açısından küçük bir örnek paylaştım. Makalemizle ilgili soru ve önerileriniz için yorum yazmayı unutmayınız.
İyi çalışmalar dileriz.
Konuyla İlgili Diğer Makalemizi Okumak İçin Tıklayınız.