• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ProGuard -- shrinking, optimization, and obfuscation of Java class files.
2# Copyright (c) 2002-2009 Eric Lafortune (eric@graphics.cornell.edu)
3
4#
5# Tab names.
6#
7proGuardTab     = ProGuard
8inputOutputTab  = Input/Output
9shrinkingTab    = Shrinking
10obfuscationTab  = Obfuscation
11optimizationTab = Optimization
12informationTab  = Information
13processTab      = Process
14reTraceTab      = ReTrace
15
16#
17# Splash text.
18#
19developed       = Developed by Eric Lafortune
20shrinking       = Shrinking
21optimization    = Optimization
22obfuscation     = Obfuscation
23preverification = Preverification
24
25#
26# Panel titles.
27#
28welcome                       = Welcome to ProGuard, version 4.4
29options                       = Options
30keepAdditional                = Keep additional classes and class members
31keepNamesAdditional           = Keep additional class names and class member names
32assumeNoSideEffectsAdditional = Assume no side effects for additional methods
33whyAreYouKeeping              = Why are you keeping
34preverificationAndTargeting   = Preverification and targeting
35consistencyAndCorrectness     = Consistency and correctness
36processingConsole             = Processing console
37reTraceSettings               = ReTrace settings
38deobfuscatedStackTrace        = De-obfuscated stack trace
39
40keepAdditionalTip = \
41  If required, keep additional classes, fields, and methods as entry points.
42keepNamesAdditionalTip = \
43  If required, keep the names of additional classes, fields, and methods.
44assumeNoSideEffectsAdditionalTip = \
45  <html>Optionally specify additional methods that don't have any side effects.<br>\
46  <i>Only add entries if you know what you're doing!</i></html>
47whyAreYouKeepingTip = \
48  Ask ProGuard why it is keeping certain classes, fields, or methods.
49
50#
51# Info texts.
52#
53proGuardInfo = \
54  ProGuard is a free class file shrinker, optimizer, obfuscator, and preverifier.\
55  \n\n\
56  With this GUI, you can create, load, modify, and save ProGuard configurations. \
57  \n\
58  You can then process your code right away, or you can run ProGuard from the \
59  command line using your saved configuration. \
60  \n\n\
61  With the ReTrace part of this GUI you can de-obfuscate your stack traces.\
62  \n\n\
63  ProGuard and ReTrace are written and maintained by Eric Lafortune.\
64  \n\n\
65  Distributed under the GNU General Public License.\
66  \n\
67  Copyright (c) 2002-2009.
68
69processingInfo = \
70  You can now start processing your code, \
71  or you can run ProGuard from the command line using your saved configuration.
72
73reTraceInfo = \
74  If you had ProGuard write out a mapping file, \
75  you can de-obfuscate your obfuscated stack traces with ReTrace!\
76  \n\n\
77  You can load an obfuscated stack trace from a file, \
78  or you can paste it straight into the text area above.
79
80#
81# Titles and labels corresponding to common ProGuard options.
82#
83programJars = Program jars, wars, ears, zips, and directories
84libraryJars = Library jars, wars, ears, zips, and directories
85
86shrink                           = Shrink
87printUsage                       = Print usage
88
89optimize                         = Optimize
90allowAccessModification          = Allow access modification
91mergeInterfacesAggressively      = Merge interfaces aggressively
92optimizations                    = Optimizations
93optimizationPasses               = Optimization passes
94
95obfuscate                        = Obfuscate
96printMapping                     = Print mapping
97applyMapping                     = Apply mapping
98obfuscationDictionary            = Obfuscation dictionary
99classObfuscationDictionary       = Class obfuscation dictionary
100packageObfuscationDictionary     = Package obfuscation dictionary
101overloadAggressively             = Overload aggressively
102useUniqueClassMemberNames        = Use unique class member names
103keepPackageNames                 = Keep package names
104flattenPackageHierarchy          = Flatten package hierarchy
105repackageClasses                 = Repackage classes
106useMixedCaseClassNames           = Use mixed-case class names
107keepAttributes                   = Keep attributes
108renameSourceFileAttribute        = Rename SourceFile attribute
109adaptClassStrings                = Adapt class strings
110adaptResourceFileNames           = Adapt resource file names
111adaptResourceFileContents        = Adapt resource file contents
112
113preverify                        = Preverify
114microEdition                     = Micro Edition
115
116verbose                          = Verbose
117note                             = Note potential mistakes in the configuration
118warn                             = Warn about possibly erronous input
119ignoreWarnings                   = Ignore warnings about possibly erronous input
120skipNonPublicLibraryClasses      = Skip non-public library classes
121skipNonPublicLibraryClassMembers = Skip non-public library class members
122keepDirectories                  = Keep directories
123forceProcessing                  = Force processing
124target                           = Target
125targets                          = 1.0,1.1,1.2,1.3,1.4,1.5,1.6
126printSeeds                       = Print seeds
127printConfiguration               = Print configuration
128dump                             = Print class files
129
130mappingFile                      = Mapping file
131obfuscatedStackTrace             = Obfuscated stack trace
132
133programJarsTip = \
134  <html>The input jars (wars, ears, zips, directories), followed by<br>\
135  their corresponding output jars (wars, ears, zips, directories).</html>
136libraryJarsTip = \
137  <html>The library jars (wars, ears, zips, directories), on which the program jars depend.<br>\
138  The library jars are required for processing, but they are not copied to the output.</html>
139
140shrinkTip = \
141  Remove unused classes, fields, and methods from the output.
142printUsageTip = \
143  Print out the list of unused classes, fields, and methods.
144
145optimizeTip = \
146  Optimize the bytecode of the processed classes.
147allowAccessModificationTip = \
148  Allow the optimization step to modify the access modifiers of classes, fields, and methods.
149mergeInterfacesAggressivelyTip = \
150  <html>Allow interfaces to be merged, even if their implementations don't implement all<br>\
151  interface methods.  This is not allowed in the Java language, but it is allowed in bytecode.</html>
152optimizationsTip = \
153  Specify the types of optimizations to be performed.
154optimizationsFilterTip = \
155  A filter for the names of the optimizations to be performed.
156optimizationsSelectTip = \
157  Select from the currently available optimizations...
158optimizationPassesTip = \
159  Specify the number of optimization passes to be performed.
160
161obfuscateTip = \
162  Obfuscate the names of the processed classes, fields, and methods.
163printMappingTip = \
164  Print out the obfuscation mapping of original names to obfuscated names.
165applyMappingTip = \
166  Apply the given mapping of original names to obfuscated names.
167obfuscationDictionaryTip = \
168  Use the words in the given file for obfuscating field names and method names.
169classObfuscationDictionaryTip = \
170  Use the words in the given file for obfuscating class names.
171packageObfuscationDictionaryTip = \
172  Use the words in the given file for obfuscating package names.
173overloadAggressivelyTip = \
174  <html>Allow fields and methods to get the same obfuscated names, even if only their types or<br>\
175  return types differ. This is not allowed in the Java language, but it is allowed in bytecode.</html>
176useUniqueClassMemberNamesTip = \
177  <html>Make sure fields and methods get the same obfuscation mapping across classes, even<br>\
178  if they are unrelated. This is advisable if the output is to be obfuscated incrementally.</html>
179keepPackageNamesTip = \
180  Keep the specified package names from being obfuscated.
181packageNamesTip = \
182  <html>An optional comma-separated list of package names,<br>\
183  e.g. <code>myapplication,mylibrary.**</code><br>\
184  Possible wildcards:\
185  <ul>\
186  <li><code>?</code> for any single character, except the package separator.\
187  <li><code>*</code> for any number of any characters, except the package separator.\
188  <li><code>**</code> for any number of any characters.\
189  </ul>\
190  The negator <code>!</code> is also supported.</html>
191flattenPackageHierarchyTip = \
192  Move all packages that are renamed into the given parent package.
193repackageClassesTip = \
194  Move all classes that are renamed into the given package.
195packageTip = \
196  The optional package name.
197useMixedCaseClassNamesTip = \
198  <html>Generate mixed-case obfucated class names. This will complicate unpacking<br>\
199  the resulting jars on case-insensitive file systems, should that be necessary.</html>
200keepAttributesTip = \
201  Keep the specified optional class file attributes.
202attributesTip = \
203  <html>An optional comma-separated list of class file attributes.\
204  <ul>\
205  <li>"Exceptions,Innerclasses, Signature" are necessary if the output is to be used as a library.\
206  <li>"Deprecated" is optional if the output is to be used as a library.\
207  <li>"LocalVariable*Table" can be useful for debugging.\
208  <li>"Sourcefile,LineNumberTable" are necessary for generating stack traces.\
209  <li>"*Annotations*" is necessary for preserving annotations.\
210  </ul>\
211  The wildcard <code>*</code> and the negator <code>!</code> are allowed.</html>
212renameSourceFileAttributeTip = \
213  <html>Put the given string in the "SourceFile" attribute of the processed class files.<br>\
214  It will appear as the file name of the classes in stack traces.</html>
215sourceFileAttributeTip = \
216  The replacement "SourceFile" string.
217adaptClassStringsTip = \
218  <html>Adapt string constants in the specified classes, based<br>\
219  on the obfuscated names of corresponding classes.</html>
220adaptResourceFileNamesTip = \
221  <html>Rename the specified resource files, based on the<br>\
222  obfuscated names of the corresponding class files.</html>
223adaptResourceFileContentsTip = \
224  <html>Adapt the contents of the specified resource files, based<br>\
225  on the obfuscated names of the processed classes.</html>
226fileNameFilterTip = \
227  <html>A filter on file names,<br>\
228  e.g. <code>mydirectory1/**,mydirectory2/**</code><br>\
229  Possible wildcards:\
230  <ul>\
231  <li><code>?</code> for any single character, except the directory separator.\
232  <li><code>*</code> for any number of any characters, except the directory separator.\
233  <li><code>**</code> for any number of any characters.\
234  </ul>\
235  The negator <code>!</code> is also supported.</html>
236
237preverifyTip = \
238  Preverify the processed classes, for Java Micro Edition or for Java 6.
239microEditionTip = \
240  Target Java Micro Edition.
241
242verboseTip = \
243  Print out verbose messages while processing.
244noteTip = \
245  Print out notes about special or unusual input.
246noteFilterTip = \
247  A filter matching classes for which no notes should be printed.
248warnTip = \
249  <html>Print out warnings about possibly erronous input.<br>\
250  <i>Only unset this option if you know what you're doing!</i></html>
251warnFilterTip = \
252  A filter matching classes for which no warnings should be printed.
253ignoreWarningsTip = \
254  <html>Ignore any warnings about possibly erronous input.<br>\
255  <i>Only set this option if you know what you're doing!</i></html>
256skipNonPublicLibraryClassesTip = \
257  <html>Skip reading non-public library classes, for efficiency.<br>\
258  You may have to unset this option if ProGuard complains about missing classes.</html>
259skipNonPublicLibraryClassMembersTip = \
260  <html>Skip reading non-public library fields and methods, for efficiency.<br>\
261  You may have to unset this option if ProGuard complains about missing class members.</html>
262keepDirectoriesTip = \
263  Keep the specified directories in the output jars, wars, ears, zips, or directories.
264directoriesTip = \
265  <html>A filter on directory names,<br>\
266  e.g. <code>mydirectory1,mydirectory2/**</code><br>\
267  Possible wildcards:\
268  <ul>\
269  <li><code>?</code> for any single character, except the directory separator.\
270  <li><code>*</code> for any number of any characters, except the directory separator.\
271  <li><code>**</code> for any number of any characters.\
272  </ul>\
273  The negator <code>!</code> is also supported.</html>
274forceProcessingTip = \
275  Always process the input, even if the output seems up to date.
276targetTip = \
277  Target the specified version of Java.
278printSeedsTip = \
279  Print out the list of kept classes, fields, and methods.
280printConfigurationTip = \
281  Print out the configuration.
282dumpTip = \
283  Print out the internal structure of the processed class files.
284
285mappingFileTip = \
286  The file containing the mapping of original names to obfuscated names.
287obfuscatedStackTraceTip = \
288  A stack trace produced by previously obfuscated code.
289
290#
291# Titles and labels corresponding to ProGuard keep options.
292#
293keepTitle = Keep
294
295keep                   = Keep classes and class members
296keepClassMembers       = Keep class members only
297keepClassesWithMembers = Keep classes and class members, if members are present
298
299allowTitle = Allow
300
301allowShrinking    = Allow shrinking
302allowOptimization = Allow optimization
303allowObfuscation  = Allow obfuscation
304
305keepTitleTip = Keep the specified classes and/or their fields and methods.
306
307keepTip = \
308  <html>Keep the specified classes, fields, and methods as entry points.<br>\
309  This is the most common option.</html>
310keepClassMembersTip = \
311  Only keep the specified fields and methods as entry points.
312keepClassesWithMembersTip = \
313  <html>Keep the specified classes, fields, and methods,<br>\
314  on the condition that the fields and methods are present.</html>
315
316allowTitleTip = \
317  <html>Optionally relax keeping the specified classes, fields, and methods.<br>\
318  <i>These are advanced options.</i></html>
319
320allowShrinkingTip = \
321  Remove the specified classes, fields, and methods anyway, if they are not used.
322allowOptimizationTip = \
323  <html>Optimize the specified classes, fields, and methods as entry points anyway.<br>\
324  <i>Only set this option if you know what you're doing!</i></html>
325allowObfuscationTip = \
326  <html>Obfuscate the names of the specified classes, fields, and methods anyway.<br>\
327  <i>Only set this option if you know what you're doing!</i></html>
328
329#
330# Further keep titles and labels.
331#
332specifyClasses = Specify classes and class members...
333specifyFields  = Specify fields...
334specifyMethods = Specify methods...
335
336comments                    = Comments
337access                      = Access
338required                    = Required
339not                         = Not
340dontCare                    = Don't care
341annotation                  = Annotation
342class                       = Class
343extendsImplementsAnnotation = Extends/implements class with annotation
344extendsImplementsClass      = Extends/implements class
345classMembers                = Class members
346
347extensionsOf = Extensions of
348specificationNumber = Specification #
349
350fieldType     = Field type
351returnType    = Return type
352name          = Name
353argumentTypes = Argument types
354
355commentsTip = \
356  Optionally add a comment for this option in the configuration file.
357accessTip = \
358  <html>Optionally place constraints on the access modifiers of this element.<br>\
359  E.g. only match public elements.</html>
360requiredTip = \
361  The access modifier has to be set.
362notTip = \
363  The access modifier must not be set.
364dontCareTip = \
365  The access modifier is irrelevant.
366annotationTip = \
367  <html>Optionally require the given annotation to be present on this element.<br>\
368  E.g. only match elements that have an annotation <code>myPackage.MyAnnotation</code>.<br>\
369  <i>This is an advanced option.</i></html>
370classTip = \
371  The name of the class or interface.
372extendsImplementsAnnotationTip = \
373  <html>Optionally require the given annotation to be present on the<br>\
374  extended or implemented class or interface.<br>\
375  E.g. only match classes that extend a class that has an annotation<br>\
376  <code>myPackage.MyAnnotation</code>.<br>\
377  <i>This is an advanced option.</i></html>
378extendsImplementsClassTip = \
379  <html>Optionally require the class to implement or extend the given class or interface.<br>\
380  E.g. only match classes that implement an interface <code>myPackage.MyInterface</code>.</html>
381classMembersTip = \
382  <html>Optionally keep fields and methods as entry points in the matching class or classes.<br>\
383  E.g. keep all public '<code>get*</code>' methods as entry points.</html>
384
385fieldTypeTip     = The field type.
386returnTypeTip    = The method return type, if any.
387nameTip          = The name.
388argumentTypesTip = The method argument types, if any.
389
390classNameTip = \
391  <html>The class name, e.g. <code>myPackage.MyClass</code><br>\
392  Possible wildcards:\
393  <ul>\
394  <li><code>?</code> for any single character, except the package separator.\
395  <li><code>*</code> for any number of any characters, except the package separator.\
396  <li><code>**</code> for any number of any characters.\
397  </ul></html>
398classNamesTip = \
399  <html>A regular expression to further constrain the class names,<br>\
400  e.g. <code>myPackage1.MyClass,myPackage2.**</code><br>\
401  Possible wildcards:\
402  <ul>\
403  <li><code>?</code> for any single character, except the package separator.\
404  <li><code>*</code> for any number of any characters, except the package separator.\
405  <li><code>**</code> for any number of any characters.\
406  </ul>\
407  The negator <code>!</code> is also supported.</html>
408typeTip = \
409  <html>The type, e.g. <code>int</code>, or <code>java.lang.String[]</code><br>\
410  Possible wildcards:\
411  <ul>\
412  <li><code>%</code> for any primitive type.\
413  <li><code>?</code> for any single character, except the package separator.\
414  <li><code>*</code> for any number of any characters, except the package separator.\
415  <li><code>**</code> for any number of any characters.\
416  <li><code>***</code> (or empty) for any type.\
417  </ul></html>
418fieldNameTip = \
419  <html>The field name, e.g. <code>myField</code><br>\
420  Possible wildcards:\
421  <ul>\
422  <li><code>?</code> for any single character.\
423  <li><code>*</code> for any number of any characters.\
424  </ul></html>
425methodNameTip = \
426  <html>The method name, e.g. <code>myMethod</code><br>\
427  Possible wildcards:\
428  <ul>\
429  <li><code>?</code> for any single character.\
430  <li><code>*</code> for any number of any characters.\
431  </ul></html>
432argumentTypes2Tip = \
433  <html>The comma-separated list of argument types,<br>\
434  e.g. <code>java.lang.String[],int,boolean</code><br>\
435  Possible wildcards:\
436  <ul>\
437  <li><code>%</code> for any primitive type.\
438  <li><code>?</code> for any single character, except the package separator.\
439  <li><code>*</code> for any number of any characters, except the package separator.\
440  <li><code>**</code> for any number of any characters.\
441  <li><code>***</code> for any type.\
442  <li><code>...</code> for any number of any arguments.\
443  </ul></html>
444
445#
446# Titles and labels corresponding to optimization options.
447#
448selectOptimizations = Select optimizations...
449
450field  = Field
451method = Method
452code   = Code
453
454class_marking_finalTip = \
455  Mark classes as final, whenever possible.
456class_merging_verticalTip = \
457  Merge classes vertically in the class hierarchy, whenever possible.
458class_merging_horizontalTip = \
459  Merge classes horizontally in the class hierarchy, whenever possible.
460field_removal_writeonlyTip = \
461  Remove write-only fields.
462field_marking_privateTip = \
463  Mark fields as private, whenever possible.
464field_propagation_valueTip = \
465  Propagate the values of fields across methods.
466method_marking_privateTip = \
467  Mark methods as private, whenever possible (devirtualization).
468method_marking_staticTip = \
469  Mark methods as static, whenever possible (devirtualization).
470method_marking_finalTip = \
471  Mark methods as final, whenever possible.
472method_removal_parameterTip = \
473  Remove unused method parameters.
474method_propagation_parameterTip = \
475  Propagate the values of method parameters from method invocations to \
476  the invoked methods.
477method_propagation_returnvalueTip = \
478  Propagate the values of method return values from methods to their \
479  invocations.
480method_inlining_shortTip = \
481  Inline short methods.
482method_inlining_uniqueTip = \
483  Inline methods that are only called once.
484method_inlining_tailrecursionTip = \
485  Simplify tail recursion calls, whenever possible.
486code_mergingTip = \
487  Merge identical blocks of code by modifying branch targets.
488code_simplification_variableTip = \
489  Perform peephole optimizations for variable loading and storing.
490code_simplification_arithmeticTip = \
491  Perform peephole optimizations for arithmetic instructions.
492code_simplification_castTip = \
493  Perform peephole optimizations for casting operations.
494code_simplification_fieldTip = \
495  Perform peephole optimizations for field loading and storing.
496code_simplification_branchTip = \
497  Perform peephole optimizations for branch instructions.
498code_simplification_advancedTip = \
499  Simplify code based on control flow analysis and data flow analysis.
500code_removal_advancedTip = \
501  Remove dead code based on control flow analysis and data flow analysis.
502code_removal_simpleTip = \
503  Remove dead code based on a simple control flow analysis.
504code_removal_variableTip = \
505  Remove unused variables from the local variable frame.
506code_removal_exceptionTip = \
507  Remove exceptions with empty catch blocks.
508code_allocation_variableTip = \
509  Optimize variable allocation on the local variable frame.
510
511
512#
513# File selection titles.
514#
515selectConfigurationFile         = Select a configuration file...
516saveConfigurationFile           = Save configuration...
517selectUsageFile                 = Select a usage output file...
518selectPrintMappingFile          = Select an output mapping file...
519selectApplyMappingFile          = Select an input mapping file...
520selectObfuscationDictionaryFile = Select an obfuscation dictionary...
521selectSeedsFile                 = Select a seeds output file...
522selectDumpFile                  = Select a class dump file...
523selectStackTraceFile            = Select a stack trace file...
524
525cantOpenConfigurationFile  = Can''t open the configuration file [{0}]
526cantParseConfigurationFile = Can''t parse the configuration file [{0}]
527cantSaveConfigurationFile  = Can''t save the configuration file [{0}]
528cantOpenStackTraceFile     = Can''t open the stack trace file [{0}]
529
530jarWarEarZipExtensions = *.jar, *.war, *.ear, *.zip (archives and directories)
531proExtension           = *.pro (ProGuard configurations)
532
533addJars     = Add one or more jars or directories...
534chooseJars  = Choose different jars or directories...
535enterFilter = Optionally filter the file names contained in the selected entries.
536
537filters       = Filters
538nameFilter    = File name filter
539jarNameFilter = Jar name filter
540warNameFilter = War name filter
541earNameFilter = Ear name filter
542zipNameFilter = Zip name filter
543
544outputFileTip = The optional output file.
545inputFileTip  = The input file.
546
547nameFilterTip    = A filter on plain class file names and resource file names.
548jarNameFilterTip = A filter on jar file names.
549warNameFilterTip = A filter on war file names.
550earNameFilterTip = A filter on ear file names.
551zipNameFilterTip = A filter on zip file names.
552
553#
554# Simple button texts.
555#
556previous   = Previous
557next       = Next
558browse     = Browse...
559advanced   = Advanced options
560basic      = Basic options
561selectAll  = Select all
562selectNone = Select none
563ok         = Ok
564cancel     = Cancel
565
566add        = Add...
567addInput   = Add input...
568addOutput  = Add output...
569edit       = Edit...
570filter     = Filter...
571remove     = Remove
572moveUp     = Move up
573moveDown   = Move down
574
575moveToLibraries = Move to libraries
576moveToProgram   = Move to program
577
578addField  = Add field...
579addMethod = Add method...
580
581select = Select...
582
583loadConfiguration = Load configuration...
584viewConfiguration = View configuration
585saveConfiguration = Save configuration...
586loadStackTrace    = Load stack trace...
587process           = Process!
588reTrace           = ReTrace!
589
590advancedTip  = Toggle between showing basic options and advanced options.
591
592addInputTip  = Add an input jar, war, ear, zip, or directory.
593addOutputTip = Add an output jar, war, ear, zip, or directory.
594addTip       = Add an entry.
595editTip      = Edit the selected entries.
596filterTip    = Put filters on the contents of the selected entries.
597removeTip    = Remove the selected entries.
598moveUpTip    = Move the selected entries up in the list.
599moveDownTip  = Move the selected entries down in the list.
600
601moveToLibrariesTip = Move to selected entries to the libraries.
602moveToProgramTip   = Move to selected entries to the program.
603
604addFieldTip  = Add a field to the specification.
605addMethodTip = Add a method to the specification.
606
607loadConfigurationTip = Optionally load an initial configuration.
608viewConfigurationTip = View the current configuration.
609saveConfigurationTip = Save the current configuration.
610loadStackTraceTip    = Load a stack trace from a file.
611processTip           = Start processing, based on the current configuration.
612reTraceTip           = De-obfuscate the given stack trace.
613
614#
615# Progress messages and error messages.
616#
617warning         = Warning
618outOfMemory     = Out of memory
619outOfMemoryInfo = \n\
620  You should run the ProGuard GUI with a larger java heap size, \
621  with a command like\
622  \n\n\t\
623  java -Xms128m -Xmx192m -jar proguardgui.jar {0}\
624  \n\n\
625  or you can try running ProGuard from the command line. \
626  with a command like\
627  \n\n\t\
628  java -jar proguard.jar @{0}
629sampleConfigurationFileName = configuration.pro
630errorProcessing = Error during processing
631errorReTracing  = Error during retracing
632