private void Copy()
 {
     if (dataGrid.SelectedItem is PdxLocalization localization)
     {
         CopyLocalization = localization;
     }
 }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 4
0
        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);
                    }
                }
            }
        }