# 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
