From 40ab19aee2ae2a26dee37184f79596017e48edf7 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 19 Aug 2025 16:46:19 +0100 Subject: Add I18n service --- enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java | 5 ++--- enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java | 5 ++--- enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java | 6 ++++-- enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) (limited to 'enigma-swing/src/main/java') diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java index c85c404..5881900 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java @@ -44,7 +44,6 @@ import javax.swing.tree.DefaultMutableTreeNode; import org.jetbrains.annotations.Nullable; import cuchaz.enigma.Enigma; -import cuchaz.enigma.EnigmaProfile; import cuchaz.enigma.analysis.EntryReference; import cuchaz.enigma.gui.config.Themes; import cuchaz.enigma.gui.config.UiConfig; @@ -124,9 +123,9 @@ public class Gui { public final JFileChooser exportJarFileChooser = new JFileChooser(); public SearchDialog searchDialog; - public Gui(EnigmaProfile profile, Set editableTypes) { + public Gui(Enigma enigma, Set editableTypes) { this.editableTypes = editableTypes; - this.controller = new GuiController(this, profile); + this.controller = new GuiController(this, enigma); this.structurePanel = new StructurePanel(this); this.deobfPanel = new DeobfPanel(this); this.infoPanel = new IdentifierPanel(this); diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java index e8e4dbd..e1e8521 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java @@ -33,7 +33,6 @@ import javax.swing.SwingUtilities; import org.jetbrains.annotations.ApiStatus; import cuchaz.enigma.Enigma; -import cuchaz.enigma.EnigmaProfile; import cuchaz.enigma.EnigmaProject; import cuchaz.enigma.analysis.ClassImplementationsTreeNode; import cuchaz.enigma.analysis.ClassInheritanceTreeNode; @@ -111,9 +110,9 @@ public class GuiController implements ClientPacketHandler { private History, Entry>> referenceHistory; - public GuiController(Gui gui, EnigmaProfile profile) { + public GuiController(Gui gui, Enigma enigma) { this.gui = gui; - this.enigma = Enigma.builder().setProfile(profile).build(); + this.enigma = enigma; } public boolean isDirty() { diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java index 6dd8957..66402ad 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java @@ -27,6 +27,7 @@ import joptsimple.OptionSet; import joptsimple.OptionSpec; import joptsimple.ValueConverter; +import cuchaz.enigma.Enigma; import cuchaz.enigma.EnigmaProfile; import cuchaz.enigma.gui.config.Themes; import cuchaz.enigma.gui.config.UiConfig; @@ -101,8 +102,9 @@ public class Main { } EnigmaProfile parsedProfile = EnigmaProfile.read(options.valueOf(profile)); + Enigma enigma = Enigma.builder().setProfile(parsedProfile).build(); - I18n.setLanguage(UiConfig.getLanguage()); + I18n.setLanguage(UiConfig.getLanguage(), enigma.getServices()); // Provide fallback anti-aliasing for desktop environments the JRE doesn't recognize if (Toolkit.getDefaultToolkit().getDesktopProperty("awt.font.desktophints") == null) { @@ -117,7 +119,7 @@ public class Main { Themes.setupTheme(); - Gui gui = new Gui(parsedProfile, editables); + Gui gui = new Gui(enigma, editables); GuiController controller = gui.getController(); if (options.has("single-class-tree")) { diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java index 78050bb..1789def 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java @@ -524,7 +524,7 @@ public class MenuBar { } } - private static void prepareLanguagesMenu(JMenu languagesMenu) { + private void prepareLanguagesMenu(JMenu languagesMenu) { ButtonGroup languageGroup = new ButtonGroup(); for (String lang : I18n.getAvailableLanguages()) { @@ -537,7 +537,7 @@ public class MenuBar { languageButton.addActionListener(event -> { UiConfig.setLanguage(lang); - I18n.setLanguage(lang); + I18n.setLanguage(lang, gui.getController().enigma.getServices()); LanguageUtil.dispatchLanguageChange(); UiConfig.save(); }); -- cgit v1.2.3