static public PoFile CombinePoFiles(PoFile SourceFile, PoFile ToCombine)
        {
            PoFile RetrunPoFile = new PoFile();

            foreach (PoFileValues Values in SourceFile.Values)
            {
                PoFileValues FindValue = ToCombine.Values.Find(x => x.Key == Values.Key);
                if (FindValue != null)
                {
                    Values.msgstr = FindValue.msgstr;
                }
                RetrunPoFile.Values.Add(Values);
            }

            return(RetrunPoFile);
        }
Example #2
0
        public LocalizationFileLanguageListValues(PoFileValues PoFileValue)
        {
            ListValues = new List <LocalizationFileLanguageValue>();
            Valid      = false;

            if (PoFileValue.valid)
            {
                this.Key            = PoFileValue.Key;
                this.SourceValue    = PoFileValue.msgid;
                this.SourceLocation = PoFileValue.SourceLocation;

                this.Valid = true;
            }
            else
            {
                this.Valid = false;
            }
        }
        static public PoFile CreatePofileFromLocalizationCSV(LocalizationFile localizationFile, string Language)
        {
            PoFile      RetrunPoFile = new PoFile();
            CultureInfo LanguageInfo = new CultureInfo(Language);

            foreach (LocalizationFileLanguageListValues Values in localizationFile.LanguageValues)
            {
                string NewValue = Values.GetValueFromLanguage(LanguageInfo);
                if (NewValue != "--1")
                {
                    PoFileValues poFileValue = new PoFileValues();
                    poFileValue.Key     = Values.Key;
                    poFileValue.msgctxt = "\"," + Values.Key + "\"";
                    if (poFileValue.msgctxt.Substring(0, 1) == "\"")
                    {
                        poFileValue.msgctxt = poFileValue.msgctxt.Substring(1, poFileValue.msgctxt.Length - 1);
                    }

                    if (poFileValue.msgctxt.Substring(poFileValue.msgctxt.Length - 1) == "\"")
                    {
                        poFileValue.msgctxt = poFileValue.msgctxt.Remove(poFileValue.msgctxt.Length - 1);
                    }

                    poFileValue.msgstr = "\"" + NewValue + "\"";
                    if (poFileValue.msgstr.Substring(0, 1) == "\"")
                    {
                        poFileValue.msgstr = poFileValue.msgstr.Substring(1, poFileValue.msgstr.Length - 1);
                    }

                    if (poFileValue.msgstr.Substring(poFileValue.msgstr.Length - 1) == "\"")
                    {
                        poFileValue.msgstr = poFileValue.msgstr.Remove(poFileValue.msgstr.Length - 1);
                    }

                    poFileValue.SourceLocation = Values.SourceLocation;
                    poFileValue.msgid          = Values.SourceValue;

                    RetrunPoFile.Values.Add(poFileValue);
                }
            }

            return(RetrunPoFile);
        }
        static public PoFile ConvertCsvToPoFile(FileInfo CsvFile)
        {
            PoFile RetrunPoFile = new PoFile();

            if (CsvFile.Exists)
            {
                string   AllData    = File.ReadAllText(CsvFile.FullName);
                string[] DataValues = AllData.Split(new[] { "\n" }, StringSplitOptions.None);
                foreach (string Data in DataValues)
                {
                    PoFileValues poFileValue = new PoFileValues(Data, true);
                    if (poFileValue.valid)
                    {
                        RetrunPoFile.Values.Add(poFileValue);
                    }
                }
            }
            return(RetrunPoFile);
        }
Example #5
0
        private void LoadPoFile(FileInfo Path)
        {
            if (Path.Exists)
            {
                string   Data       = File.ReadAllText(Path.FullName);
                string[] DataValues = Data.Split(new[] { "\n\n" }, StringSplitOptions.None);
                if (DataValues.Length <= 1)
                {
                    DataValues = Data.Split(new[] { "\n\r\n" }, StringSplitOptions.None);
                }

                foreach (var Value in DataValues)
                {
                    PoFileValues poFileValue = new PoFileValues(Value);
                    if (poFileValue.valid)
                    {
                        Values.Add(poFileValue);
                    }
                }
            }
        }
Example #6
0
        public LocalizationFileLanguageListValues(PoFileValues PoFileValue, CultureInfo Language, int Cell)
        {
            ListValues = new List <LocalizationFileLanguageValue>();
            Valid      = false;

            if (PoFileValue.valid)
            {
                this.Key = PoFileValue.Key;
                LocalizationFileLanguageValue LanguageValue = new LocalizationFileLanguageValue();
                LanguageValue.Key            = this.Key;
                LanguageValue.SourceValue    = PoFileValue.msgid;
                LanguageValue.Value          = PoFileValue.msgstr;
                LanguageValue.SourceLocation = PoFileValue.SourceLocation;
                LanguageValue.Comment        = PoFileValue.Comment;
                LanguageValue.CultureInfo    = Language;
                LanguageValue.Cell           = Cell;
                ListValues.Add(LanguageValue);
                this.Valid = true;
            }
            else
            {
                this.Valid = false;
            }
        }