コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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));
            }
        }