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); }
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); }
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); } } } }
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; } }