###############################################################################
# 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_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
CodeStyleCleanUp_Switch_description=Convert if/else if/else chain to switch

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=Use diamond operator
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
TernaryOperatorCleanUp_description=Replace (X && Y) || (!X && Z) by X ? Y : Z
StrictlyEqualOrDifferentCleanUp_description=Use '==' or '^' on booleans
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

TryWithResourceCleanup_description=Use try-with-resource
