예제 #1
0
        // ********************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <param name="trans"></param>
        /// <returns></returns>
        /// <created>UPh,17.11.2015</created>
        /// <changed>UPh,17.11.2015</changed>
        // ********************************************************************************
        private bool PrepareRequest(CPAITranslations trans)
        {
            if (_TermBaseSet == null)
            {
                InitializeTermbase();
            }

            if (_TermBaseSet == null)
            {
                return(false);
            }

            int lcid1 = -1;
            int lcid2 = -1;

            trans.GetLanguages(ref lcid1, ref lcid2);

            if (_LCID1 != lcid1 || _LCID2 != lcid2)
            {
                _Query.SetLanguagePair(lcid1, lcid2);
                _LCID1 = lcid1;
                _LCID2 = lcid2;
            }

            return(true);
        }
예제 #2
0
        // ********************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <param name="str"></param>
        /// <param name="trans"></param>
        /// <param name="cookie"></param>
        /// <returns></returns>
        /// <created>UPh,07.11.2015</created>
        /// <changed>UPh,07.11.2015</changed>
        // ********************************************************************************
        public override uint GetTerminology(string str, CPAITranslations trans, long cookie)
        {
            if (!PrepareRequest(trans))
            {
                return(1);
            }

            _Query.RequestTerminology(str, cookie);

            return(0);
        }
예제 #3
0
        // ********************************************************************************
        /// <summary>
        /// 
        /// </summary>
        /// <param name="str"></param>
        /// <param name="trans"></param>
        /// <returns></returns>
        /// <created>UPh,16.11.2015</created>
        /// <changed>UPh,16.11.2015</changed>
        // ********************************************************************************
        public override uint GetSyncTerminology(string str, CPAITranslations trans)
        {
            if (!PrepareRequest(trans))
                return 1;

            List<TerminologyResultArgs> results = _Query.RequestSyncTerminology(str, 0);

            foreach (TerminologyResultArgs e in results)
            {
                if (e.Status == TermStatus.prohibited)
                {
                    trans.AddTerminology(e.FindFrom, e.FindLen, e.Term1, "[" + e.Term2 + "]", e.Origin, "[prohibited] " + e.Description);
                }
                else
                {
                    trans.AddTerminology(e.FindFrom, e.FindLen, e.Term1, e.Term2, e.Origin, e.Description);
                }
            }

            return 0;
        }
예제 #4
0
        // ********************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <param name="term"></param>
        /// <param name="trans"></param>
        /// <returns></returns>
        /// <created>UPh,17.11.2015</created>
        /// <changed>UPh,17.11.2015</changed>
        // ********************************************************************************
        public override uint SearchTerminology(string term, CPAITranslations trans)
        {
            if (!PrepareRequest(trans))
            {
                return(1);
            }

            List <TerminologyResultArgs> results = _Query.RequestSyncSingleTerm(term, 0);

            foreach (TerminologyResultArgs e in results)
            {
                if (e.Status == TermStatus.prohibited)
                {
                    trans.AddTerminology(e.FindFrom, e.FindLen, e.Term1, "[" + e.Term2 + "]", e.Origin, "[prohibited] " + e.Description);
                }
                else
                {
                    trans.AddTerminology(e.FindFrom, e.FindLen, e.Term1, e.Term2, e.Origin, e.Description);
                }
            }

            return(0);
        }
예제 #5
0
        // ********************************************************************************
        /// <summary>
        /// 
        /// </summary>
        /// <param name="trans"></param>
        /// <returns></returns>
        /// <created>UPh,17.11.2015</created>
        /// <changed>UPh,17.11.2015</changed>
        // ********************************************************************************
        private bool PrepareRequest(CPAITranslations trans)
        {
            if (_TermBaseSet == null)
                InitializeTermbase();

            if (_TermBaseSet == null)
                return false;

            int lcid1 = -1;
            int lcid2 = -1;
            trans.GetLanguages(ref lcid1, ref lcid2);

            if (_LCID1 != lcid1 || _LCID2 != lcid2)
            {
                _Query.SetLanguagePair(lcid1, lcid2);
                _LCID1 = lcid1;
                _LCID2 = lcid2;
            }

            return true;
        }
예제 #6
0
        // ********************************************************************************
        /// <summary>
        /// 
        /// </summary>
        /// <param name="str"></param>
        /// <param name="trans"></param>
        /// <param name="cookie"></param>
        /// <returns></returns>
        /// <created>UPh,07.11.2015</created>
        /// <changed>UPh,07.11.2015</changed>
        // ********************************************************************************
        public override uint GetTerminology(string str, CPAITranslations trans, long cookie)
        {
            if (!PrepareRequest(trans))
                return 1;

            _Query.RequestTerminology(str, cookie);

            return 0;
        }