예제 #1
0
        public LangPair GetLangPair(string inputLang, string outputLang)
        {
            LangPair lp = new LangPair();

            #region InputLang

            switch (inputLang)
            {
            case "English":
                lp.InputLang = Lang.En;
                break;

            case "Russian":
                lp.InputLang = Lang.Ru;
                break;
            }

            #endregion
            #region OutputLang
            switch (outputLang)
            {
            case "English":
                lp.OutputLang = Lang.En;
                break;

            case "Russian":
                lp.OutputLang = Lang.Ru;
                break;
            }

            #endregion
            return(lp);
        }
예제 #2
0
        public void button1_Click(object sender, EventArgs e)
        {
            LangPair LP = new LangPair(Lang.En, Lang.Ru);

            textBox2.Text = "";
            textBox2.Text = Trans.Translate(textBox1.Text, LP).Text;
        }
예제 #3
0
        private IAsset CreateAsset(string package, LangPair lang_pair, ICollection <TuEntry> all_tus)
        {
            var slang   = lang_pair.Source;
            var tlang   = lang_pair.Target;
            var propman = new PropertiesManager(false);

            var pairs = new List <ITransPair>(all_tus.Count);

            foreach (var tu in all_tus)
            {
                var pair = tu.GetTransPair(slang, tlang, propman);
                if (pair != null)
                {
                    pairs.Add(pair);
                }
            }
            if (pairs.Count == 0)
            {
                return(null);
            }

            return(new TmxAsset
            {
                Package = package,
                Original = string.Format("{0} - {1}", slang, tlang),
                SourceLang = slang,
                TargetLang = tlang,
                TransPairs = pairs.ToArray(),
                Properties = propman.Properties,
            });
        }
예제 #4
0
        public TranslateClass(Lang inLang, Lang outLang, string key)
        {
            tr = new Translator(key);

            lp = new LangPair
            {
                InputLang  = inLang,
                OutputLang = outLang
            };
        }
예제 #5
0
        private static bool ProviderSupportsPair(dynamic provider, LangPair pair)
        {
            foreach (dynamic p in provider.pairs)
            {
                if (p.from == pair.from && p.to == pair.to)
                {
                    return(true);
                }
            }
            List <string> symmetric = ((JArray)provider.symmetric).Select(x => (string)x).ToList();

            return(symmetric.Any(x => x == pair.from) && symmetric.Any(x => x == pair.to));
        }
예제 #6
0
 private static bool RoutingSupportsPair(dynamic routing, LangPair pair)
 {
     foreach (dynamic p in routing.pairs)
     {
         if (p.from == "" || p.from == pair.from)
         {
             if (p.to == "" || p.to == pair.to)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
예제 #7
0
        public static string Translator(string wordTranslate, string inputLang, string outputLang)
        {
            string trKey = File.ReadAllText("APIKey.txt", Encoding.Default);

            LangPair langPair = new LangPair();

            if (inputLang.Equals("Default"))
            {
                langPair.InputLang = langDetect(wordTranslate, trKey);
            }
            else
            {
                langPair.InputLang = selector(inputLang);
            }
            langPair.OutputLang = selector(outputLang);
            return((new YandexLinguistics.NET.Translator(trKey)).Translate(wordTranslate, langPair).Text);
        }
예제 #8
0
        public LangPair GetLangPair(string langFrom, string langTo)
        {
            LangPair pair = new LangPair();

            switch (langFrom)
            {
            case "Русский": pair.InputLang = Lang.Ru; break;

            case "Английский": pair.InputLang = Lang.En; break;
            }
            switch (langTo)
            {
            case "Русский": pair.OutputLang = Lang.Ru; break;

            case "Английский": pair.OutputLang = Lang.En; break;
            }
            return(pair);
        }
예제 #9
0
        public LangPair GetLangPair(string inputLang, string outputLang)
        {
            LangPair lp = new LangPair();

            for (int i = 0; i < LangIsMas.Length / 2; i++)
            {
                if (inputLang.ToLower() == LangIsMas[i])
                {
                    lp.InputLang = (Lang)i;
                }

                if (outputLang.ToLower() == LangIsMas[i])
                {
                    lp.OutputLang = (Lang)i;
                }
            }

            return(lp);
        }
예제 #10
0
파일: Trans.cs 프로젝트: Dm5Xia9/BotKopaet
        public LangPair GetLangPair(string inputLang, string outputLang)
        {
            LangPair lp = new LangPair();



            switch (inputLang)
            {
            case "en":

                lp.InputLang = Lang.En;

                break;

            case "ru":

                lp.InputLang = Lang.Ru;

                break;
            }

            switch (outputLang)
            {
            case "en":

                lp.OutputLang = Lang.En;

                break;

            case "ru":

                lp.OutputLang = Lang.Ru;

                break;
            }
            return(lp);
        }
예제 #11
0
        public LangPair GetLangPair(string inputLang, string outputLang)
        {
            LangPair lp = new LangPair();

            switch (inputLang)
            {
            case "Украинский":
                lp.InputLang = Lang.Uk;
                break;

            case "Английский":
                lp.InputLang = Lang.En;
                break;


            default:
                break;
            }

            switch (outputLang)
            {
            case "Украинский":
                lp.OutputLang = Lang.Uk;
                break;

            case "Английский":
                lp.OutputLang = Lang.En;
                break;


            default:
                break;
            }

            return(lp);
        }
예제 #12
0
 public string Translate(string text, LangPair pair)
 {
     return(translator.Translate(text, pair).Text);
 }
예제 #13
0
 public string Translator(string wordToTranslate, LangPair langPair)
 {
     return(translator.Translate(wordToTranslate, langPair).Text);
 }
예제 #14
0
파일: Trans.cs 프로젝트: Dm5Xia9/BotKopaet
 public string BTranslator(string wordToTranslate, LangPair langPair)
 {
     Tr = new YandexLinguistics.NET.Translator(KeyApi);
     return(Tr.Translate(wordToTranslate, langPair).Text);
 }
예제 #15
0
        /// <summary>Reads a TMX document from an XmlReader to return a series of assets.</summary>
        /// <param name="reader">An XmlReader object.</param>
        /// <param name="package">The name of package the XmlReader reads data from.</param>
        /// <returns>A series of assets.</returns>
        private IEnumerable <IAsset> ReadAssets(XmlReader reader, string package)
        {
            XElement header;
            IEnumerable <XElement> tus;

            if (!ParseEnumerateTmx(reader, out header, out tus))
            {
                return(null);
            }

            var X = header.Name.Namespace;

            var locker  = new object();
            var all_tus = new TuEntryList();

            AltParallel.ForEach(tus,
                                // Local Init
                                () => new TuEntryList(),
                                // Body
                                (tu, state_UNUSED, index_long, local_tus) =>
            {
                var index = (int)index_long;
                local_tus.Add(new TuEntry(tu, index));
                return(local_tus);
            },
                                // Local Finally
                                (local_tus) =>
            {
                lock (locker)
                {
                    all_tus.AddRange(local_tus);
                }
            }
                                );

            all_tus.Sort();

            var header_source_language = LangCode.NoAll((string)header.Attribute("srclang"));

            if (header_source_language != null)
            {
                all_tus.SourceLanguages.Add(header_source_language);
            }
            var slangs = all_tus.SourceLanguages;
            var tlangs = all_tus.TargetLanguages;

            if (slangs.Count == 0)
            {
                slangs = tlangs;
            }

            var assets = new List <IAsset>(slangs.Count * tlangs.Count);

            AltParallel.ForEach(LangPair.Enumerate(slangs, tlangs),
                                (lang_pair) =>
            {
                var asset = CreateAsset(package, lang_pair, all_tus.Tus);
                if (asset != null)
                {
                    lock (locker)
                    {
                        assets.Add(asset);
                    }
                }
            }
                                );
            // Sort the assets with language codes so that the result is predicatble.
            assets.Sort((x, y) =>
            {
                var s = string.Compare(x.SourceLang, y.SourceLang, StringComparison.OrdinalIgnoreCase);
                if (s != 0)
                {
                    return(s);
                }
                var t = string.Compare(x.TargetLang, y.TargetLang, StringComparison.OrdinalIgnoreCase);
                return(t);
            });
            return(assets);
        }
예제 #16
0
파일: DMTransletor.cs 프로젝트: DS2107/DMT
        } // DMTransletor

        /// <summary>
        /// Выбор языка
        /// </summary>
        /// <param name="inputLang"></param>
        /// <param name="outputLang"></param>
        /// <returns></returns>
        public LangPair GetPair(string inputLang, string outputLang)
        {
            LangPair lp = new LangPair();

            #region InputLang

            switch (inputLang)
            {
            case "английский":

                lp.InputLang = Lang.En;

                break;

            case "белорусский":

                lp.InputLang = Lang.Be;

                break;

            case "русский":

                lp.InputLang = Lang.Ru;

                break;

            case "украинский":

                lp.InputLang = Lang.Uk;

                break;

            case "французский":

                lp.InputLang = Lang.Fr;

                break;
            }

            #endregion

            #region OutputLang

            switch (outputLang)
            {
            case "английский":

                lp.OutputLang = Lang.En;

                break;

            case "белорусский":

                lp.OutputLang = Lang.Be;

                break;

            case "русский":

                lp.OutputLang = Lang.Ru;

                break;

            case "украинский":

                lp.OutputLang = Lang.Uk;

                break;

            case "французский":

                lp.OutputLang = Lang.Fr;

                break;
            }

            #endregion

            return(lp);
        } //
예제 #17
0
파일: DMTransletor.cs 프로젝트: DS2107/DMT
        } //

        /// <summary>
        /// Выполнение перевода
        /// </summary>
        /// <param name="wordTotranslete">Текст для перевода</param>
        /// <param name="lang">Определенный язык</param>
        /// <returns></returns>
        public string Translator(string wordTotranslete, LangPair lang)
        {
            // Вернуть текст
            return(tr.Translate(wordTotranslete, lang).Text);
        } // translator
예제 #18
0
파일: Form1.cs 프로젝트: Stio001/translator
        private void TranslateButton_Click(object sender, EventArgs e)
        {
            toRichTextBox.Clear();

            using (SQLiteConnection connection = new SQLiteConnection("DataSource=saved_translations.db"))
            {
                connection.Open();

                LangPair langPair = new LangPair(translator.DetectLang(fromRichTextBox.Text), GetLang(toLangComboBox.SelectedItem.ToString()));

                SQLiteCommand   sqlCommand   = new SQLiteCommand("SELECT EXISTS (SELECT * FROM translation_cache WHERE from_str = @from_str and lang_pair = @lang_pair)", connection);
                SQLiteParameter fromStrParam = new SQLiteParameter("@from_str", fromRichTextBox.Text);
                sqlCommand.Parameters.Add(fromStrParam);
                SQLiteParameter langPairParam = new SQLiteParameter("@lang_pair", langPair.ToString());
                sqlCommand.Parameters.Add(langPairParam);

                try
                {
                    string isTranslationExists = sqlCommand.ExecuteScalar().ToString();

                    if (isTranslationExists == "0")
                    {
                        Translation translation;

                        switch (fromLangComboBox.SelectedItem.ToString())
                        {
                        case "Автоопределение":
                            translation = translator.Translate(fromRichTextBox.Text, langPair);
                            break;

                        default:
                            translation = translator.Translate(fromRichTextBox.Text, langPair);
                            break;
                        }

                        DicResult dicResult = dictionary.Lookup(langPair, fromRichTextBox.Text);

                        FillToRichTextBox(translation.Text, dicResult);

                        sqlCommand.CommandText = "INSERT INTO translation_cache (from_str, to_str, lang_pair, dic_result)" +
                                                 "VALUES (@from_str, @to_str, @lang_pair, @dic_result)";
                        SQLiteParameter toStrParam = new SQLiteParameter("@to_str", translation.Text);
                        sqlCommand.Parameters.Add(toStrParam);
                        SQLiteParameter dicResultParam = new SQLiteParameter("@dic_result", JsonConvert.SerializeObject(dicResult));
                        sqlCommand.Parameters.Add(dicResultParam);
                        sqlCommand.ExecuteNonQuery();
                    }
                    else
                    {
                        sqlCommand.CommandText = "SELECT to_str FROM translation_cache WHERE from_str = @from_str and lang_pair = @lang_pair";
                        string strTranslaton = sqlCommand.ExecuteScalar().ToString();

                        sqlCommand.CommandText = "SELECT dic_result FROM translation_cache WHERE from_str = @from_str and lang_pair = @lang_pair";

                        DicResult dicResult = JsonConvert.DeserializeObject <DicResult>(sqlCommand.ExecuteScalar().ToString());

                        FillToRichTextBox(strTranslaton, dicResult);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
예제 #19
0
        public frmMain()
        {
            Predictor  = new Predictor(Settings.Default.PredictorKey);
            Dictionary = new Dictionary(Settings.Default.DictionaryKey);
            Translator = new Translator(Settings.Default.TranslatorKey);
            Speller    = new Speller();

            PredictorTimer  = new System.Threading.Timer(_ => UpdatePredictorResult(), null, Timeout.Infinite, Timeout.Infinite);
            DictionaryTimer = new System.Threading.Timer(_ => UpdateDictionaryResult(), null, Timeout.Infinite, Timeout.Infinite);
            TranslatorTimer = new System.Threading.Timer(_ => UpdateTranslatorResult(), null, Timeout.Infinite, Timeout.Infinite);
            SpellerTimer    = new System.Threading.Timer(_ => UpdateSpellerResult(), null, Timeout.Infinite, Timeout.Infinite);

            InitializeComponent();

            tcServices.SelectedIndex = Settings.Default.SelectedTabIndex;

            cmbPredictorLangs.Items.AddRange(Predictor.GetLangs().Select(lang => (object)lang).ToArray());
            cmbDictionaryLangPairs.Items.AddRange(Dictionary.GetLangs().Select(lang => (object)lang).ToArray());
            cmbDictionaryLangUi.Items.Add("");
            cmbDictionaryLangUi.Items.AddRange(Predictor.GetLangs().Select(lang => (object)lang).ToArray());

            cmbPredictorLangs.SelectedItem = Enum.Parse(typeof(Lang), Settings.Default.PredictorLanguage);
            nudMaxHintCount.Value          = Settings.Default.PredictorMaxHintCount;
            nudPredictorDelay.Value        = Settings.Default.PredictorHintDelay;
            tbPredictorInput.Text          = Settings.Default.PredictorInput;

            cmbDictionaryLangPairs.SelectedItem = LangPair.Parse(Settings.Default.DictionaryLangPair);
            cmbDictionaryLangUi.SelectedIndex   = 0;

            cbFamily.Checked               = Settings.Default.DictionaryFamily;
            cbMorpho.Checked               = Settings.Default.DictionaryMorpho;
            cbPartOfSpeech.Checked         = Settings.Default.DictionaryPartOfSpeech;
            nudPredictorDelay.Value        = Settings.Default.DictionaryHintDelay;
            tbDictionaryInput.Text         = Settings.Default.DictionaryInput;
            cbDictionaryFormatting.Checked = Settings.Default.DictionaryFormatting;
            rbDictionaryOutput.Text        = Settings.Default.DictionaryOutputIndent;

            var langArray = ((Lang[])Enum.GetValues(typeof(Lang))).Select(lang => (object)lang).ToArray();

            cmbTranslatorInputLang.Items.AddRange(langArray);
            cmbTranslatorOutputLang.Items.AddRange(langArray);
            cmbTranslatorInputLang.SelectedItem  = (Lang)Enum.Parse(typeof(Lang), Settings.Default.TranslatorInputLang);
            cmbTranslatorOutputLang.SelectedItem = (Lang)Enum.Parse(typeof(Lang), Settings.Default.TranslatorOutputLang);
            nudTranslatorDelay.Value             = Settings.Default.TranslatorHintDelay;
            cbTranslatorDetectInputLang.Checked  = Settings.Default.TranslatorDetectInputLang;
            tbTranslatorInput.Text = Settings.Default.TranslatorInput;

            cbSpellerRu.Checked = Settings.Default.SpellerRuLang;
            cbSpellerEn.Checked = Settings.Default.SpellerEnLang;
            cbSpellerUk.Checked = Settings.Default.SpellerUkLang;
            SpellerOptions options = (SpellerOptions)Settings.Default.SpellerOptions;

            cbIgnoreUppercase.Checked      = options.HasFlag(SpellerOptions.IgnoreUppercase);
            cbIgnoreDigits.Checked         = options.HasFlag(SpellerOptions.IgnoreDigits);
            cbIgnoreUrls.Checked           = options.HasFlag(SpellerOptions.IgnoreUrls);
            cbFindRepeatWords.Checked      = options.HasFlag(SpellerOptions.FindRepeatWords);
            cbIgnoreLatin.Checked          = options.HasFlag(SpellerOptions.IgnoreLatin);
            cbNoSuggest.Checked            = options.HasFlag(SpellerOptions.NoSuggest);
            cbFlagLatin.Checked            = options.HasFlag(SpellerOptions.FlagLatin);
            cbByWords.Checked              = options.HasFlag(SpellerOptions.ByWords);
            cbIgnoreCapitalization.Checked = options.HasFlag(SpellerOptions.IgnoreCapitalization);
            nudSpellerDelay.Value          = Settings.Default.SpellerHintDelay;
            tbSpellerInput.Text            = Settings.Default.SpellerInput;
            cbIncludeErrorWords.Checked    = Settings.Default.SpellerIncludeErrorWords;

            tbPredictorKey.Text      = Settings.Default.PredictorKey;
            tbDictionaryKey.Text     = Settings.Default.DictionaryKey;
            tbTranslatorKey.Text     = Settings.Default.TranslatorKey;
            tbPredictorBaseUrl.Text  = Settings.Default.PredictorBaseUrl;
            tbDictionaryBaseUrl.Text = Settings.Default.DictionaryBaseUrl;
            tbTranslatorBaseUrl.Text = Settings.Default.TranslatorBaseUrl;
            tbSpellerBaseUrl.Text    = Settings.Default.SpellerBaseUrl;
        }
        public void TranslatorGetLangs()
        {
            var langPairs = Translator.GetLangs();

            var expectedLangPairs = new LangPair[]
            {
                LangPair.AzRu,
                LangPair.BeBg,
                LangPair.BeCs,
                LangPair.BeDe,
                LangPair.BeEn,
                LangPair.BeEs,
                LangPair.BeFr,
                LangPair.BeIt,
                LangPair.BePl,
                LangPair.BeRo,
                LangPair.BeRu,
                LangPair.BeSr,
                LangPair.BeTr,
                LangPair.BgBe,
                LangPair.BgRu,
                LangPair.BgUk,
                LangPair.CaEn,
                LangPair.CaRu,
                LangPair.CsBe,
                LangPair.CsEn,
                LangPair.CsRu,
                LangPair.CsUk,
                LangPair.DaEn,
                LangPair.DaRu,
                LangPair.DeBe,
                LangPair.DeEn,
                LangPair.DeEs,
                LangPair.DeFr,
                LangPair.DeIt,
                LangPair.DeRu,
                LangPair.DeTr,
                LangPair.DeUk,
                LangPair.ElEn,
                LangPair.ElRu,
                LangPair.EnBe,
                LangPair.EnCa,
                LangPair.EnCs,
                LangPair.EnDa,
                LangPair.EnDe,
                LangPair.EnEl,
                LangPair.EnEs,
                LangPair.EnEt,
                LangPair.EnFi,
                LangPair.EnFr,
                LangPair.EnHu,
                LangPair.EnIt,
                LangPair.EnLt,
                LangPair.EnLv,
                LangPair.EnMk,
                LangPair.EnNl,
                LangPair.EnNo,
                LangPair.EnPt,
                LangPair.EnRu,
                LangPair.EnSk,
                LangPair.EnSl,
                LangPair.EnSq,
                LangPair.EnSv,
                LangPair.EnTr,
                LangPair.EnUk,
                LangPair.EsBe,
                LangPair.EsDe,
                LangPair.EsEn,
                LangPair.EsRu,
                LangPair.EsUk,
                LangPair.EtEn,
                LangPair.EtRu,
                LangPair.FiEn,
                LangPair.FiRu,
                LangPair.FrBe,
                LangPair.FrDe,
                LangPair.FrEn,
                LangPair.FrRu,
                LangPair.FrUk,
                LangPair.HrRu,
                LangPair.HuEn,
                LangPair.HuRu,
                LangPair.HyRu,
                LangPair.ItBe,
                LangPair.ItDe,
                LangPair.ItEn,
                LangPair.ItRu,
                LangPair.ItUk,
                LangPair.LtEn,
                LangPair.LtRu,
                LangPair.LvEn,
                LangPair.LvRu,
                LangPair.MkEn,
                LangPair.MkRu,
                LangPair.NlEn,
                LangPair.NlRu,
                LangPair.NoEn,
                LangPair.NoRu,
                LangPair.PlBe,
                LangPair.PlRu,
                LangPair.PlUk,
                LangPair.PtEn,
                LangPair.PtRu,
                LangPair.RoBe,
                LangPair.RoRu,
                LangPair.RoUk,
                LangPair.RuAz,
                LangPair.RuBe,
                LangPair.RuBg,
                LangPair.RuCa,
                LangPair.RuCs,
                LangPair.RuDa,
                LangPair.RuDe,
                LangPair.RuEl,
                LangPair.RuEn,
                LangPair.RuEs,
                LangPair.RuEt,
                LangPair.RuFi,
                LangPair.RuFr,
                LangPair.RuHr,
                LangPair.RuHu,
                LangPair.RuHy,
                LangPair.RuIt,
                LangPair.RuLt,
                LangPair.RuLv,
                LangPair.RuMk,
                LangPair.RuNl,
                LangPair.RuNo,
                LangPair.RuPl,
                LangPair.RuPt,
                LangPair.RuRo,
                LangPair.RuSk,
                LangPair.RuSl,
                LangPair.RuSq,
                LangPair.RuSr,
                LangPair.RuSv,
                LangPair.RuTr,
                LangPair.RuUk,
                LangPair.SkEn,
                LangPair.SkRu,
                LangPair.SlEn,
                LangPair.SlRu,
                LangPair.SqEn,
                LangPair.SqRu,
                LangPair.SrBe,
                LangPair.SrRu,
                LangPair.SrUk,
                LangPair.SvEn,
                LangPair.SvRu,
                LangPair.TrBe,
                LangPair.TrDe,
                LangPair.TrEn,
                LangPair.TrRu,
                LangPair.TrUk,
                LangPair.UkBg,
                LangPair.UkCs,
                LangPair.UkDe,
                LangPair.UkEn,
                LangPair.UkEs,
                LangPair.UkFr,
                LangPair.UkIt,
                LangPair.UkPl,
                LangPair.UkRo,
                LangPair.UkRu,
                LangPair.UkSr,
                LangPair.UkTr,
            };

            Assert.IsTrue(expectedLangPairs.All(lang => langPairs.Contains(lang)));
        }
예제 #21
0
        public LangPair getLangPair(string inputLang, string outputLang)
        {
            LangPair lp = new LangPair();

            #region InputLang

            switch (inputLang)
            {
            case "Азербайджанский":

                lp.InputLang = Lang.Az;

                break;

            case "Албанский":

                lp.InputLang = Lang.Sq;

                break;

            case "Английский":

                lp.InputLang = Lang.En;

                break;

            case "Арабский":
                break;

            case "Армянский":

                lp.InputLang = Lang.Hy;

                break;

            case "Африкаанс":
                break;

            case "Баскский":
                break;

            case "Башкирский":
                break;

            case "Белорусский":

                lp.InputLang = Lang.Be;

                break;

            case "Бенгальский":
                break;

            case "Болгарский":

                lp.InputLang = Lang.Bg;

                break;

            case "Боснийский":
                break;

            case "Валлийский":
                break;

            case "Венгерский":

                lp.InputLang = Lang.Hu;

                break;

            case "Вьетнамский":
                break;

            case "Гаитянский":
                break;

            case "Галисийский":
                break;

            case "Голландский":
                break;

            case "Греческий":

                lp.InputLang = Lang.El;

                break;

            case "Грузинский":
                break;

            case "Гуджарати":
                break;

            case "Датский":

                lp.InputLang = Lang.Da;

                break;

            case "Иврит":
                break;

            case "Индонезийский":
                break;

            case "Ирландский":
                break;

            case "Исландский":
                break;

            case "Испанский":

                lp.InputLang = Lang.Es;

                break;

            case "Итальянский":

                lp.InputLang = Lang.It;

                break;

            case "Казахский":
                break;

            case "Каннада":
                break;

            case "Каталанский":

                lp.InputLang = Lang.Ca;

                break;

            case "Киргизский":
                break;

            case "Китайский":
                break;

            case "Корейский":
                break;

            case "Латынь":
                break;

            case "Латышский":

                lp.InputLang = Lang.Lv;

                break;

            case "Литовский":

                lp.InputLang = Lang.Lt;

                break;

            case "Македонский":

                lp.InputLang = Lang.Mk;

                break;

            case "Малагасийский":
                break;

            case "Малайский":
                break;

            case "Мальтийский":
                break;

            case "Монгольский":
                break;

            case "Немецкий":

                lp.InputLang = Lang.De;

                break;

            case "Норвежский":

                lp.InputLang = Lang.No;

                break;

            case "Панджаби":
                break;

            case "Персидский":
                break;

            case "Польский":

                lp.InputLang = Lang.Pl;

                break;

            case "Португальский":

                lp.InputLang = Lang.Pt;

                break;

            case "Румынский":

                lp.InputLang = Lang.Ro;

                break;

            case "Русский":

                lp.InputLang = Lang.Ru;

                break;

            case "Сербский":

                lp.InputLang = Lang.Sr;

                break;

            case "Сингальский":
                break;

            case "Словацкий":

                lp.InputLang = Lang.Sk;

                break;

            case "Словенский":

                lp.InputLang = Lang.Sl;

                break;

            case "Суахили":
                break;

            case "Тагальский":
                break;

            case "Таджикский":
                break;

            case "Тайский":
                break;

            case "Тамильский":
                break;

            case "Татарский":
                break;

            case "Турецкий":

                lp.InputLang = Lang.Tr;

                break;

            case "Удмуртский":
                break;

            case "Узбекский":
                break;

            case "Украинский":

                lp.InputLang = Lang.Uk;

                break;

            case "Урду":
                break;

            case "Финский":

                lp.InputLang = Lang.Fi;

                break;

            case "Французский":

                lp.InputLang = Lang.Fr;

                break;

            case "Хорватский":

                lp.InputLang = Lang.Hr;

                break;

            case "Хинди":
                break;

            case "Чешский":

                lp.InputLang = Lang.Cs;

                break;

            case "Шведский":

                lp.InputLang = Lang.Sv;

                break;

            case "Эльфийский (cиндарин)":
                break;

            case "Эстонский":

                lp.InputLang = Lang.Et;

                break;

            case "Японский":
                break;
            }

            #endregion

            #region OutputLang

            switch (outputLang)
            {
            case "Азербайджанский":

                lp.OutputLang = Lang.Az;

                break;

            case "Албанский":

                lp.OutputLang = Lang.Sq;

                break;

            case "Английский":

                lp.OutputLang = Lang.En;

                break;

            case "Арабский":
                break;

            case "Армянский":

                lp.OutputLang = Lang.Hy;

                break;

            case "Африкаанс":
                break;

            case "Баскский":
                break;

            case "Башкирский":
                break;

            case "Белорусский":

                lp.OutputLang = Lang.Be;

                break;

            case "Бенгальский":
                break;

            case "Болгарский":

                lp.OutputLang = Lang.Bg;

                break;

            case "Боснийский":
                break;

            case "Валлийский":
                break;

            case "Венгерский":

                lp.OutputLang = Lang.Hu;

                break;

            case "Вьетнамский":
                break;

            case "Гаитянский":
                break;

            case "Галисийский":
                break;

            case "Голландский":
                break;

            case "Греческий":

                lp.OutputLang = Lang.El;

                break;

            case "Грузинский":
                break;

            case "Гуджарати":
                break;

            case "Датский":

                lp.OutputLang = Lang.Da;

                break;

            case "Иврит":
                break;

            case "Индонезийский":
                break;

            case "Ирландский":
                break;

            case "Исландский":
                break;

            case "Испанский":

                lp.OutputLang = Lang.Es;

                break;

            case "Итальянский":

                lp.OutputLang = Lang.It;

                break;

            case "Казахский":
                break;

            case "Каннада":
                break;

            case "Каталанский":

                lp.OutputLang = Lang.Ca;

                break;

            case "Киргизский":
                break;

            case "Китайский":
                break;

            case "Корейский":
                break;

            case "Латынь":
                break;

            case "Латышский":

                lp.OutputLang = Lang.Lv;

                break;

            case "Литовский":

                lp.OutputLang = Lang.Lt;

                break;

            case "Македонский":

                lp.OutputLang = Lang.Mk;

                break;

            case "Малагасийский":
                break;

            case "Малайский":
                break;

            case "Мальтийский":
                break;

            case "Монгольский":
                break;

            case "Немецкий":

                lp.OutputLang = Lang.De;

                break;

            case "Норвежский":

                lp.OutputLang = Lang.No;

                break;

            case "Панджаби":
                break;

            case "Персидский":
                break;

            case "Польский":

                lp.OutputLang = Lang.Pl;

                break;

            case "Португальский":

                lp.OutputLang = Lang.Pt;

                break;

            case "Румынский":

                lp.OutputLang = Lang.Ro;

                break;

            case "Русский":

                lp.OutputLang = Lang.Ru;

                break;

            case "Сербский":

                lp.OutputLang = Lang.Sr;

                break;

            case "Сингальский":
                break;

            case "Словацкий":

                lp.OutputLang = Lang.Sk;

                break;

            case "Словенский":

                lp.OutputLang = Lang.Sl;

                break;

            case "Суахили":
                break;

            case "Тагальский":
                break;

            case "Таджикский":
                break;

            case "Тайский":
                break;

            case "Тамильский":
                break;

            case "Татарский":
                break;

            case "Турецкий":

                lp.OutputLang = Lang.Tr;

                break;

            case "Удмуртский":
                break;

            case "Узбекский":
                break;

            case "Украинский":

                lp.OutputLang = Lang.Uk;

                break;

            case "Урду":
                break;

            case "Финский":

                lp.OutputLang = Lang.Fi;

                break;

            case "Французский":

                lp.OutputLang = Lang.Fr;

                break;

            case "Хорватский":

                lp.OutputLang = Lang.Hr;

                break;

            case "Хинди":
                break;

            case "Чешский":

                lp.OutputLang = Lang.Cs;

                break;

            case "Шведский":

                lp.OutputLang = Lang.Sv;

                break;

            case "Эльфийский (cиндарин)":
                break;

            case "Эстонский":

                lp.OutputLang = Lang.Et;

                break;

            case "Японский":
                break;
            }

            #endregion

            return(lp);
        }
예제 #22
0
        public static string GetTranslatedText(string textToTranslate, LangPair langPair)
        {
            string strLangPair = String.Empty;

            switch (langPair)
            {
            case (LangPair.ChineseSimplifiedToEnglish):
                strLangPair = "zh-CN%7Cen";
                break;

            case (LangPair.EnglishToChineseSimplified):
                strLangPair = "en%7Czh-CN";
                break;

            case (LangPair.EnglishToFrench):
                strLangPair = "en%7Cfr";
                break;

            case (LangPair.EnglishToGerman):
                strLangPair = "en%7Cde";
                break;

            case (LangPair.EnglishToItalian):
                strLangPair = "en%7Cit";
                break;

            case (LangPair.EnglishToJapanese):
                strLangPair = "en%7Cja";
                break;

            case (LangPair.EnglishToKorean):
                strLangPair = "en%7Cko";
                break;

            case (LangPair.EnglishToPortuguese):
                strLangPair = "en%7Cpt";
                break;

            case (LangPair.EnglishToSpanish):
                strLangPair = "en%7Ces";
                break;

            case (LangPair.FrenchToEnglish):
                strLangPair = "fr%7Cen";
                break;

            case (LangPair.FrenchToGerman):
                strLangPair = "fr%7Cde";
                break;

            case (LangPair.GermanToEnglish):
                strLangPair = "de%7Cen";
                break;

            case (LangPair.GermanToFrench):
                strLangPair = "de%7Cfr";
                break;

            case (LangPair.ItalianToEnglish):
                strLangPair = "it%7Cen";
                break;

            case (LangPair.JapaneseToEnglish):
                strLangPair = "ja%7Cen";
                break;

            case (LangPair.KoreanToEnglish):
                strLangPair = "ko%7Cen";
                break;

            case (LangPair.PortugueseToEnglish):
                strLangPair = "pt%7Cen";
                break;

            case (LangPair.SpanishToEnglish):
                strLangPair = "es%7Cen";
                break;

            default:
                strLangPair = "en%7Cde";
                break;
            }

            WebWagon.HTMLPage ww = new WebWagon.HTMLPage();
            ww.LoadSource("http://translate.google.com/translate_t?text=" + textToTranslate + "&langpair=" + strLangPair);

            string[] stuff     = ww.GetTagsByName("div");
            Regex    findData  = new Regex(@"<(?<tag>.*).*>(?<text>.*)</\k<tag>>");
            Match    foundData = findData.Match(stuff[0]);

            return(foundData.Groups["text"].Value);
        }