Пример #1
0
 public void addUserName(string key, string sense, string nameType)
 {
     lock (this) {
         Settings.app.removeBannedWord(key);
         EdictMatch        match = new EdictMatch(key);
         EdictEntryBuilder eb    = new EdictEntryBuilder();
         eb.addKanji(new DictionaryKeyBuilder(key));
         eb.addKana(new DictionaryKeyBuilder(sense));
         DictionarySense ds = new DictionarySense();
         ds.addGloss(null, sense);
         eb.addSense(ds);
         if (nameType != "notname")
         {
             eb.addPOS("name");
         }
         else
         {
             eb.addPOS("n");
         }
         eb.nameType = nameType;
         match.addEntry(new RatedEntry {
             entry = eb.build(), rate = 5.0F
         });
         userNames[key] = match;
         this.isDirty   = true;
     }
 }
Пример #2
0
 private void readReading(EdictEntryBuilder entry, XmlReader xml)
 {
     string text = null;
     double mult = 1.0;
     List<string> misc = null;
     while (xml.Read()) {
         if (xml.NodeType == XmlNodeType.EndElement) {
             if (xml.Name == "r_ele") {
                 break;
             }
         }
         if (xml.NodeType == XmlNodeType.Element) {
             string name = xml.Name;
             switch (name) {
                 case "reb":
                     text = xml.ReadString();
                     break;
                 case "re_nokanji":
                     mult = 1.5;
                     break;
                 case "re_restr":
                     // ignore for now
                     break;
                 case "re_inf":
                     if (misc == null) misc = new List<string>();
                     misc.Add(fromEntity(xml));
                     break;
                 case "re_pri":
                     string priority = xml.ReadString();
                     entry.addPriority(priority);
                     if (mult > 0) {
                         mult = Math.Max(mult, getMultiplierFromCode(priority));
                     }
                     break;
             }
         }
     }
     if (text != null) {
         DictionaryKeyBuilder s = new DictionaryKeyBuilder(text, mult, misc);
         entry.addKana(s);
     }
 }
Пример #3
0
 public void addUserName(string key, string sense, string nameType)
 {
     lock (this) {
         Settings.app.removeBannedWord(key);
         EdictMatch match = new EdictMatch(key);
         EdictEntryBuilder eb = new EdictEntryBuilder();
         eb.addKanji(new DictionaryKeyBuilder(key));
         eb.addKana(new DictionaryKeyBuilder(sense));
         DictionarySense ds = new DictionarySense();
         ds.addGloss(null, sense);
         eb.addSense(ds);
         if (nameType != "notname") {
             eb.addPOS("name");
         } else {
             eb.addPOS("n");
         }
         eb.nameType = nameType;
         match.addEntry(new RatedEntry { entry = eb.build(), rate = 5.0F });
         userNames[key] = match;
         this.isDirty = true;
     }
 }