public static void SaveLanguages(LanguageSettingModel settings) { var filePath = HostingEnvironment.MapPath(LanguagesFilePath); if (!File.Exists(filePath)) using (File.Create(filePath)) { //we use 'using' to close the file after it's created } var languages = JsonConvert.SerializeObject(settings); File.WriteAllText(filePath, languages); }
public ActionResult SettingsLanguageUpdate(LanguageSettingModel model) { // set languageTag as it's not posted back foreach (var item in model.Languages) { item.LanguageTag = new LanguageTag(item.Culture); } var languagesEnabled = model.Languages.Where(x => x.Enabled); if (languagesEnabled.Count() == 0) { TempData[TempDataKeys.UserMessageAlertState] = "bg-danger"; TempData[TempDataKeys.UserMessage] = "[[[At least one language should be enabled!]]]"; return View("SettingsLanguage", model); } if (!languagesEnabled.Any(x => x.Culture == model.DefaultCulture)) { TempData[TempDataKeys.UserMessageAlertState] = "bg-danger"; TempData[TempDataKeys.UserMessage] = "[[[Default language must be enabled first!]]]"; return View("SettingsLanguage", model); } LanguageHelper.SaveLanguages(model); // Update cache LanguageHelper.Refresh(); return SetLanguage(model.DefaultCulture, Url.Action("SettingsLanguage", "Manage")); }
public ActionResult SettingsLanguage() { var availableLangauges = i18n.LanguageHelpers.GetAppLanguages(); var modelFile = LanguageHelper.GetLanguages(); var model = new LanguageSettingModel() { DefaultCulture = modelFile.DefaultCulture }; foreach (var lang in availableLangauges) { var languageSetting = new LanguageSetting(); languageSetting.Culture = lang.Key; languageSetting.LanguageTag = lang.Value; var existingLang = modelFile.Languages.Find(x => x.Culture == lang.Key); if (existingLang != null) { languageSetting.Enabled = existingLang.Enabled; } model.Languages.Add(languageSetting); } return View(model); }
public static void Refresh() { AvailableLanguges = GetLanguages(); DefaultCulture = AvailableLanguges.DefaultCulture ?? System.Globalization.CultureInfo.InvariantCulture.Name; }
private void InstallLanguage() { var languageCurrent = ControllerContext.HttpContext.GetPrincipalAppLanguageForRequest().GetLanguage(); var availableLangauges = i18n.LanguageHelpers.GetAppLanguages(); var modelFile = LanguageHelper.GetLanguages(); var model = new LanguageSettingModel() { DefaultCulture = languageCurrent, Languages = availableLangauges.Select(x => new LanguageSetting() { Culture = x.Key, Enabled = x.Key == languageCurrent }).ToList() }; LanguageHelper.SaveLanguages(model); }