Beispiel #1
0
        public LocalizerBuilder ForCulture(params string[] cultureNames)
        {
            for (int i = 0; i < cultureNames.Length; i++)
            {
                var cultureName = cultureNames[i];

                int dashIndex;
                if (cultureName == null || cultureName.Length == 0)
                {
                }
                else if (cultureName.Length == 5 && (dashIndex = cultureName.IndexOf('-')) == 2)
                {
                    var pref1 = LocalizationPreference.ForLanguage(cultureName.Substring(0, 2));
                    this.preferences.Add(pref1);
                    var pref2 = LocalizationPreference.ForRegion(cultureName.Substring(3, 2));
                    this.preferences.Add(pref2);
                }
                else if (cultureName.Length == 2)
                {
                    var pref1 = LocalizationPreference.ForLanguage(cultureName);
                    this.preferences.Add(pref1);
                }
                else
                {
                    // NOTE: should we tolerate invalid language codes?
                    var pref1 = LocalizationPreference.ForLanguage(cultureName);
                    this.preferences.Add(pref1);
                }
            }

            return(this);
        }