refactor(localization): remove unused description fields and streamline localization data handling

This commit is contained in:
extio-de
2026-02-08 14:30:40 +01:00
parent ca329a30a8
commit ebe096e454
3 changed files with 9 additions and 54 deletions

View File

@@ -60,10 +60,6 @@ public class LocalizationEditor extends JFrame {
private JTable table; private JTable table;
private JLabel lblDefaultDescre;
private JTextField textField;
private JMenuBar menuBar; private JMenuBar menuBar;
private JMenu mnFile; private JMenu mnFile;
@@ -398,7 +394,7 @@ public class LocalizationEditor extends JFrame {
gbc_panel.gridx = 0; gbc_panel.gridx = 0;
gbc_panel.gridy = 0; gbc_panel.gridy = 0;
this.contentPane.add(panel, gbc_panel); this.contentPane.add(panel, gbc_panel);
panel.setLayout(new GridLayout(1, 6, 0, 0)); panel.setLayout(new GridLayout(1, 5, 0, 0));
this.btnAdd = new JButton("Add"); this.btnAdd = new JButton("Add");
this.btnAdd.setFont(baseFont); this.btnAdd.setFont(baseFont);
@@ -422,8 +418,6 @@ public class LocalizationEditor extends JFrame {
} }
} }
LocalizationEditor.this.localizationManagerImpl.getLocalizations().getDescriptions().put(idStr, LocalizationEditor.this.textField.getText() == null ? "" : LocalizationEditor.this.textField.getText());
((AbstractTableModel) LocalizationEditor.this.table.getModel()).fireTableDataChanged(); ((AbstractTableModel) LocalizationEditor.this.table.getModel()).fireTableDataChanged();
} }
}); });
@@ -464,24 +458,11 @@ public class LocalizationEditor extends JFrame {
LocalizationEditor.this.localizationManagerImpl.put(lang.getShortName(), idStr, value); LocalizationEditor.this.localizationManagerImpl.put(lang.getShortName(), idStr, value);
} }
final String oldDescr = LocalizationEditor.this.localizationManagerImpl.getLocalizations().getDescriptions().get(oldId);
LocalizationEditor.this.localizationManagerImpl.getLocalizations().getDescriptions().put(idStr, oldDescr);
((AbstractTableModel) LocalizationEditor.this.table.getModel()).fireTableDataChanged(); ((AbstractTableModel) LocalizationEditor.this.table.getModel()).fireTableDataChanged();
} }
}); });
panel.add(this.btnClone); panel.add(this.btnClone);
this.lblDefaultDescre = new JLabel("Description:");
this.lblDefaultDescre.setFont(baseFont);
this.lblDefaultDescre.setHorizontalAlignment(SwingConstants.RIGHT);
panel.add(this.lblDefaultDescre);
this.textField = new JTextField();
this.textField.setFont(baseFont);
panel.add(this.textField);
this.textField.setColumns(10);
this.lblPrefix = new JLabel("Prefix:"); this.lblPrefix = new JLabel("Prefix:");
this.lblPrefix.setFont(baseFont); this.lblPrefix.setFont(baseFont);
this.lblPrefix.setHorizontalAlignment(SwingConstants.RIGHT); this.lblPrefix.setHorizontalAlignment(SwingConstants.RIGHT);
@@ -517,12 +498,7 @@ public class LocalizationEditor extends JFrame {
return id; return id;
} }
if (columnIndex == 1) { final String lang = LocalizationEditor.this.localizationManagerImpl.getLanguages().get(columnIndex - 1).getShortName();
final var desc = LocalizationEditor.this.localizationManagerImpl.getLocalizations().getDescriptions().get(id);
return desc == null ? "" : desc;
}
final String lang = LocalizationEditor.this.localizationManagerImpl.getLanguages().get(columnIndex - 2).getShortName();
final String value = LocalizationEditor.this.localizationManagerImpl.getLocalizations().getLanguages().entrySet().stream() final String value = LocalizationEditor.this.localizationManagerImpl.getLocalizations().getLanguages().entrySet().stream()
.filter(entry -> entry.getKey().equals(lang)) .filter(entry -> entry.getKey().equals(lang))
.map(entry -> entry.getValue().getOrDefault(id, "")) .map(entry -> entry.getValue().getOrDefault(id, ""))
@@ -538,7 +514,7 @@ public class LocalizationEditor extends JFrame {
@Override @Override
public int getColumnCount() { public int getColumnCount() {
return LocalizationEditor.this.localizationManagerImpl.getLanguages().size() + 2; return LocalizationEditor.this.localizationManagerImpl.getLanguages().size() + 1;
} }
@Override @Override
@@ -546,11 +522,8 @@ public class LocalizationEditor extends JFrame {
if (arg0 == 0) { if (arg0 == 0) {
return "id"; return "id";
} }
else if (arg0 == 1) {
return "description";
}
return LocalizationEditor.this.localizationManagerImpl.getLanguages().get(arg0 - 2).getName() + " " + LocalizationEditor.this.localizationManagerImpl.getLanguages().get(arg0 - 2).getShortName(); return LocalizationEditor.this.localizationManagerImpl.getLanguages().get(arg0 - 1).getName() + " " + LocalizationEditor.this.localizationManagerImpl.getLanguages().get(arg0 - 1).getShortName();
} }
@Override @Override
@@ -568,12 +541,7 @@ public class LocalizationEditor extends JFrame {
return; return;
} }
if (columnIndex == 1) { final String langShortName = LocalizationEditor.this.localizationManagerImpl.getLocalizations().getLanguages().keySet().stream().skip(columnIndex - 1).findFirst().orElse(null);
LocalizationEditor.this.localizationManagerImpl.getLocalizations().getDescriptions().put(id, String.valueOf(aValue));
return;
}
final String langShortName = LocalizationEditor.this.localizationManagerImpl.getLocalizations().getLanguages().keySet().stream().skip(columnIndex - 2).findFirst().orElse(null);
if (langShortName == null) { if (langShortName == null) {
return; return;
} }

View File

@@ -68,7 +68,6 @@ public class LocalizationServiceImpl implements LocalizationService {
} }
}); });
this.localizations.getLanguagesInfo().putAll(localizations.getLanguagesInfo()); this.localizations.getLanguagesInfo().putAll(localizations.getLanguagesInfo());
this.localizations.getDescriptions().putAll(localizations.getDescriptions());
int maxId = 0; int maxId = 0;
for (final Map<String, String> entries : this.localizations.getLanguages().values()) { for (final Map<String, String> entries : this.localizations.getLanguages().values()) {
@@ -83,7 +82,7 @@ public class LocalizationServiceImpl implements LocalizationService {
this.localizations.setPrefix(localizations.getPrefix()); this.localizations.setPrefix(localizations.getPrefix());
LOGGER.info("Loaded {} localizations for {} languages", localizations.getDescriptions().size(), localizations.getLanguages().size()); LOGGER.info("Loaded localizations for {} languages", localizations.getLanguages().size());
} }
this.loadPersistedLanguageName(); this.loadPersistedLanguageName();
@@ -131,7 +130,7 @@ public class LocalizationServiceImpl implements LocalizationService {
if (this.currentLanguage == null) { if (this.currentLanguage == null) {
return defaultText; return defaultText;
} }
var result = this.currentLanguage.get(id); final var result = this.currentLanguage.get(id);
if (result == null) { if (result == null) {
return defaultText; return defaultText;
} }

View File

@@ -1,6 +1,5 @@
package de.extio.game_engine.i18n; package de.extio.game_engine.i18n;
import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
@@ -16,8 +15,6 @@ public final class Localizations {
private Map<String, Language> languagesInfo = new LinkedHashMap<>(); private Map<String, Language> languagesInfo = new LinkedHashMap<>();
private Map<String, String> descriptions = new HashMap<>();
private int curId; private int curId;
public Localizations() { public Localizations() {
@@ -33,7 +30,6 @@ public final class Localizations {
for (final Entry<String, Language> entry : other.languagesInfo.entrySet()) { for (final Entry<String, Language> entry : other.languagesInfo.entrySet()) {
this.languagesInfo.put(entry.getKey(), new Language(entry.getValue())); this.languagesInfo.put(entry.getKey(), new Language(entry.getValue()));
} }
this.descriptions = new HashMap<>(other.descriptions);
this.curId = other.curId; this.curId = other.curId;
this.prefix = other.prefix; this.prefix = other.prefix;
} }
@@ -43,7 +39,7 @@ public final class Localizations {
} }
public void setLanguages(final Map<String, Map<String, String>> languages) { public void setLanguages(final Map<String, Map<String, String>> languages) {
this.languages = languages; this.languages = new LinkedHashMap<>(languages);
} }
public Map<String, Language> getLanguagesInfo() { public Map<String, Language> getLanguagesInfo() {
@@ -51,7 +47,7 @@ public final class Localizations {
} }
public void setLanguagesInfo(final Map<String, Language> languagesInfo) { public void setLanguagesInfo(final Map<String, Language> languagesInfo) {
this.languagesInfo = languagesInfo; this.languagesInfo = new LinkedHashMap<>(languagesInfo);
} }
public int getCurId() { public int getCurId() {
@@ -62,14 +58,6 @@ public final class Localizations {
this.curId = curId; this.curId = curId;
} }
public Map<String, String> getDescriptions() {
return this.descriptions;
}
public void setDescriptions(final Map<String, String> descriptions) {
this.descriptions = descriptions;
}
public String getPrefix() { public String getPrefix() {
return this.prefix; return this.prefix;
} }