blob: 12b6f28c0136f5c5d8ba411b1259b34a86b75c1b [file] [log] [blame]
# ProGuard -- shrinking, optimization, and obfuscation of Java class files.
# Copyright (c) 2002-2014 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 5.1
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 = \
<html>ProGuard is a free class file shrinker, optimizer, obfuscator, and preverifier.\
<p>\
With this GUI, you can create, load, modify, and save ProGuard configurations.\
<br>\
You can then process your code right away, or you can run ProGuard from the \
command line using your saved configuration.\
<p>\
With the ReTrace part of this GUI you can de-obfuscate your stack traces.\
<p>\
ProGuard and ReTrace are written and maintained by Eric Lafortune.\
<p>\
Official site at Sourceforge: \
<a href="http://proguard.sourceforge.net/\">http://proguard.sourceforge.net/</a>\
<br>\
Professional support by Saikoa: \
<a href="http://www.saikoa.com/\">http://www.saikoa.com/</a>\
<p>\
Distributed under the GNU General Public License.\
<br>\
Copyright &copy; 2002-2014.</html>
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, aars, wars, ears, zips, apks, and directories
libraryJars = Library jars, aars, wars, ears, zips, apks, and directories
shrink = Shrink
printUsage = Print usage
optimize = Optimize
allowAccessModification = Allow access modification
mergeInterfacesAggressively = Merge interfaces aggressively
optimizations = Optimizations
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
keepPackageNames = Keep package names
flattenPackageHierarchy = Flatten package hierarchy
repackageClasses = Repackage classes
useMixedCaseClassNames = Use mixed-case class names
keepAttributes = Keep attributes
keepParameterNames = Keep parameter names
renameSourceFileAttribute = Rename SourceFile attribute
adaptClassStrings = Adapt class strings
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 erroneous input
ignoreWarnings = Ignore warnings about possibly erroneous input
skipNonPublicLibraryClasses = Skip non-public library classes
skipNonPublicLibraryClassMembers = Skip non-public library class members
keepDirectories = Keep directories
forceProcessing = Force processing
target = Target
targets = 1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8
printSeeds = Print seeds
printConfiguration = Print configuration
dump = Print class files
mappingFile = Mapping file
obfuscatedStackTrace = Obfuscated stack trace
programJarsTip = \
<html>The input jars (aars, wars, ears, zips, apks, directories), followed by<br>\
their corresponding output jars (wars, ears, zips, apks, directories).</html>
libraryJarsTip = \
<html>The library jars (aars, 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>
optimizationsTip = \
Specify the types of optimizations to be performed.
optimizationsFilterTip = \
A filter for the names of the optimizations to be performed.
optimizationsSelectTip = \
Select from the currently available optimizations...
optimizationPassesTip = \
Specify 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>
keepPackageNamesTip = \
Keep the specified package names from being obfuscated.
packageNamesTip = \
<html>An optional comma-separated list of package names,<br>\
e.g. <code>myapplication,mylibrary.**</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>\
The negator <code>!</code> is also supported.</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 optional package name.
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>An optional 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>
keepParameterNamesTip = \
<html>Keep parameter names and types in "LocalVariable*Table" attributes<br>\
in methods that are not obfuscated.</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.
adaptClassStringsTip = \
<html>Adapt string constants in the specified classes, based<br>\
on the obfuscated names of corresponding classes.</html>
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 specified 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>\
The negator <code>!</code> is also supported.</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.
noteFilterTip = \
A filter matching classes for which no notes should be printed.
warnTip = \
<html>Print out warnings about possibly erroneous input.<br>\
<i>Only unset this option if you know what you're doing!</i></html>
warnFilterTip = \
A filter matching classes for which no warnings should be printed.
ignoreWarningsTip = \
<html>Ignore any warnings about possibly erroneous 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>
keepDirectoriesTip = \
Keep the specified directories in the output jars, wars, ears, zips, apks, or directories.
directoriesTip = \
<html>A filter on directory 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>\
The negator <code>!</code> is also supported.</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
alsoKeepTitle = Also keep
keepDescriptorClasses = Keep descriptor classes
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>
alsoKeepTitleTip = \
<html>Optionally keeping more classes.<br>\
<i>These are advanced options.</i></html>
keepDescriptorClassesTip = \
<html>Automatically keep the classes in the descriptors of matching<br>\
fields and methods. Mostly useful for keeping their names.</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.
#
specifyClasses = Specify classes and class members...
specifyFields = Specify fields...
specifyMethods = Specify methods...
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>\
The negator <code>!</code> is also supported.</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>
#
# Titles and labels corresponding to optimization options.
#
selectOptimizations = Select optimizations...
field = Field
method = Method
code = Code
class_marking_finalTip = \
Mark classes as final, whenever possible.
class_merging_verticalTip = \
Merge classes vertically in the class hierarchy, whenever possible.
class_merging_horizontalTip = \
Merge classes horizontally in the class hierarchy, whenever possible.
field_removal_writeonlyTip = \
Remove write-only fields.
field_marking_privateTip = \
Mark fields as private, whenever possible.
field_propagation_valueTip = \
Propagate the values of fields across methods.
method_marking_privateTip = \
Mark methods as private, whenever possible (devirtualization).
method_marking_staticTip = \
Mark methods as static, whenever possible (devirtualization).
method_marking_finalTip = \
Mark methods as final, whenever possible.
method_removal_parameterTip = \
Remove unused method parameters.
method_propagation_parameterTip = \
Propagate the values of method parameters from method invocations to \
the invoked methods.
method_propagation_returnvalueTip = \
Propagate the values of method return values from methods to their \
invocations.
method_inlining_shortTip = \
Inline short methods.
method_inlining_uniqueTip = \
Inline methods that are only called once.
method_inlining_tailrecursionTip = \
Simplify tail recursion calls, whenever possible.
code_mergingTip = \
Merge identical blocks of code by modifying branch targets.
code_simplification_variableTip = \
Perform peephole optimizations for variable loading and storing.
code_simplification_arithmeticTip = \
Perform peephole optimizations for arithmetic instructions.
code_simplification_castTip = \
Perform peephole optimizations for casting operations.
code_simplification_fieldTip = \
Perform peephole optimizations for field loading and storing.
code_simplification_branchTip = \
Perform peephole optimizations for branch instructions.
code_simplification_stringTip = \
Perform peephole optimizations for constant strings.
code_simplification_advancedTip = \
Simplify code based on control flow analysis and data flow analysis.
code_removal_advancedTip = \
Remove dead code based on control flow analysis and data flow analysis.
code_removal_simpleTip = \
Remove dead code based on a simple control flow analysis.
code_removal_variableTip = \
Remove unused variables from the local variable frame.
code_removal_exceptionTip = \
Remove exceptions with empty try blocks.
code_allocation_variableTip = \
Optimize variable allocation on the local variable frame.
#
# 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}]
jarExtensions = *.jar, *.aar, *.war, *.ear, *.zip, *.apk, *.ap_ (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
apkNameFilter = Apk name filter
jarNameFilter = Jar name filter
aarNameFilter = Aar 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.
apkNameFilterTip = A filter on apk file names.
jarNameFilterTip = A filter on jar file names.
aarNameFilterTip = A filter on aar 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
selectAll = Select all
selectNone = Select none
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...
select = Select...
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, aar, war, ear, zip, apk, or directory.
addOutputTip = Add an output jar, aar, war, ear, zip, apk, 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