Beispiel #1
0
        /// <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;
            }
        }
Beispiel #2
0
        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();
        }