###############################################################################
# Copyright (c) 2005, 2011 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
StringMultiFix_AddMissingNonNls_description=Add missing '$NON-NLS$' tags
StringMultiFix_RemoveUnnecessaryNonNls_description=Remove unnecessary '$NON-NLS$' tags

UnusedCodeMultiFix_RemoveUnusedVariable_description=Remove unused local variables
UnusedCodeMultiFix_RemoveUnusedField_description=Remove unused private fields
UnusedCodeMultiFix_RemoveUnusedType_description=Remove unused private types
UnusedCodeCleanUp_RemoveUnusedCasts_description=Remove unnecessary casts
UnusedCodeMultiFix_RemoveUnusedConstructor_description=Remove unused private constructors
UnusedCodeMultiFix_RemoveUnusedMethod_description=Remove unused private methods
UnusedCodeMultiFix_RemoveUnusedImport_description=Remove unused imports
 
CodeStyleMultiFix_ChangeNonStaticAccess_description=Change non static accesses to static members using declaring type
ControlStatementsCleanUp_RemoveUnnecessaryBlocks_description=Remove unnecessary blocks
ControlStatementsCleanUp_RemoveUnnecessaryBlocksWithReturnOrThrow_description=Convert control statement bodies to block except for single return or throw statement

UnimplementedCodeCleanUp_AddUnimplementedMethods_description=Add unimplemented methods
UnimplementedCodeCleanUp_MakeAbstract_description=Make classes abstract

CodeStyleMultiFix_ChangeIndirectAccessToStaticToDirect=Change indirect accesses to static members to direct accesses (accesses through subtypes)
CodeStyleCleanUp_addDefaultSerialVersionId_description=Add missing serial version ID (default 1L)
CodeFormatFix_RemoveTrailingWhitespace_changeDescription=Remove trailing whitespace
CodeFormatCleanUp_RemoveTrailingNoEmpty_description=Remove trailing white spaces on non empty lines
CodeStyleCleanUp_QualifyNonStaticMethod_description=Add 'this' qualifier to unqualified method accesses
CodeStyleCleanUp_QualifyStaticMethod_description=Qualify accesses to static methods with declaring class
CodeStyleMultiFix_AddThisQualifier_description=Add 'this' qualifier to unqualified field accesses
CodeFormatCleanUp_RemoveTrailingAll_description=Remove trailing white spaces on all lines
CodeFormatCleanUp_correctIndentation_description=Correct indentation
CodeFormatFix_correctIndentation_changeGroupLabel=Correct indentation
CodeStyleMultiFix_QualifyAccessToStaticField=Qualify accesses to static fields with declaring class
CodeStyleCleanUp_removeFieldThis_description=Remove 'this' qualifier for non static field accesses
CodeStyleCleanUp_removeMethodThis_description=Remove 'this' qualifier for non static method accesses
CodeStyleMultiFix_ConvertSingleStatementInControlBodeyToBlock_description=Convert control statement bodies to block

Java50MultiFix_AddMissingDeprecated_description=Add missing '@Deprecated' annotations
Java50CleanUp_ConvertToEnhancedForLoop_description=Convert for loops to enhanced for loops
Java50CleanUp_AddTypeParameters_description=Add type arguments to raw type references
Java50MultiFix_AddMissingOverride_description=Add missing '@Override' annotations
Java50MultiFix_AddMissingOverride_description2=Add missing '@Override' annotations to implementations of interface methods
SerialVersionCleanUp_Generated_description=Add missing serial version ID (generated)

CleanUpRefactoringWizard_unknownProfile_Name=Unknown
CleanUpRefactoringWizard_use_configured_radio=&Use configured profiles
CleanUpRefactoringWizard_EmptySelection_message=Select at least one clean up.
CleanUpRefactoringWizard_Project_TableHeader=Project
CleanUpRefactoringWizard_Profile_TableHeader=Profile
CleanUpRefactoringWizard_Configure_Button=Confi&gure...
CleanUpRefactoringWizard_use_custom_radio=Use custom &profile
CleanUpRefactoringWizard_HideWizard_Link=Go to the <a>Clean Up</a> preference page to hide this wizard in the future
CleanUpRefactoringWizard_CleaningUp11_Title=Cleaning up 1 file in 1 project
CleanUpRefactoringWizard_CleaningUpN1_Title=Cleaning up {0} files in 1 project
CleanUpRefactoringWizard_CleaningUpNN_Title=Cleaning up {0} files in {1} projects
CleanUpRefactoringWizard_formatterException_errorMessage=The formatter threw an unhandled exception while formatting the preview.
CleanUpRefactoringWizard_WindowTitle=Clean Up
CleanUpRefactoringWizard_PageTitle=Clean Up
ExpressionsCleanUp_addParanoiac_description=Put expressions in parentheses
ExpressionsCleanUp_removeUnnecessary_description=Remove unnecessary parentheses
VariableDeclarationCleanUp_AddFinalField_description=Add final modifier to private fields
VariableDeclarationCleanUp_AddFinalParameters_description=Add final modifier to method parameters
VariableDeclarationCleanUp_AddFinalLocals_description=Add final modifier to local variables

CleanUpRefactoringWizard_CleanUpConfigurationPage_title=Clean Up Configuration
CleanUpRefactoringWizard_UnmanagedProfileWithName_Name=Unmanaged profile ''{0}''
CleanUpRefactoringWizard_ConfigureCustomProfile_button=Confi&gure...
CleanUpRefactoringWizard_XofYCleanUpsSelected_message={0} of {1} clean ups selected
CleanUpRefactoringWizard_CustomCleanUpsDialog_title=Custom Clean Ups

CodeFormatFix_description=Format code
CodeFormatCleanUp_description=Format source code
ImportsCleanUp_OrganizeImports_Description=Organize imports
SortMembersCleanUp_AllMembers_description=Sort all members
SortMembersCleanUp_Excluding_description=Sort members excluding fields, enum constants, and initializers
SortMembersCleanUp_RemoveMarkersWarning0=The file ''{0}'' in project ''{1}'' contains markers which may be removed by Sort Members
