More Translations

All of the settings should have their English translation keys added now
This commit is contained in:
Konloch 2021-07-18 14:36:00 -07:00
parent 0973dfdf41
commit a6a6eb5147
7 changed files with 259 additions and 86 deletions

View file

@ -581,7 +581,7 @@ public class BytecodeViewer
{
if (BytecodeViewer.getLoadedClasses().isEmpty())
{
BytecodeViewer.showMessage("First open a class, jar, zip, apk or dex file.");
BytecodeViewer.showMessage(TranslatedStrings.FIRST_OPEN_A_CLASS.toString());
return true;
}
@ -595,7 +595,7 @@ public class BytecodeViewer
{
if (BytecodeViewer.resourceContainers.isEmpty())
{
BytecodeViewer.showMessage("First open a resource such as class, jar, zip or apk file.");
BytecodeViewer.showMessage(TranslatedStrings.FIRST_OPEN_A_RESOURCE.toString());
return true;
}

View file

@ -119,9 +119,9 @@ public class MainViewerGUI extends JFrame
public final JMenuItem ZKMStringDecrypter = new TranslatedJMenuItem("ZKM String Decrypter", Translation.ZKM_STRING_DECRYPTER);
public final JMenuItem allatoriStringDecrypter = new TranslatedJMenuItem("Allatori String Decrypter", Translation.ALLATORI_STRING_DECRYPTER);
public final JMenuItem zStringArrayDecrypter = new TranslatedJMenuItem("ZStringArray Decrypter", Translation.ZSTRINGARRAY_DECRYPTER);
public final JMenuItem viewAPKAndroidPermissions = new JMenuItem("View Android Permissions");
public final JMenuItem viewManifest = new JMenuItem("View Manifest");
public final JMenuItem changeClassFileVersions = new JMenuItem("Change ClassFile Versions");
public final JMenuItem viewAPKAndroidPermissions = new TranslatedJMenuItem("View Android Permissions", Translation.VIEW_ANDROID_PERMISSIONS);
public final JMenuItem viewManifest = new TranslatedJMenuItem("View Manifest", Translation.VIEW_MANIFEST);
public final JMenuItem changeClassFileVersions = new TranslatedJMenuItem("Change ClassFile Versions", Translation.CHANGE_CLASSFILE_VERSIONS);
//all of the settings main menu components
public final ButtonGroup apkConversionGroup = new ButtonGroup();
@ -164,90 +164,90 @@ public class MainViewerGUI extends JFrame
//FernFlower settings
public final JMenu fernFlowerSettingsSecondaryMenu = new TranslatedJMenu("FernFlower", Translation.FERNFLOWER);
public JCheckBoxMenuItem rbr = new JCheckBoxMenuItem("Hide bridge methods");
public JCheckBoxMenuItem rsy = new JCheckBoxMenuItem("Hide synthetic class members");
public JCheckBoxMenuItem din = new JCheckBoxMenuItem("Decompile inner classes");
public JCheckBoxMenuItem dc4 = new JCheckBoxMenuItem("Collapse 1.4 class references");
public JCheckBoxMenuItem das = new JCheckBoxMenuItem("Decompile assertions");
public JCheckBoxMenuItem hes = new JCheckBoxMenuItem("Hide empty super invocation");
public JCheckBoxMenuItem hdc = new JCheckBoxMenuItem("Hide empty default constructor");
public JCheckBoxMenuItem dgs = new JCheckBoxMenuItem("Decompile generic signatures");
public JCheckBoxMenuItem ner = new JCheckBoxMenuItem("Assume return not throwing exceptions");
public JCheckBoxMenuItem den = new JCheckBoxMenuItem("Decompile enumerations");
public JCheckBoxMenuItem rgn = new JCheckBoxMenuItem("Remove getClass() invocation");
public JCheckBoxMenuItem bto = new JCheckBoxMenuItem("Interpret int 1 as boolean true");
public JCheckBoxMenuItem nns = new JCheckBoxMenuItem("Allow for not set synthetic attribute");
public JCheckBoxMenuItem uto = new JCheckBoxMenuItem("Consider nameless types as java.lang.Object");
public JCheckBoxMenuItem udv = new JCheckBoxMenuItem("Reconstruct variable names from debug info");
public JCheckBoxMenuItem rer = new JCheckBoxMenuItem("Remove empty exception ranges");
public JCheckBoxMenuItem fdi = new JCheckBoxMenuItem("Deinline finally structures");
public JCheckBoxMenuItem asc = new JCheckBoxMenuItem("Allow only ASCII characters in strings");
public JCheckBoxMenuItem ren = new JCheckBoxMenuItem("Rename ambiguous classes and class elements");
public TranslatedJCheckBoxMenuItem rbr = new TranslatedJCheckBoxMenuItem("Hide bridge methods", Translation.HIDE_BRIDGE_METHODS);
public TranslatedJCheckBoxMenuItem rsy = new TranslatedJCheckBoxMenuItem("Hide synthetic class members", Translation.HIDE_SYNTHETIC_CLASS_MEMBERS);
public TranslatedJCheckBoxMenuItem din = new TranslatedJCheckBoxMenuItem("Decompile inner classes", Translation.DECOMPILE_INNER_CLASSES);
public TranslatedJCheckBoxMenuItem dc4 = new TranslatedJCheckBoxMenuItem("Collapse 1.4 class references", Translation.COLLAPSE_14_CLASS_REFERENCES);
public TranslatedJCheckBoxMenuItem das = new TranslatedJCheckBoxMenuItem("Decompile assertions", Translation.DECOMPILE_ASSERTIONS);
public TranslatedJCheckBoxMenuItem hes = new TranslatedJCheckBoxMenuItem("Hide empty super invocation", Translation.HIDE_EMPTY_SUPER_INVOCATION);
public TranslatedJCheckBoxMenuItem hdc = new TranslatedJCheckBoxMenuItem("Hide empty default constructor", Translation.HIDE_EMPTY_DEFAULT_CONSTRUCTOR);
public TranslatedJCheckBoxMenuItem dgs = new TranslatedJCheckBoxMenuItem("Decompile generic signatures", Translation.DECOMPILE_GENERIC_SIGNATURES);
public TranslatedJCheckBoxMenuItem ner = new TranslatedJCheckBoxMenuItem("Assume return not throwing exceptions", Translation.ASSUME_RETURN_NOT_THROWING_EXCEPTIONS);
public TranslatedJCheckBoxMenuItem den = new TranslatedJCheckBoxMenuItem("Decompile enumerations", Translation.DECOMPILE_ENUMERATIONS);
public TranslatedJCheckBoxMenuItem rgn = new TranslatedJCheckBoxMenuItem("Remove getClass() invocation", Translation.REMOVE_GETCLASS_INVOCATION);
public TranslatedJCheckBoxMenuItem bto = new TranslatedJCheckBoxMenuItem("Interpret int 1 as boolean true", Translation.INTERPRET_INT_1_AS_BOOLEAN_TRUE);
public TranslatedJCheckBoxMenuItem nns = new TranslatedJCheckBoxMenuItem("Allow for not set synthetic attribute", Translation.ALLOW_FOR_NOT_SET_SYNTHETIC_ATTRIBUTE);
public TranslatedJCheckBoxMenuItem uto = new TranslatedJCheckBoxMenuItem("Consider nameless types as java.lang.Object", Translation.CONSIDER_NAMELESS_TYPES_AS_JAVALANGOBJECT);
public TranslatedJCheckBoxMenuItem udv = new TranslatedJCheckBoxMenuItem("Reconstruct variable names from debug info", Translation.RECONSTRUCT_VARIABLE_NAMES_FROM_DEBUG_INFO);
public TranslatedJCheckBoxMenuItem rer = new TranslatedJCheckBoxMenuItem("Remove empty exception ranges", Translation.REMOVE_EMPTY_EXCEPTION_RANGES);
public TranslatedJCheckBoxMenuItem fdi = new TranslatedJCheckBoxMenuItem("Deinline finally structures", Translation.DEINLINE_FINALLY_STRUCTURES);
public TranslatedJCheckBoxMenuItem asc = new TranslatedJCheckBoxMenuItem("Allow only ASCII characters in strings", Translation.ALLOW_ONLY_ASCII_CHARACTERS_IN_STRINGS);
public TranslatedJCheckBoxMenuItem ren = new TranslatedJCheckBoxMenuItem("Rename ambiguous classes and class elements", Translation.RENAME_AMBIGUOUS_CLASSES_AND_CLASS_ELEMENTS);
//Proycon
public final JMenu procyonSettingsSecondaryMenu = new TranslatedJMenu("Procyon", Translation.PROCYON);
public final JCheckBoxMenuItem alwaysGenerateExceptionVars = new JCheckBoxMenuItem("Always Generate Exception Variable For Catch Blocks");
public final JCheckBoxMenuItem excludeNestedTypes = new JCheckBoxMenuItem("Exclude Nested Types");
public final JCheckBoxMenuItem showDebugLineNumbers = new JCheckBoxMenuItem("Show Debug Line Numbers");
public final JCheckBoxMenuItem includeLineNumbersInBytecode = new JCheckBoxMenuItem("Include Line Numbers In Bytecode");
public final JCheckBoxMenuItem includeErrorDiagnostics = new JCheckBoxMenuItem("Include Error Diagnostics");
public final JCheckBoxMenuItem showSyntheticMembers = new JCheckBoxMenuItem("Show Synthetic Members");
public final JCheckBoxMenuItem simplifyMemberReferences = new JCheckBoxMenuItem("Simplify Member References");
public final JCheckBoxMenuItem mergeVariables = new JCheckBoxMenuItem("Merge Variables");
public final JCheckBoxMenuItem forceExplicitTypeArguments = new JCheckBoxMenuItem("Force Explicit Type Arguments");
public final JCheckBoxMenuItem forceExplicitImports = new JCheckBoxMenuItem("Force Explicit Imports");
public final JCheckBoxMenuItem flattenSwitchBlocks = new JCheckBoxMenuItem("Flatten Switch Blocks");
public final JCheckBoxMenuItem retainPointlessSwitches = new JCheckBoxMenuItem("Retain Pointless Switches");
public final JCheckBoxMenuItem retainRedunantCasts = new JCheckBoxMenuItem("Retain Redundant Casts");
public final JCheckBoxMenuItem unicodeOutputEnabled = new JCheckBoxMenuItem("Unicode Output Enabled");
public final TranslatedJCheckBoxMenuItem alwaysGenerateExceptionVars = new TranslatedJCheckBoxMenuItem("Always Generate Exception Variable For Catch Blocks", Translation.ALWAYS_GENERATE_EXCEPTION_VARIABLE_FOR_CATCH_BLOCKS);
public final TranslatedJCheckBoxMenuItem excludeNestedTypes = new TranslatedJCheckBoxMenuItem("Exclude Nested Types", Translation.EXCLUDE_NESTED_TYPES);
public final TranslatedJCheckBoxMenuItem showDebugLineNumbers = new TranslatedJCheckBoxMenuItem("Show Debug Line Numbers", Translation.SHOW_DEBUG_LINE_NUMBERS);
public final TranslatedJCheckBoxMenuItem includeLineNumbersInBytecode = new TranslatedJCheckBoxMenuItem("Include Line Numbers In Bytecode", Translation.INCLUDE_LINE_NUMBERS_IN_BYTECODE);
public final TranslatedJCheckBoxMenuItem includeErrorDiagnostics = new TranslatedJCheckBoxMenuItem("Include Error Diagnostics", Translation.INCLUDE_ERROR_DIAGNOSTICS);
public final TranslatedJCheckBoxMenuItem showSyntheticMembers = new TranslatedJCheckBoxMenuItem("Show Synthetic Members", Translation.SHOW_SYNTHETIC_MEMBERS);
public final TranslatedJCheckBoxMenuItem simplifyMemberReferences = new TranslatedJCheckBoxMenuItem("Simplify Member References", Translation.SIMPLIFY_MEMBER_REFERENCES);
public final TranslatedJCheckBoxMenuItem mergeVariables = new TranslatedJCheckBoxMenuItem("Merge Variables", Translation.MERGE_VARIABLES);
public final TranslatedJCheckBoxMenuItem forceExplicitTypeArguments = new TranslatedJCheckBoxMenuItem("Force Explicit Type Arguments", Translation.FORCE_EXPLICIT_TYPE_ARGUMENTS);
public final TranslatedJCheckBoxMenuItem forceExplicitImports = new TranslatedJCheckBoxMenuItem("Force Explicit Imports", Translation.FORCE_EXPLICIT_IMPORTS);
public final TranslatedJCheckBoxMenuItem flattenSwitchBlocks = new TranslatedJCheckBoxMenuItem("Flatten Switch Blocks", Translation.FLATTEN_SWITCH_BLOCKS);
public final TranslatedJCheckBoxMenuItem retainPointlessSwitches = new TranslatedJCheckBoxMenuItem("Retain Pointless Switches", Translation.RETAIN_POINTLESS_SWITCHES);
public final TranslatedJCheckBoxMenuItem retainRedunantCasts = new TranslatedJCheckBoxMenuItem("Retain Redundant Casts", Translation.RETAIN_REDUNDANT_CASTS);
public final TranslatedJCheckBoxMenuItem unicodeOutputEnabled = new TranslatedJCheckBoxMenuItem("Unicode Output Enabled", Translation.UNICODE_OUTPUT_ENABLED);
//CFR
public final JMenu cfrSettingsSecondaryMenu = new TranslatedJMenu("CFR", Translation.CFR);
public final JCheckBoxMenuItem decodeEnumSwitch = new JCheckBoxMenuItem("Decode Enum Switch");
public final JCheckBoxMenuItem sugarEnums = new JCheckBoxMenuItem("SugarEnums");
public final JCheckBoxMenuItem decodeStringSwitch = new JCheckBoxMenuItem("Decode String Switch");
public final JCheckBoxMenuItem arrayiter = new JCheckBoxMenuItem("Arrayiter");
public final JCheckBoxMenuItem collectioniter = new JCheckBoxMenuItem("Collectioniter");
public final JCheckBoxMenuItem innerClasses = new JCheckBoxMenuItem("Inner Classes");
public final JCheckBoxMenuItem removeBoilerPlate = new JCheckBoxMenuItem("Remove Boiler Plate");
public final JCheckBoxMenuItem removeInnerClassSynthetics = new JCheckBoxMenuItem("Remove Inner Class Synthetics");
public final JCheckBoxMenuItem decodeLambdas = new JCheckBoxMenuItem("Decode Lambdas");
public final JCheckBoxMenuItem hideBridgeMethods = new JCheckBoxMenuItem("Hide Bridge Methods");
public final JCheckBoxMenuItem liftConstructorInit = new JCheckBoxMenuItem("Lift Constructor Init");
public final JCheckBoxMenuItem removeDeadMethods = new JCheckBoxMenuItem("Remove Dead Methods");
public final JCheckBoxMenuItem removeBadGenerics = new JCheckBoxMenuItem("Remove Bad Generics");
public final JCheckBoxMenuItem sugarAsserts = new JCheckBoxMenuItem("Sugar Asserts");
public final JCheckBoxMenuItem sugarBoxing = new JCheckBoxMenuItem("Sugar Boxing");
public final JCheckBoxMenuItem showVersion = new JCheckBoxMenuItem("Show Version");
public final JCheckBoxMenuItem decodeFinally = new JCheckBoxMenuItem("Decode Finally");
public final JCheckBoxMenuItem tidyMonitors = new JCheckBoxMenuItem("Tidy Monitors");
public final JCheckBoxMenuItem lenient = new JCheckBoxMenuItem("Lenient");
public final JCheckBoxMenuItem dumpClassPath = new JCheckBoxMenuItem("Dump Classpath");
public final JCheckBoxMenuItem comments = new JCheckBoxMenuItem("Comments");
public final JCheckBoxMenuItem forceTopSort = new JCheckBoxMenuItem("Force Top Sort");
public final JCheckBoxMenuItem forceTopSortAggress = new JCheckBoxMenuItem("Force Top Sort Aggress");
public final JCheckBoxMenuItem forceExceptionPrune = new JCheckBoxMenuItem("Force Exception Prune");
public final JCheckBoxMenuItem stringBuffer = new JCheckBoxMenuItem("String Buffer");
public final JCheckBoxMenuItem stringBuilder = new JCheckBoxMenuItem("String Builder");
public final JCheckBoxMenuItem silent = new JCheckBoxMenuItem("Silent");
public final JCheckBoxMenuItem recover = new JCheckBoxMenuItem("Recover");
public final JCheckBoxMenuItem eclipse = new JCheckBoxMenuItem("Eclipse");
public final JCheckBoxMenuItem override = new JCheckBoxMenuItem("Override");
public final JCheckBoxMenuItem showInferrable = new JCheckBoxMenuItem("Show Inferrable");
public final JCheckBoxMenuItem aexagg = new JCheckBoxMenuItem("Aexagg");
public final JCheckBoxMenuItem forceCondPropagate = new JCheckBoxMenuItem("Force Cond Propagate");
public final JCheckBoxMenuItem hideUTF = new JCheckBoxMenuItem("Hide UTF");
public final JCheckBoxMenuItem hideLongStrings = new JCheckBoxMenuItem("Hide Long Strings");
public final JCheckBoxMenuItem commentMonitor = new JCheckBoxMenuItem("Comment Monitors");
public final JCheckBoxMenuItem allowCorrecting = new JCheckBoxMenuItem("Allow Correcting");
public final JCheckBoxMenuItem labelledBlocks = new JCheckBoxMenuItem("Labelled Blocks");
public final JCheckBoxMenuItem j14ClassOBJ = new JCheckBoxMenuItem("J14ClassOBJ");
public final JCheckBoxMenuItem hideLangImports = new JCheckBoxMenuItem("Hide Lang Imports");
public final JCheckBoxMenuItem recoveryTypeClash = new JCheckBoxMenuItem("Recover Type Clash");
public final JCheckBoxMenuItem recoveryTypehInts = new JCheckBoxMenuItem("Recover Type Hints");
public final JCheckBoxMenuItem forceTurningIFs = new JCheckBoxMenuItem("Force Returning IFs");
public final JCheckBoxMenuItem forLoopAGGCapture = new JCheckBoxMenuItem("For Loop AGG Capture");
public final TranslatedJCheckBoxMenuItem decodeEnumSwitch = new TranslatedJCheckBoxMenuItem("Decode Enum Switch", Translation.DECODE_ENUM_SWITCH);
public final TranslatedJCheckBoxMenuItem sugarEnums = new TranslatedJCheckBoxMenuItem("SugarEnums", Translation.SUGARENUMS);
public final TranslatedJCheckBoxMenuItem decodeStringSwitch = new TranslatedJCheckBoxMenuItem("Decode String Switch", Translation.DECODE_STRING_SWITCH);
public final TranslatedJCheckBoxMenuItem arrayiter = new TranslatedJCheckBoxMenuItem("Arrayiter", Translation.ARRAYITER);
public final TranslatedJCheckBoxMenuItem collectioniter = new TranslatedJCheckBoxMenuItem("Collectioniter", Translation.COLLECTIONITER);
public final TranslatedJCheckBoxMenuItem innerClasses = new TranslatedJCheckBoxMenuItem("Inner Classes", Translation.INNER_CLASSES);
public final TranslatedJCheckBoxMenuItem removeBoilerPlate = new TranslatedJCheckBoxMenuItem("Remove Boiler Plate", Translation.REMOVE_BOILER_PLATE);
public final TranslatedJCheckBoxMenuItem removeInnerClassSynthetics = new TranslatedJCheckBoxMenuItem("Remove Inner Class Synthetics", Translation.REMOVE_INNER_CLASS_SYNTHETICS);
public final TranslatedJCheckBoxMenuItem decodeLambdas = new TranslatedJCheckBoxMenuItem("Decode Lambdas", Translation.DECODE_LAMBDAS);
public final TranslatedJCheckBoxMenuItem hideBridgeMethods = new TranslatedJCheckBoxMenuItem("Hide Bridge Methods", Translation.HIDE_BRIDGE_METHODS);
public final TranslatedJCheckBoxMenuItem liftConstructorInit = new TranslatedJCheckBoxMenuItem("Lift Constructor Init", Translation.LIFT__CONSTRUCTOR_INIT);
public final TranslatedJCheckBoxMenuItem removeDeadMethods = new TranslatedJCheckBoxMenuItem("Remove Dead Methods", Translation.REMOVE_DEAD_METHODS);
public final TranslatedJCheckBoxMenuItem removeBadGenerics = new TranslatedJCheckBoxMenuItem("Remove Bad Generics", Translation.REMOVE_BAD_GENERICS);
public final TranslatedJCheckBoxMenuItem sugarAsserts = new TranslatedJCheckBoxMenuItem("Sugar Asserts", Translation.SUGAR_ASSERTS);
public final TranslatedJCheckBoxMenuItem sugarBoxing = new TranslatedJCheckBoxMenuItem("Sugar Boxing", Translation.SUGAR_BOXING);
public final TranslatedJCheckBoxMenuItem showVersion = new TranslatedJCheckBoxMenuItem("Show Version", Translation.SHOW_VERSION);
public final TranslatedJCheckBoxMenuItem decodeFinally = new TranslatedJCheckBoxMenuItem("Decode Finally", Translation.DECODE_FINALLY);
public final TranslatedJCheckBoxMenuItem tidyMonitors = new TranslatedJCheckBoxMenuItem("Tidy Monitors", Translation.TIDY_MONITORS);
public final TranslatedJCheckBoxMenuItem lenient = new TranslatedJCheckBoxMenuItem("Lenient", Translation.LENIENT);
public final TranslatedJCheckBoxMenuItem dumpClassPath = new TranslatedJCheckBoxMenuItem("Dump Classpath", Translation.DUMP_CLASSPATH);
public final TranslatedJCheckBoxMenuItem comments = new TranslatedJCheckBoxMenuItem("Comments", Translation.COMMENTS);
public final TranslatedJCheckBoxMenuItem forceTopSort = new TranslatedJCheckBoxMenuItem("Force Top Sort", Translation.FORCE_TOP_SORT);
public final TranslatedJCheckBoxMenuItem forceTopSortAggress = new TranslatedJCheckBoxMenuItem("Force Top Sort Aggress", Translation.FORCE_TOP_SORT_AGGRESS);
public final TranslatedJCheckBoxMenuItem forceExceptionPrune = new TranslatedJCheckBoxMenuItem("Force Exception Prune", Translation.FORCE_EXCEPTION_PRUNE);
public final TranslatedJCheckBoxMenuItem stringBuffer = new TranslatedJCheckBoxMenuItem("String Buffer", Translation.STRING_BUFFER);
public final TranslatedJCheckBoxMenuItem stringBuilder = new TranslatedJCheckBoxMenuItem("String Builder", Translation.STRING_BUILDER);
public final TranslatedJCheckBoxMenuItem silent = new TranslatedJCheckBoxMenuItem("Silent", Translation.SILENT);
public final TranslatedJCheckBoxMenuItem recover = new TranslatedJCheckBoxMenuItem("Recover", Translation.RECOVER);
public final TranslatedJCheckBoxMenuItem eclipse = new TranslatedJCheckBoxMenuItem("Eclipse", Translation.ECLIPSE);
public final TranslatedJCheckBoxMenuItem override = new TranslatedJCheckBoxMenuItem("Override", Translation.OVERRIDE);
public final TranslatedJCheckBoxMenuItem showInferrable = new TranslatedJCheckBoxMenuItem("Show Inferrable", Translation.SHOW_INFERRABLE);
public final TranslatedJCheckBoxMenuItem aexagg = new TranslatedJCheckBoxMenuItem("Aexagg", Translation.AEXAGG);
public final TranslatedJCheckBoxMenuItem forceCondPropagate = new TranslatedJCheckBoxMenuItem("Force Cond Propagate", Translation.FORCE_COND_PROPAGATE);
public final TranslatedJCheckBoxMenuItem hideUTF = new TranslatedJCheckBoxMenuItem("Hide UTF", Translation.HIDE_UTF);
public final TranslatedJCheckBoxMenuItem hideLongStrings = new TranslatedJCheckBoxMenuItem("Hide Long Strings", Translation.HIDE_LONG_STRINGS);
public final TranslatedJCheckBoxMenuItem commentMonitor = new TranslatedJCheckBoxMenuItem("Comment Monitors", Translation.COMMENT_MONITORS);
public final TranslatedJCheckBoxMenuItem allowCorrecting = new TranslatedJCheckBoxMenuItem("Allow Correcting", Translation.ALLOW_CORRECTING);
public final TranslatedJCheckBoxMenuItem labelledBlocks = new TranslatedJCheckBoxMenuItem("Labelled Blocks", Translation.LABELLED_BLOCKS);
public final TranslatedJCheckBoxMenuItem j14ClassOBJ = new TranslatedJCheckBoxMenuItem("J14ClassOBJ", Translation.J14CLASSOBJ);
public final TranslatedJCheckBoxMenuItem hideLangImports = new TranslatedJCheckBoxMenuItem("Hide Lang Imports", Translation.HIDE_LANG_IMPORTS);
public final TranslatedJCheckBoxMenuItem recoveryTypeClash = new TranslatedJCheckBoxMenuItem("Recover Type Clash", Translation.RECOVER_TYPE_CLASH);
public final TranslatedJCheckBoxMenuItem recoveryTypehInts = new TranslatedJCheckBoxMenuItem("Recover Type Hints", Translation.RECOVER_TYPE__HINTS);
public final TranslatedJCheckBoxMenuItem forceTurningIFs = new TranslatedJCheckBoxMenuItem("Force Returning IFs", Translation.FORCE_RETURNING_IFS);
public final TranslatedJCheckBoxMenuItem forLoopAGGCapture = new TranslatedJCheckBoxMenuItem("For Loop AGG Capture", Translation.FOR_LOOP_AGG_CAPTURE);
//obfuscation
public final JMenu obfuscate = new JMenu("Obfuscate");
public final JMenuItem renameFields = new JMenuItem("Rename Fields");

View file

@ -16,6 +16,7 @@ import the.bytecode.club.bytecodeviewer.BytecodeViewer;
import the.bytecode.club.bytecodeviewer.resources.IconResources;
import the.bytecode.club.bytecodeviewer.api.Plugin;
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
/***************************************************************************
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
@ -53,7 +54,7 @@ public class CodeSequenceDiagram extends Plugin
{
if (!BytecodeViewer.isActiveResourceClass())
{
BytecodeViewer.showMessage("First open a class file.");
BytecodeViewer.showMessage(TranslatedStrings.FIRST_VIEW_A_CLASS.toString());
return;
}

View file

@ -7,6 +7,7 @@ import the.bytecode.club.bytecodeviewer.BytecodeViewer;
import the.bytecode.club.bytecodeviewer.Configuration;
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
import the.bytecode.club.bytecodeviewer.gui.components.FileChooser;
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
import the.bytecode.club.bytecodeviewer.util.DialogueUtils;
import the.bytecode.club.bytecodeviewer.util.JarUtils;
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
@ -182,7 +183,7 @@ public class ResourceDecompiling
if (!BytecodeViewer.isActiveResourceClass())
{
BytecodeViewer.showMessage("First open a class file.");
BytecodeViewer.showMessage(TranslatedStrings.FIRST_VIEW_A_CLASS.toString());
return;
}

View file

@ -81,6 +81,9 @@ public enum TranslatedStrings
QUICK_FILE_SEARCH_NO_FILE_EXTENSION,
SUGGESTED_FIX_DECOMPILER_ERROR,
SUGGESTED_FIX_COMPILER_ERROR,
FIRST_OPEN_A_RESOURCE,
FIRST_OPEN_A_CLASS,
FIRST_VIEW_A_CLASS,
DRAG_CLASS_JAR,
;

View file

@ -123,6 +123,90 @@ public enum Translation
ALLATORI_STRING_DECRYPTER,
ZSTRINGARRAY_DECRYPTER,
HIDE_BRIDGE_METHODS,
HIDE_SYNTHETIC_CLASS_MEMBERS,
DECOMPILE_INNER_CLASSES,
COLLAPSE_14_CLASS_REFERENCES,
DECOMPILE_ASSERTIONS,
HIDE_EMPTY_SUPER_INVOCATION,
HIDE_EMPTY_DEFAULT_CONSTRUCTOR,
DECOMPILE_GENERIC_SIGNATURES,
ASSUME_RETURN_NOT_THROWING_EXCEPTIONS,
DECOMPILE_ENUMERATIONS,
REMOVE_GETCLASS_INVOCATION,
INTERPRET_INT_1_AS_BOOLEAN_TRUE,
ALLOW_FOR_NOT_SET_SYNTHETIC_ATTRIBUTE,
CONSIDER_NAMELESS_TYPES_AS_JAVALANGOBJECT,
RECONSTRUCT_VARIABLE_NAMES_FROM_DEBUG_INFO,
REMOVE_EMPTY_EXCEPTION_RANGES,
DEINLINE_FINALLY_STRUCTURES,
ALLOW_ONLY_ASCII_CHARACTERS_IN_STRINGS,
RENAME_AMBIGUOUS_CLASSES_AND_CLASS_ELEMENTS,
DECODE_ENUM_SWITCH,
SUGARENUMS,
DECODE_STRING_SWITCH,
ARRAYITER,
COLLECTIONITER,
INNER_CLASSES,
REMOVE_BOILER_PLATE,
REMOVE_INNER_CLASS_SYNTHETICS,
DECODE_LAMBDAS,
LIFT__CONSTRUCTOR_INIT,
REMOVE_DEAD_METHODS,
REMOVE_BAD_GENERICS,
SUGAR_ASSERTS,
SUGAR_BOXING,
SHOW_VERSION,
DECODE_FINALLY,
TIDY_MONITORS,
LENIENT,
DUMP_CLASSPATH,
COMMENTS,
FORCE_TOP_SORT,
FORCE_TOP_SORT_AGGRESS,
FORCE_EXCEPTION_PRUNE,
STRING_BUFFER,
STRING_BUILDER,
SILENT,
RECOVER,
OVERRIDE,
SHOW_INFERRABLE,
AEXAGG,
FORCE_COND_PROPAGATE,
HIDE_UTF,
HIDE_LONG_STRINGS,
COMMENT_MONITORS,
ALLOW_CORRECTING,
LABELLED_BLOCKS,
J14CLASSOBJ,
HIDE_LANG_IMPORTS,
RECOVER_TYPE_CLASH,
RECOVER_TYPE__HINTS,
FORCE_RETURNING_IFS,
FOR_LOOP_AGG_CAPTURE,
ALWAYS_GENERATE_EXCEPTION_VARIABLE_FOR_CATCH_BLOCKS,
EXCLUDE_NESTED_TYPES,
SHOW_DEBUG_LINE_NUMBERS,
INCLUDE_LINE_NUMBERS_IN_BYTECODE,
INCLUDE_ERROR_DIAGNOSTICS,
SHOW_SYNTHETIC_MEMBERS,
SIMPLIFY_MEMBER_REFERENCES,
MERGE_VARIABLES,
FORCE_EXPLICIT_TYPE_ARGUMENTS,
FORCE_EXPLICIT_IMPORTS,
FLATTEN_SWITCH_BLOCKS,
RETAIN_POINTLESS_SWITCHES,
RETAIN_REDUNDANT_CASTS,
UNICODE_OUTPUT_ENABLED,
VIEW_ANDROID_PERMISSIONS,
VIEW_MANIFEST,
CHANGE_CLASSFILE_VERSIONS,
DEX_TO_JAR,
ENJARIFY,
PROCYON,

View file

@ -102,6 +102,9 @@
"ZKM_STRING_DECRYPTER": "ZKM String Decrypter",
"ALLATORI_STRING_DECRYPTER": "Allatori String Decrypter",
"ZSTRINGARRAY_DECRYPTER": "ZStringArray Decrypter",
"VIEW_ANDROID_PERMISSIONS": "View Android Permissions",
"VIEW_MANIFEST": "View Manifest",
"CHANGE_CLASSFILE_VERSIONS": "Change ClassFile Versions",
@ -119,6 +122,9 @@
"SUGGESTED_FIX_DECOMPILER_ERROR": "Suggested Fix: Click refresh class, if it fails again try another decompiler.",
"SUGGESTED_FIX_COMPILER_ERROR": "Suggested Fix: Try View>Pane>Krakatau>Bytecode and enable Editable.",
"COMPILER_TIP": "Keep in mind most decompilers cannot produce compilable classes",
"FIRST_OPEN_A_RESOURCE": "First open a resource inside of BCV (class, jar, zip or apk file)",
"FIRST_OPEN_A_CLASS": "First open a classfile resource inside of BCV (jar, zip, apk, dex)",
"FIRST_VIEW_A_CLASS": "First view a class file inside of a tab.",
"DRAG_CLASS_JAR": "Drag class/jar/zip/APK/DEX here",
"YES": "Yes",
@ -148,6 +154,84 @@
"JAVA_RT_JAR": "Java RT Jar (Inside Of JRE C:/Program Files/Java/JRE_xx/lib/rt.jar)",
"OPTIONAL_LIBRARY_FOLDER": "Optional Library Folder (Compiler & Krakatau)",
"HIDE_BRIDGE_METHODS": "Hide bridge methods",
"HIDE_SYNTHETIC_CLASS_MEMBERS": "Hide synthetic class members",
"DECOMPILE_INNER_CLASSES": "Decompile inner classes",
"COLLAPSE_14_CLASS_REFERENCES": "Collapse 1.4 class references",
"DECOMPILE_ASSERTIONS": "Decompile assertions",
"HIDE_EMPTY_SUPER_INVOCATION": "Hide empty super invocation",
"HIDE_EMPTY_DEFAULT_CONSTRUCTOR": "Hide empty default constructor",
"DECOMPILE_GENERIC_SIGNATURES": "Decompile generic signatures",
"ASSUME_RETURN_NOT_THROWING_EXCEPTIONS": "Assume return not throwing exceptions",
"DECOMPILE_ENUMERATIONS": "Decompile enumerations",
"REMOVE_GETCLASS_INVOCATION": "Remove getClass() invocation",
"INTERPRET_INT_1_AS_BOOLEAN_TRUE": "Interpret int 1 as boolean true",
"ALLOW_FOR_NOT_SET_SYNTHETIC_ATTRIBUTE": "Allow for not set synthetic attribute",
"CONSIDER_NAMELESS_TYPES_AS_JAVALANGOBJECT": "Consider nameless types as java.lang.Object",
"RECONSTRUCT_VARIABLE_NAMES_FROM_DEBUG_INFO": "Reconstruct variable names from debug info",
"REMOVE_EMPTY_EXCEPTION_RANGES": "Remove empty exception ranges",
"DEINLINE_FINALLY_STRUCTURES": "Deinline finally structures",
"ALLOW_ONLY_ASCII_CHARACTERS_IN_STRINGS": "Allow only ASCII characters in strings",
"RENAME_AMBIGUOUS_CLASSES_AND_CLASS_ELEMENTS": "Rename ambiguous classes and class elements",
"DECODE_ENUM_SWITCH": "Decode Enum Switch",
"SUGARENUMS": "SugarEnums",
"DECODE_STRING_SWITCH": "Decode String Switch",
"ARRAYITER": "Arrayiter",
"COLLECTIONITER": "Collectioniter",
"INNER_CLASSES": "Inner Classes",
"REMOVE_BOILER_PLATE": "Remove Boiler Plate",
"REMOVE_INNER_CLASS_SYNTHETICS": "Remove Inner Class Synthetics",
"DECODE_LAMBDAS": "Decode Lambdas",
"LIFT__CONSTRUCTOR_INIT": "Lift Constructor Init",
"REMOVE_DEAD_METHODS": "Remove Dead Methods",
"REMOVE_BAD_GENERICS": "Remove Bad Generics",
"SUGAR_ASSERTS": "Sugar Asserts",
"SUGAR_BOXING": "Sugar Boxing",
"SHOW_VERSION": "Show Version",
"DECODE_FINALLY": "Decode Finally",
"TIDY_MONITORS": "Tidy Monitors",
"LENIENT": "Lenient",
"DUMP_CLASSPATH": "Dump Classpath",
"COMMENTS": "Comments",
"FORCE_TOP_SORT": "Force Top Sort",
"FORCE_TOP_SORT_AGGRESS": "Force Top Sort Aggress",
"FORCE_EXCEPTION_PRUNE": "Force Exception Prune",
"STRING_BUFFER": "String Buffer",
"STRING_BUILDER": "String Builder",
"SILENT": "Silent",
"RECOVER": "Recover",
"OVERRIDE": "Override",
"SHOW_INFERRABLE": "Show Inferrable",
"AEXAGG": "Aexagg",
"FORCE_COND_PROPAGATE": "Force Cond Propagate",
"HIDE_UTF": "Hide UTF",
"HIDE_LONG_STRINGS": "Hide Long Strings",
"COMMENT_MONITORS": "Comment Monitors",
"ALLOW_CORRECTING": "Allow Correcting",
"LABELLED_BLOCKS": "Labelled Blocks",
"J14CLASSOBJ": "J14ClassOBJ",
"HIDE_LANG_IMPORTS": "Hide Lang Imports",
"RECOVER_TYPE_CLASH": "Recover Type Clash",
"RECOVER_TYPE__HINTS": "Recover Type Hints",
"FORCE_RETURNING_IFS": "Force Returning IFs",
"FOR_LOOP_AGG_CAPTURE": "For Loop AGG Capture",
"ALWAYS_GENERATE_EXCEPTION_VARIABLE_FOR_CATCH_BLOCKS": "Always Generate Exception Variable For Catch Blocks",
"EXCLUDE_NESTED_TYPES": "Exclude Nested Types",
"SHOW_DEBUG_LINE_NUMBERS": "Show Debug Line Numbers",
"INCLUDE_LINE_NUMBERS_IN_BYTECODE": "Include Line Numbers In Bytecode",
"INCLUDE_ERROR_DIAGNOSTICS": "Include Error Diagnostics",
"SHOW_SYNTHETIC_MEMBERS": "Show Synthetic Members",
"SIMPLIFY_MEMBER_REFERENCES": "Simplify Member References",
"MERGE_VARIABLES": "Merge Variables",
"FORCE_EXPLICIT_TYPE_ARGUMENTS": "Force Explicit Type Arguments",
"FORCE_EXPLICIT_IMPORTS": "Force Explicit Imports",
"FLATTEN_SWITCH_BLOCKS": "Flatten Switch Blocks",
"RETAIN_POINTLESS_SWITCHES": "Retain Pointless Switches",
"RETAIN_REDUNDANT_CASTS": "Retain Redundant Casts",
"UNICODE_OUTPUT_ENABLED": "Unicode Output Enabled",
"FILES": "Files",
"QUICK_FILE_SEARCH_NO_FILE_EXTENSION": "Quick file search (no file extension)",
"WORK_SPACE": "Work Space",