예제 #1
0
 /// <summary>
 /// 添加或更新本地化字符串
 /// </summary>
 /// <param name="locals">本地字符串</param>
 public void AddOrUpdate(params LocalString[] locals)
 {
     if (locals == null || locals.Length == 0)
     {
         return;
     }
     foreach (var l in locals)
     {
         if (l == null)
         {
             continue;
         }
         if (l.LanguageCode.Length < 2)
         {
             throw new ArgumentException("格式错误,LanguageCode必须是languagecode2格式", "locals");
         }
         //精确匹配:要求<languagecode2>-<country/regioncode2>完全一致
         if (this.LocalStringDict.ContainsKey(l.LanguageCode))
         {
             LocalString ls = this.LocalStringDict[l.LanguageCode];
             ls.Value = l.Value;
         }
         else
         {
             this.Add(l);
         }
     }
 }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="languageCode">
        /// <![CDATA[<languagecode2>-<country/regioncode2>]]>
        /// </param>
        /// <param name="useDefaultLanguage">
        /// 是否使用默认语言
        /// </param>
        /// <returns></returns>
        protected LocalString Get(string languageCode, bool useDefaultLanguage)
        {
            LocalString ls = this.Get(languageCode);

            if ((ls == null || ls.InvalidValue) && useDefaultLanguage)
            {
                return(this.Get(this.DefaultLanguage));
            }
            return(ls);
        }
예제 #3
0
 /// <summary>
 /// 更新已经存在的本地化字符串。
 /// </summary>
 /// <param name="languageCode"></param>
 /// <param name="value"></param>
 /// <returns>已经存在对应的语言返回true,否则返回false。</returns>
 public bool Update(string languageCode, string value)
 {
     //精确匹配:要求<languagecode2>-<country/regioncode2>完全一致
     if (this.LocalStringDict.ContainsKey(languageCode))
     {
         LocalString ls = this.LocalStringDict[languageCode];
         ls.Value = value;
         return(true);
     }
     return(false);
 }
예제 #4
0
 private void Add(LocalString ls)
 {
     this.localList.Add(ls);
     this.LocalStringDict[ls.LanguageCode] = ls;
 }
예제 #5
0
        /// <summary>
        /// 获取对应语言的字符串
        /// </summary>
        /// <param name="languageCode"></param>
        /// <returns></returns>
        public string GetValue(string languageCode, bool useDefaultLanguage = true)
        {
            LocalString ls = this.Get(languageCode, useDefaultLanguage);

            return(ls?.Value);
        }