public LangItem(LangItem item) { orig = item.orig; curr = item.curr; translationRequired = item.translationRequired; modified = item.modified; fromFile = false; stats = new WordStats(curr); }
public override void Load(XmlReader xmlReader) { //! Read root node xmlReader.Read(); id = xmlReader.GetAttribute("id"); List <XmlItem> cw = new List <XmlItem>(); while (xmlReader.Read()) { switch (xmlReader.NodeType) { case XmlNodeType.Comment: { XmlItem item = new CommentItem(); item.Load(xmlReader); cw.Add(item); } break; case XmlNodeType.Whitespace: { XmlItem item = new WhitespaceItem(); item.Load(xmlReader); cw.Add(item); } break; case XmlNodeType.Element: { string name = xmlReader.Name; xmlReader.Read(); //! Move to content string value = fromXml(xmlReader.Value); if (name != "rus" && (value == null || value == "===")) { value = "===" + _texts["rus"].orig; _texts[name] = new LangItem(value, false); } else { _texts[name] = new LangItem(value, true); } cw_lang[name] = cw; cw = new List <XmlItem>(); } break; default: break; } ; } cw_post = cw; CheckTranslation(); }
//! Sets new text value under language public void set(string lang, string text) { //! Update text LangItem item = _texts[lang]; item.curr = text; item.modified = item.orig != item.curr; CheckModified(item.modified); //! Update stats item.stats.recalc(text); notificationReceiver.statsChanged(lang, item.stats.diff()); }
public LangItem getItem(string lang) { LangItem item; if (_texts.TryGetValue(lang, out item)) { return(item); } //! Not there yet item = new LangItem(_texts["rus"]); _texts[lang] = item; return(item); }