Пример #1
0
        public static WiktEntry FromLinesDe(List <string> lines)
        {
            string[]  parts = lines[0].Split('\t');
            WiktEntry res   = new WiktEntry
            {
                Lemma = parts[0],
                PoS   = parts[1],
            };
            bool inTranslations = false;

            for (int i = 1; i < lines.Count; ++i)
            {
                string ln = lines[i];
                if (!ln.StartsWith(":"))
                {
                    inTranslations = true;
                }
                if (ln.StartsWith("::"))
                {
                    continue;
                }
                if (!inTranslations)
                {
                    res.Meanings.Add(ln);
                }
                else
                {
                    res.Translations.Add(ln);
                }
            }
            return(res);
        }
Пример #2
0
        public static WiktEntry FromLinesRu(List <string> lines)
        {
            string[]  parts = lines[0].Split('\t');
            WiktEntry res   = new WiktEntry
            {
                Lemma = parts[0],
                PoS   = parts[1],
            };

            if (parts.Length > 2)
            {
                res.Pron = parts[2];
            }
            if (parts.Length > 3)
            {
                res.Lemmatized = parts[3];
            }
            if (parts.Length > 4)
            {
                res.Details = parts[4];
            }
            bool inTranslations = false;

            for (int i = 1; i < lines.Count; ++i)
            {
                string ln = lines[i];
                if (!ln.StartsWith("#"))
                {
                    inTranslations = true;
                }
                if (!inTranslations)
                {
                    res.Meanings.Add(ln);
                }
                else
                {
                    res.Translations.Add(ln);
                }
            }
            return(res);
        }