Example #1
0
 internal UidWriter(UidCollector collector, TextReader source, TextWriter target)
 {
     this.collector = collector;
     sourceReader   = source;
     //var encoding = new UTF8Encoding(true);
     targetWriter = target;
     lineBuffer   = new LineBuffer(sourceReader.ReadLine());
 }
Example #2
0
        public bool GetAddNewNamespace(UidCollector uidCollector)
        {
            if (isRemoving)
            {
                return(false);
            }

            return(uidCollector.NamespaceAddedForMissingUid != null);
        }
Example #3
0
        public UidManager(string fileName, TextReader stream, ILocalizabilityChecker localizabilityChecker)
        {
            this.localizabilityChecker = localizabilityChecker;
            this.stream = stream;
            collector   = new UidCollector(fileName);
            //nameTable = new NameTable();
            //nsMgr = new XmlNamespaceManager(nameTable);
            //reader = new XmlTextReader(stream, nameTable);
            reader       = new XmlTextReader(stream);
            elementsTree = new XamlElementsWalker(reader);
            nsMgr        = reader;

            InitLog(fileName);
        }
Example #4
0
        public void Add(XamlFileDescription xamlFileDescription, UidCollector uidCollector)
        {
            if (uidCollector == null)
            {
                return;
            }

            List <BamlResourceEntry> list;

            if (!resources.TryGetValue(xamlFileDescription.ProjectDescription.UniqueName, out list))
            {
                list = new List <BamlResourceEntry>();
                resources.Add(xamlFileDescription.ProjectDescription.UniqueName, list);
            }

            var bamlName = GetBamlName(xamlFileDescription);

            for (int i = 0; i < uidCollector.Count; i++)
            {
                var uid = uidCollector[i];

                if (uid.Status != UidStatus.Valid)
                {
                    continue;
                }

                if (uid.Entries != null)
                {
                    foreach (var entry in uid.Entries)
                    {
                        var key = new BamlLocalizableResourceKey(uid.Value, uid.ElementName,
                                                                 GetPropertyName(entry));
                        var resource = new BamlLocalizableResource
                        {
                            Content  = entry.LocalizableString,
                            Category = LocalizationCategory.Text
                        };

                        list.Add(new BamlResourceEntry(bamlName, key, resource));
                    }
                }
            }
        }