From 863d40a1c1f6591ef1ee8594b12ae4b0942fe810 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Thu, 5 Mar 2020 22:17:08 +0000 Subject: Made Enigma gui translatable (#193) * made enigma gui translatable * key renamings * missed strings * string.format() & another missed string * cached content (thanks @liach) * added a dialog when changing language * better sentence * more %s * liach's requests * empty map * the last (?) missed strings * IT WORKS * French translation * Update fr_fr.json --- src/main/java/cuchaz/enigma/gui/Gui.java | 49 ++++++++++++++++---------------- 1 file changed, 25 insertions(+), 24 deletions(-) (limited to 'src/main/java/cuchaz/enigma/gui/Gui.java') diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java index 1ea3e44..5eeb07d 100644 --- a/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/src/main/java/cuchaz/enigma/gui/Gui.java @@ -36,6 +36,7 @@ import cuchaz.enigma.gui.util.History; import cuchaz.enigma.throwables.IllegalNameException; import cuchaz.enigma.translation.mapping.*; import cuchaz.enigma.translation.representation.entry.*; +import cuchaz.enigma.utils.I18n; import cuchaz.enigma.utils.Utils; import de.sciss.syntaxpane.DefaultSyntaxKit; @@ -120,12 +121,12 @@ public class Gui { this.controller = new GuiController(this, profile); // init file choosers - this.jarFileChooser = new FileDialog(getFrame(), "Open Jar", FileDialog.LOAD); + this.jarFileChooser = new FileDialog(getFrame(), I18n.translate("menu.file.jar.open"), FileDialog.LOAD); this.tinyMappingsFileChooser = new FileDialog(getFrame(), "Open tiny Mappings", FileDialog.LOAD); this.enigmaMappingsFileChooser = new FileChooserAny(); this.exportSourceFileChooser = new FileChooserFolder(); - this.exportJarFileChooser = new FileDialog(getFrame(), "Export jar", FileDialog.SAVE); + this.exportJarFileChooser = new FileDialog(getFrame(), I18n.translate("menu.file.export.jar"), FileDialog.SAVE); this.obfPanel = new PanelObf(this); this.deobfPanel = new PanelDeobf(this); @@ -275,9 +276,9 @@ public class Gui { centerPanel.add(sourceScroller, BorderLayout.CENTER); tabs = new JTabbedPane(); tabs.setPreferredSize(new Dimension(250, 0)); - tabs.addTab("Inheritance", inheritancePanel); - tabs.addTab("Implementations", implementationsPanel); - tabs.addTab("Call Graph", callPanel); + tabs.addTab(I18n.translate("info_panel.tree.inheritance"), inheritancePanel); + tabs.addTab(I18n.translate("info_panel.tree.implementations"), implementationsPanel); + tabs.addTab(I18n.translate("info_panel.tree.calls"), callPanel); JSplitPane splitRight = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, centerPanel, tabs); splitRight.setResizeWeight(1); // let the left side take all the slack splitRight.resetToPreferredSizes(); @@ -458,33 +459,33 @@ public class Gui { } private void showLocalVariableEntry(LocalVariableEntry entry) { - addNameValue(infoPanel, "Variable", entry.getName()); - addNameValue(infoPanel, "Class", entry.getContainingClass().getFullName()); - addNameValue(infoPanel, "Method", entry.getParent().getName()); - addNameValue(infoPanel, "Index", Integer.toString(entry.getIndex())); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.variable"), entry.getName()); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.class"), entry.getContainingClass().getFullName()); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.method"), entry.getParent().getName()); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.index"), Integer.toString(entry.getIndex())); } private void showClassEntry(ClassEntry entry) { - addNameValue(infoPanel, "Class", entry.getFullName()); - addModifierComboBox(infoPanel, "Modifier", entry); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.class"), entry.getFullName()); + addModifierComboBox(infoPanel, I18n.translate("info_panel.identifier.modifier"), entry); } private void showFieldEntry(FieldEntry entry) { - addNameValue(infoPanel, "Field", entry.getName()); - addNameValue(infoPanel, "Class", entry.getParent().getFullName()); - addNameValue(infoPanel, "TypeDescriptor", entry.getDesc().toString()); - addModifierComboBox(infoPanel, "Modifier", entry); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.field"), entry.getName()); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.class"), entry.getParent().getFullName()); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.type_descriptor"), entry.getDesc().toString()); + addModifierComboBox(infoPanel, I18n.translate("info_panel.identifier.modifier"), entry); } private void showMethodEntry(MethodEntry entry) { if (entry.isConstructor()) { - addNameValue(infoPanel, "Constructor", entry.getParent().getFullName()); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.constructor"), entry.getParent().getFullName()); } else { - addNameValue(infoPanel, "Method", entry.getName()); - addNameValue(infoPanel, "Class", entry.getParent().getFullName()); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.method"), entry.getName()); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.class"), entry.getParent().getFullName()); } - addNameValue(infoPanel, "MethodDescriptor", entry.getDesc().toString()); - addModifierComboBox(infoPanel, "Modifier", entry); + addNameValue(infoPanel, I18n.translate("info_panel.identifier.method_descriptor"), entry.getDesc().toString()); + addModifierComboBox(infoPanel, I18n.translate("info_panel.identifier.modifier"), entry); } private void addNameValue(JPanel container, String name, String value) { @@ -573,9 +574,9 @@ public class Gui { this.popupMenu.toggleMappingMenu.setEnabled(isRenamable); if (isToken && !Objects.equals(referenceEntry, mapper.deobfuscate(referenceEntry))) { - this.popupMenu.toggleMappingMenu.setText("Reset to obfuscated"); + this.popupMenu.toggleMappingMenu.setText(I18n.translate("popup_menu.reset_obfuscated")); } else { - this.popupMenu.toggleMappingMenu.setText("Mark as deobfuscated"); + this.popupMenu.toggleMappingMenu.setText(I18n.translate("popup_menu.mark_deobfuscated")); } } @@ -794,7 +795,7 @@ public class Gui { } public void showDiscardDiag(Function callback, String... options) { - int response = JOptionPane.showOptionDialog(this.frame, "Your mappings have not been saved yet. Do you want to save?", "Save your changes?", JOptionPane.YES_NO_CANCEL_OPTION, + int response = JOptionPane.showOptionDialog(this.frame, I18n.translate("prompt.close.summary"), I18n.translate("prompt.close.title"), JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[2]); callback.apply(response); } @@ -820,7 +821,7 @@ public class Gui { } return null; - }, "Save and exit", "Discard changes", "Cancel"); + }, I18n.translate("prompt.close.save"), I18n.translate("prompt.close.discard"), I18n.translate("prompt.close.cancel")); } } -- cgit v1.2.3