コード例 #1
0
ファイル: Translator.cs プロジェクト: Sumrix/CKTranslator
        private static IEnumerable <WordInLangs> Transliterate(IEnumerable <string> toTransliterateWords)
        {
            Language language0 = Language.Load(Db.EngLetters);
            Language language1 = Language.Load(Db.RusLetters);

            // Производим обучение переводчика
            var wordsToLearn = Db.Translations
                               .Where(w => !w.Lang1Word.Contains(" ") && w.Lang2Word != null && !w.Lang2Word.Contains(" "));

            var rules = RuleRecognizer.Recognize(language0, language1, wordsToLearn);

            Db.TransliterationRules.AddRange(rules);
            Db.TransliterationRules.Save();

            // Производим транслитерацию списка слов отложенных для транслитерации
            Transliterator translator = Transliterator.Create(rules, language0);

            return(toTransliterateWords
                   .Select(word => new WordInLangs(word, translator.Translate(word)))
                   .ToList());
        }