Example #1
0
 public LangItem(LangItem item)
 {
     orig = item.orig;
     curr = item.curr;
     translationRequired = item.translationRequired;
     modified            = item.modified;
     fromFile            = false;
     stats = new WordStats(curr);
 }
Example #2
0
        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();
        }
Example #3
0
        //! 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());
        }
Example #4
0
        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);
        }