public static string GetTranslate(string str) { string tablename; switch (MessageType) { case MiMFa_MessageType.Success: tablename = SuccessTableName; break; case MiMFa_MessageType.Alert: tablename = AlertTableName; break; case MiMFa_MessageType.Error: tablename = ErrorTableName; break; default: tablename = TextTableName; break; } try { string ss = ""; object obj = null; obj = db.GetValue(tablename, str, Conditions); if (obj != null) { return(obj.ToString().Split(ResultSpliter, StringSplitOptions.None)[0]); } else if (str.StartsWith(SignTryTranslate)) { if ((obj = db.GetValue(tablename, str = str.Replace(SignTryTranslate, ""), Conditions)) != null) { return(obj.ToString().Split(ResultSpliter, StringSplitOptions.None)[0]); } else { return(str); } } else if ((obj = db.GetValue(tablename, ss = MiMFa_Convert.ToSeparatedWords(str), Conditions)) != null) { return(obj.ToString().Split(ResultSpliter, StringSplitOptions.None)[0]); } if (ss.Contains(" ")) { return(GetFullTranslate(str)); } } catch { } return(str); }
public static string GetFullTranslate(string str) { str = str.Replace(SignFullTranslate, ""); string[] sa = str.Split(new string[] { " " }, StringSplitOptions.None); List <KeyValuePair <bool, string> > dic = new List <KeyValuePair <bool, string> >(); if (sa.Length > 1) { for (int i = 0; i < sa.Length; i++) { string s = GetText(sa[i]); dic.Add(new KeyValuePair <bool, string>(s != sa[i], s)); } } else { dic.Add(new KeyValuePair <bool, string>(false, str)); } for (int i = 0; i < dic.Count; i++) { if (!dic[i].Key) { sa = MiMFa_Convert.ToSeparatedWords(dic[i].Value).Split(new string[] { " " }, StringSplitOptions.None); if (sa.Length > 1) { dic[i] = new KeyValuePair <bool, string>(true, ""); foreach (var itm in sa) { dic[i] = new KeyValuePair <bool, string>(dic[i].Key, dic[i].Value + " " + GetText(itm)); } } } } string word = ""; foreach (var item in dic) { word += item.Value; if (!string.IsNullOrEmpty(item.Value.Trim())) { word += " "; } } if (word.Length > 0) { word = word.Substring(0, word.Length - 1); } return(word); }
public static string GetReverseFullTranslate(string str) { string word = ""; foreach (var item in (MiMFa_Convert.ToSeparatedWords(str.Replace(SignFullTranslate, ""))).Split(' ')) { var it = GetReverseText(item); word += it; if (!string.IsNullOrEmpty(it.Trim())) { word += " "; } } return(word); }
public static string GetReverseTranslate(string str) { string tablename; switch (MessageType) { case MiMFa_MessageType.Success: tablename = SuccessTableName; break; case MiMFa_MessageType.Alert: tablename = AlertTableName; break; case MiMFa_MessageType.Error: tablename = ErrorTableName; break; default: tablename = TextTableName; break; } object obj = null; obj = db.GetKeys(tablename, str, Conditions)[0]; if (obj != null) { return(obj.ToString().Split(new string[] { SplitSign }, StringSplitOptions.None)[0]); } else if (str.StartsWith(SignTryTranslate) && (obj = db.GetKeys(tablename, str = str.Replace(SignTryTranslate, ""), Conditions)) != null) { return(((object[])obj)[0].ToString().Split(ResultSpliter, StringSplitOptions.None)[0]); } else if ((obj = db.GetKeys(tablename, MiMFa_Convert.ToSeparatedWords(str), Conditions)[0]) != null) { return(obj.ToString().Split(new string[] { SplitSign }, StringSplitOptions.None)[0]); } else { return(GetReverseFullTranslate(str)); } }