System.Globalization.I18NComplete.GetBestLanguage C# (CSharp) Метод

GetBestLanguage() публичный статический Метод

Spins through the language preferences in the supplied HttpRequest, returning the first complete or partial match on a loaded language.
public static GetBestLanguage ( HttpRequest request, string fallback = null ) : string
request System.Web.HttpRequest
fallback string
Результат string
        public static string GetBestLanguage(HttpRequest request, string fallback = null)
        {
            if (request.UserLanguages == null || request.UserLanguages.Length == 0)
            {
                return I18NComplete.DefaultWorkingLanguage;
            }

            foreach (string lang in request.UserLanguages)
            {
                string language = string.IsNullOrWhiteSpace(lang) ? I18NComplete.DefaultWorkingLanguage : lang;
                int languageHash = string.IsNullOrWhiteSpace(lang) ? I18NComplete.DefaultWorkingLanguageLCID : LCID(language);

                if (Localizations.ContainsKey(languageHash))
                    return lang;

                string fragment = language.Split('-')[0];
                if (Localizations.ContainsKey(fragment.GetHashCode()))
                    return fragment;
            }

            return fallback ?? I18NComplete.DefaultWorkingLanguage;
        }