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()); }
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; }
public bool Equals(LanguageTag other) { return this.Language == other.Language && this.Script == other.Script && this.Region == other.Region; }
public static string AddLanguage(LanguageTag lt, string url) { return AddLanguage(lt.ToString().ToLower(), url); }
public static bool IsSupport(LanguageTag lt) { foreach (var sl in SupportLanguage.Keys) { if (lt == sl) { return true; } } return false; }
/// <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); } }