plugin.IntentionPowerPack.description=Adds over 80 new intention actions for IDEA.
replace.fully.qualified.name.with.import.intention.name=Replace qualified name with 'import'
replace.fully.qualified.name.with.import.intention.family.name=Replace Qualified Name with Import
replace.if.with.switch.intention.name=Replace 'if' with 'switch'
replace.if.with.switch.intention.family.name=Replace If with Switch
merge.parallel.ifs.intention.name=Merge 'if's
merge.parallel.ifs.intention.family.name=Merge Parallel Ifs
replace.conditional.with.if.intention.name=Replace '?:' with 'if else'
replace.conditional.with.if.intention.family.name=Replace Conditional with If Else
merge.else.if.intention.name=Merge 'else if'
merge.else.if.intention.family.name=Merge Else If
change.to.end.of.line.comment.intention.name=Replace with end-of-line comment
change.to.end.of.line.comment.intention.family.name=Replace with End Of Line Comment
assert.to.if.intention.name=Replace 'assert' with 'if' statement
assert.to.if.intention.family.name=Replace Assert with If Statement
replace.equality.with.safe.equals.intention.name=Replace '==' with safe '.equals()'
replace.equality.with.safe.not.equals.intention.name=Replace '!=' with safe '!equals()'
replace.equality.with.safe.equals.intention.family.name=Replace Equality with Safe Equals
replace.for.each.loop.with.indexed.for.loop.intention.name=Replace 'for each' loop with indexed 'for' loop
replace.for.each.loop.with.iterator.for.loop.intention.name=Replace 'for each' loop with iterator 'for' loop
replace.for.each.loop.with.indexed.for.loop.intention.family.name=Replace For-each Loop with Indexed For Loop
replace.for.each.loop.with.optimized.indexed.for.loop.intention.name=Replace 'for each' loop with optimized indexed 'for' loop
replace.for.each.loop.with.optimized.indexed.for.loop.intention.family.name=Replace For-each Loop with Optimized Indexed For Loop
replace.for.each.loop.with.iterator.for.loop.intention.family.name=Replace For-each Loop with Iterator For Loop
replace.for.loop.with.while.loop.intention.name=Replace 'for' loop with 'while' loop
replace.for.loop.with.while.loop.intention.family.name=Replace For Loop with While Loop
replace.while.loop.with.do.while.loop.intention.name=Replace 'while' loop with 'do while' loop
replace.while.loop.with.do.while.loop.intention.family.name=Replace While Loop with Do While Loop
replace.do.while.loop.with.while.loop.intention.name=Replace 'do while' loop with 'while' loop
replace.do.while.loop.with.while.loop.intention.family.name=Replace Do While Loop with While Loop
expand.boolean.intention.name=Convert to 'if else'
expand.boolean.intention.family.name=Expand Boolean
split.else.if.intention.name=Split 'else if'
split.else.if.intention.family.name=Split Else If
convert.to.nested.if.intention.name=Convert to multiple 'if's
convert.to.nested.if.intention.family.name=Expand Boolean to multiple ifs
join.concatenated.string.literals.intention.name=Join concatenated String literals
join.concatenated.string.literals.intention.family.name=Join Concatenated String Literals
replace.switch.with.if.intention.name=Replace 'switch' with 'if'
replace.switch.with.if.intention.family.name=Replace Switch with If
simplify.variable.intention.name=Replace with Java-style array declaration
simplify.variable.intention.family.name=Replace with Java Style Array Declaration
constant.expression.intention.family.name=Compute Constant Value
create.assert.intention.name=Create JUnit assertion
create.assert.intention.family.name=Create JUnit Assertion
simplify.if.else.intention.name=Simplify 'if else'
simplify.if.else.intention.family.name=Simplify If Else
merge.if.or.intention.name=Merge sequential 'if's
merge.if.or.intention.family.name=Merge Equivalent Ifs to ORed Condition
remove.unnecessary.parentheses.intention.name=Remove unnecessary parentheses
remove.unnecessary.parentheses.intention.family.name=Remove Unnecessary Parentheses
merge.if.and.intention.name=Merge nested 'if's
merge.if.and.intention.family.name=Merge Nested Ifs to ANDed Condition
replace.concatenation.with.string.buffer.intention.name=Replace '+' with 'StringBuffer.append()'
replace.concatenation.with.string.builder.intention.name=Replace '+' with 'StringBuilder.append()'
replace.concatenation.with.string.buffer.intention.family.name=Replace + with StringBuilder.append()
remove.conditional.intention.name=Simplify '?:'
remove.conditional.intention.family.name=Remove Pointless Conditional
move.comment.to.separate.line.intention.name=Move comment to separate line
move.comment.to.separate.line.intention.family.name=Move Comment to Separate Line
convert.integer.to.hex.intention.name=Convert to hex
convert.integer.to.hex.intention.family.name=Convert to Hexadecimal
convert.integer.to.binary.intention.name=Convert to binary
convert.integer.to.binary.intention.family.name=Convert to Binary
convert.to.scientific.notation.intention.name=Convert to scientific notation
convert.to.scientific.notation.intention.family.name=Convert to Scientific Notation
convert.to.plain.intention.name=Convert to plain
convert.to.plain.intention.family.name=Convert to Plain
string.to.char.intention.name=Replace string literal with character
string.to.char.intention.family.name=Replace String with Char
convert.integer.to.decimal.intention.name=Convert to decimal
convert.integer.to.decimal.intention.family.name=Convert to Decimal
create.enum.switch.branches.intention.name=Create missing 'switch' branches
create.enum.switch.branches.intention.family.name=Create Enum Switch Branches
change.to.c.style.comment.intention.name=Replace with block comment
change.to.c.style.comment.intention.family.name=Replace with Block Comment
convert.integer.to.octal.intention.name=Convert to octal
convert.integer.to.octal.intention.family.name=Convert to Octal
split.declaration.and.initialization.intention.name=Split into declaration and initialization
split.declaration.and.initialization.intention.family.name=Split Declaration and Initialization
char.to.string.intention.name=Replace character literal with string
char.to.string.intention.family.name=Replace Char with String
replace.if.with.conditional.intention.name=Replace 'if else' with '?:'
replace.if.with.conditional.intention.family.name=Replace If Else with Conditional
replace.equality.with.equals.intention.name=Replace '==' with 'equals()'
replace.equality.with.not.equals.intention.name=Replace '!=' with '!equals()'
replace.equality.with.equals.intention.family.name=Replace Equality with Equals
make.call.chain.into.call.sequence.intention.name=Make method call chain into call sequence
make.call.chain.into.call.sequence.intention.family.name=Make Call Chain Into Call Sequence
merge.call.sequence.to.chain.intention.name=Merge sequential method calls into call chain
merge.call.sequence.to.chain.intention.family.name=Merge Sequential Method Calls into Call Chain
detail.exceptions.intention.name=Detail exceptions
detail.exceptions.intention.family.name=Detail Exceptions
flip.conditional.intention.name=Flip '?:'
flip.conditional.intention.family.name=Flip Conditional
replace.equals.with.equality.intention.name=Replace '.equals()' with '=='
replace.equals.with.equality.intention.family.name=Replace Equals with Equality
replace.shift.with.multiply.intention.family.name=Replace Shift with Multiply
demorgans.intention.family.name=DeMorgan Law
flip.comparison.intention.family.name=Flip Comparison
flip.conjunction.intention.family.name=Flip Conjunction Operands
negate.comparison.intention.family.name=Negate Comparison
remove.boolean.equality.intention.family.name=Remove Boolean Equality
remove.braces.intention.family.name=Remove Braces
add.braces.intention.family.name=Add Braces
flip.commutative.method.call.intention.family.name=Flip Commutative Method Call
constant.subexpression.intention.family.name=Compute Constant Value for Subexpression
extract.increment.intention.family.name=Extract Increment
flip.assert.literal.intention.family.name=Flip Assert Literal
replace.assert.equals.with.assert.literal.intention.family.name=Replace assertEquals with assertTrue, assertFalse, or assertNull
replace.assert.literal.with.assert.equals.intention.family.name=Replace assertTrue, assertFalse, or assertNull with assertEquals
replace.multiply.with.shift.intention.family.name=Replace Multiply with Shift
replace.with.operator.assignment.intention.family.name=Replace Assignment with Operator Assignment
add.clarifying.parentheses.intention.name=Add clarifying parentheses
add.clarifying.parentheses.intention.family.name=Add Clarifying Parentheses
convert.interface.to.class.intention.name=Convert to 'class'
convert.interface.to.class.intention.family.name=Convert Interface to Class
replace.on.demand.import.intention.name=Replace with single class imports
replace.on.demand.import.intention.family.name=Replace On Demand Import with Single Class Imports
swap.method.call.arguments.intention.family.name=Swap Method Call Arguments
make.method.varargs.intention.name=Convert to variable argument method
make.method.varargs.intention.family.name=Convert Method to Variable Argument Method
convert.vararg.parameter.to.array.intention.name=Convert variable argument parameter to array
convert.vararg.parameter.to.array.intention.family.name=Convert Variable Argument Parameter to Array Parameter
replace.operator.assignment.with.assignment.intention.family.name=Replace Operator Assignment with Assignment
convert.catch.to.throws.intention.name=Replace 'catch' section with 'throws' declaration
convert.catch.to.throws.intention.family.name=Replace Catch Section with Throws Declaration
wrap.vararg.arguments.with.explicit.array.intention.name=Wrap vararg arguments with explicit array creation
wrap.vararg.arguments.with.explicit.array.intention.family.name=Wrap Vararg Arguments with Explicit Array Creation
extract.while.loop.condition.to.if.statement.intention.name=Extract condition to internal 'if' statement
extract.while.loop.condition.to.if.statement.intention.family.name=Extract While Loop Condition to Internal If Statement
replace.concatenation.with.format.string.intention.name=Replace '+' with 'String.format()'
replace.concatenation.with.format.string.intention.family.name=Replace String Concatenation with String.format()
copy.concatenated.string.to.clipboard.intention.name=Copy String concatenation text to the clipboard
copy.concatenated.string.to.clipboard.intention.family.name=Copy String Concatenation Text to the Clipboard
flip.expression.intention.family.name=Flip Binary Expression
flip.setter.call.intention.family.name=Flip Setter Call(s)
adapter.to.listener.intention.family.name=Replace Adapter Extension with Listener Implementation
reverse.for.loop.direction.intention.family.name=Reverse Direction of For Loop
reverse.for.loop.direction.intention.name=Reverse direction of for loop
replace.operator.assignment.with.postfix.expression.intention.family.name=Replace Operator Assignment with Postfix Expression
replace.postfix.expression.with.operator.assignment.intention.family.name=Replace Postfix Expression with Operator Assignment
replace.postfix.expression.with.assignment.intention.family.name=Replace Postfix Expression with Assignment
replace.assignment.with.postfix.expression.intention.family.name=Replace Assignment with Postfix Expression
convert.j.unit3.test.case.to.j.unit4.intention.family.name=Convert JUnit3 Test Case to JUnit4
convert.j.unit3.test.case.to.j.unit4.intention.name=Convert to JUnit4 Test Case
if.to.assertion.intention.family.name=Replace If with Assert Statement
if.to.assertion.intention.name=Replace 'if' with 'assert' statement
expand.to.normal.annotation.intention.family.name=Expand Annotation to Normal Form
expand.to.normal.annotation.intention.name=Add 'value=' to annotation attribute
annotate.overridden.methods.intention.family.name=Annotate overriding methods and their parameters
annotate.overridden.methods.intention.method.name=Annotate overriding methods as ''@{0}''
annotate.overridden.methods.intention.parameters.name=Annotate same parameter of overriding methods as ''@{0}''
split.multi.catch.intention.name=Split multi-catch into separate 'catch' blocks
split.multi.catch.intention.family.name=Split Multi-Catch into Separate Catch Blocks
replace.arm.with.try.finally.intention.name=Replace 'try-with-resources' with 'try finally'
replace.arm.with.try.finally.intention.family.name=Replace Try-With-Resources with Try-Finally
merge.nested.try.statements.intention.name=Merge nested 'try' statements
merge.nested.try.statements.intention.family.name=Merge Nested Try Statements
split.try.with.multiple.resources.intention.name=Split 'try' statement with multiple resources
split.try.with.multiple.resources.intention.family.name=Split Try Statement with Multiple Resources
obscure.thrown.exceptions.intention.family.name=Replace Exceptions in Throws Clause with Single More General Exception
add.array.creation.expression.intention.family.name=Add Array Creation Expression
replace.diamond.with.explicit.type.arguments.intention.name=Replace '<>' with explicit type arguments
replace.diamond.with.explicit.type.arguments.intention.family.name=Replace Diamond with Explicit Type Arguments
replace.lambda.with.anonymous.intention.name=Replace lambda with anonymous class
replace.lambda.with.anonymous.intention.family.name=Replace lambda with anonymous class
replace.method.ref.with.lambda.intention.name=Replace method reference with lambda
replace.method.ref.with.lambda.intention.family.name=Replace method reference with lambda
infer.lambda.parameter.type.intention.family.name=Infer lambda parameter type
expand.one.line.lambda2.code.block.intention.family.name=Expand lambda expression body to code block
make.public.intention.name=Make 'public'
make.public.intention.family.name=Make Public
make.package.private.intention.name=Make package-local
make.package.private.intention.family.name=Make Package-Local
make.protected.intention.name=Make 'protected'
make.protected.intention.family.name=Make Protected
make.private.intention.name=Make 'private'
make.private.intention.family.name=Make Private
change.variable.type.to.rhs.type.intention.family.name=Change Variable Type to Type of Initializer
unicode.unescape.intention.name=Replace unicode escape with character
unicode.unescape.intention.family.name=Replace Unicode Escape with Unescaped Character
replace.octal.escape.with.unicode.escape.intention.name=Replace octal escape with unicode escape
replace.octal.escape.with.unicode.escape.intention.family.name=Replace Octal Escape with Unicode Escape
negate.conditional.intention.name=Negate '?:'
negate.conditional.intention.family.name=Negate Conditional
objects.require.non.null.intention.name=Use 'java.util.Objects.requireNonNull()' expression
objects.require.non.null.intention.family.name=Use 'java.util.Objects.requireNonNull()' Expression

#hand made
demorgans.intention.name1=Replace '\\&\\&' with '||'
demorgans.intention.name2=Replace '||' with '\\&\\&'
flip.smth.intention.name=Flip ''{0}''
flip.smth.intention.name1=Flip ''{0}'' (changes semantics)
flip.comparison.intention.name=Flip ''{0}'' to ''{1}''
negate.comparison.intention.name=Negate ''{0}''
negate.comparison.intention.name1=Negate ''{0}'' to ''{1}''
remove.boolean.equality.intention.name=Simplify ''{0}''
add.braces.intention.name=Add Braces to ''{0}'' statement
remove.braces.intention.name=Remove braces from ''{0}'' statement
flip.commutative.method.call.intention.name=Flip ''.{0}()''
flip.commutative.method.call.intention.name1=Flip ''.{0}()'' (may change semantics)
constant.expression.intention.name=Compute constant value of ''{0}''
status.bar.escape.highlighting.message=Press Escape to remove the highlighting
1.fully.qualified.name.status.bar.escape.highlighting.message=1 fully qualified name replaced with import (press Escape to remove highlighting)
multiple.fully.qualified.names.status.bar.escape.highlighting.message={0} fully qualified names replaced with import (press Escape to remove highlighting)
press.escape.to.remove.highlighting.message=Press Escape to remove the highlighting
extract.increment.intention.name=Extract ''{0}''
flip.assert.literal.intention.name=Replace ''{0}()'' with ''{1}()''
replace.assert.equals.with.assert.literal.intention.name=Replace ''assertEquals()'' with ''{0}()''
replace.assert.literal.with.assert.equals.intention.name=Replace ''{0}()'' with ''assertEquals({1}, ...)''
replace.assert.literal.with.assert.equals.intention.name2=Replace ''{0}()'' with ''assertEquals()''
replace.assert.literal.with.assert.equals.intention.name1=Replace ''{0}()'' with ''assertEquals(..., {1}, ...)''
replace.assignment.with.operator.assignment.intention.name=Replace ''='' with ''{0}=''
replace.operator.assignment.with.assignment.intention.name=Replace ''{0}'' with ''=''
replace.some.operator.with.other.intention.name=Replace ''{0}'' with ''{1}''
swap.method.call.arguments.intention.name=Swap ''{0}'' and ''{1}''
flip.setter.call.intention.name=Flip Setter Call
adapter.to.listener.intention.name=Replace extension of ''{0}'' with ''Listener'' implementation
obscure.thrown.exceptions.intention.name=Replace with ''throws {0}''
add.array.creation.expression.intention.name=Add ''new {0}''
change.variable.type.to.rhs.type.intention.name=Declare ''{0}'' with type ''{1}''


#categories
intention.category.annotations=Annotations
intention.category.numbers=Numbers
intention.category.boolean=Boolean
intention.category.conditional.operator=Conditional Operator
intention.category.shift.operation=Shift Operation
intention.category.junit=JUnit
intention.category.declaration=Declaration
intention.category.imports=Imports
intention.category.comments=Comments
intention.category.control.flow=Control Flow
intention.category.strings=Strings
intention.category.modifiers=Modifiers
intention.category.other=Other

#warnings
0.is.declared.in.1.but.when.public.should.be.declared.in.a.file.named.2={0} is declared in {1} but when public should be declared in a file named {2}
0.will.have.incompatible.access.privileges.with.super.1={0} will have incompatible access privileges with super {1}
0.will.no.longer.be.visible.from.overriding.1={0} will no longer be visible from overriding {1}
0.will.have.incompatible.access.privileges.with.overriding.1={0} will have incompatible access privileges with overriding {1}
0.already.extends.1.and.will.not.compile.after.converting.2.to.a.class={0} already extends {1} and will not compile after converting {2} to a class
