###############################################################################
# Copyright (c) 2005, 2006 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
###############################################################################
CleanUpRefactoring_Refactoring_name=Clean Up
CleanUpRefactoring_Initialize_message=Initialize Clean Ups for project ''{0}''
CleanUpRefactoring_ProcessingCompilationUnit_message=Processing {0} ({1} of {2})

UnusedCodeFix_RemoveFieldOrLocal_description=Remove declaration of ''{0}'' and assignments without possible side effects
UnusedCodeFix_RemoveUnusedConstructor_description=Remove unused private constructor
UnusedCodeFix_RemoveUnusedPrivateMethod_description=Remove unused private method
UnusedCodeFix_RemoveUnusedVariabl_description=Remove unused local variable
UnusedCodeFix_RemoveMethod_description=Remove method ''{0}''
UnusedCodeFix_RemoveConstructor_description=Remove constructor ''{0}''
UnusedCodeFix_RemoveUnusedType_description=Remove unused private type
UnusedCodeFix_RemoveUnusedField_description=Remove unused private field
UnusedCodeFix_RemoveType_description=Remove type ''{0}''
UnusedCodeFix_RemoveCast_description=Remove cast
UnusedCodeFix_RemoveImport_description=Remove unused import

Java50Fix_AddMissingAnnotation_description=Add missing {0} annotation
Java50Fix_SerialVersion_default_description=Add default serial version ID
Java50Fix_AddTypeParameters_description=Add type parameters to ''{0}''
Java50Fix_SerialVersion_hash_description=Add generated serial version ID
Java50Fix_ConvertToEnhancedForLoop_description=Convert to enhanced for loop
Java50Fix_ParametrizeTypeReference_description=Parameterize Raw Type Reference
Java50Fix_SerialVersionNotFound_exception_description=Serial Version Clean Up: Could not calculate id for class ''{0}''
Java50Fix_SerialVersion_CalculateHierarchy_description=Calculate Type Hierarchy for {0}
Java50Fix_InitializeSerialVersionId_subtask_description=Initialize Add Serial Version ID for project ''{0}'' (''{1}'')
Java50Fix_AddDeprecated_description=Add missing @Deprecated annotation
Java50Fix_AddOverride_description=Add missing @Override annotation
StringFix_AddRemoveNonNls_description=Add/Remove '$NON-NLS$' tag
StringFix_AddNonNls_description=Add missing '$NON-NLS$' tag
StringFix_RemoveNonNls_description=Remove unnecessary '$NON-NLS$' tag

CodeStyleFix_ChangeAccessToStatic_description=Change access to static using ''{0}'' (declaring type)
CodeStyleFix_ChangeAccessUsingDeclaring_description=Change access to static using declaring type
CodeStyleFix_ChangeControlToBlock_description=Change control statement body to block
CodeStyleFix_ChangeStaticAccess_description=Change static access to ''{0}''
CodeStyleFix_ChangeIfToBlock_desription=Change 'if' statement body to block
CodeStyleFix_ChangeElseToBlock_description=Change 'else' statement body to block
CodeStyleFix_AddThisQualifier_description=Add 'this' qualifier
CodeStyleFix_QualifyWithThis_description=Qualify ''{0}'' with ''{1}''
CodeStyleFix_QualifyMethodWithThis_description=Qualify method call with 'this'
CodeStyleFix_QualifyMethodWithDeclClass_description=Qualify method call with declaring type
CodeStyleFix_QualifyFieldWithThis_description=Qualify field access with 'this'
CodeStyleFix_QualifyFieldWithDeclClass_description=Qualify field access with declaring type
CodeStyleFix_removeThis_groupDescription=Remove 'this' qualifier
CodeStyleFix_ChangeAccessToStaticUsingInstanceType_description=Change access to static using ''{0}'' (instance type)
Java50Fix_SerialVersionNotInitialized_exception_description=Serial Version Clean Up: Context is not initialized
SerialVersion_group_description=Add serial version Id
ControlStatementsFix_removeIfBlock_proposalDescription=Change 'if' block to statement
ControlStatementsFix_removeElseBlock_proposalDescription=Change 'else' block to statement
ControlStatementsFix_removeIfElseBlock_proposalDescription=Change 'if-else' blocks to statements
ControlStatementsFix_removeBrackets_proposalDescription=Remove block from body statement
ExpressionsFix_addParanoiacParenthesis_description=Add paranoiac parenthesis for conditions
ExpressionsFix_removeUnnecessaryParenthesis_description=Remove extra parenthesis
VariableDeclarationFix_changeModifierOfUnknownToFinal_description=Change modifier to final
VariableDeclarationFix_ChangeMidifiersToFinalWherPossible_description=Change modifiers to final where possible
