public class basecontroller : System.Web.Mvc.Controller { public basecontroller() { System.Globalization.CultureInfo oCultureInfo = new System.Globalization.CultureInfo("fa-IR"); System.Threading.Thread.CurrentThread.CurrentCulture = oCultureInfo; System.Threading.Thread.CurrentThread.CurrentUICulture = oCultureInfo; } }
من این دستورو برای اینکه زبانیشفرض فارسی باشه گذاشتم اما کار نمیکنه..
من این کد بالا رو برای اینکه زبان پیش فرض فارسی باشه گذاشتم اما کار نمیکنه
با تشکر از مهندس باقر زاده
برای چند زبانه کردن و قراردادن زبان پیش فرض در MVC راهکاری که خودم رفتم به نتیجه هم گرفته ام را براتون میگزارم :
public class SiteLanguage { public static List<Lanquage> AvalibeLanquages = new List<Lanquage> { new Lanquage {LanqFullName = "English", LanqCultuerName = "en"}, new Lanquage {LanqFullName = "Persian", LanqCultuerName = "fa"} }; public static bool IsLanquegeAvlible(string Lang) { return AvalibeLanquages.Where(a => a.LanqCultuerName.Equals(Lang)).FirstOrDefault() != null ? true : false; } public static string GetDefultLanquage() { return AvalibeLanquages[0].LanqCultuerName; } public void setLanquege(string Lang) { try { if (!IsLanquegeAvlible(Lang)) Lang = GetDefultLanquage(); var cultuerInfo = new CultureInfo(Lang); Thread.CurrentThread.CurrentUICulture = cultuerInfo; Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultuerInfo.Name); HttpCookie Langcookie= new HttpCookie("cookie",Lang); Langcookie.Expires = DateTime.Now.AddYears(1); HttpContext.Current.Response.Cookies.Add(Langcookie); } catch (Exception ex) { } } } public class Lanquage { public string LanqFullName { get; set; } public string LanqCultuerName { get; set; } }
شما میتوانید ابتدا دوتا پراپرتی برای نوع زبان و اسم زبان ایجاد کنید و وسپس در
SiteLanguage تعدا زبان های خود را معرفی کنید و سپس
GetDefultLanquage میتوانید زبان پیش فرض را مشخص کنید
اگر سوالی بود در همین تاپیک میتونید بپرسید
امیدوارم به در تون خورده باشه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)