private void Copy() { if (dataGrid.SelectedItem is PdxLocalization localization) { CopyLocalization = localization; } }
public LocalizationItemEditeWindow(PdxLocalization Localization) { this.Localization = Localization; InitializeComponent(); LoadAllIcon(); DataContext = Localization; }
private void Paste() { if (CopyLocalization is PdxLocalization localization) { PdxLocalization pdxLocalization = localization.Clone(); pdxLocalization.Key = pdxLocalization.Key + "_copy"; Localizations.Insert(Localizations.IndexOf(localization), pdxLocalization); } }
public static void ParseLocalizationLine(object state) { LocalizationState localizationFileState = state as LocalizationState; if (IsTaskCanceled(localizationFileState)) { return; } var pdxLocalization = LocalizationParser.ParseLocalization(localizationFileState.line); if (pdxLocalization != null) { var key = (String)pdxLocalization.GetType().GetProperty("Key").GetValue(pdxLocalization); var value = (String)pdxLocalization.GetType().GetProperty("Value").GetValue(pdxLocalization); lock (localizationFileState.localizations) { var localization = localizationFileState.localizations.Find(l => l.Key.Equals(key)); if (localization != null) { if (localizationFileState.sub == STELLARIS_PATH_LOCALIZATION_ENGLISH) { localization.ValueEnglish = value; } else if (localizationFileState.sub == STELLARIS_PATH_LOCALIZATION_SIMPLE_CHINESE) { localization.ValueSimpChinese = value; } } else { var fileName = localizationFileState.file.Name.Substring(0, localizationFileState.file.Name.LastIndexOf(".")); fileName = fileName.Replace("_l_simp_chinese", ""); fileName = fileName.Replace("_l_english", ""); fileName = fileName.Replace("l_simp_chinese", ""); fileName = fileName.Replace("l_english", ""); PdxLocalization newLocalization = new PdxLocalization { Key = key, FileName = fileName }; if (localizationFileState.sub == STELLARIS_PATH_LOCALIZATION_ENGLISH) { newLocalization.ValueEnglish = value; } else if (localizationFileState.sub == STELLARIS_PATH_LOCALIZATION_SIMPLE_CHINESE) { newLocalization.ValueSimpChinese = value; } localizationFileState.localizations.AddLast(newLocalization); } } } }