Exemple #1
0
 public CultureInfo DetermineCulture(LanguagePreferenceList preferenceList)
 {
     CultureInfo culture = null;
     foreach (string languageCode in preferenceList)
     {
         foreach (Language branch in Context.Current.LanguageManager.GetAvailableLanguages(false))
         {
             if (string.Compare(languageCode, branch.Name, StringComparison.OrdinalIgnoreCase) == 0)
                 return branch.Culture;
             if (culture == null && LanguageSelection.IsCandidateMatch(languageCode, branch.Name))
                 culture = branch.Culture;
         }
         if (culture != null)
             return culture;
     }
     return FinalFallbackCulture;
 }
Exemple #2
0
        public LanguagePreferenceList LanguagePreferenceList(string priorityLanguage)
        {
            LanguagePreferenceList list = new LanguagePreferenceList();
            list.ConditionalAdd(priorityLanguage);
            if (Context.Current.WebContext.IsWeb)
            {
                HttpRequestBase request = Context.Current.WebContext.Request;
                list.ConditionalAdd(request.QueryString["zeuslanguage"]);
                if (HttpRequestSupport.IsRequestSystemDirectory)
                    list.ConditionalAddCookie(request.Cookies["editlanguagebranch"]);
                list.ConditionalAdd(Context.Current.Resolve<IHost>().GetLanguageFromHostName());
                list.ConditionalAddCookie(request.Cookies["zeuslanguage"]);

                GlobalizationSection globalizationConfig = ConfigurationManager.GetSection("zeus/globalization") as GlobalizationSection;
                if (globalizationConfig != null && globalizationConfig.UseBrowserLanguagePreferences)
                    list.ConditionalAddRange(request.UserLanguages);

                list.ConditionalAdd(CultureInfo.CurrentUICulture.Name);
            }
            return list;
        }