Example #1
0
        public void TestThatCultureIsSavedAndReturned()
        {
            var culture = new CultureData(CultureInfo.CurrentCulture);

            var entry = new LanguageEntry(culture);

            Assert.AreEqual(culture, entry.Language);
        }
        public LanguageEntry(CultureData language)
        {
            if (language == null)
            {
                throw new ArgumentNullException(nameof(language));
            }

            this.language = language;
        }
Example #3
0
        public void CanPopulateCultureData()
        {
            var actual = new CultureData();

            Model.Populate(actual);

            actual.Culture.Should().NotBeNull();
            actual.CultureName.Should().NotBeNullOrWhiteSpace();
        }
        public LanguageWordList(CultureData language, IReadOnlyList<string> words)
            : base(language)
        {
            if (words == null)
            {
                throw new ArgumentNullException(nameof(words));
            }

            this.words = words;
        }
Example #5
0
 protected override void LazySet()
 {
     base.LazySet();
     if (PersistenceState == PersistenceState.NewAndChanged || PersistenceState == PersistenceState.LoadedAndChanged)
     {
         if ((object)InnerData == (object)OriginalData)
         {
             OriginalData = new CultureData(InnerData);
         }
     }
 }
Example #6
0
        internal NumberFormatInfo(CultureData cultureData)
        {
            if (cultureData != null)
            {
                // We directly use fields here since these data is coming from data table or Win32, so we
                // don't need to verify their values (except for invalid parsing situations).
                cultureData.GetNFIValues(this);

                UpdateHasInvariantNumberSigns();
            }
        }
        internal static CultureInfo GetUserDefaultCulture()
        {
            if (GlobalizationMode.Invariant)
            {
                return(CultureInfo.InvariantCulture);
            }

            string?strDefault = CultureData.GetLocaleInfoEx(Interop.Kernel32.LOCALE_NAME_USER_DEFAULT, Interop.Kernel32.LOCALE_SNAME) ??
                                CultureData.GetLocaleInfoEx(Interop.Kernel32.LOCALE_NAME_SYSTEM_DEFAULT, Interop.Kernel32.LOCALE_SNAME);

            return(strDefault != null?
                   GetCultureByName(strDefault) :
                       CultureInfo.InvariantCulture);
        }
Example #8
0
        internal static CultureInfo GetUserDefaultCulture()
        {
            CultureInfo cultureInfo = null;
            string      localeName;

            if (CultureData.GetDefaultLocaleName(out localeName))
            {
                cultureInfo             = GetCultureByName(localeName, true);
                cultureInfo._isReadOnly = true;
            }
            else
            {
                cultureInfo = CultureInfo.InvariantCulture;
            }

            return(cultureInfo);
        }
Example #9
0
        public CultureData Localize(CultureData targetCulture)
        {
            var result = new CultureData
                {
                    Name = Localized.Join(new[]
                        {
                            new {Index = 0, CultureId = targetCulture.Id},
                            new {Index = 1, CultureId = CultureInfo.InvariantCulture.LCID}
                        }, cl => cl.CultureId,
                        o => o.CultureId, (cl, o) => new {Index = o.Index, Name = cl.Name})
                    .OrderBy(o => o.Index)
                    .Select(o => o.Name)
                    .FirstOrDefault()
                };

            return result;
        }
        internal static CultureInfo GetUserDefaultCulture()
        {
            if (GlobalizationMode.Invariant)
            {
                return(CultureInfo.InvariantCulture);
            }

            CultureInfo cultureInfo = null;
            string      localeName;

            if (CultureData.GetDefaultLocaleName(out localeName))
            {
                cultureInfo = GetCultureByName(localeName);
            }
            else
            {
                cultureInfo = CultureInfo.InvariantCulture;
            }

            return(cultureInfo);
        }
        internal static CultureInfo GetUserDefaultCulture()
        {
            if (GlobalizationMode.Invariant)
            {
                return(CultureInfo.InvariantCulture);
            }

            string?strDefault = CultureData.GetLocaleInfoEx(Interop.Kernel32.LOCALE_NAME_USER_DEFAULT, Interop.Kernel32.LOCALE_SNAME);

            if (strDefault == null)
            {
                strDefault = CultureData.GetLocaleInfoEx(Interop.Kernel32.LOCALE_NAME_SYSTEM_DEFAULT, Interop.Kernel32.LOCALE_SNAME);

                if (strDefault == null)
                {
                    // If system default doesn't work, use invariant
                    return(CultureInfo.InvariantCulture);
                }
            }

            return(GetCultureByName(strDefault));
        }
        // Returns the CultureInfo representing the first language in the list that we can construct a CultureInfo for or null if
        // no such culture exists.
        private static CultureInfo GetBestFitCultureFromLanguageList(List <string> languages)
        {
            StringBuilder localeNameBuffer = new StringBuilder(Interop.Kernel32.LOCALE_NAME_MAX_LENGTH);

            for (int i = 0; i < languages.Count; i++)
            {
                if (CultureData.GetCultureData(languages[i], true) != null)
                {
                    return(new CultureInfo(languages[i]));
                }

                if (Interop.Kernel32.ResolveLocaleName(languages[i], localeNameBuffer, localeNameBuffer.MaxCapacity) != 0)
                {
                    string localeName = localeNameBuffer.ToString();

                    if (CultureData.GetCultureData(localeName, true) != null)
                    {
                        return(new CultureInfo(localeName));
                    }
                }
            }

            return(null);
        }
 protected LinkedData(CultureData language, IReadOnlyList<string> words)
     : base(language, words)
 {
 }
 private static string?GetUserDefaultLocaleName() =>
 GlobalizationMode.Invariant ?
 CultureInfo.InvariantCulture.Name :
 CultureData.GetLocaleInfoEx(Interop.Kernel32.LOCALE_NAME_USER_DEFAULT, Interop.Kernel32.LOCALE_SNAME) ??
 CultureData.GetLocaleInfoEx(Interop.Kernel32.LOCALE_NAME_SYSTEM_DEFAULT, Interop.Kernel32.LOCALE_SNAME);
 /// <summary>
 /// Check whether CultureData exists for specified cultureName
 /// This API is used for WindowsRuntimeResourceManager in System.Runtime.WindowsRuntime
 /// </summary>
 public static bool IsValidCulture(string?cultureName)
 {
     return(CultureData.GetCultureData(cultureName, /* useUserOverride */ true) != null);
 }
Example #16
0
    //int _resourceTextCellIndex = 0;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.GetCommonApi().IsAdmin())
        {
            throw new Exception(this.GetMessage("msg login cms administrator"));
        }

        CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
        _data = new List<CultureData>(cultures.Length);

        foreach (CultureInfo c in cultures)
        {
            if (CultureInfo.InvariantCulture.LCID == c.LCID) continue;

            CultureData item = new CultureData();
            _data.Add(item);
            item.IsNeutralCulture = c.IsNeutralCulture;
            item.LCID = c.LCID;
            item.EnglishName = c.EnglishName;
            item.NativeName = c.NativeName;
            item.IsRightToLeft = c.TextInfo.IsRightToLeft;
            // These IsRightToLeft errors have been fixed in .NET 4.0
            // http://msdn.microsoft.com/en-us/netframework/dd890508.aspx
            if ("ps" == c.TwoLetterISOLanguageName || "prs" == c.TwoLetterISOLanguageName || "ug" == c.TwoLetterISOLanguageName)
            {
                item.IsRightToLeft = true;
            }

            if (c.IsNeutralCulture)
            {
                item.LanguageTag = c.IetfLanguageTag;
                string tag = c.IetfLanguageTag;
                if ("zh-Hant" == tag)
                {
                    tag = "zh-TW";
                }
                else if ("zh-Hans" == tag)
                {
                    tag = "zh-CN";
                }
                CultureInfo ci = CultureInfo.CreateSpecificCulture(tag);
                item.CultureTag = ci.IetfLanguageTag;
            }
            else
            {
                item.CultureTag = c.IetfLanguageTag;
                CultureInfo ci = c.Parent;
                if (CultureInfo.InvariantCulture.LCID == ci.LCID)
                {
                    item.LanguageTag = c.IetfLanguageTag;
                }
                else
                {
                    // ci.IetfLanguageTag may be different than c.TwoLetterISOLanguageName
                    item.LanguageTag = ci.IetfLanguageTag;
                }
            }
            Page.Culture = item.CultureTag; // but not item.LanguageTag
            Page.UICulture = item.LanguageTag; // or item.CultureTag
            //item.ResourceText = GetGlobalResourceObject("DataListSpec", "dlgName") as string;
        }

        // CultureAndRegionInfoBuilder is in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sysglobl.dll
        //CultureAndRegionInfoBuilder cib = null;
        //cib = new CultureAndRegionInfoBuilder("zh-US", CultureAndRegionModifiers.None);
        //CultureInfo ci = new CultureInfo("zh-CN");
        //cib.LoadDataFromCultureInfo(ci);
        //RegionInfo ri = new RegionInfo("US");
        //cib.LoadDataFromRegionInfo(ri);

        //This member cannot be used by partially trusted code.
        //cib.Register();
        //Page.Culture = cib.IetfLanguageTag;

        //CultureData d = new CultureData();
        //gvCultures.Add(d);
        //d.IsNeutralCulture = false;
        //d.LCID = cib.LCID;
        //d.IetfLanguageTag = cib.IetfLanguageTag;
        //d.EnglishName = cib.CultureEnglishName + "(" + cib.RegionEnglishName + ")";
        //d.NativeName = cib.CultureNativeName + "(" + cib.RegionNativeName + ")";
        //d.IsRightToLeft = cib.TextInfo.IsRightToLeft;

        if (!Page.IsPostBack)
        {
            _data.Sort(new Comparison<CultureData>(delegate(CultureData data1, CultureData data2)
            {
                return data1.EnglishName.CompareTo(data2.EnglishName);
            }));
        }

        for (int i = 0; i < gvCultures.Columns.Count; i++)
        {
            BoundField field = gvCultures.Columns[i] as BoundField;
            if (field != null)
            {
                if ("NativeName" == field.DataField)
                {
                    _nativeNameCellIndex = i;
                }
                //else if ("ResourceText" == field.DataField)
                //{
                //    _resourceTextCellIndex = i;
                //}
            }
        }

        gvCultures.RowDataBound += new GridViewRowEventHandler(gv_RowDataBound);
        gvCultures.Sorting += new GridViewSortEventHandler(gv_Sorting);

        gvCultures.DataSource = _data;
        gvCultures.DataBind();
    }
 public WikipediaCategory(CultureData language, IReadOnlyList<string> words)
     : base(language, words)
 {
 }
 public StopWords(CultureData language, IReadOnlyList<string> words)
     : base(language, words)
 {
 }
 public Synonym(CultureData language, IReadOnlyList<string> words)
     : base(language, words)
 {
 }
Example #20
0
 public CultureData(CultureData data)
 {
     Name         = data.Name;
     ModifiedDate = data.ModifiedDate;
     Uid          = data.Uid;
 }
Example #21
0
 internal unsafe TextInfo(CultureData cultureData)
 {
     _cultureData  = cultureData;
     _cultureName  = _cultureData.CultureName;
     _textInfoName = _cultureData.STEXTINFO;
 }
 public Translation(CultureData language, IReadOnlyList<string> words)
     : base(language, words)
 {
 }