# ProGuard -- shrinking, optimization, and obfuscation of Java class files. # Copyright (c) 2002-2008 Eric Lafortune (eric@graphics.cornell.edu) # # Tab names. # proGuardTab = ProGuard inputOutputTab = Input/Output shrinkingTab = Shrinking obfuscationTab = Obfuscation optimizationTab = Optimization informationTab = Information processTab = Process reTraceTab = ReTrace # # Splash text. # developed = Developed by Eric Lafortune shrinking = Shrinking optimization = Optimization obfuscation = Obfuscation preverification = Preverification # # Panel titles. # welcome = Welcome to ProGuard, version 4.3 options = Options keepAdditional = Keep additional classes and class members keepNamesAdditional = Keep additional class names and class member names assumeNoSideEffectsAdditional = Assume no side effects for additional methods whyAreYouKeeping = Why are you keeping preverificationAndTargeting = Preverification and targeting consistencyAndCorrectness = Consistency and correctness processingConsole = Processing console reTraceSettings = ReTrace settings deobfuscatedStackTrace = De-obfuscated stack trace keepAdditionalTip = \ If required, keep additional classes, fields, and methods as entry points. keepNamesAdditionalTip = \ If required, keep the names of additional classes, fields, and methods. assumeNoSideEffectsAdditionalTip = \ <html>Optionally specify additional methods that don't have any side effects.<br>\ <i>Only add entries if you know what you're doing!</i></html> whyAreYouKeepingTip = \ Ask ProGuard why it is keeping certain classes, fields, or methods. # # Info texts. # proGuardInfo = \ ProGuard is a free class file shrinker, optimizer, obfuscator, and preverifier.\ \n\n\ With this GUI, you can create, load, modify, and save ProGuard configurations. \ \n\ You can then process your code right away, or you can run ProGuard from the \ command line using your saved configuration. \ \n\n\ With the ReTrace part of this GUI you can de-obfuscate your stack traces.\ \n\n\ ProGuard and ReTrace are written and maintained by Eric Lafortune.\ \n\n\ Distributed under the GNU General Public License.\ \n\ Copyright (c) 2002-2008. processingInfo = \ You can now start processing your code, \ or you can run ProGuard from the command line using your saved configuration. reTraceInfo = \ If you had ProGuard write out a mapping file, \ you can de-obfuscate your obfuscated stack traces with ReTrace!\ \n\n\ You can load an obfuscated stack trace from a file, \ or you can paste it straight into the text area above. # # Titles and labels corresponding to common ProGuard options. # programJars = Program jars, wars, ears, zips, and directories libraryJars = Library jars, wars, ears, zips, and directories shrink = Shrink printUsage = Print usage optimize = Optimize allowAccessModification = Allow access modification mergeInterfacesAggressively = Merge interfaces aggressively optimizationPasses = Optimization passes obfuscate = Obfuscate printMapping = Print mapping applyMapping = Apply mapping obfuscationDictionary = Obfuscation dictionary classObfuscationDictionary = Class obfuscation dictionary packageObfuscationDictionary = Package obfuscation dictionary overloadAggressively = Overload aggressively useUniqueClassMemberNames = Use unique class member names flattenPackageHierarchy = Flatten package hierarchy repackageClasses = Repackage classes useMixedCaseClassNames = Use mixed-case class names keepAttributes = Keep attributes renameSourceFileAttribute = Rename SourceFile attribute adaptResourceFileNames = Adapt resource file names adaptResourceFileContents = Adapt resource file contents preverify = Preverify microEdition = Micro Edition verbose = Verbose note = Note potential mistakes in the configuration warn = Warn about possibly erronous input ignoreWarnings = Ignore warnings about possibly erronous input skipNonPublicLibraryClasses = Skip non-public library classes skipNonPublicLibraryClassMembers = Skip non-public library class members forceProcessing = Force processing target = Target targets = 1.0,1.1,1.2,1.3,1.4,1.5,1.6 printSeeds = Print seeds printConfiguration = Print configuration dump = Print class files mappingFile = Mapping file obfuscatedStackTrace = Obfuscated stack trace programJarsTip = \ <html>The input jars (wars, ears, zips, directories), followed by<br>\ their corresponding output jars (wars, ears, zips, directories).</html> libraryJarsTip = \ <html>The library jars (wars, ears, zips, directories), on which the program jars depend.<br>\ The library jars are required for processing, but they are not copied to the output.</html> shrinkTip = \ Remove unused classes, fields, and methods from the output. printUsageTip = \ Print out the list of unused classes, fields, and methods. optimizeTip = \ Optimize the bytecode of the processed classes. allowAccessModificationTip = \ Allow the optimization step to modify the access modifiers of classes, fields, and methods. mergeInterfacesAggressivelyTip = \ <html>Allow interfaces to be merged, even if their implementations don't implement all<br>\ interface methods. This is not allowed in the Java language, but it is allowed in bytecode.</html> optimizationPassesTip = \ The number of optimization passes to be performed. obfuscateTip = \ Obfuscate the names of the processed classes, fields, and methods. printMappingTip = \ Print out the obfuscation mapping of original names to obfuscated names. applyMappingTip = \ Apply the given mapping of original names to obfuscated names. obfuscationDictionaryTip = \ Use the words in the given file for obfuscating field names and method names. classObfuscationDictionaryTip = \ Use the words in the given file for obfuscating class names. packageObfuscationDictionaryTip = \ Use the words in the given file for obfuscating package names. overloadAggressivelyTip = \ <html>Allow fields and methods to get the same obfuscated names, even if only their types or<br>\ return types differ. This is not allowed in the Java language, but it is allowed in bytecode.</html> useUniqueClassMemberNamesTip = \ <html>Make sure fields and methods get the same obfuscation mapping across classes, even<br>\ if they are unrelated. This is advisable if the output is to be obfuscated incrementally.</html> flattenPackageHierarchyTip = \ Move all packages that are renamed into the given parent package. repackageClassesTip = \ Move all classes that are renamed into the given package. packageTip = \ The package name (optionally nothing, for the root package). useMixedCaseClassNamesTip = \ <html>Generate mixed-case obfucated class names. This will complicate unpacking<br>\ the resulting jars on case-insensitive file systems, should that be necessary.</html> keepAttributesTip = \ Keep the specified optional class file attributes. attributesTip = \ <html>A comma-separated list of class file attributes.\ <ul>\ <li>"Exceptions,Innerclasses, Signature" are necessary if the output is to be used as a library.\ <li>"Deprecated" is optional if the output is to be used as a library.\ <li>"LocalVariable*Table" can be useful for debugging.\ <li>"Sourcefile,LineNumberTable" are necessary for generating stack traces.\ <li>"*Annotations*" is necessary for preserving annotations.\ </ul>\ The wildcard <code>*</code> and the negator <code>!</code> are allowed.</html> renameSourceFileAttributeTip = \ <html>Put the given string in the "SourceFile" attribute of the processed class files.<br>\ It will appear as the file name of the classes in stack traces.</html> sourceFileAttributeTip = \ The replacement "SourceFile" string. adaptResourceFileNamesTip = \ <html>Rename the specified resource files, based on the<br>\ obfuscated names of the corresponding class files.</html> adaptResourceFileContentsTip = \ <html>Adapt the contents of the given resource files, based<br>\ on the obfuscated names of the processed classes.</html> fileNameFilterTip = \ <html>A filter on file names,<br>\ e.g. <code>mydirectory1/**,mydirectory2/**</code><br>\ Possible wildcards:\ <ul>\ <li><code>?</code> for any single character, except the directory separator.\ <li><code>*</code> for any number of any characters, except the directory separator.\ <li><code>**</code> for any number of any characters.\ </ul></html> preverifyTip = \ Preverify the processed classes, for Java Micro Edition or for Java 6. microEditionTip = \ Target Java Micro Edition. verboseTip = \ Print out verbose messages while processing. noteTip = \ Print out notes about special or unusual input. warnTip = \ <html>Print out warnings about possibly erronous input.<br>\ <i>Only unset this option if you know what you're doing!</i></html> ignoreWarningsTip = \ <html>Ignore any warnings about possibly erronous input.<br>\ <i>Only set this option if you know what you're doing!</i></html> skipNonPublicLibraryClassesTip = \ <html>Skip reading non-public library classes, for efficiency.<br>\ You may have to unset this option if ProGuard complains about missing classes.</html> skipNonPublicLibraryClassMembersTip = \ <html>Skip reading non-public library fields and methods, for efficiency.<br>\ You may have to unset this option if ProGuard complains about missing class members.</html> forceProcessingTip = \ Always process the input, even if the output seems up to date. targetTip = \ Target the specified version of Java. printSeedsTip = \ Print out the list of kept classes, fields, and methods. printConfigurationTip = \ Print out the configuration. dumpTip = \ Print out the internal structure of the processed class files. mappingFileTip = \ The file containing the mapping of original names to obfuscated names. obfuscatedStackTraceTip = \ A stack trace produced by previously obfuscated code. # # Titles and labels corresponding to ProGuard keep options. # keepTitle = Keep keep = Keep classes and class members keepClassMembers = Keep class members only keepClassesWithMembers = Keep classes and class members, if members are present allowTitle = Allow allowShrinking = Allow shrinking allowOptimization = Allow optimization allowObfuscation = Allow obfuscation keepTitleTip = Keep the specified classes and/or their fields and methods. keepTip = \ <html>Keep the specified classes, fields, and methods as entry points.<br>\ This is the most common option.</html> keepClassMembersTip = \ Only keep the specified fields and methods as entry points. keepClassesWithMembersTip = \ <html>Keep the specified classes, fields, and methods,<br>\ on the condition that the fields and methods are present.</html> allowTitleTip = \ <html>Optionally relax keeping the specified classes, fields, and methods.<br>\ <i>These are advanced options.</i></html> allowShrinkingTip = \ Remove the specified classes, fields, and methods anyway, if they are not used. allowOptimizationTip = \ <html>Optimize the specified classes, fields, and methods as entry points anyway.<br>\ <i>Only set this option if you know what you're doing!</i></html> allowObfuscationTip = \ <html>Obfuscate the names of the specified classes, fields, and methods anyway.<br>\ <i>Only set this option if you know what you're doing!</i></html> # # Further keep titles and labels. # comments = Comments access = Access required = Required not = Not dontCare = Don't care annotation = Annotation class = Class extendsImplementsAnnotation = Extends/implements class with annotation extendsImplementsClass = Extends/implements class classMembers = Class members extensionsOf = Extensions of specificationNumber = Specification # fieldType = Field type returnType = Return type name = Name argumentTypes = Argument types commentsTip = \ Optionally add a comment for this option in the configuration file. accessTip = \ <html>Optionally place constraints on the access modifiers of this element.<br>\ E.g. only match public elements.</html> requiredTip = \ The access modifier has to be set. notTip = \ The access modifier must not be set. dontCareTip = \ The access modifier is irrelevant. annotationTip = \ <html>Optionally require the given annotation to be present on this element.<br>\ E.g. only match elements that have an annotation <code>myPackage.MyAnnotation</code>.<br>\ <i>This is an advanced option.</i></html> classTip = \ The name of the class or interface. extendsImplementsAnnotationTip = \ <html>Optionally require the given annotation to be present on the<br>\ extended or implemented class or interface.<br>\ E.g. only match classes that extend a class that has an annotation<br>\ <code>myPackage.MyAnnotation</code>.<br>\ <i>This is an advanced option.</i></html> extendsImplementsClassTip = \ <html>Optionally require the class to implement or extend the given class or interface.<br>\ E.g. only match classes that implement an interface <code>myPackage.MyInterface</code>.</html> classMembersTip = \ <html>Optionally keep fields and methods as entry points in the matching class or classes.<br>\ E.g. keep all public '<code>get*</code>' methods as entry points.</html> fieldTypeTip = The field type. returnTypeTip = The method return type, if any. nameTip = The name. argumentTypesTip = The method argument types, if any. classNameTip = \ <html>The class name, e.g. <code>myPackage.MyClass</code><br>\ Possible wildcards:\ <ul>\ <li><code>?<code> for any single character, except the package separator.\ <li><code>*<code> for any number of any characters, except the package separator.\ <li><code>**<code> for any number of any characters.\ </ul></html> classNamesTip = \ <html>A regular expression to further constrain the class names,<br>\ e.g. <code>myPackage1.MyClass,myPackage2.**</code><br>\ Possible wildcards:\ <ul>\ <li><code>?<code> for any single character, except the package separator.\ <li><code>*<code> for any number of any characters, except the package separator.\ <li><code>**<code> for any number of any characters.\ </ul></html> typeTip = \ <html>The type, e.g. <code>int</code>, or <code>java.lang.String[]</code><br>\ Possible wildcards:\ <ul>\ <li><code>%<code> for any primitive type.\ <li><code>?<code> for any single character, except the package separator.\ <li><code>*<code> for any number of any characters, except the package separator.\ <li><code>**<code> for any number of any characters.\ <li><code>***<code> (or empty) for any type.\ </ul></html> fieldNameTip = \ <html>The field name, e.g. <code>myField</code><br>\ Possible wildcards:\ <ul>\ <li><code>?<code> for any single character.\ <li><code>*<code> for any number of any characters.\ </ul></html> methodNameTip = \ <html>The method name, e.g. <code>myMethod</code><br>\ Possible wildcards:\ <ul>\ <li><code>?<code> for any single character.\ <li><code>*<code> for any number of any characters.\ </ul></html> argumentTypes2Tip = \ <html>The comma-separated list of argument types,<br>\ e.g. <code>java.lang.String[],int,boolean</code><br>\ Possible wildcards:\ <ul>\ <li><code>%<code> for any primitive type.\ <li><code>?<code> for any single character, except the package separator.\ <li><code>*<code> for any number of any characters, except the package separator.\ <li><code>**<code> for any number of any characters.\ <li><code>***<code> for any type.\ <li><code>...<code> for any number of any arguments.\ </ul></html> # # File selection titles. # selectConfigurationFile = Select a configuration file... saveConfigurationFile = Save configuration... selectUsageFile = Select a usage output file... selectPrintMappingFile = Select an output mapping file... selectApplyMappingFile = Select an input mapping file... selectObfuscationDictionaryFile = Select an obfuscation dictionary... selectSeedsFile = Select a seeds output file... selectDumpFile = Select a class dump file... selectStackTraceFile = Select a stack trace file... cantOpenConfigurationFile = Can''t open the configuration file [{0}] cantParseConfigurationFile = Can''t parse the configuration file [{0}] cantSaveConfigurationFile = Can''t save the configuration file [{0}] cantOpenStackTraceFile = Can''t open the stack trace file [{0}] jarWarEarZipExtensions = *.jar, *.war, *.ear, *.zip (archives and directories) proExtension = *.pro (ProGuard configurations) addJars = Add one or more jars or directories... chooseJars = Choose different jars or directories... enterFilter = Optionally filter the file names contained in the selected entries. filters = Filters nameFilter = File name filter jarNameFilter = Jar name filter warNameFilter = War name filter earNameFilter = Ear name filter zipNameFilter = Zip name filter outputFileTip = The optional output file. inputFileTip = The input file. nameFilterTip = A filter on plain class file names and resource file names. jarNameFilterTip = A filter on jar file names. warNameFilterTip = A filter on war file names. earNameFilterTip = A filter on ear file names. zipNameFilterTip = A filter on zip file names. # # Simple button texts. # previous = Previous next = Next browse = Browse... advanced = Advanced options basic = Basic options ok = Ok cancel = Cancel add = Add... addInput = Add input... addOutput = Add output... edit = Edit... filter = Filter... remove = Remove moveUp = Move up moveDown = Move down moveToLibraries = Move to libraries moveToProgram = Move to program addField = Add field... addMethod = Add method... loadConfiguration = Load configuration... viewConfiguration = View configuration saveConfiguration = Save configuration... loadStackTrace = Load stack trace... process = Process! reTrace = ReTrace! advancedTip = Toggle between showing basic options and advanced options. addInputTip = Add an input jar, war, ear, zip, or directory. addOutputTip = Add an output jar, war, ear, zip, or directory. addTip = Add an entry. editTip = Edit the selected entries. filterTip = Put filters on the contents of the selected entries. removeTip = Remove the selected entries. moveUpTip = Move the selected entries up in the list. moveDownTip = Move the selected entries down in the list. moveToLibrariesTip = Move to selected entries to the libraries. moveToProgramTip = Move to selected entries to the program. addFieldTip = Add a field to the specification. addMethodTip = Add a method to the specification. loadConfigurationTip = Optionally load an initial configuration. viewConfigurationTip = View the current configuration. saveConfigurationTip = Save the current configuration. loadStackTraceTip = Load a stack trace from a file. processTip = Start processing, based on the current configuration. reTraceTip = De-obfuscate the given stack trace. # # Progress messages and error messages. # warning = Warning outOfMemory = Out of memory outOfMemoryInfo = \n\ You should run the ProGuard GUI with a larger java heap size, \ with a command like\ \n\n\t\ java -Xms128m -Xmx192m -jar proguardgui.jar {0}\ \n\n\ or you can try running ProGuard from the command line. \ with a command like\ \n\n\t\ java -jar proguard.jar @{0} sampleConfigurationFileName = configuration.pro errorProcessing = Error during processing errorReTracing = Error during retracing