###############################################################################
# Copyright (c) 2005, 2020 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Stephan Herrmann <stephan@cs.tu-berlin.de> - [quick fix] Add quick fixes for null annotations - https://bugs.eclipse.org/337977
###############################################################################
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)
CodeStyleCleanUp_AtomicObject_description=Use atomic objects as reference
CodeStyleCleanUp_AtomicObject_declaration=Use atomic objects declaration
CodeStyleCleanUp_AtomicObject_usage=Use atomic objects usage
CodeStyleCleanUp_PullUpAssignment_description=Pull up assignment
CodeStyleCleanUp_ElseIf_description=Combine nested 'if' statement in 'else' block to 'else if'
CodeStyleCleanUp_numberSuffix_description=Use uppercase for long literal suffix
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_ConvertSingleStatementInControlBodyToBlock_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_ConvertLoopOnlyIfLoopVarUsed_description=Convert to enhanced 'for' loops only if the loop variable is used
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
VarCleanUp_description=Use the local variable type inference where possible
PatternMatchingForInstanceofCleanup_description=Use pattern matching for instanceof
LambdaExpressionsCleanUp_use_lambda_where_possible=Use lambda where possible
LambdaExpressionsCleanUp_use_anonymous=Use anonymous class creations
LambdaExpressionAndMethodRefCleanUp_description=Simplify lambda expression and method reference syntax
PatternCleanup_description=Precompile reused regular expressions
NoStringCreationCleanUp_description=Remove unnecessary String creation
BooleanLiteralCleanup_description=Use boolean literals instead of Boolean.TRUE/FALSE when used as a primitive

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

NullAnnotationsCleanUp_add_nullable_annotation=Add missing @Nullable annotation
NullAnnotationsCleanUp_add_nonnull_annotation=Add missing @NonNull annotation
NullAnnotationsCleanUp_add_nonnullbydefault_annotation=Add missing @NonNullByDefault annotation
NullAnnotationsCleanUp_remove_redundant_nullness_annotation=Remove redundant nullness annotation

BreakLoopCleanUp_description=Exit loop earlier
StringBuilderCleanUp_description=Replace String concatenation by StringBuilder
CodeStyleCleanUp_LazyLogical_description=Use lazy logical operator (&& and ||)
PrimitiveSerializationCleanUp_description=Primitive serialization

TypeParametersCleanUp_InsertInferredTypeArguments_description=Insert inferred type arguments
TypeParametersCleanUp_RemoveUnnecessaryTypeArguments_description=Remove redundant type arguments
HashCleanup_description=Use Objects.hash()

RedundantModifiersCleanup_description=Remove redundant modifiers
JoinCleanup_description=Use String.join()
ArraysFillCleanUp_description=Use Arrays.fill() when possible
EvaluateNullableCleanUp_description=Evaluate without null check
EmbeddedIfCleanup_description=Raise embedded if into parent if
AutoboxingCleanup_description=Use Autoboxing
UnboxingCleanup_description=Use Unboxing
PushDownNegationCleanup_description=Push down negation
DoubleNegationCleanUp_description=Double negation
RedundantComparisonStatementCleanup_description=Remove redundant comparison statement
RedundantSuperCallCleanup_description=Remove redundant super() call in constructor
MergeConditionalBlocksCleanup_description=Merge conditions of if/else if/else that have the same blocks
RedundantFallingThroughBlockEndCleanup_description=Remove redundant end of block with jump statement
RedundantIfConditionCleanup_description=Redundant if condition
UseDirectlyMapMethodCleanup_description=Operate on Maps directly
CollectionCloningCleanUp_description=Initialize collection at creation
MapCloningCleanUp_description=Initialize map at creation
OverriddenAssignmentCleanUp_description=Remove overridden assignment
RedundantSemicolonsCleanup_description=Remove redundant semicolons
UnnecessaryArrayCreationCleanup_description=Remove unnecessary array creation for varargs
UselessReturnCleanUp_description=Remove useless return
UselessContinueCleanUp_description=Remove useless continue
AddAllCleanup_description=Add elements in collections without loop
ObjectsEqualsCleanup_description=Use Objects.equals() in the equals method implementation
CheckSignOfBitwiseOperation_description=Use != 0 instead of > 0 when comparing the result of a bitwise expression
SwitchExpressionsCleanUp_ConvertToSwitchExpressions_description=Convert to switch expression where possible
