Beispiel #1
0
 public static int Match(LanguageTag lt1, LanguageTag lt2)
 {
     return lt1.Match(lt2);
 }
 public static string ChangeLanguage(this UrlHelper uh, RouteValueDictionary rvd, LanguageTag lt)
 {
     return uh.ChangeLanguage(rvd, lt.ToString().ToLower());
 }
Beispiel #3
0
        public int Match(LanguageTag dst)
        {
            int weight = 0;

            if (this.Language == dst.Language)
            {
                weight += LanguageWeight;
            }

            if ((!this.Script.IsNullOrWhiteSpace()) && this.Script == dst.Script)
            {
                weight += ScriptWeight;
            }

            if ((!this.Region.IsNullOrWhiteSpace()) && this.Region == dst.Region)
            {
                weight += RegionWeight;
            }

            return weight;
        }
Beispiel #4
0
 public bool Equals(LanguageTag other)
 {
     return this.Language == other.Language && this.Script == other.Script && this.Region == other.Region;
 }
Beispiel #5
0
 public static string AddLanguage(LanguageTag lt, string url)
 {
     return AddLanguage(lt.ToString().ToLower(), url);
 }
Beispiel #6
0
 public static bool IsSupport(LanguageTag lt)
 {
     foreach (var sl in SupportLanguage.Keys)
     {
         if (lt == sl)
         {
             return true;
         }
     }
     return false;
 }
Beispiel #7
0
        /// <summary>
        /// 初始化I18N支持环境
        /// </summary>
        public static void Initialize()
        {
            if (supportLanguage != null)
            {
                return;
            }

            supportLanguage = new Dictionary<LanguageTag, List<LanguageTag>>();

            SupportedLanguageSection sl = (SupportedLanguageSection)ConfigurationManager.GetSection("supportedLanguage");

            foreach (LanguageElement item in sl.Language)
            {
                List<LanguageTag> fallbackList;

                if (item.Fallback)
                {
                    fallbackList = FallbackLanguage(item.Name);
                }
                else
                {
                    fallbackList = new List<LanguageTag>()
                    {
                        LanguageTag.Parse(item.Name)
                    };
                }

                supportLanguage[LanguageTag.Parse(item.Name)] = fallbackList;

                defaultLanguage = LanguageTag.Parse(sl.DefaultLanguage);
            }
        }