Ejemplo n.º 1
0
        public int Apply(String fileName, String[] fileLines)
        {
            String fn = System.IO.Path.GetFileName(fileName).ToLower();

            if (!m_Files.ContainsKey(fn))
            {
                return(-1);
            }

            int counter_replaces        = 0;
            List <LocationInfo> entries = m_Files[fn];

            foreach (LocationInfo info in entries)
            {
                String srcStr = String.Format("'{0}'", this.Msgid);
                if (fileLines[info.Line - 1].Contains(srcStr))
                {
                    fileLines[info.Line - 1] = fileLines[info.Line - 1].Replace(srcStr, String.Format("'{0}'", this.Msgstr));
                    counter_replaces        += 1;
                }
                else if (Program.USE_BRUTOREPLACER)
                {
                    Console.WriteLine("BRUTOREPLACER: {0} line {1}", fileName, info.Line);
                    //most probably, we have problem with encodings here; so, we need find and change _(".*")
                    BrutoforceEvaluator b = new BrutoforceEvaluator(this.Msgid, this.Msgstr);
                    fileLines[info.Line - 1] = m_RegexGettextString.Replace(fileLines[info.Line - 1], b.Replace);
                    this.Msgid        = b.ReplacedContent;
                    counter_replaces += 1;
                }
            }
            return(counter_replaces);
        }
Ejemplo n.º 2
0
        public int Apply(String fileName, String[] fileLines) {
            String fn = System.IO.Path.GetFileName(fileName).ToLower();
            if (! m_Files.ContainsKey(fn)) return -1;

            int counter_replaces = 0;
            List<LocationInfo> entries = m_Files[fn];
            foreach (LocationInfo info in entries) {
                String srcStr = String.Format("'{0}'", this.Msgid);
                if (fileLines[info.Line - 1].Contains(srcStr)) {
                    fileLines[info.Line - 1] = fileLines[info.Line - 1].Replace(srcStr, String.Format("'{0}'", this.Msgstr));
                    counter_replaces += 1;
                } else if (Program.USE_BRUTOREPLACER) {
                    Console.WriteLine("BRUTOREPLACER: {0} line {1}", fileName, info.Line);
                    //most probably, we have problem with encodings here; so, we need find and change _(".*")
                    BrutoforceEvaluator b = new BrutoforceEvaluator(this.Msgid, this.Msgstr);
                    fileLines[info.Line - 1] = m_RegexGettextString.Replace(fileLines[info.Line - 1], b.Replace);
                    this.Msgid = b.ReplacedContent;
                    counter_replaces += 1;
                }
            }
            return counter_replaces;
        }