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; } }
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); } }