/// <summary> /// Fill the language drop down. Either with a list of predefined cultures or from a list of default /// cultures from .NET. /// </summary> private void FillLanguages() { SortedList <string, string> langs; if (Unified != null) { langs = Unified.GetLanguages(); } else { langs = new SortedList <string, string>(); } CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures); SortedList <string, CultureInfo> cults = new SortedList <string, CultureInfo>(); foreach (CultureInfo culture in cultures) { try { cults.Add(culture.DisplayName, culture); } catch (Exception) { } } ddLanguage.Items.Clear(); foreach (CultureInfo culture in cults.Values) { if (!langs.ContainsKey(culture.Name)) { if (IncludeLanguages == "*" && ExcludeLanguages == "") { AddToLanguages(culture); } else { List <string> excludes = StringToList(ExcludeLanguages); if (excludes.Contains(culture.Name.ToLowerInvariant())) { break; } if (IncludeLanguages == "*") { AddToLanguages(culture); } else { List <string> includes = StringToList(IncludeLanguages); if (includes.Contains(culture.Name.ToLowerInvariant())) { AddToLanguages(culture); } } } } } if (!String.IsNullOrEmpty(currCultureName)) { ddLanguage.SelectedValue = currCultureName; } }
private void FillGridView(string p, bool reloadFile) { if (Unified == null || reloadFile) { Unified = new ResXUnified(p); } gridView.Columns.Clear(); SortedList <string, string> langs = Unified.GetLanguages(); Unit columnSize = new Unit(Math.Round((gridView.Width.Value) / (langs.Values.Count)), UnitType.Percentage); ImageField keyColumn = new ImageField(); keyColumn.HeaderText = "Key"; keyColumn.DataAlternateTextField = "Key"; keyColumn.DataImageUrlField = "Key"; keyColumn.DataImageUrlFormatString = "~/App_Themes/" + Page.Theme + "/images/information.png"; // ignore key //keyColumn.DataField = "Key"; //keyColumn.ItemStyle.BackColor = Color.Gray; //keyColumn.ItemStyle.ForeColor = Color.White; keyColumn.ReadOnly = true; keyColumn.ItemStyle.Width = new Unit(30); keyColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Left; keyColumn.ControlStyle.Width = new Unit(16, UnitType.Pixel); gridView.Columns.Add(keyColumn); foreach (string lang in langs.Values) { CultureInfo culture = null; try { culture = new CultureInfo(lang); } catch { } BoundField field = new BoundField { HeaderText = culture != null ? culture.DisplayName : @"Default", DataField = lang, ReadOnly = (culture == null) && !Roles.IsUserInRole("Administrator") }; field.ControlStyle.Width = new Unit(99, UnitType.Percentage); if (culture != null) { if (culture.TextInfo.IsRightToLeft) { field.ItemStyle.HorizontalAlign = HorizontalAlign.Right; field.ControlStyle.CssClass = "rtl"; } } if (lang == "Default") { gridView.Columns.Insert(1, field); } else if (culture.TwoLetterISOLanguageName.ToLower() == currEditLang.ToLower()) { currCultureName = culture.TextInfo.CultureName; gridView.Columns.Add(field); } } if (gridView.Columns.Count < 3 && !String.IsNullOrEmpty(currEditLang)) { try { if (!String.IsNullOrEmpty(currCultureName)) { ddLanguage.SelectedValue = currCultureName; } } catch (Exception) { //don't throw an error if it doesn't exist in the list } pnlAddLang.Visible = true; } else { pnlAddLang.Visible = false; } gridView.DataSource = Unified.ToDataTable(true); gridView.DataBind(); }