cast.to.concrete.class.display.name=Cast to a concrete class
cast.to.concrete.class.problem.descriptor=Cast to concrete class <code>{0}</code> #loc
class.references.subclass.display.name=Class references one of its subclasses
class.references.subclass.problem.descriptor=Class ''{0}'' references subclass <code>#ref</code> #loc
class.references.subclass.problem.descriptor.anonymous=Anonymous class references subclass <code>#ref</code> #loc
collection.declared.by.class.display.name=Collection declared by class, not interface
collection.declared.by.class.problem.descriptor=Declaration of <code>#ref</code> should probably be weakened to ''{0}'' #loc
collection.declared.by.class.ignore.locals.option=Ignore local variables
collection.declared.by.class.ignore.private.members.option=Ignore private fields and methods
feature.envy.display.name=Feature envy
feature.envy.problem.descriptor=Class ''{0}'' accessed repeatedly in method <code>#ref()</code> #loc
instance.variable.of.concrete.class.display.name=Type of instance field is concrete class
instance.variable.of.concrete.class.problem.descriptor=Type of field ''{0}'' is concrete class <code>#ref</code> #loc
chain.of.instanceof.checks.display.name=Chain of 'instanceof' checks
chain.of.instanceof.checks.problem.descriptor=Chain of 'instanceof' checks indicates abstraction failure #loc
instanceof.concrete.class.display.name='instanceof' a concrete class
instanceof.concrete.class.problem.descriptor='instanceof' concrete class <code>#ref</code> #loc
instanceof.check.for.this.display.name='instanceof' check for 'this'
instanceof.check.for.this.problem.descriptor='instanceof' check for <code>#ref</code> #loc
local.variable.of.concrete.class.display.name=Local variable of concrete class
local.variable.of.concrete.class.problem.descriptor=Local variable ''{0}'' of concrete class <code>#ref</code> #loc
magic.number.display.name=Magic number
magic.number.problem.descriptor=Magic number <code>#ref</code> #loc
magic.number.ignore.option=Ignore constants in 'hashCode()' methods
method.return.concrete.class.display.name=Method return of concrete class
method.return.concrete.class.problem.descriptor=Method returns a concrete class <code>#ref</code> #loc
overly.strong.type.cast.display.name=Overly strong type cast
overly.strong.type.cast.weaken.quickfix=Weaken overly strong cast
concrete.class.method.parameter.display.name=Method parameter of concrete class
concrete.class.method.parameter.problem.descriptor=Parameter ''{0}'' of concrete class <code>#ref</code> #loc
public.method.not.in.interface.display.name='public' method not exposed in interface
public.method.not.in.interface.problem.descriptor='public' method <code>#ref()</code> is not exposed via an interface #loc
public.method.not.in.interface.option=<html>Ignore if the containing class does not implement a non-library interface</html>
static.variable.of.concrete.class.display.name=Static field of concrete class
static.variable.of.concrete.class.problem.descriptor=Static field ''{0}'' of concrete class <code>#ref</code> #loc
incompatible.mask.operation.display.name=Incompatible bitwise mask operation
incompatible.mask.operation.problem.descriptor.always.false=<code>#ref</code> is always false #loc
incompatible.mask.operation.problem.descriptor.always.true=<code>#ref</code> is always true #loc
pointless.bitwise.expression.display.name=Pointless bitwise expression
pointless.bitwise.expression.ignore.option=Ignore named constants in determining pointless expressions
pointless.bitwise.expression.simplify.quickfix=Simplify
shift.operation.by.inappropriate.constant.display.name=Shift operation by inappropriate constant
shift.operation.by.inappropriate.constant.problem.descriptor.too.large=Shift operation <code>#ref</code> by overly large constant value #loc
shift.operation.by.inappropriate.constant.problem.descriptor.negative=Shift operation <code>#ref</code> by negative constant value #loc
equals.called.on.array.display.name='equals()' called on array
equals.called.on.array.problem.descriptor=<code>#ref()</code> between arrays should probably be 'Arrays.equals()' #loc
replace.with.arrays.equals=Replace with 'Arrays.equals()'
replace.with.arrays.deep.equals=Replace with 'Arrays.deepEquals()'
assignment.to.null.display.name=Assignment to 'null'
assignment.to.null.problem.descriptor=Assignment of variable <code>#ref</code> to 'null' #loc
assignment.to.null.option=Ignore assignments to fields
assignment.to.static.field.from.instance.method.display.name=Assignment to static field from instance method
assignment.to.static.field.from.instance.method.problem.descriptor=Assignment to static field <code>#ref</code> from an instance method #loc
assignment.used.as.condition.display.name=Assignment used as condition
assignment.used.as.condition.problem.descriptor=<code>#ref</code> used as condition #loc
assignment.used.as.condition.replace.quickfix=Replace '=' with '=='
cast.conflicts.with.instanceof.display.name=Cast conflicts with 'instanceof'
cast.conflicts.with.instanceof.problem.descriptor=Cast <code>#ref</code> conflicts with surrounding 'instanceof' check #loc
casting.to.incompatible.interface.display.name=Casting to incompatible interface
casting.to.incompatible.interface.problem.descriptor=Cast to incompatible interface <code>#ref</code> #loc
collection.added.to.self.display.name=Collection added to self
collection.added.to.self.problem.descriptor=Collection <code>#ref</code> is added to self #loc
non.final.field.compareto.display.name=Non-final field referenced in 'compareTo()'
non.final.field.compareto.problem.descriptor=Non-final field <code>#ref</code> accessed in 'compareTo()' #loc
covariant.compareto.display.name=Covariant 'compareTo()'
covariant.compareto.problem.descriptor=<code>#ref()</code> should take 'Object' as its argument #loc
covariant.equals.display.name=Covariant 'equals()'
covariant.equals.problem.descriptor=<code>#ref()</code> should take 'Object' as its argument #loc
empty.class.initializer.display.name=Empty class initializer
empty.class.initializer.problem.descriptor=Empty class initializer #loc
empty.class.initializer.delete.quickfix=Delete empty class initializer
statement.with.empty.body.display.name=Statement with empty body
statement.with.empty.body.problem.descriptor=<code>#ref</code> statement has empty body #loc
statement.with.empty.body.include.option=Include statement bodies that are empty code blocks
equals.between.inconvertible.types.display.name='equals()' between objects of inconvertible types
equals.between.inconvertible.types.problem.descriptor=<code>#ref()</code> between objects of inconvertible types ''{0}'' and ''{1}'' #loc
non.final.field.in.equals.display.name=Non-final field referenced in 'equals()'
non.final.field.in.equals.problem.descriptor=Non-final field <code>#ref</code> accessed in 'equals()'  #loc
equals.doesnt.check.class.parameter.display.name='equals()' method which does not check class of parameter
equals.doesnt.check.class.parameter.problem.descriptor=<code>#ref()</code> should check the class of its parameter #loc
for.loop.not.use.loop.variable.display.name='for' loop where update or condition does not use loop variable
for.loop.not.use.loop.variable.problem.descriptor.condition=<code>#ref</code> statement has condition which does not use the for loop variable #loc
for.loop.not.use.loop.variable.problem.descriptor.update=<code>#ref</code> statement has update which does not use the for loop variable #loc
for.loop.not.use.loop.variable.problem.descriptor.both.condition.and.update=<code>#ref</code> statement has condition and update which do not use the for loop variable #loc
non.final.field.in.hashcode.display.name=Non-final field referenced in 'hashCode()'
non.final.field.in.hashcode.problem.descriptor=Non-final field <code>#ref</code> accessed in 'hashCode()' #loc
result.of.method.call.ignored.display.name=Result of method call ignored
result.of.method.call.ignored.problem.descriptor=Result of <code>{0}.#ref()</code> is ignored #loc
result.of.method.call.ignored.class.column.title=Class name
result.of.method.call.ignored.method.column.title=Method name
result.of.method.call.ignored.non.library.option=Report all ignored non-library calls
infinite.recursion.display.name=Infinite recursion
infinite.recursion.problem.descriptor=Method <code>#ref()</code> recurses infinitely, and can only end by throwing an exception #loc
instanceof.with.incompatible.interface.display.name='instanceof' with incompatible interface
instanceof.with.incompatible.interface.problem.descriptor='instanceof' incompatible interface <code>#ref</code> #loc
instantiation.utility.class.display.name=Instantiation of utility class
instantiation.utility.class.problem.descriptor=Instantiation of utility class <code>#ref</code> #loc
iterator.hasnext.which.calls.next.display.name='Iterator.hasNext()' which calls 'next()'
iterator.hasnext.which.calls.next.problem.descriptor=<code>Iterator.#ref()</code> contains call to 'next()' #loc
iterator.next.does.not.throw.nosuchelementexception.display.name='Iterator.next()' which can't throw 'NoSuchElementException'
malformed.format.string.display.name=Malformed format string
malformed.format.string.problem.descriptor.malformed=Format string <code>#ref</code> is malformed #loc
malformed.format.string.problem.descriptor.too.many.arguments=Too many arguments for format string <code>#ref</code> #loc
malformed.format.string.problem.descriptor.too.few.arguments=Too few arguments for format string <code>#ref</code> #loc
malformed.format.string.problem.descriptor.arguments.do.not.match.type=Format string <code>#ref</code> does not match the type of its arguments #loc
malformed.regular.expression.display.name=Malformed regular expression
malformed.regular.expression.problem.descriptor1=Regular expression <code>#ref</code> is malformed #loc
malformed.regular.expression.problem.descriptor2=Regular expression <code>#ref</code> is malformed: {0} #loc
malformed.xpath.expression.display.name=Malformed XPath expression
malformed.xpath.expression.problem.description=XPath expression <code>#ref</code> is malformed #loc
mismatched.read.write.array.display.name=Mismatched read and write of array
mismatched.read.write.array.problem.descriptor.write.not.read=Contents of array <code>#ref</code> are written to, but never read #loc
mismatched.read.write.array.problem.descriptor.read.not.write=Contents of array <code>#ref</code> are read, but never written to #loc
mismatched.update.collection.display.name=Mismatched query and update of collection
mismatched.update.collection.problem.descriptor.updated.not.queried=Contents of collection <code>#ref</code> are updated, but never queried #loc
mismatched.update.collection.problem.description.queried.not.updated=Contents of collection <code>#ref</code> are queried, but never updated #loc
misspelled.compareto.display.name='compareto()' instead of 'compareTo()'
misspelled.compareto.problem.descriptor=<code>#ref()</code> method should probably be 'compareTo()' #loc
rename.quickfix=Rename
renameto.quickfix=Rename to ''{0}''
misspelled.equals.display.name='equal()' instead of 'equals()'
misspelled.equals.problem.descriptor=<code>#ref()</code> method should probably be 'equals()' #loc
misspelled.hashcode.display.name='hashcode()' instead of 'hashCode()'
misspelled.hashcode.problem.descriptor=<code>#ref()</code> should probably be 'hashCode()' #loc
misspelled.tostring.display.name='tostring()' instead of 'toString()'
misspelled.tostring.problem.descriptor=<code>#ref()</code> method should probably be 'toString()' #loc
non.short.circuit.boolean.expression.display.name=Non-short-circuit boolean expression
non.short.circuit.boolean.expression.problem.descriptor=Non-short-circuit boolean expression <code>#ref</code> #loc
non.short.circuit.boolean.expression.replace.quickfix=Replace with short circuit expression
null.argument.to.var.arg.method.display.name=Confusing 'null' argument to var-arg method
null.argument.to.var.arg.method.problem.descriptor=Confusing <code>#ref</code> argument to var-arg method #loc
primitive.array.argument.to.var.arg.method.display.name=Confusing primitive array argument to var-arg method
primitive.array.argument.to.var.arg.method.problem.descriptor=Confusing primitive array argument to var-arg method #loc
object.comparison.display.name=Object comparison using '==', instead of 'equals()'
object.comparison.enumerated.ignore.option=Ignore '==' between enumerated types
object.comparison.klass.ignore.option=Ignore '==' on 'java.lang.Class' objects
object.comparison.problem.description=Object values are compared using <code>#ref</code>, not 'equals()' #loc
object.comparison.replace.quickfix=Replace with 'equals()'
object.equals.null.problem.descriptor=<code>.equals(#ref)</code> is probably not what was intended #loc
default.tostring.call.display.name=Call to default 'toString()'
default.tostring.call.problem.descriptor=Call to default 'toString()' on <code>#ref</code> #loc
octal.and.decimal.integers.in.same.array.display.name=Octal and decimal integers in same array
octal.and.decimal.integers.in.same.array.problem.descriptor=Octal and decimal integers in the same array initializer #loc
result.of.object.allocation.ignored.display.name=Result of object allocation ignored
result.of.object.allocation.ignored.problem.descriptor=Result of <code>new #ref()</code> is ignored #loc
use.0index.in.jdbc.resultset.display.name=Use of index 0 in JDBC ResultSet
use.0index.in.jdbc.resultset.problem.descriptor=Use of index '0' in JDBC ResultSet #loc
use.0index.in.jdbc.prepared.statement.problem.descriptor=Use of index '0' in JDBC PreparedStatement #loc
return.of.null.display.name=Return of 'null'
return.of.null.problem.descriptor=Return of <code>#ref</code> #loc
return.of.null.arrays.option=Report methods that return arrays
return.of.null.quickfix=Annotate method as @Nullable
return.of.null.objects.option=Report methods that return objects
return.of.null.collections.option=Report methods that return collection objects
return.of.null.ignore.private.option=Ignore private methods
static.method.via.subclass.display.name=Static method referenced via subclass
static.method.via.subclass.problem.descriptor=Static method <code>#ref()</code> declared in class ''{0}'' but referenced via subclass ''{1}'' #loc
static.method.via.subclass.rationalize.quickfix=Rationalize static method call
static.field.via.subclass.display.name=Static field referenced via subclass
static.field.via.subclass.problem.descriptor=Static field <code>#ref</code> declared in class ''{0}'' but referenced via subclass ''{1}'' #loc
static.field.via.subclass.rationalize.quickfix=Rationalize static field access
string.comparison.display.name=String comparison using '==', instead of 'equals()'
number.comparison.display.name=Number comparison using '==', instead of 'equals()'
string.comparison.problem.descriptor=String values are compared using <code>#ref</code>, not 'equals()' #loc
number.comparison.problem.descriptor=Number objects are compared using <code>#ref</code>, not 'equals()' #loc
subtraction.in.compareto.display.name=Subtraction in 'compareTo()'
subtraction.in.compareto.problem.descriptor=Subtraction <code>#ref</code> in 'compareTo()' may result in overflow errors #loc
text.label.in.switch.statement.display.name=Text label in 'switch' statement
text.label.in.switch.statement.problem.descriptor=Text label <code>#ref:</code> in 'switch' statement #loc
properties.object.as.hashtable.display.name=Use of Properties object as a Hashtable
properties.object.as.hashtable.problem.descriptor=Call to <code>Hashtable.#ref()</code> on properties object #loc
assignment.replaceable.with.operator.assignment.display.name=Assignment replaceable with operator assignment
unnecessary.code.block.display.name=Unnecessary code block
unnecessary.code.block.unwrap.quickfix=Unwrap block
redundant.local.variable.display.name=Redundant local variable
redundant.local.variable.ignore.option=Ignore immediately returned or thrown variables
redundant.local.variable.annotation.option=Ignore variables which have an annotation
static.collection.display.name=Static collection
static.collection.problem.descriptor=Static collection <code>#ref</code> #loc
static.collection.ignore.option=Ignore weak static collections or maps
stringbuffer.field.display.name=StringBuffer field
stringbuffer.field.problem.descriptor=''{0}'' field <code>#ref</code> #loc
gc.call.display.name=Calls to 'System.gc()' or 'Runtime.gc()'
gc.call.problem.descriptor=<code>#ref</code> should not be called in production code #loc
array.allocation.zero.length.display.name=Zero-length array allocation
array.allocation.zero.length.problem.descriptor=Allocation of zero length array #loc
multiple.loggers.display.name=Class with multiple loggers
logger.name.option=Logger &class name:
multiple.loggers.problem.descriptor=Class <code>#ref</code> declares multiple loggers #loc
no.logger.display.name=Class without logger
no.logger.problem.descriptor=Class <code>#ref</code> does not declare a logger #loc
non.constant.logger.display.name=Non-constant logger
non.constant.logger.problem.descriptor=Non-constant logger field <code>#ref</code> #loc
public.method.without.logging.display.name='public' method without logging
public.method.without.logging.problem.descriptor='public' method <code>#ref()</code> has no logging call #loc
action.reset.telemetry.description=Reset telemetry data

telemetry.table.column.inspection.name=Inspection
telemetry.table.column.total.time=Total Run Time (ms)
telemetry.table.column.average.time=Average Run Time (ms)
telemetry.table.column.run.count=Run Count
telemetry.toolwindow.title=IG Telemetry
action.telemetry.refresh.description=Refresh telemetry display
finalize.doesnt.call.super.display.name='finalize()' does not call 'super.finalize()'
finalize.doesnt.call.super.ignore.option=Ignore for direct subclasses of 'java.lang.Object'
ignore.trivial.finalizers.option=Ignore for trivial 'finalize()' implementations
finalize.doesnt.call.super.problem.descriptor=<code>#ref()</code> #loc does not call 'super.finalize()'
finalize.declaration.display.name='finalize()' declaration
finalize.declaration.problem.descriptor=<code>#ref()</code> declared #loc
finalize.not.declared.protected.display.name='finalize()' not declared 'protected'
finalize.not.declared.protected.problem.descriptor=<code>#ref()</code> not declared 'protected' #loc
make.protected.quickfix=Make 'protected'
finalize.called.explicitly.display.name='finalize()' called explicitly
finalize.called.explicitly.problem.descriptor=<code>#ref()</code> called explicitly #loc
java.lang.import.display.name='java.lang' import
java.lang.import.problem.descriptor=Unnecessary import from package 'java.lang' #loc
import.display.name='*' import
import.problem.descriptor=Package import <code>#ref</code> #loc
redundant.import.display.name=Redundant import
redundant.import.problem.descriptor=Redundant import <code>#ref</code> #loc
import.from.same.package.display.name=Import from same package
import.from.same.package.problem.descriptor=Unnecessary import from same package <code>#ref</code> #loc
single.class.import.display.name=Single class import
single.class.import.problem.descriptor=Single class import <code>#ref</code> #loc
static.import.display.name=Static import
static.import.problem.descriptor=Static import <code>#ref</code>  #loc
static.import.replace.quickfix=Replace with non-static import
unused.import.display.name=Unused import
unused.import.problem.descriptor=Unused import <code>#ref</code> #loc
clone.instantiates.objects.with.constructor.display.name='clone()' instantiates objects with constructor
clone.instantiates.objects.with.constructor.problem.descriptor='clone()' creates new <code>#ref</code> instances #loc
clone.doesnt.call.super.clone.display.name='clone()' does not call 'super.clone()'
clone.doesnt.call.super.clone.problem.descriptor=<code>#ref()</code> does not call 'super.clone()' #loc
clone.doesnt.declare.clonenotsupportedexception.display.name='clone()' does not declare 'CloneNotSupportedException'
clone.doesnt.declare.clonenotsupportedexception.problem.descriptor=<code>#ref()</code> #loc does not declare 'CloneNotSupportedException'
clone.doesnt.declare.clonenotsupportedexception.declare.quickfix=Declare 'CloneNotSupportedException'
clone.method.in.non.cloneable.class.display.name='clone()' method in non-Cloneable class
clone.method.in.non.cloneable.class.problem.descriptor=<code>#ref()</code> defined in non-Cloneable class ''{0}'' #loc
clone.method.in.non.cloneable.interface.problem.descriptor=<code>#ref()</code> defined in non-Cloneable interface ''{0}'' #loc
cloneable.class.without.clone.display.name=Cloneable class without 'clone()'
cloneable.class.without.clone.problem.descriptor=<code>#ref</code> does not define 'clone()' #loc
cloneable.class.without.clone.ignore.option=Ignore classes cloneable due to inheritance
cloneable.class.without.clone.quickfix=Generate 'clone()' method
class.without.tostring.display.name=Class without 'toString()'
class.without.tostring.problem.descriptor=Class <code>#ref</code> should probably implement 'toString()', for debugging purposes #loc
use.obsolete.collection.type.display.name=Use of obsolete collection type
use.obsolete.collection.type.problem.descriptor=Obsolete collection type <code>#ref</code> used #loc
use.obsolete.collection.type.ignore.library.arguments.option=Ignore obsolete collection types where they are required
inspection.suppression.annotation.display.name=Inspection suppression annotation
inspection.suppression.annotation.problem.descriptor=Inspection suppression annotation <code>#ref</code> #loc
use.system.out.err.display.name=Use of System.out or System.err
use.system.out.err.problem.descriptor=Uses of <code>#ref</code> should probably be replaced with more robust logging #loc
dumpstack.call.display.name=Call to 'Thread.dumpStack()'
dumpstack.call.problem.descriptor=Call to <code>Thread.#ref()</code> should probably be replaced with more robust logging #loc
printstacktrace.call.display.name=Call to 'printStackTrace()'
printstacktrace.call.problem.descriptor=Call to <code>#ref()</code> should probably be replaced with more robust logging #loc
todo.comment.display.name=TODO comment
todo.comment.problem.descriptor=TODO comment <code>#ref</code> #loc
abstract.method.call.in.constructor.display.name=Abstract method called during object construction
abstract.method.call.in.constructor.problem.descriptor=Call to 'abstract' method <code>#ref()</code> during object construction #loc
instance.variable.may.not.be.initialized.display.name=Instance field may not be initialized
instance.variable.may.not.be.initialized.problem.descriptor=Instance field <code>#ref</code> may not be initialized during object construction #loc
instance.Variable.may.not.be.initialized.problem.descriptor.junit=Instance field <code>#ref</code> may not be initialized during object construction or 'setUp()' call #loc
primitive.fields.ignore.option=Ignore primitive fields
instance.variable.used.before.initialized.display.name=Instance field used before initialization
instance.variable.used.before.initialized.problem.descriptor=Instance field <code>#ref</code> used before initialized #loc
non.final.static.variable.initialization.display.name=Non-final static field is used during class initialization
non.final.static.variable.initialization.problem.descriptor=Non-final static field <code>#ref</code> used during class initialization #loc
overridable.method.call.in.constructor.display.name=Overridable method called during object construction
overridable.method.call.in.constructor.problem.descriptor=Call to overridable method <code>#ref()</code> during object construction #loc
overridden.method.call.in.constructor.display.name=Overridden method called during object construction
overridden.method.call.in.constructor.problem.descriptor=Call to overridden method <code>#ref()</code> during object construction #loc
static.variable.may.not.be.initialized.display.name=Static field may not be initialized
static.variable.may.not.be.initialized.problem.descriptor=Static field <code>#ref</code> may not be initialized during class initialization #loc
static.variable.used.before.initialization.display.name=Static field used before initialization
static.variable.used.before.initialization.problem.descriptor=Static field <code>#ref</code> used before initialization #loc
this.reference.escaped.in.construction.display.name='this' reference escaped in object construction
this.reference.escaped.in.construction.problem.descriptor=Escape of <code>#ref</code> during object construction #loc
assignment.to.catch.block.parameter.display.name=Assignment to catch block parameter
extract.parameter.as.local.variable.quickfix=Extract parameter as local variable
assignment.to.for.loop.parameter.display.name=Assignment to 'for' loop parameter
assignment.to.for.loop.parameter.check.foreach.option=Check foreach parameters
assignment.to.for.loop.parameter.problem.descriptor=Assignment to for-loop parameter <code>#ref</code> #loc
assignment.to.method.parameter.display.name=Assignment to method parameter
chained.equality.comparisons.display.name=Chained equality comparisons
confusing.octal.escape.sequence.display.name=Confusing octal escape sequence
increment.decrement.display.name=Value of ++ or -- used
nested.assignment.display.name=Result of assignment used
nested.assignment.problem.descriptor=Result of assignment expression used #loc
overloaded.methods.with.same.number.parameters.display.name=Overloaded methods with same number of parameters
overloaded.vararg.method.display.name=Overloaded variable argument method
refused.bequest.display.name=Refused bequest
reuse.of.local.variable.display.name=Reuse of local variable
reuse.of.local.variable.split.quickfix=Split local variable
character.comparison.display.name=Character comparison
character.comparison.problem.descriptor=Character comparison <code>#ref</code> in an internationalized context #loc
assignment.collection.array.field.from.parameter.display.name=Assignment to Collection or array field from parameter
assignment.collection.array.field.from.parameter.problem.descriptor.array=Assignment to array field <code>#ref</code> from parameter ''{0}'' #loc
assignment.collection.array.field.from.parameter.problem.descriptor.collection=Assignment to Collection field <code>#ref</code> from parameter ''{0}'' #loc
assignment.collection.array.field.option=Ignore assignments in private methods
assignment.to.date.calendar.field.from.parameter.display.name=Assignment to Date or Calendar field from parameter
assignment.to.date.calendar.field.from.parameter.problem.descriptor=Assignment to ''{0}'' field <code>#ref</code> from parameter {1} #loc
package.visible.field.display.name=Package-visible field
package.visible.field.problem.descriptor=Package-visible field <code>#ref</code> #loc
package.visible.inner.class.display.name=Package-visible inner class
package.visible.inner.class.problem.descriptor=Package-visible inner class <code>#ref</code> #loc
package.visible.inner.class.ignore.enum.option=Ignore package-visible inner enums
package.visible.inner.class.ignore.interface.option=Ignore package-visible inner interfaces
protected.field.display.name=Protected field
protected.field.problem.descriptor=Protected field <code>#ref</code> #loc
protected.inner.class.display.name=Protected inner class
protected.inner.class.problem.descriptor=Protected inner class <code>#ref</code> #loc
protected.inner.class.ignore.enum.option=Ignore 'protected' inner enums
protected.inner.class.ignore.interface.option=Ignore 'protected' inner interfaces
public.field.display.name='public' field
public.field.problem.descriptor='public' field <code>#ref</code> #loc
public.field.ignore.enum.type.fields.option=Ignore 'public final' fields of an enum type
public.inner.class.display.name='public' inner class
public.inner.class.problem.descriptor='public' inner class <code>#ref</code> #loc
public.inner.class.ignore.enum.option=Ignore 'public' inner enums
public.inner.class.ignore.interface.option=Ignore 'public' inner interfaces
return.of.collection.array.field.display.name=Return of Collection or array field
return.of.collection.array.field.problem.descriptor.array='return' of array field <code>#ref</code> #loc
return.of.collection.array.field.problem.descriptor.collection='return' of Collection field <code>#ref</code> #loc
return.of.collection.array.field.option=Ignore private methods returning an array or collection field
return.date.calendar.field.display.name=Return of Date or Calendar field
return.date.calendar.field.problem.descriptor=Return of ''{0}'' field <code>#ref</code> #loc
return.date.calendar.field.quickfix=Return clone of ''{0}''
accessing.non.public.field.of.another.object.display.name=Accessing a non-public field of another object
accessing.non.public.field.of.another.object.problem.descriptor=Direct access of non-public field <code>#ref</code> on another object #loc
call.to.date.tostring.display.name=Call to 'Date.toString()'
call.to.date.tostring.problem.descriptor=<code>Date.#ref()</code> used in an internationalized context #loc
magic.character.display.name=Magic character
magic.character.problem.descriptor=Magic character <code>#ref</code> in an internationalized context #loc
call.to.numeric.tostring.display.name=Call to Numeric 'toString()'
call.to.numeric.tostring.problem.descriptor=Numeric <code>#ref()</code> called in an internationalized context #loc
instantiating.simpledateformat.without.locale.display.name=Instantiating a SimpleDateFormat without a Locale
instantiating.simpledateformat.without.locale.problem.descriptor=Instantiating a <code>#ref</code> without specifying a Locale in an internationalized context #loc
string.compareto.call.display.name=Call to 'String.compareTo()'
string.compareto.call.problem.descriptor=<code>String.#ref()</code> called using internationalized strings #loc
string.concatenation.display.name=String concatenation
string.concatenation.problem.descriptor=String concatenation <code>#ref</code> in an internationalized context #loc
string.concatenation.ignore.system.out.option=Ignore for 'System.out.print' arguments
string.concatenation.ignore.system.err.option=Ignore for 'System.err.print' arguments
string.concatenation.ignore.assert.option=Ignore for assert statement arguments
string.concatenation.ignore.exceptions.option=Ignore for throwable arguments
string.concatenation.ignore.constant.initializers.option=Ignore for initializers of constants
ignore.in.annotations=Ignore in annotations
ignore.in.tostring=Ignore inside toString() methods
ignore.as.initial.capacity=Ignore initial capacity for StringBuilders and Collections
string.equalsignorecase.call.display.name=Call to 'String.equalsIgnoreCase()'
string.equalsignorecase.call.problem.descriptor=<code>String.#ref()</code> using internationalized strings #loc
string.equals.call.display.name=Call to 'String.equals()'
string.equals.call.problem.descriptor=<code>String.#ref()</code> using internationalized strings #loc
string.touppercase.tolowercase.without.locale.display.name=Call to 'String.toUpperCase()' or 'toLowerCase()' without a Locale
string.touppercase.tolowercase.without.locale.problem.descriptor=<code>String.#ref()</code> called without specifying a Locale using internationalized strings #loc
use.stringtokenizer.display.name=Use of StringTokenizer
use.stringtokenizer.problem.descriptor=<code>#ref</code> in an internationalized context #loc
time.tostring.call.display.name=Call to 'Time.toString()'
time.tostring.call.problem.descriptor=<code>Time.#ref()</code> in an internationalized context #loc
class.escapes.defined.scope.display.name=Class escapes defined scope
class.escapes.defined.scope.problem.descriptor=Class <code>#ref</code> is made visible outside its defined scope #loc
field.name.hides.in.superclass.display.name=Field name hides field in superclass
field.name.hides.in.superclass.problem.descriptor=Field <code>#ref</code> hides field in superclass #loc
field.name.hides.in.superclass.ignore.option=Ignore superclass fields not visible from subclass
inner.class.field.hides.outer.display.name=Inner class field hides outer class field
inner.class.field.hides.outer.ignore.option=Ignore outer fields not visible from inner class
inner.class.field.hides.outer.problem.descriptor=Inner class field <code>#ref</code> hides outer class field #loc
local.variable.hides.member.variable.display.name=Local variable hides field
local.variable.hides.member.variable.problem.descriptor=Local variable <code>#ref</code> hides field in class ''{0}'' #loc
local.variable.hides.member.variable.ignore.option=Ignore local variables in static methods
method.overloads.display.name=Method overloads method of superclass
method.overloads.problem.descriptor=Method <code>#ref()</code> overloads a compatible method of a superclass, when overriding might have been intended #loc
method.overloads.report.incompatible.option=Report even if parameter types are not compatible
method.overrides.private.display.name=Method overrides private method of superclass
method.overrides.private.display.name.problem.descriptor=Method <code>#ref()</code> overrides a private method of a superclass #loc
method.overrides.static.display.name=Method overrides static method of superclass
method.overrides.static.problem.descriptor=Method <code>#ref()</code> overrides a static method of a superclass #loc
parameter.hides.member.variable.display.name=Parameter hides field
parameter.hides.member.variable.problem.descriptor=Parameter <code>#ref</code> hides field in class ''{0}'' #loc
parameter.hides.member.variable.ignore.setters.option=Ignore for property setters
parameter.hides.member.variable.ignore.superclass.option=Ignore superclass fields not visible from subclass
parameter.hides.member.variable.ignore.constructors.option=Ignore for constructors
parameter.hides.member.variable.ignore.abstract.methods.option=Ignore for abstract methods
parameter.hides.member.variable.ignore.static.parameters.option=Ignore for static method parameters hiding instance fields
type.parameter.hides.visible.type.display.name=Type parameter hides visible type
type.parameter.hides.visible.type.problem.descriptor=Type parameter <code>#ref</code> hides visible type ''{0}'' #loc
type.parameter.hides.type.parameter.problem.descriptor=Type parameter <code>#ref</code> hides type parameter ''{0}'' #loc
anonymous.class.variable.hides.containing.method.variable.display.name=Anonymous class variable hides variable in containing method
anonymous.class.parameter.hides.containing.method.variable.problem.descriptor=Anonymous class parameter <code>#ref</code> hides variable in containing method #loc
anonymous.class.field.hides.containing.method.variable.problem.descriptor=Anonymous class field <code>#ref</code> hides variable in containing method #loc
anonymous.class.variable.hides.containing.method.variable.problem.descriptor=Anonymous class local variable <code>#ref</code> hides variable in containing method #loc
channel.opened.not.closed.display.name=Channel opened but not safely closed
drivermanager.call.display.name=Use of DriverManager to get JDBC connection
drivermanager.call.problem.descriptor=Call to <code>DriverManager.#ref()</code> #loc
hibernate.resource.opened.not.closed.display.name=Hibernate resource opened but not safely closed
i.o.resource.opened.not.closed.display.name=I/O resource opened but not safely closed
resource.opened.not.closed.problem.descriptor=''{0}'' should be opened in front of a ''try'' block and closed in the corresponding ''finally'' block #loc
jdbc.resource.opened.not.closed.display.name=JDBC resource opened but not safely closed
jndi.resource.opened.not.closed.display.name=JNDI resource opened but not safely closed
socket.opened.not.closed.display.name=Socket opened but not safely closed
annotation.class.display.name=Annotation class
annotation.class.problem.descriptor=Annotation class <code>#ref</code> #loc
annotation.display.name=Annotation
annotation.problem.descriptor=Annotation <code>#ref</code> #loc
use.assert.as.identifier.display.name=Use of 'assert' as identifier
use.assert.as.identifier.problem.descriptor=Use of <code>#ref</code> as identifier #loc
assert.statement.display.name='assert' statement
statement.problem.descriptor=<code>#ref</code> statement #loc
auto.boxing.display.name=Auto-boxing
auto.boxing.problem.descriptor=Auto-boxing <code>#ref</code> #loc
auto.boxing.make.boxing.explicit.quickfix=Make boxing explicit
auto.boxing.ignore.added.to.collection.option=Ignore expressions added to a collection
auto.unboxing.display.name=Auto-unboxing
auto.unboxing.problem.descriptor=Auto-unboxing <code>#ref</code> #loc
auto.unboxing.make.unboxing.explicit.quickfix=Make unboxing explicit
use.enum.as.identifier.display.name=Use of 'enum' as identifier
use.enum.as.identifier.problem.descriptor=Use of <code>#ref</code> as identifier #loc
enumerated.class.display.name=Enumerated class
enumerated.class.problem.descriptor=Enumerated class <code>#ref</code> #loc
extended.for.statement.display.name=Extended 'for' statement
extended.for.statement.replace.quickfix=Replace with old-style 'for' statement
variable.argument.method.display.name=Variable argument method
variable.argument.method.problem.descriptor=Variable argument method <code>#ref()</code> #loc
variable.argument.method.quickfix=Convert variable argument parameter to array
hardcoded.file.separator.display.name=Hardcoded file separator
hardcoded.file.separator.problem.descriptor=Hardcoded file separator <code>#ref</code> #loc
hardcoded.file.separator.include.option=Include "example/*" in recognized MIME media types
hardcoded.line.separator.display.name=Hardcoded line separator
hardcoded.line.separator.problem.descriptor=Hardcoded line separator <code>#ref</code> #loc
native.method.display.name=Native method
native.method.problem.descriptor=Methods declared <code>#ref</code> are non-portable #loc
runtime.exec.call.display.name=Call to 'Runtime.exec()'
runtime.exec.call.problem.descriptor=Call to <code>Runtime.#ref()</code> is non-portable #loc
system.exit.call.display.name=Call to 'System.exit()' or related methods
system.exit.call.problem.descriptor=Call to <code>{0}.#ref()</code> is non-portable #loc
system.exit.call.ignore.option=Ignore in main method
system.getenv.call.display.name=Call to 'System.getenv()'
system.getenv.call.problem.descriptor=Call to <code>System.#ref()</code> is non-portable #loc
use.of.awt.peer.class.display.name=Use of AWT peer class
use.of.awt.peer.class.problem.descriptor=Use of AWT peer class <code>#ref</code> is non-portable #loc
use.of.concrete.jdbc.driver.class.display.name=Use of concrete JDBC driver class
use.of.concrete.jdbc.driver.class.problem.descriptor=Use of concrete JDBC driver class <code>#ref</code> is non-portable #loc
use.processbuilder.class.display.name=Use of 'java.lang.ProcessBuilder' class
use.processbuilder.class.problem.descriptor=Use of <code>#ref</code> is non-portable #loc
use.sun.classes.display.name=Use of sun.* classes
use.sun.classes.problem.descriptor=Use of Sun-supplied class <code>#ref</code> is non-portable #loc
abstract.class.with.only.one.direct.inheritor.display.name=Abstract class which has only one direct inheritor
anonymous.inner.may.be.named.static.inner.class.display.name=Anonymous inner class may be a named static inner class
anonymous.inner.may.be.named.static.inner.class.problem.descriptor=Anonymous inner class <code>#ref</code> may be a named static inner class #loc
array.length.in.loop.condition.display.name=Array.length in loop condition
array.length.in.loop.condition.problem.descriptor=Check of array <code>#ref</code> in loop condition #loc
large.array.allocation.no.outofmemoryerror.display.name=Large array allocation with no OutOfMemoryError check
large.array.allocation.no.outofmemoryerror.problem.descriptor=Large array allocation which is not checked for out-of-memory condition #loc
large.array.allocation.no.outofmemoryerror.maximum.number.of.elements.option=Maximum number of elements:
connection.opened.not.safely.closed.display.name=Connection opened but not safely closed
field.repeatedly.accessed.in.method.display.name=Field repeatedly accessed in method
field.repeatedly.accessed.in.method.problem.descriptor=Field ''{0}'' accessed repeatedly in method <code>#ref()</code> #loc
field.repeatedly.accessed.in.method.ignore.option=Ignore 'final' fields
interface.one.inheritor.display.name=Interface which has only one direct inheritor
interface.one.inheritor.problem.descriptor=Interface <code>#ref</code> has only one direct inheritor #loc
method.call.in.loop.condition.display.name=Method call in loop condition
method.call.in.loop.condition.problem.descriptor=Call to method <code>#ref()</code> in loop condition #loc
large.initializer.primitive.type.array.display.name=Overly large initializer for array of primitive type
large.initializer.primitive.type.array.problem.descriptor=Primitive array initializer with too many elements ({0}) #loc
large.initializer.primitive.type.array.maximum.number.of.elements.option=Maximum number of elements:
private.member.access.between.outer.and.inner.classes.display.name=Private member access between outer and inner classes
private.member.access.between.outer.and.inner.classes.problem.descriptor=Access to private member of class ''{0}'' #loc
private.member.access.between.outer.and.inner.classes.make.local.quickfix=Make ''{0}'' package-local
private.member.access.between.outer.and.inner.classes.make.constructor.package.local.quickfix=Make ''{0}'' constructor package-local
recordstore.opened.not.safely.closed.display.name=RecordStore opened but not safely closed
overly.complex.anonymous.inner.class.display.name=Overly complex anonymous inner class
cyclomatic.complexity.limit.option=Cyclomatic complexity limit:
overly.complex.anonymous.inner.class.problem.descriptor=Overly complex anonymous inner class (cyclomatic complexity = {0}) #loc
anonymous.inner.class.with.too.many.methods.display.name=Anonymous inner class with too many methods
method.count.limit.option=Method count limit:
anonymous.inner.class.with.too.many.methods.problem.descriptor=Anonymous inner class with too many methods (method count = {0}) #loc
overly.complex.class.display.name=Overly complex class
overly.complex.class.problem.descriptor=<code>#ref</code> is overly complex (cyclomatic complexity = {0}) #loc
overly.coupled.class.display.name=Overly coupled class
overly.coupled.class.class.coupling.limit.option=Class coupling limit:
include.java.system.classes.option=Include couplings to java system classes
include.library.classes.option=Include couplings to library classes
overly.coupled.class.problem.descriptor=<code>#ref</code> is overly coupled (dependencies = {0}) #loc
class.too.deep.display.name=Class too deep in inheritance tree
class.too.deep.inheritance.depth.limit.option=Inheritance depth limit:
class.too.deep.problem.descriptor=<code>#ref</code> is too deep in inheritance tree (inheritance depth = {0}) #loc
inner.class.too.deeply.nested.display.name=Inner class too deeply nested
inner.class.too.deeply.nested.nesting.limit.option=Nesting limit:
inner.class.too.deeply.nested.problem.descriptor=<code>#ref</code> is too deeply nested (nesting level = {0}) #loc
too.many.constructors.display.name=Class with too many constructors
too.many.constructors.count.limit.option=Constructor count limit:
too.many.constructors.ignore.deprecated.option=Ignore deprecated constructors
too.many.constructors.problem.descriptor=<code>#ref</code> has too many constructors (constructor count = {0}) #loc
too.many.fields.display.name=Class with too many fields
too.many.fields.count.limit.option=Field count limit:
too.many.fields.problem.descriptor=<code>#ref</code> has too many fields (field count = {0}) #loc
too.many.methods.display.name=Class with too many methods
too.many.methods.problem.descriptor=<code>#ref</code> has too many methods (method count = {0}) #loc
externalizable.with.serialization.methods.display.name=Externalizable class with 'readObject()' or 'writeObject()'
externalizable.with.serialization.methods.problem.descriptor.both=Externalizable class <code>#ref</code> defines 'readObject()' and 'writeObject()' #loc
externalizable.with.serialization.methods.problem.descriptor.write=Externalizable class <code>#ref</code> defines 'writeObject()' #loc
externalizable.with.serialization.methods.problem.descriptor.read=Externalizable class <code>#ref</code> defines 'readObject()' #loc
non.serializable.with.serialversionuid.display.name=Non-serializable class with 'serialVersionUID'
non.serializable.class.with.serialversionuid.problem.descriptor=Non-serializable class <code>#ref</code> defines a 'serialVersionUID' field #loc
non.serializable.interface.with.serialversionuid.problem.descriptor=Non-serializable interface <code>#ref</code> defines a 'serialVersionUID' field #loc
non.serializable.@interface.with.serialversionuid.problem.descriptor=Non-serializable @interface <code>#ref</code> defines a 'serialVersionUID' field #loc
non.serializable.anonymous.with.serialversionuid.problem.descriptor=Non-serializable anonymous class extending <code>#ref</code> defines a 'serialVersionUID' field #loc
non.serializable.with.serialversionuid.remove.quickfix=Remove 'serialVersionUID' field
non.serializable.class.with.readwriteobject.display.name=Non-serializable class with 'readObject()' or 'writeObject()'
non.serializable.class.with.readwriteobject.problem.descriptor.both=Non-serializable class <code>#ref</code> defines 'readObject()' and 'writeObject()' #loc
non.serializable.class.with.readwriteobject.problem.descriptor.write=Non-serializable class <code>#ref</code> defines 'writeObject()' #loc
non.serializable.class.with.readwriteobject.problem.descriptor.read=Non-serializable class <code>#ref</code> defines 'readObject()' #loc
non.serializable.anonymous.with.readwriteobject.problem.descriptor.both=Non-serializable anonymous class extending <code>#ref</code> defines 'readObject()' and 'writeObject()' #loc
non.serializable.anonymous.with.readwriteobject.problem.descriptor.write=Non-serializable anonymous class extending <code>#ref</code> defines 'writeObject()' #loc
non.serializable.anonymous.with.readwriteobject.problem.descriptor.read=Non-serializable anonymous class extending <code>#ref</code> defines 'readObject()' #loc
readwriteobject.private.display.name='readObject()' or 'writeObject()' not declared 'private'
readwriteobject.private.problem.descriptor=<code>#ref</code> not declared 'private' #loc
readobject.initialization.display.name=Instance field may not be initialized by 'readObject()'
readobject.initialization.problem.descriptor=Instance field <code>#ref</code> may not be initialized during 'readObject()' call #loc
readresolve.writereplace.protected.display.name='readResolve()' or 'writeReplace()' not declared 'protected'
readresolve.writereplace.protected.problem.descriptor=<code>#ref()</code> not declared 'protected' #loc
serialpersistentfields.with.wrong.signature.display.name='serialPersistentFields' field not declared 'private static final ObjectStreamField[]'
serialpersistentfields.with.wrong.signature.problem.descriptor=<code>#ref</code> field of a Serializable class is not declared 'private static final ObjectStreamField[]' #loc
serialversionuid.private.static.final.long.display.name='serialVersionUID' field not declared 'private static final long'
serialversionuid.private.static.final.long.problem.descriptor=<code>#ref</code> field of a Serializable class is not declared 'private static final long' #loc
serialversionuid.private.static.final.long.quickfix=Make serialVersionUID 'private static final'
serializable.class.without.serialversionuid.display.name=Serializable class without 'serialVersionUID'
serializable.class.without.serialversionuid.problem.descriptor=<code>#ref</code> does not define a 'serialVersionUID' field #loc

#dynamic
non.protected.constructor.in.abstract.class.display.name='public' constructor in 'abstract' class
unnecessary.qualifier.for.this.display.name=Unnecessary qualifier for 'this'
multiple.declaration.display.name=Multiple variables in one declaration
thread.priority.display.name=Call to 'Thread.setPriority()'
too.broad.scope.display.name=Scope of variable is too broad
infinite.loop.statement.display.name=Infinite loop statement
asserts.without.messages.display.name=Message missing on JUnit assertion
constant.naming.convention.display.name=Constant naming convention
random.double.for.random.integer.display.name=Using 'Random.nextDouble()' to get random integer
test.method.without.assertion.display.name=JUnit test method without any assertions
string.buffer.replaceable.by.string.builder.display.name='StringBuffer' may be 'StringBuilder'
comparison.of.short.and.char.display.name=Comparison of 'short' and 'char' values
unnecessary.fully.qualified.name.display.name=Unnecessary fully qualified name
unnecessary.label.on.break.statement.display.name=Unnecessary label on 'break' statement
exception.name.doesnt.end.with.exception.display.name=Exception class name does not end with 'Exception'
bad.exception.declared.display.name=Prohibited exception declared
deserializable.class.in.secure.context.display.name=Deserializable class in secure context
pointless.boolean.expression.display.name=Pointless boolean expression
class.without.constructor.display.name=Class without constructor
break.statement.display.name='break' statement
unconditional.wait.display.name=Unconditional 'wait()' call
cyclomatic.complexity.display.name=Overly complex method
string.to.string.display.name=Redundant 'String.toString()'
constant.on.lhs.of.comparison.display.name=Constant on left side of comparison
final.class.display.name='final' class
labeled.statement.display.name=Labeled statement
notify.called.on.condition.display.name='notify()'  or 'notifyAll()' called on java.util.concurrent.locks.Condition object
loop.statements.that.dont.loop.display.name=Loop statement that does not loop
thread.run.display.name=Call to 'Thread.run()'
non.synchronized.method.overrides.synchronized.method.display.name=Unsynchronized method overrides synchronized method
constant.on.rhs.of.comparison.display.name=Constant on right side of comparison
synchronize.on.this.display.name=Synchronization on 'this'
switch.statement.with.too.many.branches.display.name='switch' statement with too many branches
utility.class.without.private.constructor.display.name=Utility class without private constructor
throw.caught.locally.display.name='throw' caught by containing 'try' statement
exception.from.catch.which.doesnt.wrap.display.name='throw' inside 'catch' block which ignores the caught exception
type.parameter.naming.convention.display.name=Type parameter naming convention
multiply.or.divide.by.power.of.two.display.name=Multiply or divide by power of two
multiply.or.divide.by.power.of.two.divide.option=Check divisions by a power of two also
serializable.with.unconstructable.ancestor.display.name=Serializable class with unconstructable ancestor
missorted.modifiers.display.name=Missorted modifiers
sleep.while.holding.lock.display.name=Call to 'Thread.sleep()' while synchronized
singleton.display.name=Singleton
thread.death.rethrown.display.name='java.lang.ThreadDeath' not rethrown
if.statement.with.too.many.branches.display.name='if' statement with too many branches
redundant.implements.display.name=Redundant interface declaration
nesting.depth.display.name=Overly nested method
return.this.display.name=Return of 'this'
busy.wait.display.name=Busy wait
utility.class.display.name=Utility class
instantiating.object.to.get.class.object.display.name=Instantiating object to get Class object
abstract.class.extends.concrete.class.display.name=Abstract class extends concrete class
parameter.naming.convention.display.name=Method parameter naming convention
integer.division.in.floating.point.context.display.name=Integer division in floating point context
interface.naming.convention.display.name=Interface naming convention
length.one.strings.in.concatenation.display.name=Single character string concatenation
length.one.string.in.indexof.display.name= Single character string argument in 'String.indexOf()' call
unnecessary.conditional.expression.display.name=Redundant conditional expression
thread.yield.display.name=Call to 'Thread.yield()'
confusing.floating.point.literal.display.name=Confusing floating-point literal
wait.not.in.loop.display.name='wait()' not in loop
string.concatenation.inside.string.buffer.append.display.name=String concatenation as argument to 'StringBuffer.append()' call
class.initializer.display.name=Non-'static' initializer
enumerated.class.naming.convention.display.name=Enumerated class naming convention
non.thread.safe.lazy.initialization.display.name=Unsafe lazy initialization of 'static' field
call.to.simple.setter.in.class.display.name=Call to simple setter from within class
comparison.to.nan.display.name=Comparison to Double.NaN or Float.NaN
instance.method.naming.convention.display.name=Instance method naming convention
unnecessary.semicolon.display.name=Unnecessary semicolon
fallthru.in.switch.statement.display.name=Fall-through in 'switch' statement
call.to.native.method.while.locked.display.name=Call to a native method while locked
switch.statement.display.name='switch' statement
custom.classloader.display.name=Custom ClassLoader
nested.conditional.expression.display.name=Nested conditional expression
duplicate.condition.display.name=Duplicate condition in 'if' statement
duplicate.boolean.branch.display.name=Duplicate condition on '\\&\\&' or '||'
method.with.multiple.loops.display.name=Method with multiple loops
non.comment.source.statements.display.name=Overly long method
local.variable.naming.convention.display.name=Local variable naming convention
negated.if.else.display.name='if' statement with negated condition
class.naming.convention.display.name=Class naming convention
abstract.class.naming.convention.display.name=Abstract class naming convention
serializable.inner.class.with.non.serializable.outer.class.display.name=Serializable non-'static' inner class with non-Serializable outer class
pointless.arithmetic.expression.display.name=Pointless arithmetic expression
method.name.same.as.class.name.display.name=Method name same as class name
unnecessary.temporary.on.conversion.to.string.display.name=Unnecessary temporary object in conversion to String
unnecessary.continue.display.name=Unnecessary 'continue' statement
inner.class.on.interface.display.name=Inner class of interface
unused.label.display.name=Unused label
multiple.typed.declaration.display.name=Variables of different types in one declaration
overly.complex.boolean.expression.display.name=Overly complex boolean expression
continue.statement.with.label.display.name='continue' statement with label
class.loader.instantiation.display.name=ClassLoader instantiation
return.from.finally.block.display.name='return' inside 'finally' block
unnecessary.boxing.display.name=Unnecessary boxing
annotation.naming.convention.display.name=Annotation naming convention
checked.exception.class.display.name=Checked exception class
switch.statement.with.confusing.declaration.display.name=Local variable used and declared in different 'switch' branches
cast.that.loses.precision.display.name=Numeric cast that loses precision
manual.array.copy.display.name=Manual array copy
manual.array.to.collection.copy.display.name=Manual array to collection copy
long.literals.ending.with.lowercase.l.display.name='long' literal ending with 'l' instead of 'L'
overly.complex.arithmetic.expression.display.name=Overly complex arithmetic expression
junit.abstract.test.class.naming.convention.display.name=JUnit abstract test class naming convention
unnecessary.parentheses.display.name=Unnecessary parentheses
test.case.in.product.code.display.name=JUnit TestCase in product source
test.method.in.product.code.display.name=JUnit test method in product source
serializable.class.in.secure.context.display.name=Serializable class in secure context
static.variable.naming.convention.display.name='static' field naming convention
nested.method.call.display.name=Nested method call
throw.from.finally.block.display.name='throw' inside 'finally' block
field.accessed.synchronized.and.unsynchronized.display.name=Field accessed in both synchronized and unsynchronized contexts
abstract.method.overrides.abstract.method.display.name=Abstract method overrides abstract method
static.non.final.field.display.name='static', non-'final' field
substring.zero.display.name=Redundant 'substring(0)' call
class.without.no.arg.constructor.display.name=Class without no-arg constructor
unnecessary.return.display.name=Unnecessary 'return' statement
final.static.method.display.name='static' method declared 'final'
constant.declared.in.abstract.class.display.name=Constant declared in abstract class
too.broad.catch.display.name=Overly broad 'catch' block
floating.point.equality.display.name=Floating point equality comparison
thrown.exceptions.per.method.display.name=Method with too many exceptions declared
public.static.array.field.display.name='public static' array field
await.not.in.loop.display.name='await()' not in loop
method.names.differ.only.by.case.display.name=Method names differing only by case
unsecure.random.number.generation.display.name=Insecure random number generation
parameters.per.method.display.name=Method with too many parameters
parameters.per.constructor.display.name=Constructor with too many parameters
unnecessary.unboxing.display.name=Unnecessary unboxing
extends.thread.display.name=Class explicitly extends 'java.lang.Thread'
misspelled.tear.down.display.name='teardown()' instead of 'tearDown()'
test.case.with.constructor.display.name=JUnit TestCase with non-trivial constructors
parameter.name.differs.from.overridden.parameter.display.name=Parameter name differs from parameter in overridden method
final.private.method.display.name='private' method declared 'final'
enum.switch.statement.which.misses.cases.display.name=Enum 'switch' statement that misses case
enum.switch.statement.which.misses.cases.option=Ignore switch statements with a default branch
setup.calls.super.setup.display.name='setUp()' does not call 'super.setUp()'
unconstructable.test.case.display.name=Unconstructable JUnit TestCase
volatile.long.or.double.field.display.name=Volatile long or double field
string.buffer.must.have.initial.capacity.display.name=StringBuffer or StringBuilder without initial capacity
method.may.be.static.display.name=Method may be 'static'
class.initializer.may.be.static.display.name=Class initializer may be 'static'
class.initializer.option=Only warn when the class has one or more constructors
class.initializer.move.code.to.constructor.quickfix=Move initializer code to constructor
nested.switch.statement.display.name=Nested 'switch' statement
c.style.array.declaration.display.name=C-style array declaration
final.method.in.final.class.display.name='final' method in 'final' class
extends.annotation.display.name=Class extends annotation interface
naked.notify.display.name='notify()' or 'notifyAll()' without corresponding state change
constant.if.statement.display.name=Constant 'if' statement
switch.statement.density.display.name='switch' statement with too low of a branch density
switch.statement.with.too.few.branches.display.name='switch' statement with too few branches
upper.case.field.name.not.constant.display.name=Non-constant field with upper-case name
unnecessary.label.on.continue.statement.display.name=Unnecessary label on 'continue' statement
jdbc.prepare.statement.with.non.constant.string.display.name='Connection.prepare*()' call with non-constant string
synchronize.on.non.final.field.display.name=Synchronization on a non-final field
noop.method.in.abstract.class.display.name=No-op method in abstract class
non.final.field.of.exception.display.name=Non-final field of exception class
nested.try.statement.display.name=Nested 'try' statement
condition.signal.display.name=Call to 'signal()' instead of 'signalAll()'
jdbc.execute.with.non.constant.string.display.name='Statement.execute()' call with non-constant string
system.set.security.manager.display.name=Call to 'System.setSecurityManager()'
system.set.security.manager.problem.descriptor=Call to <code>System.#ref()</code> may pose security concerns #loc
control.flow.statement.without.braces.display.name=Control flow statement without braces
trivial.if.display.name=Redundant 'if' statement
thread.with.default.run.method.display.name=Instantiating a Thread with default 'run()' method
while.loop.spins.on.field.display.name='while' loop spins on field
object.equals.null.display.name=Object.equals(null)
test.method.is.public.void.no.arg.display.name=Test method with incorrect signature
if.statement.with.identical.branches.display.name='if' statement with identical branches
multiple.return.points.per.method.display.name=Method with multiple return points
break.statement.with.label.display.name='break' statement with label
public.constructor.in.non.public.class.display.name='public' constructor in non-public class
questionable.name.display.name=Questionable name
empty.finally.block.display.name=Empty 'finally' block
abstract.method.overrides.concrete.method.display.name=Abstract method overrides concrete method
thread.stop.suspend.resume.display.name=Call to 'Thread.stop()', 'suspend()' or 'resume()'
constant.math.call.display.name=Constant call to 'java.lang.Math'
volatile.array.field.display.name=Volatile array field
literal.as.arg.to.string.equals.display.name='expression.equals("literal")' rather than '"literal".equals(expression)'
inner.class.may.be.static.display.name=Inner class may be 'static'
static.suite.display.name='suite()' method not declared 'static'
redundant.field.initialization.display.name=Redundant field initialization
string.buffer.to.string.in.concatenation.display.name='StringBuffer.toString()' in concatenation
utility.class.with.public.constructor.display.name=Utility class with 'public' constructor
for.loop.replaceable.by.while.display.name='for' loop may be replaced with 'while' loop
missing.deprecated.annotation.display.name=Missing @Deprecated annotation
cloneable.class.in.secure.context.display.name=Cloneable class in secure context
static.inheritance.display.name=Static inheritance
class.name.prefixed.with.package.name.display.name=Class name prefixed with package name
call.to.simple.getter.in.class.display.name=Call to simple getter from within class
class.name.differs.from.file.name.display.name=Class name differs from file name
protected.member.in.final.class.display.name='protected' member in 'final' class
load.library.with.non.constant.string.display.name=Call to 'System.loadLibrary()' with non-constant string
instanceof.catch.parameter.display.name='instanceof' on 'catch' parameter
implicit.numeric.conversion.display.name=Implicit numeric conversion
unnecessary.interface.modifier.display.name=Unnecessary interface modifier
confusing.main.method.display.name=Confusing 'main()' method
octal.literal.display.name=Octal integer
misordered.assert.equals.arguments.display.name=Misordered 'assertEquals()' arguments
unnecessary.constructor.display.name=Redundant no-arg constructor
method.name.same.as.parent.name.display.name=Method name same as parent class name
java.lang.reflect.display.name=Use of 'java.lang.reflect'
while.can.be.foreach.display.name='while' loop replaceable with 'foreach'
big.decimal.equals.display.name='equals()' called on java.math.BigDecimal
wait.not.in.synchronized.context.display.name='wait()' while not synchronized
implicit.call.to.super.display.name=Implicit call to 'super()'
empty.catch.block.display.name=Empty 'catch' block
unqualified.static.usage.display.name=Unqualified static access
simplifiable.junit.assertion.display.name=Simplifiable JUnit assertion
object.notify.display.name=Call to 'notify()' instead of 'notifyAll()'
thread.start.in.construction.display.name=Call to 'Thread.start()' during object construction
non.final.clone.display.name=Non-final 'clone()' in secure context
unnecessary.temporary.on.conversion.from.string.display.name=Unnecessary temporary object in conversion from String
unnecessary.this.display.name=Unnecessary 'this' qualifier
unnecessary.this.ignore.assignments.option=Ignore field assignments
runtime.exec.with.non.constant.string.display.name=Call to 'Runtime.exec()' with non-constant string
system.properties.display.name=Access of system properties
chained.method.call.display.name=Chained method calls
notify.not.in.synchronized.context.display.name='notify()' or 'notifyAll()' while not synchronized
safe.lock.display.name=Lock acquired but not safely unlocked
system.run.finalizers.on.exit.display.name=Call to 'System.runFinalizersOnExit()'
for.can.be.foreach.display.name='for' loop replaceable with 'foreach'
type.parameter.extends.object.display.name=Type parameter explicitly extends 'java.lang.Object'
marker.interface.display.name=Marker interface
limited.scope.inner.class.display.name=Limited-scope inner class
switch.statements.without.default.display.name='switch' statement without 'default' branch
unchecked.exception.class.display.name=Unchecked exception class
for.loop.with.missing.component.display.name='for' loop with missing components
for.loop.with.missing.component.collection.loop.option=Ignore collection iterations
double.checked.locking.display.name=Double-checked locking
double.checked.locking.problem.descriptor=Double-checked locking #loc
double.checked.locking.ignore.on.volatiles.option=Ignore double-checked locking on volatile fields
string.buffer.replaceable.by.string.display.name='StringBuffer' can be replaced with 'String'
boolean.method.name.must.start.with.question.display.name=Boolean method name must start with question word
class.name.same.as.ancestor.name.display.name=Class name same as ancestor name
error.rethrown.display.name='java.lang.Error' not rethrown
serializable.has.serialization.methods.display.name=Serializable class without 'readObject()' and 'writeObject()'
misspelled.set.up.display.name='setup()' instead of 'setUp()'
setup.is.public.void.no.arg.display.name='setUp()' with incorrect signature
missing.override.annotation.display.name=Missing @Override annotation
wait.while.holding.two.locks.display.name='wait()' while holding two locks
empty.class.display.name=Empty class
trivial.string.concatenation.display.name=Concatenation with empty string
empty.synchronized.statement.display.name=Empty 'synchronized' statement
unnecessary.default.display.name=Unnecessary 'default' for enum 'switch' statement
simplifiable.conditional.expression.display.name=Conditional that can be simplified to \\&\\& or ||
simplifiable.if.statement.display.name='if' statement may be replaced with \\&\\& or || expression
unnecessary.super.constructor.display.name=Unnecessary call to 'super()'
unnecessarily.qualified.static.usage.display.name=Unnecessarily qualified static access
bad.exception.caught.display.name=Prohibited exception caught
custom.security.manager.display.name=Custom SecurityManager
teardown.is.public.void.no.arg.display.name='tearDown()' with incorrect signature
string.concatenation.in.loops.display.name=String concatenation in loop
boolean.constructor.display.name=Boolean constructor call
continue.statement.display.name='continue' statement
extends.object.display.name=Class explicitly extends 'java.lang.Object'
serializable.inner.class.has.serial.version.uid.field.display.name=Serializable non-'static' inner class without 'serialVersionUID'
static.method.naming.convention.display.name='static' method naming convention
empty.try.block.display.name=Empty 'try' block
field.has.setter.but.no.getter.display.name=Field has setter but no getter
three.negations.per.method.display.name=Method with more than three negations
conditional.expression.display.name=Conditional expression (?:)
unnecessary.enum.modifier.display.name=Unnecessary enum modifier
string.equals.empty.string.display.name='String.equals("")'
teardown.calls.super.teardown.display.name='tearDown()' does not call 'super.tearDown()'
synchronize.on.lock.display.name=Synchronization on a Lock object
synchronized.on.literal.object.name=Synchronization on an object initialized with a literal
field.may.be.static.display.name=Field may be 'static'
class.may.be.interface.display.name=Class may be interface
abstract.class.without.abstract.methods.display.name=Abstract class without abstract methods
divide.by.zero.display.name=Divide by zero
default.not.last.case.in.switch.display.name='default' not last case in 'switch' statement
nested.synchronized.statement.display.name=Nested 'synchronized' statement
constant.conditional.expression.display.name=Constant conditional expression
unused.catch.parameter.display.name=Unused 'catch' parameter
class.in.top.level.package.display.name=Class without package statement
confusing.else.display.name=Confusing 'else' branch
public.field.accessed.in.synchronized.context.display.name=Non-private field accessed in synchronized context
string.replaceable.by.string.buffer.display.name=Non-constant String should be StringBuilder
junit.test.class.naming.convention.display.name=JUnit test class naming convention
method.coupling.display.name=Overly coupled method
collections.must.have.initial.capacity.display.name=Collection without initial capacity
anonymous.inner.class.display.name=Anonymous inner class
negated.conditional.display.name=Conditional expression with negated condition
non.reproducible.math.call.display.name=Non-reproducible call to 'java.lang.Math'
multiple.top.level.classes.in.file.display.name=Multiple top level classes in single file
set.replaceable.by.enum.set.display.name=Set replaceable with EnumSet
non.static.inner.class.in.secure.context.display.name=Non-'static' inner class in secure context
tail.recursion.display.name=Tail recursion
finally.block.cannot.complete.normally.display.name='finally' block which can not complete normally
non.atomic.operation.on.volatile.field.display.name=Non-atomic operation on volatile field
public.static.collection.field.display.name='public static' collection field
non.exception.name.ends.with.exception.display.name=Non-exception class name ends with 'Exception'
synchronized.method.display.name='synchronized' method
enumerated.constant.naming.convention.display.name=Enumerated constant naming convention
final.method.display.name='final' method
transient.field.in.non.serializable.class.display.name=Transient field in non-serializable class
bad.exception.thrown.display.name=Prohibited exception thrown
conditional.expression.with.identical.branches.display.name=Conditional expression with identical branches
raw.use.of.parameterized.type.display.name=Raw use of parameterized class
standard.variable.names.display.name=Standard variable names
instance.variable.naming.convention.display.name=Instance field naming convention
dollar.sign.in.name.display.name=Use of '$' in identifier
map.replaceable.by.enum.map.display.name=Map replaceable with EnumMap
extends.concrete.collection.display.name=Class explicitly extends a Collection class
continue.or.break.from.finally.block.display.name='continue' or 'break' inside 'finally' block
abstract.method.with.missing.implementations.display.name=Abstract method with missing implementations
object.allocation.in.loop.display.name=Object allocation in loop
wait.called.on.condition.display.name='wait()' called on java.util.concurrent.locks.Condition object
test.case.with.no.test.methods.display.name=JUnit test case with no tests
abstract.class.never.implemented.display.name=Abstract class which has no concrete subclass
interface.never.implemented.display.name=Interface which has no concrete subclass
constant.declared.in.interface.display.name=Constant declared in interface


#problem descriptors
exception.name.doesnt.end.with.exception.problem.descriptor=Exception class name <code>#ref</code> does not end with 'Exception' #loc
non.exception.name.ends.with.exception.problem.descriptor=Non-exception class name <code>#ref</code> ends with 'Exception' #loc
class.name.prefixed.with.package.name.problem.descriptor=Class name <code>#ref</code> begins with its package name #loc
class.name.same.as.ancestor.name.problem.descriptor=Class name <code>#ref</code> is the same as one of its superclass' names #loc
method.name.same.as.class.name.problem.descriptor=Method name <code>#ref</code> is the same as its class name #loc
method.name.same.as.parent.name.problem.descriptor=Method name <code>#ref</code> is the same as its parent class name #loc
boolean.method.name.must.start.with.question.problem.descriptor=Boolean method name <code>#ref</code> does not start with question word #loc
questionable.name.problem.descriptor=Questionable name <code>#ref</code> #loc
confusing.main.method.problem.descriptor=Method named <code>#ref</code> without signature 'public static void main(String[])' #loc
upper.case.field.name.not.constant.problem.descriptor=Non-constant field <code>#ref</code> with constant-style name #loc
dollar.sign.in.name.problem.descriptor=Identifier <code>#ref</code> contains '$' #loc
integer.division.in.floating.point.context.problem.descriptor=<code>#ref</code>: integer division in floating-point context #loc
comparison.of.short.and.char.problem.descriptor=Equality comparison <code>#ref</code> of short and char values #loc
big.decimal.equals.problem.descriptor=<code>#ref()</code> between BigDecimal values should probably be 'compareTo()' #loc
divide.by.zero.problem.descriptor=Division by zero #loc
non.reproducible.math.call.problem.descriptor=<code>Math.#ref()</code> may produce non-reproducible results #loc
constant.math.call.problem.descriptor=Constant call to <code>#ref()</code> can be simplified #loc
floating.point.equality.problem.descriptor=<code>#ref</code>: floating point values compared for exact equality #loc
fallthru.in.switch.statement.problem.descriptor=<code>#ref</code> fall-through in 'switch' statement #loc
switch.statements.without.default.problem.descriptor=<code>#ref</code> statement without 'default' branch #loc
default.not.last.case.in.switch.problem.descriptor=<code>#ref</code> branch not last case in 'switch' statement #loc
loop.statements.that.dont.loop.problem.descriptor=<code>#ref</code> statement does not loop #loc
conditional.expression.with.identical.branches.problem.descriptor=Conditional expression <code>#ref</code> with identical branches #loc
if.statement.with.identical.branches.problem.descriptor=<code>#ref</code> statement with identical branches #loc
duplicate.condition.problem.descriptor=Duplicate condition <code>#ref</code> #loc
duplicate.condition.ignore.method.calls.option=Ignore method calls in condition
duplicate.boolean.branch.problem.descriptor=Duplicate branch <code>#ref</code> #loc
iterator.next.does.not.throw.nosuchelementexception.problem.descriptor=<code>Iterator.#ref()</code> which can't throw 'NoSuchElementException' #loc
infinite.loop.statement.problem.descriptor=<code>#ref</code> statement cannot complete without throwing an exception #loc
confusing.floating.point.literal.problem.descriptor=Confusing floating point literal <code>#ref</code> #loc
overly.complex.arithmetic.expression.problem.descriptor=Overly complex arithmetic expression #loc
overly.complex.boolean.expression.problem.descriptor=Overly complex boolean expression ({0} terms) #loc
labeled.statement.problem.descriptor=Labeled statement <code>#ref:</code> #loc
break.statement.with.label.problem.descriptor=<code>#ref</code> statement with label #loc
continue.statement.with.label.problem.descriptor=<code>#ref</code> statement with label #loc
conditional.expression.problem.descriptor=Conditional expression <code>#ref</code> #loc
conditional.expression.option=Ignore for simple assignments and returns
nested.conditional.expression.problem.descriptor=Nested conditional expression <code>#ref</code> #loc
long.literals.ending.with.lowercase.l.problem.descriptor='long' literal <code>#ref</code> ends with lowercase 'l' #loc
nested.switch.statement.problem.descriptor=Nested <code>#ref</code> statement #loc
chained.method.call.problem.descriptor=Chained method call <code>#ref()</code> #loc
nested.method.call.problem.descriptor=Nested method call <code>#ref()</code> #loc
octal.literal.problem.descriptor=Octal integer <code>#ref</code> #loc
implicit.call.to.super.problem.descriptor=Implicit call to 'super()' #loc
negated.if.else.problem.descriptor=<code>#ref</code> statement with negated condition #loc
negated.conditional.problem.descriptor=Conditional expression with negated condition #loc
confusing.else.problem.descriptor=<code>#ref</code> branch may be unwrapped, as the 'if' branch never completes #loc
switch.statement.with.confusing.declaration.problem.descriptor=Local variable <code>#ref</code> declared in one 'switch' branch and used in another #loc
raw.use.of.parameterized.type.problem.descriptor=Raw use of parameterized class <code>#ref</code> #loc
final.class.problem.descriptor=Class declared <code>#ref</code> #loc
empty.class.problem.descriptor=Class <code>#ref</code> is empty #loc
empty.class.file.without.class.problem.descriptor=Java file does not declare any class #loc
empty.anonymous.class.problem.descriptor=Anonymous class is empty #loc
anonymous.inner.class.problem.descriptor=Anonymous inner class <code>#ref</code> #loc
limited.scope.inner.class.problem.descriptor=Limited-scope inner class <code>#ref</code> #loc
final.method.problem.descriptor=Method declared <code>#ref</code> #loc
class.initializer.problem.descriptor=Non-'static' initializer #loc
class.may.be.interface.problem.descriptor=<code>#ref</code> may be interface #loc
non.protected.constructor.in.abstract.class.problem.descriptor=Constructor <code>#ref()</code> is not declared 'protected' in 'abstract' class #loc
class.without.constructor.problem.descriptor=Class <code>#ref</code> has no constructor #loc
abstract.class.without.abstract.methods.problem.descriptor=Class <code>#ref</code> is declared 'abstract', and has no 'abstract' methods #loc
final.method.in.final.class.problem.descriptor=Method declared <code>#ref</code> in 'final' class #loc
protected.member.in.final.class.problem.descriptor=Class member declared <code>#ref</code> in 'final' class #loc
utility.class.with.public.constructor.problem.descriptor=Class <code>#ref</code> has only 'static' members, and a 'public' constructor #loc
utility.class.without.private.constructor.problem.descriptor=Class <code>#ref</code> has only 'static' members, and lacks a 'private' constructor #loc
abstract.method.overrides.concrete.method.problem.descriptor=Abstract method <code>#ref()</code> overrides concrete method #loc
abstract.method.with.missing.implementations.problem.descriptor=Abstract method <code>#ref()</code> is not implemented in every subclass #loc
abstract.method.overrides.abstract.method.problem.descriptor=Abstract method <code>#ref()</code> overrides abstract method #loc
abstract.method.overrides.abstract.method.ignore.different.javadoc.option=Ignore methods with different JavaDoc than their super methods
abstract.method.overrides.abstract.method.ignore.different.annotations.option=Ignore methods with different annotations than their super methods
abstract.class.extends.concrete.class.problem.descriptor=Class <code>#ref</code> is declared 'abstract', and extends a concrete class #loc
static.non.final.field.problem.descriptor='static' non-'final' field <code>#ref</code> #loc
constant.declared.in.abstract.class.problem.descriptor=Constant <code>#ref</code> declared in abstract class #loc
constant.declared.in.interface.problem.descriptor=Constant <code>#ref</code> declared in interface #loc
static.inheritance.problem.descriptor=Interface <code>#ref</code> is implemented only for its 'static' constants #loc
class.in.top.level.package.problem.descriptor=Class <code>#ref</code> lacks a package statement #loc
utility.class.problem.descriptor=Class <code>#ref</code> has only 'static' members, indicating procedural construction #loc
singleton.problem.descriptor=Class <code>#ref</code> is a singleton #loc
final.private.method.problem.descriptor='private' method declared <code>#ref</code> #loc
noop.method.in.abstract.class.problem.descriptor=No-op Method <code>#ref()</code> should be made abstract #loc
final.static.method.problem.descriptor='static' method declared <code>#ref</code> #loc
class.without.no.arg.constructor.problem.descriptor=<code>#ref</code> has no no-arg constructor #loc
multiple.top.level.classes.in.file.problem.descriptor=Multiple top level classes in file
class.name.differs.from.file.name.problem.descriptor=Class name <code>#ref</code> differs from file name #loc
marker.interface.problem.descriptor=Marker interface <code>#ref</code> #loc
field.has.setter.but.no.getter.problem.descriptor=Field <code>#ref</code> has setter but no getter #loc
abstract.class.never.implemented.problem.descriptor=Abstract class <code>#ref</code> has no concrete subclass #loc
interface.never.implemented.problem.descriptor=Interface <code>#ref</code> has no concrete subclass #loc
missing.deprecated.annotation.problem.descriptor=Missing '@Deprecated' annotation on <code>#ref()</code> #loc
missing.override.annotation.problem.descriptor=Missing '@Override' annotation on <code>#ref()</code> #loc
non.thread.safe.lazy.initialization.problem.descriptor=Lazy initialization of 'static' field <code>#ref</code> is not thread-safe #loc
empty.catch.block.problem.descriptor=Empty <code>#ref</code> block #loc
unused.catch.parameter.problem.descriptor=Unused 'catch' parameter <code>#ref</code> #loc
used.catch.parameter.named.ignore.problem.descriptor='catch' parameter named <code>#ref</code> is used #loc
empty.finally.block.problem.descriptor=Empty <code>#ref</code> block #loc
finally.block.cannot.complete.normally.problem.descriptor=<code>#ref</code> block can not complete normally #loc
empty.try.block.problem.descriptor=Empty <code>#ref</code> block #loc
throw.from.finally.block.problem.descriptor=<code>#ref</code> inside 'finally' block #loc
throw.caught.locally.problem.descriptor=<code>#ref</code> caught by containing 'try' statement #loc
throw.caught.locally.ignore.option=Ignore rethrown exceptions
return.from.finally.block.problem.descriptor=<code>#ref</code> inside 'finally' block #loc
continue.or.break.from.finally.block.problem.descriptor=<code>#ref</code> inside 'finally' block #loc
bad.exception.declared.problem.descriptor=Prohibited exception <code>#ref</code> declared #loc
bad.exception.caught.problem.descriptor=Prohibited exception <code>#ref</code> caught #loc
checked.exception.class.problem.descriptor=Checked exception class <code>#ref</code> #loc
unchecked.exception.class.problem.descriptor=Unchecked exception class <code>#ref</code> #loc
thread.death.rethrown.problem.descriptor=ThreadDeath <code>#ref</code> not rethrown #loc
error.rethrown.problem.descriptor=Error <code>#ref</code> not rethrown #loc
nested.try.statement.problem.descriptor=Nested <code>#ref</code> statement #loc
exception.from.catch.which.doesnt.wrap.problem.descriptor=<code>#ref</code> inside 'catch' block ignores the caught exception #loc
instanceof.catch.parameter.problem.descriptor='instanceof' on 'catch' parameter <code>#ref</code> #loc
non.final.field.of.exception.problem.descriptor=Non-final field <code>#ref</code> of exception class #loc
unnecessary.label.on.break.statement.problem.descriptor=Unnecessary label on <code>#ref</code> statement #loc
unnecessary.label.on.continue.statement.problem.descriptor=Unnecessary label on <code>#ref</code> statement #loc
trivial.if.problem.descriptor=<code>#ref</code> statement can be simplified #loc
constant.if.statement.problem.descriptor=<code>#ref</code> statement can be simplified #loc
unnecessary.parentheses.problem.descriptor=Parentheses around <code>#ref</code> are unnecessary #loc
unnecessary.local.variable.problem.descriptor=Local variable <code>#ref</code> is redundant #loc
unnecessary.this.problem.descriptor=<code>#ref</code> is unnecessary in this context #loc
unnecessary.block.statement.problem.descriptor=Braces around this statement are unnecessary #loc
unnecessary.continue.problem.descriptor=<code>#ref</code> is unnecessary as the last statement in a loop #loc
unnecessary.semicolon.problem.descriptor=Unnecessary semicolon <code>#ref</code> #loc
unnecessary.fully.qualified.name.problem.descriptor1=Fully qualified name <code>#ref</code> is unnecessary, and can be replaced with an import #loc
unnecessary.fully.qualified.name.problem.descriptor2=Fully qualified name <code>#ref</code> is unnecessary, and the qualification can be removed #loc
unnecessary.qualifier.for.this.problem.descriptor=Qualifier <code>#ref</code> on 'this' is unnecessary in this context #loc
unused.label.problem.descriptor=Unused label <code>#ref</code> #loc
redundant.field.initialization.problem.descriptor=Field initialization to <code>#ref</code> is redundant #loc
redundant.implements.problem.descriptor=Redundant interface declaration <code>#ref</code> #loc
extends.object.problem.descriptor=Class <code>#ref</code> explicitly extends 'java.lang.Object' #loc
type.parameter.extends.object.problem.descriptor1=Type parameter <code>#ref</code> explicitly extends 'java.lang.Object' #loc
type.parameter.extends.object.problem.descriptor2=Wildcard type argument <code>#ref</code> explicitly extends 'java.lang.Object' #loc
unnecessary.super.constructor.problem.descriptor=<code>#ref</code> is unnecessary #loc
unnecessary.constructor.problem.descriptor=No-arg constructor <code>#ref()</code> is redundant #loc
unnecessary.constructor.annotation.option=Ignore constructors with an annotation
for.loop.replaceable.by.while.problem.descriptor=<code>#ref</code> loop statement may be replace by 'while' loop #loc
unnecessary.default.problem.descriptor=<code>#ref</code> branch is unnecessary #loc
unnecessary.boxing.problem.descriptor=Unnecessary boxing <code>#ref</code> #loc
unnecessary.unboxing.problem.descriptor=Unnecessary unboxing <code>#ref</code> #loc
unnecessary.boxing.superfluous.option=Only report truly superfluously boxed expressions
unnecessary.unboxing.superfluous.option=Only report truly superfluously unboxed expressions
for.can.be.foreach.problem.descriptor=<code>#ref</code> loop replaceable with 'foreach' #loc
while.can.be.foreach.problem.descriptor=<code>#ref</code> loop replaceable with 'foreach' #loc
too.broad.scope.problem.descriptor=Scope of variable <code>#ref</code> is too broad #loc
return.this.problem.descriptor=Return of <code>#ref</code> #loc
constant.on.lhs.of.comparison.problem.descriptor=<code>#ref</code>: constant on left side of comparison #loc
constant.on.rhs.of.comparison.problem.descriptor=<code>#ref</code>: constant on right side of comparison #loc
control.flow.statement.without.braces.problem.descriptor=<code>#ref</code> without braces #loc
missorted.modifiers.problem.descriptor=Missorted modifiers <code>#ref</code> #loc
c.style.array.declaration.problem.descriptor=C-style array declaration <code>#ref</code> #loc
multiple.declaration.problem.descriptor=Multiple variables in one declaration #loc
multiple.typed.declaration.problem.descriptor=Variables of different types in one declaration #loc
serializable.inner.class.has.serial.version.uid.field.problem.descriptor=Inner class <code>#ref</code> does not define a 'serialVersionUID' field #loc
serializable.inner.class.with.non.serializable.outer.class.problem.descriptor=Inner class <code>#ref</code> is serializable while its outer class is not #loc
busy.wait.problem.descriptor=Call to <code>Thread.#ref()</code> in a loop, probably busy-waiting #loc
sleep.while.holding.lock.problem.descriptor=Call to <code>Thread.#ref()</code> while synchronized #loc
non.atomic.operation.on.volatile.field.problem.descriptor=Non-atomic operation on volatile field <code>#ref</code> #loc
call.to.native.method.while.locked.problem.descriptor=Call to native method <code>#ref()</code> in a synchronized context #loc
object.notify.problem.descriptor=<code>#ref</code> should probably be replaced with 'notifyAll()' #loc
condition.signal.problem.descriptor=<code>#ref</code> should probably be replaced with 'signalAll()' #loc
thread.with.default.run.method.problem.descriptor=Instantiating a <code>#ref</code> with default 'run()' method #loc
extends.thread.problem.descriptor=Class <code>#ref</code> explicitly extends 'java.lang.Thread' #loc
anonymous.extends.thread.problem.descriptor=Anonymous class explicitly extends 'java.lang.Thread' #loc
naked.notify.problem.descriptor=Call to <code>#ref()</code> without corresponding state change #loc
unconditional.wait.problem.descriptor=Unconditional call to <code>#ref()</code> #loc
system.run.finalizers.on.exit.problem.descriptor=Call to <code>System.#ref()</code> #loc
thread.priority.problem.descriptor=Call to <code>Thread.#ref()</code> #loc
thread.yield.problem.descriptor=Call to <code>Thread.#ref()</code> #loc
thread.stop.suspend.resume.problem.descriptor=Call to <code>Thread.#ref()</code> #loc
while.loop.spins.on.field.problem.descriptor=<code>#ref</code> loop spins on field #loc
wait.not.in.loop.problem.descriptor=Call to <code>#ref()</code> is not made in a loop #loc
await.not.in.loop.problem.descriptor=Call to <code>#ref()</code> is not made in a loop #loc
wait.called.on.condition.problem.descriptor=Call to <code>#ref()</code> on Condition object #loc
notify.called.on.condition.problem.descriptor=Call to <code>#ref()</code> on Condition object #loc
wait.not.in.synchronized.context.problem.descriptor=Call to <code>#ref</code> while not synchronized on ''{0}'' #loc
wait.while.holding.two.locks.problem.descriptor=Call to <code>#ref()</code> is made while holding two locks #loc
notify.not.in.synchronized.context.problem.descriptor=Call to <code>#ref()</code> is made outside of a synchronized context #loc
thread.run.problem.descriptor=Calls to <code>#ref()</code> should probably be replaced with 'start()' #loc
thread.start.in.construction.problem.descriptor=Call to <code>#ref</code> during object construction #loc
synchronize.on.lock.problem.descriptor=Synchronization on a ''{0}'' object is unlikely to be intentional #loc
synchronized.on.literal.object.problem.descriptor=Synchronization on {0} <code>#ref</code> which is initialized by a literal #loc
synchronized.on.direct.literal.object.problem.descriptor=Synchronization on {0} literal <code>#ref</code> #loc
synchronized.on.possibly.literal.object.problem.descriptor=Synchronization on {0} <code>#ref</code> #loc
synchronize.on.non.final.field.problem.descriptor=Synchronization on a non-final field <code>#ref</code> #loc
synchronized.on.literal.object.warn.on.all.option=Warn on all possible literals
synchronize.on.this.problem.descriptor=Lock operations on 'this' may have unforeseen side-effects #loc
nested.synchronized.statement.problem.descriptor=Nested <code>#ref</code> statement #loc
empty.synchronized.statement.problem.descriptor=Empty <code>#ref</code> statement #loc
non.synchronized.method.overrides.synchronized.method.problem.descriptor=Unsynchronized method <code>#ref()</code> overrides synchronized method #loc
public.field.accessed.in.synchronized.context.problem.descriptor=Non-private field <code>#ref</code> accessed in synchronized context  #loc
field.accessed.synchronized.and.unsynchronized.problem.descriptor=Field <code>#ref</code> is accessed in both synchronized and unsynchronized contexts #loc
extended.for.statement.problem.descriptor=Extended <code>#ref</code> statement #loc
object.allocation.in.loop.problem.descriptor=Object allocation <code>new #ref()</code> in loop #loc
instantiating.object.to.get.class.object.problem.descriptor=Instantiating object to get Class object #loc
field.may.be.static.problem.descriptor=Field <code>#ref</code> may be 'static' #loc
method.may.be.static.problem.descriptor=Method <code>#ref()</code> may be 'static' #loc
class.initializer.may.be.static.problem.descriptor=Class initializer may be 'static' #loc
map.replaceable.by.enum.map.problem.descriptor=<code>#ref</code> replaceable with 'EnumMap' #loc
set.replaceable.by.enum.set.problem.descriptor=<code>#ref</code> replaceable with 'EnumSet' #loc
inner.class.may.be.static.problem.descriptor=Inner class <code>#ref</code> may be 'static' #loc
string.buffer.must.have.initial.capacity.problem.descriptor=<code>new #ref()</code> without initial capacity #loc
string.buffer.replaceable.by.string.builder.problem.descriptor=<code>StringBuffer #ref</code> may be declared as 'StringBuilder' #loc
string.buffer.replaceable.by.string.problem.descriptor=<code>{0} #ref</code> can be replaced with ''String'' #loc
new.string.buffer.replaceable.by.string.problem.descriptor=<code>#ref</code> can be replaced with 'String' #loc
string.replaceable.by.string.buffer.problem.descriptor=Non-constant <code>String #ref</code> should probably be declared as ''StringBuilder'' #loc
collections.must.have.initial.capacity.problem.descriptor=<code>new #ref()</code> without initial capacity #loc
string.concatenation.in.loops.problem.descriptor=String concatenation <code>#ref</code> in loop #loc
string.concatenation.inside.string.buffer.append.problem.descriptor=String concatenation as argument to <code>{0}.#ref()</code> call #loc
boolean.constructor.problem.descriptor=Boolean constructor call #loc
string.to.string.problem.descriptor=<code>#ref</code> is redundant #loc
substring.zero.problem.descriptor=<code>#ref</code> is redundant #loc
string.buffer.to.string.in.concatenation.problem.descriptor=Calls to <code>StringBuffer.#ref()</code> in concatenation #loc
tail.recursion.problem.descriptor=Tail recursive call <code>#ref()</code> #loc
string.equals.empty.string.problem.descriptor=<code>#ref("")</code> can be replaced with 'length()==0' #loc
string.equals.empty.string.is.empty.problem.descriptor=<code>#ref("")</code> can be replaced with 'isEmpty()' #loc
random.double.for.random.integer.problem.descriptor=Using <code>Random.#ref</code> to create random integer #loc
manual.array.copy.problem.descriptor=Manual array copy #loc
manual.array.to.collection.copy.problem.descriptor=Manual array to collection copy #loc
java.lang.reflect.problem.descriptor=Use of type <code>#ref</code> from 'java.lang.reflect' #loc
call.to.simple.getter.in.class.problem.descriptor=Call to simple getter <code>#ref()</code> from within class #loc
call.to.simple.setter.in.class.problem.descriptor=Call to simple setter <code>#ref()</code> from within class #loc
asserts.without.messages.problem.descriptor=JUnit <code>#ref()</code> without message #loc
test.case.with.constructor.problem.descriptor=Initialization logic in constructor <code>#ref()</code> instead of 'setUp()' #loc
test.case.with.constructor.problem.descriptor.initializer=Initialization logic in initializer instead of 'setUp()'
misspelled.set.up.problem.descriptor=<code>#ref()</code> probably be 'setUp()' #loc
misordered.assert.equals.arguments.problem.descriptor=Arguments to <code>#ref()</code> in wrong order #loc
misspelled.tear.down.problem.descriptor=<code>#ref()</code> method should probably be 'tearDown()' #loc
static.suite.problem.descriptor=JUnit <code>#ref()</code> methods not declared 'static' #loc
setup.calls.super.setup.problem.descriptor=<code>#ref()</code> does not call 'super.setUp()' #loc
teardown.calls.super.teardown.problem.descriptor=<code>#ref()</code> does not call 'super.tearDown()' #loc
setup.is.public.void.no.arg.problem.descriptor=<code>#ref()</code> has incorrect signature
simplifiable.junit.assertion.problem.descriptor=<code>#ref()</code> can be simplified to ''{0}'' #loc
teardown.is.public.void.no.arg.problem.descriptor=<code>#ref()</code> has incorrect signature #loc
test.method.without.assertion.problem.descriptor=JUnit test method <code>#ref()</code> contains no assertions #loc
test.case.with.no.test.methods.problem.descriptor=JUnit test case <code>#ref</code> has no tests #loc
test.case.in.product.code.problem.descriptor=Test case <code>#ref</code> should probably be placed in a test source tree #loc
test.method.in.product.code.problem.descriptor=Test method <code>.#ref()</code> should probably be placed in a test source tree #loc
unconstructable.test.case.problem.descriptor=Test case <code>#ref</code> is unusable by most test runners #loc
deserializable.class.in.secure.context.problem.descriptor=Class <code>#ref</code> may be deserialized, compromising security #loc
serializable.class.in.secure.context.problem.descriptor=Class <code>#ref</code> may be serialized, compromising security #loc
cloneable.class.in.secure.context.problem.descriptor=Class <code>#ref</code> may be cloned, compromising security #loc
non.final.clone.problem.descriptor=Non-final <code>#ref()</code> method, compromising security #loc
non.static.inner.class.in.secure.context.problem.descriptor=Non-'static' inner class <code>#ref</code>, compromising security #loc
runtime.exec.with.non.constant.string.problem.descriptor=Call to <code>Runtime.#ref()</code> with non-constant argument #loc
load.library.with.non.constant.string.problem.descriptor=Call to <code>System.#ref()</code> with non-constant argument #loc
jdbc.execute.with.non.constant.string.problem.descriptor=Call to <code>Statement.#ref()</code> with non-constant argument #loc
jdbc.prepare.statement.with.non.constant.string.problem.descriptor=Call to <code>Connection.#ref()</code> with non-constant argument #loc
custom.classloader.problem.descriptor=Custom ClassLoader class <code>#ref</code> #loc
custom.security.manager.problem.descriptor=Custom SecurityManager class <code>#ref</code> #loc
system.set.problem.descriptor=Call to <code>System.#ref()</code> may pose security concerns #loc
class.loader.instantiation.problem.descriptor=Instantiation of <code>#ref</code> may pose security concerns #loc
public.static.array.field.problem.descriptor='public static' array field <code>#ref</code>, compromising security #loc
public.static.collection.field.problem.descriptor='public static' collection field <code>#ref</code>, compromising security #loc
abstract.class.with.only.one.direct.inheritor.problem.descriptor=Abstract class <code>#ref</code> has only one direct inheritor #loc

#other
abstract.method.overrides.abstract.method.remove.quickfix=Remove redundant abstract method declaration
class.may.be.interface.convert.quickfix=Convert class to interface
class.without.constructor.create.quickfix=Generate empty constructor
class.without.no.arg.constructor.ignore.option=Ignore if class has default constructor
extends.annotation.problem.descriptor=Class ''{0}'' explicitly extends annotation interface <code>#ref</code> #loc
extends.concrete.collection.problem.descriptor=Class <code>#ref</code> explicitly extends ''{0}'' #loc
anonymous.extends.concrete.collection.problem.descriptor=Anonymous class explicitly extends ''{0}'' #loc
inner.class.on.interface.ignore.option=Ignore inner interfaces of interfaces
inner.class.on.interface.problem.descriptor=Interface ''{0}'' has inner class <code>#ref</code> #loc
missing.deprecated.annotation.add.quickfix=Add @Deprecated annotation
missing.override.annotation.add.quickfix=Add @Override annotation
non.protected.constructor.in.abstract.class.ignore.option=Ignore for non-public classes
public.constructor.in.non.public.class.problem.descriptor=Constructor is declared <code>#ref</code> in non-public class ''{0}'' #loc
static.inheritance.replace.quickfix=Replace inheritance with qualified references in {0}
utility.class.with.public.constructor.make.quickfix=Make {0, choice, 1#constructor|2#constructors} private
utility.class.without.private.constructor.create.quickfix=Generate empty private constructor
utility.class.without.private.constructor.make.quickfix=Make constructor 'private'
annotation.naming.convention.problem.descriptor.short=Annotation name <code>#ref</code> is too short #loc
annotation.naming.convention.problem.descriptor.long=Annotation name <code>#ref</code> is too long #loc
annotation.naming.convention.problem.descriptor.regex.mismatch=Annotation name <code>#ref</code> doesn''t match regex ''{0}'' #loc
class.name.convention.problem.descriptor.short=Class name <code>#ref</code> is too short #loc
abstract.class.name.convention.problem.descriptor.short=Abstract class name <code>#ref</code> is too short #loc
class.name.convention.problem.descriptor.long=Class name <code>#ref</code> is too long #loc
abstract.class.name.convention.problem.descriptor.long=Abstract class name <code>#ref</code> is too long #loc
class.name.convention.problem.descriptor.regex.mismatch=Class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
abstract.class.name.convention.problem.descriptor.regex.mismatch=Abstract class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
constant.naming.convention.problem.descriptor.short=Constant name <code>#ref</code> is too short #loc
constant.naming.convention.problem.descriptor.long=Constant name <code>#ref</code> is too long #loc
constant.naming.convention.problem.descriptor.regex.mismatch=Constant <code>#ref</code> doesn''t match regex ''{0}'' #loc
constant.naming.convention.immutables.option=Only check 'static final' fields with immutable types
enumerated.class.naming.convention.problem.descriptor.short=Enumerated class name <code>#ref</code> is too short #loc
enumerated.class.naming.convention.problem.descriptor.long=Enumerated class name <code>#ref</code> is too long #loc
enumerated.class.naming.convention.problem.descriptor.regex.mismatch=Enumerated class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
enumerated.constant.naming.convention.problem.descriptor.short=Enumerated constant name <code>#ref</code> is too short #loc
enumerated.constant.naming.convention.problem.descriptor.long=Enumerated constant name <code>#ref</code> is too long #loc
enumerated.constant.naming.convention.problem.descriptor.regex.mismatch=Enumerated constant <code>#ref</code> doesn''t match regex ''{0}'' #loc
instance.method.name.convention.problem.descriptor.short=Instance method name <code>#ref</code> is too short #loc
instance.method.name.convention.problem.descriptor.long=Instance method name <code>#ref</code> is too long #loc
instance.method.name.convention.problem.descriptor.regex.mismatch=Instance method name <code>#ref</code> doesn''t match regex ''{0}'' #loc
instance.variable.name.convention.problem.descriptor.short=Instance field name <code>#ref</code> is too short #loc
instance.variable.name.convention.problem.descriptor.long=Instance field name <code>#ref</code> is too long #loc
instance.variable.name.convention.problem.descriptor.regex.mismatch=Instance field <code>#ref</code> doesn''t match regex ''{0}'' #loc
interface.name.convention.problem.descriptor.short=Interface name <code>#ref</code> is too short #loc
interface.name.convention.problem.descriptor.long=Interface name <code>#ref</code> is too long #loc
interface.name.convention.problem.descriptor.regex.mismatch=Interface name <code>#ref</code> doesn''t match regex ''{0}'' #loc
junit.abstract.test.class.naming.convention.problem.descriptor.short=Abstract JUnit test class name <code>#ref</code> is too short #loc
junit.abstract.test.class.naming.convention.problem.descriptor.long=Abstract JUnit test class name <code>#ref</code> is too long #loc
junit.abstract.test.class.naming.convention.problem.descriptor.regex.mismatch=Abstract JUnit test class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
junit.test.class.naming.convention.problem.descriptor.short=JUnit test class name <code>#ref</code> is too short #loc
junit.test.class.naming.convention.problem.descriptor.long=JUnit test class name <code>#ref</code> is too long #loc
junit.test.class.naming.convention.problem.descriptor.regex.mismatch=JUnit test class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
local.variable.naming.convention.problem.descriptor.short=Local variable name <code>#ref</code> is too short #loc
local.variable.naming.convention.problem.descriptor.long=Local variable name <code>#ref</code> is too long #loc
local.variable.naming.convention.problem.descriptor.regex.mismatch=Local variable name <code>#ref</code> doesn''t match regex ''{0}'' #loc
local.variable.naming.convention.ignore.option=Ignore for-loop parameters
local.variable.naming.convention.ignore.catch.option=Ignore 'catch' block parameters
method.names.differ.only.by.case.problem.descriptor=Method name <code>#ref</code> and method name ''{0}'' differ only by case #loc
parameter.name.differs.from.overridden.parameter.ignore.character.option=Ignore if overridden parameter contains only one character
parameter.name.differs.from.overridden.parameter.ignore.library.option=Ignore if overridden parameter is from a library
parameter.name.differs.from.overridden.parameter.problem.descriptor=Parameter name <code>#ref</code> is different from parameter ''{0}'' overridden #loc
parameter.naming.convention.problem.descriptor.short=Parameter name <code>#ref</code> is too short #loc
parameter.naming.convention.problem.descriptor.long=Parameter name <code>#ref</code> is too long #loc
parameter.naming.convention.problem.descriptor.regex.mismatch=Parameter name <code>#ref</code> doesn''t match regex ''{0}'' #loc
questionable.name.column.title=Name
standard.variable.names.problem.descriptor=Variable named <code>#ref</code> doesn''t have type ''{0}'' #loc
standard.variable.names.problem.descriptor2=Variable named <code>#ref</code> doesn''t have type ''{0}'' or ''{1}'' #loc
standard.variable.names.ignore.override.option=Ignore for parameter names identical to super method parameters
static.method.naming.convention.problem.descriptor.short='static' method name <code>#ref</code> is too short #loc
static.method.naming.convention.problem.descriptor.long='static' method name <code>#ref</code> is too long #loc
static.method.naming.convention.problem.descriptor.regex.mismatch='static' method name <code>#ref</code> doesn''t match regex ''{0}'' #loc
static.variable.naming.convention.problem.descriptor.short='static' field name <code>#ref</code> is too short #loc
static.variable.naming.convention.problem.descriptor.long='static' field name <code>#ref</code> is too long #loc
static.variable.naming.convention.problem.descriptor.regex.mismatch='static' field <code>#ref</code> doesn''t match regex ''{0}'' #loc
static.variable.naming.convention.mutable.option=Check 'static final' fields with a mutable type
type.parameter.naming.convention.problem.descriptor.short=Type parameter name <code>#ref</code> is too short #loc
type.parameter.naming.convention.problem.descriptor.long=Type parameter name <code>#ref</code> is too long #loc
boolean.method.name.must.start.with.question.table.column.name=Boolean method name prefix
conditional.expression.with.identical.branches.collapse.quickfix=Collapse conditional expression
confusing.else.unwrap.quickfix=Remove redundant 'else'
constant.conditional.expression.problem.descriptor=<code>#ref</code> can be simplified to ''{0}'' #loc
constant.conditional.expression.simplify.quickfix=Simplify
enum.switch.statement.which.misses.cases.problem.descriptor=<code>#ref</code> statement on enumerated type ''{0}'' misses cases #loc
for.loop.replaceable.by.while.ignore.option=Ignore 'infinite' for loops without conditions
for.loop.replaceable.by.while.replace.quickfix=Replace with 'while'
for.loop.with.missing.component.problem.descriptor1=<code>#ref</code> statement lacks initializer #loc
for.loop.with.missing.component.problem.descriptor2=<code>#ref</code> statement lacks condition #loc
for.loop.with.missing.component.problem.descriptor3=<code>#ref</code> statement lacks update #loc
for.loop.with.missing.component.problem.descriptor4=<code>#ref</code> statement lacks initializer and condition #loc
for.loop.with.missing.component.problem.descriptor5=<code>#ref</code> statement lacks initializer and update #loc
for.loop.with.missing.component.problem.descriptor6=<code>#ref</code> statement lacks condition and update #loc
for.loop.with.missing.component.problem.descriptor7=<code>#ref</code> statement lacks initializer, condition and update #loc
if.statement.with.identical.branches.collapse.quickfix=Collapse 'if' statement
foreach.replace.quickfix=Replace with 'foreach'
unnecessary.boxing.remove.quickfix=Remove boxing
unnecessary.unboxing.remove.quickfix=Remove unboxing
misordered.assert.equals.arguments.flip.quickfix=Flip compared arguments
setup.calls.super.setup.add.quickfix=Add call to 'super.setUp()'
simplify.junit.assertion.simplify.quickfix=Simplify assertion
teardown.calls.super.teardown.add.quickfix=Add call to 'super.tearDown()'
test.method.is.public.void.no.arg.problem.descriptor1=Test method <code>#ref()</code> should probably not have parameters #loc
test.method.is.public.void.no.arg.problem.descriptor2=Test method <code>#ref()</code> is not declared 'public void' #loc
test.method.is.public.void.no.arg.problem.descriptor3=Test method <code>#ref()</code> should not be 'static' #loc
system.properties.problem.descriptor=Call to <code>Integer.#ref()</code> may pose security concerns #loc
system.properties.problem.descriptor1=Call to <code>Boolean.#ref()</code> may pose security concerns #loc
unsecure.random.number.generation.problem.descriptor1=For security purposes, use 'java.security.SecureRandom' instead of <code>java.lang.Math.#ref()</code> #loc
unsecure.random.number.generation.problem.descriptor2=For security purposes, use 'java.security.SecureRandom' instead of <code>java.util.#ref</code> #loc
unsecure.random.number.generation.problem.descriptor3=For security purposes, use 'java.security.SecureRandom' instead of <code>#ref</code> #loc
serializable.has.serialization.methods.problem.descriptor=Serializable class <code>#ref</code> does not define 'readObject()' or 'writeObject()' #loc
serializable.has.serialization.methods.problem.descriptor1=Serializable class <code>#ref</code> does not define 'writeObject()' #loc
serializable.has.serialization.methods.problem.descriptor2=Serializable class <code>#ref</code> does not define 'readObject()' #loc
serializable.with.unconstructable.ancestor.problem.descriptor=<code>#ref</code> has a non-serializable ancestor ''{0}'' without no-arg constructor #loc
transient.field.in.non.serializable.class.problem.descriptor=Field ''{0}'' is marked <code>#ref</code>, in non-Serializable class #loc
transient.field.in.non.serializable.class.remove.quickfix=Remove 'transient'
condition.signal.replace.quickfix=Replace with 'signalAll()'
object.notify.replace.quickfix=Replace with 'notifyAll()'
safe.lock.problem.descriptor=''{0}'' should be locked in front of a ''try'' block and unlocked in the corresponding ''finally'' block #loc
synchronized.method.problem.descriptor=Method ''{0}()'' declared <code>#ref</code> #loc
synchronized.method.include.option=Include native methods
synchronized.method.ignore.synchronized.super.option=Ignore methods overriding a synchronized method
synchronized.method.move.quickfix=Move synchronization into method
thread.run.replace.quickfix=Replace with 'start()'
volatile.field.problem.descriptor=Volatile field <code>#ref</code> of type ''{0}'' #loc
string.format.choose.class=Choose Formatter class
string.format.class.column.name=Additional formatter classes
string.format.class.method.name=Additional formatter methods
exception.class.column.name=Exception class
bad.exception.thrown.problem.descriptor=Prohibited exception ''{0}'' thrown #loc
empty.catch.block.comments.option=Comments count as content
empty.catch.block.ignore.ignore.option=Ignore when 'catch' parameter is named 'ignore' or 'ignored'
too.broad.catch.problem.descriptor=''catch'' of <code>#ref</code> is too broad, masking exception ''{0}'' #loc
too.broad.catch.problem.descriptor1=''catch'' of <code>#ref</code> is too broad, masking exceptions ''{0}'' and ''{1}'' #loc
unused.catch.parameter.ignore.catch.option=Ignore when 'catch' block contains a comment
add.serialversionuidfield.quickfix=Add 'serialVersionUID' field
delete.import.quickfix=Delete unnecessary import
encapsulate.variable.quickfix=Encapsulate field ''{0}''
extract.method.quickfix=Extract method
inline.call.quickfix=Inline call
inline.variable.quickfix=Inline variable
pointless.nullcheck.display.name=Unnecessary 'null' check before 'instanceof' expression
pointless.nullcheck.problem.descriptor=Unnecessary 'null' check before 'instanceof' expression
pointless.nullcheck.simplify.quickfix=Remove unnecessary ''{0}'' condition
introduce.constant.quickfix=Introduce constant
make.initialization.explicit.quickfix=Make initialization explicit
move.anonymous.to.inner.quickfix=Convert to named inner class
anonymous.inner.may.be.named.static.inner.class.quickfix=Convert to named 'static' inner class
move.class.quickfix=Move class
normalize.declaration.quickfix=Split into multiple declarations
remove.modifier.quickfix=Remove ''{0}'' modifier
replace.inheritance.with.delegation.quickfix=Replace inheritance with delegation
big.decimal.equals.replace.quickfix=Replace with 'compareTo()==0'
cast.that.loses.precision.problem.descriptor=Cast to <code>#ref</code> from ''{0}'' may result in loss of precision #loc
comparison.to.nan.problem.descriptor1=Comparison to <code>#ref</code> is always false #loc
comparison.to.nan.problem.descriptor2=Comparison to <code>#ref</code> is always true #loc
comparison.to.nan.replace.quickfix=Replace with 'isNaN()'
confusing.floating.point.literal.change.quickfix=Change To canonical form
implicit.numeric.conversion.ignore.widening.conversion.option=Ignore widening conversions
implicit.numeric.conversion.ignore.char.conversion.option=Ignore conversions from and to char
implicit.numeric.conversion.ignore.constant.conversion.option=Ignore conversions from constants and literals
implicit.numeric.conversion.problem.descriptor=Implicit numeric conversion of <code>#ref</code> from ''{0}'' to ''{1}'' #loc
implicit.numeric.conversion.convert.quickfix=Convert to ''{0}'' literal
implicit.numeric.conversion.make.explicit.quickfix=Make conversion explicit
long.literals.ending.with.lowercase.l.replace.quickfix=Replace 'l' with 'L'
non.reproducible.math.call.replace.quickfix=Replace with 'StrictMath' call
overly.complex.arithmetic.expression.max.number.option=Maximum number of terms:
expression.can.be.replaced.problem.descriptor=<code>#ref</code> can be replaced with ''{0}'' #loc
method.complexity.limit.option=Method complexity limit:
cyclomatic.complexity.problem.descriptor=<code>#ref</code> is overly complex (cyclomatic complexity = {0}) #loc
method.coupling.limit.option=Method coupling limit:
method.coupling.problem.descriptor=<code>#ref</code> is overly coupled (# referenced classes = {0}) #loc
method.with.multiple.loops.problem.descriptor=<code>#ref</code> contains {0} loops #loc
return.point.limit.option=&Return point limit:
multiple.return.points.per.method.problem.descriptor=<code>#ref</code> has {0} return points #loc
nesting.depth.limit.option=Nesting depth limit:
nesting.depth.problem.descriptor=<code>#ref</code> is overly nested (maximum nesting depth = {0}) #loc
non.comment.source.statements.limit.option=Non-comment source statements limit:
non.comment.source.statements.problem.descriptor=<code>#ref</code> is too long (# Non-comment source statements = {0}) #loc
parameters.per.method.problem.descriptor=<code>#ref()</code> has too many parameters (num parameters = {0}) #loc
parameters.per.constructor.problem.descriptor=<code>#ref()</code> has too many parameters (num parameters = {0}) #loc
parameter.limit.option=Parameter limit:
constructor.visibility.option=Ignore constructors with visibility
three.negations.per.method.ignore.option=Ignore negations in 'equals()' methods
three.negations.per.method.ignore.assert.option=Ignore negations in 'assert' statements
three.negations.per.method.problem.descriptor=<code>#ref</code> contains {0} negations #loc
thrown.exceptions.per.method.problem.descriptor=<code>#ref</code> has too many exceptions declared (num exceptions = {0}) #loc
thrown.exceptions.per.method.limit.option=Exceptions thrown limit:
call.to.simple.getter.in.class.ignore.option=Ignore getter calls on other objects
call.to.private.simple.getter.in.class.option=Only report getter is private
call.to.simple.getter.in.class.inline.quickfix=Inline call to getter
call.to.simple.setter.in.class.ignore.option=Ignore setter calls on other objects
call.to.private.setter.in.class.option=Only report when setter is private
call.to.simple.setter.in.class.inline.quickfix=Inline call to setter
make.static.quickfix=Make static
length.one.strings.in.concatenation.replace.quickfix=Replace with character
multiply.or.divide.by.power.of.two.replace.quickfix=Replace with shift
boolean.expression.can.be.simplified.problem.descriptor=<code>#ref</code> can be simplified to ''{0}'' #loc
trivial.string.concatenation.problem.descriptor=Empty string used in concatenation
string.replace.quickfix=Replace concatenation with ''{0}''
instantiating.object.to.get.class.object.replace.quickfix=Replace with direct class object access
manual.array.copy.replace.quickfix=Replace with 'System.arrayCopy()'
manual.array.to.collection.copy.replace.quickfix=Replace with 'Collections.addAll(...,...)'
method.may.be.static.only.option=Only check 'private' or 'final' methods
method.may.be.static.empty.option=Ignore empty methods
random.double.for.random.integer.replace.quickfix=Replace with 'nextInt()'
string.buffer.replaceable.by.string.builder.replace.quickfix=Replace with 'StringBuilder'
string.buffer.to.string.in.concatenation.remove.quickfix=Remove 'toString()'
string.concatenation.in.loops.only.option=Only warn if string is repeatedly appended
string.concatenation.inside.string.buffer.append.replace.quickfix=Replace with chained 'append()' calls
string.equals.empty.string.quickfix=Replace with 'length()==0'
string.equals.empty.string.isempty.quickfix=Replace with 'isEmpty()'
tail.recursion.replace.quickfix=Replace tail recursion with iteration
if.statement.with.too.many.branches.max.option=Maximum number of branches:
if.statement.with.too.many.branches.problem.descriptor='<code>#ref</code>' has too many branches ({0}) #loc
negated.conditional.ignore.option=Ignore '!= null' comparisons
negated.conditional.invert.quickfix=Invert condition
negated.if.else.ignore.negated.null.option=Ignore '!= null' comparisons
negated.if.else.ignore.negated.zero.option=Ignore '!= 0' comparisons
negated.if.else.invert.quickfix=Invert If Condition
overly.complex.boolean.expression.max.terms.option=Maximum number of terms:
pointless.boolean.expression.ignore.option=Ignore named constants in determining pointless expressions
simplifiable.conditional.expression.problem.descriptor=<code>#ref</code> can be simplified to ''{0}'' #loc
simplifiable.if.statement.problem.descriptor=<code>#ref</code> statement can be replaced with ''{0}'' #loc
switch.statement.density.min.option=Minimum density of branches: %
switch.statement.density.problem.descriptor='<code>#ref</code>' has too low of a branch density ({0}%) #loc
switch.statement.with.too.few.branches.min.option=Minimum number of branches:
switch.statement.with.too.few.branches.problem.descriptor='<code>#ref</code>' has too few branches ({0}), and should probably be replaced with an ''if'' statement #loc
switch.statement.without.default.ignore.option=Ignore if all cases of an enumerated type are covered
unnecessary.label.remove.quickfix=Remove label
unnecessary.return.problem.descriptor=<code>#ref</code> is unnecessary as the last statement in a 'void' method #loc
unnecessary.return.constructor.problem.descriptor=<code>#ref</code> is unnecessary as the last statement in a constructor #loc
unused.label.remove.quickfix=Remove unused label
unnecessarily.qualified.static.usage.problem.descriptor=Unnecessarily qualified static method call <code>{0}()</code> #loc
unnecessarily.qualified.static.usage.problem.descriptor1=Unnecessarily qualified static access <code>{0}</code> #loc
unnecessarily.qualified.static.usage.ignore.field.option=Ignore unnecessarily qualified field accesses
unnecessarily.qualified.static.usage.ignore.method.option=Ignore unnecessarily qualified method calls
unnecessary.interface.modifier.problem.descriptor=Modifier <code>#ref</code> is redundant for interfaces #loc
unnecessary.interface.modifier.inner.interface.of.interface.problem.descriptor=Modifier <code>#ref</code> is redundant for inner interfaces #loc
unnecessary.interface.modifier.problem.descriptor2=Modifier <code>#ref</code> is redundant for interface methods #loc
unnecessary.interface.modifier.problem.descriptor3=Modifier <code>#ref</code> is redundant for inner classes of interfaces #loc
unnecessary.interface.modifier.problem.descriptor4=Modifier <code>#ref</code> is redundant for interface fields #loc
smth.unnecessary.remove.quickfix=Remove unnecessary ''{0}''
unqualified.static.usage.problem.descriptor=Unqualified static method call <code>#ref()</code> #loc
unqualified.static.usage.problem.descriptor1=Unqualified static field access <code>#ref</code> #loc
unqualified.static.usage.ignore.field.option=Ignore unqualified field accesses
unqualified.static.usage.ignore.method.option=Ignore unqualified method calls
unqualified.static.usage.qualify.field.quickfix=Qualify static field access
unqualified.static.usage.qualify.method.quickfix=Qualify static method call
too.broad.scope.allow.option=<html>Allow initializer of variables to construct objects.<br>(Potentially unsafe: quick fix may modify semantics if the constructor has non-local side-effects)</html>
too.broad.scope.only.blocks.option=Only report variables that can be moved into inner blocks
too.broad.scope.narrow.quickfix=Narrow scope of ''{0}''
press.escape.to.remove.highlighting.message=Press Escape to remove the highlighting
unnecessary.enum.modifier.problem.descriptor=Modifier <code>#ref</code> is redundant for enum constructors #loc
unnecessary.enum.modifier.problem.descriptor1=Modifier <code>#ref</code> is redundant for inner enums #loc
literal.as.arg.to.string.equals.problem.descriptor=<code>#ref</code> is argument of ''{0}()'', instead of its target #loc
literal.as.arg.to.string.equals.flip.quickfix=Flip 'equals()'
c.style.array.declaration.replace.quickfix=Replace with Java-style array declaration
chained.method.call.ignore.option=Ignore chained method calls in field initializers
chained.method.call.ignore.this.super.option=Ignore chained method calls in 'this()' and 'super()' calls
introduce.variable.quickfix=Introduce variable
introduce.variable.may.change.semantics.quickfix=Introduce variable (may change semantics)
flip.comparison.quickfix=Flip comparison
control.flow.statement.without.braces.add.quickfix=Add braces
extends.object.remove.quickfix=Remove redundant 'extends Object'
implicit.call.to.super.ignore.option=Ignore for direct subclasses of 'java.lang.Object'
implicit.call.to.super.make.explicit.quickfix=Make call to 'super()' explicit
missorted.modifiers.require.option=Require annotations to be sorted before keywords
missorted.modifiers.sort.quickfix=Sort modifiers
nested.method.call.ignore.option=Ignore nested method calls in field initializers
redundant.field.initialization.remove.quickfix=Remove initializer
redundant.implements.remove.quickfix=Remove redundant interface declaration
unnecessary.constructor.remove.quickfix=Remove redundant constructor
unnecessary.fully.qualified.name.replace.quickfix=Replace with import
unnecessary.fully.qualified.name.remove.quickfix=Remove qualification
unnecessary.fully.qualified.name.status.bar.escape.highlighting.message1=1 fully qualified name replaced with import (press Escape to remove highlighting)
unnecessary.fully.qualified.name.status.bar.escape.highlighting.message2={0} fully qualified names replaced with import (press Escape to remove highlighting)
unnecessary.parentheses.remove.quickfix=Remove unnecessary parentheses
unnecessary.qualifier.for.this.remove.quickfix=Remove unnecessary qualifier
unnecessary.semicolon.remove.quickfix=Remove unnecessary semicolon
unnecessary.super.constructor.remove.quickfix=Remove unnecessary 'super()'
unnecessary.this.remove.quickfix=Remove unnecessary 'this' qualifier
overly.strong.type.cast.problem.descriptor=Cast to <code>#ref</code> can be weakened to ''{0}'' #loc
field.count.inspection.include.constant.fields.in.count.checkbox=Include constant fields in count
field.count.inspection.static.final.fields.count.as.constant.checkbox='static final' fields count as constant
field.count.inspection.include.enum.constants.in.count=Include enum constants in count
make.method.final.fix.name=Make method ''{0}()'' ''final''
make.class.final.fix.name=Make class ''{0}'' ''final''
non.boolean.method.name.must.not.start.with.question.display.name=Non-boolean method name must not start with question word
non.boolean.method.name.must.not.start.with.question.problem.descriptor=Non-boolean method name <code>#ref</code> starts with a question word #loc
boolean.constructor.simplify.quickfix=Simplify
unnecessary.temporary.on.conversion.from.string.problem.descriptor=<code>#ref</code> #loc can be simplified to ''{0}''
unnecessary.temporary.on.conversion.from.string.fix.name=Replace with ''{0}''
only.report.qualified.static.usages.option=Only report qualified static access from a static context
unqualified,static.usage.only.report.static.usages.option=Only report static access from a non-static context
assignment.to.catch.block.parameter.problem.descriptor=Assignment to 'catch' block parameter <code>#ref</code> #loc
assignment.to.method.parameter.problem.descriptor=Assignment to method parameter <code>#ref</code> #loc
value.of.post.increment.problem.descriptor=Value of post-increment expression <code>#ref</code> is used #loc
value.of.post.decrement.problem.descriptor=Value of post-decrement expression <code>#ref</code> is used #loc
value.of.pre.increment.problem.descriptor=Value of pre-increment expression <code>#ref</code> is used #loc
value.of.pre.decrement.problem.descriptor=Value of pre-decrement expression <code>#ref</code> is used #loc
assignment.replaceable.with.operator.assignment.problem.descriptor=<code>#ref</code> could be simplified to ''{0}'' #loc
assignment.replaceable.with.operator.assignment.ignore.conditional.operators.option=Ignore conditional operators
assignment.replaceable.with.operator.assignment.ignore.obscure.operators.option=Ignore the obscure ^ and % operators
assignment.replaceable.with.operator.replace.quickfix=Replace '=' with ''{0}=''
object.equality.ignore.between.objects.of.a.type.with.only.private.constructors.option=Ignore '==' between objects of a type with only private constructors
redundant.method.override.display.name=Method is identical to its super method
redundant.method.override.problem.descriptor=Method <code>#ref()</code> is identical to its super method #loc
redundant.method.override.quickfix=Remove redundant method
refused.bequest.problem.descriptor=Method <code>#ref()</code> ignores defined method in superclass #loc
refused.bequest.ignore.empty.super.methods.option=Ignore empty super methods (degrades performance of this inspection)
overly.complex.boolean.expression.ignore.option=Ignore pure conjunctions and disjunctions
pointless.indexof.comparison.display.name=Pointless 'indexOf()' comparison
pointless.indexof.comparison.always.true.problem.descriptor=<code>#ref</code> is always true #loc
pointless.indexof.comparison.always.false.problem.descriptor=<code>#ref</code> is always false #loc
reuse.of.local.variable.problem.descriptor=Reuse of local variable <code>#ref</code> #loc
single.character.startswith.display.name=Single character 'startsWith()' or 'endsWith()'
single.character.startswith.problem.descriptor=Single character <code>#ref()</code> could be replaced with 'charAt()' expression #loc
indexof.replaceable.by.contains.display.name='indexOf()' expression is replaceable with 'contains()'
replace.indexof.with.contains.quickfix=Replace 'indexOf()' with 'contains()'
overloaded.methods.with.same.number.parameters.problem.descriptor=Multiple methods named <code>#ref</code> with the same number of parameters #loc
overloaded.vararg.method.problem.descriptor=Overloaded variable argument method <code>#ref()</code> #loc
overloaded.vararg.constructor.problem.descriptor=Overloaded variable argument constructor <code>#ref()</code> #loc
cached.number.constructor.call.display.name=Number constructor call with primitive argument
cached.number.constructor.call.problem.descriptor=Number constructor call with primitive argument #loc
cached.number.constructor.call.quickfix=Replace with ''{0}.valueOf()'' call
cached.number.constructor.call.ignore.string.arguments.option=Ignore new number expressions with a String argument
chained.equality.comparisons.problem.descriptor=Chained equality comparison <code>#ref</code> #loc
confusing.octal.escape.sequence.problem.descriptor=Octal escape sequence <code>#ref</code> immediately followed by digit #loc
field.accessed.synchronized.and.unsynchronized.option=Simple getters and setters are considered field accesses too
method.overrides.package.local.method.display.name=Method overrides package-local method of superclass located in other package
method.overrides.package.local.method.problem.descriptor=Method <code>#ref()</code> overrides a package-local method of a superclass located in another package #loc
suspicious.to.array.call.display.name=Suspicious 'Collection.toArray()' call
suspicious.to.array.call.problem.descriptor=Array of type ''{0}[]'' expected #loc
suspicious.system.arraycopy.display.name=Suspicious 'System.arraycopy()' call
suspicious.system.arraycopy.problem.descriptor1=Parameter 'srcPos' may not be negative #loc
suspicious.system.arraycopy.problem.descriptor2=Parameter 'destPos' may not be negative #loc
suspicious.system.arraycopy.problem.descriptor3=Parameter 'length' may not be negative #loc
suspicious.system.arraycopy.problem.descriptor4=<code>#ref</code> is not of an array type #loc
suspicious.system.arraycopy.problem.descriptor5=<code>#ref</code> is not of an array type #loc
suspicious.system.arraycopy.problem.descriptor6=Source parameter type ''{0}'' is not assignable to destination parameter <code>#ref</code> of type ''{1}'' #loc
raw.use.of.parameterized.type.ignore.new.objects.option=Ignore construction of new objects
raw.use.of.parameterized.type.ignore.type.casts.option=Ignore type casts
raw.use.of.parameterized.type.ignore.uncompilable.option=Ignore where a type parameter would not compile
raw.use.of.parameterized.type.ignore.overridden.parameter.option=Ignore parameter types of overriding methods
method.only.used.from.inner.class.display.name=Private method only used from inner class
method.only.used.from.inner.class.problem.descriptor.anonymous.extending=Method <code>#ref()</code>#loc is only used from an anonymous class extending ''{0}'' #loc
method.only.used.from.inner.class.problem.descriptor.anonymous.implementing=Method <code>#ref()</code>#loc is only used from an anonymous class implementing ''{0}'' #loc
method.only.used.from.inner.class.problem.descriptor=Method <code>#ref()</code>#loc is only used from inner class ''{0}'' #loc
method.only.used.from.inner.class.ignore.option=Ignore methods accessed from an &anonymous class
ignore.static.methods.accessed.from.a.non.static.inner.class=Ignore '&static' methods accessed from a non-'static' inner class
only.report.static.methods=&Only report 'static' methods
format.decode.error.requires.both.0.and.1=requires both {0} and {1}
format.decode.any=any
format.decode.date.time=Date/Time
format.decode.char=char
format.decode.integer.type=integer type
format.decode.floating.point=floating point
single.character.startswith.quickfix=Replace with 'charAt()'
interface.never.implemented.option=Ignore interfaces which only declare constants
size.replaceable.by.isempty.display.name='size() == 0' replaceable with 'isEmpty()'
size.replaceable.by.isempty.quickfix=Replace with 'isEmpty()'
size.replaceable.by.isempty.negation.ignore.option=Ignore expressions which would be replaced with '!isEmpty()'
ignored.classes.table=Ignored classes
choose.class.type.to.ignore=Choose class type to ignore
loop.condition.not.updated.inside.loop.display.name=Loop variable not updated inside loop
loop.variable.not.updated.inside.loop.problem.descriptor=Variable '#ref' is not updated inside loop #loc
loop.condition.not.updated.inside.loop.problem.descriptor=Condition '#ref' is not updated inside loop #loc
utility.class.without.private.constructor.option=Ignore classes with only a main method
super.class.logger.option=Ignore classes with an accessible logger declared in a superclass
static.method.only.used.in.one.class.display.name=Static method only used from one other class
static.method.only.used.in.one.class.problem.descriptor=Static method <code>#ref()</code> is only used from class ''{0}'' #loc
static.method.only.used.in.one.class.problem.descriptor.anonymous.implementing=Static method <code>#ref()</code> is only used from an anonymous class implementing ''{0}'' #loc
static.method.only.used.in.one.class.problem.descriptor.anonymous.extending=Static method <code>#ref()</code> is only used from an anonymous class extending ''{0}'' #loc
static.method.only.used.in.one.class.quickfix=Move method
static.method.only.used.in.one.class.ignore.test.option=Ignore when only used from a test class
unary.plus.display.name=Unary plus
unary.plus.problem.descriptor=Unary <code>#ref</code> operator #loc
await.without.corresponding.signal.display.name='await()' without corresponding 'signal()'
await.without.corresponding.signal.problem.descriptor=Call to <code>#ref</code> without corresponding <code>signal()</code> or <code>signalAll()</code> #loc
signal.without.corresponding.await.display.name='signal()' without corresponding 'await()'
signal.without.corresponding.await.problem.descriptor=Call to <code>#ref</code> without corresponding <code>await()</code> #loc
wait.without.corresponding.notify.display.name='wait()' without corresponding 'notify()'
wait.without.corresponding.notify.problem.descriptor=Call to <code>#ref</code> without corresponding <code>notify()</code> or <code>notifyAll()</code> #loc
notify.without.corresponding.wait.display.name='notify()' without corresponding 'wait()'
notify.without.corresponding.wait.problem.descriptor=Call to <code>#ref</code> without corresponding <code>wait()</code> #loc
integer.multiplication.implicit.cast.to.long.display.name=Integer multiplication or shift implicitly cast to long
integer.multiplication.implicit.cast.to.long.problem.descriptor=#ref: integer multiplication or shift implicitly cast to long #loc
integer.multiplication.implicit.cast.to.long.option=<html>Ignore compile time constant expressions which do not overflow</html>
wait.or.await.without.timeout.display.name='wait()' or 'await()' without timeout
wait.or.await.without.timeout.problem.descriptor=<code>#ref</code> without timeout #loc
method.return.always.constant.display.name=Method returns per-class constant
method.return.always.constant.problem.descriptor=Method <code>#ref()</code> returns a per-class constant
class.with.too.many.dependencies.display.name=Class with too many dependencies
class.with.too.many.dependencies.problem.descriptor=Class ''{0}'' has too many dependencies ({1} > {2})
class.with.too.many.transitive.dependencies.display.name=Class with too many transitive dependencies
class.with.too.many.transitive.dependencies.problem.descriptor=Class ''{0}'' has too many transitive dependencies ({1} > {2})
class.with.too.many.dependents.display.name=Class with too many dependents
class.with.too.many.dependents.problem.descriptor=Class ''{0}'' has too many dependents ({1} > {2})
class.with.too.many.transitive.dependents.display.name=Class with too many transitive dependents
class.with.too.many.transitive.dependents.problem.descriptor=Class ''{0}'' has too many transitive dependencies ({1} > {2})
class.with.too.many.dependencies.max.option=Maximum number of dependencies
class.with.too.many.dependents.max.option=Maximum number of dependents
class.with.too.many.transitive.dependencies.max.option=Maximum number of transitive dependencies
class.with.too.many.transitive.dependents.max.option=Maximum number of transitive dependents
cyclic.class.dependency.display.name=Cyclic class dependency
cyclic.class.dependency.problem.descriptor=Class ''{0}'' is cyclically dependent on {1} other classes
cyclic.class.dependency.1.problem.descriptor=Class ''{0}'' is cyclically dependent on class ''{1}''
cyclic.class.dependency.2.problem.descriptor=Class ''{0}'' is cyclically dependent on classes ''{1}'' and ''{2}''
cyclic.package.dependency.display.name=Cyclic package dependency
cyclic.package.dependency.problem.descriptor=Package ''{0}'' is cyclically dependent on {1} other packages
cyclic.package.dependency.1.problem.descriptor=Package ''{0}'' is cyclically dependent on package ''{1}''
cyclic.package.dependency.2.problem.descriptor=Package ''{0}'' is cyclically dependent on packages ''{1}'' and ''{2}''
class.unconnected.to.package.display.name=Class independent of its package
class.unconnected.to.package.problem.descriptor=Class <code>#ref</code> has no dependencies or dependents in its package
package.with.too.many.classes.display.name=Package with too many classes
package.with.too.many.classes.problem.descriptor=Package ''{0}'' contains too many classes ({1} > {2})
package.with.too.many.classes.max.option=Maximum number of classes:
package.with.too.few.classes.display.name=Package with too few classes
package.with.too.few.classes.problem.descriptor=Package ''{0}'' contains too few classes ({1} < {2})
package.with.too.few.classes.min.option=Minimum number of classes:
module.with.too.many.classes.display.name=Module with too many classes
module.with.too.many.classes.problem.descriptor=Module ''{0}'' contains too many classes ({1} > {2})
module.with.too.many.classes.max.option=Maximum number of classes:
module.with.too.few.classes.display.name=Module with too few classes
module.with.too.few.classes.problem.descriptor=Module ''{0}'' contains too few classes ({1} < {2})
module.with.too.few.classes.min.option=Minimum number of classes:
package.in.multiple.modules.display.name=Package with classes in multiple modules
package.in.multiple.modules.problem.descriptor=Package ''{0}'' has classes in multiple modules
disjoint.package.display.name=Package with disjoint dependency graph
disjoint.package.problem.descriptor=Package {0} can be decomposed into {1} independent packages
package.naming.convention.display.name=Package naming convention
package.naming.convention.problem.descriptor.short=Package name <code>{0}</code> is too short
package.naming.convention.problem.descriptor.long=Package name <code>{0}</code> is too long
package.naming.convention.problem.descriptor.regex.mismatch=Package name <code>{0}</code> doesn''t match regex ''{1}''
cyclic.class.initialization.display.name=Cyclic class initialization dependency
cyclic.class.initialization.problem.descriptor=Initialization of class ''{0}'' is cyclically dependent on {1} other classes
before.or.after.is.public.void.no.arg.display.name=Malformed @Before or @After method
before.or.after.is.public.void.no.arg.problem.descriptor=<code>#ref()</code> has incorrect signature for a @Before or @After method #loc
before.class.or.after.class.is.public.static.void.no.arg.display.name=Malformed @BeforeClass or @AfterClass method
before.class.or.after.class.is.public.static.void.no.arg.problem.descriptor=<code>#ref()</code> has incorrect signature for a @BeforeClass or @AfterClass method #loc
string.constructor.display.name=Redundant String constructor call
string.constructor.problem.descriptor=<code>#ref</code> is redundant #loc
string.constructor.replace.arg.quickfix=Replace with arg
string.constructor.replace.empty.quickfix=Replace with empty string
string.constructor.substring.parameter.option=Ignore string constructor calls with a 'substring()' call argument
design.for.extension.display.name=Design for extension
design.for.extension.problem.descriptor=Method <code>#ref()</code> may be overridden and its functionality ignored #loc
bad.oddness.display.name=Suspicious test for oddness
bad.oddness.problem.descriptor=Test for oddness <code>#ref</code> will fail on negative values #loc
comparator.not.serializable.display.name=Comparator class not declared Serializable
comparator.not.serializable.problem.descriptor=Comparator class <code>#ref</code> is not declared as Serializable #loc
non.serializable.field.in.serializable.class.display.name=Non-serializable field in a Serializable class
non.serializable.field.in.serializable.class.problem.descriptor=Non-serializable field '#ref' in a Serializable class #loc
non.serializable.object.passed.to.object.stream.display.name=Non-serializable object passed to ObjectOutputStream
non.serializable.object.passed.to.object.stream.problem.descriptor=Non-serializable object passed to ObjectOutputStream #loc
non.serializable.object.bound.to.http.session.display.name=Non-serializable object bound to HttpSession
non.serializable.object.bound.to.http.session.problem.descriptor=Non-serializable object bound to HttpSession #loc
reflection.for.unavailable.annotation.display.name=Reflective access to a source-only annotation
reflection.for.unavailable.annotation.problem.descriptor=Annotation '#ref' is not retained for reflective access #loc
access.to.static.field.locked.on.instance.display.name=Access to static field locked on instance data
access.to.static.field.locked.on.instance.problem.descriptor=Access to static field <code>#ref</code> locked on instance data #loc
make.method.ctr.quickfix=Make method constructor
replace.all.dot.display.name=Call to String.replaceAll(".", ...)
replace.all.dot.problem.descriptor=Call to <code>String.#ref(".", ...)</code> #loc
constant.string.intern.display.name=Call to 'intern()' on String constant
constant.string.intern.problem.descriptor=<code>.#ref()</code> on compile-time constant is unnecessary #loc
constant.string.intern.quickfix=Remove 'intern()' call
class.extends.utility.class.display.name=Class extends utility class
class.extends.utility.class.problem.descriptor=Class <code>#ref</code> extends utility class ''{0}'' #loc
class.extends.utility.class.ignore.utility.class.option=Ignore if overriding class is a utility class
public.constructor.in.non.public.class.quickfix=Make constructor ''{0}''
assignment.to.method.parameter.ignore.transformation.option=<html>Ignore if assignment is a transformation of the original parameter</html>
type.parameter.extends.final.class.display.name=Type parameter extends final class
type.parameter.extends.final.class.problem.descriptor1=Type parameter <code>#ref</code> extends ''final'' class ''{0}'' #loc
type.parameter.extends.final.class.problem.descriptor2=Wildcard type argument <code>#ref</code> extends ''final'' class ''{0}'' #loc
type.parameter.extends.final.class.quickfix=Replace type parameter with actual class
double.negation.display.name=Double negation
double.negation.problem.descriptor=Double negation in <code>#ref</code> #loc
double.negation.quickfix=Remove double negation
exception.from.catch.which.doesntwrap.ignore.option=Ignore if result of exception method call is used
exception.from.catch.which.doesntwrap.ignore.cant.wrap.option=Ignore if thrown exception cannot wrap an exception
comparable.implemented.but.equals.not.overridden.display.name=Comparable implemented but 'equals()' not overridden
comparable.implemented.but.equals.not.overridden.problem.descriptor=Class <code>#ref</code> implements 'java.lang.Comparable' but does not override 'equals()' #loc
unqualified.field.access.display.name=Instance field access not qualified with 'this'
unqualified.field.access.problem.descriptor=Instance field access <code>#ref</code> is not qualified with 'this' #loc
unqualified.method.access.display.name=Instance method call not qualified with 'this'
unqualified.method.access.problem.descriptor=Instance method call <code>#ref</code> is not qualified with 'this' #loc
add.this.qualifier.quickfix=Add 'this' qualifier
while.loop.spins.on.field.ignore.non.empty.loops.option=Only warn if the loop is empty
method.may.be.synchronized.problem.descriptor=Method <code>#ref()</code> with synchronized block could be synchronized method #loc
method.may.be.synchronized.display.name=Method with synchronized block could be synchronized method
method.may.be.synchronized.quickfix=Make method synchronized and remove synchronized block
fallthru.in.switch.statement.quickfix=Add 'break'
law.of.demeter.display.name=Method call violates Law of Demeter
law.of.demeter.problem.descriptor=<code>#ref()</code> call violates Law of Demeter #loc
law.of.demeter.ignore.library.calls.option=Ignore calls on library methods
assertequals.between.inconvertible.types.display.name='assertEquals()' between objects of inconvertible types
assertequals.between.inconvertible.types.problem.descriptor=<code>#ref()</code> between objects of inconvertible types ''{0}'' and ''{1}'' #loc
enumeration.can.be.iteration.display.name=Enumeration can be iteration
enumeration.can.be.iteration.problem.descriptor=<code>#ref()</code> can be replaced with ''{0}'' construct #loc
enumeration.can.be.iteration.quickfix=Replace with 'Iterator' construct
equals.hashcode.called.on.url.display.name='equals()' or 'hashCode()' called on java.net.URL object
equals.hashcode.called.on.url.problem.descriptor=Call to <code>#ref()</code> on URL object #loc
collection.contains.url.problem.decriptor={0} <code>#ref</code> may contain URL objects #loc
collection.contains.url.display.name=Map or Set may contain java.net.URL objects
implicit.array.to.string.problem.descriptor=Implicit call to 'toString()' on array <code>#ref</code> #loc
explicit.array.to.string.problem.descriptor=Call to '#ref()' on array #loc
implicit.array.to.string.method.call.problem.descriptor=Implicit call to 'toString()' on array returned by call to <code>#ref</code> #loc
implicit.array.to.string.display.name=Call to 'toString()' on array
implicit.array.to.string.quickfix=Wrap with ''{0}'' expression
suspicious.indent.after.control.statement.problem.descriptor=<code>#ref</code> statement has suspicious indentation #loc
suspicious.indent.after.control.statement.display.name=Suspicious indentation after control statement without braces
unpredictable.big.decimal.constructor.call.display.name=Unpredictable BigDecimal constructor call
unpredictable.big.decimal.constructor.call.problem.descriptor=Unpredictable <code>new #ref()</code> call #loc
unpredictable.big.decimal.constructor.call.ignore.references.option=Ignore constructor calls with variable or method call arguments
unpredictable.big.decimal.constructor.call.ignore.complex.literals.option=Ignore constructor calls with multiple literals (e.g. 0.1 + 0.2)
unpredictable.big.decimal.constructor.call.quickfix=Replace with ''new BigDecimal("{0}")''
unnecessary.unary.minus.display.name=Unnecessary unary minus
unnecessary.unary.minus.problem.descriptor=Unnecessary unary minus #loc
unnecessary.unary.minus.quickfix=Remove unary minus and invert parent operation sign
make.field.final.quickfix=Make ''{0}'' ''final''
increment.decrement.used.as.expression.quickfix=Extract ''{0}'' to separate statement
ignore.classes.in.hierarchy.column.name=Ignore subclasses of
overly.strong.type.cast.ignore.in.matching.instanceof.option=Ignore casts with a matching instanceof expression
return.of.collection.field.quickfix=Replace with ''{0}''
access.to.non.thread.safe.static.field.from.instance.display.name=Non thread-safe static field access
access.to.non.thread.safe.static.field.from.instance.field.problem.descriptor=Access to non thread-safe static field <code>#ref</code> of type ''{0}'' #loc
access.to.non.thread.safe.static.field.from.instance.option.title=Non thread safe classes
access.to.non.thread.safe.static.field.from.instance.class.chooser.title=Choose non thread safe class
transient.field.not.initialized.display.name=Transient field is not initialized on deserialization
transient.field.not.initialized.problem.descriptor=Transient field <code>#ref</code> not initialized on deserialization #loc
call.to.string.concat.can.be.replaced.by.operator.display.name=Call to 'String.concat()' can be replaced with '+'
call.to.string.concat.can.be.replaced.by.operator.problem.descriptor=Call to <code>#ref()</code> can be replaced with '+' expression #loc
call.to.string.concat.can.be.replaced.by.operator.quickfix=Replace 'concat()' call with '+'
new.string.buffer.with.char.argument.display.name=StringBuffer constructor call with 'char' argument
new.string.buffer.with.char.argument.problem.descriptor=<code>new #ref()</code> with argument of type 'char' #loc
new.string.buffer.with.char.argument.quickfix=Replace char argument with String literal
comparator.method.parameter.not.used.display.name='Comparator.compare()' method does not use parameter
comparator.method.parameter.not.used.problem.descriptor='compare()' parameter <code>#ref</code> is not used #loc
to.array.call.with.zero.length.array.argument.display.name=Call to 'Collection.toArray()' with zero-length array argument
to.array.call.with.zero.length.array.argument.problem.descriptor=Call to <code>#ref()</code> with zero-length array argument ''{0}'' #loc
to.array.call.with.zero.length.array.argument.quickfix=Replace argument with correctly sized array
throwable.instance.never.thrown.display.name=Throwable instance not thrown
throwable.instance.never.thrown.runtime.exception.problem.descriptor=Runtime exception instance <code>#ref</code> is not thrown #loc
throwable.instance.never.thrown.checked.exception.problem.descriptor=Checked exception instance <code>#ref</code> is not thrown #loc
throwable.instance.never.thrown.error.problem.descriptor=Error instance <code>#ref</code> is not thrown #loc
throwable.instance.never.thrown.problem.descriptor=Throwable instance <code>#ref</code> is not thrown #loc
type.may.be.weakened.display.name=Type may be weakened
type.may.be.weakened.problem.descriptor=Type of variable <code>#ref</code> may be weakened to {0} #loc
type.may.be.weakened.method.problem.descriptor=Return type of method <code>#ref()</code> may be weakened to {0} #loc
type.may.be.weakened.parameter.problem.descriptor=Type of parameter <code>#ref</code> may be weakened to {0} #loc
type.may.be.weakened.field.problem.descriptor=Type of field <code>#ref</code> may be weakened to {0} #loc
type.may.be.weakened.quickfix=Weaken type to ''{0}''
type.may.be.weakened.ignore.option=Use &righthand type as weakest type in assignments
type.may.be.weakened.collection.method.option=Use &parameterized type of collection for method call arguments
type.may.be.weakened.do.not.weaken.to.object.option=Do not &weaken to 'java.lang.Object'
ignore.guard.clauses.option=Ignore &guard clauses
ignore.for.equals.methods.option=Ignore for '&equals()' methods
caught.exception.immediately.rethrown.display.name=Caught exception is immediately rethrown
caught.exception.immediately.rethrown.problem.descriptor=Caught exception <code>#ref</code> is immediately rethrown #loc
delete.catch.section.quickfix=Delete 'catch' section
remove.try.catch.quickfix=Remove 'try catch' statement
loop.with.implicit.termination.condition.display.name=Loop with implicit termination condition
loop.with.implicit.termination.condition.dowhile.problem.descriptor=<code>#ref-while</code> loop with implicit termination condition #loc
loop.with.implicit.termination.condition.problem.descriptor=<code>#ref</code> loop with implicit termination condition #loc
loop.with.implicit.termination.condition.quickfix=Make condition explicit
ignore.iterator.loop.variables=Ignore java.util.Iterator loop variables
rename.catch.parameter.to.ignored=Rename 'catch' parameter to 'ignored'
unnecessary.super.qualifier.display.name=Unnecessary 'super' qualifier
unnecessary.super.qualifier.problem.descriptor=Qualifier <code>#ref</code> is unnecessary in this context #loc
unnecessary.super.qualifier.quickfix=Remove unnecessary 'super' qualifier
collections.field.access.replaceable.by.method.call.display.name=Collections.EMPTY_* field access replaceable with 'Collections.empty*()' method call
collections.field.access.replaceable.by.method.call.problem.descriptor=<code>#ref</code> replaceable with ''Collections.{0}'' #loc
collections.field.access.replaceable.by.method.call.quickfix=Replace with ''{0}''
synchronization.on.local.variable.or.method.parameter.display.name=Synchronization on local variable or method parameter
synchronization.on.local.variable.problem.descriptor=Synchronization on local variable <code>#ref</code> #loc
synchronization.on.method.parameter.problem.descriptor=Synchronization on method parameter <code>#ref</code> #loc
too.broad.catch.quickfix=Add ''catch'' clause for ''{0}''
replace.with.catch.clause.for.runtime.exception.quickfix=Replace with 'catch' clause for 'RuntimeException'
too.broad.catch.option=&Only warn on RuntimeException, Exception, Error or Throwable
unnecessary.call.to.string.valueof.display.name=Unnecessary call to 'String.valueOf()'
unnecessary.tostring.call.display.name=Unnecessary call to 'toString()'
unnecessary.call.to.string.valueof.problem.descriptor=<code>#ref</code> can be simplified to ''{0}'' #loc
unnecessary.tostring.call.problem.descriptor=Unnecessary <code>#ref()</code> call #loc
unnecessary.call.to.string.valueof.quickfix=Replace with ''{0}''
throwable.result.of.method.call.ignored.display.name=Throwable result of method call ignored
throwable.result.of.method.call.ignored.problem.descriptor=Result of <code>#ref()</code> not thrown #loc
char.used.in.arithmetic.context.display.name=Char expression used in arithmetic context
char.used.in.arithmetic.context.problem.descriptor='char' <code>#ref</code> used in arithmetic context #loc
char.used.in.arithmetic.context.quickfix=Convert to String literal
char.used.in.arithmetic.context.cast.quickfix=Insert cast to {0}
unnecessary.constant.array.creation.expression.display.name=Constant array creation expression can be replaced with array initializer
unnecessary.constant.array.creation.expression.problem.descriptor=<code>#ref</code> can be replaced with array initializer expression #loc
unnecessary.constant.array.creation.expression.quickfix=Replace with array initializer expression
ambiguous.method.call.display.name=Inherited method called, while local method might have been expected
ambiguous.method.call.problem.descriptor=Method <code>#ref()</code> from superclass ''{0}'' called, when method from class ''{1}'' might have been expected #loc
ambiguous.method.call.quickfix=Add 'super' qualifier to method call
change.modifier.quickfix=Make ''{0}''
the.whole.project=the whole project
this.class=this class
assertequals.may.be.assertsame.display.name='assertEquals()' may be 'assertSame()'
assertequals.may.be.assertsame.problem.descriptor=<code>#ref()</code> may be 'assertSame()' #loc
logger.initialized.with.foreign.class.quickfix=Replace with ''{0}.class''
logger.initialized.with.foreign.class.problem.descriptor=Logger initializer with foreign class <code>#ref</code> #loc
logger.initialized.with.foreign.class.display.name=Logger initialized with foreign class
logger.factory.method.name=Logger factory method name
logger.factory.class.name=Logger factory class name
make.static.final.quickfix=Make ''{0}'' static final
logging.condition.disagrees.with.log.statement.display.name=Log condition does not match logging call
logging.condition.disagrees.with.log.statement.problem.descriptor=Log condition <code>#ref()</code> does not match ''{0}()'' logging call #loc
log.statement.guarded.by.log.condition.display.name=Logging call not guarded by log condition
log.statement.guarded.by.log.condition.problem.descriptor=<code>#ref()</code> logging calls not guarded by log condition #loc
log.statement.guarded.by.log.condition.quickfix=Surround with log condition
log.statement.guarded.by.log.condition.flag.all.unguarded.option=Flag all unguarded logging calls
key.set.iteration.may.use.entry.set.display.name=Iteration over 'keySet()' may be replaced with 'entrySet()' iteration
key.set.iteration.may.use.entry.set.problem.descriptor=Iteration over <code>#ref</code> may be replaced with 'entrySet()' iteration #loc
key.set.iteration.may.use.entry.set.quickfix=Replace with 'entrySet()' iteration
string.replaceable.by.string.buffer.in.loop.option=Only warn when appending in a loop
declare.collection.as.interface.quickfix=Weaken to ''{0}''
non.exception.name.ends.with.exception.quickfix=Make ''{0}'' extend ''java.lang.Exception''
constant.value.variable.use.display.name=Use of variable whose value is known to be constant
constant.value.variable.use.problem.descriptor=Value of <code>#ref</code> is known to be constant #loc
replace.reference.with.expression.quickfix=Replace with ''{0}''
unnecessary.parentheses.option=Ignore clarifying parentheses
unnecessary.parentheses.conditional.option=Ignore parentheses around the condition of conditional expressions
field.may.be.final.display.name=Field may be 'final'
field.may.be.final.problem.descriptor=Field <code>#ref</code> may be 'final' #loc
cast.that.loses.precision.option=Ignore casts from int to char
variable.not.used.inside.if.display.name=Reference checked for 'null' is not used inside 'if'
variable.not.used.inside.if.problem.descriptor=<code>#ref</code> checked for 'null' is not used inside 'if' #loc
variable.not.used.inside.conditional.problem.descriptor=<code>#ref</code> checked for 'null' is not used inside conditional #loc
if.may.be.conditional.display.name='if' statement could be replaced with conditional expression
if.may.be.conditional.problem.descriptor=<code>#ref</code> could be replaced with conditional expression #loc
if.may.be.conditional.quickfix=Replace with conditional expression
if.may.be.conditional.report.method.calls.option=Report if statements containing method calls
redundant.string.format.call.display.name=Redundant call to 'String.format()'
redundant.string.format.call.problem.descriptor=Redundant call to <code>#ref</code> #loc
redundant.string.format.call.quickfix=Remove redundant call to 'String.format()'
junit4.test.method.in.class.extending.junit3.testcase.display.name=JUnit 4 test method in class extending JUnit 3 TestCase
junit4.test.method.in.class.extending.junit3.testcase.problem.descriptor=Method <code>#ref()</code> annotated with '@Test' inside class extending JUnit 3 TestCase #loc
ignore.test.method.in.class.extending.junit3.testcase.problem.descriptor=JUnit 3 test method <code>#ref()</code> annotated with '@Ignore' won't be ignored #loc
ignore.test.method.in.class.extending.junit3.testcase.quickfix=Remove ''@Ignore'' and rename method to ''{0}''
convert.junit3.test.class.quickfix=Convert JUnit 3 class ''{0}'' to JUnit 4
remove.junit4.test.annotation.quickfix=Remove '@Test' annotation
equals.called.on.enum.constant.display.name='equals()' called on Enum value
equals.called.on.enum.constant.problem.descriptor=<code>#ref()</code> called on Enum value #loc
equals.called.on.enum.constant.quickfix=Replace 'equals()' with '=='
int.literal.may.be.long.literal.display.name='int' literal cast to 'long' could be 'long' literal
int.literal.may.be.long.literal.problem.descriptor=<code>#ref</code> could be replaced with ''{0}'' #loc
int.literal.may.be.long.literal.quickfix=Replace with ''{0}''
constant.assert.condition.display.name='assert' statement condition is constant
constant.assert.condition.problem.descriptor=Assert condition <code>#ref</code> is constant #loc
assert.with.side.effects.display.name='assert' statement with side effects
assert.with.side.effects.problem.descriptor=<code>#ref</code> has side effects #loc
method.count.ignore.getters.setters.option=&Ignore simple getter and setter methods
class.new.instance.display.name=Unsafe call to 'Class.newInstance()'
class.new.instance.problem.descriptor=Call to <code>#ref()</code> may throw undeclared checked exceptions #loc
class.new.instance.quickfix=Replace with 'Class.getConstructor().newInstance()' call
dynamic.regex.replaceable.by.compiled.pattern.display.name=Dynamic regular expression could be replaced by compiled Pattern
dynamic.regex.replaceable.by.compiled.pattern.problem.descriptor=<code>#ref()</code> could be replaced with compiled java.util.regex.Pattern construct #loc
dynamic.regex.replaceable.by.compiled.pattern.quickfix=Replace with call to method of compiled 'Pattern' constant
ignore.serializable.option=Ignore java.io.Serializable
ignore.cloneable.option=Ignore 'java.lang.Cloneable'
listener.may.use.adapter.display.name=Class may extend adapter instead of implementing listener
listener.may.use.adapter.problem.descriptor=Class ''{0}'' may extend ''{1}'' instead of implementing <code>#ref</code> #loc
listener.may.use.adapter.quickfix=Replace with ''extends {0}''
listener.may.use.adapter.emtpy.methods.option=&Only warn when empty implementing methods are found
unnecessary.inherit.doc.display.name=Unnecessary {@inheritDoc} Javadoc Comment
unnecessary.inherit.doc.problem.descriptor=Javadoc comment containing only <code>#ref</code> is unnecessary #loc
unnecessary.inherit.doc.quickfix=Remove unnecessary @inheritDoc
multiple.exceptions.declared.on.test.method.display.name=Multiple exceptions declared on test method
multiple.exceptions.declared.on.test.method.problem.descriptor=<code>#ref</code> could be replaced with 'throws Exception' #loc
multiple.exceptions.declared.on.test.method.quickfix=Replace with 'throws Exception'
unnecessary.javadoc.link.display.name=Unnecessary Javadoc link
unnecessary.javadoc.link.super.method.problem.descriptor=<code>#ref</code> pointing to super method is unnecessary #loc
unnecessary.javadoc.link.this.method.problem.descriptor=<code>#ref</code> pointing to this method is unnecessary #loc
unnecessary.javadoc.link.this.class.problem.descriptor=<code>#ref</code> pointing to containing class is unnecessary #loc
unnecessary.javadoc.link.quickfix=Remove unnecessary '{0}'
thread.local.not.static.final.display.name=ThreadLocal field not declared static final
thread.local.not.static.final.problem.descriptor=ThreadLocal <code>#ref</code> is not declared 'static final' #loc
remove.try.finally.block.quickfix=Remove 'try-finally' block
remove.finally.block.quickfix=Remove 'finally' block
remove.leading.zero.to.make.decimal.quickfix=Remove leading zero to make decimal
convert.octal.literal.to.decimal.literal.quickfix=Convert octal literal to decimal literal
ignore.single.field.static.imports.option=Ignore single &field static imports
ignore.single.method.static.imports.option=Ignore single &method static imports
ignore.methods.with.boolean.return.type.option=Ignore methods with &Boolean return type
ignore.boolean.methods.in.an.interface.option=Ignore boolean methods in an @&interface
ignore.methods.overriding.super.method=Ignore methods &overriding/implementing a super method
ignore.nullable.parameters.option=Ignore @Nullable parameters
ignored.io.resource.types=Ignored I/O resource types
choose.io.resource.type.to.ignore=Choose I/O resource type to ignore
ignore.accesses.from.the.same.class=Ignore accesses from the same class
ignore.accesses.from.equals.method=Ignore accesses from 'equals()' method
ignore.branches.of.switch.statements=Ignore branches of 'switch' statements
ignore.equals.hashcode.and.tostring=Ignore 'equals()', 'hashCode()' and 'toString()' methods
ignore.methods.in.anonymous.classes=Ignore methods in anonymous classes
class.name=Class name
method.name.pattern=Method name pattern
query.column.name=Query names start with
update.column.name=Update names start with
assert.keyword.is.considered.an.assertion='assert' keyword is considered an assertion
expected.exception.never.thrown.display.name=Expected exception never thrown in test method body
expected.exception.never.thrown.problem.descriptor=Expected <code>#ref</code> never thrown in body of ''{0}()'' #loc
choose.logger.class=Choose logger class
logger.class.name=Logger class name
ignore.exceptions.declared.on.library.override.option=Ignore exceptions declared on methods overriding a &library method
allow.resource.to.be.opened.inside.a.try.block=Allow resource to be opened inside a 'try' block
log.method.name=Logging method name
log.condition.text=Log condition text
ignore.if.annotated.by=Ignore if annotated by
only.weaken.to.an.interface=Only weaken to an interface
unqualified.inner.class.access.display.name=Unqualified inner class access
unqualified.inner.class.access.problem.descriptor=<code>#ref</code> is not qualified with outer class #loc
unqualified.inner.class.access.quickfix=Qualify with outer class
unnecessarily.qualified.inner.class.access.problem.descriptor=''{0}'' is unnecessarily qualified with <code>#ref</code> #loc
unnecessarily.qualified.inner.class.access.display.name=Unnecessarily qualified inner class access
unnecessarily.qualified.inner.class.access.quickfix=Remove qualifier
synchronization.on.static.field.display.name=Synchronization on 'static' field
synchronization.on.static.field.problem.descriptor=Synchronization on 'static' field <code>#ref</code> #loc
assertequals.called.on.arrays.display.name='assertEquals()' called on array
assertequals.called.on.arrays.problem.descriptor=<code>#ref()</code> called on array #loc
assertequals.called.on.arrays.quickfix=Replace with 'assertArrayEquals()'
overly.broad.throws.clause.display.name=Overly broad 'throws' clause
overly.broad.throws.clause.problem.descriptor1=<code>throws #ref</code> is too broad, masking exception ''{0}'' #loc
overly.broad.throws.clause.problem.descriptor2=<code>throws #ref</code> is too broad, masking exceptions ''{0}'' and ''{1}'' #loc
overly.broad.throws.clause.quickfix1=Add specific exceptions
overly.broad.throws.clause.quickfix2=Replace with specific exceptions
overly.broad.throws.clause.ignore.thrown.option=Ignore exceptions which &hide others but are themselves thrown
unnecessarily.qualified.statically.imported.element.display.name=Unnecessarily qualified statically imported element
unnecessarily.qualified.statically.imported.element.problem.descriptor=Statically imported element ''{0}'' is unnecessarily qualified with <code>#ref</code> #loc
unnecessarily.qualified.statically.imported.element.quickfix=Remove unnecessary qualifier
ignore.instanceof.on.library.classes=Ignore instanceof on library classes
assertequals.may.be.assertsame.quickfix=Replace with 'assertSame()'
for.can.be.foreach.option=Report indexed 'java.util.List' loops
for.can.be.foreach.option2=Do not report iterations over untyped collections
cast.conflicts.with.instanceof.quickfix1=Replace ''{0}'' with ''{1}'' in cast
cast.conflicts.with.instanceof.quickfix2=Replace ''{0}'' with ''{1}'' in instanceof
double.checked.locking.quickfix=Make ''{0}'' 'volatile'
double.literal.may.be.float.literal.display.name='double' literal cast to 'float' could be 'float' literal
double.literal.may.be.float.literal.problem.descriptor=<code>#ref</code> could be replaced with ''{0}'' #loc
double.literal.may.be.float.literal.quickfix=Replace with ''{0}''
multiple.declaration.option=Ignore 'for' loop declarations
simplifiable.annotation.display.name=Simplifiable annotation
simplifiable.annotation.problem.descriptor=Annotation <code>#ref</code> may be replaced with ''{0}'' #loc
simplifiable.annotation.quickfix=Simplify annotation
overloaded.methods.with.same.number.parameters.option=<html>Ignore overloaded methods whose parameter types are definitely incompatible</html>
string.concatenation.in.format.call.display.name=String concatenation as argument to 'format()' call
string.concatenation.in.format.call.problem.descriptor=<code>#ref()</code> call has a String concatenation argument #loc
string.concatenation.in.format.call.quickfix=Replace concatenation with separate argument
string.concatenation.in.format.call.plural.quickfix=Replace concatenation with separate arguments
string.concatenation.in.message.format.call.display.name=String concatenation as argument to 'MessageFormat.format()' call
string.concatenation.in.message.format.call.problem.descriptor=String concatenation as argument to 'MessageFormat.format()' call #loc
shift.out.of.range.quickfix=Replace ''{0}'' with ''{1}''
boxing.boxed.value.display.name=Boxing of already boxed value
boxing.boxed.value.problem.descriptor=Boxing of already boxed <code>#ref</code> #loc
boxing.boxed.value.quickfix=Remove unnecessary boxing
unnecessary.javadoc.link.option=Ignore inline links to super methods
constant.junit.assert.argument.display.name=Constant JUnit assert argument
constant.junit.assert.argument.problem.descriptor=Argument <code>#ref</code> is constant #loc
test.case.with.no.test.methods.option=Ignore test cases which have superclasses with test methods
package.dot.html.may.be.package.info.display.name='package.html' may be converted to 'package-info.java'
package.dot.html.may.be.package.info.exists.problem.descriptor=<code>package.html</code> is ignored because <code>package-info.java</code> exists
package.dot.html.may.be.package.info.problem.descriptor=<code>package.html</code> may be converted to <code>package-info.java</code>
package.dot.html.may.be.package.info.delete.quickfix=Delete 'package.html'
package.dot.html.delete.command=package.html deletion
package.dot.html.may.be.package.info.convert.quickfix=Convert to 'package-info.java'
package.dot.html.convert.command=package.html to package-info.java conversion
choose.super.class.to.ignore=Choose class
ignore.anonymous.inner.classes=Ignore anonymous inner classes
try.with.identical.catches.display.name=Identical 'catch' branches in 'try' statement
try.with.identical.catches.problem.descriptor='catch' branch identical to ''{0}'' branch #loc
if.can.be.switch.display.name='if' replaceable with 'switch'
if.can.be.switch.problem.descriptor=<code>#ref</code> statement replaceable with 'switch' statement #loc
if.can.be.switch.quickfix=Replace with 'switch'
if.can.be.switch.minimum.branch.option=Minimum number of branches:
if.can.be.switch.int.option=Suggest switch on numbers
if.can.be.switch.enum.option=Suggest switch on enums
unnecessarily.qualified.inner.class.access.option=Ignore references for which an import is needed
unqualified.inner.class.access.option=Ignore references to local inner classes
try.with.identical.catches.quickfix=Collapse 'catch' blocks
confusing.else.option=<html>Also report when there are no more statements after the 'if' statement</html>
html.tag.can.be.javadoc.tag.display.name=<code>...</code> can be replaced with {@code ...}
html.tag.can.be.javadoc.tag.problem.descriptor=<code>#ref...\\&lt;/code\\&gt;</code> can be replaced with '{@code ...}' #loc
html.tag.can.be.javadoc.tag.quickfix=Replace with '{@code ...}'
try.finally.can.be.try.with.resources.display.name='try finally' replaceable with 'try' with resources
try.finally.can.be.try.with.resources.problem.descriptor=<code>#ref</code> can use automatic resource management #loc
try.finally.can.be.try.with.resources.quickfix=Replace with 'try' with resources
array.comparison.display.name=Array comparison using '==', instead of 'Arrays.equals()'
array.comparison.problem.descriptor=Array objects are compared using <code>#ref</code>, not 'Arrays.equals()' #loc
array.hash.code.display.name='hashCode()' called on array
array.hash.code.problem.descriptor=<code>#ref()</code> called on array should probably be 'Arrays.hashCode()' #loc
arrays.deep.hash.code.quickfix=Replace with 'Arrays.deepHashCode()'
arrays.hash.code.quickfix=Replace with 'Arrays.hashCode()'
method.can.be.variable.arity.method.display.name=Method can be variable arity method
method.can.be.variable.arity.method.problem.descriptor=<code>#ref()</code> can be converted to variable arity method #loc
method.can.be.variable.arity.method.ignore.byte.short.option=<html>Ignore methods with a last parameter of type byte[] or short[]</html>
convert.to.variable.arity.method.quickfix=Convert to varargs method
mismatched.string.builder.query.update.display.name=Mismatched query and update of StringBuilder
mismatched.string.builder.updated.problem.descriptor=Contents of {0} <code>#ref</code> are updated, but never queried #loc
mismatched.string.builder.queried.problem.descriptor=Contents of {0} <code>#ref</code> are queried, but never updated #loc
math.random.cast.to.int.display.name='Math.random()' cast to 'int'
math.random.cast.to.int.problem.descriptor=<code>#ref</code> cast to 'int' is always rounded down to '0' #loc
math.random.cast.to.int.quickfix=Add parentheses to perform multiplication before cast
boolean.variable.always.inverted.display.name=Boolean variable is always inverted
boolean.field.always.inverted.problem.descriptor=Boolean field <code>#ref</code> is always inverted #loc
boolean.variable.always.inverted.problem.descriptor=Boolean variable <code>#ref</code> is always inverted #loc
unnecessary.explicit.numeric.cast.display.name=Unnecessary explicit numeric cast
unnecessary.explicit.numeric.cast.problem.descriptor=''{0}'' unnecessarily cast to <code>#ref</code> #loc
unnecessary.explicit.numeric.cast.quickfix=Remove cast
null.thrown.display.name='null' thrown
null.thrown.problem.descriptor=<code>#ref</code> thrown #loc
null.thrown.quickfix=Replace with 'new NullPointerException()'
element.only.used.from.test.code.display.name=Symbol only used from test code
class.only.used.from.test.code.problem.descriptor=class <code>#ref</code> only used from test code #loc
method.only.used.from.test.code.problem.descriptor=method <code>#ref()</code> only called from test code #loc
field.only.used.from.test.code.problem.descriptor=field <code>#ref</code> only accessed from test code #loc
unnecessary.final.on.local.variable.or.parameter.display.name=Unnecessary 'final' on local variable or parameter
unnecessary.final.on.local.variable.problem.descriptor=Unnecessary <code>#ref</code> on variable ''{0}'' #loc
unnecessary.final.on.parameter.problem.descriptor=Unnecessary <code>#ref</code> on parameter ''{0}'' #loc
unnecessary.final.report.local.variables.option=Report local variables
unnecessary.final.report.parameters.option=Report parameters
unnecessary.final.on.parameter.only.interface.option=Only warn on abstract or interface methods
choose.exception.class=Choose Exception class
class.independent.of.module.display.name=Class independent of its module
class.independent.of.module.problem.descriptor=Class <code>#ref</code> has no dependencies or dependents in its module #loc
class.only.used.in.one.module.display.name=Class only used from one other module
class.only.used.in.one.module.problem.descriptor=Class <code>#ref</code> has only dependencies on and/or dependents in module ''{0}'' #loc
empty.directory.display.name=Empty directory
empty.directories.problem.descriptor=Empty directory <code>{0}</code>
empty.directories.only.under.source.roots.option=Only report empty directories located under a source folder
empty.directories.delete.quickfix=Delete empty directory ''{0}''
simplifiable.equals.expression.display.name=Unnecessary 'null' check before 'equals()' call
simplifiable.equals.expression.problem.descriptor=Unnecessary ''null'' check before ''{0}()'' call #loc
simplifiable.equals.expression.quickfix=Flip ''.{0}()'' and remove unnecessary ''null'' check
cast.to.concrete.class.option=Ignore casts to an abstract class type
cast.to.concrete.class.ignore.equals.option=Ignore in equals()
instanceof.interfaces.option=Ignore instanceof abstract class
instance.variable.of.concrete.class.option=Ignore instance fields whose type is an abstract class
local.variable.of.concrete.class.option=Ignore local variables whose type is an abstract class
method.return.of.concrete.class.option=Ignore methods whose return type is an abstract class
parameter.of.concrete.class.option=Ignore parameters whose type is abstract class
static.variable.of.concrete.class.option=Ignore static fields whose type is an abstract class
class.only.used.in.one.package.display.name=Class only used from one other package
class.only.used.in.one.package.problem.descriptor=Class <code>#ref</code> has only dependencies on and/or dependents in package ''{0}'' #loc
unnecessary.return.option=Ignore in then branch of 'if' statement with 'else' branch
usage.of.obsolete.assert.display.name=Usage of obsolete 'junit.framework.Assert'
use.of.obsolete.assert.problem.descriptor=Call to <code>#ref()</code> from 'junit.framework.Assert' should be replaced with call to method from 'org.junit.Assert' #loc
use.of.obsolete.assert.quickfix=Replace with 'org.junit.Assert' method call
properties.object.as.hashtable.set.quickfix=Replace with call to 'setProperty()'
properties.object.as.hashtable.get.quickfix=Replace with call to 'getProperty()'
ignored.junit.test.display.name=JUnit test annotated with '@Ignore'
ignored.junit.test.classproblem.descriptor=Test class ''{0}'' annotated with <code>#ref</code> #loc
ignored.junit.test.method.problem.descriptor=Test method ''{0}()'' annotated with <code>#ref</code> #loc
unclear.binary.expression.display.name=Unclear expression
unclear.binary.expression.problem.descriptor=Expression could use clarifying parentheses #loc
unclear.binary.expression.quickfix=Add clarifying parentheses
new.exception.without.arguments.display.name=Exception constructor called without arguments
new.exception.without.arguments.problem.descriptor=<code>new #ref()</code> without arguments #loc
new.exception.without.arguments.ignore.option=Ignore for exceptions that have no constructors with parameters
absolute.alignment.in.user.interface.display.name=Absolute alignment used in AWT/Swing code
absolute.alignment.in.user.interface.problem.descriptor=Absolute alignment constant <code>{0}.#ref</code> used #loc
absolute.alignment.in.user.interface.quickfix=Replace with ''{0}.{1}''
throws.runtime.exception.display.name=Unchecked exception declared in 'throws' clause
throws.runtime.exception.problem.descriptor=Unchecked exception <code>#ref</code> declared in 'throws' clause #loc
throws.runtime.exception.quickfix=Remove ''{0}'' from ''throws'' clause
throws.runtime.exception.move.quickfix=Move ''{0}'' to Javadoc ''@throws'' tag
empty.class.ignore.parameterization.option=Ignore class if it is a parameterization of a super type
ambiguous.field.access.display.name=Inherited field accessed while local variable, parameter or field access from surrounding class might be expected
ambiguous.field.access.hides.local.variable.problem.descriptor=Field <code>#ref</code> from superclass ''{0}'' accessed, while local variable access might be expected #loc
ambiguous.field.access.hides.parameter.problem.descriptor=Field <code>#ref</code> from superclass ''{0}'' accessed, while parameter access might be expected #loc
ambiguous.field.access.hides.field.problem.descriptor=Field <code>#ref</code> from superclass ''{0}'' accessed, while field access from surrounding class might be expected #loc
ambiguous.field.access.quickfix=Add 'super' qualifier to field access
string.builder.replaceable.by.string.quickfix=Replace 'StringBuilder' with 'String'
string.buffer.replaceable.by.string.quickfix=Replace 'StringBuffer' with 'String'
add.0.to.ignore.if.annotated.by.list.quickfix=Add ''{0}'' to ''Ignore if annotated by'' list
non.final.field.in.enum.display.name=Non-'final' field in enum
non.final.field.in.enum.problem.descriptor=non-''final'' field <code>#ref</code> in enum ''{0}'' #loc
externalizable.without.public.no.arg.constructor.display.name=Externalizable class without public no-arg constructor
externalizable.without.public.no.arg.constructor.problem.descriptor=Externalizable class <code>#ref</code> has no public no-arg constructor #loc
make.constructor.public=Make constructor 'public'
string.concatenation.missing.whitespace.display.name=String literal concatenation missing whitespace
string.concatenation.missing.whitespace.problem.descriptor=String literal concatenation missing whitespace #loc
string.concatenation.missing.whitespace.option=Ignore when one or both sides are not literals
negated.equality.expression.display.name=Negated equality expression
negated.equality.expression.problem.descriptor=Negating ''{0}'' #loc
negated.equality.expression.quickfix=Remove negation
negated.conditional.expression.display.name=Negated conditional expression
negated.conditional.expression.problem.descriptor=Negating conditional expression #loc
negated.conditional.expression.quickfix=Remove negation
suspicious.array.cast.display.name=Suspicious array cast
suspicious.array.cast.problem.descriptor=Suspicious cast to <code>#ref</code> #loc
public.constructor.display.name='public' constructor
public.default.constructor.problem.descriptor=Class <code>#ref</code> has public default constructor
public.constructor.problem.descriptor=Public constructor <code>#ref()</code> #loc
public.constructor.quickfix=Replace constructor with factory method
junit3.style.test.method.in.junit4.class.display.name=Old style JUnit test method in JUnit 4 class
junit3.style.test.method.in.junit4.class.problem.descriptor=Old style JUnit test method <code>#ref()</code> in JUnit 4 class #loc
none=none
private=private
package.local.private=package local & private
protected.package.local.private=protected, package local & private
non.final.utility.class.display.name=Utility class is not final
non.final.utility.class.problem.descriptor=Utility class <code>#ref</code> is not 'final' #loc
0.will.no.longer.be.overridable.by.1={0} will no longer be overridable by {1}
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}
make.private.quickfix=Make 'private'
arrays.as.list.with.zero.or.one.argument.display.name=Call to 'Arrays.asList()' with too few arguments
arrays.as.list.with.one.argument.problem.descriptor=Call to <code>#ref</code> with only one argument #loc
arrays.as.list.with.zero.arguments.problem.descriptor=Call to <code>#ref</code> with zero arguments #loc
arrays.as.list.with.one.argument.quickfix=Replace with call to 'Collections.singletonList()'
arrays.as.list.with.zero.arguments.quickfix=Replace with call to 'Collections.emptyList()'
ignore.classes.extending.throwable.option=Ignore classes extending 'Throwable'
string.concatenation.argument.to.log.call.display.name=Non-constant string concatenation as argument to logging call
string.concatenation.argument.to.log.call.problem.descriptor=Non-constant string concatenation as argument to <code>#ref()</code> logging call #loc
string.concatenation.argument.to.log.call.quickfix=Replace concatenation with parameterized log message
placeholder.count.matches.argument.count.display.name=Number of placeholders does not match number of arguments in logging call
placeholder.count.matches.argument.count.more.problem.descriptor=<code>#ref()</code> call has more arguments ({0}) than placeholders ({1}) #loc
placeholder.count.matches.argument.count.fewer.problem.descriptor=<code>#ref()</code> call has fewer arguments ({0}) than placeholders ({1}) #loc
assignment.to.superclass.field.display.name=Constructor assigns value to field defined in superclass
assignment.to.superclass.field.problem.descriptor=Assignment to field ''{0}'' defined in superclass ''{1}'' #loc
junit.rule.display.name=Malformed @Rule/@ClassRule field
junit.rule.problem.descriptor=Fields annotated with @{0} should be {1}
junit.rule.type.problem.descriptor=Field type should be subtype of org.junit.rules.TestRule
junit.datapoint.display.name=Malformed @DataPoint field
junit.datapoint.problem.descriptor={1}s annotated with @DataPoint should be {0}
inner.class.referenced.via.subclass.display.name=Inner class referenced via subclass
inner.class.referenced.via.subclass.problem.descriptor=Inner class <code>#ref</code> declared in class ''{0}'' but referenced via subclass ''{1}'' #loc
inner.class.referenced.via.subclass.quickfix=Rationalize inner class access
boolean.parameter.display.name='public' method with 'boolean' parameter
boolean.parameter.problem.descriptor='public' method <code>#ref()</code> with 'boolean' parameter #loc
boolean.parameters.problem.descriptor='public' method <code>#ref()</code> with 'boolean' parameters #loc
boolean.parameter.constructor.problem.descriptor='public' constructor <code>#ref()</code> with 'boolean' parameter #loc
boolean.parameters.constructor.problem.descriptor='public' constructor <code>#ref()</code> with 'boolean' parameters #loc
boolean.parameter.only.report.multiple.option=Only report methods with multiple boolean parameters
unnecessary.unicode.escape.display.name=Unnecessary unicode escape sequence
unnecessary.unicode.escape.problem.descriptor=Unicode escape sequence <code>#ref</code> can be replaced with ''{0}'' #loc
missing.package.info.display.name=Missing 'package-info.java'
missing.package.info.problem.descriptor=Package ''{0}'' is missing a <code>package-info.java</code> file
missing.package.html.problem.descriptor=Package ''{0}'' is missing a <code>package.html</code> file
package.info.java.without.package.display.name='package-info.java' without 'package' statement
package.info.without.package.problem.descriptor='package-info.java' does not have a package statement
package.info.without.package.quickfix=add ''package {0};''
package.info.without.package.family.quickfix=add package statement
auto.closeable.resource.display.name=AutoCloseable used without 'try'-with-resources
auto.closeable.resource.problem.descriptor=''{0}'' used without ''try''-with-resources statement #loc
auto.closeable.resource.returned.option=Ignore AutoCloseable instances returned from method calls
problematic.whitespace.display.name=Problematic whitespace
problematic.whitespace.tabs.problem.descriptor=File ''{0}'' uses tabs for indentation
problematic.whitespace.spaces.problem.descriptor=File ''{0}'' uses spaces for indentation
problematic.whitespace.show.whitespaces.quickfix=Toggle show whitespace in the editor
problematic.varargs.method.display.name=Non-varargs method overrides varargs method
problematic.varargs.method.override.problem.descriptor=Non-varargs method <code>#ref()</code> overrides varargs method #loc
negatively.named.boolean.variable.problem.descriptor=Boolean variable <code>#ref</code> is negatively named #loc
negatively.named.boolean.variable.display.name=Negatively named boolean variable
invert.quickfix.family.name=Invert boolean
invert.method.quickfix=Invert method
invert.quickfix=Invert ''{0}''
throwable.printed.to.system.out.display.name='Throwable' printed to 'System.out'
throwable.printed.to.system.out.problem.descriptor='Throwable' argument <code>#ref</code> to ''System.{0}.{1}()'' call
suppress.for.tests.scope.quickfix=Suppress for 'Tests' scope
implicit.default.charset.usage.display.name=Implicit usage of platform's default charset
implicit.default.charset.usage.problem.descriptor=Call to <code>#ref()</code> uses the platform's default charset
implicit.default.charset.usage.constructor.problem.descriptor=<code>new #ref()</code> call uses the platform's default charset
interface.may.be.annotated.functional.display.name=Interface may be annotated @FunctionalInterface
interface.may.be.annotated.functional.problem.descriptor=Interface <code>#ref</code> may be annotated with @FunctionalInterface
only.report.public.methods.option=Only report 'public' methods
lambda.parameter.hides.member.variable.display.name=Lambda parameter hides field
lambda.parameter.hides.member.variable.problem.descriptor=Lambda parameter <code>#ref</code> hides field in class ''{0}'' #loc
shared.thread.local.random.display.name='ThreadLocalRandom' instance might be shared
shared.thread.local.random.problem.descriptor='ThreadLocalRandom' instance might be shared between threads
#
# Copyright 2000-2010 JetBrains s.r.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

########################################################################################################################
# Module type
########################################################################################################################
module.ruby.title=Ruby Module
module.ruby.description=Ruby modules are used for developing <b>Ruby</b> and <b>Ruby on Rails</b> applications.

project.jruby.title=JRuby Project
module.jruby.title=JRuby Module
module.jruby.description=Provides facilities for developing <b>JRuby</b> applications.

########################################################################################################################
# Ruby Sdk
########################################################################################################################
sdk.ruby.title=Ruby SDK
sdk.jruby.title=JRuby SDK

#Configuration
ruby.configuration.interpreter.path=Interpreter path
ruby.configuration.gems.bin.dir.path=Gems bin directory:
ruby.configuration.gems.bin.dir.path.tooltip=The path where gems executable scripts are installed
ruby.configuration.gems.bin.dir.select.path=Select gems bin directory

#Errors
jdk.no.specified=No SDK specified
jdk.error.notification=Please configure project SDK
jdk.type.incorrect=Wrong SDK type
jdk.type.incorrect.homepath = Home path for SDK doesn't exist
sdk.error.homepath.doesnt.exists= Home path ({0}) for ruby SDK ''{1}'' doesn''t exist.
sdk.error.isnt.valid=SDK ''{0}'' isn''t valid Ruby SDK
sdk.error.gems.bindir.doesnt.exist=Gems bin directory doesn't exist
sdk.error.gems.bindir.isnt.directory=Gems bin directory isn't a directory
sdk.error.cannot.create.sdk.title=Cannot Create SDK
sdk.error.old.x64=<br> Probably you are using jruby 1.1.3 or earlier on Windows x64 <br> See: <a href = "http://jira.codehaus.org/browse/JRUBY-2881">JRUBY-2881</a>
sdk.error.invalid.interpreter.name=Selected file ''{0}'' isn''t {1} interpreter. Select executable file with name ''{2}''.

sdk.error.no.rails.found=[No Rails found in SDK]
sdk.error.no.rails.found.prompt.message.confirm.no.rails=No Rails script found in SDK bin path. With no Rails installed you will not be able to generate Rails applications. Continue anyway?

sdk.error.no.server.gem.found=[No ''{0}'' gem found in SDK]
sdk.error.no.server.gem.found.rails3=[No ''{0}'' gem found in SDK or it''s not added to the Gemfile]

sdk.error.jruby.jdk.type.incorrect={0} server can run only with JRuby SDK
sdk.error.jruby.cannot.debug=Cannot debug Rails on {0} server
#########################################################################################################################
# Execution errors
########################################################################################################################
execution.error.title=Execution Error
execution.error.no.executable.cmd.for.script=Unable to run ''{0}''
execution.error.no.executable.cmd.for.gem.name=Unable to run gem ''{0}''. Cannot find ''{1}''
execution.error.no.gem.found=Unable to find gem ''{0}''
execution.ruby.script.get.available.generators=Get available generators script executes with errors:\n{0}
execution.ruby.script.get.available.raketasks=Get available rake tasks script executes with errors:\n{0}
execution.error.testunit.spork.script.not.found=Spork tests runner 'testdrb' script wasn't found.

########################################################################################################################
# Run configuration
########################################################################################################################
run.configuration.type.name=Ruby
run.configuration.type.description=Ruby run configurations

run.configuration.script.name=Ruby script
run.configuration.test.name=Ruby test
run.configuration.server.title=Server
run.configuration.rspec.name=RSpec
run.configuration.rake.name=Rake
run.configuration.remote.debug.name=Ruby remote debug

run.configuration.messages.select.working.dir=Select working directory
run.configuration.messages.script.args=Script arguments
run.configuration.messages.edit.script.args=Edit Script Arguments
run.configuration.messages.suggested.name=this script

run.configuration.messages.select.ruby.script.path=Select Ruby Script
run.configuration.messages.select.sdk.bound=Ruby SDK:
run.configuration.messages.select.module=Choose SDK from module:
run.configuration.messages.select.module.rubymine=Use project SDK:
run.configuration.messages.working.dir=Working directory:
run.configuration.messages.ruby.args=Ruby arguments
run.configuration.messages.edit.ruby.args=Edit Ruby Arguments
run.configuration.messages.script.path=Ruby script:
run.configuration.messages.folder.path=Folder:
run.configuration.messages.select.folder.path=Select Folder
run.configuration.dialog.components.sdk=SDK
run.configuration.tests.drb.checkbox=Use &DRb server (see Tools | Run Spork DRb Server...)
run.configuration.messages.runner.version.no.gems=[No {0} gem found in SDK]
run.configuration.messages.runner.version=''{0}'' gem:
run.configuration.tests.runner.options=Runner options
run.configuration.tests.runner.options.editor.title=Edit Runner Options

## Cucumber
cucumber.jruby.run.configuration.type.name = JRuby Cucumber
cucumber.jruby.run.configuration.type.description=Run configurations for Cucumber features with step definitions written in JRuby and Java.
cucumber.jruby.errors.module.not.specified=Project module isn't specified
cucumber.jruby.errors.jruby.facet.not.specified=JRuby Facet isn''t configured for module ''{0}''
cucumber.jruby.errors.jruby.sdk.not.specified=JRuby SDK isn''t specified for module ''{0}''

cucumber.run.configuration.type.name = Cucumber
cucumber.run.configuration.type.description=Cucumber features run configurations

cucumber.run.configuration.tests.use.gem.from.sdk.checkbox=Use other SDK and Cucumber Gem:
cucumber.run.configuration.tests.form.testtype.title=Mode:
cucumber.run.configuration.tests.dialog.rb.allInFolder=All features in &folder
cucumber.run.configuration.messages.feature.path=Feature &file
cucumber.run.configuration.tests.backtrace.checkbox=Output full &backtrace
cucumber.run.configuration.tests.verbose.checkbox=Show the files and features &loaded
cucumber.run.configuration.messages.script.path=Feature f&ile:
cucumber.run.configuration.tests.dialog.components.folder=Features f&older
cucumber.run.configuration.tests.dialog.components.filter.tags=&Tags filter
cucumber.run.configuration.tests.dialog.components.filter.elements=Element &name filter
cucumber.run.configuration.test.default.name=All features in {0}: {1}
cucumber.quick.fix.create.step.file.path.msg=Please enter full path of the step definitions file:

## RSpec
rspec.run.configuration.type.name = RSpec
rspec.run.configuration.type.description=RSpec examples run configurations

rspec.run.configuration.rspec.name=RSpec
rspec.run.configuration.tests.dialog.components.search.mask=File name mask:
rspec.run.configuration.tests.dialog.components.example.name=Example name
rspec.run.configuration.tests.dialog.components.folder=Specs folder
rspec.run.configuration.tests.dialog.rb.allInFolder=&All specs in folder
rspec.run.configuration.tests.dialog.rb.file=&Spec script
rspec.run.configuration.tests.form.testtype.title=Mode:
rspec.run.configuration.tests.coloured.output=Enable &coloured output
rspec.run.configuration.messages.script.path=Spec script:

rspec.run.configuration.tests.dialog.components.select.spec.custom.runner=Select Custom RSpec Runner Script
rspec.run.configuration.tests.dialog.components.spec.custom.use=Use custom RSpec runner script:
rspec.run.configuration.tests.runner.run.separately=Run each spec script in &own process
rspec.run.configuration.tests.backtrace.checkbox=Output full &backtrace
rspec.run.configuration.log.tab.name=RSpec log

run.configuration.tests.display.name=Test::Unit/Shoulda/Minitest
run.configuration.tests.description=Test::Unit and Minitest based run configurations
run.configuration.tests.messages.class.name=Class:
run.configuration.tests.messages.method.name=Method:
run.configuration.test.form.testtype.title=Mode:
run.configuration.tests.dialog.components.folder=Tests folder
run.configuration.tests.dialog.components.search.mask=Test file name mask:
run.configuration.tests.dialog.components.file=Ruby script
run.configuration.tests.dialog.components.class=Class
run.configuration.tests.dialog.components.method=Test name filter
run.configuration.tests.dialog.rb.allInFolder=&All tests in folder
run.configuration.tests.dialog.rb.class=TestCase &class
run.configuration.tests.dialog.rb.method=Test &method
run.configuration.tests.dialog.rb.file=Test &script
run.configuration.tests.no.data=[none]
run.configuration.tests.no.qualified.name=[Unable to evaluate qualified name]
run.configuration.test.use.alternate.sdk.checkbox=Use alternative S&DK
run.configuration.test.disable.smart.check=D&isable test class or test method name check
run.configuration.messages.edit.runner.options=Edit Runner Options
run.configuration.messages.runner.options=Runner options
run.configuration.tests.use.alternative.sdk.checkbox=Use other SDK:
run.configuration.tests.use.gem.from.sdk.checkbox=Use other SDK and ''{0}'' gem:

rails.run.configuration.type.name = Rails
rails.run.configuration.type.description=Rails run configurations
run.configuration.server.dialog.dummy.app=Dummy app
run.configuration.server.dialog.port=Port
run.configuration.server.dialog.ip=IP address
run.configuration.server.dialog.server=Server
run.configuration.server.args=Server arguments
run.configuration.server.dialog.use.free.port=Use &any free port
run.configuration.server.dialog.manually.port=Choose port &manually
run.configuration.server.panel.port=Port
run.configuration.server.dialog.environment=Environment

run.configuration.messages.none=[none]
run.configuration.messages.not.specified=[not specified]
sdk.renderer.no.sdk.chosen=[No SDK selected]

run.configuration.rake.description=Rake Tasks run configurations
run.configuration.rake.task.name=Task name
run.configuration.rake.task.arguments=Arguments
run.configuration.rake.task.arguments.editor=Edit Task Arguments
run.configuration.rake.task.attach.test.runner.ui=Attach test runner UI for frameworks
run.configuration.rake.task.chose.module=Choose module
run.configuration.rake.task.options.trace=Turn on invoke/execute tracing, enable full backtrace (--trace)
run.configuration.rake.task.options.dry.run=Do a dry run without executing actions (--dry-run)
run.configuration.rake.task.options.prereqs=Display the tasks and dependencies, then exit (--prereqs)
run.configuration.rake.validation.error.no.gem=Unable to find Rake executable script in SDK ''{0}''
run.configuration.rake.validation.error.no.rakefile=Unable to find 'Rakefile', 'rakefile' or 'Rakefile.rb' or 'rakefile.rb' in work directory
run.configuration.rake.validation.error.no.task=Task isn't specified

# before run
run.configuration.before.run.rake.description.empty=Run Rake task
run.configuration.before.run.rake.description=Run Rake task ''{0}''
run.configuration.before.run.rake.settings.dialog.title=Rake Task
run.configuration.before.run.rake.error.dialog.title=Cannot Launch Rake Task
run.configuration.before.run.rake.error.dialog.module.not.specified=Module isn't specified.
run.configuration.before.run.rake.execution.bg.title.main=Preparing for ''{0}'' launch
run.configuration.before.run.rake.execution.bg.title.second=Running ''{0}'' task...
run.configuration.before.run.rake.messages.tab.title=Rake task: {0}

run.configuration.before.run.jruby.compiler.description=Run JRuby Compiler
run.configuration.before.run.jruby.compiler.execute.error.title=Cannot Run JRuby Compiler
run.configuration.before.run.jruby.compiler.execute.error.title2=Cannot Add JRuby Compiler Task
run.configuration.before.run.jruby.compiler.execute.error=Please configure JRuby Sdk to be able to run jruby compiler
run.configuration.before.run.jruby.compiler.execute.error2=JRuby compiler supports only ruby run configurations
run.configuration.before.run.jruby.compiler.execute.title=Compiling ruby files...
run.configuration.before.run.jruby.compiler.execute.title2=JRuby Compiler
run.configuration.before.run.jruby.compiler.execute=JRuby Compiler Settings
run.configuration.before.run.jruby.compiler.settings.target.path.title=Please Specify Compiler Target Path

# remote debug
run.configuration.remote.debug.remote.host.not.specified=Remote host is not specified
run.configuration.remote.debug.remote.port.not.specified=Port is not specified or not a numeric value
run.configuration.remote.debug.remote.root.not.specified=Remote root is not specified
run.configuration.remote.debug.local.root.not.specified=Local root is not specified or incorrect

remote.debug.info=Info
remote.debug.server.hint=use the following command on server side to enable remote debug
remote.debug.settings=Settings
remote.debug.remote.host=Remote host
remote.debug.port=Remote port
remote.debug.dispatcher.port=Local port
remote.debug.remote.root.folder=Remote root folder
remote.debug.local.root.folder=Local root folder

########################################################################################################################
# Run configurations errors
########################################################################################################################
run.configuration.script.port.cant.find.free=Can't find free port
run.configuration.script.port.is.busy=Port {0} is busy
run.configuration.script.port.bad.format=Incorrect ''port'' value
run.configuration.script.ip.bad.format=Incorrect ''ip adress'' value
run.configuration.script.not.specified=Ruby script isn't specified
run.configuration.script.not.exists=Ruby script doesn't exist
run.configuration.script.is.not.file=Ruby script doesn't seem to be file

run.configuration.no.alternative.skd.specified=No Ruby SDK specified for configuration

# rails
run.configuration.rails.server.workdir.not.found=Cannot determine Rails application home. Rails support is disabled for this application.
run.configuration.rails.server.script.not.specified=Rails server launcher wasn't found in project
run.configuration.rails.server.script.not.exists=Rails server launcher ''{0}'' wasn''t found in project
run.configuration.rails.server.script.instead.of.detected=Rails {1}.x launcher script was found instead of Rails {2}.x one. You need ''{0}'' script to launch Rails server. Please update server launcher according to Rails {2}.x documentation.
run.configuration.rails.server.script.is.not.file=Rails server launcher ''{0}'' doesn''t seem to be file

#test unit
run.configuration.no.module.specified=No ruby runnable module specified for configuration
run.configuration.working.directory.not.exists=Working directory doesn't exist
run.configuration.working.directory.error=Working directory isn't a directory
run.configuration.working.directory.not.specified=Working directory isn't specified
run.configuration.test.folder.not.exists=Tests folder doesn't exist
run.configuration.test.folder.not.specified=Tests folder isn't specified
run.configuration.test.folder.not.dir=Tests folder isn't a directory
run.configuration.test.no.mask=Define mask for test names, e.g.: {0}
run.configuration.test.script.not.exists=Test script doesn't exist
run.configuration.test.script.not.specified=Test script isn't specified
run.configuration.test.class.not.exists=Test class not found
run.configuration.test.method.name.not.specified=Test name not specified
run.configuration.test.script.is.dir=Test script is directory
run.configuration.test.default.name=All tests in {0}: {1}
run.configuration.test.run.script.default.name=Run test ''{0}'': {1}
run.configuration.test.run.test.default.name={0}: {1}

#rspec
rspec.run.configuration.test.folder.not.exists=Specs folder doesn't exist
rspec.run.configuration.test.folder.not.specified=Specs folder isn't specified
rspec.run.configuration.test.folder.not.dir=Specs folder isn't a directory
rspec.run.configuration.test.no.mask=Define mask for specs names
rspec.run.configuration.test.script.not.specified=Spec test script isn't specified
rspec.run.configuration.test.script.not.exists=Spec test script doesn't exist
rspec.run.configuration.test.custom.runner.not.exists=Custom RSpec runner script doesn't exist
rspec.run.configuration.test.custom.runner.is.dir=Custom RSpec runner is directory
rspec.run.configuration.test.script.is.dir=Spec script is directory
rspec.run.configuration.test.default.name=All specs in {0}: {1}
rspec.run.configuration.test.run.script.default.name=Run spec ''{0}'': {1}
rspec.run.configuration.test.run.test.default.name={0}: {1}
rspec.run.configuration.test.cannot.find.script=Cannot find RSpec runner script for {0} SDK
rspec.run.configuration.test.no.rspec.rails.support=RSpec support is disabled because 'rspec-rails' gem or RSpec Rails plugin are missing. Install and activate gem at first

rspec.run.configuration.test.no.spec.scrip.error.run.generator=RSpec ''./{1}'' \
  script not found. Please install rspec-rails gem or rspec rails plugin, \
  reload generators and run ''{0}'' generator from RubyMine (use Tools|Run Rails Generators... action)
rspec.run.configuration.test.plugin.doesnt.support.win32console.gem=ROR Plugin doesn't support colouring mode \
  when 'win32console' gem is installed. Please disable colouring option in run configuration or uninstall \
  'win32console' gem.
rspec.run.spec_server.console.title=RSpec DRb server

#cucumber
cucumber.run.configuration.test.no.rails.cucumber.scrip.error.run.generator=Cucumber ''./script/cucumber'' \
  script not found. To initialize your Cucumber support please install cucumber-rails gem or cucumber rails plugin, \
  reload generators and run ''{0}'' generator from RubyMine (use Tools|Run Rails Generators... action)
cucumber.run.configuration.tags.filter.with.spaces=Tags must be comma-separated without spaces
cucumber.run.configuration.cucumber.rails.support.isnt.attached=Cucumber support disabled because 'cucumber-rails' gem or Cucumber Rails plugin are missing. Install gem and add it to the Gemfile
cucumber.run.configuration.cucumber.gem.version.isnt.supported=Cucumber gem ''{0}'' isn''t supported by graphical test runner, please use version >= ''{1}'' for ''{2}'' SDK
cucumber.run.configuration.test.folder.not.exists=Features folder doesn't exist
cucumber.run.configuration.test.folder.not.specified=Features folder isn't specified
cucumber.run.configuration.test.folder.not.dir=Features folder isn't a directory
cucumber.run.configuration.test.script.not.exists=Feature file doesn't exist
cucumber.run.configuration.test.script.not.specified=Feature file isn't specified
cucumber.run.configuration.test.custom.runner.not.exists=Custom Cucumber runner script doesn't exist
cucumber.run.configuration.tests.dialog.components.use.custom.runner=Use custom Cucumber runner script:
cucumber.run.configuration.tests.dialog.components.select.custom.runner=Select Custom Cucumber Runner Script
cucumber.run.configuration.test.script.is.dir=Cucumber feature file is directory
cucumber.run.configuration.test.no.gem.in.sdk=Cucumber Gem isn''t installed for {0} SDK
cucumber.run.configuration.log.tab.name =Cucumber log

preload.use.server=&Use pre-load server\:
# spork
spork.run.drb_server.run.conf.name={0} with Spork DRb server: {1}
spork.run.settings.title=Spork DRb Launch Options
spork.run.settings.rspec=R&Spec
spork.run.settings.cucumber=&Cucumber
spork.run.settings.testunit=Test&Unit/Shoulda/Minitest
spork.run.settings.info=Choose test framework:
spork.run.settings.button.ok.caption=Run
spork.run.settings.bootstrap=Perform &bootstrap
spork.run.error.gem.not.installed=Spork gem isn''t installed in ''{0}'' SDK
spork.run.error.remote.sdk=Spork execution is not supported for remote sdk yet (''{0}'')
spork.run.error.bin.script.not.found=Spork launcher script wasn't found for ''{0}'' SDK
spork.run.settings.needed.to.be.updated=Spork DRb launch options are out of date. {0} will automatically update them.\n\
  If you want to keep previous settings please rename your ''{1}'' run configuration at first.\n\n\
  Update options?
spork.run.configuration.settings.framework=Test framework:
spork.server.run.configuration.type.name = Spork DRb
spork.server.run.configuration.type.description = Spork DRb Server run configurations
spork.server.run.configuration.script.not.specified=Spork server script isn't specified
spork.server.run.configuration.script.not.exists=Spork server script doesn't exist
spork.server.run.configuration.script.is.not.file=Spork server script doesn't seem to be file
spork.server.run.configuration.messages.select.ruby.script.path=Select Spork Server Script
spork.server.run.configuration.messages.edit.script.args=Edit Spork Server Arguments
spork.server.run.configuration.messages.script.args=Additional arguments
spork.server.run.configuration.messages.script.path=Spork script:

# Zeus
zeus.server.action.start = Start Zeus Server: {0}
zeus.server.use = Use &Zeus Server
zeus.server.run.configuration.type.name = Zeus Server
zeus.server.run.configuration.type.description = Zeus server sun configuration
zeus.server.run.configuration.command=Command name
zeus.server.run.configuration.arguments=Command arguments
zeus.server.run.configuration.edit.arguments=Edit command arguments

# rails console
rails.console = Rails console
rails.console.select.environment=Select Rails Environment
rails.console.environment=&Environment\:
rails.console.actions.reload=Reload sources
rails.console.actions.reload.description=Dynamically reloads Ruby scripts in Rails Console

# irb
irb.console.actions.load.text.title=Load to Irb Console
irb.console.actions.load.text.error.running.not.found=Running Irb console not found.
irb.console.actions.load.text.error.irb.isnt.running=Irb console ''{0}'' isn''t running.

irb.console = IRB console: {0}
irb.run.configuration.type.name = IRB console
irb.run.configuration.type.description = IRB console run configurations
irb.run.configuration.messages.select.ruby.script.path=Select IRB Script
irb.run.configuration.messages.edit.script.args=IRB arguments
irb.run.configuration.messages.script.args=Additional arguments
irb.run.configuration.messages.script.path=IRB script:
irb.run.configuration.script.not.specified=Irb script isn't specified
irb.run.configuration.script.not.exists=Irb script doesn't exist
irb.run.configuration.script.is.not.file=Irb script doesn't seem to be file

# Nailgun server
nailgun.server=Nailgun
nailgun.server.name=Nailgun Server
nailgun.server.settings=Nailgun Server Settings
nailgun.server.in.debug=Debug can not work with Nailgun server. Removed corresponding parameters from command line.
nailgun.server.rc.settings.text=Run new instance of Nailgun server or use already started one
nailgun.server.port.label=Server &port:
nailgun.server.classpath.label=&Classpath:
nailgun.server.fail=Failed to start Nailgun server
nailgun.server.fail.port=Nailgun server found on different port.\nCommand line parameter "--nailgun-port" updated.
nailgun.server.fail.gemset=Nailgun server with different gemset found.\nRemoved "--ng" parameter from command line.

########################################################################################################################
# Run Configuration extensions:
########################################################################################################################
# Bundler
run.configuration.extension.bundler.checkbox.enable.bundle.exec=&Run the script in context of the bundle (bundle exec)
run.configuration.extension.bundler.label.bundle.exec.required.warning=Bundle exec is enabled for compatibility with graphical test runner

########################################################################################################################
# Plugins
########################################################################################################################
#rails.plugins.install.progress.title=Gem installation..
rails.plugins.install.error.title=Installation Error
rails.plugins.install.process.title={0}: plugin installation

#########################################################################################################################
# Rake action
########################################################################################################################
rake.action.group.name=Rake Tasks
rake.action.group.loading.title=Loading Rake tasks...
rake.action.execute.task.dialog.title=Execute ''{0}''
rake.action.execute.task.dialog.title.ex=Execute ''{0}'' For ''{1}'' 
rake.action.execute.task.dialog.task.desc.label=Description:
rake.action.execute.task.dialog.task.desc.not.given=<No description>
rake.action.execute.task.dialog.task.args.label=&Arguments:
rake.action.execute.task.dialog.rails.env.label=&Environment:
rake.action.execute.task.version.dialog.version.label=&Version:
rake.action.execute.task.version.dialog.trace.cb=Full back&trace
rake.action.execute.task.version.dialog.step.label=&Step:
rake.action.execute.template.location=&Template location
rake.popup.promt.text=Enter task name or its part:
rake.popup.checkbox.show.undocumented=Include &undocumented
rake.popup.find.not.in.documented=Documented task not found
rake.popup.find.not.found=No tasks found
rake.popup.execute.task.error.title=Cannot Execute Task
rake.popup.execute.task.error.sdk.not.set=Ruby SDK isn't set. Check project settings.
rake.popup.execute.task.error.unknown=Rake action cannot be launched in current project context.
rake.popup.reload.action.text=[Reload rake tasks list]
rake.popup.loading.text=Loading rake tasks...
#########################################################################################################################
# Capistrano
########################################################################################################################
capistrano.action.group.name=Capistrano Tasks
run.configuration.capistrano.task.name=Task name
run.configuration.capistrano.task.arguments=Task arguments
run.configuration.capistrano.task.arguments.editor=Edit Task Arguments
run.configuration.capistrano.stage.default=Default stage
run.configuration.capistrano.error.taskname=Please specify a task name
run.configuration.capistrano.error.capistrano.gem=No Capistrano gem found in SDK
capistrano.configuration.stage=Stage
capistrano.popup.prompt.text=Enter task name or its part:
capistrano.popup.checkbox.name=Include undocumented
capistrano.popup.execute.task.error.sdk.not.set=Ruby SDK isn't set. Check project settings.
capistrano.popup.execute.task.error.title=Cannot Execute Task
capistrano.popup.execute.task.error.unknown=Unknown error has occurred
capistrano.action.execute.task.dialog.title=Execute ''{0}''
capistrano.action.execute.task.dialog.title.ex=Execute ''{0}'' For ''{1}''

#########################################################################################################################
# Capistrano
########################################################################################################################

#Rack
run.configuration.rack.select.rackup.path=Set script path
run.configuration.rack.config.path=Rack config file
run.configuration.rack.rackup.error=Rackup script is not found in SDK
run.configuration.rack.config.error=Specify rack configuration file

#########################################################################################################################
# Generate action
########################################################################################################################
new.generate.common.action.prompt.title=Add New {0}
new.generate.common.action.prompt.title.ex=Add New {0} In ''{1}''
new.generate.common.error.title=Generate Error
new.generate.common.action.title=Generate New {0}
new.generate.common.generating.title=generate script
new.generate.common.error.script.arguments.should.be.specified=Script arguments must be specified!
new.generate.common.error.script.argument.is.not.valid=is not valid argument.
new.generate.common.error.no.rails=Rails script not found in your SDK. Without Rails installed you can't invoke Rails Generators. Choose another SDK in module settings or install Rails Framework.

new.generate.controller.actions=Actions
new.generate.controller.actions.text.field.info=Enter actions separated with spaces
new.generate.controler.error.path.not.valid=Path "{0}" should be in underscored case!
new.generate.controler.error.name.not.valid=Controller name must be in underscored case, but was "{0}"
new.generate.controler.error.name.asymmetrical.coversion=Controller name should be symmetric relative to Camelize <-> Underscore conversion!

dialog.generate.common.label.arguments.text=Generator &arguments:
dialog.generate.common.checkBox.pretend.text=&Pretend
dialog.generate.common.checkBox.pretend.tooltip=Run but do not make any changes.
dialog.generate.common.checkBox.force.text=&Force
dialog.generate.common.checkBox.force.tooltip=Overwrite files that already exist.
dialog.generate.common.checkBox.skip.text=&Skip
dialog.generate.common.checkBox.skip.tooltip=Skip files that already exist.
dialog.generate.common.checkBox.backtrace.text=&Backtrace
dialog.generate.common.checkBox.backtrace.tooltip=Debugging: show backtrace on errors.
dialog.generate.common.checkBox.svn.text=S&vn
dialog.generate.common.checkBox.svn.tooltip=Modify files with subversion. (Note: svn must be in path).
dialog.generate.common.checkBox.git.text=&Git
dialog.generate.common.checkBox.git.tooltip=Modify files with git. (Note: git must be in path).
dialog.generate.common.help.title=Help For: ''{0}''
progress.dialog.generate.common.help.wait.title=Loading help...
progress.dialog.generate.common.help.cannot.fetch.help.info=Cannot fetch help information.
progress.dialog.generate.common.help.cannot.fetch.generators.list=Cannot fetch generators list.
progress.dialog.generate.common.help.no.sdk.set=Ruby SDK isn't set or isn't valid. {0}
progress.dialog.generate.common.help.no.sdk.set.rubymine=Please check '{0} | Ruby SDK and Gems'.
progress.dialog.generate.common.help.no.sdk.set.ruby.plugin=Please set SDK in module settings.

new.generate.spec.generating.title=generate spec

popup.generate.action.text=Action
popup.generate.action.description=Generates Action For Controller
popup.generate.action.command=Generate Action For Controller
popup.generate.action.prompt.title=Add New Action
popup.generate.action.error.title=Generate Action Error
popup.generate.action.error.script.argument.is.not.valid= Invalid Action name: ''{0}''.\nAction name must correspond to Rails naming convention e.g.: ''{1}''.

new.generate.rspec.controller.text=RSpec Controller
new.generate.rspec.model.text=RSpec Model
new.generate.rspec.name=RSpec

new.generate.cucumber.name=Cucumber
new.generate.feature.name=Feature
new.generate.feature.description=Generates a skeleton for a new feature
new.generate.feature.action.prompt.title=Add New Feature
new.generate.feature.action.prompt.title.ex=Add New Feature In ''{0}''
new.generate.feature.error.title=Generate Feature Error
dialog.generate.feature.label.arguments.text=Generator arguments: (ModelName [field1:type1 field2:type2])

new.generate.initialize.error=Setup {0} Support Error
new.generate.initialize.action.text=Setup {0} Support
new.generate.initialize.action.decription=Creates necessary stuff to work with {0} support in Rails project
new.generate.initialize.action.dialog.title=Setup {0} Support
new.generate.initialize.action.dialog.title.ex=Setup {0} Support For ''{1}''

new.generate.controller.text=Controller
new.generate.controller.description=Generate Controller For Rails Application
new.generate.controller.action.prompt.title=Add New Controller
new.generate.controller.action.prompt.title.ex=Add New Controller In ''{0}''
new.generate.controller.error.title=Generate Controller Error
dialog.generate.action.label.name.text=Action &name:
dialog.generate.action.label.location.text=Location:
dialog.generate.controller.button.add.text=&Add
dialog.generate.controller.button.remove.text=&Remove
dialog.generate.controller.label.actions.names.text=Actions &names:
dialog.generate.controller.label.dir.text=&Directory: (e.g. 'admin')
dialog.generate.controller.label.location.text=Location:
dialog.generate.controller.label.name.text=&Controller name: (e.g. 'CreditCard')
dialog.generate.controller.actions.promt=Edit action name or several names (e.g. 'open' or 'debit' or 'show edit list')
dialog.generate.controller.actions.promt.title=Add New Action
dialog.generate.controller.actions.error.title=Add New Action Error

new.generate.migration.text=Migration
new.generate.migration.description=Create rails files for migration generator
new.generate.migration.action.prompt.title=Add New Migration
new.generate.migration.action.prompt.title.ex=Add New Migration In ''{0}''
new.generate.migration.error.title=Generate Migration Error
dialog.generate.migration.label.arguments.text=Generator arguments: (MigrationName [field1:type1 field2:type2] [options])

new.generate.model.text=Model
new.generate.model.description=Generates Model For Rails Application
new.generate.model.action.prompt.title=Add New Model
new.generate.model.action.prompt.title.ex=Add New Model In ''{0}''
new.generate.model.error.title=Generate Model Error
dialog.generate.model.label.options=Options:
dialog.generate.model.autocompletion.ad=Use after ':' for db field types autocompletion
dialog.generate.model.cb.skip-timestamps=Don't add &timestamps to the migration file for this model
dialog.generate.model.cb.skip-migration=Don't generate a &migration file for this model
dialog.generate.model.cb.skip-fixture=Don't generate a &fixture file for this model
dialog.generate.scaffold.label.arguments.text=Generator arguments: (ModelName [controller_actions and field:type])
dialog.generate.scaffold.label.arguments.text.rails3=Generator arguments: (ModelName [field:type])

new.generate.scaffold.text=Scaffold
new.generate.scaffold.description=Scaffolds an entire resource, from model and migration to controller and views, along with a full test suite
new.generate.scaffold.action.prompt.title=Scaffold
new.generate.scaffold.action.prompt.title.ex=Scaffold For ''{0}''
new.generate.scaffold.error.title=Generate Scaffold Error
dialog.generate.scaffold.cb.force-plural=Forces the generation of a pl&ural ModelName
dialog.generate.scaffold.cb.skip-model= Don't generate a m&odel or migration file
dialog.generate.scaffold.cb.skip-controller=Don't generate &controller, helper, or views
dialog.generate.scaffold.cb.invert=Generate all controller actions &except these mentioned
dialog.generate.scaffold.cb.haml= Generate &HAML views instead of ERB
dialog.generate.scaffold.combo.testframework= Select test framework for test files
dialog.generate.scaffold.combo.default=<default>
dialog.generate.model.label.arguments.text=Generator arguments: (ModelName [field1:type1 field2:type2])

# Cucumber support
dialog.generate.cucumber.label.testframework.text=Select test framework for Cucumber:
dialog.generate.cucumber.tframework.spec=&RSpec
dialog.generate.cucumber.tframework.testunit=&Test::Unit
dialog.generate.cucumber.lable.options.backend.text=Webapp interacting backend:
dialog.generate.cucumber.sframework.capybara=&Capybara
dialog.generate.cucumber.sframework.webrat=&Webrat
dialog.generate.cucumber.spork.text=Use with Spork &DRb

# Generators popup
rails.generators.popup.promt.text=Enter generator name or its part:
rails.generators.popup.checkbox.show.hidden=Include &hidden
rails.generators.popup.find.not.in.documented=Generator not found
rails.generators.popup.find.not.found=No generators found
rails.generators.popup.execute.task.error.title=Cannot Launch Generator
rails.generators.popup.execute.task.error.sdk.not.set=Ruby SDK isn't set. Check project settings.
rails.generators.popup.execute.task.error.unknown=Generator action cannot be launched in current project context.
rails.generators.popup.reload.action.text=[Reload generators list]
rails.generators.popup.loading.text=Loading generators...

########################################################################################################################
# Additional registered shortcuts
########################################################################################################################
rails.actions.execution.run.rails.script.title=Run Rails Script
rails.actions.execution.run.rails.script.dialog.button.ok.caption=Run
rails.actions.execution.run.rails.script.dialog.button.cancel.caption=Cancel
rails.actions.execution.run.rails.script.dialog.description.caption=You can run Rails scripts from the "[{0}]/script" directory
rails.actions.execution.run.rails.script.dialog.component.script.args.caption=Arguments
rails.actions.execution.run.rails.script.dialog.component.script.args.caption.edit=Edit Arguments
rails.actions.execution.run.rails.script.dialog.component.script.path.caption=Script
rails.actions.execution.run.rails.script.dialog.component.script.path.caption.select=Select Script
rails.actions.execution.run.rails.script.error.no.scripts.folder=Unable to execute Rails script. "[{0}]/script" folder not found!
rails.actions.execution.run.rails.script.error.script.want.found=Unable to execute Rails script. Script "{0}" not found!

########################################################################################################################
# Additional registered shortcuts
########################################################################################################################
keymap.extension.rake.group.name=Rake
action.registered.shortcut.execute.disabled.title=Incorrect Action
action.registered.shortcut.execute.disabled.generators.msg=Generator ''{0}'' is inaccessible for module ''{1}''
action.registered.shortcut.execute.invalid.raketask.msg=Rake task ''{0}'' isn''t defined for module ''{1}''\n\n\
  If you are sure that this task is defined for your module\n\
  please execute ''Tools|Reload Rake tasks''\n\
  and try again.

action.consolerunner.edit.cmdline.description=Edit command line arguments
action.consolerunner.edit.cmdline.text=Edit Command line arguments
action.consolerunner.edit.cmdline.dialog.text=Command line arguments:
action.consolerunner.edit.cmdline.dialog.title=Edit Command Line Arguments

#########################################################################################################################
# Ruby Templates
########################################################################################################################
template.rails.action.implement.body=# TODO: Implement body of action

########################################################################################################################
# Color settings page
########################################################################################################################
color.settings.rhtml.name=ERB
color.settings.rhtml.scriptlet.start=Scriptlet start
color.settings.rhtml.scriptlet.end=Scriptlet end
color.settings.rhtml.expr.start=Expression start
color.settings.rhtml.expr.end=Expression end
color.settings.rhtml.scripting.bkg=Ruby injection background
color.settings.rhtml.omit.new.line=Omit new line modifier
color.settings.rhtml.comment=Comment

color.settings.ruby.name=Ruby
color.settings.ruby.keyword=Keyword
color.settings.ruby.comment=Comment
color.settings.ruby.heredoc_id=Heredoc Id
color.settings.ruby.number=Number
color.settings.ruby.string=String
color.settings.ruby.interpolated.string=Interpolated string
color.settings.ruby.escape_sequence=Escape sequence
color.settings.ruby.invalid_escape_sequence=Invalid escape sequence
color.settings.ruby.operation=Operation sign
color.settings.ruby.brackets=Brackets
color.settings.ruby.braces=Braces
color.settings.ruby.parentheses=Parenthesis
color.settings.ruby.expression_subtitution_marks=Expression substitution mark
color.settings.ruby.bad_character=Bad character
color.settings.ruby.comma=Comma
color.settings.ruby.dot=Dot
color.settings.ruby.colon=Colon
color.settings.ruby.semicolon=Semicolon
color.settings.ruby.symbol=Symbol
color.settings.ruby.hash_assoc=Hash association
color.settings.ruby.line_continuation=Line continuation
color.settings.ruby.regexp=Regular expression's boundaries
color.settings.ruby.words=Word
color.settings.ruby.heredoc_content=Heredoc contents
color.settings.ruby.gvar=Global variable
color.settings.ruby.cvar=Class variable
color.settings.ruby.ivar=Instance variable
color.settings.ruby.identifier=Identifier
color.settings.ruby.method.name=Method name
color.settings.ruby.local.variable=Local variable
color.settings.ruby.parameter=Parameter
color.settings.ruby.constant=Constant
color.settings.ruby.constant.declaration=Constant declaration
color.settings.ruby.nth_ref=Regexp group reference
color.settings.ruby.ruby.specific.call=Ruby special call
color.settings.ruby.ruby.paramdef.call=Rails special call

#RDoc
color.settings.rdoc.name=RDoc
color.settings.rdoc.directive=Directive
color.settings.rdoc.email=Email
color.settings.rdoc.url=Url
color.settings.rdoc.heading=Heading
color.settings.rdoc.identifier=Identifier
color.settings.rdoc.tag=Tag



color.settings.ruby.inspection.inspection=Inspection: {0}

indent.annotator.indent.at.begin.is.illegal=Indenting at the beginning of the document is illegal
indent.annotator.indent.cannot.use.both.tabs.and.spaces=Indentation can't use both tabs and spaces
indent.annotator.wrong.indent.length.space={0} spaces were used for indentation. Must be indented using {1} spaces
indent.annotator.wrong.indent.length.tab={0} tabs were used for indentation. Must be indented using {1} tabs
indent.annotator.wrong.indent.space=Inconsistent indentation: {0} spaces were used for indentation, but the rest of the document was indented using {1} tabs
indent.annotator.wrong.indent.tab=Inconsistent indentation: {0} tabs were used for indentation, but the rest of the document was indented using {1} spaces

########################################################################################################################
# Module
########################################################################################################################
module.common.selectlocation.label=Please specify a module name and a module content root. A module content root is the directory where all the source files will be stored.
module.common.selectlocation.module.name=Module name
module.common.selectlocation.content.root=Content root
module.common.selectlocation.select.content.root.msg=Select module content root
module.common.selectlocation.select.source.directory=Select the directory where the source files will be stored
module.common.selectlocation.module.files.root.msg=Module file will be saved in
module.common.selectlocation.prompt.module.name=Please specify a module name
module.common.selectlocation.module.not.specified.title=Module Name Not Specified
module.common.selectlocation.module.exists.text=A module with the name ''{0}'' already exists in the project
module.common.selectlocation.module.exists.title=Module Already Exists
module.common.selectlocation.specify.module.location.prompt=Please specify a module file location
module.common.selectlocation.module.location.not.specified.title=Module File Location Not Specified
module.common.selectlocation.root.already.defined.text=Content root ''{0}'' already defined for module ''{1}''.\nTwo modules in a project cannot share the same content root.
module.common.selectlocation.root.already.defined.title=Module Content Root Already Exists
module.common.selectlocation.select.module.file.location.title=Select Module File Location
module.common.selectlocation.module.file.location.text=The module file will be saved in the selected directory.
module.common.selectlocation.module.content.root.label=The module content root\n
module.common.selectlocation.module.file.label=The module file directory\n
module.common.rubydoc=RDoc

module.rails.selectlocation.content.root=Content root:
module.rails.change.directory=Change directory

button.configure=Configure...
sdk.select.prompt.title=Select SDK
sdk.error.no.sdk.prompt.messge.confirm.without.sdk=Continue without any SDK specified?
sdk.error.prompt.message.sdk.not.valid= The SDK you have selected is not compatible with Ruby or Rails application. Ruby or JRuby SDK required.
sdk.setup.progress.title=Configuring ''{0}'' SDK...
sdk.setup.progress.setup.paths=Initializing loadpath and gems paths...

########################################################################################################################
# Module rails
########################################################################################################################
module.rails.prompt.label.project.jdk=Project SDK:
module.rails.select.jdk=Specify the Ruby SDK
module.rails.generateapp.label=Specify the way Rails Application will be created.
module.rails.generateapp.rails.label=Rails &Version:
module.rails.generateapp.rails.generate.new=Generate &new Rails application
module.rails.generateapp.rails.generate.missing=Generate only &missing files
module.rails.generateapp.rails.generate.nothing=&Use existing Rails application
module.rails.generateapp.progress.title=Generating Rails Application for module ''{0}''...
module.rails.generateapp.rails.new.overwrite.title=Generate New Rails Application
module.rails.generateapp.rails.new.overwrite.message=Rails application already exists in ''{0}''.\nOverwrite?
module.rails.generateapp.result=Rails application status
module.rails.generateapp.template=Rails &Template:
module.rails.generateapp.template.not.supported=Not supported for selected rails version
module.rails.generateapp.template.select=Select Rails Template
module.rails.generateapp.template.description=Template allows to customize your new Rails application creation
module.rails.generateapp.javascript.select=&JavaScript Library\:
module.rails.generateapp.javascript.description=Rails 3.1 allows using different javascript libraries for generated application
module.settings.title=Loading settings: ''{0}''
module.rails.create.rake.tasks.title=Generating rake tasks hierarchy...
module.rails.create.rake.generators.title=Searching for available generators...
module.rails.generateapp.rake.result=Rake task "{0}"
module.settings.add.directory.title=Add Directory
module.settings.directory.is.already.included=This directory is already included
module.rails.generateapp.add.sdk.tooltip=To add SDK please specify Ruby interpreter path

#########################################################################################################################
# Parsing
########################################################################################################################
parsing.error.expression=expression
parsing.symbol.content=symbol content
parsing.alias.object=alias object
parsing.operation=operation
parsing.method.name=method name
parsing.module.name=module name
parsing.class.name=class name
parsing.singleton=singleton
parsing.identifier.or.operation=identifier or operation
parsing.block.variables=block variable(s)
parsing.local.variables=local variable(s)
parsing.do.block=do block call
parsing.rhtml.injection.in.ruby.title=%> or <% or <%=
parsing.haml.end=Unnescessary "- end" in Haml. Use indentation instead
parsing.slim.end=Unnescessary "- end" in Slim. Use indentation instead

os.not.supported=OS not supported!
module.rails.create.run.configurations.title=Creating Rails run configuration
building.index.message=Building ruby indexes
select.in.rails=Rails Project View
cache.symbol.building.builtins.title=Creating ruby built-in caches...
cache.symbol.recreating.builtins.title=Updating ruby built-in caches...


# Gherkin
parsing.gherkin.error.unexpected.toplevel=Comment, tag or feature keyword expected


########################################################################################################################
# Rails project view
########################################################################################################################
rails.project.module.view.presentable=Rails
rails.project.module.view.nodes.appication.presentable=Application
rails.project.module.view.nodes.components.presentable=Components
rails.project.module.view.nodes.controllers.presentable=Controllers
rails.project.module.view.nodes.helpers.presentable=Helpers
rails.project.module.view.nodes.libs.presentable=Libraries
rails.project.module.view.nodes.model.presentable=Models
rails.project.module.view.nodes.lib.presentable=Lib
rails.project.module.view.nodes.public.presentable=Public
rails.project.module.view.nodes.unclassified.mark=unclassified
rails.project.module.view.nodes.helpers.partial.presentable=Helpers
rails.project.module.view.nodes.views.partial.presentable=Views
rails.project.module.view.nodes.views.layouts.presentable=Layouts
rails.project.module.view.nodes.testunit.presentable=Test::Unit
rails.project.module.view.nodes.testunit.shoulda.presentable=Test::Unit/Shoulda
rails.project.module.view.nodes.config.presentable=Config
rails.project.module.view.nodes.rspec.presentable=RSpec
rails.project.module.view.nodes.user.folders.presentable=User Folders
rails.project.module.view.nodes.partials.presentable=Partials
rails.project.module.view.nodes.shared.partials.presentable=Shared partials
rails.project.module.view.nodes.migrations.presentable=Migrations

#########################################################################################################################
# RSpec Structure View
########################################################################################################################
rspec.structure.view.example.undocumented=<no documentation>
rspec.structure.view.actions.list.view.title=List View
rspec.structure.view.actions.list.view.description=Displays list of spec examples
rspec.structure.view.filters.before.after.calls.title=Hide before/after calls
rspec.structure.view.filters.before.after.calls.description=Hide before/after calls in structure view
rspec.structure.view.filters.examples.disabled.title=Hide disabled examples
rspec.structure.view.filters.examples.disabled.description=Show disabled examples in structure view
rspec.structure.view.filters.examples.pending.title=Hide pending examples
rspec.structure.view.filters.examples.pending.description=Show pending examples in structure view
rspec.structure.view.filters.examples.active.title=Hide active examples
rspec.structure.view.filters.examples.active.description=Hide active (not disabled and not pending) examples in structure view

#########################################################################################################################
# Rails Structure View
########################################################################################################################
tab.structurevew.rhtml.view=RHTML View
tab.structurevew.ruby.view=Ruby View

#########################################################################################################################
# File types
########################################################################################################################
filetype.description.rb=Ruby files
filetype.description.rjs=RJS files
filetype.description.rhtml=RHTML files
filetype.description.rxml=RXML files
filetype.description.rdoc=RDoc files

########################################################################################################################
# Intentions
########################################################################################################################
ruby.intentions=Ruby
ruby.intentions.relative.path.to.absolute=Convert relative path to absolute
ruby.intentions.append.cur.dir.to.path=Append current directory to path

ruby.intentions.string.to.symbol=Convert string to symbol
ruby.intentions.erb.convert.name=Convert to erb comment
ruby.intentions.symbol.to.string=Convert symbol to string
ruby.intentions.qualified.name.to.include_class=Include Java class
ruby.intentions.qualified.name.to.import=Import Java class
ruby.intentions.string.import.to.dot.reference=Convert to dot reference
ruby.intentions.string.import.to.camel.reference=Convert to camel case dot reference
ruby.intentions.java.to.ruby.call.style=Convert to ruby call style
ruby.intentions.java.full.class.name=To Java full qualified name
ruby.intentions.yard.add.param.name=Add @param tag
ruby.intentions.yard.add.return.name=Add @return tag
ruby.intentions.statement.to.modifier=Convert statement to modifier
ruby.intentions.modifier.to.statement=Convert modifier to statement
ruby.intentions.string.sum.to.subtitution=Convert concatenation of strings to substitutions #{}
ruby.intentions.braces.to.do=Convert { } to 'do' block
ruby.intentions.do.to.braces=Convert 'do' block to { }
ruby.intentions.rocket.to.newhashstyle=Convert '=>' to ':'
ruby.intentions.all.rocket.to.newhashstyle=Convert all '=>' to ':'
ruby.intentions.all.newhashstyle.to.rocket=Convert all ':' to '=>'
ruby.intentions.newhashstyle.to.rocket=Convert ':' to '=>'
ruby.intentions.if.to.ternary=Convert if/then/else/end block to ternary operator
ruby.intentions.ternary.to.if=Convert ternary operator to if/then/else/end block
ruby.intentions.i18n=I18n string value


########################################################################################################################
# Titles
########################################################################################################################
progress.indicator.title.directories.scanning=Scanning directories.
progress.indicator.title.paths.initialization=Initializing paths...
progress.indicator.title.cache.datafile.loading=Loading cache...
progress.indicator.title.cache.files.scanning=Scanning files: ''{0}''
progress.indicator.title.cache.files.parsing=Parsing files. Please wait...
progress.indicator.title.cache.files.removing=Removing files...
progress.indicator.title.cache.loading=Loading cache for ''{0}''...
progress.indicator.title.cache.saving=Saving cache: ''{0}''
progress.indicator.title.cache.creating=Creating cache: ''{0}''
progress.indicator.title.cache.updating=Updating cache: ''{0}''
progress.indicator.title.please.wait=Please wait...
progress.backgnd.indicator.title.please.wait={0}. Please wait...
progress.indicator.title.running.please.wait=Running. Please wait...

########################################################################################################################
# Settings
########################################################################################################################
settings.raketasks.externalizer.info=This file was automatically generated by Ruby plugin.\n\
             You are allowed to: \n\
                  1. Remove rake task\n\
                  2. Add existing rake tasks\n\
             To add existing rake tasks automatically delete this file and reload the project.\n
settings.raketasks.cant.save.message=Unable to save rake tasks settings. Unable to overwrite ''{0}'' file.

settings.generators.externalizer.info=This file was automatically generated by Ruby plugin.\n\
             You are allowed to: \n\
                 1. Reorder generators\n\
                 2. Remove generators\n\
                 3. Add installed generators\n\
             To add new installed generators automatically delete this file and reload the project.\n
settings.generators.cant.save.message=Unable to save generators settings. Unable to overwrite ''{0}'' file.

settings.scripts.title=Extensions
settings.scripts.information=Information
settings.scripts.folders=Script Folders
settings.scripts.enabled=Enabled Scripts
settings.scripts.information.text=<b>These scripts are executed on IDE startup.</b><br>\
  You can extend <b>RubyMine</b> by adding your own scripts using <a href="{0}">ruby API</a>
settings.extensions.scripts.restart.required=Restart {0} to apply changes in extensions?
settings.extensions.scripts.changed.title=Extensions Changed
settings.extensions.scripts.changed.button.restart=Restart
settings.extensions.scripts.changed.button.postpone=&Postpone
########################################################################################################################
#Console
########################################################################################################################
progress.title.console.runner.modal.dialog.running=Running: ''{0}''


########################################################################################################################
# Code Insight
#########################################################################################################################
codeInsight.rails.action_to_view.tooltip=View for ''{0}'' action
codeInsight.rails.mailer_to_view.tooltip=Template for ''{0}'' mailer method
codeInsight.rails.controller_to_view.tooltip=Views and partials for ''{0}'' controller
codeInsight.rails.view_to_action.tooltip=Action for ''{0}'' view
codeInsight.rails.view_to_mailer.tooltip=Mailer method for ''{0}'' template
codeInsight.rails.view_to_controller.tooltip=Controller for ''{0}'' view
codeInsight.rails.layout_to_controller.tooltip=Controller for ''{0}'' layout

codeInsight.rails.switch.to.view.title=Go to View
codeInsight.rails.switch.to.view.create.prompt=No views found. Enter the name of view file to create:
codeInsight.rails.switch.to.view.cant.navigate=Can't navigate to appropriate view

codeInsight.rails.switch.to.action.title=Go to Action
codeInsight.rails.switch.to.action.cant.navigate=Can't navigate to appropriate action

codeInsight.rails.switch.to.model.title=Go to Model
codeInsight.rails.switch.to.model.cant.navigate=Can't navigate to appropriate Model

codeInsight.rails.switch.to.controller.title=Go to Controller
codeInsight.rails.switch.to.controller.cant.navigate=Can't navigate to appropriate controller

codeInsight.rails.switch.to.helper.title=Go to Helper
codeInsight.rails.switch.to.helper.cant.navigate=Can't navigate to appropriate helper

codeInsight.rails.navigation.title.action.view=Choose View
codeInsight.rails.navigation.title.action.partial.view=Choose Partial View of ''{0}''


########################################################################################################################
# Annotations
#########################################################################################################################
annotation.error.cannot.make.alias.for.nth.variable=can''t make alias for the number variables
annotation.error.begin.in.method=BEGIN in method
annotation.error.class.module.name.must.be.constant=class/module name must be CONSTANT
annotation.error.class.in.method=class definition in method body
annotation.error.module.in.method=module definition in method body
annotation.error.formal.arg.cannot.be.constant=formal argument cannot be a constant
annotation.error.formal.arg.cannot.be.inst.var=formal argument cannot be an instance variable
annotation.error.formal.arg.cannot.be.global.var=formal argument cannot be a global variable
annotation.error.formal.arg.cannot.be.class.var=formal argument cannot be a class variable
annotation.error.else.without.rescue.is.useless=Else without rescue is useless
annotation.error.unsupported.i=%i is not supported by SDK
annotation.error.unsupported.i_u=%I is not supported by SDK
annotation.error.unexpected.named.arg=unexpected ':', expecting ')'
annotation.error.unsupported.named.arg=Named arguments are only supported by Ruby 2.0 and RubyMotion projects
annotation.error.unsupported.block.local.vars=Block local variables are not supported by SDK
annotation.error.unsupported.numeric.modifiers=Modifiers for numeric literals are not supported by SDK
annotation.error.unsupported.hash.to.arguments=Hash to argument conversion is not supported by SDK

#########################################################################################################################
# Plugin Settings Panel
#########################################################################################################################
# General Tab
settings.plugin.general.tab.console.panel.title=Console options
settings.plugin.general.tab.console.cb.color.mode.title=ANSI &color codes recognition

settings.plugin.general.tab.project.view.panel.title=Project View
settings.plugin.general.tab.use.ruby.project.view.title=&Use Ruby specific Class/Module Project View
settings.plugin.general.tab.environment.variables.panel.title=Environment
settings.plugin.general.tab.environment.path.idea.label=Idea PATH
settings.plugin.general.tab.environment.path.additional.label=Additional Path(s)
settings.plugin.general.tab.environment.path.additional.tooltip=(e.g. ~/bin:/usr/local/mysql/bin)

settings.code.insert.args.and.blocks=Insert arguments and block stubs on autocompletion

# Plugin About Info
settings.plugin.about.tab.title=Plugin Info
plugin.about.build.label=Plugin build:
plugin.about.revision.label=Svn revision:
plugin.about.recent.changes.label=Recent changes:
plugin.about.home.page.label=Home page:
plugin.about.issue.tracker.label=Issue tracker:
plugin.info.unknown.value=unknown
plugin.about.recent.mailinglist.label=Mailing list:
plugin.about.recent.forum.label=Forum:
plugin.about.issue.plugin.repository.label=Plugin repository:

########################################################################################################################
# Autocomplete, resolve
#########################################################################################################################
in=in
parameter=parameter
local.variable=local variable
constant=constant
global.variable=global variable
class.variable=class variable
instance.variable=instance variable
field.write=field write
call=call
method=method
class=class
module=module

########################################################################################################################
# Rename
#########################################################################################################################
rename.incorrect.name=Incorrect name: ''{0}''
rename.cannot.rename.accessor.method.to.common=Cannot rename accessor name to common method name
rename.same.name=Same name
rename.cannot.rename.pseudo.constant=Cannot rename pseudo constant {0}
rename.not.available=Rename not available

########################################################################################################################
# RubyPsiDocumentation
#########################################################################################################################
ruby.doc.module=module
ruby.doc.class=class
ruby.doc.method.class=class method
ruby.doc.method.instance=instance method
ruby.doc.field.reader=field reader
ruby.doc.field.writer=field writer
ruby.doc.alias=alias
ruby.doc.original=original
ruby.doc.not.found=No documentation found.
ruby.doc.select.symbol=Select symbol to show help for:
ruby.doc.documentation=Documentation
ruby.doc.several.variants=Several variants found
ruby.doc.usage=Usage
ruby.doc.description=Description
ruby.doc.private=private
ruby.doc.protected=protected
ruby.doc.public=public
ruby.doc.overrides=Overrides:
ruby.doc.inferred.type=Inferred type:
##########################################################################################################################
# Inspections
#########################################################################################################################
inspection.group.ruby.name=Ruby
inspection.group.jruby.name=JRuby
inspection.group.rails.name=Rails

# Inspection: call
inspection.argcount.name=Incorrect call argument count
inspection.argcount.number.of.arguments.error=Number of arguments must be {0}
inspection.argcount.required.at.least=Required >= {0}
inspection.argcount.required.max=Required <= {0}
inspection.argcount.required=Required {0}
inspection.argcount.missing.arguments=Missing {0} argument(s)
inspection.argcount.extra.arguments=Found {0} extra argument(s)

# Inspection: duck type
inspection.duck.type.name=Call argument type mismatch
inspection.duck.type.cannot.find.method=Value ''{0}'' does not seem to have method ''{1}'' with {2} arg(s)
inspection.duck.type.cannot.find.method.in.type=Value ''{0}'' of type ''{1}'' does not seem to have method ''{2}'' with {3} arg(s)

# Inspection: ruby interpreter
inspection.invalid.interpreter.name=Invalid interpreter configured
inspection.invalid.interpreter.not.configured=No Ruby interpreter configured for the project
inspection.invalid.interpreter.configured=Invalid Ruby interpreter selected for the project
inspection.invalid.interpreter.quick.fix.name=Configure Ruby Interpreter


# Inspection: resolve
inspection.resolve.name=Unresolved Ruby reference
inspection.resolve.cannot.find=Cannot find ''{0}''
inspection.resolve.field.cannot.find=Cannot find declaration for field ''{0}''
inspection.resolve.cannot.find.in.type=Cannot find ''{0}'' for type ''{1}''
inspection.resolve.implicit.required.item=Implicit required file, not inspected
inspection.resolve.cannot.find.variable=Cannot find variable with given name
inspection.resolve.cannot.find.required.file=No such file to load
inspection.resolve.cannot.resolve.include=Cannot resolve properly, was not processed
inspection.resolve.warn.implicit.resolve.results=Warn about implicit text matched resolve results

# Inspection: scopes local var
inspection.scopes.name=Scope inspection
inspection.scopes.parameter.shadows.outer=Parameter ''{0}'' shadows outer parameter or local variable
inspection.scopes.uninitialized.local.variable=Local variable ''{0}'' can be uninitialized
inspection.scopes.redundant.block.local.variable=Redundant block local variable ''{0}'' declaration

# Inspection: unused local variable
inspection.unused.locals.name=Unused local variable
inspection.unused.locals.local.isnot.used=Local variable ''{0}'' is not used
inspection.unused.locals.local.value.isnot.used.anymore=Local variable ''{0}'' value after assignment is not used
inspection.unused.locals.parameter.isnot.used=Parameter ''{0}'' is not used
inspection.unused.locals.parameter.value.isnot.used.anymore=Parameter ''{0}'' value after assignment is not used
inspection.unused.locals.replace.with.wildcard=Replace with wildcard
inspection.unused.locals.remove.assignment=Remove assignment
inspection.unused.locals.rename.to.constant=Rename to constant
inspection.unused.locals.too.complex=''{0}'' is too complex to analyze by data flow algorithm

# Inspection: implement java interface/override abstract class
inspection.implement.interface.name=Java interface not fully implemented
inspection.implement.interface.fix=Implement methods
inspection.implement.interface.class.should.implement.method=Class must implement method: {0}

# Inspection: super class must be a class
inspection.super.class.must.be.a.class.name=Super class must be a class but not an interface
inspection.super.class.must.be.a.class.message=No interface expected here
inspection.super.class.must.be.a.class.fix.name=Change inheritance to including interface

# Inspection: super class must be a class
inspection.imported.class.should.be.public.name=Imported class must be public
inspection.imported.class.should.be.public.message=Imported class must be public
inspection.imported.class.should.be.public.fix.name=Change imported class modifier to public

# Inspection: call
inspection.unnecessary.semicolon.name=Unnecessary semicolon
inspection.unnecessary.semicolon.message=Unnecessary semicolon
inspection.unnecessary.semicolon.quickfix.message=Remove unnecessary semicolon

# Inspection: unnecessary return statement
inspection.unnecessary.return.statement.name=Unnecessary return statement
inspection.unnecessary.return.statement.message=Unnecessary return statement
inspection.unnecessary.return.statement.remove.fix=Remove unnecessary return statement
inspection.unnecessary.return.statement.in.assignment.message=Ignored return statement in assignment method

# Inspection: unnecessary return value
inspection.unnecessary.return.value.name=Unnecessary return value
inspection.unnecessary.return.value.message=Unnecessary return value

# Inspection: string jruby import
inspection.jruby.string.import.name=Incorrect jruby string import
inspection.jruby.string.import.message=Incorrect jruby string import
inspection.jruby.string.import.fix1=Replace '::' with '.'
inspection.jruby.string.import.fix2=Remove 'Java' prefix

# Inspection: jruby java field access
inspection.jruby.java.field.access.name=Access java fields
inspection.jruby.java.field.access.message=Can't access nonpublic java fields with dot reference, use field_reader, field_writer, field_accessor
inspection.jruby.java.field.access.enum.message=Can't access enum field with dot reference
inspection.jruby.java.field.access.enum.fix=Replace '.' with '::'

# Inspection: parentheses around conditional
inspection.parentheses.around.conditional=Parentheses around conditional
inspection.parentheses.around.conditional.message=Remove parentheses

# Inspection: wrong hash
inspection.wrong.hash=Wrong hash
inspection.wrong.hash.assoc.element=assoc element
inspection.wrong.even.number.required=Even number of elements required

# Inspection: wrong top level package
inspection.wrong.top.level.package=Wrong Java top level package
inspection.wrong.top.level.package.fix=Add Java:: to package
inspection.wrong.top.level.package.should.be.one.of=Top level Java package used should be one of: {0}

# Inspection: large class
inspection.large.class.methods=Too many methods in class/module
inspection.large.class.methods.property=Number of methods
inspection.large.class.methods.checkbox.name=Ignore test classes
inspection.large.class.variables=Too many instance variables in {0} {1}
inspection.large.class.variables.property=Number of instance variables

# Inspection: hashes
inspection.duplicated.keys.in.hash=Duplicated keys in hash
inspection.duplicated.keys.in.hash.msg=Duplicated key
inspection.duplicated.keys.in.hash.fix.delete=Remove hash key
inspection.duplicated.keys.in.hash.msg1=Odd number of arguments for Hash
inspection.hash.keys.types=Possible bug in Hash[...] syntax
inspection.hash.double.quoted.keys=String as hash key
inspection.hash.double.quoted.keys.msg=Convert string key to symbol
inspection.hash.convert.in.file=Convertable hash to ruby 1.9 style
inspection.hash.convert.in.file.fix=Convert to ruby 1.9 style

# Inspection: double quoted string to single quoted
inspection.quoted.string=Double quoted string
inspection.quoted.string.msg=Double quoted string with no interpolation and special symbols
inspection.quoted.string.label=Ignore strings containing a single quote
inspection.quoted.string.fix=Convert to single quoted

# Inspection: expression in '' string
inspection.expression.in.string=Expression in single-quoted string
inspection.expression.in.string.msg=Convert single-quoted string to ""

# Inspection: empty rescue block
inspection.empty.rescue.block=Empty rescue block
inspection.empty.rescue.block.msg=Add 'ignored' to rescue block

# Inspection: if can be switch
inspection.if.can.be.case='If' replaceable with 'case'
inspection.if.can.be.case.msg=Convert to case
inspection.if.can.be.case.option=Minimum number of branches

# Inspection: case without else block and empty else block
inspection.case.without.else=Case block without else
inspection.case.without.else.msg=Add 'else' block
inspection.empty.else.block=Empty else block

# Inspection: deprecated syntax
inspection.deprecated.syntax=Deprecated syntax {0}
inspection.deprecated.syntax.ruby19= (removed from Ruby 1.9)
inspection.deprecated.syntax.fix1=Replace ":" with 'then'
inspection.deprecated.syntax.fix2=Replace with {0}


# Inspection: parentheses around arguments of def
inspection.def.parentheses=Parentheses around arguments
inspection.def.parentheses.no.arg=Parentheses around empty arguments list
inspection.def.no.parentheses=No parentheses around arguments
inspection.def.parentheses.msg=Add parentheses
inspection.def.parentheses.msg2=Remove parentheses

# Inspection: assignment expression in conditional
inspection.assignment.in.conditional=found '=' in conditional
inspection.assignment.in.conditional.name=Assignment in conditional
inspection.assignment.in.conditional.msg=Replace '=' with '=='
inspection.assignment.in.conditional.msg2=Add parentheses around

# Inspection: literal array
inspection.literal.array='%w' instead of literal array syntax
inspection.literal.array.msg=Convert to '%w'

# Inspection: nested ternary operators
inspection.nested.ternary.operators=Nested ternary operators
inspection.nested.ternary.operators.fix=Convert to if/then/else/end block

# Inspection: then in multiline conditional
inspection.then.in.multiline.conditional='Then' in multiline if/unless block
inspection.then.in.multiline.conditional.msg=Delete 'then'

# Inspection: for to foreach
inspection.fortoforeach.quickfix.message=Change for loop to for.each

# Inspection: call
inspection.deadcode.name=Unreachable code
inspection.deadcode.unreachable.code=Unreachable code
inspection.deadcode.unreachable.method=Unreachable code. This method is overridden and there is no alias for it

# Inspection: Dynamic constant assinment erro
inspection.dynamic.const.assignment.name=Dynamic constant assignment
inspection.dynamic.constant.assignment=Dynamic constant assignment

# Inspection: Constant re-assignment error
inspection.constant.reassignment.name=Constant re-assignment
inspection.constant.reassignment.error.msg=Constant re-assignment: ''{0}''

# Inspection: Constant re-assignment error
inspection.constant.already.initialized.name=Constant already initialized
inspection.constant.already.initialized.warning.msg=Already initialized constant ''{0}''

# Inspection: Don't put space before parentheses
inspection.parentheses.name=Space before arguments parentheses
inspection.parentheses.warning=Don't put space before arguments parentheses

#Inspection: Redundant parentheses after method call
inspection.parentheses.after.method.call=Redundant parentheses after method call
inspection.parentheses.after.method.call.fix=Remove parentheses

# Inspection: jump error
inspection.jump.error.name=Jump error
inspection.jump.error.return.inside.class.or.module=Return statement inside class or module body
inspection.jump.error.no.loop.for.break=No corresponding loop for break statement
inspection.jump.error.no.loop.for.next=No corresponding loop for next statement
inspection.jump.error.no.loop.for.redo=No corresponding loop for redo statement
inspection.jump.error.no.context.for.retry=No corresponding context for retry statement

# Inspection: ParamDef resolve inspection
inspection.paramdef.resolve.name=Unexpected parameter value for Rails specific call
inspection.paramdef.resolve.unexpected.param.not.valid=unexpected parameter value ''{0}'' for this Rails call
inspection.paramdef.resolve.dynamic.param=Cannot check dynamically generated value ''{0}''

inspection.paramdef.unexpected.param.value=unexpected parameter value ''{0}''
inspection.paramdef.enum.unexpected.value=expected one of:
inspection.paramdef.hash.unexpected.key=unexpected hash key ''{0}''
inspection.paramdef.hash.unexpected.key.type=expected symbol, not string key: ''{0}''
inspection.paramdef.unbound.paramdef.warning=extra call argument. This call should use less arguments
inspection.paramdef.array.arg.out.of.bounds.warning=extra array element. This array should contain only {0} elements

inspection.paramdef.association.warning=unable to find associated Rails Model for ''{0}'' association field
inspection.paramdef.association.name.warning=unable to find Rails Model association with name ''{0}''
inspection.paramdef.controller_action.warning=Expected Rails action method name, but found ''{0}''
inspection.paramdef.controller.warning=Expected Rails controller name (e.g. :login for LoginController), but found ''{0}''
inspection.paramdef.helper.warning=expected helper name (e.g :''login'' for ''app/helpers/login_helper.rb'') or '':all'' parameter, but found ''{0}''
inspection.paramdef.file.warning=expected file name (e.g :''/public/404.html'', but found ''{0}''
inspection.paramdef.image.warning=expected relative path to image from images or ''public'' folder (e.g :''icon'', ''icon.png'', ''/icons/icon.gif''), but found ''{0}''
inspection.paramdef.video.warning=expected relative path to video from videos or ''public'' folder (e.g :''trailer'', ''trailer.ogg'', ''/videos/trailer.ogg''), but found ''{0}''
inspection.paramdef.audio.warning=expected relative path to audio from audios or ''public'' folder (e.g :''sound'', ''sound.wav'', ''/audios/sound.wav''), but found ''{0}''
inspection.paramdef.method.warning=expected method name{0}, but found ''{1}''.
inspection.paramdef.access.warning=Method access modifier should be at least {0}
inspection.paramdef.method.warning.up.to.part=from current or parent classes up to ''{0}''
inspection.paramdef.migration.warning=expected DB field name of table ''{0}''{2}, but found ''{1}''
inspection.paramdef.migration.warning.undefined.db=DB field ''{1}'' of undefined table for class ''{0}''
inspection.paramdef.model_name.warning=Expected Rails model class name (e.g. ''Person''), but found ''{0}''
inspection.paramdef.model.warning=Expected DB Table name (e.g. :people for model Person), but found ''{0}''
inspection.paramdef.partial.warning=expected partial template''s name or path (e.g. ''partial'' or ''/login/partial''), but found ''{0}''
inspection.paramdef.script.warning=expected relative path to javascript from ''public/scripts'' folder (e.g :''prototype''), but found ''{0}''
inspection.paramdef.stylesheet.warning=expected relative path to stylesheet from stylesheets or ''public'' folder (e.g :''coderay.css'', ''coderay'', ''/stylesheets/user-styles''), but found ''{0}''
inspection.paramdef.view.warning=expected view template located in [VIEW_TEMPLATE_ROOT] (e.g. ''login/index'' for ''[VIEW_TEMPLATE_ROOT]/login/index.html.erb''), but found ''{0}''
inspection.paramdef.layout.warning=expected path to layout file located in [VIEW_TEMPLATE_ROOT]/layouts or symbol reference to layout method name (e.g. ''login'' for ''[VIEW_TEMPLATE_ROOT]/layouts/login.html.erb'' or :my_render_method), but found ''{0}''
inspection.paramdef.table_name.warning=expected DB table name {1}, but found ''{0}''
inspection.paramdef.warning.eg.singular=(e.g. {0})
inspection.paramdef.warning.forbidden.rsymbol.usage=Symbol value cannot be used here
inspection.paramdef.warning.forbidden.rsymbol.in.assoc.class_name=Rails doesn't understand symbol value here you should use string
inspection.paramdef.warning.name.array.type=array
inspection.paramdef.warning.name.hash.type=hash
inspection.paramdef.warning.name.string.type=string
inspection.paramdef.warning.name.symbol.type=symbol

# Inspection: Rails 3.0 deprecated feature
inspection.rails3.deprecated.name=Features deprecated in Rails
inspection.rails3.show.for.old.projects=Show inspection for old (Rails < 3.0) projects
inspection.rails3.will.be.removed.from=Support will be removed from Rails {0}
inspection.rails3.option.in.finders=Supplying any option to the finder or calculation methods is deprecated
inspection.rails3.find.all.and.first=find(:first) and find(:all) are deprecated in favour of first and all methods
inspection.rails3.constant.deprecated=''{0}'' constant is deprecated in Rails 3.0
inspection.rails3.call.deprecated=''{0}'' call is deprecated
inspection.rails4.dynamic.finders=Dynamic finders are deprecated, please consider rewriting using where

# Inspection: Shoulda unsupported file name
inspection.shoulda.reassignment.name=Unsupported Shoulda test file
inspection.shoulda.reassignment.error.msg=Shoulda code insight support isn't activated for this class.

# Inspection: Simplify
inspection.simplify.name=Expression can be simplified
inspection.simplify.message=This inspection warns about incorrect logic in boolean expression
inspection.simplify.message.quickfix.message=Simplify boolean expression to ''{0}''

# Inspection: Class variable usage
inspection.classvariables.name=Class variable usage

# Inspection: Super call without superclass
inspection.call.super=super() call with no superclasses actually defined

# Inspection: Instance variable in string
inspection.instance.variable.to.string=No braces around instance variable being interpolated into a string
inspection.global.variable.to.string=No braces around global variable being interpolated into a string
inspection.instance.variable.to.string.fix=Add braces

# Inspection: Convert control flow
inspection.controlflowconversion.name=Control flow statement with negative condition
inspection.controlflowconversion.quickfix.message=Replace ''{0} {1}'' block with ''{2} {3}''
inspection.unlesswithelse.name=Unless used with else
inspection.unlesswithelse.quickfix.message=Convert fo 'if.. ' statement

# Inspection: For loop usage
inspection.forloop.name=For loop is better to be replaced with for.each

# Suppress : Ruby
suppress.inspection.statement=Suppress for statement
suppress.inspection.method=Suppress for method
suppress.inspection.class.module=Suppress for class/module
suppress.inspection.class.module.all=Suppress all inspections for class/module

# Suppress: Gherkin

# Cucumber
inspection.group.cucumer.name=Cucumber
inspection.undefined.step.name=Undefined step
inspection.undefined.step.msg.name=Undefined step reference:
inspection.duplicate.step.definition.message=Several step definitions with the same name found
inspection.duplicate.step.definition.gutter.tooltip.message=Several step definitions with the same name found
inspection.duplicate.step.definition.gutter.balloon.title=Select duplicated step definition
inspection.step.definition.parameter.count.message=Parameter count in the block section does not match parameter count in the step name

# Rails checklist inspections
inspection.rails.checklist.one.model.call.from.controller.name=Controller action calling too many model methods (except .find or .new)
inspection.rails.checklist.one.model.call.from.controller.message=Controller action should call one model method other than an initial find or new
inspection.rails.checklist.one.or.two.instance.variables.name=Too many shared instance variables between controller and view
inspection.rails.checklist.one.or.two.instance.variables.message=At most two instance variables should be shared between controller and view
inspection.rails.checklist.named.scope.instead.of.method.name=Custom .find accessed more than once that use a custom method instead of scope/named_scope
inspection.rails.checklist.named.scope.instead.of.method.message.old=All custom finds accessed from more than one place in the code should use named_scope instead of a custom method
inspection.rails.checklist.named.scope.instead.of.method.message=All custom finds accessed from more than one place in the code should use scope instead of a custom method
inspection.rails.checklist.view.calls.find.name=Base find methods shouldn't be called from a view
inspection.rails.checklist.view.calls.find.message=find or find_by methods should not be called from a view or view helper

# Clashed identifiers inspection
inspection.clashed.identifier.name=Clashed identifier
inspection.clashed.identifier.message=Name of the identifier clashes with name of method or attribute

# Inspection: yard
inspection.yard.name=Wrong Yard tags
inspection.yard.several.return.tags=Several @return tags found
inspection.yard.no.param.tag=Missing @param tag for ''{0}''
inspection.yard.several.param.tags=Several @param tags for name ''{0}''
inspection.yard.wrong.param=Method doesnt have parameter for name ''{0}''
inspection.yard.remove.tag=Remove tag

# Inspections: unused import
inspection.jruby.unused.import.name=Unused import
inspection.jruby.unused.import=Import is never used
inspection.jruby.remove.import=Remove unused import

# Inspection: java deprecated method usage
inspection.jruby.deprecated.java.method.usage=''{0}'' is deprecated
inspection.jruby.deprecated.java.method.override=Overrides deprecated method in ''{0}''
inspection.jruby.deprecated.java.method.name=Deprecated Java method usage

########################################################################################################################
# LineMarkers
#########################################################################################################################
overrides=Overrides
overridden=Overridden
mixed.in=Mixed
partial=Partial declarations
superclass=Superclass

line.marker.select.overriden.variant=Select overridden element
line.marker.select.overriding.variant=Select overriding element
line.marker.select.overriden.partial.variant=Select partial declaration


########################################################################################################################
# Create Actions
#########################################################################################################################
action.create.new.rails.template.filetype={0} Template
action.description.create.new.rails.template.file=Create New {0}
class.to.import.chooser.title=Choose class

#########################################################################################################################
# Module settings dialog
#########################################################################################################################
module.settings.dialog.select.test.spec.cb.install.rspec=&RSpec
module.settings.dialog.select.test.spec.cb.install.rspec_rails=&Spec::Rails
module.settings.dialog.select.test.spec.panel.rspec.title=RSpec
module.settings.dialog.select.test.spec.panel.rspec_rails.title=RSpec on Rails
module.settings.dialog.select.test.spec.rb.use.rspec.gem=Use RSpec &Gem: {0}
module.settings.dialog.select.test.spec.rb.use.rspec.gem.version.not.installed=[not installed]
module.settings.dialog.select.test.spec.rb.install.rspec.plugin=RSpec &Plugin
module.settings.dialog.select.test.spec.rb.rspec.plugin.latest=Install &Latest release
module.settings.dialog.select.test.spec.rb.rspec_rails.plugin.latest=Install L&atest release
module.settings.dialog.select.test.spec.rb.rspec.plugin.any=Install Sp&ecific release (replace X, Y, Z with the version of RSpec)
module.settings.dialog.select.test.spec.rb.rspec_rails.plugin.any=Install Speci&fic release (replace X, Y, Z with the version of RSpec)
module.settings.dialog.select.test.spec.rb.label.plugin.arguments=Arguments for script/plugin install :
module.settings.dialog.select.test.spec.rb.rspec.plugin.trunk=Install &Trunk version
module.settings.dialog.select.test.spec.rb.rspec_rails.plugin.trunk=Install Tr&unk version

module.settings.dialog.select.test.ruby.spec.gem.text=Would you like to install RSpec gem.
module.settings.dialog.select.test.ruby.spec.gem.install.text=&Yes
module.settings.dialog.select.test.ruby.spec.gem.dont.intstall.text=&No

module.settings.dialog.select.test.framework.choose.text=Please specify a Test Framework for your module.
module.settings.dialog.select.test.framework.choose.test.unit.text=&Test::Unit framework
module.settings.dialog.select.test.framework.choose.rspec.text=&RSpec framework
module.settings.dialog.select.test.framework.choose.rspec.html.link=For more information about RSpec Test Framework, see <a href="{0}">{0}</a>
module.settings.dialog.select.test.spec.ruby.installed.rspec.gem=Your RSpec Gem version: <font color="#2554C7">{0}</font>.
#module.settings.dialog.select.test.spec.ruby.installed.rspec.gem=<b>Your RSpec Gem version:</b> <font color="#2554C7">{0}</font>.
module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.html=Please <font color="#E41B17">install RSpec Gem </font> for current Ruby SDK or chose <font color="#E41B17">Ruby SDK with installed RSpec</font> before continuing.
#module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.html=<b>Please <font color="#E41B17">install RSpec Gem </font> for current Ruby SDK or chose <font color="#E41B17">Ruby SDK with installed RSpec</font> before continuing.</b>
#module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.text=Please install RSpec Gem for current Ruby SDK or chose Ruby SDK with installed RSpec before continuing.
module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.text=RSpec Gem isn't installed for chosen Ruby SDK. Continue anyway?
module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.title=Install RSpec Gem


module.settings.dialog.svn.not.in.path.msg=Plugins installation requires svn client. At first setup svn folder path.
module.settings.dialog.svn.not.in.path.title=Svn not found


module.settings.dialog.source.roots.choose.test.text=Please specify a directory where ruby tests source files for your module can be found.\n\nNote: the plugin will search correctly only those test files, that are located under tests directories.\nYour can add additional test source roots later in module settings dialog.
module.settings.dialog.source.roots.choose.test.create=&Create test source directory (recommended)
module.settings.dialog.source.roots.choose.test.comment=Enter relative path to module content root :
module.settings.dialog.source.roots.choose.test.do.not.create=&Search tests in whole module content
module.settings.dialog.source.roots.choose.test.full.path=The following directory will be marked as a test source directory :

module.settings.dialog.test.framework.tab.title=Test Framework
module.settings.dialog.test.framework.rspec.use.gem=Use RSpec &Gem
module.settings.dialog.test.framework.rspec.use.plugin=Use RSpec &Plugin
module.settings.dialog.test.framework.rspec.use.no.sdk.messages=No Ruby SDK. At first setup Ruby SDK for this Module.
module.settings.dialog.test.framework.rspec.use.no.sdk.title=Show RSpec Gem Version
module.settings.dialog.test.framework.rspec.get.gem.version=&Show RSpec Gem version

module.create.dialog.init.errors.title=Module ''{0}'': Setup Error

module.toggle.rails.view.sources.action=Rails View User Folders
module.toggle.rails.view.additional.sources.action.description=Mark directory as a Rails View user folder
module.paths.rails.view.additional.group=Rails View User Folders

module.settings.dialog.i18n.folders.tab.title=I18n folders
module.settings.dialog.i18n.folders.list.caption=&I18n folders:

module.settings.dialog.load.path.tab.title=Load Path
module.settings.dialog.load.path.list.caption=&Load paths:
module.settings.dialog.load.path.button.add=&Add
module.settings.dialog.load.path.filechooser.add.dialog.title=Select directory
module.settings.dialog.load.path.button.remove=&Remove

##########################################################################################################################
# New Module/Project Wizard
#########################################################################################################################
module.wizard.test.framework.rspec.svn.note=Note: Svn must be in PATH. You can add folder containing snv to load path right here

##########################################################################################################################
# Files operations
#########################################################################################################################
file.cant.create.folder.text=Can't create folder : "{0}"
file.cant.create.folder.title=Create Folder

##########################################################################################################################
# IDEA Bundles
#########################################################################################################################
# ProjectBundle
module.toggle.excluded.action=Excluded
module.toggle.excluded.action.description=Include/Exclude directory from module
module.toggle.test.sources.action=Test Sources
module.toggle.test.sources.action.description=Mark directory as a Test Sources root
module.paths.test.sources.group=Test Source Folders
module.paths.excluded.group=Excluded Folders
module.paths.unmark.tests.tooltip=Unmark Tests
module.paths.unmark.source.tooltip=Unmark Source
module.paths.remove.tooltip=Remove
module.paths.include.excluded.tooltip=Include
module.paths.empty.node=<empty>
project.root.change.loading.progress=Loading Files...

#IdeBundle
prompt.enter.new.filetype.name=Enter a new {0} file name:
title.new.filetype=New {0}
title.new.from.template=New {0}
title.cannot.create.filetype=Cannot Create {0}
title.cannot.create.file=Cannot Create File
command.name.create.new.file=Create {0}
command.create.file.from.template=Create File From Template
progress.creating.filetype.in.directory=Creating {0} ''{1}'' in {2}
progress.deleting=Deleting
error.please.enter.a.file.name=Please enter a file name
error.unable.to.parse.template.message=Unable to parse template "{0}"\nError message: {1}
tab.chooser.project=Project
tab.chooser.search.by.name=Search by Name

#ExecutionBundle
choose.test.method.dialog.title=Choose Test Method
choose.test.class.dialog.title=Choose Test Class
set.class.name.message=Set class name first

#CommonBundle
action.rerun=Rerun


##########################################################################################################################
# JRuby Facet
#########################################################################################################################
jruby.facet=JRuby
jruby.facet.no.jdk.error=No JRuby SDK selected!
jruby.select.sdk=Select JRuby SDK

#Settings tab: Gem Manager and SDK
jruby.settings.tabs.gem.manager.title=Gem Manager
jruby.settings.tabs.gem.manager.error.wrong.sdk=Chosen SDK isn't JRuby SDK

##########################################################################################################################
# Rails Facet
#########################################################################################################################
rails.facet=Ruby on Rails
jrails.facet=JRuby on Rails
rails.application.settings=Rails Application Settings
rails.mountable.engine.settings=Rails Engine Settings
rails.facet.wizard.more.button=More...
rails.facet.wizard.more.dialog.title=Rails Facet Settings
rails.facet.wizard.error.no.skd=You didn't select Ruby SDK with Rails Framework
rails.facet.wizard.error.skd.without.rails=Your SDK doesn't contain Rails Framework
rails.facet.wizard.error.add.facet.canceled=Rails Facet creation was canceled.
rails.facet.wizard.tab.rails.project.generator.title=Rails Application
rails.facet.wizard.tab.rails.project.generator.select.rails.relative.path=<html>Please specify a directory in which the application will be generated. A path should be relative to module content directory. If you leave this field empty, the module content directory will be used. (examples\: 'myapp' or 'src/rails/myapp' or leave empty)\:</html>
rails.facet.wizard.tab.rails.project.generator.select.rails.preconfigure.for.db=&Preconfigure for selected database:
rails.facet.wizard.tab.rails.project.generator.select.rails.generate.mountable.engine=Generate Rails mountable &engine
rails.facet.wizard.tab.rails.project.generator.select.rails.skip.test.unit=&Skip Test::Unit files
rails.facet.wizard.tab.rails.project.generator.ruby.sdk=&Ruby SDK\:

##########################################################################################################################
# Gem Facet
#########################################################################################################################
gem.facet.wizard.error.no.skd=You didn't select Ruby SDK
gem.facet.wizard.error.no.bundler=Bundler cannot be found
gem.facet.settings.tab.general.title=Info
gem.facet.settings.tab.general.homeDir=Ruby Gem Base Directory:

##########################################################################################################################
# RubyMotion application
#########################################################################################################################
ruby.motion.application.settings=RubyMotion Application Settings
ruby.motion.wizard.tab.project.generator.title=RubyMotion Application
ruby.motion.wizard.tab.project.generator.ruby.sdk=Ruby &SDK\:
ruby.motion.wizard.tab.project.generator.project.type=&Template\:
ruby.motion.wizard.tab.project.generator.use.calabash=Use motion-&calabash testing framework

##########################################################################################################################
# Gem application
#########################################################################################################################
gem.project.generator.name=Ruby Gem
gem.wizard.generate.project.title=Gem Settings
gem.wizard.ruby.interpreter=Ruby &SDK\:
gem.wizard.bundler.version=Bundler &version\:
gem.wizard.create.bin.folder=Create &bin folder
gem.wizard.create.test.folder=Create &test folder
gem.bundler.not.found=No Bundler gem found in SDK. Please install Bundler
gem.download.bundler.gem=Downloading Bundler gems list
gem.download.bundler.error=No bundler gems found.\nPlease check proxy settings and gem urls
gem.project.add.sdk=To add SDK please specify Ruby interpreter path
gem.project.install.bundler=Install Bundler gem
gem.build.options.dialog.title={0} Gem {1}
gem.build.options.dialog.edit.arguments=Edit ''gem {0}'' arguments
gem.build.options.arguments=Optional arguments

rspec.rails.facet.wizard.tab.rails.project.generator.title=RSpec Components
#------- Rails Facet Builder
rails.facet.builder.run.configuration.server.creating=Creating Rails Run Configuration
rails.facet.builder.rails.application.searching=Searching for Rails Application
rails.facet.builder.rails.application.choose.title=Rails Application Root Folder
rails.facet.builder.rails.application.choose.relative.path=Choose relative path to module content root.

#------- Settings --
rails.facet.settings.tab.general.title=Info
rails.facet.settings.tab.general.railsHomePath.caption=Rails Application Home Directory:
rails.facet.settings.tab.railsView.title=Rails View
#------ Actions -----
rails.facet.action.regenerate.generators.error.wrong.sdk=Can't reload available generators. No SDK is specified for module.
rails.facet.action.regenerate.rakeTasks.error.wrong.sdk=Can't reload available rake tasks. No SDK is specified for module.

##########################################################################################################################
# RHTML Parsing
#########################################################################################################################
rhtml.parsing.flex.error=Lexer error!!!
rhtml.parsing.named.element.is.not.closed=Element {0} is not closed
rhtml.parsing.unexpected.end.of.file=Unexpected end of file

##########################################################################################################################
# Breadcrumbs
#########################################################################################################################
breadcrumbs.rhtml.presentation.omit.new.line=Omit new line
breadcrumbs.rhtml.presentation.comment=Comment
breadcrumbs.rhtml.presentation.ruby.injection=Ruby injection
breadcrumbs.rhtml.tooltip.textrange=TextRange: {0}

##########################################################################################################################
# Refactoring
#########################################################################################################################
# introduce
refactoring.introduce.name.error=Incorrect name
refactoring.introduce.selection.error=Cannot perform refactoring using selected element(s)
refactoring.introduce.context.error=Cannot perform refactoring in this context
refactoring.introduce.command.error=Cannot perform refactoring on the command call
refactoring.introduce.input.error=Cannot perform refactoring. Selected fragment depends on local variable(s)
refactoring.introduce.state.changed.error=Cannot perform refactoring. State is changed inside the selected fragment

# introduce variable
refactoring.introduce.variable.scope.error=Name clashes with existing local variable or parameter

# introduce parameter
refactoring.introduce.parameter.dialog.title=Extract Parameter
refactoring.introduce.parameter.scope.error=Name clashes with existing local variable or parameter
refactoring.introduce.parameter.outside.method.error=Cannot perform refactoring outside of any method
refactoring.introduce.parameter.looking.for.usages=Looking for usages
refactoring.introduce.parameter.elements.to.change=Elements to change

# introduce constant
refactoring.introduce.constant.scope.error=Name is already declared in scope

# introduce field
refactoring.introduce.field.scope.error=Name clashes with existing field
refactoring.introduce.field.context.error=Cannot replace all occurrences in class and instance context

refactoring.introduce.field.class.context.error=Cannot use @@ variable in class context

# override implement
refactoring.override.methods.title=Select Methods to Override
refactoring.implement.java.methods.title=Select Methods to Implement
# generate
refactoring.generate.methods.writer=Generate attr_writer for Variables
refactoring.generate.methods.reader=Generate attr_reader for Variables
refactoring.generate.methods.accessor=Generate attr_accessor for Variables

refactoring.generate.methods.accessor.cant.find=No variables have been found to generate Accessors for
refactoring.generate.methods.reader.cant.find=No variables have been found to generate Readers for
refactoring.generate.methods.writer.cant.find=No variables have been found to generate Writers for


refactoring.extract.method.error.method.name.clashes.with.existing.method=Method name clashes with already existing method name

refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.break=No corresponding loop for break statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.next=No corresponding loop for next statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.redo=No corresponding loop for redo statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.context.for.retry=No corresponding context for retry statement inside code fragment

refactoring.extract.method.error.cannot.perform.refactoring.when.execution.flow.is.interrupted=Cannot perform refactoring when execution flow is interrupted
refactoring.extract.method.error.cannot.perform.refactoring.when.class.declaration.inside=Cannot perform refactoring when class declaration is inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.when.module.declaration.inside=Cannot perform refactoring when module declaration is inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.when.method.declaration.inside=Cannot perform refactoring when method declaration is inside code fragment

refactoring.extract.method.error.cannot.perform.refactoring.using.selected.elements=Cannot perform extract method using selected element(s)
refactoring.extract.method.error.cannot.perform.refactoring.with.return.statement.inside.and.notempty.output.variables=Cannot perform refactoring with return statement inside and local variables modifications inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.from.expression.with.notempty.output.variables=Cannot perform refactoring from expression with local variables modifications inside code fragment

# push down
refactoring.push.down.error.cannot.perform.refactoring.no.child.classes=Class {0} has no inheritors

# extract superbase
refactoring.extract.superbase.name.error={0} name should be a Ruby constant
refactoring.extract.superbase.directory.does.not.exist=Directory {0} does not exist
refactoring.extract.superbase.directory.file.exists=File {0} already exists
refactoring.extract.superbase.name.prompt=&{0} name:
refactoring.extract.superbase.from=Extract {0} from:
refactoring.extract.superbase.no.members=No members selected to form

# extract module
refactoring.extract.module.action=Extract _Module
refactoring.extract.module.command=Extracting module from {0}
refactoring.extract.module.header=Extract Module
refactoring.extract.module.members.to.form.module=Members to &form Module
refactoring.extract.module.directory.for.module=&Directory for new module:
refactoring.extract.module.context=Context to form module:
refactoring.extract.module.context.static=Static (&extend)
refactoring.extract.module.context.instance=Instance (&include)

# extract super class
refactoring.extract.superclass.directory.for.class=&Directory for new class:

#inline local
refactoring.inline.local.multiassignment=Definition is in multi-assign
#rename application controller
refactoring.rename.application.controller=ApplicationController cannot be renamed

##########################################################################################################################
# Execution
#########################################################################################################################
exception.text.unknown.error=Unknown Error
command.name.open.error.message.view=Open message view
execution.error.title.generators.list={0}: Get available generators list
execution.error.title.rake.tasks={0}: Get available rake tasks
execution.error.title.generate.rails.app=Generate Rails Application for module ''{0}''
execution.error.title.abstract.script={0}: Script Execution Error
execution.get.rspec.gem.version="Getting RSpec gem version. Please wait..."
execution.get.rails.gem.version="Getting Rails gem version. Please wait..."


##########################################################################################################################
# Find usages
#########################################################################################################################
find.usages.ruby.new.instance.group=New instance creation
find.usages.ruby.declarations.group=Ruby declaration
find.usages.ruby.partial.declarations.group=Ruby partial declaration
find.usages.ruby.super.or.overriding.declarations.group=Ruby super or overriding declaration
find.usages.derived.class.group=Derived class
find.usages.attribute.declaration.group=Attribute declaration
find.usages.ruby.alias.occurrence.group=Alias
find.usages.ruby.require.load.file.occurrence.group=Require or load file
find.usages.ruby.text.occurrence.group=Text occurrence
##########################################################################################################################
# Unwrap
##########################################################################################################################
unwrap.if=Unwrap if...
unwrap.unless=Unwrap unless...
unwrap.while=Unwrap while...
unwrap.until=Unwrap until...
unwrap.else=Unwrap else...
remove.else=Remove else...

##########################################################################################################################
# Gem messages
##########################################################################################################################
gem.unknown.version=[unknown version]
gem.not.found.executable.for.gem=Gem ''{0}'' isn''t installed or its executable script ''{1}'' doesn''t exist.

error.module.no.content.roots=Content root in your module ''{0}'' not found. At first setup content root.
error.module.ror.valid.expected= Ruby, Rails or Java module with JRuby Facet is expected, but found: {0}

rails.facet.action.rake.run.error.home.dir.not.found=Can't find home directory for running Rake: ''{0}'';
sdk.no.specified=No SDK specified

##########################################################################################################################
# Ruby Unit Test Runner
##########################################################################################################################
ruby.test.runner.sdk.script.not.found=File ''{0}'' not found in $LOAD_PATH of Ruby SDK with interpreter: ''{1}''
ruby.test.runner.sdk.gem.script.not.found=File ''{0}'' not found in '{1}' gem of Ruby SDK with interpreter: ''{2}''
ruby.test.runner.sdk.gem.lib.not.found=Lib folder wasn't found in 'test-unit' gem of Ruby SDK with interpreter: ''{0}''
ruby.test.runner.sdk.test-unit.gem.not.installed=Test runner requires 'test-unit' gem but it isn't installed in ''{0}''
ruby.test.runner.sdk.test-unit.gem.not.attached=Test runner requires 'test-unit' gem but it {0}.

##########################################################################################################################
# Web Preview
##########################################################################################################################
rails.web.preview.unknown.controller=File ''{0}'' isn''t Rails view or corresponding Rails controller doesn''t exist.
rails.web.preview.unknown.action=Cannot find ''{0}'' action in Rails controller ''{1}''.
rails.web.preview.unsupported.layouts=Preview doesn't support Rails layouts.
rails.web.preview.unknown.controller.class=Class ''{0}'' isn''t Rails controller.

##########################################################################################################################
# Debugging
##########################################################################################################################
ruby.debugger.line.breakpoint.title=Ruby Line Breakpoints
ruby.debugger.exception.breakpoint.title=Ruby Exception Breakpoints
ruby.debugger.exception.breakpoint.display.text=Exception ''{0}''
ruby.debugger.couldnt.evaluate=Couldn''t evaluate: {0}
ruby.debugger.is.not.ready=Debugger is not ready
ruby.debugger.stackframe.not.available=Stack frame is not available
ruby.debugger.no.stackframes.available=No stack frames available
ruby.debugger.global.variables=Global variables
ruby.debugger.local.variables=Local variables
ruby.debugger.cannot.start.debug=Cannot start debugger. {0}
ruby.debugger.cannot.connect=Couldn't Connect To Debugger
ruby.debugger.cannot.connect.timeout=Connecting to debugger using {0} sec timeout, please wait...
ruby.debugger.connecting=Connecting to debugger
ruby.debugger.choose.exception.class.dialog.title=Choose Exception Class
ruby.debugger.cannot.find.free.port=Cannot find free port
ruby.debugger.timeout=Debug connection timeout (s)
ruby.debugger.verbose.output=Verbose debugger output
ruby.debugger.rails.initializer=Additional initializer required to debug Rails application on {0}
ruby.debugger.debugger.gem.is.too.old=You have ''{0}'' in your Gemfile, but it is too old.  Minimal supported version is ''{1}''

common.msgs.fetching.version=Fetching... Please wait.
error=Error
expected=Expected: {0}
unexpected=Unexpected: {0}
or={0} or {1}
codeInsight.rails.switch.to.view.no.template=''{0}'' template not found
codeInsight.rails.switch.to.view.error.creating=Error creating view from template: {0}

##########################################################################################################################
# Model dependencies diagram
##########################################################################################################################
model.dependency.show.hide.association.fields=Show/hide association fields
model.dependency.show.hide.typical.db.fields=Show/hide system DB fields (created__at, etc)
model.dependency.show.hide.own.fields=Show/hide own fields
model.dependency.show.hide.migration.fields=Show/hide migration fields
model.dependency.hand.tool=Hand tool
model.dependency.building=Building model dependency diagram...
model.dependency.updating=Updating model dependency diagram view...
model.dependency.delete.association=Delete association
model.dependency.type.defined=Type must not be 'undefined'
model.dependency.name.valid.identifier=Name should be in underscore case
model.dependency.already.defined=Already defined association with name {0}
model.dependency.add.association=Add Association: {0} -> {1}
model.dependency.read.only=Class {0} is read-only
model.dependency.model.structure=Models Structure
##########################################################################################################################
# Destroy Rails element provider
##########################################################################################################################
#destroy.dialog.title=Destroy
#destroy.dialog.message=Destroy Rails {0}
#destroy.dialog.button=Destroy

##########################################################################################################################
# Rename models mirgations
##########################################################################################################################


##########################################################################################################################
# Gem management
##########################################################################################################################
gems.gems=Gems

# ui common for panel and dialog
gems.ui.common.description=Description
gems.ui.common.authors=Author(s):
gems.ui.common.email=Email:
gems.ui.common.homepage=Homepage:
gems.ui.common.not.available=N/A
gems.ui.common.gem.root=Gem root:
gems.ui.common.description.not.available=Description is not available
gems.ui.common.table.column.name=Name
gems.ui.common.table.column.versions=Versions

# add gems dialog
gems.add.dialog.title.install=Install Gems
gems.add.dialog.title.list=List Gems
gems.add.dialog.title.update=Update Gems
gems.add.dialog.version.to.install=&Version to install:
gems.add.dialog.version.to.update=Update to &version:
gems.add.dialog.latest=Latest
gems.add.dialog.update=Update
gems.add.dialog.update.all=Update all
gems.add.dialog.refresh=&Refresh
gems.add.dialog.manage.url=Manage gem r&epositories...
gems.add.dialog.autoadd.install=&Automatically install dependent gems
gems.add.dialog.autoadd.update=&Automatically update dependent gems
gems.add.dialog.fetching.description=Fetching description...
gems.add.dialog.downloaded=Downloading gems: {0}
gems.add.dialog.install=Install
gems.add.dialog.default.url=default gem url
gems.add.dialog.description.not.available.remote.gem=Downloading description...
gems.add.dialog.generate.documentation=&Generate RDoc and ri documentation

# edit gems urls dialog
gems.edit.urls.dialog.title=Edit Gem Repositories URLs
gems.edit.urls.dialog.add=Add
gems.edit.urls.dialog.remove=Remove
gems.edit.urls.dialog.url=URL:

# gems inspection
gems.inspection.unattached.gem=Missing gems
gems.inspection.gem.not.available=Gem ''{0}'' is not available in SDK ''{1}''
gems.inspection.gem.no.sdk=Gem ''{0}'' is not available, because no SDK is set
gems.inspection.requirement.not.satisfiable=Gem ''{0}'' requirements are contradictory and cannot be satisfied
gems.inspection.gem.not.supported.by.sdk=Gem ''{0}'' cannot be used with SDK ''{1}''
gems.inspection.gem.with.requirements.not.available=Gem ''{0}'' with specified version requirements is not available in SDK ''{1}''
gems.inspection.try.to.install=Try to install gem ''{0}''
gems.inspection.try.to.install.from=Try to install gem ''{0}'' from ''{1}''
gems.inspection.remove.version.requirements=Remove version requirements
gems.inspection.install.using.bundler=Install missing gems using 'bundler' gem
gems.inspection.git.dependency.not.allowed=Git dependencies are only allowed inside Gemfile

gems.inspection.deprecated.gem=Deprecated gems
gems.inspection.deprecated.gem.better.use.other.gem=Gem is deprecated, better to use ''{0}'' gem
gems.inspection.deprecated.gem.quick.fix.replace.name=Change gem dependency to ''{0}'' gem
gems.inspection.deprecated.gem.quick.fix.replace.version=Change gem version to {0}
gems.inspection.deprecated.gem.quick.fix.replace.name.and.version=Change gem dependency to ''{0}'' gem, version {1}
gems.inspection.deprecated.gem.better.use.other.version=This gem version doesn''t work properly{1}, better to use {0} version
gems.inspection.wrong.ruby.version.description=Gemfile Ruby version doesn't match SDK
gems.inspection.wrong.ruby.version=Your Ruby version is ''{0}'', but your Gemfile specified ''{1}''
gems.inspection.no.ruby.version.set=No SDK detected, but your Gemfile specified ''{0}''
gems.inspection.ruby.version.fix=Try to set Ruby ''{0}'' for the project
gem.inspection.notification.no.matching.sdk=No Sdk matches requested version: ''{0}''
gem.inspection.notification.no.matching.sdk.body=Please install Sdk specified in Gemfile separetely

gems.inspection.minitest.gem=Minitest support
gems.inspection.minitest.gem.reporter.not.installed=<html><body> \
  RubyMine test runner requires ''minitest-reporters'' gem({0}) for integration with MiniTest framework.<br/> \
  See <a href='http://www.jetbrains.com/ruby/webhelp/minitest.html'>minitest integration</a> for more information.\
</body></html>
gems.inspection.gem.quick.fix.add.name=Add gem dependency to ''{0}'' gem
gems.inspection.gem.quick.fix.add.name.and.version=Add gem dependency to ''{0}'' gem, version {1}

# Gem Manager panel
gems.panel.list.gems=List &Gems...
gems.panel.install.gems=&Install Gems...
gems.panel.update.gems=&Update Gems...

# debug gems
gems.debugger.alert.title=RubyMine Debugger
gems.bundled.jruby.debug.not.found=Bundled JRuby debug gem not found
gems.bundled.win32.debug.not.found=Bundled Windows debug gems not found
gems.bundled.debug.not.found=Bundled debug gems not found
gems.install.debug.gem=The gem {0} required by the debugger is not currently installed. Would you like to install it?
gems.update.debug.gem=The gem {0} required by the debugger is outdated. Would you like to update it?
gems.debugger.in.gemfile=<html><body> \
  It looks like there is the 'debugger' gem in your Gemfile.\
  This may cause some problems during debugging.<br/>\
  Are you sure you want to continue?<br/>\
  If you are not, check <a href="http://www.jetbrains.com/ruby/webhelp/debugging.html">help topic</a>.\
  </body></html>

# gem command
gems.gem.listing.remote=Listing remote gems...
gems.gem.listing.remote.url=Listing remote gems: {0}...
gems.gem.running.command=Running gem command: {0}
gems.running.command.error=Error running gem {0} command
gems.gem.installing=Installing gems...
gems.gem.installing.gem=Installing gem {0}
gems.gem.installing.failed=Failed to Install Gems
gems.gem.installing.failed.no.sdk=Could not install gems: no SDK specified
gems.gem.installing.failed.list=Following gems were not installed:
gems.checking.version=Checking rubygems version...

# requirements
gems.requirements.missing=<html><body> \
   <font size=\"3\">{0} has detected that<br>\
   some of the gems required for ''{1}''<br>\
   are not installed<br>\
   <a href=\"create\">Install missing gems</a><br> \
</body></html>

# quick install gem action
gems.quick.could.not.install=Could not install gem
gems.quick.additional.params=Additional &command line arguments:

# miscellaneous
gems.version.not.detected=RubyGems Version Could Not Be Detected
gems.not.installed.for.sdk=RubyGems not installed for SDK: {0}.<br>\nPlease download and install <a href=\"https://rubygems.org/\">rubygems</a>
gems.rails.not.fully.supported=This version is not fully supported
gems.rails.engine.not.supported=Mountable engines generation requires Rails 3.1
gems.rails.sdk.not.supported=Rails 3.0 requires Ruby >= 1.8.7 SDK
gems.no.rails.gem=Select version
gems.install.rails.gem=Install rails gem...
gems.not.activated=is not activated
gems.not.activated.bundler=is not part of the bundle
#Rename models
rails.run.migration.title="Migration was generated"
rails.run.migration.message=<html><body> \
                       <font size=\"3\"><a href=\"create\">Run migration</a><br> \
                    </body></html>

##########################################################################################################################
# Ruby Sdk configuration
##########################################################################################################################
ruby.ide.sdk.configurable.name=Ruby SDK and Gems
ruby.ide.sdk.configurable.ruby.interpreter=Ruby &SDK:
ruby.ide.sdk.configurable.add.sdk=&Add SDK...
ruby.ide.sdk.configurable.add.sdk.prompt=Specify Ruby interpreter path
ruby.ide.sdk.configurable.remove.sdk=&Remove SDK
ruby.ide.sdk.configurable.gems=Installed Gems
ruby.ide.sdk.configurable.no.sdk.selected=No Ruby interpreter configured for the project
ruby.ide.sdk.language.level=Language &level:

action.create.new.class.tip=Create new ruby class
action.create.new.class.prompt=Enter new class name
action.create.new.class.title=New Ruby Class
action.create.new.class.wrong.class.name=Class name should be a Ruby constant
action.create.new.class.file.exists=File ''{0}'' already exists

##########################################################################################################################
# Ruby code style page
##########################################################################################################################
ruby.code.style.keep.line.breaks=Keep line breaks
ruby.code.style.align.multiline.parameters=Align multiline list items
ruby.code.style.align.right.parts.of.assignments.or.hashes=Align right parts of assignments or hashes
ruby.code.style.indent.when.cases=Indent when cases
ruby.code.style.keep.blank.lines.in.declarations=Keep blank lines in declarations:
ruby.code.style.blank.lines.around.methods=Blank lines around methods
ruby.code.style.spaces.around.braces=Spaces around curly braces
ruby.code.style.spaces.around.arrows=Spaces around arrows

##########################################################################################################################
# Live Templates
##########################################################################################################################
live.templates.context.erb.name=ERB



##########################################################################################################################
# Rails I18n
##########################################################################################################################
rails.i18n.property.key=Property key
inspection.rails.i18n.name=Rails i18n properties inspection
inspection.rails.i18n.translate.call.wrong.arguments=I18n#translate call should have at least one argument
inspection.rails.i18n.wrong.key.format=Value ''{0}'' is not a correct i18n property key
inspection.rails.i18n.key.not.found=Value for key ''{0}'' cannot be found in any locale
inspection.rails.i18n.key.not.defined=Value for key ''{0}'' is not defined in some locales
inspection.rails.i18n.create.property=Create Property
inspection.rails.i18n.wrong.property=Wrong property name
inspection.rails.i18n.locale.contains.property=Locale ''{0}'' already contains property key ''{1}''
inspection.rails.i18n.create.missing.property=Create Missing Property
inspection.rails.i18n.create.property.info=Property Info
inspection.rails.i18n.create.property.locale.file=Locale File:
inspection.rails.i18n.create.property.key=Property Key:
inspection.rails.i18n.create.property.value=Property Value:
inspection.rails.i18n.create.property.no.locale=No locale selected

annotator.rails.i18n.locale.file.name=Locale file name is supposed to contain ''{0}''
annotator.rails.i18n.locale.file.wrong.format=Rails i18n wrong locale file format
annotator.rails.i18n.locale.file.should.have.single.root=Rails i18n locale file should have single root
annotator.rails.i18n.locale.missing.locale.entry=Cannot find main locale entry
new.name.conflicts.with=Key conflicts with existing one: ''{0}''

##########################################################################################################################
# RVM
##########################################################################################################################
rvm.ruby.ide.sdk.gemset=RVM gemset:
rvm.sdk.ignore.global.gempath=Ignore &global gempath
rvm.rvmrc.project.notifications.title=Project {0} Settings
rvm.rvmrc.project.sdk.changed.message=According to <b>{0}</b> project {1} file Ruby SDK was changed<br>to <b>{2}</b>"
rvm.rvmrc.project.cannot.find.sdk.message=Cannot switch SDK. RVM SDK ''<b>{0}</b>'' wasn''t found.
rvm.rvmrc.project.cannot.find.gemset.for.sdk.message=Cannot switch SDK. Gemset ''<b>{0}</b>'' isn''t defined for ''<b>{1}</b>'' RVM SDK or such SDK isn't configured in {2}.
ruby.sdk.scanning=Scanning for Ruby interpreters...

##########################################################################################################################
# Bundler
##########################################################################################################################
bundler.cmd.options.dialog.additional.cmdline.parameters=Optional arguments for ''bundle {0}''
bundler.cmd.options.dialog.edit.title=Edit ''bundle {0}'' arguments
bundler.cmd.options.dialog.title=Bundle {0}
bundler.cmd.options.dialog.title.ex=Bundle {0} For {1}


##########################################################################################################################
# Warbler
##########################################################################################################################
warbler.dialog.caption=Warble
warbler.dialog.error.title=Warbler's Errors
warbler.dialog.title=Build .WAR File
warbler.dialog.toggle.include=Include
warbler.dialog.toggle.exclude=Exclude
warbler.dialog.toggle.web.inf.config=WEB-INF config
warbler.dialog.feature.executable=E&xecutable
warbler.dialog.feature.precompiled=&Precompiled
warbler.dialog.feature.gemJar=Include &gem repository
warbler.dialog.label.outputFileName=Output &file name:
warbler.dialog.label.outputDirectory=Output &directory:
warbler.dialog.fstree.webinf.mark=  [WEB-INF config]
warbler.dialog.mode.trace=Turn on invoke/execute &tracing, enable full backtrace

warbler.execution.error=Unable to execute Warbler script. %s
warbler.config.patching.error=Unable to change Warbler config file. %s


warbler.validation.error.fileName=Output file name is incorrect
warbler.validation.error.directoryPath=Output directory doesn't exist
warbler.validation.error.cantCreateFile=Can't create file '%s' in the output directory
warbler.validation.error.jruby.sdk.not.found=Incorrect SDK! JRuby SDK expected
warbler.validation.error.jruby.sdk.not.found.fix.title=Configure SDK
warbler.validation.error.rails.not.found=Rails gem not found
warbler.validation.error.rails.not.found.fix.title=Install Rails
warbler.validation.error.warbler.not.found=Warbler gem not found
warbler.validation.error.warbler.not.found.fix.title=Install Warbler

warbler.error.cant.write.to.config=Can't write to config/warble.rb file
warbler.error.rails.directory.missed=Rails config directory doesn't exist

 ##########################################################################################################################
 # Database Integration
 ##########################################################################################################################
db.missing.drivers.notification.title=RubyMine Database Integration
db.missing.drivers.notification=<html><body><font face="verdana"> \
   <font size="3">Rails data sources detected, but some<br>\
   additional drivers are required for RubyMine<br>\
   to connect to the database<br> \
   <a href="create">Download drivers</a><br> \
</font></font></body></html>

test.frameworks.names.testunit=Test::Unit
test.frameworks.names.shoulda=Shoulda
test.frameworks.names.rspec=RSpec
test.frameworks.names.cucumber=Cucumber


##########################################################################################################################
# Features Statistics
##########################################################################################################################
ruby.navigation.rails.popup=Go to rails...
ruby.tools.rails.generators.popup=Run Rails Generator...
ruby.tools.rake.popup=Run Rake Task...
rails.assets.scan.paths=Scanning rails assets paths registration

actions.types.ruby.script.errors.no.module.in.context.rubymine=Cannot determine current project from action context
actions.types.ruby.script.errors.no.module.in.context.ruby.plugin=Cannot find module with Ruby support in action context
actions.types.ruby.script.errors.no.sdk.in.context.rubymine=Project Ruby SDK isn't configured or isn't valid. Configure now?
actions.types.ruby.script.errors.no.sdk.in.context.ruby.plugin=Module(or ruby facet) Ruby SDK isn't configured or isn't valid. Configure now?
actions.types.ruby.script.errors.execution.error.title=Execution Error
ttt.yyy.bbb.uuu=111
#Rails destroy components
destroy.dialog.message=Destroy or delete {0}
destroy.dialog.title=Destroy or delete {0}
destroy.dialog.button=Destroy
#refactorings
refactoring.inlineVariable=Inline Variable refactoring
refactoring.inlineMethod=Inline Method refactoring
refactoring.introduceField=Extract Field refactoring
refactoring.introduceParameter=Extract Parameter refactoring
refactoring.introduceConstant=Extract Constant refactoring
refactoring.extractMethod=Extract Method refactoring

##########################################################################################################################
# Diagrams
##########################################################################################################################
diagrams.rails.add.new.model=Add Model to Diagram
diagrams.rails.presentable.name=Rails Model Dependency Diagram
diagrams.rails.updating=Updating diagram
diagrams.rails.go.to.model=Enter model name:
diagrams.rails.generate.new.model=Generate New ActiveRecord Model
diagrams.mongo.create.new.model=Create New Mongo Model
diagrams.rails.activerecord.model=ActiveRecord Model
diagrams.rails.mongo.model=Mongo Model
diagrams.gems.presentable.name=Gem Dependency Diagram
diagrams.gems.action.name=Gem Dependency Diagram

# remote interpreter
remote.interpreter.configure.title=Configure Remote Ruby Interpreter
remote.interpreter.configure.path.title=Select Ruby Interpreter
remote.interpreter.configure.temp.files.path.title=Select Folder for Ruby Helpers
remote.interpreter.default.interpreter.path=/usr/bin/ruby
remote.interpreter.unspecified.interpreter.path=Specify Ruby interpreter path
remote.interpreter.wrong.interpreter.path=The selected file is not a valid home for {0}
remote.interpreter.unspecified.temp.files.path=Specify path for Ruby helpers
remote.interpreter.configure.path.label=&Ruby interpreter path:
remote.interpreter.configure.temp.files.path.label=Ruby helpers path:

downloading.gems.title=Downloading Gems
downloading.gems.failed.to.create.directory=Failed to create gem directory {0}
downloading.gems.failed.copy=Error Copying Gems
downloading.gems.canceled=Gems copying has been canceled
upload.helpers=Uploading Rubymine helpers...

# suppress inspection "UnusedProperty" for whole file
# IDEA core action texts and descriptions go here.
# The key patterns are "action." + id + ".text" and "action." + id + ".description"

action.CaptureMemorySnapShot.text=Capture Memory Snapshot
action.CaptureMemorySnapShot.description=Capture memory snapshot
action.CaptureCPUUsageData.text=Start CPU Usage Profiling
action.CaptureCPUUsageData.description=Capture CPU usage data
action.CaptureAllocations.text=Capture Allocations
action.CaptureAllocations.description=Capture memory allocations data
action.ContextHelp.text=Conte_xt Help
action.ContextHelp.description=Show context help
action.RunConfiguration.text=Select Run/Debug Configuration
action.SwitchCoverage.text=Show Code Co_verage Data
action.GenerateCoverageReport.text=_Generate Coverage Report
action.RunConfiguration.description=Select Run/Debug Configuration
action.ShowIntentionActions.text=Show Intention Actions
action.ToggleReadOnlyAttribute.text=Toggle Read-Only Attribute
action.ToggleReadOnlyAttribute.description=Toggle read-only attribute of current file
action.TogglePopupHints.text=Toggle Popup Hints for Current File
action.RunGc.text=Run Garbage Collector
action.ShowPopupMenu.text=Show Context Menu
action.CloseWindow.text=Close Active Window
action.Vcs.ShowMessageHistory.text=Commit Message History
action.Vcs.ShowMessageHistory.description=Show commit message history
action.Vcs.CheckCommitMessageSpelling.text=Check commit message spelling
action.Vcs.CheckCommitMessageSpelling.description=Toggle checking commit message spelling errors
action.Vcs.ShowHistoryForBlock.text=Show History _for Selection
action.Vcs.ShowHistoryForBlock.description=Show history for editor selection
action.Vcs.ShowTabbedFileHistory.text=Show _History
action.Vcs.ShowTabbedFileHistory.description=Show history of file
action.AddToFavoritesPopup.text=Add to Favorites
action.AddToFavoritesPopup.description=Add selected node to favorites
group.AddToFavorites.text=Add to F_avorites
group.AddAllToFavorites.text=Add A_ll To Favorites
action.AddNewFavoritesList.text=Add New Favorites List
action.AddNewFavoritesList.description=Add New Favorites List
action.EditFavorites.text=Edit
action.EditFavorites.description=Edit
action.RemoveFromFavorites.text=Remove From Favorites
action.RemoveFromFavorites.description=Remove selected node from favorites
action.RenameFavoritesList.text=Rename Favorites List
action.RenameFavoritesList.description=Rename the favorites list the selected node belongs to
action.RemoveFavoritesList.text=Delete Favorites List
action.RemoveFavoritesList.description=Delete all favorites the selected node belongs to
action.RemoveAllFavoritesListsButThis.text=Delete All Favorites List But This
action.RemoveAllFavoritesListsButThis.description=Delete all favorites except these
group.SendToFavoritesGroup.text=_Send to Favorites
action.ActivateNavBar.text=Activate Navigation _Bar
action.ActivateNavBar.description=Activate navigation bar
action.CreateRunConfiguration.text=Create Run Configuration
action.CreateRunConfiguration.description=Create run configuration from context
group.RunContextPopupGroup.text=Run Configurations
group.EditorActions.text=Editor Actions
action.EditorChooseLookupItem.text=Choose Lookup Item
action.EditorChooseLookupItemReplace.text=Choose Lookup Item Replace
action.EditorChooseLookupItemCompleteStatement.text=Choose Lookup Item and Invoke Complete Statement
action.NextTemplateVariable.text=Next Template Variable or Finish In-Place Refactoring
action.PreviousTemplateVariable.text=Previous Template Variable
action.NextParameter.text=Next Parameter
action.PrevParameter.text=Prev Parameter
action.EditorPageUp.text=Page Up
action.EditorPageDown.text=Page Down
action.EditorPageUpWithSelection.text=Page Up with Selection
action.EditorPageDownWithSelection.text=Page Down with Selection
action.EditorCopy.text=Copy
action.EditorCut.text=Cut
action.EditorPaste.text=Paste
action.EditorPasteSimple.text=Paste S_imple
action.EditorPasteSimple.description=Paste without formatting, autoimport, literal escaping etc.
action.EditorPasteFromX11.text=Paste from X clipboard
action.EditorDelete.text=Delete
action.EditorBackSpace.text=Backspace
action.EditorHungryBackSpace.text=Hungry Backspace
action.EditorHungryBackSpace.description=Acts as the Backspace except that removes all whitespace symbols before the caret (if any)
action.EditorMoveToPageTop.text=Move Caret to Page Top
action.EditorMoveToPageBottom.text=Move Caret to Page Bottom
action.EditorMoveToPageTopWithSelection.text=Move Caret to Page Top with Selection
action.EditorMoveToPageBottomWithSelection.text=Move Caret to Page Bottom with Selection
action.EditorEnter.text=Enter
action.EditorEscape.text=Escape
action.EditorUp.text=Up
action.EditorDown.text=Down
action.EditorLeft.text=Left
action.EditorRight.text=Right
action.EditorUpWithSelection.text=Up with Selection
action.EditorDownWithSelection.text=Down with Selection
action.EditorLeftWithSelection.text=Left with Selection
action.EditorRightWithSelection.text=Right with Selection
action.EditorIndentSelection.text=Indent Selection
action.EditorUnindentSelection.text=Unindent Selection
action.EditorIndentLineOrSelection.text=Indent Line or Selection
action.EditorTab.text=Tab
action.EditorResetFontSize.text=Reset Font Size
action.EmacsStyleIndent.text=Emacs Tab
action.EditorScrollUp.text=Scroll Up
action.EditorScrollDown.text=Scroll Down
action.EditorScrollUpAndMove.text=Scroll Up and Move if Necessary
action.EditorScrollDownAndMove.text=Scroll Down and Move if Necessary
action.EditorScrollLeft.text=Scroll Left
action.EditorScrollRight.text=Scroll Right
action.EditorScrollTop.text=Scroll to Top
action.EditorScrollBottom.text=Scroll to Bottom
action.EditorMoveUpAndScroll.text=Move Up and Scroll
action.EditorMoveDownAndScroll.text=Move Down and Scroll
action.EditorMoveUpAndScrollWithSelection.text=Move Up and Scroll with Selection
action.EditorMoveDownAndScrollWithSelection.text=Move Down and Scroll with Selection
action.EditorAddOrRemoveCaret.text=Add or Remove Caret
action.EditorCloneCaretBelow.text=Clone Caret Below
action.EditorCloneCaretAbove.text=Clone Caret Above
action.SelectNextOccurrence.text=Select Next Occurrence
action.SelectAllOccurrences.text=Select All Occurrences
action.UnselectPreviousOccurrence.text=Unselect Occurrence
action.EditorToggleStickySelection.text=Toggle Sticky Selection
action.EditorSwapSelectionBoundaries.text=Swap selection boundaries
action.EditorLineStart.text=Move Caret to Line Start
action.EditorLineEnd.text=Move Caret to Line End
action.EditorCutLineBackward.text=Cut Line Backward
action.EditorCutLineEnd.text=Cut up to Line End
action.EditorTextStart.text=Move Caret to Text Start
action.EditorTextEnd.text=Move Caret to Text End
action.EditorLineStartWithSelection.text=Move Caret to Line Start with Selection
action.EditorLineEndWithSelection.text=Move Caret to Line End with Selection
action.EditorTextStartWithSelection.text=Move Caret to Text Start with Selection
action.EditorTextEndWithSelection.text=Move Caret to Text End with Selection
action.EditorNextWord.text=Move Caret to Next Word
action.EditorNextWordInDifferentHumpsMode.text=Move Caret to Next Word in Different "CamelHumps" Mode
action.EditorPreviousWord.text=Move Caret to Previous Word
action.EditorPreviousWordInDifferentHumpsMode.text=Move Caret to Previous Word in Different "CamelHumps" Mode
action.EditorNextWordWithSelection.text=Move Caret to Next Word with Selection
action.EditorNextWordInDifferentHumpsModeWithSelection.text=Move Caret to Next Word with Selection in Different "CamelHumps" Mode
action.EditorPreviousWordWithSelection.text=Move Caret to Previous Word with Selection
action.EditorPreviousWordInDifferentHumpsModeWithSelection.text=Move Caret to Previous Word with Selection in Different "CamelHumps" Mode
action.EditorCodeBlockStart.text=Move Caret to Code Block Start
action.EditorCodeBlockEnd.text=Move Caret to Code Block End
action.EditorCodeBlockStartWithSelection.text=Move Caret to Code Block Start with Selection
action.EditorCodeBlockEndWithSelection.text=Move Caret to Code Block End with Selection
action.EditorMatchBrace.text=Move Caret to Matched Brace
action.EditorDeleteToWordStart.text=Delete to Word Start
action.EditorDeleteToWordStartInDifferentHumpsMode.text=Delete to Word Start in Different "CamelHumps" Mode
action.EditorDeleteToWordEnd.text=Delete to Word End
action.EditorDeleteToWordEndInDifferentHumpsMode.text=Delete to Word End in Different "CamelHumps" Mode
action.EditorDeleteLine.text=Delete Line
action.EditorKillToWordStart.text=Kill to Word Start
action.EditorKillToWordEnd.text=Kill to Word End
action.EditorKillRegion.text=Kill Selected Region
action.EditorKillRingSave.text=Save to Kill Ring
action.EditorDuplicate.text=Duplicate Line or Block
action.EditorDuplicateLines.text=Duplicate Lines
action.EditorSelectWord.text=Select Word at Caret
action.EditorUnSelectWord.text=Unselect Word at Caret
action.EditorToggleInsertState.text=Toggle Insert/Overwrite
action.EditorToggleColumnMode.text=Column Selection _Mode
action.EditorToggleColumnMode.description=Toggle column selection mode in current editor
action.EditorToggleShowWhitespaces.text=Sh_ow Whitespaces
action.EditorToggleShowWhitespaces.description=Toggle display whitespaces in current editor
action.EditorToggleShowIndentLines.text=Sh_ow Indent Guides
action.EditorToggleShowIndentLines.description=Toggle display indent guides in current editor
action.EditorToggleShowLineNumbers.text=Show L_ine Numbers
action.EditorToggleShowLineNumbers.description=Toggle display line numbers in current editor
action.EditorToggleUseSoftWraps.text=Use Soft Wraps
action.EditorToggleUseSoftWraps.description=Toggle using soft wraps in current editor
action.EditorConsoleScrollToTheEnd.text=Scroll to the end
action.EditorIncreaseFontSize.text=Increase Font Size
action.EditorDecreaseFontSize.text=Decrease Font Size
action.ViewImportPopups.text=Show Import Popups
action.ViewImportPopups.description=Toggle display import popups in current file
action.EditorScrollToCenter.text=Scroll to Center
action.EditorToggleCase.text=Toggle Case
action.EditorJoinLines.text=Join Lines
action.EditorSelectLine.text=Select Line at Caret
action.EditorSplitLine.text=Split Line
action.EditorStartNewLine.text=Start New Line
action.EditorStartNewLineBefore.text=Start New Line Before Current
action.EditorCompleteStatement.text=Complete Current Statement
action.ExpandAll.text=Expand All
action.CollapseAll.text=Collapse All
action.ExportToTextFile.text=Export to Text File
action.ExpandTreeNode.text=Expand Tree Node
action.CollapseTreeNode.text=Collapse Tree Node
action.FullyExpandTreeNode.text=Fully Expand Tree Node
group.GenerateGroup.text=_Generate
action.GenerateTestMethod.text=Test Method
action.GenerateSetUpMethod.text=SetUp Method
action.GenerateTearDownMethod.text=TearDown Method
action.GenerateDataMethod.text=Parameters Method
action.GenerateConstructor.text=Constructor
action.GenerateCreateUI.text=createUI(...)
action.GenerateGetter.text=Getter
action.GenerateSetter.text=Setter
action.GenerateGetterAndSetter.text=Getter and Setter
action.GenerateEquals.text=equals() and hashCode()
action.OverrideMethods.text=_Override Methods...
action.OverrideMethods.description=Override base class methods in the current class
action.ImplementMethods.text=_Implement Methods...
action.ImplementMethods.description=Implement base interface/class methods in the current class
action.DelegateMethods.text=_Delegate Methods...
action.DelegateMethods.description=Generate delegate method to a field/getter
action.GenerateSuperMethodCall.text=Super Method Call
action.NextDiff.text=Move to the next difference
action.NextDiff.description=Move to the Next Difference
action.PreviousDiff.text=Move to the Previous Difference
action.PreviousDiff.description=Move to the previous difference
action.Refresh.text=R_efresh
action.CheckinProject.text=Check _In Project
action.CheckinFiles.text=Check _In
action.UpdateFiles.text=_Update
action.CheckStatusForFiles.text=Chec_k Status
action.Annotate.text=A_nnotate
action.Annotate.description=Show information about last modification date and author for each line
action.Compare.SameVersion.text=Compare with the Same Repositor_y Version
action.Compare.LastVersion.text=Compare with Latest Repository _Version
action.Compare.Selected.text=_Compare with...
group.NewGroup.text=_New
group.WeighingNewGroup.text=_New
action.NewClass.text=Java Class
action.NewFile.text=File
action.NewDir.text=Directory/Package
action.NewFromTemplate.text=From Template
action.CompareTwoFiles.text=Compare Two _Files
action.CompareTwoFiles.description=Compare two selected files
action.CompareFileWithEditor.text=Co_mpare File with Editor
action.CompareFileWithEditor.description=Compare selected file with editor
action.ShowQuickDocAtPinnedWindowFromTooltip.text=Full documentation in a pinned window
action.ShowQuickDocAtPinnedWindowFromTooltip.description=Show full documentation in a pinned window

group.LocalHistory.text=Local _History
action.LocalHistory.ShowHistory.text=Show _History
action.LocalHistory.ShowSelectionHistory.text=Show History for Selection
action.LocalHistory.PutLabel.text=Put _Label...

group.VcsGroups.text=VC_S
group.VcsGlobalGroup.text=VCS Group
action.Vcs.FileView.text=Show Fi_le View
action.Vcs.FileView.description=Show version control related information for all local files
action.Vcs.ChangesView.text=Show Cha_nges View
action.Vcs.ChangesView.description=Show window for managing changes and changelists
action.Vcs.UpdateProject.text=_Update Project
action.Vcs.ProjectStatus.text=C_heck Project Status
group.VcsGroup.text=Version Control
group.VcsFileGroupPopup.text=Version Control Group
group.FileMenu.text=_File
group.ProjectImport.text=Import _Projects
action.NewProject.text=_New Project...
action.NewProject.description=Create a new project from scratch
action.NewModule.text=New _Module...
action.NewModule.description=Create new module from scratch and add it to the project
action.ImportProject.description=Create project structure for directory with existing sources or convert existing project model
action.ImportModule.description=Import module from directory with existing sources or from existing project model
action.OpenProject.text=Open Project...
action.OpenProject.description=Open an existing project
action.OpenFile.text=_Open...
action.OpenFile.description=Open a project or a file in editor
group.reopen.win.text=_Reopen Project
group.reopen.mac.text=Open _Recent
group.$LRU.description=List of recently opened projects
action.CloseProject.text=Close Pro_ject
action.CloseProject.description=Close current project
action.ShowProjectStructureSettings.text=Project Structure...
action.ShowProjectStructureSettings.description=Configure project structure
action.TemplateProjectProperties.text=Def_ault Settings...
action.TemplateProjectProperties.description=Configure default settings for all new projects
action.TemplateProjectStructure.text=Default Project Structure...
action.TemplateProjectStructure.description=Configure default structure for all new projects
action.SaveAll.text=_Save All
action.SaveAll.description=Save all files and settings
action.ExportSettings.text=_Export Settings...
action.ExportSettings.description=Export global settings
action.ImportSettings.text=Import Settings...
action.ImportSettings.description=Import global settings
action.ImportFromJBuilder.text=Import _From JBuilder...
action.ImportFromJBuilder.description=Load Modules From JBuilder Project
action.ImportFromEclipse.text=Import From Eclipse...
action.ImportFromEclipse.description=Create project from Eclipse projects
action.ExportToEclipse.text=Export To Eclipse...
action.ExportToEclipse.description=Create Eclipse projects for each module
action.Synchronize.text=S_ynchronize
action.Synchronize.description=Detect all externally changed files and reload them from disk
action.ReloadFromDisk.text=Reload from Dis_k
action.ReloadFromDisk.description=Reload current file from disk and lose all changes
group.Vcs.Checkout.text=Check_out from Version Control
action.ExportToHTML.text=Export to _HTML...
action.ExportToHTML.description=Save file content in HTML format with syntax coloring
action.Print.text=_Print...
action.Print.description=Print file
action.Exit.text=E_xit
action.Exit.description=Quit IDE
group.EditMenu.text=_Edit
group.FindMenuGroup.text=_Find
action.undo.text=_Undo {0}
action.undo.description=Undo {0}
action.undo.description.empty=last operation
action.redo.text=_Redo {0}
action.redo.description=Redo {0}
action.redo.description.empty=last undone operation
action.$Cut.text=Cu_t
action.$Cut.description=Cut to clipboard
action.$Copy.text=_Copy
action.$Copy.description=Copy to clipboard
action.$SearchWeb.text=_Search with Google
action.$SearchWeb.description=Search selection with Google
action.CopyPaths.text=C_opy Paths
action.CopyPaths.description=Copy paths corresponding to selected files or directories to clipboard
action.CopyReference.text=Cop_y Reference
action.CopyReference.description=Copy reference to selected class, method or function
action.$Paste.text=_Paste
action.$Paste.description=Paste from clipboard
action.PasteMultiple.text=Past_e from History...
action.PasteMultiple.description=Paste from recent clipboards
action.$SelectAll.text=Select _All
action.$SelectAll.description=Select all
action.NewElement.text=_New...
action.NewElement.description=Create new class, interface, file or directory
action.NewElementSamePlace.text=_New...
action.NewElementSamePlace.description=Create new class, interface, file or directory
action.$Delete.text=_Delete
action.$Delete.description=Delete selected item
action.ToggleBookmark.text=Toggle _Bookmark
action.ToggleBookmark.description=Toggle bookmark at the current location
action.ShowBookmarks.text=_Show Bookmarks
action.ShowBookmarks.description=Show list of all bookmarks
action.Find.text=_Find...
action.Find.description=Find a string in active editor
action.FindModal.text=_Find...
action.FindModal.description=Find a string in active editor, shows modal dialog
action.Replace.text=_Replace...
action.Replace.description=Replace a string in active editor with another string
action.FindNext.text=Find _Next
action.FindNext.description=Repeat the last Find/Replace operation
action.FindPrevious.text=Find Pre_vious
action.FindPrevious.description=Repeat the last Find/Replace operation in reverse direction
action.FindWordAtCaret.text=Find _Word at Caret
action.FindWordAtCaret.description=Find next occurrence of the word at caret
action.IncrementalSearch.text=Incrementa_l Search
action.IncrementalSearch.description=Start incremental search (searches string as you type), IntelliJ IDEA 6.0 implementation.
action.FindUsages.text=Find _Usages
action.FindUsages.description=Find usages of the symbol at caret
action.ShowUsages.text=_Show Usages
action.ShowUsages.description=Show usages of the symbol at caret
action.ShowSettingsAndFindUsages.text=Find Usages Settings...
action.ShowSettingsAndFindUsages.description=Choose scope and edit options for the Find Usages action
action.FindUsagesInFile.text=F_ind Usages in File
action.FindUsagesInFile.description=Find usages of the symbol at caret in active editor
action.HighlightUsagesInFile.text=_Highlight Usages in File
action.HighlightUsagesInFile.description=Highlight usages of the symbol at caret in active editor
action.HighlightUsagesInFile.not.ready=This usage search requires indices and cannot be performed until they are built
action.FindJoinpointsByPointcutAction.text=Find _Join Point Identified by Pointcut
action.FindJoinpointsByPointcutAction.description=Find join point identified by pointcut
action.FindInPath.text=Find in _Path...
action.FindInPath.description=Find a string in multiple files
action.ReplaceInPath.text=Repl_ace in Path...
action.ReplaceInPath.description=Replace a string in multiple files with another string
group.ViewMenu.text=_View
action.ViewToolBar.text=_Toolbar
action.ViewToolBar.description=Show/hide the main toolbar
action.ViewStatusBar.text=_Status Bar
action.ViewStatusBar.description=Show/hide the status bar
action.ViewToolButtons.text=_Tool Buttons
action.ViewToolButtons.description=Show/hide tool window buttons
action.ViewNavigationBar.text=Na_vigation Bar
action.ViewNavigationBar.description=Show/hide the navigation bar
action.FileStructurePopup.text=F_ile Structure
action.FileStructurePopup.description=Popup structure of the current file for quick navigation
action.ShowFilePath.text=File _Path
action.ShowFilePath.description=Popup path of the current file for opening in external file manager
action.SelectIn.text=Se_lect In...
action.SelectIn.description=Select the current class or method in any view
action.FixDocComment.text=Fix doc comment
action.FixDocComment.description=Generate or fix doc comment for the current context
action.QuickJavaDoc.text=Quick _Documentation
action.QuickJavaDoc.description=Show a popup window with documentation for the symbol at caret
action.QuickImplementations.text=Quic_k Definition
action.QuickImplementations.description=Show a popup window with the symbol (and its implementations) content
action.ShowSiblings.text=Show Siblings
action.ShowSiblings.description=Show a popup window with the symbol siblings content
action.ParameterInfo.text=_Parameter Info
action.ParameterInfo.description=Show parameters of the method call at caret
action.EditorContextInfo.text=_Context Info
action.EditorContextInfo.description=Show the current method or class declaration when it is not visible
action.ShowErrorDescription.text=E_rror Description
action.ShowErrorDescription.description=Show description of error or warning at caret
action.ProjectViewChangeView.text=Change View...
action.ProjectViewChangeView.description=Choose Project, Sourcepath or Classpath tree in the Project View window
action.EditSource.text=_Jump to Source
action.EditSource.description=Open editor for the selected item and give focus to it
action.EditSourceInNewWindow.text=Open source in new window
action.EditSourceInNewWindow.description=Open editor for the selected item in new window and give focus to it
action.ViewSource.text=Sho_w Source
action.ViewSource.description=Open editor for the selected item
action.ExternalJavaDoc.text=E_xternal Documentation
action.ExternalJavaDoc.description=Open browser with documentation for the selected item
action.RecentFiles.text=Rece_nt Files
action.RecentFiles.description=Show list of recently viewed files
action.RecentChangedFiles.text=Recently Changed Files
action.RecentChangedFiles.description=Show list of recently changed files
action.QuickChangeScheme.text=_Quick Switch Scheme...
action.QuickChangeScheme.description=Change current code style scheme, color\\&fonts scheme, keymap or Look\\&Feel
action.TypeHierarchy.text=Type _Hierarchy
action.TypeHierarchy.description=Browse hierarchy for the selected class
action.MethodHierarchy.text=_Method Hierarchy
action.MethodHierarchy.description=Browse method hierarchy for the selected method
action.CallHierarchy.text=Call Hierarch_y
action.CallHierarchy.description=Browse call hierarchy for the selected method
group.FoldingGroup.text=Folding
action.ExpandRegion.text=E_xpand
action.ExpandRegion.description=Expand folding region at caret
action.CollapseRegion.text=_Collapse
action.CollapseRegion.description=Collapse folding region at caret
action.ExpandAllRegions.text=_Expand All
action.ExpandAllRegions.description=Expand all folding regions
action.CollapseAllRegions.text=Collapse _All
action.CollapseAllRegions.description=Collapse all folding regions
action.ExpandDocComments.text=Expand _doc comments
action.ExpandDocComments.description=Expand all documentation comments
action.CollapseDocComments.text=Collapse d_oc comments
action.CollapseDocComments.description=Collapse all documentation comments
action.CollapseSelection.text=Fold _Selection / Remove region
action.CollapseSelection.description=Fold selected block
action.CollapseBlock.text=Fold Code _Block
action.CollapseBlock.description=Fold current code block
action.RecentChanges.text=R_ecent Changes
group.GoToMenu.text=_Navigate
action.SearchEverywhere.text=Search Everywhere
action.SearchEverywhere.description=Searches for classes, files, tool windows, action and preferences
action.GotoClass.text=_Class...
action.GotoClass.description=Quickly navigate to a class by name
action.GotoFile.text=_File...
action.GotoFile.description=Quickly navigate to a file by name
action.GotoSymbol.text=_Symbol...
action.GotoSymbol.description=Quickly navigate to any symbol by name
action.GotoAction.text=F_ind Action...
action.GotoAction.description=Quickly navigate to action by name
action.GotoLine.text=_Line...
action.GotoLine.description=Navigate to a line in editor by its number
action.GotoDeclaration.text=_Declaration
action.GotoDeclaration.description=Navigate to the declaration of the symbol at caret
action.GotoImplementation.text=I_mplementation(s)
action.GotoImplementation.description=Navigate to the implementation(s) of the selected class or method
action.GotoTypeDeclaration.text=_Type Declaration
action.GotoTypeDeclaration.description=Navigate to the declaration of the symbol's type at caret
action.GotoSuperMethod.text=S_uper Method
action.GotoSuperMethod.description=Navigate to the declaration of the method that current method overrides or implements
action.GotoTest.text=T_est
action.GotoTest.description=Navigate to the test of the selected class
action.GotoTestSubject.text=T_est Subject
action.GotoTestSubject.description=Navigate to the subject of the selected test
action.GotoAspect.text=_Aspect
action.GotoAspect.description=Navigate to the declaration of the advice, error or warning declaration that affects a join point at caret
action.GotoNextError.text=_Next Highlighted Error
action.GotoNextError.description=Navigate to the next highlighted error in the active editor
action.GotoPreviousError.text=_Previous Highlighted Error
action.GotoPreviousError.description=Navigate to the previous highlighted error in the active editor
action.GotoRelated.text=_Related File...
action.GotoRelated.description=Navigate to one of the related or linked files
action.MethodDown.text=N_ext Method
action.MethodDown.description=Navigate to the next method in the active editor
action.MethodUp.text=Prev_ious Method
action.MethodUp.description=Navigate to the previous method in the active editor
action.GotoNextBookmark.text=Ne_xt Bookmark
action.GotoNextBookmark.description=Navigate to the next bookmark in the active editor
action.GotoPreviousBookmark.text=P_revious Bookmark
action.GotoPreviousBookmark.description=Navigate to the previous bookmark in the active editor
action.Back.text=_Back
action.Back.description=Undo last navigation operation
action.Forward.text=For_ward
action.Forward.description=Redo last undone navigation operation
action.JumpToLastChange.text=Last Edit L_ocation
action.JumpToLastChange.description=Move through the most recent change points
action.PreviousOccurence.text=Previ_ous Occurrence
action.PreviousOccurence.description=Navigate to the previous occurrence
action.NextOccurence.text=Ne_xt Occurrence
action.NextOccurence.description=Navigate to the next occurrence
action.VcsShowNextChangeMarker.text=Next C_hange
action.VcsShowNextChangeMarker.description=Go to next change
action.VcsShowPrevChangeMarker.text=Previous Ch_ange
action.VcsShowPrevChangeMarker.description=Go to previous change
group.CodeMenu.text=_Code
action.SurroundWith.text=_Surround With...
action.SurroundWith.description=Surround selected code fragment with if, while, try/catch or other construct
action.Generate.text=Generate...
action.Generate.description=Generate constructor, getter or setter method, etc.
action.Unwrap.text=Un_wrap/Remove...
action.Unwrap.description=Safely unwraps or removes the selected scope
group.CodeCompletionGroup.text=_Completion
group.EditorToggleActions.text=Active Editor
action.CodeCompletion.text=_Basic
action.CodeCompletion.description=Complete code
action.HippieCompletion.text=Cyclic _Expand Word
action.HippieCompletion.description=Cyclic Expand word
action.HippieBackwardCompletion.text=Cyclic _Expand Word (Backward)
action.HippieBackwardCompletion.description=Cyclic Expand word (Backward)
action.SmartTypeCompletion.text=_SmartType
action.SmartTypeCompletion.description=Complete code basing on expected type
action.ClassNameCompletion.text=Class _Name Completion
action.ClassNameCompletion.description=Complete class name and add import for it
action.InsertLiveTemplate.text=Insert Live _Template...
action.InsertLiveTemplate.description=Show popup list of live templates starting with the specified prefix
action.SurroundWithLiveTemplate.text=Surround with Live Tem_plate...
action.SurroundWithLiveTemplate.description=Surrounds the selection with one of the template
action.CommentByLineComment.text=Comment with _Line Comment
action.CommentByLineComment.description=Comment/uncomment current line or selected block with line comments
action.CommentByBlockComment.text=Comment with _Block Comment
action.CommentByBlockComment.description=Comment/uncomment code with block comments
action.ReformatCode.text=_Reformat Code...
action.ReformatCode.description=Reformat code
action.AutoIndentLines.text=_Auto-Indent Lines
action.AutoIndentLines.description=Indent current line or selected block according to the code style settings
action.OptimizeImports.text=Optimi_ze Imports...
action.OptimizeImports.description=Remove unused imports and reorder/reorganize imports
action.RearrangeCode.text=Rearrange Code
action.RearrangeCode.description=Rearrange code
action.MoveStatementDown.text=Move Statement Do_wn
action.MoveStatementDown.description=Move selected statements one line down
action.MoveStatementUp.text=Move Statement _Up
action.MoveStatementUp.description=Move selected statements one line up
action.MoveLineDown.text=Move Line Do_wn
action.MoveLineDown.description=Move selected lines one line down
action.MoveLineUp.text=Move Line _Up
action.MoveLineUp.description=Move selected lines one line up
group.AnalyzeMenu.text=Analy_ze
action.InspectCode.text=_Inspect Code...
action.InspectCode.description=Inspect code
action.InferNullity.text=Infer _Nullity...
action.InferNullity.description=Infer nullity
action.ViewOfflineInspection.text=View _Offline Inspection Results...
action.ViewOfflineInspection.description=Load offline inspection results
action.ShowPackageDeps.text=Analyze _Dependencies...
action.ShowPackageDeps.description=Browse code chosen analysis item depends on
action.ShowBackwardPackageDeps.text=Analyze _Backward Dependencies...
action.ShowBackwardPackageDeps.description=Browse code chosen analysis item used in
action.ShowPackageCycles.text=Analyze _Cyclic Dependencies...
action.ShowPackageCycles.description=Browse code chosen analysis item used in cycles
action.ShowModulesDependencies.text=Analyze _Module Dependencies...
action.ShowModulesDependencies.description=Show dependencies between modules in project
action.Unscramble.text=Analyze _Stacktrace...
action.Unscramble.description=Open console with the navigatable stacktrace
group.RefactoringMenu.text=_Refactor
action.RenameElement.text=_Rename...
action.RenameElement.description=Rename the selected symbol and correct all references
action.ChangeSignature.text=Change Si_gnature...
action.ChangeSignature.description=Change signature of the selected method or class and correct all references
action.MoveToTheLeft.text=Move parameter left
action.MoveToTheLeft.description=Move parameter left
action.MoveToTheRight.text=Move parameter right
action.MoveToTheRight.description=Move parameter right
action.ChangeTypeSignature.text=T_ype Migration...
action.ChangeTypeSignature.description=Change type of the return type of the method, field, parameter, variable or class type arguments and correct all references
action.MakeStatic.text=Make S_tatic...
action.MakeStatic.description=Convert method or inner class to static and correct all references
action.ConvertToInstanceMethod.text=C_onvert To Instance Method...
action.ConvertToInstanceMethod.description=Convert static method to instance method and correct all references
action.Move.text=_Move...
action.Move.description=Move the selected class, method, package or static member to another package or class and correct all references
action.CopyElement.text=C_opy...
action.CopyElement.description=Create a copy of the selected class, file(s) or directory(es)
action.CloneElement.text=Clo_ne...
action.CloneElement.description=Create a copy of the selected class, file or directory in the same package/directory
action.SafeDelete.text=Safe _Delete...
action.SafeDelete.description=Delete the selected class, method or field, checking for usages
action.ExtractMethod.text=_Method...
action.ExtractMethod.description=Turn the selected code fragment into a method
action.RemoveMiddleman.text=Remove _Middleman...
action.RemoveMiddleman.description=Inline delegate to the selected field methods
action.MethodDuplicates.text=Find and Replace _Code Duplicates...
action.MethodDuplicates.description=Finds code in selected scope that can be transformed into a call of selected method/constant
action.InvertBoolean.text=Invert _Boolean...
action.InvertBoolean.description=Makes the method return or variable contain the opposite value and corrects the references
action.IntroduceParameterObject.text=Parameter Ob_ject...
action.IntroduceParameterObject.description=Replaces method parameters list with object
action.ExtractClass.text=_Delegate...
action.ExtractClass.description=Extract Delegate
action.IntroduceVariable.text=_Variable...
action.IntroduceVariable.description=Put a result of the selected expression into a variable
action.IntroduceField.text=_Field...
action.IntroduceField.description=Put a result of the selected expression into a field
action.IntroduceConstant.text=_Constant...
action.IntroduceConstant.description=Replace selected expression with a constant (static final field)
action.IntroduceParameter.text=_Parameter...
action.IntroduceParameter.description=Turn the selected expression into method parameter
action.ExtractInterface.text=_Interface...
action.ExtractInterface.description=Extract interface from the selected class
action.ExtractModule.text=_Module...
action.ExtractModule.description=Extract module from the selected class
action.ExtractSuperclass.text=S_uperclass...
action.ExtractSuperclass.description=Extract superclass from the selected class
group.IntroduceActionsGroup.text=E_xtract
action.TurnRefsToSuper.text=Use Interface _Where Possible...
action.TurnRefsToSuper.description=Change usages of a class to those of its superclass or interface
action.MembersPullUp.text=Pu_ll Members Up...
action.MembersPullUp.description=Pull class members to superclass or implemented interface
action.MemberPushDown.text=Pu_sh Members Down...
action.MemberPushDown.description=Push class members down to directly inheriting subclasses
action.InheritanceToDelegation.text=Replace _Inheritance with Delegation...
action.InheritanceToDelegation.description=Replace inheritance with delegation
action.Inline.text=I_nline...
action.Inline.description=Inline the selected method or variable
action.AnonymousToInner.text=Convert Anon_ymous to Inner...
action.AnonymousToInner.description=Convert anonymous class into an inner class
action.EncapsulateFields.text=_Encapsulate Fields...
action.EncapsulateFields.description=Replace direct access to fields in the selected class with use of accessor methods
action.ReplaceTempWithQuery.text=Replace Temp with _Query...
action.ReplaceTempWithQuery.description=Turn the selected variable into a method
action.ReplaceConstructorWithFactory.text=Replace Constructor with F_actory Method...
action.ReplaceConstructorWithFactory.description=Create a static factory method and use it instead of a constructor
action.ReplaceMethodWithMethodObject.text=Method Ob_ject...
action.ReplaceMethodWithMethodObject.description=Turn the method into its own object so that all the parameters become fields on that object
action.Generify.text=Ge_nerify...
action.Generify.description=Convert your code to use generic types
action.Migrate.text=_Migrate...
action.Migrate.description=Open migration dialog
action.Type\ Migration.text=Type Migration...
action.Type\ Migration.description=Migrate one type to another
action.ExtractInclude.text=_Include File...
action.ExtractInclude.description=Turn the selected code fragment into included file
group.BuildMenu.text=_Build
action.CompileProject.text=_Rebuild Project
action.CompileProject.description=Recompile all files in the project
action.CompileDirty.text=Make _Project
action.CompileDirty.description=Compile all modified and dependent files in the project
action.MakeModule.text=Make _Module
action.MakeModule.description=Compile all modified and dependent files in the module
action.Compile.text=Compil_e
action.Compile.description=Compile the selected file or package
action.RunAPT.text=Process _Annotations
action.RunAPT.1.text=Process {0} _Annotations
action.RunAPT.description=Run Annotation Processors on the selected scope
action.GenerateAntBuild.text=_Generate Ant Build...
action.GenerateAntBuild.description=Generate Ant Build File from the Project
action.BuildAllArtifacts.text=Build All Artifacts
group.BuildArtifactsGroup.text=Build Artifact
group.RunMenu.text=R_un
group.RunnerActions.text=Run/Debug
action.editRunConfigurations.text=Edit Configu_rations...
action.editRunConfigurations.description=Open edit Run/Debug configurations dialog
action.Stop.text=Stop
action.Stop.description=Stop process
action.Hotswap.text=Relo_ad Changed Classes
action.Hotswap.description=Reload all changed classes into application being debugged (HotSwap)
action.StepOver.text=Step _Over
action.StepOver.description=Step to the next line in this file
action.StepInto.text=Step _Into
action.StepInto.description=Step to the next line executed
action.SmartStepInto.text=Smart Ste_p Into
action.SmartStepInto.description=Step into the particular method
action.StepOut.text=Step Ou_t
action.StepOut.description=Step to the first line executed after returning from this method
action.ForceStepOver.text=Force Step O_ver
action.ForceStepOver.description=Step over, disable all breakpoints before stepping.
action.ForceStepInto.text=Force Step I_nto
action.ForceStepInto.description=Step into, ignore stepping filters for libraries, constructors, etc.
action.RunToCursor.text=Run to _Cursor
action.RunToCursor.description=Run to the line where the caret is
action.ForceRunToCursor.text=Force Run to Cur_sor
action.ForceRunToCursor.description=Run to the line where the caret is, ignoring any breakpoints
action.Debugger.PopFrame.text=Drop _Frame
action.Debugger.PopFrame.description=Moves execution point back to the method call dropping current method frames from the stack
action.Pause.text=_Pause Program
action.Pause.description=Suspend program execution and enable debugging
action.Resume.text=Resume Pro_gram
action.Resume.description=Resume program execution
action.EvaluateExpression.text=_Evaluate Expression...
action.EvaluateExpression.description=Evaluate arbitrary expression
action.QuickEvaluateExpression.text=_Quick Evaluate Expression
action.QuickEvaluateExpression.description=Evaluate selected expression
action.ShowExecutionPoint.text=Show E_xecution Point
action.ShowExecutionPoint.description=Show the current program execution point
action.ToggleLineBreakpoint.text=Toggle _Line Breakpoint
action.ToggleLineBreakpoint.description=Toggle line breakpoint at caret
action.ToggleMethodBreakpoint.text=Toggle _Method Breakpoint
action.ToggleMethodBreakpoint.description=Toggle method breakpoint for the method at caret
action.ToggleFieldBreakpoint.text=Toggle _Field Watchpoint
action.ToggleFieldBreakpoint.description=Toggle field watchpoint for the field at caret
action.ToggleBreakpointEnabled.text=Toggle _Breakpoint Enabled
action.ToggleBreakpointEnabled.description=Enable/disable breakpoint at the current line
action.ToggleTemporaryLineBreakpoint.text=Toggle Temporary Line Breakpoint
action.ToggleTemporaryLineBreakpoint.description=Toggle temporary line breakpoint at caret
action.ViewBreakpoints.text=View Brea_kpoints...
action.ViewBreakpoints.description=View and manage all breakpoints and watchpoints
action.EditBreakpoint.text=Edit
action.ExportThreads.text=Export T_hreads...
action.ExportThreads.description=Save all threads information to a text file or clipboard
action.Runner.RestoreLayout.text=Restore Layout
action.Runner.RestoreLayout.description=Restore visual elements of debugger session to default state
action.Runner.ToggleToolbarLayout.text=Horizontal Toolbars
action.Runner.ToggleToolbarLayout.description=Toggles horizontal/vertical toolbar orientation
group.Runner.Layout.text=Layout
group.Runner.Layout.description=Layout configuration
action.Runner.MinimizeView.text=Hide
action.Runner.MinimizeView.description=Hide view
action.Runner.CloseView.text=Close
action.Runner.CloseView.description=Close view
action.Runner.CloseOtherViews.text=Close Others
action.Runner.CloseOtherViews.description=Close other views
action.Runner.CloseAllViews.text=Close All
action.Runner.CloseAllViews.description=Close all views
action.Runner.CloseAllUnpinnedViews.text=Close All but Pinned
action.Runner.CloseAllUnpinnedViews.description=Close all tabs which are not pinned
action.Runner.MoveViewToGrid.text=Move To Grid
action.Runner.MoveViewToGrid.description=Move view to the debugger grid container
action.Runner.MoveViewToTab.text=Move To Tab
action.Runner.MoveViewToTab.description=Move view to the debugger tab container
action.Runner.DetachCell.text=Detach
action.Runner.DetachCells.text=Detach {0} Views
action.Runner.DetachCell.description=Detach selected views to a separate window
action.Runner.AttachCell.text=Attach
action.Runner.AttachCells.text=Attach {0} Views
action.Runner.AttachCell.description=Attach selected views to the debugger tool window
action.Runner.RestoreView.text=Restore ''{0}'' View
action.Runner.RestoreView.description=Restore view in the debugger grid
action.Runner.FocusOnStartup.text=Focus On Startup
action.Runner.FocusOnStartup.description=Focus this view by default when UI is shown
action.Debugger.FocusOnBreakpoint.text=Focus On Breakpoint
action.Debugger.FocusOnBreakpoint.description=Focus this view by default when breakpoint is reached
group.ToolsMenu.text=_Tools
action.SaveAsTemplate.text=Save as L_ive Template...
action.SaveAsTemplate.description=Save the selected text as live template
action.SaveFileAsTemplate.text=Save File as Temp_late...
action.SaveFileAsTemplate.description=Save current file as template
action.GenerateJavadoc.text=Generate Java_Doc...
action.GenerateJavadoc.description=Run the JavaDoc tool
group.Macros.text=_Macros
group.Macros.description=View, Change, Record, Play Macros
group.StandardMacroActions.text=Standard Macro Actions
action.PlaybackLastMacro.text=Pla_y Back Last Macro
action.PlaybackLastMacro.description=Play Back last used macro
action.StartStopMacroRecording.text=Start/Stop Macro _Recording
action.StartStopMacroRecording.description=Start/Stop recording of a new macro
action.EditMacros.text=_Edit Macros
action.EditMacros.description=Configure existing macros
action.PlaySavedMacrosAction.text=Play Saved Macros...
action.PlaySavedMacrosAction.description=Play Saved Macros
group.MacrosGroup.text=Macro Actions
action.ValidateXml.text=_Validate
action.ValidateXml.description=Validate the current XML file
action.GenerateDTD.text=Generate DTD from _XML File
group.ExternalToolsGroup.text=External Tools
action.PsiViewer.text=_View PSI Structure...
action.PsiViewerForContext.text=View PSI Structure of Cu_rrent File...
action.DebugListen.text=Throw Debug Exception
action.VirtualFileInfo.text=Virtual File Info
action.Merge3Files.text=Merge
action.LocalizePlugin.text=Localize Plugin
group.MemoryManagement.text=Memory Management
action.DumpPsiMemoryCaches.text=Dump what is cached in PSI
action.DecodeBytesAction.text=Decode Bytes
action.ReloadProjectAction.text=Reload project
action.LocalVcs.ShowStatistics.text=Show Local VCS Statistics...
action.LocalVcs.ShowStatistics.description=Show Local VCS statistics
action.LocalVcs.ShowRepHistory.text=Repository History
action.DropAnError.text=Drop an error
action.DropAnOutOfMemoryError.text=Drop an OutOfMemoryError
action.DropAnOutOfPermGenMemoryError.text=Drop an perm gen OutOfMemoryError
action.DumpInspectionDescriptions.text=Dump inspection descriptions
action.DumpIntentionsDescriptions.text=Dump intentions descriptions
action.ShowUserActivities.text=Show Activities
group.WindowMenu.text=_Window
group.ToolWindowsGroup.text=_Tool Windows
group.BackgroundTasks.text=Background Tasks
action.ShowProcessWindow.text=Show
action.ShowProcessWindow.description=Show/Hide background tasks window
action.ShowProcessWindow.double.click=Click to show/hide background tasks window
action.AutoShowProcessWindow.text=Auto Show
action.AutoShowProcessWindow.description=Show background tasks window on starting of any progress
action.StoreDefaultLayout.text=Store Current La_yout as Default
action.StoreDefaultLayout.description=Store current layout as default
action.MinimizeCurrentWindow.text=Minimize
action.MinimizeCurrentWindow.description=Minimize current window
action.TogglePresentationMode.text.enter=Enter Presentation mode
action.TogglePresentationMode.text.exit=Exit Presentation mode
action.TogglePresentationMode.text=Toggle Presentation mode
action.TogglePresentationMode.description=Toggle Presentation mode
action.ToggleFullScreen.text.enter=Enter Full Screen
action.ToggleFullScreen.text.exit=Exit Full Screen
action.ToggleFullScreen.text=Toggle Full Screen mode
action.ToggleFullScreen.description=Toggle Full Screen mode
action.RestoreDefaultLayout.text=Restore De_fault Layout
action.RestoreDefaultLayout.description=Restore default layout
action.HideActiveWindow.text=Hi_de Active Tool Window
action.HideActiveWindow.description=Hide active tool window
action.HideSideWindows.text=Hide Side Tool Windows
action.HideSideWindows.description=Hide all windows on this side
action.HideAllWindows.text=Hide All _Tool Windows
action.HideAllWindows.description=Hide all tool windows
action.JumpToLastWindow.text=_Jump to Last Tool Window
action.JumpToLastWindow.description=Activate last focused tool window
group.ActiveToolwindowGroup.text=Active Tool Window
action.TogglePinnedMode.text=_Pinned Mode
action.TogglePinnedMode.description=Pin/unpin active tool window
action.ToggleDockMode.text=Dock_ed Mode
action.ToggleDockMode.description=Dock/undock active tool window
action.ToggleFloatingMode.text=Floating _Mode
action.ToggleFloatingMode.description=Float/unfloat active tool window
action.ToggleSideMode.text=Split Mode
action.ToggleSideMode.description=Tool windows split mode on/off
action.ToggleContentUiTypeMode.text=Show Views as Tabs
action.ToggleContentUiTypeMode.description=Toggle between tabbed/combo presentation of contents
action.ShowContent.text=Show List of Tabs
action.ShowContent.description=Show a popup with the list of toolwindow tabs
group.ResizeToolWindowGroup.text=Resize
action.ResizeToolWindowLeft.text=Stretch to Left
action.ResizeToolWindowLeft.description=Resize active tool window to the left
action.ResizeToolWindowRight.text=Stretch to Right
action.ResizeToolWindowRight.description=Resize active tool window to the right
action.ResizeToolWindowUp.text=Stretch to Top
action.ResizeToolWindowUp.description=Resize active tool window to the top
action.ResizeToolWindowDown.text=Stretch to Bottom
action.ResizeToolWindowDown.description=Resize active tool window to the bottom
action.IncrementWindowWidth.text=Increment Width
action.DecrementWindowWidth.text=Decrement Width
action.IncrementWindowHeight.text=Increment Height
action.DecrementWindowHeight.text=Decrement Height
action.NextTab.text=Select Ne_xt Tab
action.NextTab.description=Activate next tab
action.PreviousTab.text=Se_lect Previous Tab
action.PreviousTab.description=Activate previous tab
action.NextEditorTab.text=Select Next Tab in multi-editor file
action.PreviousEditorTab.text=Select Previous Tab in multi-editor file
action.CloseActiveTab.text=Cl_ose Active Tab
action.CloseActiveTab.description=Close active tool window tab
action.PinActiveTab.text=P_in Active Tab
action.PinActiveTab.description=Pin active tool window or editor tab
action.CloseEditor.text=_Close Active Editor
action.CloseEditor.description=Close active editor
action.CloseAllEditors.text=Close _All
action.CloseAllEditors.description=Close all editors in active tab group
action.CloseAllEditorsButActive.text=Close _Others
action.CloseAllEditorsButActive.description=Close all open editors except the active one
action.CloseAllUnmodifiedEditors.text=Close _Unmodified
action.CloseAllUnmodifiedEditors.description=Close all non-modified editors
action.CloseAllUnpinnedEditors.text=Close All but Pinned
action.CloseAllUnpinnedEditors.description=Close all editors which are not pinned
action.CloseContent.text=_Close
action.CloseContent.description=Close currently focused content
group.EditorTabsGroup.text=Editor _Tabs
action.SplitVertically.text=Split _Vertically
action.SplitVertically.description=Split editor area into 2 tab groups and move the current tab to the right group
action.SplitHorizontally.text=Split _Horizontally
action.SplitHorizontally.description=Split editor area into 2 tab groups and move the current tab to the bottom group
action.MoveTabRight.text=Move Right
action.MoveTabRight.description=Split editor area into 2 tab groups and move the current tab to the right group and close the left editor
action.MoveTabDown.text=Move Down
action.MoveTabDown.description=Split editor area into 2 tab groups and move the current tab to the bottom group and close the top editor
action.ChangeSplitOrientation.text=Change Splitter O_rientation
action.ChangeSplitOrientation.description=Changes orientation of splitter
action.Unsplit.text=Un_split
action.Unsplit.description=Unsplit Window
action.UnsplitAll.text=U_nsplit All
action.UnsplitAll.description=Remove all splitters
action.NextSplitter.text=_Goto Next Splitter
action.NextSplitter.description=Goto next splitter window
action.PrevSplitter.text=Goto Previous Splitter
action.PrevSplitter.description=Goto previous splitter window
action.NextProjectWindow.text=Next Project Window
action.NextProjectWindow.description=Switch to the next project window
action.PreviousProjectWindow.text=Previous Project Window
action.PreviousProjectWindow.description=Switch to the previous project window
group.OpenProjectWindows.text=Open Project Windows
group.HelpMenu.text=_Help
action.HelpTopics.text=Help _Topics
action.HelpTopics.description=Show help contents
action.ShowTips.text=Tip of the _Day
action.ShowTips.description=Show Tips of the Day
action.ProductivityGude.text=_Productivity Guide
action.ProductivityGude.description=Show productivity features usages statistics
action.OnlineDocAction.text=_Online Documentation
action.OnlineDocAction.description=Show online documentation
action.WhatsNewAction.text=What's _New
action.WhatsNewAction.description=Find out about the new features in this version of the IDE
action.Help.KeymapReference.text=Default _Keymap Reference
action.Help.KeymapReference.description=Open PDF file with the default keymap reference card.
action.Help.JetBrainsTV.text=JetBrains T_V
action.Help.JetBrainsTV.description=View short live demos introducing features of JetBrains products.
action.CheckForUpdate.text=_Check for Update...
action.CheckForUpdate.description=Check for available update
action.About.text=_About
action.About.description=Show information about the IDE
group.OtherMenu.text=Other
group.OtherMenu.description=Actions that are not properly registered
group.MainToolBar.text=Main Toolbar
group.Bookmarks.text=Bookmarks
action.ToggleBookmark0.text=Toggle Bookmark 0
action.ToggleBookmark1.text=Toggle Bookmark 1
action.ToggleBookmark2.text=Toggle Bookmark 2
action.ToggleBookmark3.text=Toggle Bookmark 3
action.ToggleBookmark4.text=Toggle Bookmark 4
action.ToggleBookmark5.text=Toggle Bookmark 5
action.ToggleBookmark6.text=Toggle Bookmark 6
action.ToggleBookmark7.text=Toggle Bookmark 7
action.ToggleBookmark8.text=Toggle Bookmark 8
action.ToggleBookmark9.text=Toggle Bookmark 9
action.GotoBookmark0.text=Go to Bookmark 0
action.GotoBookmark1.text=Go to Bookmark 1
action.GotoBookmark2.text=Go to Bookmark 2
action.GotoBookmark3.text=Go to Bookmark 3
action.GotoBookmark4.text=Go to Bookmark 4
action.GotoBookmark5.text=Go to Bookmark 5
action.GotoBookmark6.text=Go to Bookmark 6
action.GotoBookmark7.text=Go to Bookmark 7
action.GotoBookmark8.text=Go to Bookmark 8
action.GotoBookmark9.text=Go to Bookmark 9

action.XDebugger.SetValue.text=Set Value...
action.XDebugger.SetValue.description=Modify value of selected node
action.XDebugger.CopyValue.text=Copy Value
action.XDebugger.CopyValue.description=Copy value of selected node to clipboard
action.XDebugger.CompareValueWithClipboard.text=Compare Value with Clipboard
action.XDebugger.CompareValueWithClipboard.description=Compare value of selected node with clipboard text
action.XDebugger.CopyName.text=Copy Name
action.XDebugger.CopyName.description=Copy name of selected node to clipboard
action.XDebugger.JumpToSource.text=Jump To Source
action.XDebugger.JumpToSource.description=Open source of the selected item
action.XDebugger.JumpToTypeSource.text=Jump To Type Source
action.XDebugger.JumpToTypeSource.description=Open source of the selected value's type
action.XDebugger.Inspect.text=Inspect...

action.Debugger.Tree.AddToWatches.text=Add to Watches
action.Debugger.Tree.EvaluateInConsole.text=Evaluate In Console

action.XDebugger.RemoveWatch.text=Remove Watch
action.XDebugger.RemoveAllWatches.text=Remove All Watches
action.XDebugger.NewWatch.text=New Watch...
action.XDebugger.EditWatch.text=Edit...
action.XDebugger.AutoTooltip.text=Value Auto Tooltip
action.XDebugger.AutoTooltip.description=Toggles if value tooltip is shown automatically on mouse over
action.XDebugger.ToggleSortValues.text=Sort values alphabetically
action.XDebugger.ToggleSortValues.description=Sort values alphabetically in debugger views
group.XDebugger.settings.text=Settings

action.Debugger.AdjustArrayRange.text=Adjust Range...
action.Debugger.Inspect.text=Inspect
action.Debugger.CopyValue.text=Copy Value
action.Debugger.ViewText.text=View Text
action.Debugger.ViewText.description=View text value of selected node in a separate pane
action.Debugger.CompareValueWithClipboard.text=Compare Value with Clipboard
action.Debugger.CompareValueWithClipboard.description=Compare value of selected node with clipboard text
action.Debugger.CustomizeContextView.text=Customize Data Views...
action.Debugger.CustomizeThreadsView.text=Customize Threads View...
action.Debugger.NewWatch.text=New Watch...
action.Debugger.EditWatch.text=Edit Watch
action.Debugger.EditFrameSource.text=EditFrameSource
action.Debugger.EditNodeSource.text=EditNodeSource
action.Debugger.EditTypeSource.text=Jump to Object Source
action.Debugger.RemoveAllWatches.text=Remove All Watches
action.Debugger.RemoveWatch.text=Remove Watch
action.Debugger.ViewAsGroup.text=View as
action.Debugger.SetValue.text=Set Value...
action.Debugger.ShowFrame.text=Show Frame
action.Debugger.ResumeThread.text=Resume
action.Debugger.FreezeThread.text=Freeze
action.Debugger.InterruptThread.text=Interrupt
action.Debugger.MuteBreakpoints.text=Mute Breakpoints
action.Debugger.MuteBreakpoints.description=Mute/unmute all breakpoints in a debug session.
action.Debugger.MarkObject.text=Mark Object...
action.Debugger.MarkObject.unmark.text=Unmark Object
action.Debugger.MarkObject.description=Mark/unmark the object so that it can be visually distinguished in in debugger views
action.Debugger.AddToWatch.text=Add to Watches
action.Debugger.EvaluateInConsole.text=Evaluate in Console
action.Debugger.AutoRenderer.text=Auto
group.EditorPopupMenu.text=Editor Popup Menu
group.EditorPopupMenu.description=Editor Popup Menu
action.Add\ to\ migration\ roots.text=_Add to migration roots
action.Add\ to\ migration\ roots.description=Add selected element to migration roots
group.EditorPopupMenu.GoTo.text=Go To
group.EditorPopupMenu.GoTo.description=Go To Editor Popup Menu Group
action.CompareClipboardWithSelection.text=Compare with Clip_board
action.CompareClipboardWithSelection.description=Compare current selection with clipboard
action.ChangeColorScheme.text=Switch Color Scheme
action.ChangeColorScheme.description=Change current color scheme
action.ChangeCodeStyleScheme.text=Switch Code Style Scheme
action.ChangeCodeStyleScheme.description=Change current code style scheme
action.ChangeKeymap.text=Switch Keymap
action.ChangeKeymap.description=Change current keymap
action.ChangeLaf.text=Switch Look and Feel
action.ChangeLaf.description=Change current Look\\&Feel
action.ChangeInspectionProfile.text=Switch Error Highlighting
action.ChangeInspectionProfile.description=Change current editor inspection profile
action.ChangeCustomizationSchema.text=Switch Customization Scheme
action.ChangeCustomizationSchema.description=Change Current Customization Scheme
action.MoveEditorToOppositeTabGroup.text=_Move To Opposite Group
action.MoveEditorToOppositeTabGroup.description=Move editor to opposite tab group
action.OpenEditorInOppositeTabGroup.text=_Open In Opposite Group
action.OpenEditorInOppositeTabGroup.description=Open a copy of this editor in the opposite tab group
action.ModuleSettings.text=Module _Settings
action.ModuleSettings.description=Open settings dialog for selected module
group.MoveModuleToGroup.text=Move Module to Group
group.MoveModuleToGroup.description=_Move module
action.AssociateWithFileType.text=Associate with File Type
action.AssociateWithFileType.description=Associate selected file with one of file types
action.SynchronizeCurrentFile.text=Synchronize selected file
action.TypeHierarchy.BaseOnThisType.text=Base On This Type
action.TypeHierarchy.Class.text=Class Hierarchy
action.TypeHierarchy.Subtypes.text=Subtypes Hierarchy
action.TypeHierarchy.Supertypes.text=Supertypes Hierarchy
action.MethodHierarchy.ImplementMethodAction.text=Implement Method
action.MethodHierarchy.ImplementMethodAction.description=Implement Method (from Method Hierarchy)
action.MethodHierarchy.OverrideMethodAction.text=Override Method
action.MethodHierarchy.OverrideMethodAction.description=Override Method (from Method Hierarchy)
action.MethodHierarchy.BaseOnThisType.text=Base On This Type
action.MethodHierarchy.BaseOnThisType.description=Show hierarchy for method of selected class/interface
action.CallHierarchy.BaseOnThisType.text=Base On This Method
action.CallHierarchy.BaseOnThisType.description=Show call hierarchy for selected method
action.Lvcs.ShowLvcsDiffAction.text=Compare Versions
action.Lvcs.ShowLvcsDiffAction.description=Show changes
action.Lvcs.RollbackFileAction.text=Rollback File
action.Lvcs.RollbackFileAction.description=Rollback
action.Vcs.ShowDiffAction.text=Show Changes
action.Vcs.ShowDiffAction.description=Show changes
action.Vcs.RollbackChanges.text=Rollback Changes
action.Vcs.RollbackChanges.description=Rollback changes
action.Vcs.EditSourceAction.text=Edit Source
action.Vcs.EditSourceAction.description=Edit source
action.Vcs.ExcludeAction.text=Exclude from Commit
action.Vcs.ExcludeAction.description=Exclude from commit
action.Vcs.IncludeAction.text=Include into Commit
action.Vcs.IncludeAction.description=Include into commit
action.openAssertEqualsDiff.text=View assertEquals Difference
action.UsageView.Include.text=Include
action.UsageView.Include.description=Include this usage(s) into processing
action.UsageView.Exclude.text=Exclude
action.UsageView.Exclude.description=Exclude this usage(s) from processing
action.UsageView.ShowRecentFindUsages.text=R_ecent Find Usages
action.UsageView.ShowRecentFindUsages.description=Choose and re-run recent find usages
group.ShowRecentFindUsagesGroup.text=Recent Find Usages
group.ShowRecentFindUsagesGroup.description=Choose and re-run recent find usages

stop.capture.cpu.usage.data.action.name=Stop CPU Usage Profiling
stop.capture.cpu.usage.data.action.description=Stop capturing CPU usage data
stop.capture.allocations.usage.data.action.name=Capture allocations data, now capturing
stop.capture.allocations.usage.data.action.description=Stop capturing allocations data

action.IntegrateFiles.text=Integrate
action.IntegrateFiles.description=Integrate selected files or directories
action.Vcs.IntegrateProject.text=Inte_grate Project
action.Vcs.IntegrateProject.description=Integrate project

action.Vcs.RefreshStatuses.text=R_efresh File Status
action.Vcs.RefreshStatuses.description=Refresh VCS status for all files in project

action.ShowNavBar.text=_Jump to Navigation Bar

action.ScopeView.EditScopes.text=Ed_it Scopes
action.ScopeView.EditScopes.description=Edit Scopes

action.CodeInspection.OnEditor.text=Inspect Code With _Editor Settings
action.CodeInspection.OnEditor.description=Inspect Code With _Editor Settings

action.ShowCoverageInfo.text=Show Co&verage Info
action.HideCoverageInfo.text=Hide Co&verage Info

action.Graph.layout.circular=Circular Layout
action.Graph.layout.balloon=Balloon Layout
action.Graph.layout.directed.orthogonal=Directed Orthogonal Layout
action.Graph.layout.orthogonal=Orthogonal Layout
action.Graph.layout.organic=Organic Layout
action.Graph.layout.hierarchic.group=Hierarchic Group Layout
action.Graph.layout.tree=Tree Layout
action.Graph.layout.apply.current=Apply current layout
action.Graph.layout.fit.content=Fit Content After Layout

action.Graph.zoom.actual=Actual size
action.Graph.zoom.in=Zoom in
action.Graph.zoom.out=Zoom out

action.Graph.grid.hide=Hide Grid
action.Graph.grid.show=Show Grid
action.Graph.grid.snap=Snap To Grid
action.Graph.show.edge.label=Show Edge Labels
action.Graph.show.selected.node.dependencies.label=Show selected nodes with dependencies
action.Graph.export.to.file=Export to file...
action.Graph.export.to.file.dialog.caption=Export to file
action.Graph.choose.directory=Choose Directory
action.Graph.fit.content=Fit Content

action.Graph.print=Print Graph
action.Graph.print.preview=Print Preview

action.SendFeedback.text=Submit _Feedback
action.SendFeedback.description=Submit feedback to the JetBrains Web site
action.LogDebugConfigure.text=Configure Debug Log Settings
action.LogDebugConfigure.description=Enable or disable additional log categories. Allows to provide more information to the support team by request.
action.ShowLog.text=Open Log file
action.ShowLog.description=Opens folder with log file
action.TechnicalSupport.text=Contact _Support Team
action.TechnicalSupport.description=Access technical support on JetBrains Web site

action.TextComponent.ClearAction.text=Clear text
action.TextComponent.ClearAction.description=Clear text in text components

action.ConvertProject.text=&Convert Project
action.ConvertProject.description=Convert project to the new format. You will not be able to open the project by earlier versions of IDEA.

action.ChangesView.Refresh.text=Refresh
action.ChangesView.Refresh.description=Refresh VCS changes
action.ChangesView.NewChangeList.text=New Changelist
action.ChangesView.NewChangeList.description=Create new changelist
action.ChangesView.Commit.text=Comm_it Changes
action.ChangesView.Commit.description=Commit the changes in selected changelist
action.ChangesView.Rollback.text=Rollback
action.ChangesView.Rollback.description=Rollback selected changes
action.ChangesView.RemoveChangeList.text=Delete Changelist
action.ChangesView.RemoveChangeList.description=Remove changelist and move all changes to default
action.ChangesView.SetDefault.text=Set Active Changelist
action.ChangesView.SetDefault.description=Set changelist to which new changes are placed by default
action.ChangesView.Move.text=Move to Another Changelist
action.ChangesView.Move.description=Move selected changes to another changelist
action.ChangesView.Diff.text=Show Diff
action.ChangesView.Diff.description=Show diff for selected change
action.ChangesView.DeleteUnversioned.text=Delete
action.ChangesView.DeleteUnversioned.description=
action.ChangesView.AddUnversioned.text=Add to VCS
action.ChangesView.AddUnversioned.description=Schedule selected files to be added to VCS
action.ChangesView.AddUnversioned.From.Dialog.text=Add to VCS
action.ChangesView.AddUnversioned.From.Dialog.description=Schedule selected files to be added to VCS
action.ChangesView.RemoveDeleted.text=Remove from VCS
action.ChangesView.RemoveDeleted.description=Schedule selected files to be removed from VCS
action.ChangesView.Rename.text=Edit Changelist...
action.ChangesView.Rename.description=Edit name and description of selected changelist
action.ChangesView.CreatePatch.text=Create Patch...
action.ChangesView.CreatePatch.description=Create a patch from the selected changes
action.ChangesView.ApplyPatch.text=Apply Patch...
action.ChangesView.ApplyPatch.description=Apply a patch to the sources of the project
action.ChangesView.Shelve.text=Shelve Changes...
action.ChangesView.Shelve.description=Save changes to an external patch file and remove them from the code
action.ShelvedChanges.Unshelve.text=Unshelve Changes
action.ShelvedChanges.Unshelve.description=Apply saved changes to current codebase
action.ShelvedChanges.Rename.text=Rename...
action.ShelvedChanges.Rename.description=Rename shelved changelist
action.ChangesView.Browse.text=Browse Changes...
action.ChangesView.Browse.description=View history of committed changes
action.ChangesView.Edit.text=Check Out
action.ChangesView.Edit.description=Check out selected files for editing
action.ChangesView.Ignore.text=Ignore...
action.ChangesView.Ignore.description=Do not show selected files as unversioned
action.ChangesView.CreatePatchFromChanges.text=Create Patch...
action.ChangesView.CreatePatchFromChanges.description=Create a patch from the selected changes
action.CommittedChanges.Refresh.text=Refresh
action.CommittedChanges.Refresh.description=Refresh the list of committed changes
action.CommittedChanges.Filter.text=Filter
action.CommittedChanges.Filter.description=Change filtering criteria
action.CommittedChanges.Details.text=Show Details
action.CommittedChanges.Details.description=View complete information about the selected changelist
action.IncomingChanges.Refresh.text=Refresh
action.IncomingChanges.Refresh.description=Refresh the list of incoming changes
action.IncomingChanges.Get.text=Get Changelist
action.IncomingChanges.Get.description=Get latest version of files modified in selected changelist
action.FileChooser.TogglePathShowing.text=Show/Hide path text
action.ChangeFileEncodingAction.text=File Encoding
action.ChangeFileEncodingAction.description=Change file encoding
action.ConfigureFileDefaultEncoding.text=Configure Default Encoding...
action.ConfigureFileDefaultEncoding.description=Configure default encoding for files, files in directories or in the whole project
action.ChangeFileEncodingGroupAction.text=Change File Encoding
action.ChangeFileEncodingGroupAction.description=Change File Encoding
action.VcsHistory.ShowAllAffected.text=Show All Affected Files
action.VcsHistory.ShowAllAffected.description=Show all changes made in the chosen revision

action.AddFrameworkSupport.text=Add Framework Support...

action.Diff.FocusOppositePane.text=Select opposite pane in diff view
action.Diff.PrevChange.text=Compare Previous File
action.Diff.NextChange.text=Compare Next File
action.Diff.SelectedChange.text=Choose File To Compare

action.FileChooser.ShowHiddens.text=Show Hidden Files and Directories
action.FileChooser.ShowHiddens.description=Show hidden files and directories
action.FileChooser.Refresh.text=Refresh
action.FileChooser.Refresh.description=Refresh the file system tree
action.FileChooser.Delete.text=Delete...
action.FileChooser.Delete.text.description=Delete
action.FileChooser.NewFolder.text=New Folder...
action.FileChooser.NewFolder.description=Create new folder
action.FileChooser.NewFile.text=New File...
action.FileChooser.NewFile.description=Create new file
action.FileChooser.GotoHome.text=Home Directory
action.FileChooser.GotoHome.description=Go to home directory
action.FileChooser.GotoProject.text=Project Directory
action.FileChooser.GotoProject.description=Go to project directory
action.FileChooser.GotoModule.text=Module Directory
action.FileChooser.GotoModule.description=Go to module directory

action.WelcomeScreen.DevelopPlugins.text=Plugin Development
action.WelcomeScreen.DevelopPlugins.description=Get started developing plugins for {0}.
action.WelcomeScreen.ReadHelp.text=Read Help
action.WelcomeScreen.ReadHelp.description=Open {0} "Help Topics" in a new window.
action.WelcomeScreen.GetFromVcs.text=Check out from Version Control
action.WelcomeScreen.GetFromVcs.description=You can check out an entire project from a Version Control System. Click the icon or link to select your VCS.
action.WelcomeScreen.ReopenRecent.text=Reopen Recent Project
action.WelcomeScreen.ReopenRecent.description=You can open one of the most recent projects you were working with. Click the icon or link to select a project from the list.
action.WelcomeScreen.OpenProject.text=Open Project
action.WelcomeScreen.OpenProject.description=Open {0} project. <br/>You can also open a project by drag and drop onto Welcome screen.
action.WelcomeScreen.CreateNewProject.text=Create New Project
action.WelcomeScreen.CreateNewProject.description=Start the \"New Project\" Wizard that will guide you through the steps necessary for creating a new project.
action.WelcomeScreen.ImportProject.text=Import Project
action.WelcomeScreen.ImportProject.description=Create {0} project structure for directory with existing sources or convert existing project model.
action.WelcomeScreen.JetBrainsTV.IDEA.text=JetBrains TV
action.WelcomeScreen.Plugins.text=Plugins
action.WelcomeScreen.Plugins.description=Manage installed plugins and download new ones from repository
action.WelcomeScreen.Configure.Import.text=Import Settings
action.WelcomeScreen.Configure.Export.text=Export Settings
action.WelcomeScreen.Configure.DesktopEntry.text=Create Desktop Entry
action.WelcomeScreen.Configure.DesktopEntry.description=Create a desktop entry for integration with system application menu

action.CommittedChanges.Revert.text=Revert Changes
action.CommittedChanges.Revert.description=Apply the reverse of the selected changes to the working copy

action.OpenDirectoryProject.text=Open Directory...
action.OpenDirectoryProject.description=Start editing code in the specified directory
action.WelcomeScreen.OpenDirectoryProject.text=Open Directory
action.WelcomeScreen.OpenDirectoryProject.description=Start editing code in the specified directory.
action.WelcomeScreen.CreateDirectoryProject.text=Create New Project
action.WelcomeScreen.CreateDirectoryProject.description=Create a new project.
action.NewDirectoryProject.text=New Project...
action.NewDirectoryProject.description=Create a new project

action.SliceBackward.text=Analyze Data Flow _to Here
action.SliceBackward.description=Search for values which can be assigned to selected expression

action.SliceForward.text=Analyze Data Flow _from Here
action.SliceSliceForward.description=Search for values escaped from this location

action.ShelvedChanges.Diff.text=Show Diff
action.ShelvedChanges.Diff.description=Show diff for selected change

action.ChangeTemplateDataLanguage.text=Change Template Data Language

group.FileOpenGroup.text=File Open Actions
group.FileOtherSettingsGroup.text=Other Settings
group.FileMainSettingsGroup.text=Settings Actions
group.FilSettingsGroup.text=Settings Actions
group.ExportImportGroup.text=Export/Import Actions
group.PrintExportGroup.text=Print/Export Actions
group.EditSelectGroup.text=Editor Select Actions
group.EditCreateDeleteGroup.text=Editor Create/Delete Actions
group.CutCopyPasteGroup.text=Cut/Copy/Paste Actions
group.EditSelectWordGroup.text=Select Word Actions
group.EditBookmarksGroup.text=Boo_kmarks
group.OpenProjectGroup.text=Open Project Actions
group.EditSmartGroup.text=Edit Code Actions
group.ProjectViewGroup.text=Project View Actions
group.CodeEditorViewGroup.text=Code View Actions
group.CodeEditorBaseGroup.text=Code Editor View Actions
group.HierarchyGroup.text=Hierarchy Actions
group.DebugMainMenu.text=Debugger Actions
group.ToggleBreakpointAction.text=Breakpoint Actions
group.CommentGroup.text=Comment Actions
group.CodeFormatGroup.text=Code Formatting Actions
group.GoToTargetEx.text=Goto by Name Actions
group.GoToErrorGroup.text=Goto Error/Bookmark Actions
group.GoToMenuEx.text=Method Navigation Actions
group.GoToCodeGroup.text=Goto by Reference Actions
group.GoToChangeMarkerGroup.text=Change Navigation Actions
group.CoverageMenu.text=Code Coverage Actions
group.ToolsXmlGroup.text=XML Actions
group.XmlGenerateToolsGroup.text=XML Generate Actions
group.EditorPopupMenuDebug.text=Debug Actions
group.VersionControlsGroup.text=VCS/LVCS Actions
group.EditorPopupMenu.Run.text=Compile/Run Actions
group.ProjectViewCompileGroup.text=Compile/Debug Actions
group.ProjectViewAnalysisGroup.text=Analysis Actions
action.PerformanceReport.text=Submit Performance Report
group.PairFileActions.text=Actions on Pairs of Files
group.RefactoringMenu1.text=Refactoring Actions (1)
group.RefactoringMenu2.text=Refactoring Actions (2)
group.RefactoringMenu3.text=Refactoring Actions (3)
group.ToolbarFindGroup.text=Toolbar Find Actions
group.ToolbarRunGroup.text=Toolbar Run Actions
group.ToolbarMakeGroup.text=Toolbar Make Actions
group.EditorPopupMenu1.text=Editor Popup Menu Actions (1)
group.EditorLangPopupMenu.text=Editor Popup Menu Actions (2)
group.CloseEditorsGroup.text=Editor Close Actions
group.EditorTabPopupMenuEx.text=Editor Tab Popup Menu Actions (1)
group.ProjectViewPopupMenuModifyGroup.text=Project View Popup Menu Modify Group
group.ProjectViewPopupMenuRunGroup.text=Project View Popup Menu Run Group
group.ProjectViewPopupMenuSettingsGroup.text=Project View Popup Menu Settings Group
group.ProjectViewPopupMenuRefactoringGroup.text = Project View Popup Refactoring Group
group.ViewRecentActions.text=View Recent Actions Group
group.NewGroup1.text=New Group (1)
group.NewGroup2.text=New Group (2)
action.NewModuleInGroup.text=Module
action.WrapReturnValue.text=Wrap Method Re_turn Value...
action.WrapReturnValue.description=Wrap return value of the specified method with object
action.ReplaceConstructorWithBuilder.text=Replace Constructor with Builder...
action.ReplaceConstructorWithBuilder.description=Replace current class constructors calls with chained calls to the builder
action.WelcomeScreen.ShowTips.text=Tips of the Day
action.WelcomeScreen.ShowTips.description=Learn how to increase your coding productivity.
action.ShelvedChanges.ShowHideDeleted.text=Show/Hide Applied Shelved Changes
action.XDebugger.MuteBreakpoints.text=Mute Breakpoints
action.ShelvedChanges.DeleteDeleted.text=Delete Applied Shelved Changes
action.Diff.IgnoreWhitespace.text=Toggle Diff Ignore Whitespace
action.ShelvedChanges.Restore.text=Restore Applied Shelved Change
action.Graph.Current.Node.Dependencies.Filter.text=Show selected nodes with dependencies
group.VcsToobarActions.text=VCS Actions
action.StartupWizard.text=Configure Plugins...
action.StartupWizard.description=Run a wizard for selecting the set of enabled plugins
action.PopupHector.text=Configure Current File Analysis...
action.PopupHector.description=Show panel to configure highlighting mode for the current file
group.EditorTabPopupMenu.text=Editor Tab Popup Menu
group.MainMenu.text=Main menu
group.ProjectViewPopupMenu.text=Project View Popup Menu
group.FavoritesViewPopupMenu.text=Favorites View Popup Menu
group.CommanderViewPopupMenu.text=Commander View Popup Menu
group.NavbarPopupMenu.text=Navigation Bar
action.NewInspectionsInLatestVersion.text=What's new in IDEA 9
action.NewInspectionsInLatestVersion.description=Show inspections new in IDEA 9
action.RerunFailedTests.text=Rerun Failed Tests
action.RerunFailedTests.description=Run only tests that failed/crashed after last run
group.AnalyzeJavaMenu.text=Analyze Java Menu
group.AnalyzeJavaMenu.description=Analyze Java Menu
action.InvalidateCaches.text=Invalidate Caches / Restart...
action.InvalidateCaches.description=Force rebuild of all caches and indices on next startup
group.ToolsBasicGroup.text=Tools Basic Group
group.ToolsBasicGroup.description=Tools Basic Group
group.ToolbarNewElement.text=Toolbar New Element Group
action.NewElementToolbarAction.text=Create New File
action.ShowRegistry.text=Registry
action.ExportTestResults.text=Export Test Results...
action.ExportTestResults.description=Export test results to the file
action.TogglePowerSave.text=Power Save Mode
action.TogglePowerSave.description=Power save mode disables background code analysis and other background operations
group.ConvertIndentsGroup.text=Convert Indents
action.ConvertIndentsToSpaces.text=To Spaces
action.ConvertIndentsToSpaces.description=Convert the indentation in the file or selected block to use spaces instead of tabs
action.ConvertIndentsToTabs.text=To Tabs
action.ConvertIndentsToTabs.description=Convert the indentation in the file or selected block to use tabs instead of spaces
group.Vcs.Import.text=Import into Version Control
group.Vcs.Browse.text=Browse VCS Repository
action.Graph.print.reset=Reset
action.MarkExcludeRoot.text=Excluded
action.UnmarkRoot.text=Unmark Root
action.CreateLibraryFromFile.text=Add as Library...
action.ImportModuleFromImlFile.text=Import Module
action.ImportModuleFromImlFile.description=Import iml file as a module to the project
group.MarkRootGroup.text=Mark Directory As
action.CreateLauncherScript.text=Create Command-line Launcher...
action.CreateLauncherScript.description=Create a script for opening files and projects from the command line
action.CreateDesktopEntry.text=Create Desktop Entry...
action.CreateDesktopEntry.description=Create a desktop entry for integration with system application menu
group.EditorGutterPopupMenu.text=Editor Gutter Popup Menu
action.ExcludeFromProject.text=Exclude From Project...
group.MarkFileAs.text=Mark File As
action.MarkAsPlainTextAction.text=Mark as Plain Text
action.MarkAsOriginalTypeAction.text=Mark as

action.Console.Execute.text=Execute Current Statement
action.Console.Execute.description=Execute current statement in console
action.Console.History.Previous.text=Previous
action.Console.History.Previous.description=Previous console history entry
action.Console.History.Next.text=Next
action.Console.History.Next.description=Next console history entry
action.Console.History.Browse.text=Browse History
action.Console.History.Browse.description=Browse console history
action.RevealIn.text=Show/Reveal in Explorer/Finder/Konqueror/Nautilus
action.RevealIn.description=Highlights the file in platform's file manager
action.GoToLinkTarget.text=Go to Link Target
action.GoToLinkTarget.description=Opens a target ot this symlink in the Project View

action.Images.EditExternally.text=Jump to External Editor
action.Images.EditExternally.description=Open image in external editor
action.Images.ToggleTransparencyChessboard.text=Transparency Chessboard
action.Images.ToggleTransparencyChessboard.description=Toggle transparency chessboard under image
action.Images.Editor.ToggleGrid.text=Grid
action.Images.Editor.ToggleGrid.description=Toggle grid lines over image
action.Images.Editor.ZoomIn.text=Zoom In
action.Images.Editor.ZoomIn.description=Increase image view
action.Images.Editor.ZoomOut.text=Zoom Out
action.Images.Editor.ZoomOut.description=Reduce image view
action.Images.Editor.ActualSize.text=Actual Size
action.Images.Editor.ActualSize.description=Resize image to actual size
action.Images.Thumbnails.UpFolder.text=Level up
action.Images.Thumbnails.UpFolder.description=Level up
action.Images.Thumbnails.EnterAction.text=Browse
action.Images.Thumbnails.EnterAction.description=Browse directory
action.Images.Thumbnails.ToggleRecursive.text=Recursive
action.Images.Thumbnails.ToggleRecursive.description=Toggle recursive browsing
action.Images.Thumbnails.Hide.text=Close thumbnails
action.Images.Thumbnails.Hide.description=Close thumbnails window
action.Images.ShowThumbnails.text=Show Image Thumbnails
action.Images.ShowThumbnails.description=Show thumbnails view for current directory

action.Diff.UpdatedFiles.text=Show Diff
action.Diff.UpdatedFiles.description=Show diff with version before update

action.TabList.text=Show Hidden Tabs
action.TabList.description=Show dropdown with the list of tabs that don't fit on the screen in single-row tab layout

action.FillParagraph.text=Fill Paragraph
action.FillParagraph.description=Reformat string literal or comment to fit maximum width (usually 80)

action.SaveDocument.text=Save Document
action.SaveDocument.description=Saves only the file opened in the current editor
php.keyword=Keywords
php.variable=Variables
php.string=Strings
php.single.quote.string=Single quote strings
php.number=Numbers
php.operations=Operations
php.marker=Start / end script markers
php.valid.string.escape=Valid string escapes
php.predefined.function=Predefined functions

tab.structureview.view=PHP

# php colors page elements
color.settings.name=PHP
color.settings.keyword=Keywords
color.settings.comment=Comments
color.settings.number=Numbers
color.settings.string=Strings
color.settings.escape_sequence=Escape sequences
color.settings.operation=Operators
color.settings.brackets=Brackets
color.settings.bad_character=Unknown character
color.settings.comma=Comma
color.settings.semicolon=Semicolon
color.settings.heredoc_id=Heredoc ID
color.settings.heredoc_content=Heredoc content
color.settings.var=Variable
color.settings.identifier=Identifier
color.settings.constant=Constant
color.settings.function=Function/Method Declaration
color.settings.parameter=Parameter
color.settings.function.call=Function Call
color.settings.instance.method=Instance Method Call
color.settings.static.method=Static Method Call
color.settings.class=Class
color.settings.interface=Interface
color.settings.static.field=Static Field
color.settings.instance.field=Instance Field
color.settings.doccomment=PHPDoc comment
color.settings.doctag=PHPDoc tag
color.settings.docmarkup=PHPDoc markup
color.settings.exec_command=Shell command
color.settings.predefined.symbols=Predefined symbols
color.settings.goto.label=Goto label

# annotations
annotation.variable.variable=Variable variable
annotation.new.expression.interface=Cannot instantiate interface ''{0}''
annotation.new.expression.trait=Cannot instantiate trait ''{0}''
annotation.new.expression.abstract=Cannot instantiate abstract class ''{0}''

#folding
folding.checkbox.collapse.imports=<html>PHP imports</html>
folding.checkbox.collapse.method.body=<html>PHP method body</html>
folding.checkbox.collapse.function.body=<html>PHP function body</html>
folding.checkbox.collapse.php.tags=<html>PHP tags</html>
folding.checkbox.collapse.heredocs.and.nowdocs=<html>PHP HEREDOC\\NOWDOC</html>

#gutter
gutter.overriding.select.title=Choose parent method to navigate
gutter.overriden.select.subclass.title=Choose subclass of {0}
gutter.overriden.select.implementation.title=Choose implementation of {0}

# inspections
inspection.group=PHP
inspection.group.general=General
inspection.group.unused=Unused
inspection.group.undefined=Undefined
inspection.group.control.flow=Control Flow
inspection.group.php.doc=PHPDoc
inspection.group.probably.bug=Probably bug
inspection.group.type.compatibility=Type compatibility
inspection.group.code.style=Code Style
inspection.group.code.smell=Code Smell


inspection.hierarchyChecks=Class hierarchy checks
inspection.hierarchyChecks.descr=Class must be declared abstract or implement {0}
inspection.wrong_param_type=Expected {1}, got {0}
inspection.missing_param=Required parameter ${0} missing

#inspection -> Wrong Exception order
inspection.wrong.exception.order.problem.batch=Exception #ref has already been caught
inspection.wrong.exception.order.problem.same=Exception ''{0}'' has already been caught
inspection.wrong.exception.order.problem.super=''{0}'', superclass of exception class ''{1}'', has already been caught

inspection.wrong.exception.order.fix.move.display.name=Move catch clause for exception ''{0}'' before ''{1}''
inspection.wrong.exception.order.fix.delete.display.name=Delete catch clause for exception ''{0}''

#inspection -> Wrong Exception class
inspection.wrong.exception.type.problem.throw = The thrown object must be an instance of the Exception
inspection.wrong.exception.type.problem.catch = Cannot catch object not derived from Exception base class

#inspection -> Assigned value never used
inspection.unused.assignment.error.description = Assigned value is never used

#inspection -> Wrong foreach argument
inspection.wrong.foreach.argument.type=Invalid argument supplied for foreach()
inspection.wrong.foreach.argument.type.problem.batch=Invalid argument supplied for foreach()
inspection.wrong.foreach.argument.type.problem=Invalid argument supplied for foreach(). Expected types: array or object, Actual: {0}

#inspection -> Unused local variable
inspection.unused.local.variable.problem=Unused local variable ''{0}''. {1}
inspection.unused.local.variable.problem.batch=Unused local variable #ref
inspection.unused.local.variable.problem.case1=The value of the variable is not used anywhere.
inspection.unused.local.variable.problem.case2=The value of the variable is overwritten immediately.
inspection.unused.local.variable.problem.case3=The reference stored in the variable is not used anywhere.
inspection.unused.local.variable.problem.case4=The reference stored in the variable is overwritten immediately.
inspection.unused.local.variable.option.description.foreach=Don't report a foreach value when a foreach key exists
inspection.unused.local.variable.option.description.catch=Don't report variables inside catch clauses
inspection.unused.local.variable.option.description.list=Don't report variables inside list()
inspection.unused.local.variable.option.description.file.scope=Enable inspection in global space
inspection.unused.local.variable.option.description.null=Don't report assignment to 'null'
inspection.unused.local.variable.option.indirect.access=Don't report variables accessed via 'get_defined_vars()'

#inspection -> Unused parameter
inspection.unused.parameter.problem=Unused parameter ''{0}''. {1}
inspection.unused.parameter.problem.batch=Unused parameter #ref
inspection.unused.parameter.problem.case1=The value of the parameter is not used anywhere.
inspection.unused.parameter.problem.case2=The value of the parameter is overwritten immediately.
inspection.unused.parameter.problem.case3=The reference stored in the parameter is not used anywhere.
inspection.unused.parameter.problem.case4=The reference stored in the parameter is overwritten immediately.
inspection.unused.parameter.option.description.empty.body=Don't report parameters of methods/functions with empty body
inspection.unused.parameter.option.description.empty.abstract=Don't report parameters of methods of abstract classes
inspection.unused.parameter.option.description.empty.override=Don't report parameters of overriding methods
inspection.unused.parameter.option.description.parameter.count=Don't report when parameters are accessed via 'func_num_args()'

#inspection -> Undefined callback
inspection.undefined.callback.method = Method ''{0}'' not found in class ''{1}''
inspection.undefined.callback.field = Field ''{0}'' not found in class ''{1}''
inspection.undefined.callback.class = Undefined class ''{0}''
inspection.undefined.callback.function = Undefined function ''{0}''

#inspection - > Undefined variable
inspection.undefined.variable.display.name=Undefined variable
inspection.undefined.variable.problem1=Undefined variable ''{0}''
inspection.undefined.variable.problem2=Variable ''{0}'' might have not been defined
inspection.undefined.variable.option.description.enable.in.file.scope=Enable inspection in global space
inspection.undefined.variable.option.description.report.can.be.undefined=Report that variable might have not been defined
inspection.undefined.variable.option.description.ignore.include=Ignore \'include\' and \'require\' statements

#inspection -> Wrong String concatenation operator
inspection.wrong.string.concatenation.operator.problem=Wrong string concatenation operator
inspection.wrong.string.concatenation.operator.problem.batch=Wrong string concatenation operator

#inspection -> Dynamic method called as static
inspection.dynamic.method.called.as.static.problem=Non-static method ''{0}'' should not be called statically
inspection.dynamic.method.called.as.static.problem.batch=Non-static method #ref should not be called statically

#inspection -> Assignment in condition
inspection.assignment.in.condition=Assignment in condition

#inspection -> Division by zero
inspection.division.by.zero=Division by zero

#inspection -> Unreachable Statement
inspection.unreachable.statement=Unreachable statement
inspection.unreachable.statement.problem=Unreachable statement

#inspection -> Missing doc comment
inspection.missing.doc.comment=Missing PHPDoc comment
inspection.missing.doc.comment.problem=Missing PHPDoc comment
inspection.missing.doc.comment.problem.batch=Missing PHPDoc comment for {0}
inspection.missing.doc.comment.options.panel.constant=C&onstant
inspection.missing.doc.comment.options.panel.function=&Function
inspection.missing.doc.comment.options.panel.class=&Class
inspection.missing.doc.comment.options.panel.method=&Method
inspection.missing.doc.comment.options.panel.field=Fi&eld
inspection.missing.doc.comment.options.panel.class.constant=Class const&ant

#inspection -> Silly assignment
inspection.silly.assignment=Silly assignment
inspection.silly.assignment.problem=The left and the right parts of assignment are equal

#inspection -> Illegal array key type
inspection.illegal.array.key.type=Illegal array key type
inspection.illegal.array.key.type.problem=Illegal array key type

#inspection -> Missing @return tag
inspection.doc.missing.return.tag=Missing @return tag
inspection.doc.missing.return.tag.problem=Missing @return tag in function/method PHPDoc comment

#inspection -> Doc signature inspection
inspection.doc.signature=PHPDoc comment matches function/method signature
inspection.doc.signature.problem=PHPDoc comment does not match function or method signature

inspection.doc.throws=Missing @throws tag(s)
inspection.doc.throws.problem=PHPDoc comment doesn't contain all necessary @throws tag(s)

#inspection -> Inconsistent return points
inspection.missing.inconsistent.return.points=Inconsistent return points
inspection.inconsistent.return.points.problem1=Missing return statement
inspection.inconsistent.return.points.problem2=Missing return argument
inspection.inconsistent.return.points.problem3=The function/method declared \'void\' must not return a value
inspection.inconsistent.return.points.option.treat.return=Treat \'return null\' and \'return\' same way in \'void\' functions/methods

#inspection -> Redundant closing tag
inspection.redundant.closing.tag.display.name=Redundant closing tag
inspection.redundant.closing.tag.problem=Redundant closing tag

#inspection -> Void function result used
inspection.void.function.result.used.display.name=Void function result used
inspection.void.function.result.used.problem1=''void'' function ''{0}'' result used
inspection.void.function.result.used.problem2=''void'' method ''{0}'' result used

#inspection -> Expression result unused
inspection.expression.result.unused.display.name=Expression result unused
inspection.expression.result.unused.problem=Expression result unused

#inspection -> Unused function
inspection.missing.break.statement.display.name=Missing 'break' statement
inspection.missing.break.statement.problem=Missing 'break' statement

#inspection -> Nested vs outer 'foreach' variables conflict
inspection.nested.vs.outer.foreach.variables.conflict.display.name=Nested vs outer 'foreach' variables conflict
inspection.nested.vs.outer.foreach.variables.conflict.problem1=The ''{0}'' variable used as a key 'foreach' loop is already used in the same way by the outer 'foreach' loop.
inspection.nested.vs.outer.foreach.variables.conflict.problem2=The ''{0}'' variable used as a value by a 'foreach' loop is already used in the same way by the outer 'foreach' loop.

#inspection -> Foreach array is used as value
inspection.foreach.array.is.used.as.value.display.name=Foreach array is used as value
inspection.foreach.array.is.used.as.value.problem=The ''{0}'' variable is already used as an 'array expression'

#inspection -> Usage of silence operator
inspection.usage.of.silence.operator.problem=Usage of silence operator

#inspection -> Language level
inspection.language.level.display.name=Language level

#switch language level quick fix
inspection.language.level.quick.fix.switch.language.level.name.0=Switch to PHP{0} language level

#inspection -> Duplicate array keys
inspection.duplicate.array.keys.display.name=Duplicate array keys
inspection.duplicate.array.keys.problem=Duplicate array key

#inspection -> Undefined constant
inspection.undefined.constant.display.name=Undefined constant
inspection.undefined.constant.problem1=Undefined constant #ref
inspection.undefined.constant.problem2=Constant #ref might have not been defined

#inspection -> Undefined function
inspection.undefined.function.display.name=Undefined function
inspection.undefined.function.problem1=Undefined function #ref
inspection.undefined.function.problem2=Function #ref might have not been defined

#inspection -> Undefined field
inspection.undefined.field.problem1=Field accessed via magic method
inspection.undefined.field.problem2=Field declared dynamically
inspection.undefined.field.notify.access.magic.method=Notify about access to a field via magic method
inspection.undefined.field.notify.dynamic.declaration=Notify about dynamic field declaration

#inspection -> Unnecessary fully qualified name
inspection.unnecessary.fully.qualified.name=Unnecessary fully qualified name
inspection.unnecessary.fully.qualified.name.option.enable.file.scope=Enable in file scope
inspection.unnecessary.fully.qualified.name.option.ignore.global.namespace=Ignore global namespace
inspection.unnecessary.fully.qualified.name.option.ignore.if.import.is.necessary=Ignore FQN that can\u2019t be shortened without import

#inspection -> Multiple classes declaration in one file
inspection.multiple.classes.declarations.in.one.file=Another class is declared in the same file

#inspection -> Traditional Syntax Array Declaration Inspection
inspection.traditional.syntax.array.literal.detected=Traditional syntax array literal detected

#quickfix
quickfix.cannot.apply.quick.fix=Cannot apply quick fix.
quickfix.cannot.find.class.reference=Can not find class reference to resolve
quickfix.cannot.find.target.class=Can not resolve class from reference ''{0}''
quickfix.multiple.target.class.resolve=Class ''{0}'' has multiple declarations

#quick fix for: {PhpUnderfinedVariableInspection} -> Create parameter
quickfix.create.parameter=Create parameter
quickfix.create.parameter.selected.function.method.has.usages=Selected function/method has usages.

#quickfix -> PhpImportClassQuickFix
quickfix.import.class.name=Import Class
quickfix.import.class.popup.title=Class to import

#quickfix -> PhpAddFieldDeclarationQuickFix
quickfix.add.field.dialog.title=Add Field

#intentions

#intentions Replace ?: expression with If
intention.replace.ternary.expression.with.if=Replace '?:' with if

#intentions Replace If with ?: expression
intention.replace.if.with.ternaryExpression=Simplify If

#intentions -> Convert To Short Syntax
intention.convert.to.short.syntax=Convert to short syntax
intention.convert.to.traditional.syntax=Convert to traditional syntax


#intentions -> Flip Binary Expression
intention.flip.binary.expression.family.name=Flip binary expression
intention.flip.binary.expression.text1=Flip ''{0}''
intention.flip.binary.expression.text2=Flip ''{0}'' (may change semantics)
intention.flip.binary.expression.text3=Flip ''{0}'' (change semantics)

#intentions -> Namespace Bracing
intention.namespace.bracing=Convert namespace to braced

#intentions -> Smart Line Split
intention.line.split=Split string in two strings and concatenation

#intentions -> Swap Call Arguments
intention.swap.call.arguments.family.name=Swap call arguments
intention.swap.call.arguments.text1=Swap ''{0}'' and ''{1}''

#intention -> Add variable PHPDoc comment
intention.variable.add.phpdoc.comment.family.name=Add PHPDoc comment

#intention -> Import class
intention.import.class=Import class
intention.import.class.alias.name=Alias name:
intention.import.class.always.create.alias=&Always create alias while class import
intention.import.class.alias.already.exists=Class with the same alias name is already imported

#intention -> Simplify FQN
intention.simplify.fqn=Simplify FQN

#run and debug
url.must.not.be.empty={0} must not be empty
web.path=Web path
default.browser=Default
connection.failed=Connection failed: {0}
debug.connection.error=Connection error: {0}

#dbgp debugging protocol
dbgp.invalid.packet=Invalid packet

#annotator
annotator.method.to.string=Method __toString is not implemented for ''{0}''
annotator.duplicate.use.statement=Cannot use ''{0}'' because the name is already in use
annotator.reserved.class.name=Cannot use ''{0}'' as class name as it is reserved
annotator.cannot.break.continue=Cannot break/continue {0} level(s)
php.annotator.expecting.interface=Interface reference expected
php.annotator.expecting.class=Class reference expected
php.surround.with.if=if

#phpunit messages
php.unit.local.run.display.name=PHPUnit
php.unit.local.run.description=PHPUnit
php.file.name.empty=Test file is not specified
php.directory.name.empty=Test directory is not specified
php.file.not.found=File ''{0}'' not found
php.directory.not.found=Directory ''{0}'' not found
php.not.directory=''{0}'' is not a directory
php.class.not.found=Class ''{0}'' not found in test file
php.not.test.method=Method ''{0}'' in class ''{1}'' is not a test method
php.method.not.found=Method ''{0}'' is not found in class ''{1}''
php.method.name.empty=Test method is not specified
php.xml.file.path.empty=XML file is not specified
php.unit.include.group=Include
php.unit.exclude.group=Exclude
php.unit.group.name=Group Name

php.choose.dir=Choose Test Directory
phpunit.choose.test.file=Choose Test File

php.class.duplicate=Test file contains several classes named ''{0}''
file.not.in.project=File ''{0}'' is not under source root
directory.not.in.project=Directory ''{0}'' is not under content root
directory.contains.no.php.files=Directory ''{0}'' doesn't contain php files
test.class.is.empty=Test class is not specified
php.not.test.class.or.suite=Class ''{0}'' is not a test class or suite
php.not.test.class=Class ''{0}'' is not a test class
file.name.is.not.specified=File name is not specified
test.class.chooser.dialog=Choose Test Class
no.class.found=No php class in file ''{0}'' found
no.class.with.name.found=No ''{0}'' class in file ''{1}'' found

php.unit.run.configuration.page=PHPUnit run configuration page
configuration.file.is.not.specified=Configuration file is not specified
configuration.file.not.found=Configuration file {0} not found
php.unit.no.groups.chosen=No group is chosen

php.local.run.display.name=PHP Script
php.local.run.description=Execute PHP script in console
file.not.specified=File is not specified
file.invalid=File ''{0}'' not found
choose.file=Choose PHP File
wrong.file.type=File ''{0}'' is not a PHP file
failed.to.run=Failed to start PHP process: {0}
choose.php.home=Choose PHP home
php.unit.remote.run.display.name=PHPUnit on Server
php.unit.remote.run.description=Execute PHPUnit tests on server
php.unit.groups.tooltip=The test is run if none of his groups is excluded and at least one group is included. Group is defined via @group annotation in doc comments.
uploading.tests.to.server=Uploading test files to {0}...
no.valid.mapping.found.for=No valid mapping is found for ''{0}''
remote.path.for.0.is.excluded.from.mappings.1=Remote path for ''{0}'' is excluded from mappings: ''{1}''
phpunit.config.remote.tab.title=Remote
failed.to.retrieve.test.data=Failed to retrieve test results from the server at ''{0}''.
executing.tests=Executing tests
cleaning.up=Cleaning up...
phpunit.upload.test.files=&Upload test files before run
phpunit.upload.test.directory=&Upload test directory before run
phpunit.remove.uploaded.files=&Remove uploaded files after run
phpunit.groups.include.exclude=Include/exclude &groups
this.reassignment.is.not.allowed=Cannot reassign $this
parsing.error.statement.expected=Expecting statement
smarty.configurable.title=Smarty
analyzing.php.sdk=Checking PHP installation...
include.path.column.info=Path
failed.to.read.php.sdk.info.0=Failed to check PHP installation: {0}
php.sdk.version.local=PHP version: {0}
php.sdk.version.server=PHP version on server: {0}
overwrite.include.paths.dialog.text=PHP installation include paths are different from current.\nOverwrite current paths or merge them together?
overwrite.include.paths.dialog.title=Update Include Paths
overwrite.include.paths.dialog.overwrite=&Overwrite
overwrite.include.paths.dialog.merge=&Merge
review.php.sdk.settings=Review PHP settings
php.sdk.step.title=PHP settings
php.sdk.autodetect.failed=Failed to determine PHP installation on server ''{0}''.
include.paths.label.local=Include paths:
include.paths.label.server=Include paths on server:
local.path.empty=Local path is not specified
server.label.text=S&erver:
include.path.is.empty=Include path is not specified.
include.path.is.not.found=Local item ''{0}'' not found.
failed.to.parse.script.output=Error while executing diagnostic script
working.directory.invalid=Working folder ''{0}'' not found
custom.working.directory.label=Custom &working directory:

#control flow
control.flow.access.description=(ACCESS: ''{0}'' NAME: ''{1}'')
control.flow.access.variable.write=WRITE
control.flow.access.variable.readOrReadRef=READ_OR_READ_REF

#validation common
validation.file.already.exists.in.dir=File with name "{0}" already exists in "{1}"
validation.file.already.exists=File "{0}" already exists
validation.file.not.valid.name="{0}" is not valid file name
validation.class.not.valid.name="{0}" is not valid class name
validation.namespace.not.valid.name="{0}" is not valid namespace name
validation.invalid.identifier="{0}" is not a valid identifier
validation.invalid.alias="{0}" is not a valid alias name
validation.value.is.not.specified.or.invalid={0} is not specified or invalid
validation.value.is.not.specified.or.invalid.press.fix.project.configuration={0} is not specified or invalid.  Press ''Fix'' to edit your project configuration.
validation.value.is.invalid={0} is invalid
validation.0.not.found.at.1=''{0}'' not found at ''{1}''
validation.0.is.not.a.directory=''{0}'' is not a directory
validation.0.extension.is.not.installed=''{0}'' extension is not installed
validation.debug.extension.is.updated=Debug extension settings was updated. Please re-run current configuration to use new values.
validation.0.extension.is.installed.check.configuration.options=''{0}'' extension is installed. Check configuration options
validation.ssh.remote.debug.support=Remote debugging via ssh is not supported by ''{0}'' extension
validation.0.is.only.available.since.1={0} is only available since {1}
validation.cannot.parse.value.of.0=Cannot parse the value of ''{0}''
validation.connection.was.not.established=Connection was not established. <a href='#a'>Validate installation</a>.
validation.connection.was.not.established.0=Connection with ''{0}'' was not established. <a href='#a'>Validate installation</a>.
validation.function.already.exists = Function with the same name already defined in current namespace
validation.namespace.already.exists = Namespace with the name ''{0}'' already defined in {1}
validation.class.already.exists = Class with the same name already exists in {0}

#errors common
error.template.unable.parse.internal.template=Unable to parse internal template {0}
error.template.unable.create.from.internal.template=Unable to create file from internal template {0}
error.file.unable.create.selected.directory=Unable to create file {0} in selected directory
error.cannot.connect.to.0.1=Cannot connect to ''{0}'' : {1}

#messages common
0.completion.shortcut=Use {1} for {0} completion

#unwrap
unwrap.if=Unwrap if...
unwrap.while=Unwrap while...
unwrap.for=Unwrap for...
unwrap.with=Unwrap with...
unwrap.try=Unwrap try...
unwrap.else=Unwrap else...
unwrap.elseif=Unwrap elseif...
unwrap.dowhile=Unwrap do-while...
remove.else=Remove else...


#refactoring
refactoring.common.file.read.only=File is read only
refactoring.common.not.supported.expression.in.scope={0} for such expression is not supported in the current scope
refactoring.common.not.supported.context={0} is not supported in the current context

refactoring.common.ui.target.namespace.label=&Namespace:
refactoring.common.ui.target.directory.label=Target &destination directory:
refactoring.common.ui.target.directory.edit = Press F2 to edit target directory

refactoring.common.validation.namespace.name="{0}" is not valid namespace name
refactoring.common.validation.target.directory.is.not.valid=Path to the directory "{0}" is not valid
refactoring.common.validation.target.directory.not.inside.project=Directory "{0}" is not located inside the project

refactoring.parameter.reserved.name = Parameter name "{0}" is reserved
refactoring.parameter.validation = Parameter {0} is not valid
refactoring.parameter.validation.duplicate.parameter=Duplicate parameter name: {0}
refactoring.parameter.validation.initializer.last=Required parameters are not permitted after optional parameters
refactoring.parameter.validation.initializer.type=Default value for parameters with a class type hint can only be NULL
refactoring.parameter.validation.pass.by.reference=Only variable can be pass by reference
refactoring.parameter.validation.type=Parameter type ''{0}'' is invalid
refactoring.parameter.validation.default.value=Default value expression ''{0}'' is invalid
refactoring.parameter.validation.initializer=Initializer ''{0}'' is invalid
refactoring.parameter.validation.no.default.value=Initializer or default value should be provided for parameter ''{0}''

#refactoring - > introduce base
refactoring.introduce.base.validator.not.valid.identifier="{0}" is not valid PHP identifier.
refactoring.introduce.base.validator.reserved.keyword="{0}" is reserved PHP keyword.
refactoring.introduce.base.handler.no.expression.selected=Selection does not form a correct expression
refactoring.introduce.base.handler.not.supported.expression={0} is not supported for such expression
refactoring.introduce.base.handler.not.supported.scope={0} is not supported in the current scope
refactoring.introduce.base.dialog.replace.all.occurrences=Replace &all occurrences ({0} occurrences found)

#refactoring -> introduce variable
refactoring.introduce.variable.name=Introduce variable
refactoring.introduce.variable.help.id=refactoring.introduceVariable
refactoring.introduce.variable.conflict.already.exists=Variable with name \"{0}\" already exists in the scope.
refactoring.introduce.variable.conflict.superglobal.name=Variable with name \"{0}\" will conflict with superglobal variable ${1}.

#refactoring -> introduce constant
refactoring.introduce.constant.name=Introduce constant
refactoring.introduce.constant.help.id=refactoring.introduceConstant
refactoring.introduce.constant.conflict.already.exists=Constant with name "{0}" already exists in the scope.

#refactoring -> introduce field
refactoring.introduce.field.name=Introduce field
refactoring.introduce.field.help.id=refactoring.introduceField
refactoring.introduce.field.validator.reserved.field.name="{0}" is reserved field name
refactoring.introduce.field.conflict.already.exists=Field with name \"{0}\" already exists in the class.
refactoring.introduce.field.visibility=Visibility
refactoring.introduce.field.visibility.public=p&ublic
refactoring.introduce.field.visibility.protected=pr&otected
refactoring.introduce.field.visibility.private=pr&ivate

#refactoring -> rename - > element processor
conflict.method.with.same.name.already.exists=Method with same name already defined in this class
conflict.field.with.same.name.already.exists=Field with same name already defined in this class
conflict.constant.with.same.name.already.exists=Constant with same name already defined in this class
conflict.variable.with.same.name.already.exists=Variable with same name already defined
conflict.parameter.with.same.name.already.exists=Parameter with same name already defined

#refactoring -> rename - > automatic renamers
refactoring.rename.automatic.renamer.accessors.name=Rename a&ccessors
refactoring.rename.automatic.renamer.field.accessors.dialog.title=Rename Accessors
refactoring.rename.automatic.renamer.field.accessors.dialog.description=Rename field accessors with the following names to:
refactoring.rename.automatic.renamer.field.accessors.entity.name=Accessor

refactoring.rename.automatic.renamer.containing.file.name=Rename containing &file
refactoring.rename.automatic.renamer.containing.file.dialog.title=Rename containing file
refactoring.rename.automatic.renamer.containing.file.dialog.description=Rename containing file with the following name to:
refactoring.rename.automatic.renamer.containing.file.entity.name=Containing File

#refactoring->inline variable
refactoring.inline.variable.cannot.extract.value=Cannot extract value of variable ''${0}''
refactoring.inline.cannot.find.variable.to.inline=Cannot find variable to inline
refactoring.inline.variable.no.occurrences=No occurrences can be safely inlined

#refactoring -> extact method/function
refactoring.extract.method.name=Extract function/method
refactoring.extract.method.error.selected.block.should.represent.a.set.of.statement.or.an.expression=Selected block should represent a set of statements or an expression.
refactoring.extract.method.error.a.set.of.statements.should.be.from.the.same.code.block=A set of statements should be from the same code block.
refactoring.extract.method.error.there.are.break.continue.operators.which.can.interrupt.execution=There are break/continue operators which interrupts execution.
refactoring.extract.method.error.inconsistent.return.points.in.selected.code.fragment=Inconsistent return points in the selected code fragment.
refactoring.extract.method.help.id=refactoring.extractMethod
refactoring.extract.method.tooltip=Type $name = 'init'
PhpExtractMethodDialog.extract.method=Extract Method
PhpExtractMethodDialog.extract.function=Extract Function
PhpExtractMethodDialog.visibility=Visibility:
PhpExtractMethodDialog.public=Pu&blic
PhpExtractMethodDialog.protected=Pro&tected
PhpExtractMethodDialog.private=Pri&vate
PhpExtractMethodDialog.method=Method:
PhpExtractMethodDialog.function=Function:
PhpExtractMethodDialog.name=N&ame:
PhpExtractMethodDialog.declare.static=Declare &static
PhpExtractMethodDialog.parameters=Parameters
PhpExtractMethodDialog.signature.preview=Signature preview
PhpExtractMethodDialog.replace.tail.break.continue.with.return=Replace &tail "break/continue" statements with "return" statement
PhpExtractMethodDialog.return.output.through=Return output variable(s) through:
PhpExtractMethodDialog.return.output.through.return=&Return statement
PhpExtractMethodDialog.return.output.through.ref.parameters=&Parameter(s) passed by reference
PhpExtractMethodDialog.transformation.options=Transformation options
PhpExtractMethodDialog.output.variables=Output variable(s)

#refactoring -> change signature
change.signature.find.usages.of.base.interface=Method {0} of class {1}\nimplements method of interface {2}.\nDo you want {3} the base method?
change.signature.find.usages.of.base.class=Method {0} of class {1}\noverrides method of class {2}.\nDo you want {3} the base method?
change.signature.tooltip=Type $name = 'init' // Default value
change.signature.tooltip.parameter=Type $name = 'init'
change.signature.tooltip.default.value=Value to be used in all existing calls of this method
change.signature.error.wrong.caret.position=The caret should be positioned at the name of the function to be refactored.
change.signature.usage.view.declarations.header=Functions to be refactored
change.signature.column.name.parameter=Parameter:
change.signature.initialize.new.parameters=Create and &initialize class properties

#refactoring -> pull up/push down
refactoring.pull.up.implement.method = Create methods &stubs in classes that implement interface
refactoring.pull.up.validation.field.into.interface = Cannot pull up fields into interface
refactoring.pull.up.validation.static.method.into.interface = {0} is static and can not be abstract.
refactoring.pull.up.private.access = {0} access will be changed to {1}
refactoring.pull.up.abstract.method = Class {0} will be marked as abstract
refactoring.pull.up.conflict.duplicate.constant = {0} will conflict with constant from {1}.
refactoring.pull.up.will.not.be.accessible.in.the.target.class={0} will not be accessible in the target class.
refactoring.pull.up.may.not.be.accessible.in.the.target.class={0} may not be accessible in the target class.
refactoring.pull.up.is.1.and.will.not.be.accessible.in.the.target.class={0} is private and will not be accessible in the target class.
refactoring.push.down.method.implemented.in.interface={0} must be declared abstract or implement {1}
refactoring.push.down.validation.magic.method=Moving magic method can have side effect

#refactoring -> move class
refactoring.move.class.name = Move Class
refactoring.move.class.title = Move &Class {0} to namespace:
refactoring.move.class.new.file = Move class to a &new file
refactoring.move.class.in.non.code.message=Class references in comments and strings

#refactoring -> move namespace
refactoring.move.namespace.name=Move Namespace
refactoring.move.namespace.title=Move Namespace {0}
refactoring.move.namespace.new.namespace=New &Namespace name:
refactoring.move.related.namespace.description=Move files with related namespaces to new directories:
refactoring.move.related.namespace.title=Move Files With Related Namespaces
refactoring.move.related.namespace.name.column=New Namespace name
refactoring.move.related.namespace.directory.column=New Directory
refactoring.move.related.namespace.collect.title=Collecting child namespaces
refactoring.move.namespace.header.message=Move namespace
refactoring.move.namespace.message=Namespaces to be moved
refactoring.move.namespace.in.non.code.message=Namespace references in comments and strings

#refactoring -> move member
refactoring.move.method.label.text.field=Move Member To &Class
refactoring.move.member.method.is.overridden.in.a.sublclass={0} is overridden in a subclass {1}
refactoring.move.members.there.are.several.classes.with.specified.name=There are several classes with specified name {0}
refactoring.move.members.is.not.a.valid.class.name="{0}" is not a valid class name
refactoring.move.member.title=Move Static Member
refactoring.move.method.message=Move static member to another class
refactoring.move.members.to.be.moved=Mem&bers to be moved to another class
refactoring.move.members.unable.to.move.method=Unable To Move Member
refactoring.move.members.unable.to.resolve.usage.callback.found=Unable to resolve usage: callback found {0}
refactoring.move.members.unable.to.resolve.usage.late.static.binding.detected=Unable to resolve usage: late static binding detected {0}
refactoring.move.members.late.static.binding.detected=Late static binding detected: {0}
refactoring.move.members.late.static.binding.detected.in.doc=Late static binding detected in doc
refactoring.move.members.unable.to.resolve=Unable to resolve {0}
refactoring.move.members.is.not.accessible={0} is not accessible in {1}
refactoring.move.members.cannot.move.nonstatic.method=Move non-static method is not supported
refactoring.move.members.cannot.find.target.class=Cannot find class {0}
refactoring.move.members.member.will.change.visibility.to.public=Member {0} will change visibility to public
refactoring.move.members.method.implements.abstract.method=Method {0} implements abstract method in {1}
refactoring.move.members.method.implements.method.in=Method {0} implements method in {1}
refactoring.move.members.0.will.be.hidden.in.1=Member {0} will be hidden in {1}

#refactoring -> extract interface
refactoring.extract.interface.name=Extract Interface
refactoring.extract.interface.title=Extract Interface From Class ''{0}''
refactoring.extract.interface.invalid.caret.location=The caret should be positioned at the class name to be refactored.
refactoring.extract.interface.invalide.extract.from.trait=Can not extract interface from trait.
refactoring.extract.interface.no.methods=No methods to extract into interface.
refactoring.extract.interface.field=&Interface Name:
refactoring.extract.replace.class.reference=Replace class re&ferences with interface where possible
refactoring.extract.interface.members.title=Mem&bers to form interface
refactoring.extract.interface.phpdoc.title=PhpDoc
refactoring.extract.interface.phpdoc.do.nothing=&As Is
refactoring.extract.interface.phpdoc.copy=&Copy
refactoring.extract.interface.phpdoc.move=&Move
refactoring.extract.interface.validation.members.modifier=Modifier will be changed to public for each extracted method.
refactoring.extract.interface.fail.to.create.file=Fail to create file ''{0}''.

#actions
#action -> detect namespace roots
actions.detect.namespace.roots.notification.id=PHP PSR-0 Namespace Root Detection
actions.detect.namespace.roots.notification.title=Detect PSR-0 namespace roots
actions.detect.namespace.roots.notification.message=Do you want to configure namespace roots? It can be done <a href="detect">automatically</a> or manually at {0}.
actions.detect.namespace.roots.title=Detecting PSR-0 namespace roots...
actions.detect.namespace.roots.finished=Detection of PSR-0 namespace roots is completed. You can change it manually at {0}.
actions.detect.namespace.roots.no.new.roots.detected=No new PSR-0 namespace roots was detected. You can specify it manually at {0}.
actions.detect.namespace.roots.no.roots.detected=No PSR-0 namespace roots was detected.
actions.detect.namespace.roots.manually.edit=<a href="config">Settings | Directories</a>
actions.detect.namespace.roots.manually.edit.idea="Project Settings | Modules"

#action -> mark directory as namespace root
actions.mark.directory.as.psr.0.root=New PSR-0 namespace root was detected. Do you want to mark the following directory as <a href="mark">namespace root</a>?<br/><br/><i>"{0}"</i>
actions.mark.directory.as.psr.0.root.with.prefix=New PSR-0 namespace root was detected. Do you want to mark the following directory as <a href="mark">namespace root</a> with prefix "{1}"?<br/><br/><b><i>"{0}"</i></b>

#action - > new php base
actions.new.php.base.dialog.label.file.name=File name:
actions.new.php.base.dialog.label.extension=File extension:
actions.new.php.base.arrows.extension.tooltip=Pressing Up or Down arrows while in editor changes the file extension
actions.new.php.base.arrows.kind.tooltip=Pressing Up or Down arrows while in editor changes the kind

#action -> new php file
actions.new.php.file.action.name=PHP File
actions.new.php.file.action.description=Creates new PHP File
actions.new.php.file.dialog.title=Create New PHP File

#action -> new php class
actions.new.php.class.action.name=PHP Class
actions.new.php.class.action.description=Creates new PHP class
actions.new.php.class.dialog.title=Create New PHP class
actions.new.php.class.dialog.label.class.name=Name:
actions.new.php.class.dialog.label.namespace=Namespace:
actions.new.php.class.dialog.label.directory=Directory:
actions.new.php.class.dialog.label.kind=Kind:
actions.new.php.class.dialog.border.title.class=Class

#action -> new phpunit test
actions.new.phpunit.class.action.name=PHPUnit Test
actions.new.phpunit.class.action.description=Creates new PHPUnit Test
actions.new.phpunit.class.dialog.title=Create New PHPUnit Test
actions.new.phpunit.class.dialog.help.id=reference.php.reference.testing.create.new.phpunit.test
actions.new.phpunit.class.dialog.label.name=Name:
actions.new.phpunit.class.dialog.label.namespace=Namespace:
actions.new.phpunit.class.dialog.label.file.name=File name:
actions.new.phpunit.class.dialog.label.directory=Directory:
actions.new.phpunit.class.dialog.label.fqn=Fully qualified name:
actions.new.phpunit.class.dialog.border.title.class.to.test=Class To Test (optional)
actions.new.phpunit.class.dialog.border.title.test.class=Test Class

unnamed.variable=(unnamed)
create.web.project.php.sdk.step.summary=Review PHP configuration for a new project.
server=server
executing.script=Executing script on server...

#Connection -> Server Connection
connection.port.is.busy=Port {0} is busy

#Debug
debug.accept.connection=Accept
debug.ignore.connection=Ignore
debug.incoming.connection.title.0=Incoming Connection From {0}
debug.path.on.server=Absolute path on the server
debug.error.cannot.modify.value=Cannot modify value
debug.error.cannot.evaluate.variables=Cannot evaluate variables
debug.error.cannot.evaluate.expression0=Cannot evaluate expression ''{0}''
debug.error.cannot.evaluate.expression=Cannot evaluate expression
debug.process.cannot.find.file.in.project=Cannot find a file with path ''{0}'' in project
debug.process.cannot.find.server.name=Can''t find a source position. Server with name ''{0}'' doesn''t exist.
debug.process.status.disconnected=Disconnected
debug.process.status.wait=Waiting for incoming connection with {0} ''{1}''
debug.process.status.connected=Connected
debug.process.console.error.format={0}: {1} in {2} on line {3}\n
debug.mapping.resolve.dialog.stop.debugger=Stop debugger
debug.zend.error.title.cannot.accept.external.xdebug.connection=Cannot accept external Xdebug connection
debug.zend.required.protocol.version.0.or.higher=Required protocol version is ''{0}'' or higher
debug.error.title.cannot.accept.external.0.connection=Cannot accept external {0} connection
debug.zend.cannot.accept.incoming.connection=Cannot accept incoming connection from Zend Debugger
debug.zend.debugger.settings.broadcasting=Zend Debugger Settings Broadcasting
debug.zend.debugger=Zend Debugger
debug.xdebug=Xdebug
debug.process.cannot.find.local.file=Cannot find a local copy of the file on server {0}\nLocal path is {1}
debug.process.cannot.find.path.mapping=Remote file path ''{0}'' is not mapped to any file path in project
debug.process.script.outside.project=The script ''{0}'' is outside the project.\n
debug.process.cant.compute.source.position=Can''t compute source position. The script ''{0}'' isn''t associated with any text file type.
debug.edit.path.mappings=Click to set up path mappings
debug.configure.servers=Configure servers
debug.settings.broadcasting.port=Settings broadcasting port:
debug.debug.port=Debug port:
debug.error=error
debug.process.cannot.find.remote.copy.local.file=File path in project ''{0}'' is not mapped to any file path on server
debug.cannot.map.local.file=File path is not mapped to any file path on server. Edit path mappings to fix the problem.
debug.resolve.mapping.problem=Resolve Path Mapping Problem
debug.cannot.start.listening.for.connections.from.0=Can''t start listening for connections from ''{0}''
debug.cannot.start=Cannot start ''{0}''
debug.stop.listen.debug.connections=Stop Listen for PHP Debug Connections
debug.start.listen.debug.connections=Start Listen for PHP Debug Connections
debug.log.stop=Stop at (''{0}'':{1})
debug.log.path.mapping.remote.local=remote: ''{0}'' <-> local: ''{1}''
debug.log.path.mapping.remote.extracted=remote: ''{0}'' <-> extracted: ''{1}''
debug.log.connection.was.terminated=Debug connection was terminated unexpectedly on ''{0}'':''{1}''
debug.log.cant.register.breakpoint.no.remote=Can't register breakpoint. No path mapping for local path ''{0}''
debug.log.exception.break=Exception break: {0} ({1})
debug.validation.connection.was.not.established=Debug connection with {0} was not established
debug.file.is.ignored=File ''{0}'' is skipped.
debug.edit.ignored.paths.list=<a href="#a">Edit</a> skipped paths.
debug.composite.value.presentation=[{0}]
debug.error.unknown.debugger.id=Unknown debugger id
debug.type.array=array
debug.type.resource=resource
debug.xdebug.error.unsupported.protocol.version=Unsupported Xdebug protocol version
debug.php.line.breakpoint.title=PHP Line Breakpoints
debug.php.exception.breakpoint.title=PHP Exception Breakpoints
debug.php.exception.breakpoint.not.supported=Exception Breakpoints are not supported with loaded debug extension
debug.php.exception.breakpoint.zend.not.supported=Exception Breakpoints are not supported with Zend Debugger
debug.php.exception.breakpoint.dialog.title=Add Exception Breakpoint
debug.php.exception.breakpoint.exception.name=Exception name:

debug.process.smart.step.into.popup=Step Into Function
debug.process.smart.step.into.function.evaluation.error =Can't evaluate target function. Step Into will be performed.
debug.process.smart.step.into.function.was.not.executed=Selected function has not been called.

dbgp.proxy=Xdebug proxy
dbgp.proxy.port=proxy port
dbgp.proxy.host=proxy host
dbgp.proxy.ide.key=ide key
dbgp.proxy.ide.register.success=IDE successfully registered with ide key ''{0}''
dbgp.proxy.ide.unregister.success=IDE successfully unregistered
dbgp.proxy.ide.register.error=Cannot register IDE with ide key ''{0}''
dbgp.proxy.cannot.connect.to.host=Cannot connect to host ''{0}''
dbgp.proxy.cannot.connect.to.xdebug.proxy=Cannot connect to xdebug proxy on ''{0}:{1}''
dbgp.proxy.sending.request.to.xdebug.proxy=Sending request to Xdebug proxy...

XdebugAnalyzeProfilerSnapshotAction.title=Analyze Xdebug Profiler Snapshot...
profiler.xdebug.task.title=Analyze Xdebug profiler snapshot
profiler.xdebug.task.parsing=Parsing ''{0}''
profiler.xdebug.file.chooser.title=Select Xdebug profiler snapshot

profiler.view.execution.statistics.title=Execution Statistics
profiler.view.call.tree.title=Call Tree
profiler.view.callees.title=Callees
profiler.view.callers.title=Callers
profiler.column.time.title=Time
profiler.column.own.time.title=Own Time
profiler.column.invocation.count.title=Calls
profiler.column.invocation.callable=Callable
profiler.column.script=Script

profiler.measurement.unit.second=second
profiler.measurement.unit.second.short=s
profiler.measurement.unit.millisecond=millisecond
profiler.measurement.unit.millisecond.short=ms
profiler.measurement.unit.microsecond=microsecond
profiler.measurement.unit.microsecond.short=\u00B5s

#phpunit
php.uml.provider.presentable.name=PHP Class Diagrams

#UI

#run configurations -> components -> command line
PhpCommandLineConfigurationEditor.interpreter.options.editor.dialog.caption=Interpreter Options
PhpCommandLineConfigurationEditor.command.line=Command Line
PhpCommandLineConfigurationEditor.field.interpreter.options=Interpreter options:
PhpCommandLineConfigurationEditor.field.custom.working.directory=Custom working directory:
PhpCommandLineConfigurationEditor.field.environment.variables=Environment variables:

#run configurations -> components -> test runner
PhpUnitTestRunnerConfigurationEditor.test.runner=Test Runner
PhpUnitTestRunnerConfigurationEditor.scope=Test scope:
PhpUnitTestRunnerConfigurationEditor.scope.directory=Directory
PhpUnitTestRunnerConfigurationEditor.scope.class=Class
PhpUnitTestRunnerConfigurationEditor.scope.method=Method
PhpUnitTestRunnerConfigurationEditor.scope.xml=Defined in the configuration file
PhpUnitTestRunnerConfigurationEditor.field.directory=Directory:
PhpUnitTestRunnerConfigurationEditor.field.method=Method:
PhpUnitTestRunnerConfigurationEditor.field.class=Class:
PhpUnitTestRunnerConfigurationEditor.field.file=File:
PhpUnitTestRunnerConfigurationEditor.use.alt.configuration.file=&Use alternative configuration file:
PhpUnitTestRunnerConfigurationEditor.field.test.runner.options=Test Runner &options:
PhpUnitTestRunnerConfigurationEditor.dialog.caption.test.runner.options=Test Runner Options

#run configurations
PhpScriptRunConfiguration.error.interpreter.not.installed.fix=PHP interpreter is not installed. Press 'Fix' to edit your project configuration.
PhpScripRunConfigurationEditor.file=File:
PhpScripRunConfigurationEditor.arguments=Arguments:
PhpScripRunConfigurationEditor.arguments.caption=Arguments

PhpHttpRequestRunConfiguration.error.fetch.result=Response body is not available

RunConfigurationEditor.configuration=Configuration
RunConfigurationEditor.server=&Server:
RunConfigurationEditor.error.server.is.not.selected=Server is not selected
RunConfigurationEditor.error.server.is.not.exist=Server with name ''{0}'' doesn't exists

PhpWebAppRunConfigurationEditor.startUrl=Start &URL:
PhpWebAppRunConfigurationEditor.browser=&Browser:
PhpWebAppRunConfigurationEditor.malformed.start.url=Malformed start URL - {0}

PhpRemoteDebugRunConfigurationEditor.session.id.cannot.be.empty=Ide key(session id) cannot be empty

PhpBuiltInWebServerConfigurationType.display.name=PHP Built-in Web Server
PhpBuiltInWebServerConfigurationType.description=PHP Built-in Web Server

PhpBuiltInWebServerRunConfigurationEditor.title=Server Configuration
PhpBuiltInWebServerRunConfigurationEditor.host=Host:
PhpBuiltInWebServerRunConfigurationEditor.port=Port:
PhpBuiltInWebServerRunConfigurationEditor.document.root=Document root:
PhpBuiltInWebServerRunConfigurationEditor.use.router.script=Use router script:

PhpDebugConfigurable.ignore.external.connections.through.unregistered.server.configurations.label=Ignore external connections through unregistered server configurations
PhpDebugConfigurable.xdebug.force.break.no.path.mapping=Force break at the first line when no path mapping specified
PhpDebugConfigurable.xdebug.force.break.when.outside.project=Force break at the first line when a script is outside the project
PhpDebugConfigurable.values.tooltip.delay.label=Values tooltip delay (ms):
PhpDebugConfigurable.values.tooltip.delay=Values tooltip delay
PhpDebugConfigurable.xdebug.debug.port=Xdebug debug port
PhpDebugConfigurable.zend.debug.port=Zend Debugger debug port
PhpDebugConfigurable.zend.settings.broadcasting.port=Zend Debugger settings broadcasting port
PhpDebugConfigurable.xdebug=Xdebug
PhpDebugConfigurable.zend.debugger=Zend Debugger
PhpDebugConfigurable.safe.evaluation.mode=Safe evaluation mode
PhpDebugConfigurable.external.connections=External connections
PhpDebugConfigurable.local.debug=Local debug
PhpDebugConfigurable.pass.required.configuration.options=Pass required configuration options through command line (still need to enable debug extension manually)

PhpDebugSkippedPathsConfigurable.display.name=Skipped Paths
PhpDebugSkippedPathsConfigurable.notify.about.skipped.files=Notify about skipped files
PhpDebugSkippedPathsConfigurable.column.title=Skipped paths

PhpServerConfigurable.host=Host
PhpServerConfigurable.host.label=&Host
PhpServerConfigurable.port=Port
PhpServerConfigurable.port.label=&Port
PhpServerConfigurable.debugger.label=&Debugger

# remote environment validation
PhpServerConfigurable.remote.environment.validation.button=&Validate remote environment
PhpServerConfigurable.remote.environment.validation.title=Validate Remote Environment
PhpServerConfigurable.remote.environment.validation.choose.server=Please, choose deployment server to validate
PhpServerConfigurable.remote.environment.validation.dialog.button=&Validate
PhpServerConfigurable.remote.environment.validation.deployment.server=&Deployment server:
PhpServerConfigurable.remote.environment.validation.path.to.script=&Local path to create validation script:
PhpServerConfigurable.remote.environment.validation.chose.path.to.script=Select path to validation script
PhpServerConfigurable.remote.environment.validation.chose.path.to.script.description=Select local folder to create validation script
PhpServerConfigurable.remote.environment.validation.invalid.path.to.script=Path to the validation directory is invalid
remote.debug.validation.failed.to.find.deployment.settings=Failed to find deployment settings for the server
remote.debug.validation.failed.to.map.deployment.folder=Please, configure path mapping for the validation directory
remote.debug.validation.uploading.validation.script=Uploading validation script to {0}
remote.debug.validation.failed.to.deploy.validation.script=Failed to deploy validation script to the server
remote.debug.validation.failed.to.fetch.script.result=Failed to fetch validation script result
remote.debug.validation.script.result.is.empty=Fetched validation result is empty
remote.debug.validation.script.result.wrong.format=Fetched validation result has unexpected format
remote.debug.validation.script.result.check=Please, check that file is accessible via web path configured in deployment mappings
remote.debug.validation.failed.to.execute.script=Failed to execute validation script: ''{0}''
remote.debug.validation.configuration.files=Loaded php.ini: {0}
remote.debug.validation.no.configuration.files=No php.ini file was found
remote.debug.validation.no.debugger.extension=No debug extension is loaded
remote.debug.validation.multi.debugger.extension=Both Xdebug and Zend Debugger extensions are loaded
remote.debug.validation.loaded.debugger.extension=Loaded: {0}
remote.debug.validation.wrong.loaded.debugger.extension=Loaded: {0}, but {1} is selected
remote.debug.validation.xdebug.debugger.host=Remote host: {0}
remote.debug.validation.xdebug.zend.extension.load=Xdebug must be loaded by 'zend_extension' instead of 'extension'
remote.debug.validation.xdebug.wrong.port.format=Xdebug port is invalid: ''{0}''
remote.debug.validation.xdebug.wrong.port=Xdebug port (''{0}'') differ from PHP->Debug IDE settings (''{1}'')
remote.debug.validation.xdebug.remote.is.not.enable=Remote debug is not enabled, set 'xdebug.remote_enable=1' to fix it
remote.debug.validation.xdebug.remote.mode.jit=Remote mode 'jit' is enabled (the debug session will be initiated only after an error)
remote.debug.validation.xdebug.remote.mode.req=Remote mode 'req' is enabled (the debug session will be initiated on script start)
remote.debug.validation.xdebug.mode.is.not.supported=Remote mode ''{0}'' is not supported
remote.debug.validation.zend.debugger.host=Remote hosts: {0}
remote.debug.validation.zend.expose.remotely=Property ''expose_remotely'' is set to ''{0}''

PhpPathMappingsConfigurable.use.path.mappings.label=Use path mappings (select if the server is remote or symlinks are used)

PhpMappingSimpleResolveDialog.title=Select local file for the file path on the server

PhpSdkForm.debugger.label=&Debugger
PhpSdkForm.include.paths.label=&Include paths

DBGPProxyConfigurable.display.name=DBGp Proxy
DBGPProxyConfigurable.ide.key=IDE key:
DBGPProxyConfigurable.host=Host:
DBGPProxyConfigurable.port=Port:

PhpIncomingLocalConnectionDialog.file.path=File path:

PhpIncomingConnectionDialog.server.name=Server name:
PhpIncomingConnectionDialog.server.port=Server port:
PhpIncomingConnectionDialog.request.uri=Request uri:
PhpIncomingConnectionDialog.file.path.on.server=File path on server:

PhpInterpreter.php.sdk.type=PHP Interpreter
PhpInterpreter.php.home.path.label=PHP home:
PhpInterpreter.php.debugger.label=Debugger:
PhpInterpreter.php.general.title=General
PhpInterpreterConfigurable.php.version=PHP version: {0}
PhpInterpreterConfigurable.not.installed=Not installed
PhpInterpreterConfigurable.configuration.options.table.empty.text=Set a custom value for any of the configuration directives allowed in php.ini
PhpInterpreterConfigurable.configuration.options.with.empty.name.are.not.allowed=Configuration options with empty name are not allowed
PhpInterpreterConfigurable.configuration.options.dialog.caption=Configuration Options
PhpInterpreterConfigurable.configuration.options.label=Configuration options:
PhpInterpreterConfigurable.configuration.options.table.name=Configuration directive
PhpInterpreterConfigurable.configuration.options.table.value=Value
PhpInterpreterConfigurable.configuration.options.description=These options will be passed using the ''-d'' command line option

# remote sdk
remote.interpreter.configure.title=Configure Remote PHP Interpreter
remote.interpreter.configure.selection.list.title=Select Interpreter Path
remote.interpreter.configure.path.title=Select PHP Interpreter
remote.interpreter.configure.temp.files.path.title=Select Folder for PhpStorm Helpers
remote.interpreter.default.interpreter.path=/usr/bin/php
remote.interpreter.unspecified.interpreter.path=Specify PHP interpreter path
remote.interpreter.unspecified.temp.files.path=Specify path for PhpStorm helpers
remote.interpreter.configure.path.label=PHP interpreter path:
remote.interpreter.configure.temp.files.path.label=PhpStorm helpers path:
remote.interpreter.configure.test.connection=&Test connection...
remote.interpreter.configure.remote.title=Remote

PhpProjectConfigurable.language.level=PHP language level:
PhpProjectConfigurable.interpreter=Interpreter:
PhpProjectConfigurable.0.interpreter.include.path=''{0}'' interpreter include path
PhpProjectConfigurable.specify.other=Specify Other...
PhpProjectConfigurable.all=All
PhpProjectConfigurable.provide.include.path=Provide include path

PhpUnitConfigurable.display.name=PHPUnit
PhpUnitConfigurableForm.phpunit.library=PHPUnit library
PhpUnitConfigurableForm.use.custom.loader=Use custom loader
PhpUnitConfigurableForm.load.from.include.path=Load from include path
PhpUnitConfigurableForm.use.phpunit.phar=Use phpunit.phar
PhpUnitConfigurableForm.download.phpunit.phar.link.text=Download phpunit.phar from http://phar.phpunit.de/phpunit.phar
PhpUnitConfigurableForm.path.to.script=Path to script:
PhpUnitConfigurableForm.path.to.phpunit.phar=Path to phpunit.phar:
PhpUnitConfigurableForm.test.runner=Test Runner
PhpUnitConfigurableForm.use.configuration.file=Default configuration file:
PhpUnitConfigurableForm.use.bootstrap.file=Default bootstrap file:

php.executable.macro.description=Php executable file configured in project settings
inspection.undefined.class.dont.report.multiresolve=Don't report multiple class declaration potential problems

configure.php.include.paths=C&onfigure PHP Include Paths...

interpreter=Interpreter

XdebugShowValuesAddressesToggleAction.text=Show values addresses
PhpDebugHideEmptySuperGlobalsToggleAction.text=Hide empty superglobals variables
PhpDebugBreakAtFirstLineToggleAction.text=Break at first line in PHP scripts

PhpLanguageLevel.5.3.0.presentable.name=5.3
PhpLanguageLevel.5.3.0.short.description=namespaces, closures, etc.
PhpLanguageLevel.5.4.0.presentable.name=5.4
PhpLanguageLevel.5.4.0.short.description=traits, short array syntax, etc.
PhpLanguageLevel.5.5.0.presentable.name=5.5
PhpLanguageLevel.5.5.0.short.description=finally, generators, etc.

PhpLanguageFeature.traits.not.supported=Trait uses are allowed in PHP 5.4 only
PhpLanguageFeature.short.array.syntax.not.supported=Short array syntax is allowed in PHP 5.4 only
PhpLanguageFeature.array.dereferencing.not.supported=Array dereference on call is allowed in PHP 5.4 only
PhpLanguageFeature.class.member.access.on.instantiation.not.supported=Class member access on instantiation is allowed in PHP 5.4 only
PhpLanguageFeature.this.in.closure.not.supported=$this in Closure is allowed in PHP 5.4 only
PhpLanguageFeature.self.in.closure.not.supported=self in Closure is allowed in PHP 5.4 only
PhpLanguageFeature.parent.in.closure.not.supported=parent in Closure is allowed in PHP 5.4 only
PhpLanguageFeature.static.in.closure.not.supported=static in Closure is allowed in PHP 5.4 only
PhpLanguageFeature.binary.literal.not.supported=Binary literals are allowed in PHP 5.4 only
PhpLanguageFeature.literal.in.static.call.not.supported=Literals in static calls are allowed in PHP 5.4 only
PhpLanguageFeature.built.in.web.server=Built-in web server is only available since PHP 5.4
PhpLanguageFeature.var.break.argument.not.supported='break' operator with non-constant operand is no longer supported in PHP 5.4
PhpLanguageFeature.var.break.zero.argument.not.supported='break' operator accepts only positive numbers since PHP 5.4
PhpLanguageFeature.var.continue.not.supported='continue' operator with non-constant operand is no longer supported in PHP 5.4
PhpLanguageFeature.var.continue.zero.not.supported='continue' operator accepts only positive numbers since PHP 5.4
PhpLanguageFeature.call.time.pass.by.reference.not.supported=Call-time pass-by-reference has been removed in PHP 5.4

PhpLanguageFeature.finally.not.supported=Finally clause is allowed in PHP 5.5 only
PhpLanguageFeature.generators.not.supported=Generators are allowed in PHP 5.5 only
PhpLanguageFeature.foreach.list.not.supported=List in foreach is allowed in PHP 5.5 only
PhpLanguageFeature.empty.any.expression.not.supported=Arbitrary expressions in empty are allowed in PHP 5.5 only
PhpLanguageFeature.immediate.dereferencing.not.supported=Immediate dereferencing is allowed in PHP 5.5 only
PhpLanguageFeature.class.name.const.not.supported=Class name constant is available in PHP 5.5 only


#UML
error.cant.create.edge=Cannot Create Relationship Link
relationship.already.exists=Realtionship between {0} and {1} already exists
final.class.cant.be.inherited=Class {0} is final
node.is.interface=Interface can only extend an interface
inspection.undefined.member.downgrade=&Downgrade severity if __magic methods are present in class

#Phar
phar.include.into.project.action.title=Include phar into project
phar.exclude.from.project.action.title=Exclude phar from project
phar.exclude.or.include.into.project.action.title=Include or exclude phar from project
phar.failed.to.parse=Failed to parse

#Composer

framework.composer.name.composer=Composer
framework.composer.path.dialog.path.to.composer=Path to Composer
framework.composer.path.dialog.path.to.composer.json=Path to composer.json
framework.composer.path.dialog.specify.composer.phar=Specify Composer phar:
framework.composer.path.dialog.specify.composer.json=Specify composer.json:
framework.composer.configurable.title=Composer
framework.composer.init.dialog.title.composer.settings=Composer Settings
framework.composer.path.form.path.label=&Path to composer.phar:
framework.composer.path.form.download.label=Click here to download from getcomposer.org
framework.composer.comment.old.config.command.title=Initialize composer.json
framework.composer.file.0.is.not.found=File ''{0}'' is not found.

framework.composer.add.dependency.task.title=Adding dependency
framework.composer.add.dependency.install.button=Install
framework.composer.add.dependency.update.button=Update
framework.composer.add.dependency.close.button=&Close
framework.composer.failed.to.0.1.version.2=Failed to {0} {1}, version {2}.
framework.composer.failed.to.0.1.version.2.script.was.cancelled=Failed to {0} {1}, version {2}. Script was cancelled.
framework.composer.add.dependency.show.output=Show output
framework.composer.add.dependency.hide.tooltip=Hide
framework.composer.add.dependency.successfully.installed.0.version.1=Successfully installed {0}, version {1}.
framework.composer.add.dependency.running=Running
framework.composer.add.composer.dependency.title=Add Composer Dependency
framework.composer.failed.to.connect.to.0.1.please.check.your.internet.connection=Failed to connect to {0}: {1} Please check your internet connection.
framework.composer.failed.to.download.from.0=Failed to download from {0}
frameworks.composer.could.not.get.packages.info.0=Could not get packages info. {0}
framework.composer.package.description.title=Description
framework.composer.label.version.to.install=&Version to install\:
framework.composer.empty.package.name.in.0=Empty package name in {0}
framework.composer.no.package.versions.in.0=No package versions in {0}
framework.composer.expected.name.0.versions.0.description.got.1=Expected <name> {0} <versions> {0} <description>, got {1}
framework.composer.add.dependency.available.packages.label=Available packages
framework.composer.package.default.version=<default>
framework.composer.add.dependency.no.package.selected=No package selected
framework.composer.path.form.empty.path.to.composer.phar=Empty path to composer.phar
framework.composer.project.generator.name=Composer Project
framework.composer.project.generator.description=Create project by Composer command.
framework.composer.failed.to.download.composer.phar=Failed to download composer.phar
framework.composer.project.generator.failed.to.copy.temp.directory.0.content.to.project.root=Failed to copy temp directory ''{0}'' content to project root
framework.composer.project.generation.error.title=Failed to create Composer project
framework.composer=Composer
framework.composer.failed.to.run.create.project.command.more=Failed to run 'create-project' command. <a href=\\"\\">More...</a>
framework.composer.create.project.progress.title=Creating project
framework.composer.create.project.from=create project from
framework.composer.install.action.name=install
framework.composer.path.validation.0.is.a.directory={0} is a directory
framework.composer.command.create.project.was.cancelled.check.its.output=Command 'create-project' was cancelled. <a href\=\\"\\">Check</a> its output.
framework.composer.path.form.empty.path.to.composer.json=Empty path to composer.json
framework.composer.vendors.library.name=Composer Vendors
framework.composer.selected.file.is.not.composer.json=Selected file is not composer.json
framework.composer.notification.title.init.composer=Init Composer
framework.composer.file.0.set.as.composer.config.change.setting.a.href.here.a=File ''{0}'' set as Composer config. Change setting <a href\=\\"\\">here</a>.
framework.composer.failed.to.parse.package.names=Failed to parse package names.
framework.composer.failed.to.parse.package.description=Failed to parse package description.
framework.composer.add.dependency.no.version.selected=No version selected
framework.composer.no.description.available=No description available.
framework.composer.packages.were.moved.to.0.php.include.paths.popup=Composer packages were moved from Composer External Libraries to <a href\=\\"{0}\\">PHP include paths</a>.
framework.composer.packages.were.changed.0.excluded.folders.popup=Composer packages were changed, so <a href\={0}>excluded folders</a> were updated.
framework.composer.packages.were.changed.0.php.include.paths.popup=Composer packages were changed, so <a href\={0}>PHP include paths</a> were updated.
framework.composer.packages.were.removed.0.excluded.folders.popup=Composer packages were removed from <a href\={0}>excluded folders</a>.
framework.composer.packages.were.removed.0.php.include.paths.popup=Composer packages were removed from <a href\={0}>PHP include paths</a>.
framework.composer.packages.were.added.0.excluded.folders.popup=Composer packages were added to <a href\={0}>excluded folders</a>.
framework.composer.packages.were.added.0.php.include.paths.popup=Composer packages were added to <a href\={0}>PHP include paths</a>.
framework.composer.failed.to.0.1.script.was.cancelled=Failed to {0} {1}. Script was cancelled.
framework.composer.add.dependency.successfully.updated.0=Successfully updated {0}.
framework.composer.updating.package.task.title=Updating package
framework.composer.update.action.name=update
framework.composer.label.installed.version=Installed version\:

php.interpreter.not.configured.title=PHP Interpreter is not configured
php.interpreter.not.configured=Please <a href="">configure PHP Interpreter</a> to use built-in web server

php.cgi.not.found.title={0} not found
php.cgi.not.found=Please ensure that <a href="">configured PHP Interpreter</a> built as CGI program (--enable-fastcgi was specified)
inspection.missing.doc.comment.check.functions.without.params.and.return=Skip if empty
inspection.missing.doc.comment.options.panel.skip.empty.function.tooltip=Skip if does not contain parameters and/or return values
error.malformed.url=Malformed url: {0}
error.please.specify.path.to.web.browser=Please specify a path to web browser in {0} | Web Browsers
title.browser.not.found=Browser Not Found
browser.error=Browser Error
error.0.browser.path.not.specified={0} browser path is not specified.

chooser.title.select.profiles.ini.file=Select \"profiles.ini\" File
label.text.path.to.profiles.ini=Path to \"profiles.ini\":
label.text.profile=&Profile:
button.text.settings=Settings...
display.name.firefox.settings=Firefox Settings

browsers.explorer=Internet Explorer
browsers.safari=Safari
browsers.opera=Opera
browsers.firefox=Firefox
browsers.chrome=Chrome

action.sort.alphabetically=Sort Alphabetically
button.finish=&Finish
button.ok=&OK
button.wizard.previous=&Previous
button.wizard.next=&Next
title.system.error=System Error
title.select.path.to.browser=Select Path to Browser
title.general=General
editbox.default.encoding.for.properties.files=Default encoding for properties files:
checkbox.transparent.native.to.ascii.conversion=Transparent native-to-ascii conversion
checkbox.autodetect.utf=Autodetect UTF-encoded files
group.http.proxy=HTTP Proxy
group.web.browser=Web Browser
group.general.options=General Options
editbox.ignore.files.and.folders=Ignore files and folders
checkbox.confirm.application.exit=Confirm application exit
label.inactive.timeout.sec= sec.
search.in.the.background=Search in the background
checkbox.save.files.automatically=Save files automatically if application is idle for
checkbox.save.files.on.frame.deactivation=Save files on frame deactivation
checkbox.synchronize.files.on.frame.activation=Synchronize files on frame activation
checkbox.reopen.last.project.on.startup=Reopen last project on startup
treenode.loading= loading...
action.clear.list=_Clear List
action.descriptor.action=Action: {0}
action.descriptor.typing=Typing: "{0}"
action.descriptor.keystroke=Keystroke: "{0}"
title.edit.macros=Edit Macros
macro.noname=<noname>
message.macro.exists=There is already a macro called ''{0}''. Overwrite it?
title.macro.name.already.used=Macro Name Already Used
title.macros=Macros
prompt.enter.new.name=Enter New Name
title.rename.macro=Rename Macro
button.delete=Delete
button.rename=Rename
button.remove.action=Remove Action
action.stop.macro.recording=Stop _Macro Recording
action.start.macro.recording=Start _Macro Recording
prompt.enter.macro.name=Enter macro name. Leave blank if macro is temporary.
title.enter.macro.name=Enter Macro Name
select.in.aspects=Aspects
action.flatten.packages=Flatten Packages
button.go.to=&Go to
button.remove=&Remove
button.remove.all=Remove &All
button.move.up=Move &Up
button.move.down=Move &Down
column.description=Description
bookmark.file.X.line.Y={0}, line {1}
button.view.source=&View Source
action.bookmark.toggle=Toggle _Bookmark
action.bookmark.toggle.mnemonic=Toggle Bookmark with Mnemonic
action.bookmark.delete=Delete Bookmark
action.bookmark.edit.description=Edit Description
action.bookmark.edit.description.description=Assign short description for the bookmark to be shown along the file name
action.bookmark.edit.description.dialog.message=Enter short bookmark description
action.bookmark.edit.description.dialog.title=Bookmark Description
progress.deleting=Deleting
select.in.commander=Commander
errortree.information=Information:
errortree.error=Error:
errortree.warning=Warning:
errortree.note=Note:
action.hide.warnings=Hide warnings
action.next.message=Next Message
action.previous.message=Previous Message
action.stop=Stop
errortree.prefix.line=line ({0})
checkbox.errortree.export.details=Details

# Favorites
action.add.all.open.tabs.to.new.favorites.list=Add All Open Tabs To New Favorites List
action.add.to.new.favorites.list=Add To _New Favorites List
prompt.input.new.favorites.list.name=Input new favorites list name
title.add.new.favorites.list=Add New Favorites List
error.favorites.list.already.exists=Favorites list with name ''{0}'' already exists
title.unable.to.add.favorites.list=Unable To Add Favorites List
favorites.list.unnamed=Unnamed{0}
action.remove.from.current.favorites=Remove From Current Favorites
favorites.empty.screen=There is nothing to display. To add item to favorites list use: Main Menu -> View -> Add To Favorites
action.abbreviate.qualified.package.names=Abbreviate Qualified Package Names
action.hide.empty.middle.packages=Hide Empty Middle Packages
action.show.hide.empty.middle.packages=Show/Hide Empty Middle Packages
action.compact.empty.middle.packages=Compact Empty Middle Packages
action.show.compact.empty.middle.packages=Show/Compact Empty Middle Packages
action.show.members=Show Members
action.show.hide.members=Show/Hide Members
action.delete.favorites.list=Delete Favorites List ''{0}''
action.delete.all.favorites.lists.but.this=Delete All User-Defined Lists Except ''{0}''
select.in.favorites=Favorites
action.send.to.new.favorites.list=Send To New Favorites List
action.rename.favorites.list=Rename favorites list
title.rename.favorites.list=Rename
prompt.input.favorites.list.new.name=Rename favorite list ''{0}'' to:

# File Templates
command.create.class.from.template=Create Class From Template
command.create.file.from.template=Create File From Template
error.parsing.file.template=Error parsing file template: {0}
title.velocity.error=Velocity Error
action.from.file.template=From File Template ...
action.edit.file.templates=Edit File Templates...
error.unable.to.parse.template.message=Unable to parse template "{0}"\nError message: {1}
error.invalid.template.file.name.or.extension=Invalid template file name or extension
title.cannot.create.class=Cannot Create Class
title.cannot.create.file=Cannot Create File
title.new.from.template=New {0}
error.please.enter.a.file.name=Please enter a file name
label.file.name=File name:
title.select.template=Select Template
label.name=Name:
label.extension=Extension:
title.file.templates=File and Code Templates
checkbox.reformat.according.to.style=Reformat according to style
label.description=Description
item.file.templates=File templates
tab.filetemplates.templates=Templates
tab.filetemplates.includes=Includes
tab.filetemplates.code=Code
tab.filetemplates.j2ee=Java EE
error.please.specify.template.name=Please specify template name
title.cannot.save.current.template=Cannot save current template
error.please.specify.template.extension=Please specify template extension
action.create.template=Create Template
action.copy.template=Copy Template
action.reset.to.default=Reset To Default
action.remove.template=Remove Template
template.unnamed=Unnamed
template.copy.N.of.T=Copy{0} of {1}
prompt.reset.to.original.template=Reset to original template?
title.reset.template=Reset Template
error.unable.to.save.file.template.using.encoding=Unable to save File Template \"{0}\" using {1}
template.default.class.comment=/*\n * Created by {0}.\n * User: $USER$\n * Date: $DATE$\n * Time: $TIME$\n */\n

# Hierarchy View
action.browse.call.hierarchy=Browse Call Hierarchy
action.browse.method.hierarchy=Browse Method Hierarchy
action.browse.type.hierarchy=Browse Type Hierarchy
action.base.on.this.method=Base on This Method
label.scope=Scope:
hierarchy.scope.project=Production
hierarchy.scope.all=All
hierarchy.scope.this.class=This Class
action.refresh=Refresh
action.callee.methods.hierarchy=Callee Methods Hierarchy
action.caller.methods.hierarchy=Caller Methods Hierarchy
node.hierarchy.invalid=[Invalid]
node.call.hierarchy.N.usages=  ({0} usages)
node.call.hierarchy.unknown.jsp=unknown jsp
title.hierarchy.callees.of=Callees Of {0}
title.hierarchy.callers.of=Callers Of {0}
action.implement.method=Implement Method
action.implement.methods=Implement Methods
action.hide.non.implementations=Hide classes where the method is legally not implemented
hierarchy.legend.method.is.defined.in.class=method is defined in the class
hierarchy.legend.method.defined.in.superclass=method is not defined in the class but defined in superclass
hierarchy.legend.method.should.be.defined=method should be defined since the class is not abstract
action.override.method=Override Method
action.override.methods=Override Methods
title.hierarchy.method=Method {0}
title.hierarchy.subtypes=Subtypes of {0}
node.hierarchy.java.lang.object=All classes are derived from java.lang.Object
title.hierarchy.supertypes=Supertypes of {0}
action.base.on.this.interface=Base on This Interface
action.base.on.this.class=Base on This Class
progress.deleting.class=Deleting class {0}
title.hierarchy.class=Class {0}
action.view.class.hierarchy=Class Hierarchy
action.description.view.class.hierarchy=Switch to Class Hierarchy
action.view.subtypes.hierarchy=Subtypes Hierarchy
action.description.view.subtypes.hierarchy=Switch to Subtypes Hierarchy
action.view.supertypes.hierarchy=Supertypes Hierarchy
action.description.view.supertypes.hierarchy=Switch to Supertypes Hierarchy
filetype.description.archive.files=Archive files
filetype.description.dtd=XML Document Type Definition
filetype.description.gui.designer.form=GUI Designer forms
filetype.description.html=HTML files
filetype.description.class=Java class files
filetype.description.java=Java source files
filetype.description.jspx=JSPx files
filetype.description.idea.module=Idea Module
filetype.description.jsp=Java Server Page files
filetype.description.idea.project=Idea Project
filetype.description.unknown=UNKNOWN
filetype.description.idea.workspace=Idea Workspace
filetype.description.xhtml=XHTML files
filetype.description.xml=XML files
filetype.description.ant=ANT buildfiles
error.name.cannot.be.empty=Name cannot be empty
editbox.customfiletype.line.comment=Line comment:
editbox.customfiletype.block.comment.start=Block comment start:
editbox.customfiletype.block.comment.end=Block comment end:
editbox.customfiletype.hex.prefix=Hex prefix:
editbox.customfiletype.number.postfixes=Number postfixes:
listbox.customfiletype.keywords=Keywords
button.add=&Add...
editbox.customfiletype.name=Name:
editbox.customfiletype.description=Description:
group.customfiletype.syntax.highlighting=Syntax Highlighting
checkbox.customfiletype.ignore.case=&Ignore case
checkbox.customfiletype.support.paired.braces=Support paired b&races
checkbox.customfiletype.support.paired.brackets=Support paired bra&ckets
checkbox.customfiletype.support.paired.parens=Support paired &parens
checkbox.customfiletype.support.string.escapes=Support string &escapes
title.add.new.keyword=Add New Keyword
title.edit.keyword=Edit Keyword
editbox.keyword=Keyword:
error.keyword.cannot.be.empty=Keyword cannot be empty
error.keyword.may.not.contain.spaces=Keyword may not contain spaces
action.help=Help
select.in.packages=Packages
select.in.project=Project
select.in.nav.bar = Navigation Bar
error.adding.module.to.project=Error adding module to project: {0}
title.add.module=New Module
prompt.open.project.in.new.frame=<html><body>New projects can either be opened in a new window or replace the project in the existing window.<br>How would you like to open the project?</body></html>
title.new.project=New Project
button.newframe=New &Window
button.existingframe=&This Window
button.yes=_Yes
button.no=_No
error.project.file.does.not.exist=Cannot load {0}. The file does not exist.
error.file.does.not.exist=File {0} does not exist.
title.open.project=Open Project
button.cancel=&Cancel
error.cannot.load.project=Cannot load project: {0}
title.cannot.load.project=Cannot Load Project
error.project.file.is.corrupted=Project file is corrupted

title.cannot.convert.project=Cannot Convert Project
dialog.title.convert.project=Convert Project
conversion.dialog.text.1=The project ''{0}'' has an older format and will be converted. You may not be able to open the project with earlier versions of {1}.
conversion.dialog.text.2=<b> </b><a href=\"details\">Details...</a><br/><br/>Old versions of project files will be saved to: ''{0}''
message.text.unlock.read.only.files=<html><body>The following files are read only. {0} will unlock them.<br>{1}</body></html>
error.message.cannot.make.files.writable=Cannot make the following files writable:\n{0}
error.cannot.convert.project=Cannot convert project: {0}
message.files.doesn.t.exists.0.so.the.corresponding.modules.won.t.be.converted.do.you.want.to.continue=<html><body>The following files don''t exists: <br>\
  {0}The corresponding modules won''t be converted. Do you want to continue?</body></html>

select.in.project.settings=Project Structure
select.in.file.structure=File Structure
message.nothing.to.show.in.structure.view=Nothing to show in the Structure View
error.license.collision=This license is being used elsewhere on the network by {0}.\nOnly one active computer at a time can use the license.\nWould you like to re-activate this computer?\nClick Yes to re-activate, or No to shutdown {1}.
title.license.collision.detected=License Collision Detected
message.licensed.to=Licensed to {0}
title.enter.license.data=Enter {0} License
message.purchase.or.upgrade=For information on how to upgrade your evaluation software please go to {0}
message.expiration.date=Expiration date: {0}
message.educational.license=1-Year Educational License. {0}
message.open.source.project.license=Open Source Project License. {0}
message.non.commercial.use.only=Non-commercial use only
message.personal.license=Personal License

about.box.build.number=Build #{0}
about.box.build.date=, built on {0}
about.box.jre=JRE: {0} {1}
about.box.vm=JVM: {0} by {1}
about.box.maintenance.due=Entitled for free updates and upgrades until {0,date,MMMM dd, yyyy}

title.warning=Warning
message.upgrade.from.previous.required=Your license is not valid for use with this version of {0}. <br/> For information on how to upgrade your license please go to {1} <br/> You can also opt for a free time-limited evaluation.
title.upgrade.needed=License Upgrade Needed
message.evaluation.has.expired=Your {0} evaluation has expired. Your session will be limited to 30 minutes.<br>{1}
title.evaluation.license.expired=Evaluation License Expired
message.evaluation.license.expired=Your evaluation license has expired. {0} will now exit.
message.license.expired=Your license has expired
title.license.expired=License Expired
message.license.is.corrupt=License is corrupt
title.license.corrupt=License Corrupt
message.invalid.license.data=Invalid license data. Please, try again.
title.invalid.license.data=Invalid License Data
title.product.evaluation={0} Evaluation
message.evaluation.N.days={0} days
message.evaluation.one.day=1 day
message.evaluation.less.than.one.day=less than 1 day
message.evaluation.will.expire=Thank you for evaluating {0}.<br>Your evaluation license expires in {1}<br><br>{2}
title.license.will.expire={0} License Expires Soon
message.license.will.expire=Your {0} license expires in {1}.
error.saving.license.data=Error saving license data.\n{0}
title.unable.to.save.data=Unable to Save Data
link.click.here.to.license.server.info=More info
link.purchase.commercial.license=To purchase a commercial license, please visit
license.panel.expirable.license.description=The license will expire on {0,date,MMMM dd, yyyy}
license.panel.maintenance.aware.license.description=Entitled for free updates and upgrades until {0,date,MMMM dd, yyyy}
license.panel.perpetual.license.description=Valid for {0} version {1}
license.panel.current.permanent.ticket.description=Permanent ticket obtained
license.panel.current.floating.ticket.description=Floating ticket obtained
license.panel.buildit.evaluation.expires.in.one=1 day left
license.panel.buildit.evaluation.expires.in.many={0} days left
license.panel.discover.license.server.error.message=Unable to discover license server url
license.panel.ping.license.server.error.message=No response from autodetected license server {0}
license.panel.ping.license.server.error.title=No response from server
license.panel.default.server.discover=Discover
editbox.license.user.name=User name:
editbox.license.license.key=License key:
radio.license.server.address=Enter license &server address
radio.license.data=Enter license &data
radio.evaluate=&Evaluate for free for {0} days
radio.default.license.server=&Default License Server
action.activate.tool.window=Activate {0} window
editbox.export.settings.to=Export settings to:
title.export.file.location=Export File Location
prompt.choose.export.settings.file.path=Choose export file path or directory where to create new file
command.close.all.editors=Close All Editors
action.close.all.editors.in.tab.group=Close _All In Group
action.close.all.editors=Close _All
command.close.all.unmodified.editors=Close All Unmodified Editors
action.close.all.unmodified.editors.in.tab.group=Close _Unmodified In Group
action.close.all.unmodified.editors=Close _Unmodified
action.close.all.unpinned.editors.in.tab.group=Close All but Pinned In Group
action.close.all.unpinned.editors=Close All but Pinned
action.copy.path=C_opy Path
action.copy.paths=C_opy Paths
message.reference.to.fqn.has.been.copied=Reference to ''{0}'' has been copied.
command.pasting.reference=Pasting reference
action.create.annotation.type=Create @interface
prompt.enter.annotation.type.name=Enter a new @interface name:
title.new.annotation.type=New @interface
title.cannot.create.annotation.type=Cannot Create @interface
action.create.new.class=Create New Class
action.create.new.class.description=Create new Java class
action.create.new.package-info.title=package-info.java
error.package.already.contains.package-info='package-info.java' already exists for package ''{0}''
error.package.already.contains.package.html=Package ''{0}'' already has a 'package.html' file. Create 'package-info.java' anyway?
error.package.html.found.title=Found 'package.html'
button.create=&Create
action.create.new.package-info.description=Create new package-info.java
prompt.enter.new.class.name=Enter a new class name:
title.new.class=New Class
progress.creating.class=Creating class {0}
command.close.active.editor=Close Active Editor
action.close=_Close
action.create.new.directory.or.package=Create new directory or package
prompt.enter.new.directory.name=Enter new directory name:
prompt.enter.new.package.name=Enter new package name:
title.new.directory=New Directory
title.new.package=New Package
action.package=Package
action.directory=Directory
error.name.should.be.specified=A name should be specified
progress.creating.directory=Creating directory {0}{1}{2}
progress.creating.package=Creating package {0}.{1}
command.create.directory=Create directory
command.create.package=Create package
action.create.new.enum=Create New Enum
title.new.enum=New Enum
title.cannot.create.enum=Cannot Create Enum
command.create.enum=Create enum
action.create.new.file=Create New File
action.create.new.file.description=Create new file
prompt.enter.new.file.name=Enter a new file name:
title.new.file=New File
progress.creating.file=Creating file {0}{1}{2}
command.create.file=Create file
action.create.new.interface=Create New Interface
prompt.enter.new.interface.name=Enter a new interface name:
title.new.interface=New Interface
title.cannot.create.interface=Cannot Create Interface
progress.creating.interface=Creating interface {0}.{1}
command.create.interface=Create interface
action.delete.ellipsis=_Delete...
action.delete=_Delete
title.select.components.to.export=Export Settings
prompt.please.check.all.components.to.export=Please check the settings to export:
prompt.overwrite.settings.file=Overwrite ''{0}''?
title.file.already.exists=File Already Exists
message.settings.exported.successfully=Your settings have been successfully exported.\nYou can import settings using ''File|Import Settings''.
title.export.successful=Export Complete
error.writing.settings=Error writing settings.\n\n{0}
title.error.writing.file=Error Writing File
message.please.select.element.for.javadoc=Please select the element for which you wish to view the documentation
title.no.element.selected=No Element Selected
command.go.to.line=Go to Line
action.hide.all.windows=Hide All _Windows
action.restore.windows=Restore _Windows
message.settings.imported.successfully=Settings imported successfully. You have to restart {0} to reload the settings.\nShutdown {1}?
message.settings.imported.successfully.restart=Settings imported successfully. You have to restart {0} to reload the settings.\nRestart {1}?
title.restart.needed=Restart Needed
title.import.file.location=Import File Location
prompt.choose.import.file.path=Select the settings file to import or directory where the file is located
error.cannot.find.file=Cannot find file {0}
title.file.not.found=File Not Found
error.file.contains.no.settings.to.import=The file {0} contains no settings to import.\n{1}
title.invalid.file=Invalid File
title.select.components.to.import=Select Components to Import
prompt.check.components.to.import=Please check all components to import:
error.reading.settings.file=Error reading file {0}.\nThere was {1}\n\n{2}
error.reading.settings.file.2=Error reading file {0}.\n\n{1}
title.error.reading.file=Error Reading File
message.please.ensure.correct.settings=Please make sure you have generated the file using 'File|Export Settings' feature.
title.popup.new.element=New
title.popup.new.element.same.place=New in Current Directory
command.go.to.next.split=Go to next split
message.occurrence.N.of.M=Occurrence {0} of {1}
error.files.of.this.type.cannot.be.opened=Files of this type cannot be opened in {0}
title.cannot.open.file=Cannot Open File
filter.all.file.types=All file types
filter.project.files=Project files ({0}) or project directories (.idea)
action.unpin.tab=Unp_in Tab
action.pin.tab=P_in Tab
action.unpin.active.tab=Unp_in Active Tab
action.pin.active.tab=P_in Active Tab
command.go.to.prev.split=Go to previous split
prompt.reload.file.from.disk=Reload \"{0}\" from disk and lose all changes?
title.reload.file=Reload File
command.reload.from.disk=Reload from Disk
command.find.next=Find Next
command.find.previous=Find Previous
command.select.all=Select All
message.no.targets.available=No targets available in this context
title.popup.select.target=Select Target
title.popup.recent.files=Recent Files
action.split.vertically=Split _Vertically
action.split.horizontally=Split Hori_zontally
action.sync.completed.successfully={0} completed successfully.
action.synchronize.file=Synchronize ''{0}''
action.synchronize.selected.files=Synchronize selected files
action.toolwindow.commander=&Commander
action.toolwindow.messages=&Messages
action.toolwindow.project=&Project
action.toolwindow.structure=&Structure
action.toolwindow.ant.build=Ant &Build
action.toolwindow.debug=Debug
action.toolwindow.run=&Run
action.toolwindow.find=F&ind
action.toolwindow.cvs=C&VS
action.toolwindow.hierarchy=Hierarch&y
action.toolwindow.todo=TODO
action.toolwindow.inspection=I&nspection
action.toolwindow.favorites=Favorites
macro.classpath.entry=Entry in the classpath the element belongs to
macro.project.classpath=Project's classpath
macro.column.number=Column number
exception.missing.data=No data: {0}
macro.class.name=Class name
macro.unix.separators=Takes a parameter and convers separators to '/'. Ex. $UnixSeparators(\\foo\\bar\\)$ == /foo/bar/
macro.file.directory=File directory
macro.file.directory.from.parent=Path to $FileDir$ from parent directory with name passed as a parameter
macro.file.directory.name=File directory name
macro.file.parent.directory=File parent directory. Takes an optional parameter(name) to find the parent directory
macro.file.dir.relative.to.root=File dir relative to the module content root the file belongs to
macro.file.dir.relative.to.root.fwd.slash=File dir relative to the module content root the file belongs to (with forward slashes)
macro.file.dir.relative.to.sourcepath.root=File dir relative to the sourcepath root the file belongs to
macro.file.dir.relative.to.sourcepath.root.fwd.slash=File dir relative to the sourcepath root the file belongs to (with forward slashes)
macro.file.extension=File extension
macro.file.fully.qualified.package=File fully qualified package
macro.file.name=File name
macro.file.name.without.extension=File name without extension
macro.file.name.without.all.extensions=File name without all extensions
macro.file.package=File package
macro.file.path=File path
macro.file.path.relative.to.root=File path relative to the module content root the file belongs to
macro.file.path.relative.to.root.fwd.slash=File path relative to the module content root the file belongs to (with forward slashes)
macro.file.path.relative.to.sourcepath.root=File path relative to the sourcepath root the file belongs to
macro.file.path.relative.to.sourcepath.root.fwd.slash=File path relative to the sourcepath root the file belongs to (with forward slashes)
macro.file.directory.relative=File directory relative to the project file
macro.file.directory.relative.fwd.slash=File directory relative to the project file (with forward slashes)
macro.file.path.relative=File path relative to the project file
macro.file.path.relative.fwd.slash=File path relative to the project file (with forward slashes)
macro.file.encoding=File encoding
macro.javadoc.output.directory=JavaDoc output directory
macro.jdk.path=JDK path
macro.line.number=Line number
button.insert=Insert
label.macros=Macros
label.macro.preview=Macro preview
macro.module.file.directory=The directory of the module file
macro.module.file.path=The path of the module file
macro.module.file.name=The name of the module file without extension
macro.module.source.path=Module source path
macro.output.path=Output path
macro.project.file.directory=The directory of the project file
macro.project.file.path=The path of the project file
macro.project.file.name=The name of the project file without extension
macro.project.source.path=Project source path
macro.prompt=Displays a string input dialog
macro.clipboard.content=The clipboard content
prompt.enter.parameters=Enter parameters:
title.input=Input
macro.prompt.preview=<params>
macro.fileprompt.preview=<filename>
macro.sourcepath.entry=Entry in the sourcepath the element belongs to
macro.project.sourcepath=Project's sourcepath
error.plugins.should.not.have.cyclic.dependencies=Plugins should not have cyclic dependencies:\n
error.plugin.was.not.installed=Plugin {0} was not installed: {1}
title.failed.to.download=Failed to Download
error.plugins.were.not.loaded=Error loading plugins:\n{0}\nPlugins were not loaded.\nCorrect the above error and restart IDEA.
title.plugin.error=Plugin Error
message.duplicate.plugin.id=Duplicate plugin id:
error.required.plugin.not.installed=Plugin "{0}" was not loaded: required plugin "{1}" not installed.
error.required.plugin.disabled=Plugin "{0}" was not loaded: required plugin "{1}" is disabled.
error.plugins.without.id.found=There were plugins without id found, all such plugins were skipped.
error.problems.found.loading.plugins=Problems found loading plugins:\n
column.plugins.name=Name
column.plugins.date=Date
column.plugins.downloads=Downloads
column.plugins.category=Category
column.plugins.rate=Rating
plugin.info.not.available=n/a
plugin.info.unknown=unknown
message.idea.shutdown.required=Shut down {0} to activate changes in plugins?
message.idea.restart.required=Restart {0} to activate changes in plugins?
title.plugins=Plugins
title.plugins.changed=Plugins Changed
plugin.status.not.specified=(not specified)
error.list.of.plugins.was.not.loaded=List of plugins was not loaded: {0}
action.download.and.install.plugin=Download and Install
action.update.plugin=Update Plugin
error.plugin.download.failed=Plugin download failed
prompt.download.and.install.plugin=Would you like to download and install plugin ''{0}''?
prompt.update.plugin=Would you like to update plugin ''{0}''?
prompt.install.several.plugins=Install or update {0} plugins ?
action.uninstall.plugin=Uninstall
prompt.uninstall.plugin=Do you really want to uninstall plugin ''{0}''?
prompt.uninstall.several.plugins=Do you really want to uninstall these {0} plugins ?
title.plugin.uninstall=Plugin Uninstall
progress.downloading.list.of.plugins=Downloading List of Plugins
progress.download.plugins=Download Plugins
button.http.proxy.settings=&HTTP Proxy Settings...
group.vendor=Vendor
plugin.status.installed=Installed
progress.waiting.for.reply.from.plugin.manager=Waiting for reply from {0}
progress.connecting=Connecting...
progress.downloading.plugin=Downloading plugin ''{0}''
error.cannot.create.temp.dir=Unable to create temp directory ''{0}''
error.connection.failed.with.http.code.N=Connection failed with HTTP code {0}
progress.connecting.to.plugin.manager=Connecting to {0}
label.plugin.vendor.email=E-mail:
label.plugin.vendor.name=Name:
label.plugin.vendor.home.page=Home page:
editbox.plugin.description=Description
editbox.plugin.change.notes=Change notes
label.plugin.home.page=Plugin home page
action.move.module.to.this.group=To This Group
action.move.module.outside.any.group=Outside Any Group
message.move.modules.to.group=Move {0} to the Group {1}
message.module=module ''{0}''
message.modules=modules
action.move.module.new.top.level.group=New Top Level Group...
action.move.module.to.new.sub.group=To New Subgroup...
action.description.create.new.module.group=Create New Module Group
prompt.specify.name.of.module.subgroup=Specify name of {0} subgroup the {1} will be shown under.\n\n
title.module.sub.group=Module Subgroup
prompt.specify.module.group.name=Specify group name the {0} will be shown under.\n\n
title.module.group=Module Group
title.packages=Packages
action.show.modules=Show Modules
action.description.show.modules=Show/Hide Modules
action.show.libraries.contents=Show Libraries Contents
action.show.hide.library.contents=Show/Hide Library Contents
action.sort.by.type=Sort by Type
action.show.structure=Show Structure
action.description.show.structure=Show structure view
title.popup.views=Views
title.project=Project
error.module.already.exists=Module named ''{0}'' already exists
title.rename.module=Rename Module
title.rename.library=Rename Library
command.renaming.module=Renaming module {0}
prompt.enter.new.module.name=Enter new module name
prompt.enter.new.library.name=Enter new library name
tooltip.ui.designer.form=UI Designer Form
node.projectview.libraries=Libraries
node.projectview.external.libraries=External Libraries
tooltip.module.group=Module Group
node.projectview.library={0} library
node.projectview.jdk=JDK
progress.indexing=Updating indices...
progress.indexing.scanning=Scanning files to index...
progress.indexing.updating=Indexing...
action.structureview.show.fields=Show Fields
action.structureview.show.inherited=Show Inherited
action.structureview.show.properties=Show Properties
action.structureview.show.non.public=Show non-public
node.structureview.invalid=<invalid>
action.structureview.group.methods.by.defining.type=Group Methods by Defining Type
action.structureview.sort.by.visibility=Sort by Visibility
tab.structureview.jsp.view=JSP
tab.structureview.baselanguage.view={0}
action.next.todo=Next TODO
action.previous.todo=Previous TODO
action.filter.todo.items=Filter TODO Items
action.todo.show.all=Show All
action.description.todo.show.all=Show All TODO Items
action.todo.edit.filters=Edit Filters
action.group.by.modules=Group By Modules
action.group.by.packages=Group By Packages
title.todo.current.file=Current File
progress.looking.for.todos=Looking for TODOs...
column.todo.filter.pattern=Pattern
error.filter.name.should.be.specified=Filter name should be specified
error.filter.with.the.same.name.already.exists=Filter with the same name already exists
error.filter.should.contain.at.least.one.pattern=Filter should contain at least one pattern
label.todo.filter.name=Name:
group.todo.filter.patterns=Patterns
column.todo.filters.name=Name
column.todo.filter.patterns=Patterns
checkbox.case.sensitive=Case Sensitive
checkbox.todo.use.default.colors=Use color scheme TODO default colors
label.todo.pattern=Pattern:
label.todo.icon=Icon:
column.todo.patterns.icon=Icon
column.todo.patterns.case.sensitive=Case Sensitive
column.todo.patterns.pattern=Pattern
title.edit.todo.filter=Edit Filter
title.edit.todo.pattern=Edit Pattern
title.todo=TODO
title.add.todo.pattern=Add Pattern
button.edit=&Edit...
label.todo.filters=Filters
button.add.d=A&dd...
title.add.todo.filter=Add Filter
button.edit.t=Edi&t...
button.remove.m=Re&move
label.todo.patterns=Patterns
text.todo.no.patterns=No patterns configured
text.todo.no.filters=No filters configured
node.todo.group={0} ({1} {1,choice,0#items|1#item|2#items} in {2} {2,choice,0#files|1#file|2#files})
node.todo.summary=Found {0} TODO {0,choice,0#items|1#item|2#items} in {1} {1,choice,0#files|1#file|2#files}
node.todo.no.items.found={0} (no items found)
node.todo.found.items={0} (found {1} {1,choice,1#item|2#items})
node.todo.items={0} ({1} {1, choice, 1#item|2#items})
title.appearance=Appearance
group.window.options=Window Options
checkbox.show.memory.indicator=Show memory indicator
checkbox.show.tool.window.bars=Show tool window bars
checkbox.widescreen.tool.window.layout=Widescreen tool window layout
checkbox.left.toolwindow.layout=Side-by-side layout on the left
checkbox.right.toolwindow.layout=Side-by-side layout on the right
checkbox.show.editor.preview.popup=Show editor preview tooltip
checkbox.show.tool.window.numbers=Show tool window numbers
checkbox.animate.windows=Animate windows
group.transparency=Transparency
checkbox.use.transparent.mode.for.floating.windows=Use transparent mode for floating windows
label.transparency.ratio=Ratio:
label.transparency.delay.ms=Delay (ms):
group.ui.options=UI Options
checkbox.show.icons.in.quick.navigation=Show icons in quick navigation
checkbox.override.default.laf.fonts=Override default fonts by (not recommended):
label.override.laf.font=Font:
label.font.name=Name:
label.font.size=Size:
combobox.look.and.feel=Theme:
checkboox.cyclic.scrolling.in.lists=Cyclic scrolling in list
checkbox.position.cursor.on.default.button=<html>Automatically position mouse cursor on default button</html>
checkbox.use.antialiased.font.in.editor=Use anti-aliased font

# this string must start with "IDEA"
idea.default.look.and.feel=IDEA (4.5 default)
idea.intellij.look.and.feel=IntelliJ
idea.dark.look.and.feel=Darcula
confirm.set.look.and.feel=Change &theme
error.cannot.set.look.and.feel=<html><body>Cannot set {0} theme:<br>{1}</body></html>
warning.problem.laf.1=<html><body>GTK+ theme is known to be problematic on a JDK prior to 1.6 b12.<br>Please choose another theme, or upgrade your JDK. <a href="http://bugs.sun.com/view_bug.do?bug_id=6624717">More info...</a></body></html>
error.adding.action.without.icon.to.toolbar=You are adding an action without icon to the toolbar. The default icon will be added to this action.
title.unable.to.add.action.without.icon.to.toolbar=Unable to add action without icon to the toolbar
error.please.specify.new.name.for.schema=Please, specify new name for scheme ''{0}''.
title.browse.icon=Browse Icon
prompt.browse.icon.for.selected.action=Browse icon for selected action (*.png)
title.choose.action.icon=Choose Action Icon
action.choose.actions.to.add=Choose Actions To Add
button.set.icon=&Set icon
label.icon.path=&Icon Path:
button.edit.action.icon=Edit Action &Icon...
button.add.separator=Add &Separator
button.move.up.u=Move &Up
button.move.down.d=Move &Down
button.add.action.after=Add A&fter...
title.custom.actions.schemas=Menus and toolbars customization
title.customizations=Menus and Toolbars
label.choosebyname.no.matches.found=No matches found
label.choosebyname.searching=Searching...
prompt.gotoclass.enter.class.name=Enter class name:
checkbox.include.non.project.classes=Include &non-&&project classes
label.no.matches.found.in.project=No matches found in project
label.no.matches.found=no matches found
prompt.gotofile.enter.file.name=Enter file name:
prompt.gotoaction.enter.action=Enter action or option name:
checkbox.include.non.project.files=Include &non-&&project files
checkbox.other.included=Include &non-&&menu actions
label.no.non.java.files.found=No matches found in project
label.no.menu.actions.found=No actions in main menu found
label.no.files.found=No files found
label.no.actions.found=No actions found
prompt.gotosymbol.enter.symbol.name=Enter symbol name:
checkbox.include.non.project.symbols=Include &non-&&project symbols
promot.projectwizard.directory.does.not.exist={0}\"{1}\"\ndoes not exist. It will be created by {2}.
title.directory.does.not.exist=Directory Does Not Exist
error.failed.to.create.directory=Failed to create directory \"{0}\"
label.select.compiler.output.path=Select c&ompiler output path:
title.select.compiler.output.path=Select compiler output path
label.project.name=Project n&ame:
label.component.file.location={0} file &location:
label.project.files.location=Project &location:
title.select.project.file.directory=Select {0} file directory
description.select.project.file.directory={0} file will be stored in this directory
label.please.enter.project.name=Please enter a name to create a new {0} {1}.
prompt.please.select.project.jdk=Please select project SDK.\nThis SDK will be used by default by all project modules.
label.project.jdk=Project SDK:
button.configure=&Configure...
prompt.confirm.project.no.jdk=Do you want to create a project with no SDK assigned?\nSDK is required for compiling, debugging and running applications\nas well as for standard SDK classes resolution.
title.no.jdk.specified=No SDK Specified
prompt.please.specify.module.name=Please specify module name
prompt.please.specify.module.name.and.content.root=Please specify module name and module content root.\nA module content root is a directory where the files that belong to the module are stored.
label.module.name=&Module name:
label.module.content.root=Module content &root:
title.select.module.content.root=Select Module Content Root
label.module.file.will.be.saved.in=Module file will be saved in:
button.change.directory=Change Directory...
title.module.name.not.specified=Module Name Not Specified
error.module.with.name.already.exists=Module with name \"{0}\" already exists in the project
title.module.already.exists=Module Already Exists
error.please.specify.module.file.location=Please specify module file location
title.module.file.location.not.specified=Module File Location Not Specified
error.content.root.already.defined.for.module=Content root \"{0}\" already defined for module \"{1}\".\nTwo modules in a project cannot share the same content root.
title.module.content.root.already.exists=Module Content Root Already Exists
directory.module.content.root=The module content root\n
directory.module.file=The module file directory\n
title.select.module.file.location=Select Module File Location
description.select.module.file.location=The module file will be saved in selected directory
radio.create.new.module=&Create new module
radio.import.existing.module=&Import existing module
label.path.to.module.file=Path to {0} module file (.iml):
prompt.select.module.file.to.import=Select {0} module file (.iml) to import
message.module.file.has.an.older.format.do.you.want.to.convert.it=Module file has an older format. Do you want to convert it?
dialog.title.convert.module=Convert Module
error.message.cannot.modify.file.0=Cannot modify file ''{0}''
message.your.module.was.successfully.converted.br.old.version.was.saved.to.0=<html><body>Your module was successfully converted. <br>\
  Old version was saved to ''{0}''</body></html>
label.select.module.type=Module type:
error.please.specify.path.to.module.file=Please specify path to {0} module file (.iml)
title.module.file.path.not.specified=Module File Path Not Specified
error.module.file.does.not.exist=The specified path to module file does not exist
title.module.file.does.not.exist=Module file does not exist: {0}
error.module.not.iml=The \"{0}\"\nis not an {1} module file (.iml)
title.incorrect.file.type=Incorrect File Type
button.stop.searching=&Stop Searching
prompt.please.specify.java.sources.directory=Please specify a directory where source files for your project can be found.\nThis path should correspond to default (root, unnamed, top level) package.\nNote: the program will recognize only those source files, that are located under this directory.
radio.create.source.directory=&Create source directory
prompt.enter.relative.path.to.module.content.root=Enter relative path to module content root  (example: java{0}src):
radio.do.not.create.source.directory=&Do not create source directory
label.source.directory=The following directory will be marked as a source directory:
label.java.source.files.have.been.found=Source files for your module have been found. Please choose directories that will\nbe marked as source paths. These paths correspond to default (root, unnamed, top level) packages.\nNote: the program will recognize only those source files, that are located under source directories.
button.mark.all=&Mark All
button.unmark.all=&Unmark All
prompt.stop.searching.for.sources={0} is currently searching for sources. Would you like to stop the search?
label.project.roots.have.been.found=Source files for your project have been found. Please choose directories that will\nbe added to the project roots. These paths correspond to default (root, unnamed, top level) packages.\nNote: the program will recognize only those source files, that are located under these directories.
label.project.roots.not.found=Source files for your project not found.
title.question=Question
action.continue.searching=Continue Searching
action.stop.searching=Stop Searching
prompt.relative.path.to.sources.empty=Relative path to sources is empty.\nWould you like to mark the module content root\n\"{0}\"\nas a source directory?
title.mark.source.directory=Mark Source Directory
action.mark=Mark
action.do.not.mark=Do Not Mark
error.source.directory.should.be.under.module.content.root.directory=Source directory should be under module content root directory
progress.searching.for.sources=Searching for sources in {0}. Please wait.
prompt.select.source.directory=Select Source Directory
prompt.new.project.file.name=Enter a file name to create a new {0} {1}
prompt.enter.project.file.location=Enter {0} file location
directory.project.file.directory=The {0} file directory\n
prompt.overwrite.project.file=The {1} file \n''{0}''\nalready exists.\nWould you like to overwrite it?
prompt.overwrite.project.folder={0} folder already exists in {1}.\nIts content may be overwritten.\nContinue?
warning.message.the.module.file.0.already.exist.and.will.be.overwritten=The module file ''{0}'' already exist.
warning.text.0.do.you.want.to.overwrite.these.files={0}\nWould you like to overwrite {1,choice,1#it|2#these files}?
title.select.jdk=Select JDK
button.configure.e=Configure...
label.scope.pattern=&Pattern:
action.add=Add
action.remove=Remove
label.scope.editor.caret.position=pos:{0}
button.include=Include
button.include.recursively=Include Recursively
button.exclude=Exclude
button.exclude.recursively=Exclude Recursively
label.scope.contains.files=Scope contains {0} of total {1} files
error.correct.pattern.syntax.errors.first=Correct pattern syntax errors first
action.show.files=Show Files
action.description.show.files=Show/Hide Files
action.group.by.scope.type=Group by Scope Type
action.description.group.by.scope=Group by Scope Type (production, test, libraries)
action.show.included.only=Show Included Only
action.description.show.included.only=Show only files included to the current scope selected
scope.current.file=Current File
scope.selection=Selection
scope.files.in.previous.search.result=Files in Previous Search Result
scope.previous.search.results=Previous Search Results
scope.class.hierarchy=Class Hierarchy
scope.hierarchy=Hierarchy of {0}
scope.modified.files=Changed Files
prompt.choose.base.class.of.the.hierarchy=Choose Base Class of the Hierarchy to Search In
progress.searching= searching...
title.tip.of.the.day=Tip of the Day
action.previous.tip=&Previous Tip
action.next.tip=&Next Tip
error.unable.to.read.tip.of.the.day=<html><body>Unable to read Tip Of The Day ({0}). Make sure {1} is installed properly.</body></html>
label.did.you.know=Did you know ... ?
checkbox.show.tips.on.startup=Show Tips on Startup
error.tips.not.found=Tips not found.  Make sure you installed {0} correctly.
title.go.to.line=Go to Line
editbox.line.number=Line number:
tooltip.syntax.linenumber.columnnumber=Syntax: [<lineNumber>][:<columnNumber>] or [<lineNumber>][,<columnNumber]
error.text.file.already.exists=File {0} already exists\nDo you want overwrite it or to append?
action.overwrite=Overwrite
action.append=Append
error.writing.to.file=Error writing to file: {0}
title.export.preview=Export Preview
button.save=Save
editbox.export.to.file=Export to file:
button.copy=&Copy
description.copy.text.to.clipboard=Copy text to clipboard
checkbox.copy.javadoc=Copy &JavaDoc
checkbox.insert.at.override=Insert @&Override
node.memberchooser.all.classes=All classes
action.select.none=Select &None
action.show.classes=Show Classes
action.expand.all=Expand All
action.collapse.all=Collapse All
checkbox.narrow.down.the.list.on.typing=&Narrow &&down the list on typing
checkbox.narrow.down.on.typing=&Narrow &&down on typing
node.default=<default>
node.default.package=<Default Package>
prompt.enter.a.new.package.name=Enter a new package name:
command.create.new.package=Create new package
action.new.package=New Package...
action.description.create.new.package=Create new package
tab.chooser.project=Project
tab.chooser.search.by.name=Search by Name
prompt.filechooser.enter.file.name=Enter file name:
prompt.create.non.existing.package=Package {0} does not exist.\nDo you want to create it?
title.package.not.found=Package Not Found
command.create.new.subdirectory=Create New Subdirectory
title.choose.destination.directory=Choose Destination Directory
title.delete=Delete
prompt.delete.it.anyway= Delete it anyway?
prompt.directory.contains.read.only.files=Directory {0} contains read-only file(s). Delete it anyway?
warning.delete.all.files.and.subdirectories.in.the.selected.directory=\nAll files and subdirectories in the selected directory(s) will be deleted.\nYou might not be able to fully undo this operation!
warning.delete.all.files.and.subdirectories=\nAll files and subdirectories in \"{0}\" will be deleted.\nYou might not be able to fully undo this operation!
# Components of the prompt to delete elements
prompt.delete.elements=Delete {0}?
search.for.usages.and.delete.elements=Search for usages and delete {0}?
prompt.delete.and=and
prompt.delete.directory={0,choice,1#directory|2#directories}
prompt.delete.file={0,choice,1#file|2#files}
prompt.delete.symlink={0,choice,1#symlink|2#symlinks}
prompt.delete.class={0,choice,1#class|2#classes}
prompt.delete.interface={0,choice,1#interface|2#interfaces}
prompt.delete.method={0,choice,1#method|2#methods}
prompt.delete.field={0,choice,1#field|2#fields}
prompt.delete.package={0,choice,1#package|2#packages}
prompt.delete.directory.paren=({0} {0,choice,1#directory|2#directories})
prompt.delete.property={0,choice,1#property|2#properties}
prompt.delete.type.parameter={0,choice,1#type parameter|2#type parameters}
checkbox.safe.delete.with.usage.search=Sa&fe delete (with usage search)
checkbox.search.in.comments.and.strings=&Search in comments and strings
checkbox.search.in.non.java.files=S&earch for non-code usages
#
label.method=Method {0}
label.overrides.method.of_class_or_interface.name=overrides {0} {1} {2}.
label.implements.method.of_class_or_interface.name=implements {0} {1} {2}.
label.implements.method.of_interfaces=implements methods of the following classes/interfaces:
element.method=method
element.of.interface=of interface
element.of.class=of class
prompt.do.you.want.to.action_verb.the.method.from_class=Do you want {0} the base {1,choice,1#method|2#methods}?

help.topic.not.found.error=Help topic \"{0}\" not found

unscramble.use.unscrambler.checkbox=&Unscramble stacktrace
unscramble.log.path.label=&Log file:
unscramble.unscrambler.combobox=Un&scrambler:
unscramble.stacktrace.caption=Put a stack trace or a complete thread dump here:
unscramble.dialog.title=Analyze Stacktrace
unscramble.no.unscrambler.item=<Do not unscramble>
unscramble.normalize.button=&Normalize
unscramble.unscrambled.stacktrace.tab=<Stacktrace>
unscramble.unscrambled.threaddump.tab=<Threads>
unscramble.unscrambled.deadlock.tab=<Deadlock>

updates.checking.progress=Checking for updates
updates.error.connection.title=Connection Error
updates.error.connection.failed=Connection failed. Please check your network connection and try again.
updates.error.plugin.description.failed=Failed to load plugin descriptions from: \"{0}\"
updates.info.dialog.title=Update Info
updates.channel.name.message=<b>{0}</b>: {1}
updates.channel.key.needed=You can evaluate the new version for {0} days or buy a license key or an upgrade online.
updates.channel.existing.key=The new version can be used with your existing license key.
updates.channel.bundled.key=The new version has an expiration date and does not require a license key.
updates.ready.message={0} is ready to <a href=\"update\">update</a>.
updates.plugins.ready.message=The following plugin{0,choice,1# is|2#s are} ready to <a href=\"update\">update</a>: {1}
updates.no.updates.message=You already have the latest version of {0} installed.
updates.plugins.ready.header=<html><b>Plugins from configured hosts are ready to update.</b><br> \
  Uncheck plugins you do not want to update.</html>
updates.configure.label=To configure automatic update settings, see the <b><a href=\"updates\">Updates</a></b> dialog of your IDE {0}.
updates.timeout.error=Connection timed out
updates.download.and.install.button=&Download Patch and Shutdown
updates.download.and.restart.button=Up&date and Restart
updates.more.info.button=&More Info...
updates.ignore.update.button=&Ignore This Update
updates.remind.later.button=&Remind Me Later
updates.buy.online.button=&Buy Upgrade Online
updates.new.version.available=<b>A new version of {0} is available!</b>
updates.current.version=Current version:
updates.available.version=New version:
updates.patch.label=Patch size:
updates.version.info={0} (build {1})
updates.write.protected={0} does not have write access to {1}. Please run it by a privileged user to update.
updates.settings.title=Updates
updates.last.check.never=Never
updates.settings.caption.1=<html>$FULLNAME$ can automatically check for new and updated versions of itself, \
  using your internet connection (when active).<html>
updates.settings.check.now.button=&Check Now
updates.settings.checkbox=Check for updates in channel
updates.settings.build.number=     Build number:
updates.settings.current.version=Current $FULLNAME$ version\:
updates.settings.last.check=Last checked for updates:

hierarchy.method.next.occurence.name=Go to next method
hierarchy.method.prev.occurence.name=Go to previous method
hierarchy.type.next.occurence.name=Go to next type
hierarchy.type.prev.occurence.name=Go to previous type
hierarchy.call.next.occurence.name=Go to next call
hierarchy.call.prev.occurence.name=Go to previous call

error.file.not.found.message=File ''{0}'' not found
predefined.scope.tests.name=Tests
scope.editor.legend.recursively.included.label=Recursively included
scope.editor.legend.partly.included.label=Partially included
toolwindow.palette=Palette
jar.build.on.make=Build jars on &make
jar.build.modules.to.jar=Choose Modules to Jar
jar.build.module.0.jar.settings=Module ''{0}'' Jar Settings
jar.build.include.in.jar.file=Include in jar file:
search.textfield.title=&Search:
select.in.scope=Scope
scope.view.title=Scopes
select.in.title.project.view=Project View
several.plugins.depend.on.0.continue.to.remove=Several plugins depend on {0}. Continue to remove?
child.tag.0.should.be.defined=''{0}'' child tag should be defined
attribute.0.should.be.defined=''{0}'' attribute should be defined
value.must.not.be.empty=Value must not be empty
value.must.be.identifier=Value must be identifier

model.highlighting.identity={0} with such name already exists
model.highlighting.identity.in.other.file={0} with such name already exists in file ''{1}''
predefined.scope.problems.name=Problems

dom.elements.tree.childs.contain.errors=Children contain errors

team.server.license.not.found=This IDEA distribution is only licensed to be used with JetBrains TeamCity.
unknown.error=Unknown error
value.should.be.integer=Value should be integer

shared.scopes.node.text=Shared Scopes
local.scopes.node.text=Local Scopes
scopes.display.name=Scopes
scopes.no.scoped=No scopes
add.local.scope.action.text=Local
add.shared.scope.action.text=Shared
add.scope.popup.title=Add scope
add.scope.name.label=Name
add.scope.dialog.title=Add New Scope
scope.banner.text=Scope ''{0}''
prompt.please.select.module.jdk=Please select the {0} to be set for this module
scopes.save.dialog.title.shared=Save as shared scope
scopes.save.dialog.title.local=Save as local scope
plugin.version.label=Version
plugin.size.label=Size:
plugin.status.available=Available
detach.library.from.module=Detach library ''{0}'' from module ''{1}''?\nNo file on disk will be hurt.
detach.library=Detach Library
scope.unable.to.save.scope.message=Do you want to save scope as shared?
scope.unable.to.save.scope.title=Unable to use local scope
predefined.scope.production.name=Production
plugin.manager.dependencies.detected.title=Plugin Dependencies Detected
plugin.manager.dependencies.detected.message=The plugin you want to install requires other plugin{0, choice, 1#|2#s} ({1}) which have to be installed as well. Proceed?
plugin.manager.optional.dependencies.detected.message=The plugin you want to install optionally requires other plugin{0, choice, 1#|2#s} ({1}). Should those be installed as well?
message.server.no.licenses=No suitable licenses left on the license server
title.server.no.licenses=No Licenses on Server
message.server.not.available=Unable to contact license server
title.server.not.available=License Server Connection Error
message.server.protocol.hijacked=License Server response haven''t passed data integrity check. Server hijacked?
title.server.protocol.hijacked=Problem with License Server Response

text.not.applicable=<N/A>
error.message.unable.to.create.file=Unable to create file ''{0}''
message.text.error.creating.deployment.descriptor=Error Creating Deployment Item: {0}
message.text.creating.deployment.descriptor=Creating Deployment Descriptor

button.facet.quickfix.text=&Fix

progress.download.0.title=Downloading {0}
progress.download.file.text=Downloading ''{0}'' from ''{1}''...
progress.connecting.to.download.file.text=Connecting to ''{0}''...
progress.locate.file.text=Locating ''{0}''...
progress.downloading.0.files.text=Downloading {0} {0, choice, 1#file|2#files}...
dialog.directory.for.downloaded.files.title=Downloaded files will be copied to selected directory
error.file.download.failed=Failed to download ''{0}'': {1}

maven.repository.presentable.name=Maven repository
label.missed.libraries.prefix=The following libraries are missing:
label.missed.libraries.text=''{0}'' library not found in the module dependencies list
button.fix=Fix\u2026
setup.library.dialog.title=Setup Library
label.library.will.be.created.description.text={0} level library <b>{1}</b> with {2} {2, choice, 1#file|2#files} will be created
new.library.file.chooser.title=New Library Files
new.library.file.chooser.description=Select jar files in which library classes are located

create.default.library.type.action.name=Java
popup.title.select.library.type=Select Library Type

file.chooser.show.path=Show path
file.chooser.hide.path=Hide path
file.chooser.hide.path.tooltip.text=Show/Hide path text field
file.chooser.completion.path.variables.text=Path Variables
file.chooser.completion.no.suggestions=No suggestions
file.chooser.completion.ad.text=Use {0} to keep tail of the path

progress.text.clickToViewProgressWindow=Click to open tasks window
progress.window.title=Background Tasks
progress.window.empty.text=There are no active background tasks

project.import.wizard.title=Import from {0}
project.import.default.name=ImportedFrom{0}
project.import.default.name.dotIdea=Imported From {0}
project.import.select.title=Select {0} projects to import
project.import.show.settings.after=&Open Project Structure after import
project.import.open.existing=There is {0} in ''{1}''.\nDo you want to open the existing project or delete it and import ''{2}''?
project.import.open.existing.openExisting=Open Existing Project
project.import.open.existing.reimport=Delete Existing Project and Import

general.settings=General Settings
code.folding.settings=Code Folding Settings
ui.settings=UI Settings
share.scope.checkbox.title=Share scope
bean.property=Bean Property
plugin.manager.enable.column.title=Enable
plugin.manager.tooltip.warning=Required plugin ''{0}'' is not included
plugin.manager.incompatible.tooltip.warning=Plugin is incompatible with current {0} installation
#new wizard components
project.new.wizard.project.identification=project
project.new.wizard.module.identification=module
changelist.todo.title={0} Changelist
hierarchy.scope.test=Test
update.plugin.host.url.message=Repository URL:
update.no.update.hosts=No plugin repositories configured
update.edit.plugin.host.title=Edit Repository
update.add.new.plugin.host.title=Add Repository
update.plugin.hosts.title=Plugin Repositories
update.uploading.plugin.progress.title=Updating Plugins
update.downloading.patch.progress.title=Downloading Patch file
file.structure.toggle.show.inherited=&Show inherited members
plugin.deleted.status.tooltip=Plugin will be deleted on next startup
plugin.outdated.version.status.tooltip=Plugin has newer version
plugin.download.status.tooltip=Plugin will be activated on next startup
plugin.is.already.installed.status.tooltip=Plugin is installed
update.plugins.update.action=&Update
fail.open.project.message=Unable to open project from ''{0}''
disabled.plugins.warning.message=<li>Plugin <b>\"{0}\"</b> won''t be able to load because required {2, choice, 1#plugin|2#plugins} {1} {2, choice, 1#is|2#are} disabled.</li>
plugin.updated.status.tooltip=Updated plugin will be activated on next startup
checkbox.show.icons.in.menu.items=Display icons in menu items
custom.icon.validation.message=Icon is too big to appear in menu
custom.icon.validation.title=Icon size is invalid

# Moved from ExecutionBundle
run.canceled.by.user.message=Run canceled by user
run.configuration.error.executable.not.specified=Executable is not specified
run.configuration.error.working.directory.does.not.exist=Cannot start process, the working directory {0} does not exist
run.configuration.error.working.directory.not.directory=Cannot start process, the path specified for working directory is not a directory
finished.with.exit.code.text.message=Process finished with exit code {0}

# Encodings
file.encodings.configurable=File Encodings
file.encodings.not.configured=Encodings are not configured
encodings.dialog.caption=<html>To change encoding $productName uses for a file or directory, click an item and then select encoding from the Default Encoding list.<br><br>\
  Built-in file encoding (e.g. JSP, HTML or XML) overrides encoding you specify here.<br>\
  If not specified, files and directories inherit encoding settings from the parent directory or from the Project Encoding.</html>
encoding.name.system.default=<System Default>
quick.lists.presentable.name=Quick lists

error.saving.statistics=Error saving system information: {0}
error.saving.statistic.failed.to.create.folder=Cannot create folder {0} to save system information.
FileChooser.viewMenuLabelText=View
FileChooser.newFolderActionLabelText=New Folder
FileChooser.listViewActionLabelText=List
FileChooser.detailsViewActionLabelText=Details
FileChooser.refreshActionLabelText=Refresh
browsers.settings=Web Browsers
updates.check.period.on.exit=On every exit

unsupported.jvm.openjdk.message=OpenJDK 6 is not supported. Please use Oracle Java or newer OpenJDK.
unsupported.jvm.ea.message=Early Access Java versions may cause compatibility issues. Please use stable release.
unsupported.jvm.link=<br/><a href="#">Do not show again</a>.

low.disk.space.message=Low disk space on a {0} system directory partition

prompt.goto.inspection.enter.name=Enter inspection name:
goto.inspection.action.text=&Run Inspection by Name...
label.no.inspections.found=No inspections found

#Scripting library management
scripting.lib.name=&Name:
scripting.lib.file.title=Files
scripting.lib.file.name=Name
scripting.lib.file.location=Location
scripting.lib.file.type=Type
scripting.lib.select.root=Select Library Files or Directories
scripting.lib.invalid.name=Invalid library name
scripting.lib.attach=&Attach...
scripting.lib.detach=&Detach
scripting.lib.add=&Add...
scripting.lib.edit=&Edit...
scripting.lib.remove=&Remove
scripting.lib.docUrl.specify=&Specify...
scripting.lib.docUrl.remove=&Remove
scripting.lib.docUrl.title=Documentation URLs
scripting.lib.usageScope=Usage Scope
scripting.lib.usageScope.caption=<html>Specify which libraries are used in specific files and/or directories</html>
scripting.lib.usageScope.tableTitle=Library
scripting.lib.usageScope.override.question=Override library settings for child directories and files?
scripting.lib.usageScope.override.title=Override Library Settings
open.url.in.browser.tooltip=Open in browser

whatsnew.action.custom.text=What''s _New in {0}
whatsnew.action.custom.description=Find out about the new features in this version of {0}
diff.dialog.title=Diff Between ''{0}'' and ''{1}''

goto.custom.region.command=Go to Custom Region
goto.custom.region.message.dumb.mode=Go to Custom Region action is not available until indices are built.
goto.custom.region.message.unavailable=There are no custom folding regions in the current file.
alphabetical.mode.is.on.warning=Alphabetical order for tabs is ON. Switch it OFF?

file.changed.externally.message=File was changed on disk.
file.changed.externally.reload=Reload
group.presentation.mode=Presentation Mode
checkbox.allow.status.bar=Allow Status Bar
checkbox.allow.line.numbers=Allow Line Numbers
checkbox.allow.vcs.annotations=Allow VCS Annotations
presentation.mode.fon.size=Font size\:
update.available.group=Update Checker
javascript.filetype.description=JavaScript files
actionscript.filetype.description=ActionScript files
typescript.filetype.description=TypeScript files

# Language terms
javascript.language.term.function=function
javascript.language.term.class=class
javascript.language.term.interface=interface
javascript.language.term.namespace=namespace
javascript.language.term.parameter=parameter
javascript.language.term.property=property
javascript.language.term.variable=variable
javascript.language.term.value=value
javascript.language.term.tag=tag
javascript.language.term.label=label
javascript.language.term.prototype=prototype
javascript.language.term.attribute.value=Attribute value
javascript.language.term.package=package
javascript.language.term.module=module

# Parser error messages
javascript.parser.message.expected.expression=expression expected
javascript.parser.message.expected.xml.element=xml element expected
javascript.parser.property.expected=property expected
javascript.parser.message.expected.lbrace={ expected
javascript.parser.message.expected.rbrace=} expected
javascript.parser.message.expected.identifier.string.literal.or.numeric.literal=identifier or string literal or numeric literal expected
javascript.parser.message.expected.colon=: expected
javascript.parser.message.expected.semicolon=; expected
javascript.parser.message.expected.lbrace.or.semicolon={ or ; expected
javascript.parser.message.expected.rbracket=] expected
javascript.parser.message.expected.lparen=( expected
javascript.parser.message.expected.rparen=) expected
javascript.parser.message.expected.name=name expected
javascript.parser.message.expected.comma.or.rparen=, or ) expected
javascript.parser.message.expected.function.name=function name expected
javascript.parser.message.expected.requires.or.function.name='requires' or function name expected
javascript.parser.message.expected.formal.parameter.name=formal parameter name expected
javascript.parser.message.expected.statement=statement expected
javascript.parser.message.expected.parameter.name=parameter name expected
javascript.parser.message.expected.property.name=property name expected
javascript.parser.message.expected.catch.or.default=catch or default expected
javascript.parser.message.expected.forloop.left.hand.side.expression.or.variable.declaration=left hand side expression or variable declaration expected before 'in'
javascript.parser.message.expected.forloop.in.or.semicolon='in' or ; expected
javascript.parser.message.expected.while.keyword=while expected
javascript.parser.message.expected.comma=, expected
javascript.parser.message.expected.comma.or.rbrace=, or } expected
javascript.parser.message.expected.variable.name=variable name expected
javascript.parser.message.missing.rbrace=missing }
javascript.parser.message.missing.backquote=missing `
javascript.parser.message.unexpected.end.of.file=unexpected end of file
javascript.parser.message.expected.type.name=type name expected
javascript.parser.message.unclosed.string.literal=Unclosed string literal
javascript.parser.message.are.not.supported.by.dialect={0} are not supported by current JavaScript version
javascript.parser.message.expected.from='from' expected
javascript.parser.message.expected.typename=* or type name expected
javascript.parser.message.expected.name.or.lbrace=package name or { expected
javascript.parser.message.expected.module.reference=module reference expected
javascript.parser.message.expected.function.var.class.interface.namespace=Expected function, variable, class, interface or namespace declaration
javascript.parser.message.expected.namespace='namespace' expected
javascript.parser.message.expected.string.literal=string literal expected
javascript.parser.message.expected.xml=xml context keyword expected
javascript.parser.message.expected.equal=expected =
javascript.parser.message.expected.lbrace.or.lbracket={ or [ expected
javascript.parser.message.expected.identifier.lbrace.or.lbracket=identifier, { or [ expected
javascript.parser.message.expected.eof=end of file expected
javascript.parser.message.expected.eqgt=expected =>
javascript.parser.message.expected.identifier=identifier expected
javascript.parser.message.expected.instanceof='instanceof' expected
javascript.parser.message.expected.value=value expected
javascript.parser.message.expected.identifer.or.value=identifier or value expected
javascript.parser.message.expected.identifier.or.string.literal=identifier or string literal expected
javascript.parser.message.expected.as='as' expected
javascript.parser.message.expected.identifier.string.literal.or.lbrace=identifier, string literal or { expected

# Validation messages
javascript.validation.message.conflicting.definition.was.found.with.the.same.name=Conflicting inherited declaration {0} was found in namespace {1}
javascript.validation.message.duplicate.declaration=Duplicate declaration
javascript.validation.message.assignment.to.const=Attempt to assign to const variable
javascript.validation.message.arguments.out.of.function=Using function arguments object outside function
javascript.validation.message.must.be.lvalue=Must be lvalue
javascript.validation.message.const.variable.without.initializer.=const variable without initializer. It won't be possible to assign meaningful value later.
javascript.validation.message.embed.annotation.used.with.var.of.wrong.type=Embed annotation should be used with variable of Class or String type
javascript.validation.message.continue.without.target=Cannot determine target for 'continue'
javascript.validation.message.break.without.target=Cannot determine target for 'break'
javascript.validation.message.return.outside.function.definition='return' outside function definition
javascript.validation.message.duplicate.label=Duplicate label
javascript.validation.message.extend.multiple.classes=Class cannot extend multiple classes
javascript.validation.message.extend.final.class=Cannot extend final class ''{0}''
javasctipt.validation.message.identifier.not.allowed.in.strict.mode={0} is not allowed as identifier in strict mode
typescript.validation.message.invalid.type.reference=Type reference cannot refer to {0}
typescript.validation.module.reference.with.extension=External module reference cannot end with extension

# Surround with names
javascript.surround.with.do.while=do / while
javascript.surround.with.for=for
javascript.surround.with.if=if
javascript.surround.with.if.else=if / else
javascript.surround.with.parenthesis=(expr)
javascript.surround.with.not.parenthesis=!(expr)
javascript.surround.with.cast=Type(expr)
javascript.surround.with.try.catch=try / catch
javascript.surround.with.try.finally=try / finally
javascript.surround.with.try.catch.finally=try / catch / finally
javascript.surround.with.while=while
javascript.surround.with.with=with
javascript.surround.with.function=function
javascript.surround.with.function.expression=function expression
javascript.surround.with.object.literal=object literal

javascript.introduce.variable.title=Extract Variable
javascript.introduce.variable.error.no.expression.selected=Cannot introduce variable.\nSelection does not form an expression.
javascript.introduce.variable.error.expression.has.void.type=Cannot introduce variable.\nSelected expression type is void.
javascript.introduce.variable.name.prompt=&Name:
javascript.introduce.variable.replace.all.occurrences=Replace &all occurrences ({0} occurrences found)
javascript.introduce.variable.invalid.name=Please enter a valid name.
javascript.introduce.variable.variable.already.exists=Variable with name {0} already exists in the scope.
javascript.introduce.variable.function.already.exists=Function with name {0} already exists in the scope.
javascript.introduce.variable.arrow.function.parameter.referenced=Cannot introduce variable.\nSelection contains reference to arrow function parameter.

javascript.introduce.field.title=Introduce Field
javascript.introduce.field.error.no.expression.selected=Cannot introduce field.\nSelection does not form an expression.
javascript.introduce.field.error.expression.has.void.type=Cannot introduce field.\nSelected expression type is void.
javascript.introduce.field.error.no.enclosing.class=Cannot introduce field.\nNo enclosing class.
javascript.introduce.constant.title=Introduce Constant
javascript.introduce.constant.error.no.expression.selected=Cannot introduce constant.\nSelection does not form an expression.
javascript.introduce.constant.error.expression.has.void.type=Cannot introduce constant.\nSelected expression type is void.
javascript.introduce.constant.error.not.constant.expression.selected=Cannot introduce constant.\nSelection is not constant expression.

javascript.introduce.parameter.title=Extract Parameter
javascript.introduce.parameter.error.no.expression.selected=Cannot introduce parameter.\nSelection does not form an expression.
javascript.introduce.parameter.error.expression.has.void.type=Cannot introduce parameter.\nSelected expression type is void.

# Highlighting categories
javascript.keyword=Keyword
javascript.string=String
javascript.number=Number
javascript.linecomment=Line comment
javascript.doccomment=Doc comment
javascript.blockcomment=Block comment
javascript.regexp=Regular expression
javascript.operation=Operation
javascript.parens=Parenthesis
javascript.brackets=Brackets
javascript.braces=Braces
javascript.semicolon=Semicolon
javascript.badcharacter=Bad character
javascript.docmarkup=Documentation markup
javascript.doctag=Documentation tag
javascript.valid.string.escape=Valid string escape
javascript.invalid.string.escape=Invalid string escape
javascript.comma=Comma
javascript.dot=Dot

# Errors with intentions
javascript.unresolved.function.name.message=Unresolved function or method {0}() #loc
javascript.unresolved.variable.name.message=Unresolved variable {0} #loc
javascript.unresolved.type.name.message=Unresolved type {0} #loc
javascript.missing.read.property=Unresolved read property #loc
javascript.missing.write.property=Unresolved write property #loc
javascript.unresolved.variable.or.type.name.message=Unresolved variable or type {0} #loc
javascript.unresolved.variable.or.type.name.message2=Unresolved variable or type {0}
javascript.unresolved.file=File {0} not found
javascript.undeclared.variable.name.message=Variable {0} implicitly declared #loc
javascript.create.function.intention.name=Create Function ''{0}''
javascript.create.variable.intention.name=Create Variable ''{0}''
javascript.create.constant.intention.name=Create Constant ''{0}''
javascript.declare.variable.intention.name=Insert Var Declaration for ''{0}''
javascript.declare.variable.in.previous.var.statement.intention.name=Insert Var Declaration for ''{0}'' into previous var statement
javascript.create.namespace.intention.name=Create Namespace ''{0}''
javascript.create.property.intention.name=Create Field ''{0}''
javascript.create.constant.field.intention.name=Create Constant Field ''{0}''
javascript.create.method.intention.name=Create Method ''{0}''
javascript.create.constructor.intention.name=Create Constructor ''{0}''
javascript.create.get.property.intention.name=Create Get Property ''{0}''
javascript.create.set.property.intention.name=Create Set Property ''{0}''
javascript.create.function.intention.family=Create JavaScript Function or Method
javascript.create.variable.intention.family=Create JavaScript Variable Or Property
create.mobile.view=Create View ''{0}''
invalid.package=Invalid package: {0}
javascript.rename.reference.intention.name=Rename Reference
js.anonymous.to.named.function=Convert anonymous function to named function
js.convert.to.named.function=Convert to named function
js.split.into.multiple.declarations=Split into multiple declarations
js.split.declarations=Split declarations
js.swap.$0.and.$1=Swap ''{0}'' and ''{1}''
js.swap.arguments=Swap method call arguments

# Inspections
js.inspection.group.name=General
js.inspection.bitwise.group.name=Bitwise operation issues
js.code.style.issues.group.name=Code style issues
js.probable.bugs.group.name=Probable bugs
js.potentially.invalid.usage.of.this.inspection.name=Potentially invalid reference to 'this' from closure
js.potentially.invalid.target.of.indexed.property.access.inspection.name=Possibly incorrect target of indexed property access
javascript.potentially.invalid.usage.of.this=Potentially invalid usage of this
javascript.potentially.invalid.target.of.indexed.property.access=Potentially invalid target of indexed property access
js.unfiltered.for.in.loop.inspection.name=Unfiltered for..in loop
javascript.unfiltered.for.in.loop=Possible iteration over unexpected (custom / inherited) members, probably missing hasOwnProperty check
js.unfiltered.for.in.loop.skip.primitives=Skip iterations over reference with array or object initializer
js.unfiltered.for.in.loop.skip.primitives.tooltip=Enable it when Object.prototype and Array.prototype are unmodified
js.referencing.mutable.variable.from.closure.inspection.name=Referencing mutable variable from closure
javascript.mutable.variable.accessible.from.closure=Mutable variable is accessible from closure
js.unresolved.variable.inspection.name=Unresolved JavaScript variable
js.undeclared.variable.inspection.name=Implicitly declared global JavaScript variable
js.duplicate.declaration.inspection.name=Duplicate JavaScript declaration
# WI-11522 only the first word should start with uppercase letter
js.linters.inspection.group.name=Code quality tools
js.unused.local.symbol.inspection.name=Unused JavaScript / ActionScript local symbol
js.unused.assignment.inspection.name=Unused JavaScript / ActionScript assignment
js.unused.global.symbol.inspection.name=Unused JavaScript / ActionScript global symbol
js.unresolved.function.inspection.name=Unresolved JavaScript function
js.deprecated.symbols.inspection.name=Deprecated JavaScript symbol
js.suspicious.name.combination.inspection.name=Suspicious name combination
js.bitwise.operator.usage.name=Bitwise operator usage
js.bitwise.operator.usage.popup=Bitwise operator used
js.bitwise.operator.usage.quickfix=Replace with {0}
js.potentially.invalid.constructor.usages.inspection.name=Potentially invalid constructor usage
js.mismatched.update.collection.inspection.name=Mismatched query and update of collection
js.closure.compiler.syntax.inspection.name=Closure compiler syntax
js.closure.compiler.syntax.implements.not.interface={0} is not annotated with @interface
js.closure.compiler.syntax.cyclic.inheritance=Cyclic inheritance involving {0}
js.closure.compiler.syntax.empty.type=Empty type is not available
js.closure.compiler.syntax.invalid.type=Invalid type syntax
collection.updated.but.not.queried=Contents of collection <code>#ref</code> are updated, but never queried
collection.queried.but.not.update=Contents of collection <code>#ref</code> are queried, but never updated
javascript.constructor.with.lower.case.name.used.message=Constructor with lower case name used, possibly typo or conceptual error
interface.function.declaration.should.have.no.body=Interface functions declaration should have no body
javascript.ambient.declaration.should.have.no.body=Ambient declaration should have no body
javascript.ambient.declaration.should.have.no.initializer=Ambient declaration should have no initializer
javascript.deprecated.symbol.used.name.message=Deprecated symbol used, consult docs for better alternative #loc
javascript.deprecated.symbol.used.name.message2=Since version {0} symbol is marked as deprecated, use {1} as replacement #loc
js.classname.macro.description=jsClassName()
js.qualified.classname.macro.description=jsQualifiedClassName()
js.methodname.macro.description=jsMethodName()
js.unused.symbol=Unused {0} #ref
js.unused.symbol.remove=Remove unused {0} ''{1}''
js.suspicious.name.assignment=''{0}'' should probably not be assigned to ''{1}''
js.suspicious.name.parameter=''{0}'' should probably not be passed as parameter ''{1}''
js.suspicious.name.return=''{0}'' should probably not be returned from method ''{1}''
js.show.overriding.markers.inspection.name=Shows function overriding markers in JavaScript
js.constructor.cant.have.return.type=Constructor can''t have return type
invalid.identifier.value=invalid identifier value
class.0.does.not.have.default.constructor=Class {0} doesn''t have default constructor
invalid.identifier.value.0=Invalid identifier: ''{0}''
javascript.validation.message.this.referenced.from.static.context='this' referenced in static context
javascript.validation.message.super.referenced.without.class.instance.context='super' referenced without class instance context
javascript.validation.message.super.referenced.from.static.context='super' referenced in static context
javascript.validation.message.function.override.without.override.modifier=Method overrides method in superclass {0} without override keyword
javascript.validation.message.class.should.be.in.file=Class ''{0}'' should be defined in file ''{1}''
javascript.validation.message.function.should.be.in.file=Function ''{0}'' should be defined in file ''{1}''
javascript.validation.message.namespace.should.be.in.file=Namespace ''{0}'' should be defined in file ''{1}''
javascript.validation.message.variable.should.be.in.file=Variable ''{0}'' should be defined in file ''{1}''
javascript.validation.message.incorrect.package.name=Package name ''{0}'' does not correspond to file path ''{1}''
javascript.fix.package.name=Set package name to ''{0}''
javascript.fix.add.override.modifier=Add override modifier
js.code.style.tab.name=JavaScript
typescript.code.style.tab.name=TypeScript
to.indent.package.statement.children=&Indent package statement children
javascript.formatting.options.panel.title=Formatting options
javascript.formatting.options.panel.coding.style=Coding style
javascript.formatting.options.panel.naming.conventions=Naming conventions
js.convert.parameters.to.object.intention.name=Convert parameters to object
js.convert.parameters.to.object.unavailable.for.arrow.function=Cannot apply on arrow function parameters
js.undefined.property.assignment.inspection.name=Undefined property assignment
js.undefined.property.assignment.inspection.message=Property {0} is not defined in type {1}
js.jquery.efficiency.inspection.name=jQuery usage efficiency
js.jquery.efficiency.inspection.message=Inefficient jQuery usage
js.jquery.efficiency.inspection.preface.with.id.selector=Preface with ID selector
js.jquery.efficiency.inspection.allow.attribute.and.pseudo.selectors=Allow attribute and pseudo-selectors
js.jquery.efficiency.inspection.attribute.used.message=jQuery attribute selectors may be inefficient
js.jquery.efficiency.inspection.pseudoselector.used.message=jQuery pseudo-selectors may be inefficient
js.jquery.efficiency.inspection.duplicated.selector=Duplicated jQuery selector
js.accessibility.check.inspection.name=@private and @protected members accessibility
js.convert.to.foreach.intention.name=Convert to forEach call on array
js.consecutive.commas.in.array.literal.inspection.name=Consecutive commas in array literal
js.consecutive.commas.in.array.literal.inspection.message=Consecutive commas in array literal
js.consecutive.commas.in.array.literal.inspection.insert.undefined=Insert 'undefined'
js.check.function.signature.guess.optionality=Guess optionality of parameters
js.check.function.signature.guess.optionality.hint=If disabled, all untyped parameters are considered optional

javascript.validation.message.interface.members.cannot.have.access.modifiers=Interface members cannot have access modifiers
javascript.validation.message.interface.members.cannot.have.namespace.attributes=Interface members cannot have namespace attributes
javascript.validation.message.interface.members.cannot.be.final.modifiers=Interface members cannot be final
javascript.validation.message.static.modifier.is.allowed.only.for.class.members=Static modifier is allowed only for class members
javascript.validation.message.interface.cannot.be.final.modifiers=Interface cannot be final
javascript.template.context.type=JavaSc&ript
actionscript.template.context.type=Act&ionScript
interface.should.have.no.variable.declarations=Interface should have no variable declarations
javascript.validation.message.implements.for.interface.not.allowed=Implements list is not allowed for interface
javascript.validation.message.interface.name.expected.here=Interface name expected here
javascript.validation.message.class.name.expected.here=Class name expected here
javascript.validation.message.circular.dependency=Circular dependency
javascript.fix.remove.circular.dependency=Remove circular dependency
javascript.validation.message.more.than.one.externally.visible.symbol=More than one externally visible symbol defined in file
javascript.validation.message.interface.method.not.implemented=Method {0} from interface {1} is not implemented
javascript.validation.message.interface.property.not.implemented=Property {0} from interface {1} is not implemented
javascript.validation.message.interface.method.not.implemented2=Property get accessor {0} from interface {1} is not implemented
javascript.validation.message.interface.method.not.implemented3=Property set accessor {0} from interface {1} is not implemented
javascript.validation.message.interface.call.signature.not.implemented=Call signature from interface {0} is not implemented
javascript.validation.message.interface.index.signature.not.implemented=Index signature from interface {0} is not implemented
javascript.fix.remove.externally.visible.symbol=Remove externally visible symbol
javascript.fix.implement.methods=Implement Methods
javascript.implement.all.interfaces=Implement all interfaces
javascript.parameter=Parameter
javascript.local.variable=Local variable
javascript.global.variable=Global variable
javascript.global.function=Global function
javascript.static.member.function=Static member function
javascript.static.member.variable=Static member variable
javascript.instance.member.variable=Instance member variable
javascript.instance.member.function=Instance member function
javascript.create.class.intention.name=Create Class ''{0}''
javascript.create.interface.intention.name=Create Interface ''{0}''
choose.class.to.import.title=Class to Import
javascript.fix.remove.override.modifier=Remove override modifier
javascript.fix.remove.virtual.modifier=Remove virtual modifier
javascript.validation.message.attribute.was.specified.multiple.times=Modifier {0} was specified multiple times
javascript.fix.remove.dynamic.modifier=Remove dynamic modifier
javascript.validation.message.function.override.for.object.method=Method inherited from Object does not need override
javascript.validation.message.function.override.without.parent.method=Method does not override method from super class
javascript.parser.message.expected.gt=Expected >
javascript.parser.message.expected.lbracket=Expected [

generate.constructor.fields.chooser.title=Choose Fields to Initialize by Constructor
generate.getter.setter.chooser.title=Select Fields to Generate Getters and Setters
generate.to.string.chooser.title=Select Fields to Use in toString function
generate.getter.fields.chooser.title=Select Fields to Generate Getters
generate.setter.fields.chooser.title=Select Fields to Generate Setters
methods.to.implement.chooser.title=Select Methods to Implement
methods.to.override.chooser.title=Select Methods to Override
no.candidates=No candidates
no.methods.to.implement=No methods to implement have been found
no.methods.to.override=No methods to override have been found
no.variables.for.getter=No fields without getter have been found
no.variables.for.setter=No fields without setter have been found
no.variables.for.getter.setter=No fields without getter and setter have been found
javascript.validation.unused.import=Unused import
javascript.validation.fqn.to.replace.with.import=Qualified name may be replaced with import statement
javascript.fix.optimize.imports=Optimize imports
javascript.parser.message.expected.doc.tag.value=Tag value expected
javascript.validation.message.incorrect.tag.value=Incorrect Tag Value
javascript.validation.message.incorrect.parameter.name=Incorrect parameter name
javascript.parser.message.expected.doc.tag.name=Doc tag name expected
javascript.invalid.number.of.parameters=Invalid number of arguments, expected {0}
javascript.invalid.e4x.filter.query.receiver=Invalid e4x filter query argument, should be of XML or XMLList type
javascript.expression.type.implicitly.coerced.to.unrelated.type=Expression type {1} is implicitly coerced to unrelated type {0}
javascript.argument.type.mismatch=Argument type {1} is not assignable to parameter type {0}
javascript.initializer.type.mismatch=Initializer type {1} is not assignable to variable type {0}
javascript.binary.operand.type.mismatch=Binary operation argument type {1} is not assignable to type {0}
javascript.incorrect.variable.type.mismatch=Variable type {1} is not assignable to type {0}
javascript.term.does.not.evaluate.to.function=Method expression is not of Function type
javascript.term.does.not.evaluate.to.function2=Property can not be invoked as function
javascript.term.does.not.evaluate.to.function2.fix=Remove argument list
javascript.assigned.expression.type.mismatch=Assigned expression type {1} is not assignable to type {0}
javascript.vector.literal.element.type.mismatch=Vector literal element type {1} is not assignable to type {0}
javascript.returned.expression.type.mismatch=Returned expression type {1} is not assignable to type {0}
javascript.insert.cast.fix=Insert cast
error.not.available.in.javascript.code={0} is not available in JavaScript code
cannot.modify.library.code=Cannot modify library or SDK code
javascript.extract.method.title=Extract Function
javascript.validation.message.function.override.incompatible.access.modifier=Incompatible override, should have ''{0}'' access modifier
javascript.validation.message.function.override.incompatible.signature=Incompatible override, should have signature ''{0}''
javascript.validation.message.function.override.incompatible.signature2=Incompatible override, should have return type ''{0}''
javascript.validation.message.function.override.incompatible.signature3=Incompatible override, should have kind ''{0}''
javascript.validation.message.interface.method.invalid.access.modifier=Incompatible implementation, should have 'public' access modifier
javascript.validation.message.interface.method.invalid.signature=Incompatible implementation, should have signature ''{0}''
javascript.validation.message.interface.method.invalid.signature2=Incompatible implementation, should have return type ''{0}''
javascript.validation.message.interface.method.invalid.signature3=Incompatible implementation, should have get / set ''{0}''
javascript.validation.message.duplicate.catch.block=Duplicate catch block #loc
javascript.validation.message.duplicate.catch.block.fix=Remove duplicate catch block
javascript.validation.message.return.value.of.type.is.required=Return value of type {0} is required
javascript.validation.message.return.statement.required=Return statement is required for non-void return type
typescript.validation.message.invalid.module.member.modifier=''{0}'' is not valid modifier for module member
javascript.validation.message.no.return.value.required.for.constructor=No return value is required for return out of constructor
javascript.validation.message.constructor.in.mxml.is.not.allowed=Constructor is not allowed for MXML class
javascript.validation.message.super.constructor.call.should.be.in.constructor=Superclass constructor invocation should be in constructor body
javascript.fix.remove.constructor=Remove constructor
javascript.validation.message.package.shouldbe.first.statement=Package should be first statement in file
javascript.metadata=Metadata
javascript.class=Class
javascript.interface=Interface
javascript.validation.message.file.should.be.under.source.root=Object is located in file out of source root, certain functionality will not be available
javascript.validation.message.more.than.one.named.object.in.package=Nonunique object in package
javascript.validation.message.unneeded.comma=Unneeded comma
javascript.validation.message.remove.unneeded.comma.fix=Remove unneeded comma
javascript.validation.message.constructor.cannot.be.static=Constructor can not be static
javascript.create.event.handler.intention.name=Create Event Handler ''{0}''
javascript.validation.message.missed.super.constructor.call=Missed superclass's constructor invocation
javascript.fix.create.constructor.invoke.super=Create constructor matching super
javascript.fix.create.invoke.super=Insert super class constructor invocation
javascript.interface.can.not.be.instantiated.message=Interface can not be instantiated
javascript.validation.message.set.method.should.be.void.or.without.type=Return type of a setter definition must be unspecified or void
javascript.validation.message.set.method.should.have.one.parameter=A setter definition must have exactly one parameter
javascript.validation.message.get.method.should.have.no.parameter=A getter definition must have no parameters
javascript.validation.message.get.method.should.be.valid.type=Return type of a getter definition should not be {0}
javascript.validation.message.access.modifier.allowed.only.for.class.members=Access modifier allowed for class members only
javascript.validation.message.namespace.allowed.only.for.class.members=Namespace allowed for class members only
javascript.validation.message.access.modifier.allowed.only.for.package.members=Only public / internal modifiers allowed for package members
javascript.validation.message.use.namespace.reference.or.access.modifier=Use namespace OR access modifier
javascript.validation.message.one.visibility.modifier.allowed=Only one visibility modifier (public, protected, internal, private) is allowed
javascript.fix.remove.access.modifier=Remove access modifier
javascript.fix.remove.final.modifier=Remove final modifier
javascript.validation.message.final.modifier.allowed.only.for.methods=Final modifier can be applied only to classes and class methods
javascript.fix.remove.namespace.reference=Remove namespace reference
javascript.fix.remove.visibility.modifier=Remove visibility modifier
javascript.incorrect.array.type.in.for-in=Array key type should be String
javascript.validation.message.unexpected.type.for.rest.parameter=Rest parameter should have no type
typescript.validation.message.unexpected.type.for.rest.parameter=Rest parameter must be an array type
typescript.validation.message.unexpected.type.for.rest.parameter.fix=Make an array type
typescript.validation.message.class.invalid.context={0} must be in a file or module context
javascript.fix.remove.type.reference=Remove type reference
javascript.validation.message.parameter.is.not.allowed.after.rest.parameter=No parameter is allowed after rest parameter
javascript.fix.remove.parameter=Remove parameter
javascript.fix.remove.parameters=Remove parameters
javascript.fix.remove.initializer=Remove initializer
javascript.validation.message.parameter.should.be.initialized=Parameter should be initialized
javascript.fix.initialize.parameter=Initialize parameter
javascript.validation.message.rest.parameter.should.not.be.initialized=Rest parameter should not be initialized
javascript.validation.message.nested.classes.are.not.allowed=Nested classes are not allowed
javascript.validation.message.nested.packages.are.not.allowed=Nested packages are not allowed
generate.getter.fields.bindable.properties=&Bindable properties
javascript.validation.message.arguments.with.rest.parameter='arguments' object is not available when using rest parameter
js.validate.types.inspection.name=Type mismatch
js.validate.signature.inspection.name=Signature mismatch
find.usages.of.base.interface=Method {0} of class {1}\nimplements method of interface {2}.\nDo you want {3} the base method?
find.usages.of.base.class=Method {0} of class {1}\noverrides method of class {2}.\nDo you want {3} the base method?
javascript.validation.empty.component.type=Component tag should not be empty
javascript.fix.set.element.visibility=Make {0} {1}
javascript.fix.set.method.return.type=Make ''{0}'' return ''{1}''
javascript.deprecated.symbol.replace.fix=Replace deprecated code with {0}
javascript.deprecated.symbol.replace.fix.family=Replace deprecated code with suggested replacement
javascript.label.visibility.public=Pu&blic
javascript.label.visibility.package_local=&Internal
javascript.label.visibility.private=Pri&vate
javascript.label.visibility.protected=Pr&otected
move.members.refactoring.name=Move members
move.members.dialog.title=Move Members
class.0.cannot.be.created=Destination class {0} cannot be created because qualified element with the same name exists
javascript.visibility.public=public
javascript.visibility.internal=internal
javascript.visibility.private=private
javascript.visibility.protected=protected
field.description=field {0}
constant.description=constant {0}
inner.constant.description=inner constant {0}
variable.description=variable {0}
inner.variable.description=inner variable {0}
parameter.description=parameter {0}
variable.in.class.description=variable {0} in class {1}
constant.in.class.description=constant {0} in class {1}
method.description=method {0}
constructor.description=constructor {0}
function.description=function {0}
inner.function.description=inner function {0}
function.in.class.description=function {0} in class {1}
property.description=property {0}
class.description=class {0}
inner.class.description=inner class {0}
interface.description=interface {0}
inner.interface.description=inner interface {0}
package.description=package {0}
0.with.1.visibility.in.the.target.class.is.not.accessible.from.2={0} with {1} visibility in the target class is not accessible from {2}
0.with.1.visibility.is.not.accessible.from.2={0} with {1} visibility won''t be accessible from {2}

# Refactoring
javascript.refactoring.variable.used.as.lvalue=Variable to be inlined is used as lvalue
javascript.refactoring.variable.value.is.changed.when.accessed.from.closure=Variable value is changed when accessed from closure
javascript.refactoring.cannot.inline.nonlocal.variable=Cannot inline nonlocal variable
javascript.refactoring.inline.variable.title=Inline Variable
javascript.refactoring.inline.function.title=Inline Function
javascript.refactoring.cannot.find.usages.of.definition.to.inline=Cannot find usages of definition to be inlined
javascript.refactoring.searching.usages=Find Usages
javascript.refactoring.cannot.find.definition.to.inline=Cannot find definition to be inlined
javascript.refactoring.cannot.not.inline.noninitialized.definition=Cannot find inline noninitialized variable
javascript.inline.element.is.not.used={0} ''{1}'' is never used
inline.0.dialog.title=Inline {0}
javascript.refactoring.cannot.inline.function.defined.in.library=Can not inline function defined in external library
javascript.refactoring.cannot.inline.function.referencing.arguments=Can not inline function referencing arguments
javascript.refactoring.cannot.inline.interface.method=Can not inline interface method
javascript.refactoring.cannot.inline.function.referencing.rest.parameter=Can not inline function referencing rest parameter
javascript.refactoring.cannot.inline.overrided.or.overridden.method=Can not inline method that participates in hierarchy
javascript.refactoring.cannot.inline.recursive.function=Can not inline recursive function
javascript.refactoring.cannot.inline.function.with.multiple.returns=Can not inline function with multiple exit points
javascript.refactoring.cannot.inline.complex.expression.evaluation=Can not inline complex expression evaluation
javascript.refactoring.cannot.inline.non.call.usage=Can not inline non call usage
javascript.refactoring.cannot.inline.constructor=Can not inline constructor


javascript.uml.visibility.public=public
javascript.uml.visibility.protected=protected
javascript.uml.visibility.package_local=protected \\&\\& internal
javascript.uml.visibility.private=all
javascript.uml.show.supers.header=Superclasses for {0}
javascript.uml.show.implementations.header=Implementations of {0}
javascript.refactoring.asdoc.for.abstracts=ASDoc for abstracts
0.is.not.allowed.in.interface={0} is not allowed in interface
javascript.validation.message.static.method.in.interface=Static method is not allowed in interface
javascript.fix.remove.static.modifier=Remove static modifier
javascript.validation.message.override.can.be.applied.to.method=Override can be applied only to function declaration
javascript.validation.message.dynamic.can.be.applied.to.class=Dynamic attribute can be applied only to class declaration
0.is.static.it.cannot.be.moved.to.the.interface={0} is static. It cannot be moved to the interface
linemarker.overrides.method.in=overrides method in {0}
linemarker.implements.method.in=implements method in {0}
javascript.illegal.variable.type.void=Illegal variable type: 'void'
javascript.cannot.return.expression.from.function.with.void.result.type=Cannot return a value from a function with result type void
javascript.cannot.return.expression.from.function.with.void.result.type.fix=Remove return value
javascript.validation.message.function.override.for.interface=Incompatible override for method from {0}
javascript.validation.message.incompatible.override=Incompatible override for member from {0}
class.does.not.have.inheritors.in.current.project={0} does not have inheritors in the current project
javascript.local.variable.kind=Local variable
javascript.variable.kind=Variable
javascript.parameter.kind=Parameter
javascript.constant.kind=Constant
javascript.field.kind=Field
javascript.method.kind=Method
javascript.function.kind=Function
javascript.class.kind=Class
javascript.interface.kind=Interface
javascript.namespace.kind=Namespace
javascript.property.kind=Property
javascript.definition.kind=Definition
javascript.module.kind=Module
js.unnecessary.semicolon.inspection.name=Unnecessary semicolon
js.unnecessary.semicolon.problem=Unnecessary semicolon #loc
js.unnecessary.semicolon.fix.name=Remove unnecessary semicolon
javascript.refactoring.extract.function.title=Extract Function
javascript.refactoring.extract.function.bad.selection=Selected block should represent set of statements or an expression
javascript.validation.message.constructor.cannot.have.custom.visibility=Constructor should be public or have no visibility specified
javascript.validation.message.can.not.override.final.method=Cannot override final method from {0}
top.level.package=top level package
top.level=top level
javascript.parser.message.expected.dot=Expecting .
js.comparison.with.nan.inspection.name=Comparison with NaN
js.comparison.with.nan.inspection.problem=Equality comparison with NaN always evaluates to false
js.comparison.with.nan.inspection.problem2=Inequality comparison with NaN always evaluates to true
js.comparison.with.nan.inspection.quickfix=Replace with {0}isNaN(...)
js.add.double.quotes.quickfix=Wrap with double quotes
js.constructor.returns.primitive.inspection.name=Constructor returns primitive value
js.constructor.returns.primitive.inspection.problem=Primitive value returned from constructor will be lost when called with 'new'
js.constructor.returns.primitive.inspection.quickfix=Explicitly set return type to {0}
js.comment.matches.signature.inspection.name=JSDoc comment matches function signature
js.comment.matches.signature.inspection.problem1=Parameter {0} is not described in JSDoc
js.comment.matches.signature.inspection.problem2=Parameter {0} described in JSDoc does not appear in function signature
js.comment.matches.signature.inspection.quickfix=Update JSDoc comment

livetemplate.description.iter=Iterate (for each..in) - JavaScript 1.6+
livetemplate.description.itin=Iterate (for..in)
livetemplate.description.itar=Iterate elements of array
livetemplate.description.ritar=Iterate elements of array in reverse order
livetemplate.description.us=Inserts 'use strict' statement
macro.js.suggest.variable.name=jsSuggestVariableName()
macro.js.suggest.index.name=jsSuggestIndexName()
macro.js.array.variable=jsArrayVariable()
macro.js.component.type.of=jsComponentTypeOf(Array)

javascript.validation.tag.must.be.last.child.of.root.tag=The <{0}> tag must be the last child of the root document tag
javascript.validation.tag.must.be.first.child.of.root.tag=The <{0}> tag must be the first child of the root document tag
javascript.validation.tag.must.be.direct.child.of.fx.library.tag=The <{0}> tag must be the direct child of the <{1}> tag
javascript.validation.tag.must.have.exactly.one.child.tag=The <{0}> tag must have exactly one child tag
javascript.validation.tag.must.have.attribute.includein.or.excludefrom=The <{0}> tag must have attribute ''includeIn'' or ''excludeFrom''
javascript.validation.only.this.tag.is.allowed.here=Only <{0}> tag is allowed here
linemarker.implements.invalid=<invalid>
linemarker.implements.text=Implementation of {0} in {1}
linemarker.implements.several=Implementation of multiple interfaces methods
js.validate.json.inspection.name=Validate JSON
json.warn.about.comments.name=Warn about comments in JSON
js.validate.jsdoc.inspection.name=Validate JSDoc / ASDoc
json.comment.problem.description=JSON standard does not allow comments. Use JSMin or similar tool to remove comments before parsing.
incompatible.json.element=JSON standard does not allow this element type
javascript.expected.class.or.descendant=Expected class {0} or descendant
javascript.qualified.class.name.expected=Qualified class name expected
javascript.validation.message.unknown.metadata.annotation.used=Unknown metadata attribute used
javascript.validation.message.static.method.with.override=Static function can not have override modifier
javascript.validation.message.set.method.type.is.different.from.getter=Set accessor method has type that is not compatible with get accessor type, expecting ''{0}''
javascript.validation.message.get.method.type.is.different.from.setter=Get accessor method has type that is not compatible with set accessor type, expecting ''{0}''
javascript.validation.message.set.method.access.type.is.different.from.getter=Flash compiler bug 174646: Set accessor method access type is different from get accessor access type, expecting ''{0}''
javascript.validation.message.get.method.access.type.is.different.from.setter=Flash compiler bug 174646: Get accessor method access type is different from set accessor access type, expecting ''{0}''
javascript.validation.message.static.method.cannot.be.final=Static method can not be final
javascript.validation.message.vector.without.parameters=Vector without type
javascript.validation.message.vector.without.parameters2=Vector without type can not be instantiated
javascript.parser.message.expected.declaration=Declaration expected
javascript.assign.parameter.to.field.intention.name=Assign parameter ''{0}'' to field
javascript.fix.create.parameter=Create Parameter
javascript.introduce.parameter.introduced.variable.value=&Value:
action.JSExtractInterface.text=Extract _Interface...
action.JSExtractInterface.description=Extract interface from the selected class
0.is.not.a.legal.name=''{0}'' is not a legal classifier name
asdoc=ASDoc
item.already.exists={0} {1} already exists
directory.already.contains.file=Directory ''{0}'' already contains file ''{1}''
turn.refs.to.super=Turn refs to super
extract.subclass.command.name=Extracting subclass {0} from {1}
new.actionscript.class.action.title=Create ActionScript Class
new.actionscript.class.command.name=Create ActionScript Class
new.actionscript.class.dialog.title=New ActionScript Class
new.actionscript.interface.dialog.title=New ActionScript Interface
new.actionscript.class.action.description=Create new ActionScript class
class.template.title=Class
class.with.supers.template.title=Class with Supers
interface.template.title=Interface
extract.0.turn.refs=Ex&tract {0} and use it where possible
superclass.cannot.be.extracted.from.mxml.component=Superclass cannot be extracted from MXML component.
javascript.fix.message.change.parameters.to.expected=Change parameters to expected
javascript.fix.message.change.return.type.to.expected=Change return type to expected
js.last.comma.in.array.literal.inspection.name=Last comma in array literal
js.last.comma.in.object.literal.inspection.name=Last comma in object literal
error.wrong.caret.position.method.name=The caret should be positioned at the name of the method to be refactored.
changeSignature.vararg.not.last=Rest parameter should be the last in method signature
parameter.type.is.not.specified=Type for parameter ''{0}'' is not specified.\nContinue?
return.type.is.not.resolved=Return type ''{0}'' is not resolved.\nContinue?
javascript.refactoring.extract.function.code.contain.conditional.return=Can not extract code with conditional return
javascript.refactoring.extract.function.code.contain.continue.statement=Can not extract code with continue statement
javascript.refactoring.extract.function.code.contain.break.statement=Can not extract code with break statement
change.signature.column.name.initializer=Initializer
required.parameters.are.not.permitted.after.optional.parameters=Required parameters are not permitted after optional parameters
javascript.fix.remove.setter.parameter.initializer=Remove parameter default value
javascript.validation.message.setter.parameter.cannot.have.initializer=Setter definition cannot have optional parameters
changeSignature.no.default.value=New required parameter ''{0}'' has been added.\nSpecify a default value to be used in all existing calls of this method.
changeSignature.default.value.not.allowed=Default value is not allowed for parameter ''{0}'', since it was not specified for preceding parameter(s).
change.signature.usage.view.declarations.header=Methods to be refactored
0.should.be.1=''{0}'' should be {1}
{0}.visibility.will.break.methods.hierarchy={0} with {1} visibility won''t be able to participate in hierarchy
generate.delegate.method.chooser.title=Select Methods to Generate Delegates for
new.actionscript.class.uml.action.text=ActionScript Class
invalid.return.type.expression=Return type ''{0}'' is invalid
invalid.parameter.type.expression=Parameter type ''{0}'' is invalid
type.is.not.resolved=Type ''{0}'' is not resolved.\nContinue?
invalid.field.type.expression=Invalid field type: ''{0}''
choose.field.type=Choose Field Type
new.field.action.text=Field
new.field.action.description=Create new field in class
create.field.dialog.title=Create Field
create.field.command.name=Create field ''{0}''
field.initializer.is.not.specified=Field initializer is not specified
new.method.action.text=Method
new.method.action.description=Create new method in class
create.method.dialog.title=Create Method
create.button.text=&Create
create.method.command.name=Create method ''{0}()''
class.already.contains.method.warning=Class ''{0}'' already {1, choice, 1#contains|2#inherits} method ''{2}()''.\nContinue?
class.already.contains.field.warning=Class ''{0}'' already contains field ''{1}''.\nContinue?
declare.static=Declare &static
new.constructor.action.text=Constructor
new.constructor.action.description=Create class constructor
create.constructor.dialog.title=Create Constructor
getter.description=getter {0}
setter.description=setter {0}
change.method.signature.fix.text=Change {0} signature
javascript.callback.signature.mismatch=Callback should have single parameter with event type
javascript.callback.signature.mismatch.event.class=Callback should have single parameter with {0} type
json.filetype.description=JSON files
js.uml.presentable.name=ActionScript/Flex

# Settings dialog root JavaScript item
settings.javascript.root.configurable.name=JavaScript
settings.javascript.linters.configurable.name=Code Quality Tools
settings.javascript.linters.jslint.configurable.name=JSLint
settings.javascript.linters.jshint.configurable.name=JSHint
settings.javascript.linters.gjslint.configurable.name=Closure Linter
settings.javascript.prefer.strict=Prefer &Strict mode
settings.javascript.weaker.completion.type.guess=Weaker type guess for &completion
settings.javascript.weaker.completion.type.guess.tooptip=More completion options will be shown in complex cases if selected

# Bower
settings.javascript.bower.configurable.name=Bower

# JS language version management
js.language.version.combo.js15=JavaScript 1.5
js.language.version.combo.es5=ECMAScript 5.1
js.language.version.combo.js16=JavaScript 1.6
js.language.version.combo.js17=JavaScript 1.7
js.language.version.combo.js18=JavaScript 1.8
js.language.version.combo.js185=JavaScript 1.8.5
js.language.version.combo.es6=ECMAScript 6
js.language.version.label=JavaScript language version
js.language.version.not.supported.by.browsers=Use special to-javascript compiler with this version

# JS library management
js.library.attach.debug=Attach &Debug Version(s)...
js.library.attach.release=Attach &Release Version(s)...
js.library.select.debug=Select a file or directory with debug version(s)
js.library.select.release=Select a file or directory with release version(s)
js.library.unresolved.url.inspection.name=There is no locally stored library for the HTTP link.
js.library.download.fix=Download library
js.library.documentation=Documentation
js.library.configurable.name=Libraries

choose.super.method=<html><body>Choose Super Method of <b>{0}</b> ({1} found)</body></html>
choose.super.function=<html><body>Choose Super Function of <b>{0}</b> ({1} found)</body></html>
choose.super.classifier=<html><body>Choose Superclass or Interface of <b>{0}</b> ({1} found)</body></html>
choose.subclass=<html><body>Choose Subclass of <b>{0}</b> ({1} found)</body></html>
choose.implementing.class=<html><body>Choose Implementation of <b>{0}</b> ({1} found)</body></html>
choose.overridden.method=<html><body>Choose Overridden Method of <b>{0}</b> ({1} found)</body></html>
choose.overridden.function=<html><body>Choose Overridden Function of <b>{0}</b> ({1} found)</body></html>
choose.implementing.method=<html><body>Choose Implementation of <b>{0}</b> ({1} found)</body></html>
choose.implementing.function=<html><body>Choose Implementation of <b>{0}</b> ({1} found)</body></html>
javascript.parser.message.expected.newline.or.semicolon=Expecting newline or semicolon
javascript.invalid.delete.target.message=Invalid delete operator target, reference to field expected
javascript.with.statement.is.not.allowed.in.strict.mode.message=With statement is not allowed in strict mode
javascript.validation.message.redefining.is.not.allowed=Redefining of {0} is not allowed
javascript.validation.message.referencing.arguments.caller.callee.is.not.allowed=Referencing 'caller' and 'callee' from arguments is not allowed
javascript.validation.message.referencing.other.funcions.arguments.is.not.allowed=Referencing 'arguments' of other functions are not allowed
javascript.validation.message.arguments.is.readonly='arguments' is read only
javascript.validation.message.referencing.eval.outside.call.is.not.allowed=Referencing 'eval' outside function call is not allowed
javascript.octal.literals.are.not.allowed.message=Octal literals are not allowed
javascript.octal.sequences.are.not.allowed.message=Octal escape sequences are not allowed
javascript.validation.message.only.one.default.is.allowed=Only one default clause is allowed in switch
javascript.fix.remove.default=Remove default clause
javascript.namespace.initializer.should.be.string.or.another.namespace.reference=Namespace initializer should be string literal or another namespace reference
javascript.validation.message.accessor.could.not.be.nested.under.other.function=Accessor methods can not be nested inside other functions
javascript.validation.message.es5.function.declarations.allowed.on.top.level.or.function=Function statement not at top level of a program or function is prohibited
class.chooser.not.available.in.dumb.mode=Chooser is not available when index update is in progress.
choose.super.class.title=Choose Superclass
choose.base.component.title=Choose Superclass
choose.super.interface.title=Choose Super Interface
0.is.not.accessible.from.1={0} won''t be accessible from {1}
javascript.constructor.call.without.new.message=Constructor call without new
javascript.qualified.name.is.not.imported.message=Qualified name is not imported #loc
javascript.element.is.not.accessible.message=Element is not accessible #loc
javascript.protected.member.is.not.accessible.message=Protected member is not accessible #loc
javascript.private.member.is.not.accessible.message=Private member is not accessible #loc
javascript.jsdoc.protected.member.is.not.accessible.message=Protected member is not accessible #loc
javascript.jsdoc.private.member.is.not.accessible.message=Private member is not accessible #loc
javascript.static.member.is.not.accessible.message=Static member is not accessible #loc
javascript.instance.member.is.not.accessible.message=Instance member is not accessible #loc
javascript.element.need.to.be.exported=Element need to be exported
javascript.argument.types.mismatch=Argument types do not match parameters
javascript.member.from.unopened.namespace.message=Member from unopened namespace #loc
javascript.property.is.read.only.message=Property is read-only #loc
javascript.property.is.write.only.message=Property is write-only #loc
javascript.assume.uppercase.functions.to.be.constructors=Assume only functions in uppercase are constructors
javascript.not.a.constructor.call.message=Not a constructor call
cannot.refactor.anonymous.function=Call sites analysis is prevented by existing non-call usage.
change.signature.method.references.arguments=Function references arguments, code may break after changing signature
change.signature.conflict.incompatible.override=Overriding {0} has different number of parameters than refactored {1}. {2} will be ignored during refactoring.
change.signature.conflict.incompatible.implementation=Implementing {0} has different number of parameters than refactored {1}. {2} will be ignored during refactoring.
javascript.missed.argument.for.parameter=Argument for parameter {0} is missed

# Code folding settings
checkbox.collapse.object.literals=<html>Object literals</html>
checkbox.collapse.array.literals=<html>Array literals</html>
checkbox.collapse.xml.literals=<html>XML literals</html>
change.signature.value.column.title=Value
change.signature.column.name.optional.flag=Optional

# Code style settings
use.semicolon.to.terminate.statement=Use &semicolon to terminate statements
space.before.name.value.separator=Before property name-value separator ':'
space.after.name.value.separator=After property name-value separator ':'
space.before.function.left.parenth=In function expression
space.after.dots.in.rest.parameter=After '...' in rest parameter
space.before.type.colon=Before type reference colon ':'
space.after.type.colon=After type reference colon ':'
space.before.class.interface.module.lbrace=class/interface/module left brace
js.align.properties=Align object properties:
js.align.properties.none=Do not align
js.align.properties.on.colon=On colon
js.align.properties.on.value=On value
js.function.call.parentheses=Function call parentheses
js.function.declaration.parentheses=Function declaration parentheses
js.function.brace.style=In function declaration
js.function.parameters.wrap=Function declaration parameters
js.function.call.wrap=Function call arguments
js.space.before.function.left.brace=Function left brace
js.format.cstyle.comments=Align C-style comments /*...*/

js.method.can.be.static.inspection.name=Method can be static
js.method.can.be.static=Method can be static
js.array.new.line.after.left.bracket=New line after '['
js.array.new.line.before.right.bracket=Place ']' on new line
make.method.static=Make 'static'
declare.event.0=Declare Event ''{0}''
js.variable.might.not.been.initialized=Variable might not have been initialized #loc
js.variable.initializer.is.redundant=Variable initializer is redundant #loc
js.value.assigned.is.never.used=The value assigned is never used #loc
javascript.fix.change.type=Change ''{0}'' type to ''{1}''
javascript.fix.change.parameter.type=Change parameter ''{0}'' type to ''{1}''
change.signature.dialog.title=Change Signature of {0}
javascript.fix.create.implements=Make ''{0}'' implement ''{1}''
javascript.fix.create.extends=Make ''{0}'' extend ''{1}''
javascript.report.unused.properties=Report unused properties
javascript.report.unused.definitions=Report unused definitions
javascript.check.global.definitions=Check assignments in global scope
javascript.strictly.check.global.vars=Report undeclared global variables as error
javascript.strictly.check.object.properties=Report undeclared properties as error
javascript.strictly.check.global.functions=Report undeclared global functions as error
inspection.edit.options.inspection.text=Edit validation options
change.signature.column.type=Type
change.signature.column.name=Name
javascript.invalid.invokation.target=Invalid call target
js.declarations.at.scope.start.inspection=Variable declarations are at the scope start
js.make.single.var.statement=Make single var statement
js.declaration.is.not.at.scope.start=Var statement is not at the scope start
js.move.to.scope.start=Move var statement to the scope start
js.primitive.type.wrapper.usage.inspection=Primitive type object wrapper used
js.replace.with.type.cast.to.primitive=Replace with type cast to {0}
js.assigning.to.primitive.type.property=Value assigned to primitive will be lost
js.primitive.type.improper.instantiation.inspection={0} instantiation can be simplified
js.replace.with.literal=Replace with {0} literal

class.name.invalid=<invalid>
duplicate.parameter.name=Duplicate parameter name: {0}
rename.accessors.dialog.title=Rename Field
rename.accessors.dialog.text=Would you like to replace property functions to ''{0}'' as well?
insert.new.keyword.fix.name=Insert new keyword
superclass.label.text=&Superclass:
varible.name.column.title=Name
varible.value.column.title=Value
custom.variables.step.title.label.text=&Custom variables in template ''{0}''\:
create.class.ok.button.text=Create
create.class.name.label=&Name\:
create.class.package.label=Package\:
create.class.template.label=&Template\:
create.class.superclass.label=&Superclass\:
create.class.interfaces.label=&Interfaces\:
action.structureview.show.object.inherited=Inherited from Object
predefined.libraries.converter.description=Bundled JavaScript libraries have been changed so library mappings in your project need to be updated
libraries.roots.converter.description=JavaScript libraries storage format will be updated
custom.jshint.path.description=<html><body>\
When validating a JavaScript file IDE will look for .jshintrc file in the file's folder or above, up to the project's root.\
<div style="padding-top:6px; padding-bottom:1px">If no file is found, the following default file will be used:</div>\
</body></html>
select.jshint.config.dialog.title=Select JSHint Configuration File
invalid.jshint.config=JSHint config is invalid
failed.to.read.jshint.config=Failed to read JSHint config
action.structureview.show.locals=Show Local

# Frameworks
js.frameworks.sencha.xtype.not.found=Ext JS class for xtype ''{0}'' not found

# Actions
es6.compilation.progressbar.message=ECMAScript 6 file compilation
es6.compilation.original.file.title=ECMAScript 6 file {0}
es6.compilation.generated.file.title=Generated JavaScript file
es6.compilation.title=ECMAScript 6 file compilation
es6.compilation.error.message=Traceur compiler internal error
js.show.type.info.action.name=Evaluate expression type
js.show.type.info.action.message=type: {0}
javascript.ignore.unused.function.parameters=Ignore unused function parameters
javascript.ignore.unused.catch.parameters=Ignore unused catch parameters

# Other
javascript.completion.several.definitions=(several definitions)

# File watchers
js.file.watcher.traceur.name=Traceur compiler
js.file.watcher.traceur.description=Transpiles ECMAScript 6 code to ECMAScript 5
js.format.align.multiline.var=Align multiline variable declaration

# Annotator
javascript.change.language.level.message=Change JavaScript Version to {0}
javascript.change.language.level.family=Change JavaScript Language Level

#
# Copyright 2000-2007 JetBrains s.r.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

deployment.status.name.deployed=Deployed
deployment.status.name.not.deployed=Not deployed
deployment.status.name.failed=Failed
deployment.status.name.deactivating=Deactivating...
deployment.status.name.preparing=Preparing...
deployment.status.name.prepared=Prepared
deployment.status.name.activating=Activating...
deployment.status.name.unprepared=Unprepared
deployment.status.name.unpreparing=Unpreparing...
deployment.status.name.unknown=Unknown
deployment.status.name.disconnected=Disconnected
deployment.status.name.excluded.from.deployment=Excluded from deployment
deployment.status.description.deployed=Artifact is deployed successfully
deployment.status.description.not.deployed=Artifact is not deployed. Press 'Deploy' to start deployment
deployment.status.description.failed=Error during artifact deployment. See server log for details.
deployment.status.description.deactivating=Artifact is being undeployed, please wait...
deployment.status.description.preparing=Artifact is being deployed, please wait...
deployment.status.description.prepared=Artifact is being deployed, please wait...
deployment.status.description.activating=Artifact is being deployed, please wait...
deployment.status.description.unprepared=Artifact is being undeployed, please wait...
deployment.status.description.unpreparing=Artifact is being undeployed, please wait...
deployment.status.description.unknown=Status is unknown. Press 'Refresh' to reload deployment status from server.
deployment.status.description.desconnected=Server is not connected. Deploy is not available.
deployment.status.description.excluded.from.deployment=Artifact is excluded from deployment. To include, go to Run | Edit Configuration | Deployment and select artifact
runtime.configuration.error.something.not.specified={0} is not specified.
runtime.configuration.error.description.file.does.not.exist={0} ''{1}'' does not exist.
run.configuration.remote=Remote
run.configuration.local=Local
message.text.error.while.creating.temp.file=Error while creating temp file: {0}
button.add.appserver.descriptor=Add Application &Server specific descriptor...
warning.delete.deployment.descriptor.title=Delete Deployment Descriptor
additional.deployment.descriptor.file.description.additional.resource=Additional Resource
button.delete=&Delete
button.help=&Help
button.edit=&Edit...
button.remove=&Remove...
button.new=&New...
deployment.descriptor.title.application.module=Application Module Deployment Descriptor
deployment.descriptor.title.ejb.module=EJB Module Deployment Descriptor
deployment.descriptor.title.web.module=Web Module Deployment Descriptor
not.configured=Not configured
label.text.no.application.server.selected=No Application Server Selected
action.description.remove.application.server=Remove application server
action.description.add.application.server=Add application server
label.application.server.containing.libraries=Libraries
label.application.server.name=&Name:
message.text.warning=Warning
application.servers.configurable.display.name=Application\nServers
message.text.class.not.found.in.application.server=Class ''{0}'' not found in application server
message.text.application.server.already.exists=Application Server ''{0}'' already exists
message.text.application.server.name.cannot.be.empty=Application Server name cannot be empty
generic.application.server.default.name=Generic
border.deployment.settings.deployment.source=Deployment Source:
button.configure=Con&figure...
label.deployment.settings.deployment.method=Deployment method:
checkbox.deployment.settings.deploy.ejb.at.server.startup=&Deploy 'EJB' at server startup
checkbox.deployment.settings.deploy.facet=Deploy {0}
action.name.deploy.all=Deploy All
action.name.deploy.selected=Deploy
action.name.refresh.deployment.status=Refresh Deployment Status
action.name.undeploy=Undeploy
ejb.interface.type.base.interface=base interface
ejb.interface.type.local.home.interface=local home interface
ejb.interface.type.local.interface=local interface
ejb.interface.type.remote.interface=remote interface
#operation - rename or refactor
confirmation.text.method.implements.method.of.interfacetype.classname.do.you.want.to.operation.the.method.from.interfacetype=Method {0}\nimplements method {1} of {2} {3}.\nDo you want {4} the method from the {5}?
message.title.warning=Warning
message.text.method.name.is.role.do.you.want.to.rename.fieldtitle=Method ''{0}'' is {1}.\nDo you want to rename {2} ?
#field description: field.presentation.name.cmr.field or field.presentation.name.cmp.field
message.title.fielddescription.found={0} Found
message.text.class.name.is.ejb.class.for.ejb.name.do.you.want.to.rename.ejb.name.instead=Class ''{0}'' is EJB class for EJB ''{1}''.\nDo you want to rename EJB ''{2}'' instead?
message.text.class.name.is.ejb.class.for.several.ejbs.choose.ejb.to.rename.instead=Class ''{0}'' is EJB class for several EJBs.\nChoose the EJB to rename if you want to rename one of the EJBs instead.
message.title.related.ejb.to.class.found=EJB class found
model.object.type.cmp.field=CMP field
model.object.type.cmr.field=CMR field
model.object.type.ejb.environment.entry=Environment Entry
model.object.type.ejb.reference=EJB reference
model.object.type.ejb.local.reference=EJB local reference
model.object.type.ejb.relation=EJB relation
model.object.type.ejb.resource.environment.reference=EJB resource environment reference
model.object.type.service.reference=Web Service reference
model.object.type.ejb.message.destination.reference=Message destination reference
model.object.type.ejb.resource.reference=EJB resource reference
message.text.class.not.fount.in.project=Class ''{0}'' not fount in the project
message.title.class.not.found={0} not found
confirmation.text.regenerate.equals.and.hashcode.for.class=Regenerate equals and hashCode methods for class ''{0}''?
message.title.primary.key.class.changed=Primary Key Class Has Been Changed
model.object.type.entity.bean=Entity Bean
model.object.type.message.driven.bean=Message Driven Bean
model.object.type.security.role=Security Role
model.object.type.session.bean=Session Bean
model.object.type.interceptor=Interceptor
model.object.type.managed.bean=Managed Bean
class.role.ejb.class=EJB class
class.role.home.interface=Home Interface
class.role.local.home.interface=Local Home Interface
class.role.local.interface=Local Interface
class.role.remote.interface=Remote Interface
class.role.business.local.interface=Local Business Interface
class.role.business.remote.interface=Remote Business Interface
class.role.unknown.ejb.class=Unknown EJB class
role.for.ejb.name.string.representation={0} for EJB ''{1}''
role.for.interceptor.name.string.representation={0} for ''{1}''
method.role.finder.method.declaration=Finder Method Declaration
method.role.create.method.declaration=Create Method Declaration
method.role.business.method.declaration=Business Method Declaration
method.role.cmp.field.getter.declaration=CMP Field Getter Declaration
method.role.cmp.field.setter.declaration=CMP Field Setter Declaration
method.role.cmr.field.getter.declaration=CMR Field Getter Declaration
method.role.cmr.field.setter.declaration=CMR Field Setter Declaration
method.role.home.business.method.declaration=Home Business Method Declaration
method.role.unknown.method.declaration=Unknown Method Declaration
method.role.home.business.method.implementation=Home Business Method Implementation
method.role.finder.method.implementation=Finder Method Implementation
method.role.selector.method.implementation=Selector Method Implementation
method.role.create.method.implementation=Create Method Implementation
method.role.post.create.method.implementation=Post Create Method Implementation
method.role.business.method.implementation=Business Method Implementation
method.role.cmp.field.getter.implementation=CMP Field Getter Implementation
method.role.cmp.field.setter.implementation=CMP Field Setter Implementation
method.role.cmr.field.getter.implementation=CMR Field Getter Implementation
method.role.cmr.field.setter.implementation=CMR Field Setter Implementation
method.role.method.implementation=Method Implementation
button.add=&Add...
label.ejb.roots.text=Source roots for EJB classes
command.name.rename.ejb=Rename Ejb
label.web.source.roots.text=Source Roots
label.j2ee.element.general.settings.description=&Description:
label.j2ee.element.general.settings.display.name=Display &name:
action.name.edit.deployment.descriptor=Edit Deployment Descriptor...
project.view.pane.title.j2ee=Java EE
select.in.j2ee=Framework Views

dialog.title.packaging.choose.facets=Choose Facets
message.text.0.facet.1.module=''{0}'' facet (''{1}'' module)
message.text.0.facet.from.1.module=(''{0}'' facet from ''{1}'' module)
link.display.text.configure.j2ee.names=Java EE Names
label.configure.j2ee.names.prefix.and.suffix.are.taken.from=prefix and suffix are taken from

title.appserver.specific.validators=Application Server specific validators
appserver.validator.presentable.text={0} for {1}
button.appserver.validator.add.text=&Add
button.appserver.validator.delete.text=De&lete

#application module editors
application.module.properties.general.tab=General
application.module.properties.security.roles=Security Roles
border.application.module.editor.general.properties.group=General Properties
dialog.title.deployment.descriptor.location=Deployment Descriptor Location
dialog.title.resource.location=Resource Location
javaee.facet.settings.display.name={0} Settings
action.name.configure.j2ee.names=_Java EE Names...
j2ee.facet.fake.file.type=Java EE facet fake file type
column.name.module.editor.security.roles.role.name=Role Name
label.text.module.edutor.no.security.roles.configured=No security roles configured


command.name.create.directory=Create directory
message.title.error=Error
#typename - ejb, session bean, message bean etc
dialog.title.new.typename=New {0}
ejb.type.bmp.entity.bean=BMP Entity Bean
ejb.type.cmp.entity.bean=CMP Entity Bean
ejb.type.entity.bean=Entity Bean
ejb.type.session.bean=Session Bean
ejb.type.stateful.bean=Stateful Session Bean
ejb.type.stateless.bean=Stateless Session Bean
ejb.type.singleton.bean=Singleton Session Bean
ejb.type.message.bean=Message Bean
ejb.interceptor.type=Interceptor
data.source.type=Data Source

#Create transfer object
dialog.title.select.accessors.of.fields.to.include.in.transfer.object=Select Accessors of Fields to Include in Transfer Object
message.text.recommended.transfer.object.class.agrees.with.pattern=It is recommended that Transfer Object class name\nagrees with following pattern: {0}
label.create.transfer.object.transfer.object.class.name=Transfer Object class name:
checkbox.create.transfer.object.generate.getter.in.interface=Generate &getter in {0} interface
checkbox.create.transfer.object.generate.setter.in.interface=Generate &setter in {0} interface
message.text.select.field.to.include.in.transfer.object=Please select at least one field to include in Transfer Object.
message.title.no.fields.selected=No Fields Selected

#Delete ejb
checkbox.delete.ejb.delete.following.classes=&Delete following classes:
command.name.delete.ejb.class=Delete EJB Class
local.vcs.label.name.deleting.ejb.class=Deleting ejb class {0}
dialog,title.remove.ejb.remote.interface=Remove EJB Remote Interface
dialog.title.remove.ejb.local.interface=Remove EJB Local Interface


dialog.title.create.new.cmp.field=Create CMP Field
dialog.title.edit.cmp.field=Edit CMP Field

facet.holder.node.text={0} Facets

#Creating ejb
label.text.creating.ejb=Creating EJB ''{0}''
dialog.title.create.new.ejb.0=Create New EJB ''{0}''

#actions
action.name.create.bmp.entity.bean=Create BMP Entity Bean
action.name.create.cmp.entity.bean=Create CMP Entity Bean
action.name.new.cmp.field=New CMP Field
action.description.create.new.cmp.field=Create new CMP field
action.name.new.ejb.relationship=New EJB Relationship
action.description.create.new.ejb.relationship=Create new EJB relationship
message.text.must.be.cmp.entity.bean.with.local.interface=There must be at least one CMP Entity Bean with local interface
message.title.cannot.create.relationship=Cannot Create Relationship
action.name.create.message.bean=Create Message Bean
action.name.create.stateless.bean=Create Stateless Session Bean
action.name.create.stateful.bean=Create Stateful Session Bean
action.name.create.singleton.bean=Create Singleton Session Bean
action.name.create.new.transfer.object=Transfer Object
command.name.create.transfer.object=Create Transfer Object

apply.javaee.style.command=Apply EJB 3.0 Style
apply.javaee.style.title=Apply EJB 3.0 Style
apply.javaee.style.title.migrate=Migrate to EJB 3.0
apply.javaee.style.ejb.classes.to.process=Enterprise JavaBean classes to be processed
apply.javaee.style.method.exists=There already is a method {0}
apply.javaee.style.field.exists=There already is a field {0}
apply.javaee.style.prefer.injection=Prefer resource injection
apply.javaee.style.prefer.lookup=Prefer lookup
apply.javaee.style.prefer.default=Leave as is if possible
apply.javaee.style.prefer.replace.jndi.lookups=Replace JNDI lookup with EJB context lookup
apply.javaee.style.prefer.inline.injected.fields=Inline injected fields
apply.javaee.style.copy.metadata.from.xml=Copy metadata from XML descriptor
apply.javaee.style.drop.copied.tags=Delete copied XML tags
apply.javaee.style.environment.access.border.title=Environment access
apply.javaee.style.metadata.border.title=EnterpriseBean XML descriptor
apply.javaee.style.ejb.table.border.title=EnterpriseBeans to apply EJB 3.0 style to
apply.javaee.style.code.to.be.changed=Code to be changed {0}
apply.javaee.style.ejb.column.title=Object
apply.javaee.style.home.column.title=Retain Home interfaces

apply.javaee.style.usage.tooltip=<html><body>{0}</body></html>
apply.javaee.style.usage.tooltip.newline=<br>
apply.javaee.style.usage.delete=Delete
apply.javaee.style.usage.replace=Replace with: <code>{0}</code>
apply.javaee.style.usage.add=Add: <code>{0}</code>
apply.javaee.style.usage.add.after=Append with: <code>{0}</code>
apply.javaee.style.usage.add.before=Prepend with: <code>{0}</code>
apply.javaee.style.usage.set.tag.attribute=Set tag attribute: <code>{0}="{1}"</code>
apply.javaee.style.processing.ejbs=Processing Enterprise JavaBeans
apply.javaee.style.processing.ejb=Calculating required changes for ''{0}''
apply.javaee.style.processing.interceptor=Calculating required changes for ''{0}''
apply.javaee.style.processing.home=Calculating required changes for ''{0}'' home interface removal
apply.javaee.style.processing.clients=Processing Enterprise JavaBeans clients

command.name.ejb.editing=EJB Editing
ejb.type.message.driven.bean=Message Driven Bean
ejb.fake.file.type=EJB fake file type

#ejb module editors
label.edit.cmp.field.description=&Description:
checkbox.edit.cmp.field.primary.key=&Primary Key
label.edit.cmp.field.name=&Name:
message.text.cmp.field.exists=CMP field ''{0}'' already exists.
message.text.cmp.field.name.not.valid=CMP field name ''{0}'' is not a valid identifier.
message.text.cmp.field.name.should.begin.with.a.lower.case.letter=CMP field name should begin with a lower case letter.
message.text.type.not.found=Type ''{0}'' not found.
label.edit.cmp.field.type=&Type:
dialog.title.choose.cmp.field.class=Choose CMP Field Class
column.name.edit.cmp.field.name=Name
column.name.edit.cmp.field.type=Type
column.name.edit.cmp.field.pk=PK
column.tooltip.edit.cmp.field.pk=Is part of primary key
button.rename.ejb.and.classes=&Rename EJB and Classes...
button.change.ejb.classes=&Change EJB Classes...
warning.text.class.does.not.exist=Class ''{0}'' does not exist
dialog.title.change.ejb.classes=Change EJB Classes
confirmation.text.class.does.not.exist.create.it=Class {0} does not exist. Do you want to create it?
confirmation.text.classes.do.not.exist.create.them=Classes\n{0}\ndo not exist. Do you want to create them?
message.title.change.ejb.classes=Change EJB Classes
dialog.title.choose.ejb.class=Choose EJB Class
label.ejb.class.properties.package=&Package:
dialog.title.choose.ejb.classes.package=Choose EJB Classes Package
label.ejb.class.properties.ejb.class=EJB &Class:
dialog.title.choose.ejb.home.interface=Choose EJB Home Interface
label.ejb.class.properties.remote.interface=&Home:
label.ejb.class.properties.local.home=L&ocal Home:
label.ejb.class.properties.remote=R&emote:
label.ejb.class.properties.local=Loc&al:
dialog.title.choose.ejb.remote.interface=Choose EJB Remote Interface
dialog.title.choose.ejb.local.home.interface=Choose EJB Local Home Interface
dialog.title.choose.ejb.local.interface=Choose EJB Local Interface
label.ejb.class.properties.primary.key.class=Primary &Key Class:
dialog.title.choose.ejb.primary.key.class=Choose EJB Primary Key Class
message.text.ejb.exists.in.ejb.facet=EJB ''{0}'' already exists in this EJB facet.
checkbox.edit.ejb.class.enable.local.interface=&Local Interface
checkbox.edit.ejb.class.enable.remote.interface=&Remote Interface
label.edit.ejb.class.cmp.version=CMP &Version
entity.bean.general.tab.description.bean.persistence=Bean-managed persistence
entity.bean.general.tab.description.container.persistence=Container-managed persistence, CMP version {0}
entity.bean.general.tab.description.container.persistence.cmp.undefined=Container-managed persistence
ejb.relationship.editor.general.tab=General
ejb.module.properties.general.tab=General
ejb.module.properties.assembly.descriptor.tab=Assembly Descriptor
ejb.module.properties.method.permissions.tab=Method Permissions
ejb.module.properties.ejb.relations.tab=EJB Relationships
ejb.module.properties.transaction.attributes.tab=Transaction Attributes
dialog.title.choose.entity.bean.primary.key.class=Choose Entity Bean Primary Key Class
label.entity.bean.properties.primary.key.class=&Primary Key Class:
border.entity.bean.properties.cmp.fields=CMP Fields
label.entity.bean.properties.abstract.schema.name=&Abstract Schema Name:
label.message.bean.properties.transaction.type=&Transaction type:
label.message.bean.properties.acknowledge.mode=&Acknowledge Mode:
label.message.bean.properties.durability=D&urability:
label.message.bean.properties.destination.type=D&estination type:
label.message.bean.properties.message.selector=&Message Selector:
label.message.bean.properties.activation.config=Activation Config
dialog.title.primary.key.class=Primary Key Class
label.pk.class.dialog.pk.class.cant.contain.compound.primary.key=<html>PK Class ''{0}'' can''t contain compound Primary Key.<br>Please either:<ul><li>Specify primary key class which can hold all CMP fields, or</li><li>Provide package and class names to create new Primary Key Class for you</li></html>
border.pk.class.dialog.primary.key.class.package=Primary Key Class Package:
dialog.title.choose.primary.key.class.package=Choose Primary Key Class Package
border.pk.class.dialog.primary.key.class.name=Primary Key Class Name:
label.session.bean.properties.transaction.type=Transaction type:
label.session.bean.properties.session.type=Session type:
checkbox.entity.bean.properties.reentrant=Reentrant
title.module.ejb.local.references=EJB Local References
title.module.ejb.remote.references=EJB Remote References
title.module.ejb.resource.environment.references=Resource Environment References
title.module.ejb.resource.references=Resource References
title.module.service.references=Web Service References
title.module.message.destination.references=Message Destination References
title.module.security.roles=Security Roles
title.module.ejb.environment.entries=Environment Entries
title.module.properties.general=General
title.module.properties.ejb.classes=EJB Classes
title.module.properties.specifics=Specifics
title.module.properties.entity.bean.specifics=Entity Bean Specifics
title.module.properties.session.bean.specifics=Session Bean Specifics
title.module.properties.message.driven.bean.specifics=Message Driven Bean Specifics
column.name.message.bean.activation.config.name=Name
column.name.message.bean.activation.config.value=Value
column.name.ejb.environment.entries.type=Type
column.name.ejb.environment.entries.value=Value
dialog.title.ejb.relationship.properties=EJB Relationship Properties
message.text.name.is.not.valid.identifier={0} is not a valid identifier
message.text.duplicate.role.names=Duplicate role names
message.text.cmr.field.0.already.defined=CMR field ''{0}'' already defined in {1}.
message.text.cmr.field.name.should.begin.with.a.lower.case.letter=CMR field name should begin with a lower case letter.
message.text.entity.bean.not.specified.for.cmr.field=Existing Entity EJB name should be specified

#relationships editor
checkbox.edit.relationship.enable.cmr.field=CMR Field
checkbox.edit.relationship.getter=Getter
checkbox.edit.relationship.setter=Setter
checkbox.edit.relationship.cascade.delete=Cascade Delete
label.edit.relationship.field.type=Field Type:
label.edit.relationship.field.name=Field Name:
label.edit.relationship.role.name=Role name:
label.edit.relationship.multiplicity=Multiplicity:
label.edit.relationship.ejb=EJB:
label.edit.relationship.description=&Description:
label.edit.relationship.relationship.name=Relationship &Name:
title.edit.module.configured.ejbs=Configured EJBs
title.edit.module.general.properties=General Properties
button.configure.application.server=Configure...
border.edit.nodule.modules.and.libraries.to.package=Modules and Libraries to Package
tooltip.text.primary.key.class=Primary Key Class
column.name.method.permissions.name=Name
column.name.method.permissions.excluded=Excluded
column.name.method.permissions.unchecked=Unchecked
message.text.no.ejbs.in.this.module=There are no EJBs and security roles in this module.<br>Method permissions are only available for existing EJBs.
dialog.title.create.new.0=Create {0}
dialog.title.edit.0=Edit {0}
label.text.choose.component.interface=Select EJB Component Interface to create reference to:
label.edit.ejb.reference.name=&Name:
label.edit.ejb.reference.type=&Type:
label.edit.ejb.reference.home.interface.class.name=&Home interface:
label.edit.ejb.reference.component.interface.class.name=&Remote interface:
label.edit.ejb.reference.link=&Link:
label.edit.ejb.reference.description=&Description:
column.name.message.destination.type=Type
column.name.message.destination.usage=Usage
column.name.message.destination.link=Link
column.name.ejb.reference.name=Name
column.name.ejb.reference.type=Type
column.name.ejb.reference.home=Home
column.name.ejb.reference.component=Component
column.name.ejb.reference.link=Link
column.name.description=Description
message.text.no.ejb.references.configured=No EJB references configured
column.name.service.reference.type=Type
column.name.service.reference.interface=Service Interface
column.name.service.reference.wsdl.file=WSDL file
column.name.ejb.resource.reference.type=Type
column.name.ejb.resource.reference.authentication=Authentication
column.name.ejb.resource.reference.scope=Scope
column.name.resource.environment.reference.type=Type
column.transaction.attributes.name=Name
column.transaction.attributes.transaction.attribute=Transaction Attribute
message.text.no.ejbs.in.this.module.no.transaction.attributes=There are no EJBs in this module.<br>Transaction attributes are only available for existing EJBs.
message.text.no.ejbs.in.this.module.no.interceptors=There are no EJBs in this module.
dialog.title.web.resource.directory.path=Web Resource Directory Path
dialog.title.web.resource.directory=Web Resource Directory
dialog.description.web.resource.directory=Choose web resource directory where web files will be stored.
label.new.web.root.web.resource.directory.path=Web resource directory &path:
confirmation.text.create.directory=Create the directory ''{0}'' ?
message.title.directory.not.found=Directory Not Found
command.name.creating.web.root.dir=creating dir
message.text.error.creating.directory=Error creating directory.\n{0}
message.text.web.resource.directory.should.be.located.under.module.root=Web resource directory should be located under module root.\nPlease press ''...'' (ellipsis) button to browse module root directories.
message.title.directory.not.in.module=Directory Not in Module
message.text.existing.web.resource.directory.configured.in.dir.which.includes.dir=<html><body>There is existing web resource directory configured in ''<b>{0}''</b>,\nwhich already includes current directory ''<b>{1}''</b>.</body></html>
message.title.conflicting.directory.found=Conflicting Directory Found
message.text.existing.web.resource.directory.configured.in.dir.which.will.be.included.in.dir=<html><body>There is existing web resource directory configured in ''<b>{0}''</b>,\nwhich will be included in current directory ''<b>{1}''</b>.</body></html>
message.text.cannot.find.file=Cannot find file ''{0}''
message.title.file.not.found=File Not Found
label.web.root.dialog.relative.path.in.deployment.directory=&Relative path in deployment directory:
jasper.validator.description=Jasper Validator

# validation
action.name.validate=Validate
action.description.validate=Run validation on all files in the selected items
action.text.validate.facet=Validate all files in facet ''{0}''
action.name.validate.location=Validate {0}
location.to.validate.jsp=file ''{0}''
location.to.validate.selected.jsps=selected files
location.to.validate.all.jsps.in.directory=all files in directory ''{0}''
location.to.validate.all.jsps.in.selected.directories=all files in selected directories

checkboxweb.module.editor.distributable=Distributable
message.text.cannot.find.jdk.for.module.set.jdk.for.the.module.or.project=Cannot find JDK for module ''{0}''. Please set JDK for the module or project.
message.text.remove.web.resource.directory=Remove web resource directory ''{0}''?
message.text.remove.selected.web.resource.directories=Remove selected web resource directories?
message.title.remove.web.resource.directory=Remove Web Resource Directory
column.name.edit.web.roots.web.resource.directory=Web Resource Directory
column.name.edit.web.roots..relative.to.deployment.root=Path Relative to Deployment Root
warning.duplicate.relative.deployment.path.text=Duplicate relative deployment path ''{0}''
message.title.unmark.web.resource.directory=Unmark Web Resource Directory
message.text.unmark.web.resource.directory=Unmark Web resource directory ''{0}''
column.name.edit.parameters.param.name=Param Name
column.name.edit.parameters.param.value=Param Value
message.text.no.parameters.configured=No parameters configured
j2ee.filter.string.representation=Filter ''{0}''
servlet.string.representation=Servlet ''{0}''
servlet.fake.file.type.description=Servlet fake file type
action.name.create.new.filter=Create New Filter
dialog.title.new.filter=New Filter
dialog.title.edit.filter=Edit Filter
message.title.choose.filter.class=Choose Filter Class
label.filter.properties.package=Packa&ge:
dialog.title.choose.filter.package=Choose Filter Package
label.filter.peoperties.filter.class=Filter &Class:
message.text.filter.exists=Filter ''{0}'' already exists in this Web facet.
message.title.filter.exists=Filter Already Exists
action.name.create.filter.mapping=Create Filter Mapping
column.name.filter.mapping.properties.filter=Filter
column.name.filter.mapping.properties.url.pattern=URL Pattern
column.name.filter.mapping.properties.servlet=Servlet
message.text.no.filters.configured=No filters configured in this web facet.<br>Please create filter first.
message.text.no.filter.mappings.configured=No filter mappings configured
action.name.create.new.listener=Create New Listener
dialog.title.new.listener=New Listener
label.listener.properties.package=&Package:
dialog.title.choose.listener.package=Choose Listener Package
label.edit.listener.listener.class=Listener &Class:
message.text.listener.exists=Listener ''{0}'' already exists in this Web facet.
message.title.listener.exists=Listener Already Exists
tooltip.text.filter.class=Filter ''{0}'' Class
tooltip.text.listener.class=Listener ''{0}'' Class
tooltip.text.servlet.class=Servlet ''{0}'' Class
tooltip.text.web.resource.directory=Web resource directory ({0})
action.name.create.new.servlet=Create New Servlet
action.description.create.new.servlet=Create new servlet
dialog.title.new.servlet=New Servlet
button.change.class=Change Class...
button.rename.servlet=Rename Servlet...
label.edit.servlet.class.name=Class name:
dialog.title.rename.servlet=Rename Servlet
label.rename.servlet.name=Servlet name:
servlet.class.name.unknown=Unknown
dialog.title.choose.class=Choose {0} Class
label.edit.servlet.load.order=Load &order:
checkbox.edit.servlet.load.on.startup=&Load on startup
button.change.servlet.jsp.file=Change Class...
dialog.title.jsp.file=JSP File
dialog.description.jsp.file=Choose JSP file for servlet ''{0}''.
servlet.jsp.file.name.unknown=Unknown
label.servlet.properties.package=&Package:

dialog.title.choose.package=Choose {0} Package
label.properties.class=&Class:
message.text.exists={0} ''{1}'' already exists in this Web facet.
column.name.servlet.mapping.properties.servlet=Servlet
column.name.servlet.mapping.properties.url.pattern=URL Pattern
message.text.no.servlets.configured=No servlets configured in this web facet.<br>Please create servlets first.
message.text.no.servlet.mappings.configured=No servlet mappings configured
border.edit.web.module.web.resource.directories=Web Resource Directories
title.servlet.properties.general=General
title.servlet.properties.servlet.class=Servlet Class
title.servlet.properties.servlet.initialization.params=Servlet Initialization Params
border.web.module.assembly.properties.filter.mappings=Filter Mappings
border.web.module.assembly.properties.servlet.mappings=Servlet Mappings
border.web.module.assembly.properties.context.parameters=Context Parameters
border.web.module.properties.servlets.configured=Servlets Configured
border.web.module.properties.filters.configured=Filters Configured
border.web.module.properties.general.settings=General Settings
border.web.module.properties.display.name.description=DISPLAY_NAME_DESCRIPTION
border.web.module.properties.general.properties=GENERAL_PROPERTIES
web.module.properties.assembly.descriptor.tab=Assembly Descriptor
default.run.configuration.name.unnamed=Unnamed
title.run.configuration.editor.server=Server
title.run.configuration.editor.deployment=Deployment
tooltip.facet.excluded.from.deployment.text=Facet is excluded from deployment
exception.text.application.server.not.specified=Application Server not specified
exception.text.application.server.0.not.configured=Application Server ''{0}'' is not configured
directory.description.working.directory=Working directory
exception.text.malformed.url=Malformed URL: ''{0}''
exception.text.no.facets.to.deploy=There are no facets to deploy
quickfix.popup.title.select.a.facet.to.deploy=Select a facet to deploy
quickfix.popup.title.select.an.artifact.to.deploy=Select an artifact to deploy
error.deployment.source.for.module.is.not.specified.message=Deployment source (archive or exploded directory) for ''{0}'' is not specified
exception.text.descriptor.not.defined=''{0}'' is not defined
exception.text.alternative.jre.not.specified=Alternative JRE is not specified

browser.launcher.name.system=System
label.run.configuration.properties.application.server=Application &server:
button.configure.acclication.server=&Configure...
dialog.title.vm.parameters=VM Options
border.run.configuration.editor.remote.connection.settings.group=Remote Connection Settings
exception.text.invalid.port.value=Invalid port value: {0}
label.run.configuration.editor.port=&Port:
label.run.configuration.editor.host=&Host:
border.run.configuration.editor.environment.variables=Environment Variables
checkbox.run.configuration.editor.pass.environment.variables=Pass environment variables
label.run.configuration.editor.shutdown.script=Shutdown script:
label.run.configuration.editor.startup.script=Startup script:
#0th parameter - action name (run, debug, profile etc)
label.run.configuration.editor.add.vm.parameters=<html><body>To {0} remote server JVM, it should be started with the following<br/>command line arguments (you may copy and paste them):</body></html>
message.text.run.configuration.editor.no.specific.parameters.needed=No specific parameters needed

action.name.build.on.frame.deactivation=Update Resources On Frame Deactivation
action.description.build.on.frame.deactivation=Update resources related to this process on frame deactivation
updating.policy.hot.swap.classes=&Hot Swap classes
updating.policy.redeploy=&Redeploy
updating.policy.update.classes.and.resources=Update &classes and resources
updating.policy.update.resources=&Update resources
updating.policy.restart.server=Restart &server
exception.text.address.is.in.use=Address {0} is already in use
dialog.title.restart.server=Restart Server
message.text.run.configuration.already.run.do.you.want.to.restart.in.1=Run configuration ''{0}'' is running. Do you want to restart the server in ''{1}'' mode?
message.text.run.configuration.already.run=Run configuration ''{0}'' is running.
confirmation.text.server.is.being.connected.disconnect=It seems you already have connected to ''{0}'' .\nDo you want to disconnect from server first?
message.title.server.connected=Server Already Connected
message.text.connected.to.server=Connected to server
message.text.disconnected.from.server=Disconnected from server
message.text.cannot.open.url=Cannot open URL. Please check this URL is correct:
message.title.open.url=Open URL
message.text.unable.to.connect=Unable to connect to the {0}
message.text.connected.to.the.server=Connected to the server
exception.text.error.connecting.exception.occured.with.message=Error Connecting to {0}.\nException occurred : {1}\nException message : {2}
action.name.delete=Delete
dialog.title.configure.vm.and.program.parameters=Configure VM and Program Parameters
label.edit.parameters.program.parameters=&Program Arguments:
checkbox.edit.script.properties.use.default=Use default
dialog.title.select.startup.script=Select Startup Script
dialog.title.select.shutduwn.script=Select Shutduwn Script
dialog.title.default.startup.script=Default Startup Script
dialog.title.default.shutdown.script=Default Shutdown Script
tooltip.text.script.parameters=Parameters...
column.name.edit.deployment.descriptors.type=Type
column.name.edit.deployment.descriptors.path=Path
border.edit.deployment.descriptors.deployment.descriptors.group=Deployment Descriptors
model.object.type.filter=Filter
model.object.type.listener=Listener
model.object.type.servlet=Servlet
dialog.title.cant.create.class=Can''t Create Class
message.text.error.running.configuration.exception.occured.with.message=Error running {0}.\nException occurred : {1}\nException message : {2}
exception.text.startup.script.is.not.specified=startup script is not specified
progress.text.jasper.validation.validating.path=Validating {0}
checkbox.cmp.field.properties.generate.setter.in.remote.interface=R&emote Interface
checkbox.cmp.field.properties.generate.setter.in.local.interface=Local &Interface
checkbox.cmp.field.properties.generate.getter.in.remote.interface=&Remote Interface
checkbox.cmp.field.properties.generate.getter.in.local.interface=&Local Interface
label.cmp.field.properties.generate.setter.in=Generate setter in:
label.cmp.field.properties.generate.getter.in=Generate getter in:
edit.servlet.jsp.file.add.library.button=Add Library...
ScriptInfo.error.startup.script.not.found=Startup script file not found
ScriptInfo.error.shutdown.script.not.found=Shutdown script file not found

# edit deployment descriptor dialog
combobox.deployment.descriptor.version=Deployment descriptor &version
error.deployment.descriptor.already.exists=Deployment descriptor on file ''{0}'' already exists
error.deployment.descriptor.target.in.use=Deployment descriptor target file ''{0}'' is in use
error.cannot.create.deployment.descriptor=Cannot create {0}\n{1}
title.edit.deployment.descriptor=Edit Deployment Descriptor
error.please.specify.path.to.deployment.descriptor=Please specify path to {0}
label.choose.or.create.deployment.descriptor.file=Choose existing XML file for {0} or specify directory to create new file.
deployment.descriptor.panel.directory.path.relative.to.deployment.root.label=Directory &path relative to deployment root:

# create appserver-specific deployment descriptor dialog
dialog.title.create.appserver.specific.descriptor=Create Application Server Specific Descriptor
label.appserver.text=&Application Server:
label.descriptor.type.text=&Descriptor:
label.descriptor.version.text=&Version:

intention.add.javaee.jar.text=Add {0} jars to module dependencies
dialog.title.choose.ejb.message.listener.interface=Choose EJB Message Listener Interface
dialog.title.choose.ejb.service.endpoint.interface=Choose EJB Service Endpoint Interface
label.ejb.class.properties.message.listener.interface=&Message Listener:
label.ejb.class.properties.service.endpoint.interface=&Service Endpoint:
class.role.service.endpoint.interface=Service Endpoint Interface
class.role.interceptor.class=Interceptor
property.message.driven.bean.activation.config.other=Other...
message.text.error.name.cannot.be.empty=Name cannot be empty
message.text.error.component.interface.name.should.be.not.empty=Component interface name should not be empty
message.text.error.home.interface.name.should.be.not.empty=Home interface name should not be empty
action.text.add.security.role=Add Security Role...
action.text.edit.security.role=Edit Security Role...
action.text.edit.security.role.0=Edit Security Role ''{0}''
action.text.remove.security.role=Remove Security Role...
action.text.remove.security.role.0=Remove Security Role ''{0}''
label.edit.security.role.name=&Name:
label.edit.security.role.description=&Description:
column.name.edit.cmp.field.local.getter=LG
column.tooltip.edit.cmp.field.local.getter=Has local getter
column.name.edit.cmp.field.local.setter=LS
column.tooltip.edit.cmp.field.local.setter=Has local setter
column.name.edit.cmp.field.remote.getter=RG
column.tooltip.edit.cmp.field.remote.getter=Has remote getter
column.name.edit.cmp.field.remote.setter=RS
column.tooltip.edit.cmp.field.remote.setter=Has remote setter
border.relationship.editor.role.1=Role 1
border.relationship.editor.role.2=Role 2
action.name.create.interceptor=Create Interceptor
border.interceptor.binding=Interceptor Bindings
column.name.ejb.business.tree.name=Name
column.name.ejb.business.tree.intercept=Intercept

migrate.entity.beans.to.persistence.module=Replace Entity Beans with CMP to Persistence Unit (Project may not compile)

ejb.validator.decription=EJB Validator
progress.validating.ejbs.text=Validating EJBs...

ejb.facet.display.name=EJB

javaeeapp.facet.display.name=JavaEE Application

javaee.facet.name.with.type={0} Facet ''{1}''

label.description.edit.resource.environment.reference.dialog=&Description:
label.type.edit.resource.environment.reference.dialog=&Type:
label.name.edit.resource.environment.reference.dialog=&Name:
label.name.edit.environment.entries.dialog=&Name:
label.value.edit.environment.entries.dialog=&Value:
label.type.edit.environment.entries.dialog=&Type:
label.description.edit.environment.entries.dialog=&Description:
label.name.edit.service.reference.dialog=&Name:
label.type.edit.service.reference.dialog=&Type:
label.service.interface.edit.service.reference.dialog=Service &interface:
label.jaxrpc.mapping.file.edit.service.reference.dialog=JAX-RPC &mapping file:
label.wsdl.file.edit.service.reference.dialog=&WSDL file:
label.service.qname.edit.service.reference.dialog=Service &QName:
label.description.edit.service.reference.dialog=&Description:
section.table.view.add=&Add...
section.table.view.add.0=&Add {0}...
section.table.view.edit=&Edit...
section.table.view.edit.0=&Edit {0}...
section.table.view.delete=&Delete...
section.table.view.delete.0=&Delete {0}...
label.name.edit.message.destination.reference.dialog=&Name:
label.type.edit.message.destination.reference.dialog=&Type:
label.usage.edit.message.destination.reference.dialog=Message Destination &Usage:
label.link.edit.message.destination.reference.dialog=Message Destination &Link:
label.description.edit.message.destination.reference.dialog=&Description:
label.name.edit.resource.reference.dialog=&Name:
label.type.edit.resource.reference.dialog=&Type:
label.authentification.edit.resource.reference.dialog=&Authentification:
label.description.edit.resource.reference.dialog=&Description:

title.choose.interceptor.method.types=Select Interceptor Methods to Implement
command.apply.interceptor.bindings.command=Modify Interceptor Bindings
dialog.title.edit.interceptor.bindings=Edit Interceptor ''{0}'' bindings
interceptor.method.container.node.title=Interceptor methods

dialog.title.error.no.deployment.descriptor=No deployment descriptor
dialog.message.error.no.web.xml=There is no web.xml file in this Web facet, so this operation cannot be performed.

label.select.server.to.open.text=Select server instance to open file:
title.open.file.in.browser.text=Open File in Browser
presentable.server.instance.to.open.text={0}: ''{1}''
action.open.jsp.file.in.browser.description=An application server instance must be run in order to open JSP file in browser

error.message.name.should.be.identifier=Name should be identifier
error.message.0.name.should.be.unique={0} name should be unique


checkbox.default.interceptor=&Default Interceptor
dialog.title.edit.ejb.ql.query=Edit EJB QL Query
usages.of.ejb.class=Usages of EJB &class
usages.of.servlet.class=Usages of Servlet &class
dialog.title.rename.0=Rename {0}
model.object.type.abstract.schema.name=Abstract Schema Name
command.name.create.0.1=Create {0} ''{1}''

wizard.javaee.app.included.facet.tab.name=Include Web and EJB Facets
wizard.web.exploded.dir.tab.name=Exploded Directory
wizard.web.roots.tab.name=Web Roots
wizard.descriptors.tab.name=Descriptors
label.deployment.descriptors.wizard.step.text=<html><body>Configure descriptors that will be used to deploy this facet.<br>You may add standard, proprietary and application server specific descriptors here.</body></html>
label.delete.deployment.descriptor.text=Delete selected deployment descriptor?
checkbox.also.delete.file.from.disk.text=&Also delete file from disk

action.name.edit.ejb.relationship=Edit EJB Relationship
action.name.delete.ejb.relationships=Delete EJB Relationships
action.name.delete.ejb.relationship=Delete EJB Relationship

wizard.ejb.step.tab.name=EJB Specification
wizard.step.ejb.version.top.label.text=Please specify Enterprise JavaBeans specification version.\nNote: existing descriptors if found will override these settings.
wizard.step.ejb.version.button.text1=Enterprise JavaBeans 1.&x
wizard.step.ejb.version.button.text2=Enterprise JavaBeans &2.0
wizard.step.ejb.version.button.text21=Enterprise JavaBeans 2.&1
wizard.step.ejb.version.button.text3=Enterprise JavaBeans &3.0
wizard.step.ejb.version.button.text.annos.only=Java @&Annotations Only (no ejb-jar.xml)
wizard.step.ejb.version.button.add.persistence=Add Java EE P&ersistence Support
value.should.either.0.or.1=Value should either {0} or {1}
inspection.group.display.name.application.server.inspections=Application Server Specific Inspections

template.node.ejb=EJB
template.node.java.code.templates=Java code templates
template.node.deployment.descriptors=Deployment descriptors
template.node.application=Application
template.node.web=Web

servlet.reference.canonical.text=Cannot resolve servlet ''{0}''.

appserver.library.display.name=Application Server {0, choice, 1#Library|2#Libraries}
libraries.node.text.application.server=Libraries contain classes that add up various functionality to your applications. \
  Libraries also include source files and JavaDocs that can help you develop your projects.<br><br> \
  \
  IntelliJ IDEA uses libraries to assist you with code completion, validation, error highlighting, etc.<br><br>\
  \
  Application server libraries are the part of an application server (WebSphere, WebLogic, Tomcat etc.) and are available to \
  your Web and Java EE applications that are configured with these servers.<br><br>\
  \
  Expand the node and select child items to manage Application server libraries that are installed in your system. <br><br> \
  \
  To attach a library to a module, select that module, click the Dependencies tab, click Add and specify the library location.
library.configure.appserver.title=Configure Application Server Libraries

#code style settings
title.j2ee.names=Java EE Names
title.entity.bean=Entity Bean
editbox.default.pk.class=Default PK Class:
label.prefix=Prefix:
label.suffix=Suffix:
editbox.j2eenames.ejb.class=EJB Class
editbox.j2eenames.home.interface=Home Interface
editbox.j2eenames.remote.interface=Remote Interface
editbox.j2eenames.local.home.interface=Local Home Interface
editbox.j2eenames.local.interface=Local Interface
editbox.j2eenames.ejb.name.tag=<ejb-name> tag
editbox.j2eenames.transfer.object=Transfer Object
editbox.j2eenames.servlet.class=Servlet Class
editbox.j2eenames.servlet.name.tag=<servlet-name> tag
editbox.j2eenames.filter.class=Filter Class
editbox.j2eenames.filter.name.tag=<filter-name> tag
editbox.j2eenames.listener.class=Listener Class
editbox.j2eenames.service.endpoint.interface=Service Endpoint Interface
label.j2eenames.session.bean=Session Bean
label.j2eenames.message.driven.bean=Message Driven Bean
label.j2eenames.servlet=Servlet
label.j2eenames.filter=Filter
label.j2eenames.listener=Listener

#intentions
intention.add.method.to.ejb.class.family=Add Method to EJB Class
intention.add.method.to.ejb.class.text=Add ''{0}'' to bean implementation class {1}
intention.add.method.to.ejb.class.error.no.impl.class.message=Bean implementation class was not found. No methods were generated.
intention.add.method.to.ejb.interface.family=Add Method to EJB Interface
intention.add.method.to.ejb.interface.text=Add ''{0}'' to bean interface
intention.add.method.to.ejb.interface.error.no.home.interface=Bean home interface class was not found. No methods were generated.
intention.add.method.to.ejb.interface.error.no.interface=Bean interface class was not found. No methods were generated.
intention.add.method.to.ejb.interface.command.name=Adding methods
intention.add.method.to.ejb.interface.chooser.title=Select interfaces
intention.add.method.to.ejb.interface.chooser.label=Add ''{0}'' to

#inspections
group.names.javaee.issues=Java EE issues
inspection.ejb.display.name=EJB Classes Errors
inspection.ejb.warning.display.name=EJB Classes Warnings
inspection.ejb.xml.display.name=EJB Descriptor Inspection
inspection.javaee.ejb.ql.display.name=EJB QL Problems
inspection.javaee.xml.display.name=Java EE Application Descriptor Inspection
inspection.javaee.web.xml.name=Web.xml errors
inspection.javaee.web.warnings.name=Web.xml warnings
inspection.javaee.web.xml.mime.type=MIME type
inspection.javaee.web.xml.mime.type.message=''{0}'' is not a valid MIME type
add.web.root=Setup {0} as Web Root
web.root.family=Setup Web Root

#build
generated.ant.build.build.j2ee.data.for.facet.description=Build configured Java EE directories and archives for facet ''{0}''
generated.ant.build.build.j2ee.archive.for.facet.description=Build Java EE archive for facet ''{0}''
generated.ant.build.build.exploded.dir.for.facet.description=Build exploded directory for facet ''{0}''
generated.ant.build.exploded.target.comment=Call the target to build exploded directory for facet ''{0}''.\n       Path to the exploded directory is specified by parameter ''{1}''
generated.ant.build.jar.target.comment=Call the target to build {0} archive for facet ''{1}''.\n       Path to the archive file is specified by parameter ''{2}''

#lang
terms.web.directory=web directory
terms.web.directory.element=web directory element

#actions
action.CreateStatelessBean.text=State_less Session Bean
action.CreateStatefulBean.text=State_ful Session Bean
action.CreateSingletonBean.text=Sin_gleton Session Bean
action.CreateContainerManagedEntityBeanAction.text=_CMP Entity Bean
action.CreateBeanManagedEntityBeanAction.text=_BMP Entity Bean
action.CreateMessageBean.text=_Message Bean
action.CreateTransferObject.text=_Transfer Object
action.CreateCMPField.text=_CMP Field
action.CreateEJBRelationship.text=EJB _Relationship
action.CreateEJBInterceptor.text=_Interceptor
action.CreateJSPAction.text=_Jsp
action.CreateJSPAction.description=Create new JSP file in this directory
action.CreateJSPXAction.text=Jsp_x
action.CreateJSPXAction.description=Create new JSPX file in this directory
action.CreateServletAction.text=_Servlet
action.CreateServletAction.description=Create new servlet
action.CreateFilterAction.text=_Filter
action.CreateFilterAction.description=Create new filter
action.CreateListenerAction.text=_Listener
action.CreateListenerAction.description=Create new listener
group.GeneratePersistenceMapping.text=Generate Persistence Mapping
action.GenerateEJBReference.text=@EJB Reference
action.GenerateResourceReference.text=@Resource Reference
action.GeneratePersistenceContextReference.text=@PersistenceContext/Unit Reference
action.GenerateInterceptorMethods.text=Interceptor Methods...
action.GenerateEntityListenerMethods.text=Entity Listener Methods...
action.GenerateEJBFinderOrSelectorMethod.text=EJB Finder/Selector Method...
action.jpa.AddJpaProviderSupport.text=Add JPA Provider Properties

action.OpenPersistenceERDiagramAction.text=ER Dia_gram
action.EditEntityListenerBindingsAction.text=Edit Entity Listener _Bindings...
action.EditInterceptorBindingsAction.text=Edit Interceptor _Bindings...
action.ValidateJsp.text=_Validate JSP
action.ValidateJsp.description=Validate selected JSP files
action.PackageFile.text=_Package file
action.PackageFile.description=Add selected file into exploded deployment directory or Java EE archive

facet.0.in.module.1.text={0} (in {1})
facet.0.in.module.1.text.detailed=''{0}'' facet (in module ''{1}'')
security.role.name.should.accord.to.nmtoken.pattern=Security role name should accord to NMTOKEN pattern
action.text.select.all=Select All
action.text.unselect.all=Unselect All
error.message.cyclic.dependency.between.facets=Cyclic dependency between {0} and {1}
plugin.com.intellij.javaee.description=Provides support for Servlets, EJB, JPA and other Java EE technologies.
group.JspActions.text=JSP Actions
group.JavaeeMigrationGroup.text=Migration Actions
group.NewGroupPersistence.text=New Group Persistence
browser.web.faced.not.configured=Please, configure Web Facet first!
browser.no.suitable.configuration.running=There is no configured/running web-servers found! Please, run any web-configuration and hit the Refresh button!

web.context.family=Web Context Family
web.context.fix=Set context folder to ''/'' for {0}
web.context.fix.for.directory=Set context folder to ''/'' for all files in {0} directory

action.ApplyJavaeeStyle.text=Apply EJB 3.0 Style
run.tab.title.output=Output
run.tab.title.deployment=Deployment
run.tab.title.server=Server
generate.context.param.action=Init Context Param

#transport
Form.TransportManagerConfigurable.type=Type:
Form.TransportManagerConfigurable.host=Host:
LocalTransportHost.name=Same file system

message.text.able.to.bind.yet.able.to.connect.too=It is possible to bind and connect to {0} at the same time - application server will probably compete with some other software on the port

readonly.occurences.found=Occurrences found in read-only files
progress.text=Looking for Usages
usageView.tabText=Refactoring Preview
usageView.usagesText=usages
usageView.need.reRun=Cannot perform refactoring operation.\nThere were changes in code after usages have been found.\nPlease perform usage search again.
usageView.doAction=&Do Refactor
statusBar.refactoring.result={0, choice, 1#1 occurrence|2#{0,number} occurrences} changed
statusBar.noUsages=No occurrences found
anonymousToInner.refactoring.name=Convert Anonymous to Inner
anonymousToInner.no.inner.class.name=Class name should be specified
inner.class.exists=Inner class named ''{0}'' is already defined\nin class ''{1}''
anonymousToInner.class.name.label.text=Class name:
anonymousToInner.make.class.static.checkbox.text=Make class &static
anonymousToInner.parameters.panel.border.title=Constructor Parameters
error.wrong.caret.position.method=Caret should be positioned inside method to be refactored
error.wrong.caret.position.constructor=Caret should be positioned inside constructor to be refactored
error.wrong.caret.position.method.or.class.name=Caret should be positioned at the name of method or class to be refactored
error.wrong.caret.position.method.or.variable.name=Caret should be positioned at the name of method or variable to be refactored
error.wrong.caret.position.anonymous=Caret should be positioned inside anonymous class to be refactored
error.wrong.caret.position.class=Caret should be positioned inside class to be refactored
error.wrong.caret.position.method.or.local.name=Caret should be positioned at the name of element to be refactored
error.wrong.caret.position.local.name=Caret should be positioned at the name of local variable to be refactored
error.wrong.caret.position.local.or.expression.name=Caret should be positioned at the name of local variable or expression to be refactored
error.wrong.caret.position.symbol.to.rename=Caret should be positioned at symbol to be renamed
error.wrong.caret.position.symbol.to.refactor=Caret should be positioned at symbol to be refactored
error.out.of.project.element=Selected {0} is not located inside project.
error.in.injected.lang.prefix.suffix=Selected {0} is located in the read-only part of injected language document
error.cannot.be.renamed=This element cannot be renamed
to.refactor=to refactor
error.cannot.resolve=Cannot resolve {0}
error.incorrect.data=Incorrect Data
error.wrong.name.input=Wrong name: {0}
error.not.supported.for.jsp={0} refactoring is not supported for JSP
changeClassSignature.refactoring.name=Change Class Signature
changeClassSignature.no.type.parameters=Class cannot have type parameters
changeClassSignature.parameters.panel.border.title=Parameters
changeClassSignature.bad.default.value=Wrong default value: ''{0}'' for parameter ''{1}''
changeClassSignature.class.label.text=Change signature of {0}
changeSignature.no.type.for.parameter=Specify type for parameter ''{0}''
changeSignature.no.type.for.exception=Specify type for exception
changeSignature.refactoring.name=Change Signature
column.name.name=Name:
changeSignature.default.value.column=Default Value
parameters.border.title=Parameters
changeSignature.exceptions.panel.border.title=Exceptions
changeSignature.propagate.parameters.title=Propa&gate Parameters...
changeSignature.propagate.exceptions.title=Propagate E&xceptions...
changeSignature.parameter.caller.chooser=Select Methods To Propagate New Parameters
changeSignature.exception.caller.chooser=Select Methods To Propagate New Exceptions
changeSignature.return.type.prompt=Return &type:
changeSignature.name.prompt=&Name:
name.prompt=&Name
signature.preview.border.title=Signature Preview
changeSignature.parameters.wont.propagate=Recursive propagation of parameter changes won't be performed
changeSignature.exceptions.wont.propagate=Recursive propagation of exception changes won't be performed
changeSignature.wrong.return.type=Wrong return type: ''{0}''
changeSignature.no.return.type=Return type is not specified
changeSignature.cannot.resolve.return.type=Return type ''{0}'' cannot be resolved.\nContinue?
changeSignature.wrong.type.for.parameter=Wrong type: ''{0}'' for parameter ''{1}''
changeSignature.wrong.type.for.exception=Wrong type: ''{0}'' for exception
changeSignature.vararg.not.last=Vararg parameter should be the last in method signature
changeSignature.no.default.value=New parameter ''{0}'' has been added.\nSpecify default value to be used in all existing calls of this method.
changeSignature.not.throwable.type=Wrong type ''{0}'' for exception, should extend java.lang.Throwable
changeSignature.cannot.resolve.parameter.type=Type ''{0}'' for parameter ''{1}'' cannot be resolved.\nContinue?
search.in.comments.and.strings=Search in &comments and strings
search.for.text.occurrences=Search for &text occurrences
visibility.as.is=&As is
visibility.escalate=&Escalate
visibility.public=Pu&blic
visibility.protected=Pr&otected
visibility.private=Pri&vate
visibility.package.local=Pac&kage local
visibility.border.title=Visibility
visibility.combo.title=&Visibility:
moveInstanceMethod.select.an.instance.parameter=Select an &instance parameter:
destination.package=Destination &package:
choose.destination.package=Choose Destination Package
interface.name.prompt=&Interface name:
package.for.new.interface=&Package for new interface:
turnRefsToSuper.change.usages.to=&Change usages of {0} to:
turnRefsToSuper.use.superclass.in.instanceof=&Use interface/superclass in instanceof
class.name.prompt=Class &name:
parameter.name.prompt=Parameter na&me\:
no.class.name.specified=No class name specified
no.parameter.name.specified=No parameter name specified
pass.outer.class.instance.as.parameter=Pass &outer class' instance as a parameter
pull.up.members.to=P&ull up members of {0} to:
members.to.be.pulled.up=Mem&bers to be pulled up
make.abstract=Make abstract
javadoc.for.abstracts=JavaDoc for abstracts
extractIncludeFile.name=Extract Include File
file.already.exist=File {0} already exists
file.already.exist.title=Extract Include File
name.for.extracted.include.file=&Name for extracted include file (default extension: {0})
extract.to.directory=Extract to &directory:
select.target.directory=Select target directory
select.target.directory.description=The file will be created in this directory
create.directory=Create directory
replace.inheritance.from=&Replace with delegation inheritance from:
field.name=&Field name:
inner.class.name=&Inner class name:
superclass.name=&Super class name:
delegate.members=Delegate mem&bers
generate.getter.for.delegated.component=Generate &getter for delegated component
package.for.new.superclass=&Package for new superclass:
package.for.original.class=&Package for original class:
package.for.original.interface=&Package for original interface:
ExtractSuperClass.superclass=Superclass
members.to.form.superclass=Mem&bers to form superclass
no.superclass.name.specified=No superclass name specified
extract.superclass.from=Extract superclass from:
extractSuper.extract=E&xtract {0}
extractSuper.rename.original.class=R&ename original class and use {0} where possible
extractSuper.rename.original.class.to=&Rename original class to:
extractSuperInterface.interface=Interface
members.to.form.interface=Mem&bers to form interface
extract.interface.from=Extract interface from:
rename.implementation.class.to=Rename implementation class to:
rename.original.interface.to=Rename original interface to:
extractSuperInterface.javadoc=JavaDoc
no.interface.name.specified=No interface name specified
replace.all.occurences=Replace &all occurrences ({0} occurrences)
declare.final=Declare &final
introduce.parameter.title=Extract Parameter
parameter.of.type=Parameter of &type:
use.variable.initializer.to.initialize.parameter=Use variable &initializer to initialize parameter
replace.fields.used.in.expressions.with.their.getters=Replace fields used in expressions with their getters
do.not.replace=Do &not replace
replace.fields.inaccessible.in.usage.context=Replace fields &inaccessible in usage context
replace.all.fields=&Replace all fields
class.does.not.exist.in.the.project=Class does not exist in project. Do you want to create it?
no.field.name.specified=No field name specified
field.exists=Field with name {0}\nalready exists in class ''{1}''.\nContinue?
choose.destination.class=Choose Destination Class
replace.write.access.occurrences=Rep&lace write access occurrences

# introduce variable
introduce.variable.title=Extract Variable
refactoring.introduce.context.error=Cannot perform refactoring in this context
refactoring.introduceVariable=Extract Variable refactoring
refactoring.introduce.selection.error=Cannot perform refactoring using selected element(s)
refactoring.introduce.name.error=Incorrect name
refactoring.introduce.name.used.error=This name is already used
refactoring.introduce.variable.scope.error=Name clashes with existing variable
refactoring.introduce.placing.error=Cannot extract {0} variable

variable.of.type=Variable of &type:
convert.to.instance.method.title=Convert To Instance Method
convertToInstanceMethod.method.is.not.static=Cannot perform the refactoring\nMethod {0} is not static
convertToInstanceMethod.no.parameters.with.reference.type=There are no parameters that have reference type
convertToInstanceMethod.all.reference.type.parametres.have.unknown.types=All reference type parameters have unknown types
convertToInstanceMethod.all.reference.type.parameters.are.not.in.project=All reference type parameters have types that are not in project
cannot.perform.refactoring=Cannot perform refactoring.
move.instance.method.title=Move Instance Method
move.method.is.not.supported.for.constructors=Move method is not supported for constructors
move.method.is.not.supported.for.generic.classes=Move method is not supported for generic classes
move.method.is.not.supported.when.method.is.part.of.inheritance.hierarchy=Move method is not supported when method is a part of inheritance hierarchy
synthetic.jsp.class.is.referenced.in.the.method=Synthetic jsp class is referenced in method
there.are.no.variables.that.have.reference.type=There are no variables that have reference type
all.candidate.variables.have.unknown.types=All candidate variables have unknown types
all.candidate.variables.have.types.not.in.project=All candidate variables have types that are not in project
use.interface.where.possible.title=Use Interface Where Possible
interface.does.not.have.base.interfaces=Interface {0} does not have base interfaces
the.field.should.be.declared.in.a.class=The field should be declared in a class
encapsulate.fields.title=Encapsulate Fields
fields.to.be.refactored.should.belong.to.the.same.class=Fields to be refactored should belong to the same class
encapsulate.fields.refactoring.cannot.be.applied.to.interface=Encapsulate fields refactoring cannot be applied to interface
extract.interface.title=Extract Interface
extract.interface.command.name=Extracting interface {0} from {1}
extract.method.title=Extract Method
selected.block.contains.invocation.of.another.class.constructor=Selected block contains invocation of another class constructor
selected.block.should.represent.a.set.of.statements.or.an.expression=Selected block should represent a set of statements or an expression
press.escape.to.remove.the.highlighting=Press Escape to remove the highlighting
extract.superclass.title=Extract Superclass
extract.superclass.command.name=Extracting superclass {0} from {1}
superclass.cannot.be.extracted.from.an.interface=Superclass cannot be extracted from interface
superclass.cannot.be.extracted.from.an.enum=Superclass cannot be extracted from enum
replace.inheritance.with.delegation.title=Replace Inheritance With Delegation
class.is.interface={0} is an interface.
class.does.not.have.base.classes.or.interfaces=Class {0} does not have base classes or interfaces
inline.title=Inline
introduce.constant.title=Extract Constant
introduce.selection.error=Cannot perform refactoring using selected element(s)
selected.expression.cannot.be.a.constant.initializer=Selected expression cannot be a constant initializer
variable.does.not.have.an.initializer=Variable {0} does not have an initializer.
initializer.for.variable.cannot.be.a.constant.initializer=Initializer for variable {0} cannot be a constant initializer
cannot.introduce.field.in.interface=Cannot extract field in the interface
introduce.field.title=Extract Field
selected.block.should.represent.an.expression=Selected block should represent an expression
is.not.supported.in.the.current.context={0} is not supported in current context
type.of.the.selected.expression.cannot.be.determined=Type of selected expression cannot be determined.
selected.expression.has.void.type=Selected expression has void type.
to.rename=to rename
to.delete.with.usage.search=to delete (with usage search)
unknown.expression.type=Unknown expression type.
invalid.expression.context=Invalid expression context.
refactoring.is.not.supported.in.the.current.context={0} refactoring is not supported in the current context
cannot.introduce.variable.in.super.constructor.call=Cannot extract variable in super constructor call
is.modified.in.loop.body={0} is modified in loop body
introducing.variable.may.break.code.logic=Introducing variable may break code logic
no.selection=No selection.
selection.does.not.form.a.fragment.for.extraction=Selection does not form a fragment for extraction
cannot.extract.selected.elements.into.include.file=Cannot extract selected elements into include file
the.language.for.selected.elements.has.no.associated.file.type=The language for selected elements has no associated file type
extract.include.file.title=Extract include file
replace.fragment=Replace Fragment
idea.has.found.fragments.that.can.be.replaced.with.include.directive={0} has found fragments that can be replaced with include directive\nDo you want to review them?
remove.duplicates.command=Remove Duplicates
make.method.static.title=Make Method Static
constructor.cannot.be.made.static=Constructor cannot be made static
this.member.does.not.seem.to.belong.to.any.class=This member does not seem to belong to any class
member.is.already.static=Member is already static
cannot.make.abstract.method.static=Cannot make abstract method static
inner.classes.cannot.have.static.members=Inner classes cannot have static members
pull.members.up.title=Pull Members Up
the.caret.should.be.positioned.inside.a.class.to.pull.members.from=Caret should be positioned inside a class to pull members from
class.does.not.have.base.classes.interfaces.in.current.project={0} does not have base classes/interfaces in current project
pullUp.command=Pulling members up from {0}
push.members.down.title=Push Members Down
the.caret.should.be.positioned.inside.a.class.to.push.members.from=Caret should be positioned inside a class to push members from
move.title=Move
the.caret.should.be.positioned.at.the.class.method.or.field.to.be.refactored=Caret should be positioned at the class, method or field to be refactored
select.refactoring.title=Select Refactoring
what.would.you.like.to.do=What would you like to do?
move.packages.to.another.package=Move {0} &packages to another package
move.package.to.another.package=Move &package ''{0}'' to another package
move.directories.to.another.source.root=Move {0} directories to &another source root
move.directory.to.another.source.root=Move directory {0} to &another source root
move.inner.class.to.upper.level=Move &inner class {0} to upper level
move.inner.class.to.another.class=&Move inner class {0} to another class
move.nonstatic.class.from.jsp.not.supported = Moving non-static classes from JSP page is not supported
package.occurs.in.package.prefixes.of.the.following.source.folders.n=Package {0} occurs in package prefixes of the following source folders:\n
these.package.prefixes.will.be.changed=These package prefixes will be changed.
rename.title=Rename
rename.not.supported=Operation is not supported
multiple.directories.correspond.to.package=Multiple directories correspond to package\n
directories.and.all.references.to.package.will.be.renamed=\n\nDo you want to rename the whole package or directory \n{0} only?
rename.package.button.text=Rename &package
rename.directory.button.text=Rename &directory
rename.directories= Rename &all
rename.current.directory= Rename &current
move.current.directory= Move &current
move.directories= Move &all
warning.title=Warning
replace.constructor.with.factory.method.title=Replace Constructor With Factory Method
class.does.not.have.implicit.default.constructor=Class {0} does not have implicit default constructor
would.you.like.to.replace.default.constructor.of.0.with.factory.method=Would you like to replace default constructor of {0} with factory method?
refactoring.is.not.supported.for.local.and.jsp.classes=Refactoring is not supported for local and JSP classes
refactoring.is.not.supported.for.jsp.classes=Refactoring is not supported for JSP classes
class.is.abstract={0} is abstract.
method.is.not.a.constructor=Method is not a constructor
safe.delete.title=Safe Delete
replace.temp.with.query.title=Replace Temp with Query
cannot.replace.temp.with.query.in.interface=Cannot replace temp with query in interface
variable.has.no.initializer=Variable {0} has no initializer
variable.has.no.dominating.definition=Cannot find a single definition to inline
variable.is.never.used=Variable {0} is never used
variable.is.accessed.for.writing=Variable ''{0}'' is accessed for writing
variable.is.accessed.for.writing.and.used.with.inlined=Another variable ''{0}'' definition is used together with inlined one
only.fields.variables.of.methods.of.valid.type.can.be.considered=Only fields, variables, method parameters\u00A0or methods of valid type can be considered.
unable.to.start.type.migration=Unable to start type migration
replace.method.code.duplicates.title=Replace Code Duplicates
locate.caret.inside.a.method=Locate caret inside a member
replace.with.method.call.does.not.work.for.constructors=Replace With Method Call does not work for constructors
method.does.not.have.a.body=Method {0} does not have a body
method.has.an.empty.body=Method {0} has an empty body.
idea.has.not.found.any.code.that.can.be.replaced.with.method.call={0} has not found any duplicates
method.duplicates.found.message={0, choice, 1#1 code fragment|2#{0,number} code fragments} found
0.with.1.visibility.is.not.accessible.from.2={0} with {1} visibility won''t be accessible from {2}
0.contains.call.with.null.argument.for.parameter.1={0} contains call with null argument for parameter {1}
no.members.selected=No members selected
0.already.exists.in.the.target.class={0} already exists in the target class.
0.is.1.and.will.not.be.accessible.from.2.in.the.target.class={0} is {1} and will not be accessible from {2}.
renamed.class.will.hide.0.in.1=Renamed class will hide {0} in {1}
there.is.already.a.0.it.will.conflict.with.the.renamed.1=There is already a {0}. It will conflict with the renamed {1}
0.will.override.renamed.1={0} will override renamed {1}
0.will.hide.renamed.1={0} will hide renamed {1}
there.is.already.a.0.in.the.1.it.will.conflict.with.the.renamed.parameter=There is already a {0} in the {1}. It will conflict with the renamed parameter.
do.you.want.to.process.overriding.methods.with.covariant.return.type=Do you want to process overriding methods\nwith covariant return type?
changing.signature.of.0=Changing signature of {0}
there.is.already.a.0.in.1.it.will.conflict.with.the.new.parameter=There is already a {0} in {1}. It will conflict with the new parameter.
0.to.change.signature={0} to change signature
New.name.of.method.is.not.java.identifier=New name of method is not Java identifier
references.to.be.changed=References to be changed {0}
source.folder.0.has.package.prefix.1=Source folder {0} has package prefix ''{1}''\nPackage ''{2}'' cannot be created there.
javadoc.as.is=&As is
javadoc.copy=&Copy
javadoc.move=&Move
replace.instance.qualifiers.with.class.references=Replace instance qualifiers with class references
make.0.static=Make {0} Static
0.already.has.parameter.named.1.use.this.name.anyway={0} already has a parameter named ''{1}''.\nUse this name anyway?
this.method=This method
add.object.as.a.parameter.with.name=Add &object as a parameter with name:
add.object.as.a.parameter.to.constructors.with.name=Add &object as a parameter to constructors with name:
add.parameters.for.fields=Add parameters for &fields:
add.parameters.for.fields.to.constructors=Add parameters for &fields to constructors:
0.already.contains.field.1={0} already contains field {1}
0.is.already.overridden.in.1={0} is already overridden in {1}. Method will not be pushed down to that class.
0.already.contains.inner.class.named.1={0} already contains inner class named {1}
0.uses.1.which.is.pushed.down={0} uses {1}, which is pushed down
refactoring.cannot.be.performed=Refactoring cannot be performed
there.is.already.a.0.it.will.conflict.with.an.introduced.parameter=There is already a {0}. It will conflict with the introduced parameter
introduce.parameter.command=Extracting parameter to {0}
parameter.initializer.contains.0.but.not.all.calls.to.method.are.in.its.class=Parameter initializer contains {0}, but not all calls to method are in its class
0.is.not.accessible.from.1.value.for.introduced.parameter.in.that.method.call.will.be.incorrect={0} is not accessible from {1}. Value for introduced parameter in that method call will be incorrect.
use.interface.superclass.in.instanceof=Use interface/superclass in instanceof
introduce.parameter.to.method=Extract parameter to method:
introduced.variable.will.conflict.with.0=Introduced variable will conflict with {0}
column.name.type=Type:
column.name.any.var=Any var
column.name.default.value=Default value
caller.chooser.caller.method=Caller Method
caller.chooser.callee.method=Callee Method
caller.chooser.looking.for.callers=Looking For Callers...
copy.class.clone.0.1=Clone {0} {1}
copy.class.copy.0.1=Copy {0} {1}
invalid.target.package.name.specified=Invalid target package name specified
invalid.target.package.name.default.package=Cannot move classes to default package
error.title=Error
cannot.create.directory=Cannot create directory
no.target.directory.specified=No target directory specified
copy.files.new.name.label=&New name:
no.new.name.specified=No new name specified
copy.files.copy.specified.files.label=Copy specified files
copy.files.copy.specified.directories.label=Copy specified directories
copy.files.copy.specified.mixed.label=Copy specified files and directories
copy.files.to.directory.label=To &directory:
the.file.will.be.copied.to.this.directory=File will be copied to this directory
copy.files.clone.title=Clone
copy.files.copy.title=Copy
copy.files.clone.file.0=Clone file {0}
copy.files.copy.file.0=Copy file {0}
copy.files.clone.directory.0=Clone directory {0}
copy.files.copy.directory.0=Copy directory {0}
copy.handler.copy.class=Copy Class
copy.handler.clone.class=Clone Class
copy,handler.clone.files.directories=Clone files/directories
copy.handler.copy.files.directories=Copy files/directories
encapsulate.fields.get.access.checkbox=&Get access
encapsulate.fields.set.access.checkbox=&Set access
encapsulate.fields.use.accessors.even.when.field.is.accessible.checkbox=&Use accessors even when field is accessible
encapsulate.fields.private.radio=Pr&ivate
encapsulate.fields.protected.radio=Pro&tected
encapsulate.fields..package.local.radio=Package lo&cal
encapsulate.fields.encapsulate.border.title=Encapsulate
encapsulate.fields.options.border.title=Options
encapsulate.fields..encapsulated.fields.visibility.border.title=Encapsulated Fields' Visibility
encapsulate.fields.accessors.visibility.border.title=Accessors' Visibility
encapsulate.fields.fields.to.encapsulate.border.title=Fields to Encapsulate
encapsulate.fields.field.column.name=Field
encapsulate.fields.getter.column.name=Getter
encapsulate.fields.setter.column.name=Setter
encapsulate.fields.no.fields.selected=No fields selected
encapsulate.fields.command.name=Encapsulating fields in {0}
encapsulate.fields.getter.exists=There is already method {0} which differs from getter {1} by return type only
encapsulate.fields.setter.exists=There is already method {0} which differs from setter {1} by return type only
encapsulate.fields.fields.to.be.encapsulated=Fields to be encapsulated
invocations.to.be.inlined=Invocations to be inlined {0}
classes.to.push.down.members.to=Classes to push down members to {0}
references.in.code.to.elements.from.migration.map=References in code to elements from migration map "{0}" {1}
press.the.do.migrate.button=Press the "Do Migrate" button at the bottom of the search results panel\nto migrate using the migration map "{0}"\n
declaration.s.to.be.generified=Declaration(s) to be generified {0}
occurences.to.be.migrated=Occurrences to be migrated {0}
references.in.code=References in code {0}
safe.delete.comment.occurences.header=Occurrences found in comments, strings and non-code files {0}. Those occurrences will not be changed
move.single.element.elements.header={0} to be moved to {1}
references.in.code.to.0.1=References in code to {0} {1}
move.classes.elements.header=Classes to be moved to {0}
move.packages.elements.header=Packages to be moved to {0}
references.found.in.code=References found in code
references.found.in.generated.code=References found in generated code
comments.elements.header=Occurrences found in comments, strings and non-code files {0}
move.files.elements.header=Files to be moved to {0}
move.directories.elements.header=Directories to be moved to {0}
make.static.description.label=Make {0} {1} static
there.is.already.a.0.in.1=There is already a {0} in {1}
0.uses.non.static.1.which.is.not.passed.as.a.parameter={0} uses non-static {1}, which is not passed as a parameter
0.uses.1.which.needs.class.instance={0} uses {1}, which needs class instance
method.0.is.overridden.by.1=Method {0} is overridden by {1}
make.static.command=Making {0} static
introduce.parameter.elements.header=Adding parameter to a method
annotate.field.as.nonnls.checkbox=Annotate &field as @NonNls
replace.all.occurences.checkbox=Replace &all occurrences
introduce.constant.introduce.to.class=Extract to &class (fully qualified name)\:
introduce.field.static.field.of.type=Static field of &type:
introduce.field.field.of.type=Field of &type:
replace.all.occurrences.of.expression.0.occurrences=Replace &all occurrences ({0})
delete.variable.declaration=&Delete variable declaration
initialize.in.border.title=Initialize in
setup.method.radio=&setUp method
current.method.radio=Current &method
field.declaration.radio=Field &declaration
class.constructors.radio=Class &constructor(s)
convert.local.to.field.title=Convert Local to Field
introduce.constant.field.of.type=Constant (static final field) of &type:
extract.subclass.command=Extract Subclass
extract.superclass.elements.header=Extract superclass with members to directory
declare.static.checkbox=Declare &static
declare.varargs.checkbox=Declare v&arargs
declare.folded.parameters=&Fold parameters
extract.method.method.panel.border=Method
there.are.multiple.exit.points.in.the.selected.code.fragment=There are multiple exit points in the selected code fragment
move.members.elements.header=Members to be moved
move.members.move.members.from.label=Move members from:
move.members.to.fully.qualified.name.label=To (fully qualified name):
move.members.members.to.be.moved.border.title=Mem&bers to be moved (static only)
no.destination.class.specified=No destination class specified
0.is.not.a.legal.fq.name=''{0}'' is not a legal FQ-name
create.class.command=Create class {0}
source.and.destination.classes.should.be.different=Source and destination classes should be different
cannot.move.inner.class.0.into.itself=Cannot move inner class {0} into itself
class.0.does.not.exist=Class {0} does not exist.\nDo you want to create it?
move.members.title=Move Members
members.to.be.moved.should.belong.to.the.same.class=Members to be moved should belong to the same class
field.0.is.not.static=Field {0} is not static.\n{1} refactoring is supported for static members only.
0.refactoring.cannot.be.applied.to.constructors={0} refactoring cannot be applied to constructors
method.0.is.not.static=Method {0} is not static.\n{1} refactoring is supported for static members only.
inner.class.0.is.not.static=Inner class {0} is not static.\n{1} refactoring is supported for static members only.
inline.field.title=Inline Field
0.refactoring.is.supported.only.for.final.fields={0} refactoring is supported only for final fields
no.initializer.present.for.the.field=No initializer present for the field
field.0.is.never.used=Field {0} is never used
inline.field.command=Inline field {0}
0.is.used.for.writing.in.1={0} is used for writing in {1}
0.will.not.be.accessible.from.1.after.inlining={0} will not be accessible from {1} after inlining
inline.field.field.name.label=Field {0}
inline.field.border.title=Inline
all.references.and.remove.the.field=Inline &all references and remove the field
this.reference.only.and.keep.the.field=Inline this reference only and &keep the field
all.references.and.remove.super.class=Inline &all references and remove the class
this.reference.only.and.keep.super.class=Inline this reference only and &keep the super class
inline.variable.title=Inline Variable
variable.is.referenced.in.multiple.files=Variable {0} is referenced in multiple files
variable.is.never.used.before.modification=Variable {0} is never used before modification
inline.command=Inline {0}
inline.local.variable.prompt=Inline local variable ''{0}''?
inline.local.variable.definition.prompt=Inline local variable ''{0}'' definition?
occurences.string=({0,choice,1#1 occurrence|2#{0,number} occurrences})
inline.method.title=Inline Method
inline.method.method.label=Method {0}
inline.method.border.title=Inline
all.invocations.and.remove.the.method=Inline &all invocations and remove the method
all.invocations.in.project=&All invocations in project
this.invocation.only.and.keep.the.method=Inline this invocation only and &keep the method
refactoring.cannot.be.applied.to.abstract.methods={0} refactoring cannot be applied to abstract methods
refactoring.cannot.be.applied.no.sources.attached={0} refactoring cannot be applied: no sources attached
refactoring.is.not.supported.when.return.statement.interrupts.the.execution.flow={0} refactoring is not supported when return statement interrupts the execution flow
refactoring.is.not.supported.for.recursive.methods={0} refactoring may not be applied to remove recursive methods.\nYou can inline only individual method calls.
refactoring.cannot.be.applied.to.vararg.constructors={0} refactoring cannot be applied to vararg constructors
refactoring.cannot.be.applied.to.inline.non.chaining.constructors={0} refactoring cannot be applied to inline non-chaining constructors
inline.method.command=Inlining method {0}
inlined.method.implements.method.from.0=Inlined method implements method from {0}
inlined.method.overrides.method.from.0=Inlined method overrides method from {0}
0.that.is.used.in.inlined.method.is.not.accessible.from.call.site.s.in.1={0} that is used in inlined method is not accessible from call site(s) in {1}
inline.method.elements.header=Method to inline
inline.field.elements.header=Field to inline
inline.class.elements.header=Class to inline
inline.vars.elements.header=Variable to inline
interface.has.been.successfully.created=Interface {0} has been successfully created
class.has.been.successfully.created=Class {0} has been successfully created
use.super.references.prompt=At this stage {0} can analyze usages of {1} \nand replace them with usages of {2} where possible.\nDo you want to proceed?
analyze.and.replace.usages=Analyze and Replace Usages
there.are.multiple.output.values.for.the.selected.code.fragment=There are multiple output values for the selected code fragment:
expression.result=expression result
boolean.method.result=boolean method result
instances.of.0.upcasted.to.1.were.found=Instances of {0} upcasted to {1} were found. If you continue, they will be shown in a separate Find tab.
0.uses.1.of.an.instance.of.a.2={0} uses {1} of an instance of a {2}
0.upcasts.an.instance.of.1.to.2={0} upcasts an instance of {1} to {2}
0.will.no.longer.override.1={0} will no longer override {1}
replacing.inheritance.with.delegation=Replacing inheritance with delegation
instances.casted.to.java.lang.object=Instances casted to java.lang.Object
instances.upcasted.to.object=Instances upcasted to Object
instances.upcasted.to.java.lang.object.found=Instances upcasted to java.lang.Object found
replace.inheritance.with.delegation.command=Replacing inheritance with delegation in {0}
replace.inheritance.with.delegation.elements.header=Replace inheritance with delegation
# Inline included file
inline.included.file.title=Inline included file
the.caret.should.be.positioned.on.the.included.file.to.inline=Caret should be positioned on the included file reference to inline

inline.the.contents.include.prompt=Inline the contents of ''{0}''?
remove.include.prompt=Included file is no longer used. Remove it?
delete.include.command=Delete {0}
make.static.elements.header={0} to be made static
field.0.is.not.accessible=Field {0} is not accessible from {1}
fields.0.are.not.accessible=Fields {0} are not accessible from {1}
0.is.not.static.it.cannot.be.moved.to.the.interface={0} is not static. It cannot be moved to the interface
0.is.not.initialized.in.declaration.such.fields.are.not.allowed.in.interfaces={0} is not initialized in declaration. Such fields are not allowed in interfaces.
0.already.contains.a.1={0} already contains a {1}
0.uses.1.which.is.not.accessible.from.the.superclass={0} uses {1}, which is not accessible from the superclass
0.uses.1.which.is.not.moved.to.the.superclass={0} uses {1}, which is not moved to the superclass
push.members.from.0.down.label=Push members from {0} down
members.to.be.pushed.down.panel.title=Mem&bers to be pushed down
keep.abstract.column.header=Keep abstract
push.down.javadoc.panel.title=JavaDoc for abstracts
push.down.members.elements.header=Push down members from
interface.0.does.not.have.inheritors=Interface {0} does not have inheritors
class.0.does.not.have.inheritors=Class {0} does not have inheritors
push.down.will.delete.members=Pushing members down will result in them being deleted. Would you like to create a new subclass?
edit.migration.map.title=Edit Migration Map
migration.map.name.prompt=Map name:
migration.map.description.label=Map description:
migration.add.button=Add...
migration.edit.button=Edit...
migration.remove.button=Remove
migration.move.up.button=Move Up
migration.move.down.button=Move Down
migration.type.column.header=Type
migration.old.name.column.header=Old name
migration.new.name.column.header=New name
migration.package.with.subpackages=Package with subpackages
migration.package=Package
migration.class=Class
edit.migration.entry.title=Edit Class/Package Migration Description
migration.entry.package=Package
migration.entry.class=Class
migration.entry.old.name=Old name:
migration.entry.new.name=New name:
select.migration.map=Select migration map:
migration.new.button=New...
migration.dialog.title=Package and Class Migration
migration.dialog.ok.button.text=Run
migration.map.set.migration.maps=Migration maps
migration.no.usages.found.in.the.project=No Usages Found in the Project
migration.title=Migration
move.classes.move.to.another.source.folder=Move to another source &folder
move.specified.classes=Move specified classes
move.specified.packages=Move specified packages
move.single.class.or.package.name.label=Move {0} {1}
please.enter.a.valid.target.package.name=Please enter a valid target package name
package.does.not.exist=Package {0} does not exist.\nDo you want to create it?
move.package.refactoring.cannot.be.applied.to.default.package=Move Package refactoring cannot be applied to default package
move.class.refactoring.cannot.be.applied.to.anonymous.classes=Move Class refactoring cannot be applied to anonymous classes
moving.local.classes.is.not.supported=Moving local classes is not supported
there.are.going.to.be.multiple.destination.files.with.the.same.name=There are going to be multiple destination files with the same name
do.you.wish.to.continue=Do you wish to continue?
all.these.directories.will.be.moved.and.all.references.to.0.will.be.changed=All these directories will be moved, and all references to {0} \nwill be changed.
select.source.root.chooser.title=Select Source Root
moving.directories.command=Moving directories
0.uses.a.package.local.1={0} uses package-local {1}
a.package.local.class.0.will.no.longer.be.accessible.from.1=Package-local class {0} will no longer be accessible from {1}
element.will.no.longer.be.accessible={0} will no longer be accessible from {1}
move.instance.method.command=Move Instance method
move.instance.method.elements.header=Move instance method
move.method.this.parameter.label=Select a name for ''{0}.this'' parameter
move.method.enter.a.valid.name.for.parameter=Please Enter a Valid name for Parameter
0.is.an.interface.that.has.no.implementing.classes={0} is an interface that has no implementing classes
0.is.an.interface.method.implementation.will.be.added.to.all.directly.implementing.classes={0} is an interface. \nMethod implementation will be added to all directly implementing classes.\n Proceed?
move.inner.to.upper.level.title=Move Inner to Upper Level
move.inner.class.command=Moving inner class {0}
0.will.become.inaccessible.from.1={0} will become inaccessible from {1}
move.specified.files=Move specified files
move.specified.directories=Move specified directories
move.file.0=Move file {0}
move.directory.0=Move directory {0}
move.files.to.directory.label=To directory:
the.file.will.be.moved.to.this.directory=File will be moved to this directory
searching.for.variables=Searching for variables
no.usages.can.be.replaced=No usages of {0} \ncan be replaced with usages of {1}
turn.refs.to.super.command=Replacing usages of {0} with {1}
references.to.0.to.be.replaced.with.references.to.1=References to ''{0}'' to be replaced with references to ''{1}''
factory.method.name.label=Factory method name:
replace.constructor.with.factory.target.fq.name=In (fully qualified name):
class.0.not.found=Class {0} not found.
class.0.is.not.accessible.from.target.1=Class {0} is not accessible from target {1}
target.0.is.not.accessible.from.1=Target {0} is not accessible from {1}
constructor.being.refactored.is.used.in.initializer.of.0=Constructor being refactored is used in initializer of {0}. Non-static factory of inner class{1} cannot be used in this context. Resulting code will not compile.
replace.constructor.0.with.a.factory.method=Replace constructor {0} with a factory method
replace.default.constructor.of.0.with.a.factory.method=Replace default constructor of {0} with a factory method
replace.constructor.with.factory.method=Replace constructor with factory method
replace.default.constructor.with.factory.method=Replace default constructor with factory method
occurrences.found.in.comments.strings.and.non.java.files=Occurrences found in comments, strings and non-code files
occurrences.found.in.comments.strings.non.java.files.and.generated.code=Occurrences found in comments, strings, non-code files and generated code
0.referenced.in.1.will.not.be.accessible.in.module.2={0}, referenced in {1}, will not be accessible in module {2}
0.referenced.in.1.will.not.be.accessible.from.module.2={0}, referenced in {1}, will not be accessible from module {2}
0.referenced.in.1.will.not.be.accessible.from.production.of.module.2={0}, referenced in {1}, will not be accessible from the production sources of module {2}
choose.destination.directory=Choose Destination Directory
directory.chooser.hide.non.existent.checkBox.text=&Hide non-existent
0.will.be.inaccessible.from.1={0} will be inaccessible from {1}
move.classes.command=Moving {0} to package {1}
safe.delete.command=Deleting {0}
select.all.button=Select &all
unselect.all.button=&Unselect all
automatic.renamer.enity.name.column={0} name
automatic.renamer.rename.to.column=Rename To
rename.0.and.its.usages.to=Rename {0} and its usages to:
rename.variables=Rename &variables
rename.inheritors=Rename &inheritors
rename.tests=Rename t&ests
rename.parameters.hierarchy=Rename parameters in hier&archy
rename.bound.forms=Rename bound &forms
inner.class.0.is.already.defined.in.class.1=Inner class {0} is already defined in class {1}.\nContinue anyway?
class.0.already.exists=Class {0} already exists
renaming.something=Renaming something
renaming.0.1.to.2=Renaming {0} {1} to {2}
renaming.command.name=Renaming {0}
0.to.be.renamed.to.1.2={0} to be renamed to {1}{2}
references.in.code.to.0=References in code to {0}
rename.variables.title=Rename Variables
rename.variables.with.the.following.names.to=Rename variables with the following names to:
entity.name.variable=Variable
rename.bound.forms.title=Rename bound forms
rename.forms.with.the.following.names.to=Rename forms with the following names to:
entity.name.form=Form
rename.inheritors.title=Rename Inheritors
rename.tests.title=Rename Tests
rename.inheritors.with.the.following.names.to=Rename inheritors with the following names to:
rename.tests.with.the.following.names.to=Rename tests with the following names to:
entity.name.inheritor=Inheritor
entity.name.test=Test
unused.overriding.methods.title=Unused Overriding Methods
there.are.unused.methods.that.override.methods.you.delete=There are unused methods that override methods you delete
choose.the.ones.you.want.to.be.deleted=Choose the ones you want to be deleted
method.column=Method
0.implements.1={0} implements {1}.
attempting.to.delete.targets.node.text=Attempting to delete
retry.command=Retry
rerun.safe.delete=&Rerun Safe Delete
delete.title=Delete
items.to.be.deleted=Items to be deleted
usages.detected=Usages Detected
delete.anyway.button=&Delete Anyway
ignore.button=Ignore
the.following.problems.were.found=The following problems were found:
cancel.button=Ca&ncel
view.usages=&View usages
anonymous.class.text=Anonymous class
problems.detected.title=Problems Detected
continue.button=&Continue
do.you.wish.to.ignore.them.and.continue=Do you wish to ignore them and continue?
delegation.panel.method.calls.label=Method calls:
delegation.panel.modify.radio=&Modify
delegation.panel.delegate.via.overloading.method=De&legate via overloading method
information.title=Information
ok.button=OK
do.not.show.this.message.in.the.future=&Do not show this message in the future
member.column=Member
refactor.button=&Refactor
preview.button=&Preview
yes.button=&Yes
no.button=&No
preview.usages.to.be.changed=&Preview usages to be changed
replace.this.code.fragment=Replace this code fragment?
replace.this.code.fragment.and.make.method.static= (Method will be made static)
replace.this.code.fragment.and.make.method.static.visible= (Method will be made static and {0})
replace.this.code.fragment.and.make.method.visible= (Method will be made {0})
replace.this.code.fragment.and.change.signature=\nMethod signature will be changed to \n{0}
process.duplicates.title=Process Duplicate {0} of {1}
process.methods.duplicates.title=Process Method {2} Duplicate ({0} of {1})
0.has.detected.1.code.fragments.in.this.file.that.can.be.replaced.with.a.call.to.extracted.method={0} has detected {1} code {1,choice,1#fragment|2#fragments} in this file that can be replaced with a call to extracted method. Would you like to review and replace {1,choice,1#it|2#them}?
replace.button=Replace
method.duplicates.method.label=Method {0}
usages.detected.title=Usages Detected
generify.title=Generify
interface.member.dependency.required.by.interfaces=required by {0,choice,1#interface|2#interfaces}
member.info.implements.0=implements {0}
member.info.extends.0=extends {0}
used.by.0=used by {0}
uses.0=uses {0}
field.description=field {0}
constructor.description=constructor {0}
method.description=method {0}
parameter.description=parameter {0}
local.variable.description=local variable {0}
package.description=package {0}
class.description=class {0}
static.initializer.description=static initializer of class {0}
instance.initializer.description=instance initializer of class {0}
file.description=File {0}
directory.description=Directory {0}
0.is.located.in.a.jar.file={0} is located in a jar file.\n
0.is.read.only={0} is read-only.\n
0.is.not.a.legal.java.identifier=''{0}'' is not a legal java identifier
method.0.is.already.defined.in.the.1=Method {0} is already defined in the {1}
method.0.will.hide.method.of.the.base.class=Method {0} will hide \nthe method of the base class {1}
method.0.will.implement.method.of.the.base.class=Method {0} will implement \na method of the base class {1}
method.0.will.override.a.method.of.the.base.class=Method {0} will override \na method of the base class {1}
current.class=current class
field.0.is.already.defined.in.the.1=Field {0} is already defined in the {1}
field.0.will.hide.field.1.of.the.base.class=Field {0} will hide \na field {1} of the base class {2}
directory.0.already.contains.1.named.2=Directory {0} \nalready contains {1} named ''{2}''
directory.0.already.contains.a.file.named.1=Directory {0} \nalready contains a file named ''{1}''
getter.and.setter.methods.found.for.the.field.0=Getter and setter methods found for the field {0}. \n{1} them as well?
getter.method.found.for.the.field.0=Getter method found for the field {0}. \n{1} the getter as well?
setter.method.found.for.the.field.0=Setter method found for the field {0}. \n{1} the setter as well?
0.has.1.usages.that.are.not.safe.to.delete={0} has {1,choice,1#1 usage that is|2#{1,number} usages that are} not safe to delete.
safe.delete.of.those.0.in.comments.strings.non.code=Of those {0,choice,1#1 usage is|2#{0,number} usages are} in strings, comments, non-code files or generated code.
type.cook.drop.obsolete.casts=&Drop obsolete casts
type.cook.preserve.raw.arrays=Preserve raw &arrays
type.cook.leave.object.parameterized.types.raw=&Leave Object-parameterized types raw
type.cook.perform.exhaustive.search=Perform &exhaustive search
type.cook.generify.objects=Generify &Objects
type.cook.produce.wildcard.types=Produce &wildcard types
type.cook.command=Generify
type.cook.elements.header=Scope(s) to generify
type.cook.report=Items generified: {0}, casts removed: {1}
type.cook.ratio.generified={0,choice,-1#not calculated|0#{0,number} of {1}}
extract.method.control.flow.analysis.failed=Code contains syntax errors. Cannot perform necessary analysis.
pushed.members.will.not.be.visible.from.certain.call.sites=Pushed members will not be visible from certain call sites
invert.boolean.title=Invert Boolean
invert.boolean.wrong.type=Return type of the method or type of the variable to be refactored should be boolean
invert.boolean.refs.to.invert=References to be inverted {0}
invert.boolean.elements.header={0} to invert
please.enter.a.valid.name.for.inverted.element=Please enter a valid name for inverted {0}
invert.boolean.name.of.inverted.element=&Name of inverted {0}:
invert.0.1=Invert {0} {1} and its usages
0.is.a.part.of.method.hierarchy.do.you.want.to.delete.multiple.parameters={0} is a part of method hierarchy. Do you want to delete multiple parameters?
move.inner.class.to.be.moved=Class to be moved
move.specified.classes.to=Move specified classes to:
destination.directory.does.not.correspond.to.any.package=The destination directory does not correspond to any package
cannot.find.or.create.destination.directory=Cannot find or create destination directory
cannot.move=Cannot Move
cannot.move.package.into.itself=Cannot move package into itself
rename.constructor.parameters.title=Rename Constructor Parameters
rename.constructor.parameters.with.the.following.names.to=Rename parameters with the following names to:
entity.name.constructor.parameter=Parameter
replace.method.duplicates.scope.chooser.title=Specify {0} Scope
replace.method.duplicates.scope.chooser.message=Analysis scope
remove.parameter.0.no.longer.used=Remove parameter ''{0}'' no longer used
inline.to.anonymous.refactoring=Inline to Anonymous Class
inline.to.anonymous.no.abstract=Abstract classes cannot be inlined
inline.to.anonymous.no.inheritors=Classes which have subclasses cannot be inlined
inline.to.anonymous.no.multiple.interfaces=Classes which implement multiple interfaces cannot be inlined
inline.to.anonymous.no.superclass.and.interface=Classes which have a superclass and implement an interface cannot be inlined
move.class.to.inner.command.name=Move {0} to {1}
move.classes.destination.to.package=To packa&ge
move.classes.destination.make.inner=&Make inner class of
move.to.inner.duplicate.inner.class=Class {0} already contains an inner class named {1}
inline.to.anonymous.command.name=Inline class {0}
class.is.never.used=Class is never used
all.references.and.remove.the.class=Inline &all references and remove the class
this.reference.only.and.keep.the.class=Inline this reference only and &keep the class
inline.to.anonymous.name.label=Class {0}
inline.to.anonymous.border.title=Inline
move.class.to.inner.nonstatic.error=It is not allowed to move a class into a non-static inner class
move.class.to.inner.move.to.self.error=It is not allowed to move a class into itself
unsupported.refs.found=Unsupported references found in {0} files
inline.method.checking.tail.calls.progress=Checking tail call usages
extract.chained.constructor.checkbox=Extract &chained constructor
inline.parameter.refactoring=Inline Parameter
inline.parameter.confirmation=Inline parameter ''{0}'' with initializer ''{1}''?
inline.parameter.command.name=Inline Parameter {0}
inline.parameter.error.hierarchy=Inline parameter is not supported when method is a part of inheritance hierarchy
inline.parameter.error.varargs=Inline for varargs parameters is not supported
inline.parameter.replace.with.local.checkbox=R&eplace with local variable
type.migration.rerun.button.text=&Rerun Type Migration
type.migration.migrate.button.text=&Migrate
type.migration.exclude.action.text=&Exclude
type.migration.include.action.text=&Include
introduce.constant.enum.cb=Extract as &enum constant
move.enum.constant.cb=Move as &enum constants if possible
move.to.different.language=Target class {2} has different language than {0} {1}
dont.support.inner.classes=Refactoring ''Make inner class of'' is not available in {0}
move.specified.elements=Move specified elements
rename.directory.title=Rename &Directory
rename.module.title=Rename &Module

# extract method
refactoring.extract.method.dialog.title=Extract Method
refactoring.extract.method.dialog.method.name=Method name:
refactoring.extract.method.dialog.parameters=Parameters
refactoring.extract.method.dialog.output.variables=Output variables
refactoring.extract.method.dialog.signature.preview=Signature preview
refactoring.extract.method.dialog.empty=Empty
change.signature.leave.blank.default.value=Leave &blank
change.signature.feel.lucky=Feel &lucky
change.signature.use.selected.value=Use selected &value

search.for.references=Search for re&ferences
0.is.not.an.identifier=<b><code>{0}</code></b> is not a correct identifier to use in <b><code>{1}</code></b>
refactoring.is.not.supported.for.language={0} is not supported for {1}
rename.directory.command.name=Rename directory
rename.directories.command.name=Rename directories
target.destination.folder=Target &destination directory:
move.method.is.not.supported.for.0=Move instance method is not supported for {0}
detecting.possible.conflicts=Detecting possible conflicts...
path.completion.shortcut=Use {0} for path completion

rename.project.action.title=Rename Project...
rename.project.handler.title=Rename &project
enter.new.project.name=Enter new project name:
rename.project=Rename Project
renames.project=Renames project
inspection.diff.format.error=Required parameters: <old_file> <new_file> [<delta_file_name>]
inspection.command.line.explanation=Expected parameters: <project_file_path> <inspection_profile> <output_path> \
  <inspections_profile> -- use here profile name configured in the project or locally or path to the inspection profile; can be stabbed when one of the -e|-profileName|-profilePath is used\n\
  [<options>]\n \
  Available options are:\n \
  -d <directory_path>  --  directory to be inspected. Optional. Whole project is inspected by default.\n \
  -e                   --  skip  \n\
  -v[0|1|2]            --  verbose level. 0 - silent, 1 - verbose, 2 - most verbose. \n\
  -profileName         --  name of a profile defined in project \n \
  -profilePath         --  absolute path to the profile file

inspection.action.title=Inspection
inspection.action.noun=Inspection
inspection.action.profile.label=Inspection profile

inspection.disabled.title=Inspection disabled
inspection.disabled.wrong.id=Inspection ''{0}'' is disabled: ID ''{1}'' not matches ''{2}'' pattern.
inspection.disabled.error=Inspection ''{0}'' is disabled: {1}.

inspection.problem.synopsis=Problem synopsis

#export results view
inspection.export.results.description.tag=description
inspection.export.results.problem.element.tag=problem_class
inspection.export.results.can.be.final.description=Declaration can have final modifier

inspection.export.results.package=package
inspection.export.results.default=<default>
inspection.export.results.class=class
inspection.export.results.constructor=constructor
inspection.export.results.method=method
inspection.export.results.field=field
inspection.export.results.file=file
inspection.export.results.interface=interface

#can be final
inspection.can.be.final.display.name=Declaration can have final modifier
inspection.can.be.final.accept.quickfix=Make final
inspection.can.be.final.option=Report classes
inspection.can.be.final.option1=Report methods
inspection.can.be.final.option2=Report fields

#can be static
inspection.annotate.method.quickfix.name=Annotate method as ''@{0}''

#dataflow
inspection.data.flow.display.name=Constant conditions \\& exceptions
inspection.data.flow.nullable.quickfix.option=<html><body>Suggest @Nullable annotation for methods that may possibly return null and <br>report nullable values passed to non-annotated parameters</body></html>
inspection.data.flow.true.asserts.option=<html><body>Don't report assertions with condition statically proven to be always <code>true</code></body></html>
inspection.data.flow.redundant.instanceof.quickfix=Replace with != null
inspection.data.flow.simplify.boolean.expression.quickfix=Simplify Boolean Expression
inspection.data.flow.simplify.to.assignment.quickfix.name=Simplify to normal assignment
configure.annotations.option=Configure annotations
configure.checker.option.button=Configure Assert/Check Methods
configure.checker.option.main.dialog.title=Assert/Check Method Configuration
configure.checker.option.overlap.error.title=Overlapping Check
configure.checker.option.overlap.error.msg=Configuration conflicts with
configure.checker.option.isNull.add.method.checker.dialog.title=Add IsNull Check Method
configure.checker.option.isNotNull.add.method.checker.dialog.title=Add IsNotNull Check Method
configure.checker.option.assert.isNull.add.method.checker.dialog.title=Add Assert IsNull Method
configure.checker.option.assert.isNotNull.add.method.checker.dialog.title=Add Assert IsNotNull Method
configure.checker.option.assert.true.add.method.checker.dialog.title=Add Assert True Method
configure.checker.option.assert.false.add.method.checker.dialog.title=Add Assert False Method
configure.checker.option.assert.isNull.method.panel.title=Assert IsNull Methods
configure.checker.option.assert.isNotNull.method.panel.title=Assert IsNotNull Methods
configure.checker.option.isNull.method.panel.title=IsNull Check Methods
configure.checker.option.isNotNull.method.panel.title=IsNotNull Check Methods
configure.checker.option.assert.true.method.panel.title=Assert True Methods
configure.checker.option.assert.false.method.panel.title=Assert False Methods

#messages from dataflow inspection
dataflow.message.npe.method.invocation=Method invocation <code>#ref</code> #loc may produce <code>java.lang.NullPointerException</code>
dataflow.message.npe.array.access=Array access <code>#ref</code> #loc may produce <code>java.lang.NullPointerException</code>
dataflow.message.npe.field.access=Dereference of <code>#ref</code> #loc may produce <code>java.lang.NullPointerException</code>
dataflow.message.cce=Casting <code>{0}</code> to <code>#ref</code> #loc may produce <code>java.lang.ClassCastException</code>
dataflow.message.redundant.instanceof=Condition <code>#ref</code> #loc is redundant and can be replaced with <code>!= null</code>
dataflow.message.constant.condition=Condition <code>#ref</code> #loc is always <code>{0}</code>
dataflow.message.constant.condition.when.reached=Condition <code>#ref</code> #loc is always <code>{0}</code> when reached
dataflow.message.unreachable.switch.label=Switch label<code>#ref</code> #loc is unreachable
dataflow.message.pointless.assignment.expression=Condition <code>#ref</code> #loc at the left side of assignment expression is always <code>{0}</code>. Can be simplified
dataflow.message.passing.null.argument=Passing <code>null</code> argument to parameter annotated as @NotNull
dataflow.message.initializing.field.with.null=Field annotated as @NotNull is implicitly initialized with <code>null</code>
dataflow.message.passing.nullable.argument=Argument <code>#ref</code> #loc might be null
dataflow.message.assigning.null=<code>null</code> is assigned to a variable that is annotated with @NotNull
dataflow.message.assigning.nullable=Expression <code>#ref</code> might evaluate to null but is assigned to a variable that is annotated with @NotNull
dataflow.message.return.null.from.notnull=<code>null</code> is returned by the method declared as @NotNull
dataflow.message.return.nullable.from.notnull=Expression <code>#ref</code> might evaluate to null but is returned by the method declared as @NotNull
dataflow.message.return.null.from.notnullable=<code>null</code> is returned by the method which is not declared as @{0}
dataflow.message.return.nullable.from.notnullable=Expression <code>#ref</code> might evaluate to null but is returned by the method which is not declared as @{0}
dataflow.message.unboxing=Unboxing of <code>#ref</code> #loc may produce <code>java.lang.NullPointerException</code>
dataflow.too.complex=Method <code>#ref</code> is too complex to analyze by data flow algorithm

#deprecated
inspection.deprecated.display.name=Deprecated API usage
#empty method
inspection.empty.method.display.name=Empty method
inspection.empty.method.delete.quickfix=Delete Unnecessary Method(s)
inspection.empty.method.problem.descriptor=Method only calls its super
inspection.empty.method.problem.descriptor1=Empty method overrides empty method
inspection.empty.method.problem.descriptor2=The method is empty
inspection.empty.method.problem.descriptor3=The method and all it's derivables are empty
inspection.empty.method.problem.descriptor4=All implementations of this method are empty

#redundant cast
inspection.redundant.cast.display.name=Redundant type cast
inspection.redundant.cast.remove.quickfix=Remove Redundant Cast(s)
inspection.redundant.cast.problem.descriptor=Casting {0} to {1} is redundant

#redundant throws
inspection.redundant.throws.display.name=Redundant throws clause
inspection.redundant.throws.remove.quickfix=Remove unnecessary throws declarations
inspection.redundant.throws.problem.descriptor=The declared exception {0} is never thrown in method implementations
inspection.redundant.throws.problem.descriptor1=The declared exception {0} is never thrown in this method, nor in its derivables
inspection.redundant.throws.problem.descriptor2=The declared exception {0} is never thrown

inspection.equals.hashcode.display.name=equals() and hashCode() not paired
inspection.equals.hashcode.only.one.defined.problem.descriptor=Class has {0} defined but does not define {1}

inspection.1.5.display.name=Usages of API documented as @since 1.5 (1.6|1.7)
inspection.1.5.problem.descriptor=Usage of API documented as @since {0}+
inspection.1.7.problem.descriptor=Usage of generified after 1.6 API which would cause compilation problems with JDK {0}

inspection.local.can.be.final.display.name=Local variable or parameter can be final
inspection.local.can.be.final.option=Report local variables
inspection.local.can.be.final.option1=Report method parameters
inspection.local.can.be.final.option2=Report catch parameters
inspection.local.can.be.final.option3=Report foreach parameters
inspection.can.be.local.parameter.problem.descriptor=Parameter <code>#ref</code> can have <code>final</code> modifier
inspection.can.be.local.variable.problem.descriptor=Variable <code>#ref</code> can have <code>final</code> modifier

inspection.nullable.problems.display.name=@NotNull/@Nullable problems
#check box options
inspection.nullable.problems.method.overrides.notnull.option=<html>Report @NotNull &parameter overrides @Nullable and <br>@Nullable method overrides @NotNull</html>
inspection.nullable.problems.method.overrides.option=Report non-&annotated parameter or method overrides @NotNull
inspection.nullable.problems.not.annotated.getters.for.annotated.fields=Report non-annotated &setter parameter or getter of annotated fields

#problem descriptor messages
inspection.nullable.problems.Nullable.NotNull.conflict=Cannot annotate with both @{0} and @{1}
inspection.nullable.problems.Nullable.method.overrides.NotNull=Method annotated with @{0} must not override @{1} method
inspection.nullable.problems.method.overrides.NotNull=Not annotated method overrides method annotated with @{0}
inspection.nullable.problems.annotated.field.getter.not.annotated=Getter for @{0} field might be annotated @{0} itself
inspection.nullable.problems.annotated.field.getter.conflict=Getter for @{0} field is annotated @{1}
inspection.nullable.problems.annotated.field.setter.parameter.not.annotated=Setter parameter for @{0} field might be annotated @{0} itself
inspection.nullable.problems.annotated.field.setter.parameter.conflict=Setter parameter for @{0} field is annotated @{1}
inspection.nullable.problems.annotated.field.constructor.parameter.not.annotated=Constructor parameter for @{0} field might be annotated @{0} itself
inspection.nullable.problems.annotated.field.constructor.parameter.conflict=Constructor parameter for @{0} field is annotated @{1}
inspection.nullable.problems.NotNull.parameter.overrides.Nullable=Parameter annotated @{0} must not override @{1} parameter
inspection.nullable.problems.parameter.overrides.NotNull=Not annotated parameter overrides @{0} parameter
inspection.nullable.problems.primitive.type.annotation=Primitive type members cannot be annotated

inspection.test.only.problems.display.name=Test-only method call in production code
inspection.test.only.problems.test.only.method.call=Test-only method is called in production code

inspection.visibility.display.name=Declaration access can be weaker
inspection.visibility.option=Suggest package local visibility level for class members
inspection.visibility.option1=Suggest package local visibility level for top-level classes
inspection.visibility.option2=<html>Suggest private for inner class members when referenced from outer class only</html>

#can be private|package local|protected|public
inspection.visibility.compose.suggestion=Can be {0}

inspection.visibility.accept.quickfix=Accept Suggested Access Level
inspection.field.can.be.local.display.name=Field can be local
inspection.field.can.be.local.problem.descriptor=Field can be converted to a local variable
inspection.parameter.can.be.local.display.name=Parameter can be local
inspection.parameter.can.be.local.problem.descriptor=Parameter can be converted to a local variable
inspection.convert.to.local.quickfix=Convert to local

inspection.unused.return.value.display.name=Unused method return value
inspection.unused.return.value.problem.descriptor=Return value of the method is never used
inspection.unused.return.value.make.void.quickfix=Make Method void

inspection.same.return.value.display.name=Method returns the same value
inspection.same.return.value.problem.descriptor=Method always returns {0}
inspection.same.return.value.problem.descriptor1=Method and all its derivables always return {0}
inspection.same.return.value.problem.descriptor2=All implementations of this method always return {0}

inspection.dependency.violator.problem.descriptor=Dependency rule ''{0}.'' is violated

inspection.same.parameter.display.name=Actual method parameter is the same constant
inspection.same.parameter.problem.descriptor=Actual value of parameter ''{0}'' is always ''{1}''

inspection.unused.assignment.display.name=Unused assignment
inspection.unused.assignment.option=Report ++i when may be replaced with (i + 1)
inspection.unused.assignment.option1=Report i++ when changed value is not used afterwards
inspection.unused.assignment.option2=Report redundant initializers
inspection.unused.assignment.remove.quickfix=Remove Redundant Initializer
inspection.unused.assignment.remove.assignment.quickfix=Remove redundant assignment
inspection.unused.assignment.problem.descriptor1=Variable {0} is never used
inspection.unused.assignment.problem.descriptor2=Variable {0} initializer {1} is redundant
inspection.unused.assignment.problem.descriptor3=The value {0} assigned to {1} is never used
inspection.unused.assignment.problem.descriptor4=The value changed at {0} is never used
inspection.unused.assignment.problem.descriptor5=Variable {0} is never used
inspection.unused.assignment.problem.descriptor6=The variable is assigned to itself in {0}

inspection.unused.parameter.composer=Parameter <code>#ref</code> is not used in any implementation
inspection.unused.parameter.composer1=Parameter <code>#ref</code> is not used  in either this method or any of its derived methods
inspection.unused.parameter.display.name=Unused method parameters
inspection.unused.parameter.delete.quickfix=Delete Unused Parameter(s)
inspection.redundant.type.display.name=Redundant type arguments
inspection.redundant.type.remove.quickfix=Remove explicit type arguments
inspection.redundant.type.problem.descriptor=Explicit type arguments can be inferred

inspection.redundant.array.creation.display.name=Redundant array creation
inspection.redundant.array.creation.quickfix=Remove explicit array creation
inspection.redundant.array.creation.for.varargs.call.descriptor=Redundant array creation for calling varargs method

inspection.suspicious.collections.method.calls.display.name=Suspicious collections method calls
inspection.suspicious.collections.method.calls.problem.descriptor=''{0}'' may not contain objects of type ''{1}''
inspection.suspicious.collections.method.calls.problem.descriptor1=Suspicious call to ''{0}''

inspection.reference.invalid=invalid
inspection.reference.default.package=default package
inspection.reference.implicit.constructor.name=implicit constructor of {0}
inspection.reference.noname=noname
inspection.reference.anonymous.name=anonymous ({0})
inspection.reference.jsp.holder.method.anonymous.name=<% page content %>
inspection.reference.anonymous=anonymous
inspection.export.save.button=Save
inspection.export.dialog.title=Export
inspection.export.options.panel.title=Options
inspection.export.open.option=Open generated HTML in &browser
inspection.export.title=Code Inspection results
inspection.export.generating.html.for=Generating HTML:{0}
inspection.export.error.writing.to=Error writing to {0}

inspection.export.results.error.title=Inspection Results Export
inspection.export.inspections.link.text=Inspections
inspection.export.open.source.link.text=Open source
inspection.offline.view.empty.browser.text=<HTML><BODY>Select inspection result on the left to see details</BODY></HTML>
inspection.offline.view.tool.display.name.title=Name
inspection.generating.html.progress.title=Generating HTML...
inspection.generating.xml.progress.title=Dumping XML...
inspection.action.export.html=Export
inspection.action.export.popup.title=Export To
inspection.tool.description.under.construction.text=Under construction
inspection.tool.in.browser.id.title=ID
inspection.tool.in.browser.description.title=Description
inspection.action.edit.settings=Edit Settings
inspection.action.apply.quickfix=Apply a quickfix
inspection.action.apply.quickfix.description=Apply an inspection quickfix
inspection.tree.popup.title=Accept Resolution
inspection.action.rerun=Rerun Inspection
inspection.general.tools.group.name=General
inspection.empty.root.node.text=Nothing left to show
inspection.invalid.node.text=(INVALID)
inspection.problem.descriptor.count={0, choice, 0#|1#(1 item)|2#({0,number,integer} items)}
inspection.action.go.next=Go Next Problem
inspection.actiongo.prev=Go Prev Problem

inspection.javadoc.display.name=Declaration has Javadoc problems
inspection.javadoc.ref.display.name=Declaration has problems in Javadoc references
inspection.javadoc.option.tab.title.package=Package
inspection.javadoc.option.tab.title=Class
inspection.javadoc.option.tab.title.method=Method
inspection.javadoc.option.tab.title.field=Field
inspection.javadoc.option.tab.title.inner.class=Inner class
inspection.javadoc.option.ignore.deprecated=Ignore elements marked as @deprecated
inspection.javadoc.option.ignore.period=Ignore period problems

inspection.scope.for.title=Scope

inspection.javadoc.required.tags.option.title=Required Tags
inspection.javadoc.problem.descriptor=Required Javadoc is absent
inspection.javadoc.problem.descriptor1=Period in the documentation is missing. The period is used by the Javadoc tool to generate the comment for the overview page
inspection.javadoc.problem.missing.tag=Required tag {0} is missing
inspection.javadoc.problem.missing.author.description=Author is missing after @author tag
inspection.javadoc.problem.missing.version.description=Version is missing after @version tag
inspection.javadoc.problem.missing.since.description=Since is missing after @since tag
inspection.javadoc.problem.cannot.resolve=Cannot resolve symbol {0}
inspection.javadoc.problem.name.expected=Name expected
inspection.javadoc.problem.wrong.tag=Wrong tag {0}
inspection.javadoc.problem.disallowed.tag=Tag ''{0}'' is not allowed here
inspection.javadoc.method.problem.descriptor=Description is missing in {0} tag for parameter {1}
inspection.javadoc.method.problem.missing.tag.description={0} tag description is missing
inspection.javadoc.method.problem.missing.param.tag=Required tag {0} is missing for parameter {1}
inspection.javadoc.problem.duplicate.param=Duplicate @param tag for parameter ''{0}''
inspection.javadoc.problem.duplicate.throws=Duplicate @throws or @exception tag for exception ''{0}''
inspection.javadoc.problem.duplicate.tag=Duplicate @{0} tag
inspection.javadoc.problem.add.tag=Add tag @{0} {1}
inspection.javadoc.problem.add.tag.family=Add missing Javadoc tag
inspection.javadoc.problem.add.param.tag=Add tag @param for parameter ''{0}''

inspection.export.results.abstract=abstract
inspection.export.results.static=static
inspection.export.results.capitalized.class=Class
inspection.export.results.initializer=initializer
inspection.export.results.capitalized.interface=Interface
inspection.export.results.capitalized.abstract.class=Abstract\\&nbsp;class
inspection.export.results.abstract.class=abstract\\&nbsp;class
inspection.export.results.implicit.constructor=implicit constructor of

inspection.problem.resolution=Problem resolution
inspection.quickfix.assert.family=Assert
inspection.assert.quickfix=Assert ''{0}''
inspection.surround.if.quickfix=Surround with ''if ({0} != null)''
inspection.replace.ternary.quickfix=Replace with ''{0} != null ?:''
inspection.surround.if.family=Surround with if
inspection.dependency.configure.button.text=Configure dependency rules

inspection.javadoc.label.text=Additional Javadoc Tags:
inspection.javadoc.dialog.title=Edit Additional Javadoc Tags
inspection.javadoc.html.not.required.label.text=Additional Not Required Html Attributes:
inspection.javadoc.html.not.required.dialog.title=Edit Additional Not Required Html Attributes
inspection.required.attributes.display.name=Missing required attribute

inspection.unused.symbol.check.localvars=Check &Local Variables
inspection.unused.symbol.check.fields=Check &Fields
inspection.unused.symbol.check.methods=Check &Methods
inspection.unused.symbol.check.classes=Check &Classes
inspection.unused.symbol.check.parameters=Check &Parameters

inspection.results.for.profile.toolwindow.title=Results for Inspection Profile ''{0}''
inspection.export.results.invalidated.item=invalidated item
inspection.export.results.at.line=at line
inspection.descriptor.provider.apply.fix=Apply Fix {0}

inspection.export.results.capitalized.location=Location
inspection.export.results.extends.implements=Extends/implements
inspection.export.results.extended.implemented=Extended/implemented by
inspection.export.results.extended=Extended by
inspection.export.results.overrides.library.methods=Overrides library methods
inspection.export.results.overrides.implements=Overrides/implements
inspection.export.results.derived.methods=Derived methods
inspection.export.results.type.references=The following uses this type
inspection.export.results.used.from=Used from
inspection.export.results.uses=Uses the following
inspection.export.results.no.problems.found=No problems found
inspection.export.results.suppress=Suppress
inspection.export.results.callees=Call chain
inspection.export.results.anonymous.ref.in.owner=in

inspection.processing.job.descriptor=Processing project usages in
inspection.processing.job.descriptor1=Processing external usages of
inspection.processing.job.descriptor2=Analyzing code in

inspection.display.name=Analyzing code ...

inspection.action.group.by.severity=Group by Severity
inspection.action.group.by.severity.description=Group Inspections By Severity
inspection.no.jdk.error.message=The JDK is not configured properly for this project. Inspection cannot proceed.
inspection.progress.title=Inspecting Code...
inspection.no.problems.dialog.title=Code Inspection
inspection.no.problems.message=No suspicious code found
inspection.problems=problems
inspection.error.loading.message=Error reading inspection profile {0, choice, 0#from {1}|1#}
inspection.errors.occurred.dialog.title=Errors Occurred
inspection.profiles.presentable.name=Inspection profiles
inspection.severity=Se&verity:
inspection.description.title=Description
inspection.as=As {0}
inspection.new.profile.dialog.title=Create new profile
inspection.unable.to.create.profile.dialog.title=Unable to Create Profile.
inspection.unable.to.create.profile.message=Inspection profile with name ''{0}'' already exists.
inspection.profile.unnamed=Unnamed
inspection.tool.availability.in.tree.node=(available for editor highlighting)
inspection.tool.availability.in.tree.node1=(available for Analyze|Inspect Code)
inspection.error.level.popup.menu.title=Choose Error Level

inspection.application.starting.up=Starting up {0} ...
inspection.done=done.
inspection.capitalized.done=Done.
inspection.application.file.cannot.be.found=File {0} cannot be found
inspection.application.opening.project=Opening project...
inspection.application.initializing.project=Initializing project...
inspection.application.directory.cannot.be.found=Directory {0} cannot be found
inspection.application.project.has.older.format.and.will.be.converted=Project has an older format and will be converted.
inspection.application.project.was.succesfully.converted.old.project.files.were.saved.to.0=Project was succesfully converted. Old project files were saved to {0}
inspection.application.cannot.convert.project.0=Cannot convert project: {0}
inspection.application.cannot.convert.the.project.the.following.files.are.read.only.0=Cannot convert the project. The following files are read only: {0}

inspection.comparing.references.display.name=== used instead of equals()
inspection.comparing.references.use.quickfix=Use equals()
inspection.comparing.references.problem.descriptor=Suspicious comparison #ref #loc

inspection.dead.code.display.name=Unused declaration
inspection.dead.code.option=<html><code>void main(String args[])</code> methods</html>
inspection.dead.code.option2=JUnit testcases
inspection.dead.code.option3=Applets
inspection.dead.code.option4=Servlets
inspection.dead.code.option5=Classes that have usages in non-java files
inspection.export.results.dead.code=unused declaration
inspection.dead.code.comment=// --Commented out by Inspection
inspection.dead.code.date.comment=// --Commented out by Inspection ({0}):
inspection.dead.code.stop.comment=// --Commented out by Inspection STOP ({0})\n
inspection.dead.code.start.comment=// --Commented out by Inspection START ({0}):\n
inspection.dead.code.safe.delete.quickfix=Safe Delete
inspection.dead.code.comment.quickfix=Comment Out
inspection.dead.code.entry.point.quickfix=Add as Entry Point
inspection.dead.code.remove.from.entry.point.quickfix=Remove from Entry Points
inspection.dead.code.entry.points.display.name=Entry Points
inspection.dead.code.export.results.no.instantiations.found=No instantiations found.
inspection.dead.code.export.results.instantiated.from.heading=Instantiated from
inspection.dead.code.problem.synopsis=Field is never assigned.
inspection.dead.code.problem.synopsis1=Field has no usages.
inspection.dead.code.problem.synopsis2=Field is assigned but never accessed.
inspection.dead.code.problem.synopsis3=Field has one usage but it is not reachable from entry points.
inspection.dead.code.problem.synopsis4=Field has {0, choice, 1#1 usage|2#{0,number} usages} but they are not reachable from entry points.
inspection.dead.code.problem.synopsis6=Reachable. {0, choice, 1#1 usage|2#{0, number} usages} found in the project code.
inspection.dead.code.problem.synopsis6.suspicious=Not Reachable. {0, choice, 1#1 usage|2#{0, number} usages} found in the project code.
inspection.dead.code.problem.synopsis7.suspicious=Has no reachable instantiations. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis8.suspicious=Has no reachable implementation instantiations. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis9.suspicious=Anonymous class context is not reachable. Class is not instantiated. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis7=Has reachable instantiations. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis8=Has reachable implementation instantiations. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis9=Instantiated {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis10=Anonymous class declaration context is not reachable from entry points. Class is never instantiated.
inspection.dead.code.problem.synopsis11=No class references has been found. Class static initializer is not reachable.
inspection.dead.code.problem.synopsis12=Class has one instantiation but it is not reachable from entry points.
inspection.dead.code.problem.synopsis13=Class is not instantiated.
inspection.dead.code.problem.synopsis14=<ul><li>Abstract method is not implemented OR</li><li>Implementation class is never instantiated OR</li><li>An instantiation is not reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis15=<ul><li>Method owner class is never instantiated OR</li><li>An instantiation is not reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis16=Method is never used.
inspection.dead.code.problem.synopsis17=Method has usage(s) but they all belong to recursive calls chain that has no members reachable from entry points.
inspection.dead.code.problem.synopsis18=Method is not reachable from entry points.
inspection.dead.code.problem.synopsis19=Neither the class nor {0, choice, 1#its implementation|2#{0,number} its implementations} are ever instantiated.
inspection.dead.code.problem.synopsis20=Class has {0, choice, 1#instantiation|2#{0,number} instantiations} but they are not reachable from entry points.

#{0} is class or interface (translated)
inspection.dead.code.problem.synopsis21=Method is never used as a member of this {0}, but only as a member of the implementation class(es). The project will stay compilable if the method is removed from the {0}.
inspection.dead.code.problem.synopsis22=Method overrides a library method but<ul><li>its {0} is never instantiated OR</li><li>its {0} instantiation is not reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis23={0} is not implemented.
inspection.dead.code.problem.synopsis24={0} has an implementation but <ul><li>it is never instantiated OR</li><li>no instantiations are reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis25={0} has {1, choice, 1#direct or indirect implementation|2#{1,number} direct or indirect implementations} but <ul><li>they are never instantiated OR</li><li>no instantiations are reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis26.constructor=Constructor is never used.
inspection.dead.code.problem.synopsis27.constructor=Constructor has usage(s) but they all belong to recursive calls chain that has no members reachable from entry points.
inspection.dead.code.problem.synopsis28.constructor=Constructor has one usage but it is not reachable from entry points.
inspection.dead.code.problem.synopsis29.constructor=Constructor has {0, choice, 1#usage|2#{0,number} usages} but they are not reachable from entry points.

inspection.dead.code.problem.synopsis26.method=Method is never used.
inspection.dead.code.problem.synopsis27.method=Method has usage(s) but they all belong to recursive calls chain that has no members reachable from entry points.
inspection.dead.code.problem.synopsis28.method=Method has one usage but it is not reachable from entry points.
inspection.dead.code.problem.synopsis29.method=Method has {0, choice, 1#usage|2#{0,number} usages} but they are not reachable from entry points.
inspections.dead.code.entry.points.annotations.list.title=Additional entry points annotations

inspection.duplicates.display.name=Duplicate String Literal
inspection.duplicates.replace.family.quickfix=Replace
inspection.duplicates.replace.quickfix=Replace with ''{0}''
inspection.duplicates.option=&Min string length:

inspection.duplicates.message.in.this.file=(in this file)
inspection.duplicates.message.more=... ({0} more)
inspection.duplicates.message=<html><body>Duplicate string literal found in<br>{0}</body></html>

inspection.compiler.javac.quirks.name=Javac quirks
inspection.compiler.javac.quirks.anno.array.comma.problem=Trailing comma in annotation array initializer may cause compilation error in some Javac versions (e.g. JDK 5 and JDK 6).
inspection.compiler.javac.quirks.anno.array.comma.fix=Remove trailing comma
inspection.compiler.javac.quirks.qualifier.type.args.problem=Generics in qualifier reference may cause compilation error in some Javac versions (e.g. JDK 5 and JDK 6).
inspection.compiler.javac.quirks.qualifier.type.args.fix=Remove generic parameter

inspection.root.node.title=Inspections

# inspection tools list actions:
inspection.tools.action.show.global.inspections.text=Hide Global Inspections
inspection.tools.action.show.global.inspections.description=Hide Global Inspections Settings
# hardcoded inspection tools
deprecated.symbol=Deprecated symbol
unused.import=Unused import (editor light)
unused.import.statement=Unused import statement
unused.symbol=Unused symbol
redundant.throws.declaration=Redundant throws declaration
access.static.via.instance=Access static member via instance reference
wrong.package.statement=Wrong package statement
illegal.package.dependencies=Illegal package dependencies
unchecked.warning=Unchecked warning

# suppression stuff
suppress.all.for.class=Suppress all inspections for class
suppress.inspection.family=Suppress inspection
suppress.inspection.statement=Suppress for statement
suppress.inspection.class=Suppress for class
suppress.inspection.field=Suppress for field
suppress.inspection.method=Suppress for method
inspection.options.action.text=Inspection ''{0}'' options
edit.dependency.rules.family=Edit dependency rules
edit.dependency.rules.text=Edit dependency rule \"{0} \"
error.analysis.is.in.progress=Error analysis is in progress
no.errors.found.in.this.file=No errors found in this file
edit.options.of.reporter.inspection.family=Edit options of reporter inspection
edit.options.of.reporter.inspection.text=Edit inspection profile setting

#Inspection group names
group.names.abstraction.issues=Abstraction issues
group.names.assignment.issues=Assignment issues
group.names.probable.bugs=Probable bugs
group.names.bitwise.operation.issues=Bitwise operation issues
group.names.class.structure=Class structure
group.names.class.metrics=Class metrics
group.names.compiler.issues=Compiler issues
group.names.potentially.confusing.code.constructs=Potentially confusing code constructs
group.names.encapsulation.issues=Encapsulation issues
group.names.error.handling=Error handling
group.names.finalization.issues=Finalization issues
group.names.imports=Imports
group.names.initialization.issues=Initialization issues
group.names.internationalization.issues=Internationalization issues
group.names.junit.issues=JUnit issues
group.names.logging.issues=Logging issues
group.names.code.maturity.issues=Code maturity issues
group.names.method.metrics=Method metrics
group.names.naming.conventions=Naming conventions
group.names.performance.issues=Performance issues
group.names.memory.issues=Memory issues
group.names.java.language.level.issues=Java language level issues
group.names.portability.issues=Portability issues
group.names.security.issues=Security issues
group.names.serialization.issues=Serialization issues
group.names.code.style.issues=Code style issues
group.names.threading.issues=Threading issues
group.names.verbose.or.redundant.code.constructs=Verbose or redundant code constructs
group.names.visibility.issues=Visibility issues
group.names.cloning.issues=Cloning issues
group.names.resource.management.issues=Resource management issues
group.names.j2me.issues=J2ME issues
group.names.control.flow.issues=Control flow issues
group.names.numeric.issues=Numeric issues
group.names.language.level.specific.issues.and.migration.aids=Java language level migration aids
group.names.javabeans.issues=JavaBeans issues
group.names.inheritance.issues=Inheritance issues
group.names.data.flow.issues=Data flow issues
group.names.declaration.redundancy=Declaration redundancy
group.names.javadoc.issues=Javadoc issues
group.names.concurrency.annotation.issues=Concurrency annotation issues
group.names.javaee.issues=Java EE issues
group.names.properties.files=Properties Files


duplicate.property.display.name=Duplicate Property
duplicate.property.diff.key.problem.descriptor=Duplicate Property Key ''{0}'' With Different Values #end :<br>
duplicate.property.diff.key.progress.indicator.text=Processing duplicate property key: {0}
duplicate.property.key.problem.descriptor=Duplicate Property Key ''{0}'' #end With Values:<br>
duplicate.property.key.progress.indicator.text=Processing duplicate property key:{0}
duplicate.property.value.problem.descriptor=Duplicate Property Value ''{0}'' #end With Keys:<br>
duplicate.property.value.progress.indicator.text=Processing duplicate property value: {0}
duplicate.property.diff.key.option=&Duplicate keys with different values
duplicate.property.value.option=Duplicate &values
duplicate.property.key.option=Duplicate &keys
duplicate.property.file.scope.option=&File scope
duplicate.property.module.scope.option=&Module Scope
duplicate.property.project.scope.option=&Project Scope
inspection.javadoc.throws.or.exception.option=@throws or @exception

suppress.inspection.annotation.syntax.error=Incorrect annotation syntax: {0}

default.file.template.report.file.header=Report Default file header
default.file.template.report.method.body=Report default created/overridden/implemented method body
default.file.template.report.catch.section=Report default catch section
default.file.template.description=Default File template
default.file.template.display.name=Default File Template Usage
default.file.template.edit.template=Edit template...
default.file.template.replace.with.actual.file.template=Replace with actual file template

#profile stuff
profile.assignments.display.name=Errors
profile.mapping.inspection.profile.column.title=inspection profile
profile.mapping.scope.column.title=scope
boolean.method.is.always.inverted.display.name=Boolean method is always inverted
boolean.method.is.always.inverted.problem.descriptor=Boolean method <code>#ref</code> is always inverted
inspection.results.title=Results By Editor Settings
unnecessary.module.dependency.display.name=Unnecessary module dependency
unnecessary.module.dependency.problem.descriptor=Module ''{0}'' sources do not depend on module ''{1}'' sources, the dependency between modules could be removed
suspected.module.dependency.problem.descriptor=Dependency from module ''{0}'' on module ''{1}'' could be probably be removed when complementary scope to ''{2}'' also does not contain references on module ''{3}''
run.with.editor.settings.dialog.option=Run with &editor settings
inspection.new.profile.text=New Profile Name
profile.save.as.project.checkbox.title=Save as project profile
profile.save.as.ide.checkbox.title=Save as IDE profile
profile.assignment.repeatable.scope.warning=Repeatable scope. Correct assignments.
profile.ide.profile.radiobutton.title=IDE Profile
profile.project.radiobutton.title=Project Profile
profile.default.profile.title=Default Project Profile
profile.assignments.table.title=Project Inspection Profile Assignments
profile.assignments.browse.scope.button.title=&Browse ...
profile.assignments.browse.profile.scopes.dialog.title=Profiles Scopes
profile.quick.change.suggestion.message=<html>There are a few scopes configured for the project. Do you want to edit profile assignments on them?</html>
profile.quick.change.suggestion.dialog.title=Unable to switch profile
unhandled.exception.in.jsp.name=Unhandled Exception in JSP
inspection.no.modules.error.message=This project contains no modules. Inspection cannot proceed.
inspection.redundant.suppression.name=Redundant suppression
inspection.redundant.suppression.description=Redundant suppression
run.with.choosen.profile.dialog.option=Run with &chosen profile
disable.inspection.action.name=Disable inspection
group.names.packaging.issues=Packaging issues
group.names.dependency.issues=Dependency issues
group.names.modularization.issues=Modularization issues
run.inspection.on.file.intention.text=Run inspection on ...
severities.editor.dialog.title=Severities Editor
highlight.severity.create.dialog.title=New Highlight Severity
highlight.severity.create.dialog.name.label=Name
suspicious.name.combination.display.name=Suspicious variable/parameter name combination
suspicious.name.combination.options.title=Groups of names
suspicious.name.combination.options.prompt=Enter a comma-separated list of names:
suspicious.name.combination.add.titile=Add Group of Names
suspicious.name.combination.edit.title=Edit Group of Names

special.annotations.list.add.annotation.class=Add Annotation Class
special.annotations.list.annotation.class=Annotation Class
special.annotations.list.remove.annotation.class=Remove Annotation Class
dependency.injection.annotations.list=Additional Dependency Injection Annotations
special.annotations.annotations.list=Additional Special Annotations

inspection.filter.resolved.action.text=Filter resolved items
inspection.filter.show.diff.action.text=Show diff
inspection.duplicate.throws.display.name=Duplicate throws
inspection.duplicate.throws.problem=Duplicate throws
inspection.duplicate.throws.more.general.problem=There is a more general exception, ''{0}'', in the throws list already.
inspection.duplicate.throws.ignore.subclassing.option=Ignore exceptions subclassing others
inspection.filter.show.diff.only.action.text=Show diff only
inspection.new.profile.ide.to.project.warning.message=Do you want to save selected IDE profile as project profile?
inspection.new.profile.ide.to.project.warning.title=Unable to set up IDE profile for scope
profile.project.settings.banner=Project Profiles Settings
profile.project.display.name=Project Profiles
profile.banner.text=Inspection profile: {0} {1, choice, 0#(inactive)|1#}
profile.ide.tree.text=IDE Profiles
profile.ide.settings.banner=IDE Profiles Settings
profile.project.settings.disable.text=< Use IDE Profile >
errors.single.profile.title=Errors: ''{0}'' inspection profile
rename.inspection.profile=Rename inspection profile
rename.message.prefix.inspection.profile=Inspection profile
default.ide.profile.label.text=Default IDE profile:
profile.lock.action.text=Lock
profile.unlock.action.text=Unlock
profile.activate.action.text=Set as project default
profile.project.activate.action.text=Set as IDE default
inspection.annotate.quickfix.overridden.method.messages=Method {0} {1} method {2}.\nAnnotate the base method as well?
inspection.annotate.quickfix.overridden.method.warning=Overridden Method Warning
inspection.annotate.quickfix.implements=implements
inspection.annotate.quickfix.overrides=overrides
offline.inspections.jdk.not.found={0} not found
offline.inspections.module.jdk.not.found=Please, specify sdk ''{0}'' for module ''{1}''
inconsistent.resource.bundle.display.name=Inconsistent Resource Bundle
inconsistent.bundle.property.error=Inconsistent property ''{0}''. Must be defined in the parent file ''{1}''.
inconsistent.bundle.untranslated.property.error=Untranslated property ''{0}''. Should be overridden in the ''{1}''.
inconsistent.bundle.report.missing.translations=Report &missing translations
inconsistent.bundle.report.inconsistent.properties=Report &inconsistent properties
inconsistent.bundle.report.duplicate.properties.values=Report properties &overridden with the same value
inconsistent.bundle.property.inherited.with.the.same.value=Property inherited from the ''{0}'' file with the same value
edit.inspection.options=Edit ''{0}'' Options
offline.view.title=Offline View
offline.view.editor.settings.title=Editor Settings
offline.view.parse.exception.title=Nothing found to display
parsing.inspections.dump.progress.title=Parsing inspections XML dump

suppress.inspection.problem=Suppress
inspections.view.options.title=Inspection {0} options
inspections.result.view.exclude.action.text=Exclude
inspections.result.view.include.action.text=Include
xml.suppressable.for.tag.title=Suppress for tag
xml.suppressable.for.file.title=Suppress for file
xml.suppressable.all.for.file.title=Suppress all for file
annotate.overridden.methods.as.notnull=Annotate overridden methods as ''@{0}''
nullable.stuff.problems.overridden.methods.are.not.annotated=Overridden methods are not annotated
nullable.stuff.problems.overridden.method.parameters.are.not.annotated=Overridden method parameters are not annotated
annotate.overridden.methods.parameters=Annotate overridden method parameters as ''@{0}''
offline.inspections.library.was.not.resolved=Please configure library ''{0}'' which is used in module ''{1}''
report.suspicious.but.possibly.correct.method.calls=&Report suspicious but possibly correct method calls
unused.library.display.name=Unused library
unused.library.problem.descriptor=Unused library ''{0}''
unused.library.roots.problem.descriptor=Unused roots {0} from library ''{1}''
unused.library.backward.analysis.job.description=Perform backward analysis
inspection.duplicates.option.report.propertykey.expressions=&Ignore @PropertyKey expressions
inspection.same.parameter.fix.name=Inline value ''{1}'' for parameter ''{0}''
fix.all.inspection.problems.in.file=Fix all ''{0}'' problems
severities.default.settings.message=Edit Settings|Colors \\& Fonts
unsupported.character.for.the.charset=Unsupported characters for the charset ''{0}''
lossy.encoding=Lossy encoding
inspection.duplicated.code.display.name=Duplicated Code
inconsistent.line.separators=Inconsistent line separators
inspection.unused.symbol.public.method.parameters=Check parameters in &Non-private methods
introduce.constant.across.the.project=Introduce Constant Across the Project
inspection.application.chosen.profile.log\ message=Inspecting with profile ''{0}''
detach.library.quickfix.name=Detach library
detach.library.roots.quickfix.name=Detach unused library roots
inspection.javadoc.problem.pointing.to.itself=Javadoc pointing to itself

inspection.redirect.template=<html><body>Injected element has problem: {0} (in <a href=\"#navigation/{1}:{2}\">{3}</a>). </body></html>
nothing.found=Nothing found
special.annotations.list.annotation.pattern=Add Annotations Pattern

inspection.variable.assigned.to.itself.display.name=Variable is assigned to itself
assignment.to.itself.problem.descriptor=Variable ''{0}'' is assigned to itself
assignment.to.declared.variable.problem.descriptor=Variable ''{0}'' is initialized with self assignment
command.0.execution.failed.with.exit.code.1=Command \"{0}\" execution failed with exit code {1}
aidl.filetype.description=Android IDL files
add.string.resource.intention.text=Extract string resource
extract.dimension.intention.text=Extract dimension resource
resource.name=Resource name
intention.family=Android
package.not.found.error=Package is not specified in the manifest file
cannot.resolve.flag.error=Cannot resolve flag
cannot.resolve.format.error=Cannot resolve format
create.value.resource.quickfix.name=Create value resource ''{0}'' in ''{1}''
create.value.resource.intention.name=Create {0} value resource ''{1}''
create.file.resource.quickfix.name=Create resource file ''{0}'' in {1}
create.file.resource.intention.name=Create {0} resource file ''{1}''
quick.fixes.family=Android Quick Fixes
not.resource.file.error=File {0} is not resource file
check.resource.dir.error=Cannot find resource directory for module {0}
choose.device.dialog.title=Choose Device
replace.avd.question=AVD {0} already exists. Replace?
create.avd.dialog.title=Create Android Virtual Device
rename.alternate.resources.question=Rename alternative resources for other configurations?
rename.dialog.title=Rename
specify.avd.name.error=Please specify AVD name
select.platform.error=Please select Android SDK
avd.dialog.title=Select Android Virtual Device
select.compatible.avd.error=Please select compatible AVD
cant.remove.avd.error=Cannot remove AVD. Please close the emulator
cant.load.avds.error=Cannot reload AVD list. Please check SDK
build.android.module.process.title=Create Android main package
package.name.must.contain.2.ids.error=A package name must contain 2 segments (i.e. com.example)
specify.platform.error=Please specify Android SDK
cannot.connect.to.adb.error=Cannot connect to ADB. Possibly Android SDK is not specified.
specify.main.package.error=Android main package in module {0} not specified
android.module.type.name=Application Module
android.module.type.description=Android application modules are used for developing mobile applications targeting the Android OS.
not.valid.acvitiy.name.error=Not a valid Activity name "{0}"
specify.package.name.error=A package name must be specified
not.valid.package.name.error=Not a valid package name "{0}"
cant.find.activity.class.error=Cannot find android.app.Activity class
cant.find.class.error=Cannot find {0} class
activity.class.not.specified.error=Activity class not specified
not.activity.subclass.error={0} is not an Activity subclass or alias
no.facet.error=No Android facet found for {0}
android.logcat.tab.title=Logcat
android.adb.logs.tab.title=ADB logs
android.logcat.title=Android
android.logcat.error.dialog.title=Android Logcat Error
android.logcat.color.page.name=Android Logcat
warning.level.title=Warning
verbose.level.title=Verbose
info.level.title=Info
debug.level.title=Debug
error.level.title=Error
assert.level.title=Assert
rename.resource.question=Rename resource "{0}"?
rename.resource.dialog.text=Rename resource {0} to
create.project.library=Create &Project library ''{0}''
create.global.library=Create Glob&al library ''{0}''
create.library.dialog.title=Create Android library
select.target.dialog.text=Please select Android Target
default.activity.not.found.error=Default Activity not found
activity.not.launchable.error=The intent-filter of the activity must contain {0} action
activity.not.declared.in.manifest=The activity ''{0}'' is not declared in AndroidManifest.xml
activity.declared.but.manifest.merging.disabled=The activity ''{0}'' is declared in library module ''{1}'', but manifest merging is disabled for app module ''{2}''
new.typed.resource.command.name=New {0} resource file
new.typed.resource.dialog.title=New {0} Resource File
new.file.dialog.text=Enter a new file name
new.typed.resource.action.description=Create a new {0} resource file
new.typed.resource.action.title={0} resource file
new.resource.action.title=Android resource file
new.resource.dir.action.title=Android resource directory
new.resource.action.description=Create new resource file
new.resource.command.name=New resource file
new.resource.dialog.title=New Resource File
new.resource.dir.command.name=New resource directory
new.resource.dir.dialog.title=New Resource Directory
no.android.targets.error=Cannot find any Android targets in this SDK
android.choose.color=Choose color
android.run.configuration.type.name=Android Application
android.run.configuration.type.description=Android launch/debug configuration
android.test.run.configuration.type.name=Android Tests
android.test.run.configuration.type.description=Android unit testing configuration
android.run.configuration.package.label=Pac&kage
android.run.configuration.class.label=C&lass
android.run.configuration.method.label=Me&thod
android.run.configuration.all.in.module.radio=&All in Module
android.run.configuration.all.in.package.radio=All &in Package
android.run.configuration.class.radio=Cla&ss
android.browse.test.class.dialog.title=Select Test class
android.run.configuration.method.radio=M&ethod
android.test.run.configuration.instrumentation.label=Specific instrumentation &runner (optional)
android.browse.instrumentation.class.dialog.title=Select Instrumentation class
instrumentation.runner.class.not.specified.error=Instrumentation runner class not specified
cannot.find.testcase.error=Cannot find junit.framework.TestCase class
android.run.configuration.do.nothing.label=&Do not launch Activity
target.package.not.specified.error=Target package is not specified in AndroidManifest.xml
android.run.configuration.network.spped.label=&Network Speed:
android.run.configuration.network.latency.label=N&etwork Latency:
android.run.configuration.wipe.user.data.label=&Wipe user data
android.run.configuration.disable.boot.animation.label=Disable &boot animation
android.run.configuration.command.line.label=Additional &command line options
android.run.configuration.logcat.skip.content.label=&Clear log before launch
android.avd.error.title=AVD error
cant.load.avds.error.prefix=Cannot reload AVD list:
android.export.signed.package.action.text=Export Signed Application Package
android.generate.signed.apk.action.text=Generate Signed APK...
android.generate.signed.apk.use.gradle.message=<html>For Gradle-based projects, the signing configuration should be specified in the \
  Gradle build scripts.<p>\n\
  Configure your signing configurations as described in the user guide:\n\n\
  <a href=\"http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations\">http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations</a><br>\n\n\
  Then, run "gradle assembleRelease", and you will find your APK in the build/apk/ directory.</html>"
android.unable.to.get.output.directory.error=Unable to get the output folder of the project
android.file.not.exist.error=File {0} doesn't exist
android.project.contains.errors.error=The project contains errors
android.export.package.existing.keystore.label=&Use existing keystore
android.export.package.new.keystore.label=&Create new keystore
android.export.package.keystore.location.label=&Location:
android.password.label=Pa&ssword:
android.confirm.password.label=&Confirm:
android.export.package.passwords.not.match.error=Passwords do not match
android.export.package.specify.keystore.location.error=Please specify keystore location
android.export.package.specify.key.password.error=Please specify password for key
android.export.package.specify.key.store.password.error=Please specify password for key store
android.export.package.specify.password.error=Please specify password
android.export.package.incorrect.password.length=Password must be at least 6 characters
android.cannot.find.directory.error=Cannot find directory {0}
android.cannot.find.file.error=Cannot find file {0}
android.export.package.new.key.label=&Create a new key
export.android.package.existing.key.label=&Use an existing key
android.export.package.key.alias.label=&Alias:
android.export.package.keystore.error.title=Keystore loading error
android.extract.package.select.key.alias.error=Please select alias
android.export.package.key.validity.label=&Validity (years):
android.export.package.key.certificate.name.label=&First and Last Name:
android.export.package.organization.unit.label=&Organizational Unit:
android.export.package.city.label=City or &Locality:
android.export.package.state.label=S&tate or Province:
android.export.package.country.code.label=Country Code (&XX):
android.export.package.specify.key.alias.error=Please specify key alias
android.export.package.specify.certificate.field.error=At least one Certificate issuer field is required to be non-empty
android.export.package.organization.label=O&rganization:
android.cannot.create.new.key.error=Cannot create new key or keystore
android.create.new.key.error.prefix=Key was created with errors:
android.cannot.find.parent.directory.error=Cannot find parent directory for file {0}
android.extract.package.choose.keystore.title=Choose keystore file
android.export.package.destination.akp.label=&Destination APK path:
android.extract.package.cannot.find.key.error=Cannot find key {0}
android.extract.package.specify.apk.path.error=Please specify destination APK path
android.extract.package.task.title=Generating APK file
android.export.package.wizard.title=Generate Signed APK Wizard
android.export.package.success.message=File {0} was successfully created
avd.not.found.error=AVD {0} not found
android.no.facet.error=No Android facet found in the module
avd.not.valid.error=AVD {0} is not valid
avd.not.compatible.error=Build target of AVD {0} is not compatible with your build target
avd.cannot.be.loaded.error=Cannot load virtual devices
navigate.to.android.resource.action=Navigate to Android resource definition
android.identifier.expected={0} is not an identifier
android.directory.cannot.be.found.error="{0}" directory cannot be found
create.run.configuration.question=Do you want to create run configuration for module {0}?
create.run.configuration.title=Create Android Run Configuration
file.must.be.under.module.error=Cannot compute relative path for {0}
android.extract.package.choose.dest.apk=Choose destination APK file
android.cannot.create.file.error=Cannot create file {0}
android.cannot.create.dir.error=Cannot create directory {0}
android.manifest.not.found.error=AndroidManifest.xml doesn't exist or has incorrect root tag
android.apt.settings.title=R.java and Manifest.java files
android.aidl.settings.title=AIDL Compiler
android.generate.r.java.checkbox=Re&generate R.java file when resources are changed
android.dest.directory.title=Director&y for generated files\:
android.generate.r.java.by.res.dir=Use res&ource directory specified at "Structure" section
android.use.custom.r.java.source.dir=Use custo&m resource directory\:
android.regenerate.idl.when.changed.checkbox=Regenerate &Java files when AIDL files are changed
android.wizard.application.project.button=&Application
android.wizard.lib.project.button=&Library
android.wizard.test.project.button=&Test
android.wizard.tested.project.label=Tested &module:
android.wizard.specify.tested.module.error=Please specify tested module
android.wizard.tested.module.without.facet.error=Tested module must contain Android facet
android.wizard.cannot.find.module.parent.dir.error=Cannot find module parent directory: {0}
android.wizard.invalid.sdk.error=Android SDK is invalid
android.facet.editor.is.library.checkbox=Li&brary module
android.run.sdk.manager.action.text=SDK Manager
android.run.avd.manager.action.text=AVD Manager
android.choose.sdk.label=Please choose Android SDK location
android.choose.sdk.title=Choose SDK
copy.resources.from.artifacts.setting=R&un "process-resources" Maven task before Make
android.apk.settings.title=Resources Packaging
android.create.avd.dialog.sdcard.size=S&ize:
android.create.avd.dialog.sdcard.file=&File:
android.create.avd.dialog.sdcard.title=SDCard
android.create.avd.dialog.sdcard.file.browser.title=Select SDCard file
android.facet.settings.res.overlay.panel.title=Res-overlay directories
android.facet.setting.res.overlay.add=A&dd
android.facet.settings.res.overlay.remove=Rem&ove
android.inspections.group.name=Android
android.lint.inspections.subgroup.name=Lint
android.lint.inspections.group.name=Android Lint
android.inspections.dom.name=Android Resources Validation
android.inspections.unknown.attribute.name=Unknown Android XML attribute
android.inspections.unknown.attribute.message=Unknown attribute {0}
android.facet.settings.generate.unsigned.apk=Generate unsigned AP&K
android.compile.messages.generating.r.java=Generating R.java...
android.compile.messages.generating.r.java.content.name=Generating sources
android.compile.messages.copying.sources.from.libraries=Copying sources from libraries...
android.new.component.action.title=Android (Other)
android.new.component.action.title.non.gradle=Android Component
android.new.component.action.description=Create a new Android object from the Other category
android.new.component.action.command.name=New Android Component
android.new.component.dialog.activity.item=Activity
android.new.component.dialog.fragment.item=Fragment
android.new.component.dialog.service.item=Service
android.new.component.dialog.broadcast.receiver.item=Broadcast Receiver
android.new.component.dialog.broadcast.remote.interface=Remote Interface
android.enable.adb.service.action.title=Enable ADB Integration
android.enable.adb.service.action.description=Enable/disable integration with Android debug bridge
android.ddms.disabled.error=You have to enable ADB integration to launch debugging. Do you want to do that?
android.ddms.disabled.dialog.title=ADB Integration Disabled
android.dex.compiler.vm.options.title=Android DX Compiler VM Options
android.proguard.vm.options.title=Android ProGuard VM Options
android.dex.compiler.configurable.display.name=Android Compilers
android.run.configuration.general.tab.title=General
android.run.configuration.emulator.tab.title=Emulator
android.run.configuration.logcat.tab.title=Logcat
android.facet.settings.apk.path.label=A&PK path:
android.run.confguration.deploy.and.install.check.box=D&eploy application
android.logcat.no.android.facets.error=There is no Android facets in the project
android.facet.settings.compile.resources.by.ide=&Generate by IDE
android.keystore.password.label=Pa&ssword:
android.keystore.confirm.password.label=C&onfirm:
android.export.package.new.key.alias.label=&Alias:
android.key.password.label=Pa&ssword:
android.cannot.run.library.project.error=The module cannot be Android library
android.cannot.run.library.project.in.this.buildtype=The currently selected Gradle build type does not support instrumentation tests
android.compilation.error.specify.platform=[{0}] Android SDK is not specified or cannot be parsed
android.compilation.error.manifest.not.found=[{0}] AndroidManifest.xml file not found. Please, check Android facet settings.
android.compilation.error.apt.gen.not.specified=AAPT destination directory not specified for module {0}
android.compilation.error.apk.path.not.specified=Final APK path not specified for module {0}
android.restart.logcat.action.text=Restart
android.restart.logcat.action.description=Restart logging
android.new.component.dialog.application.item=Application
android.sdk.presentable.name=Android SDK
android.sdk.configure.jdk.error=Please configure internal JDK
no.jdk.for.android.found.error=No Java SDK of appropriate version found. In addition to the Android SDK, you need to define a JDK 1.5, 1.6 or 1.7
no.jdk.error=You need to create at least one JDK of versions 1.5, 1.6 or 1.7
cannot.parse.sdk.error=Cannot parse Android SDK
android.add.sdk.tooltip=Add SDK
android.console.tool.window.title=Android Console
ddms.corrupted.error=Warning: debug info can be unavailable. Please close other application using ADB: Monitor, DDMS, Eclipse
android.import.dependencies.error.message.header=Importing finished with errors:
android.import.dependencies.add.module.dependency.task.title=Add dependency {0} --> {1}
android.import.dependencies.new.module.task.title=Create library module {0} in {1}
android.import.dependencies.import.module.task.title=Import library module {0} from {1}
android.import.dependencies.dialog.title=Import Android Dependencies From Property Files
android.import.dependencies.source.roots.dialog.title=Import Source Roots
android.import.dependencies.source.roots.dialog.label=Choose source roots to add to your project
sdk.broken.error=Cannot parse Android SDK. Please reconfigure it in Android facet settings
android.layout.preview.cannot.load.library.error=Failed to load platform rendering library
android.layout.preview.tool.window.title=Preview
android.layout.preview.default.error.message=Cannot perform rendering
android.layout.preview.zoom.in.action.text=Zoom In
android.layout.preview.zoom.out.action.text=Zoom Out
android.layout.preview.zoom.actual.action.text=Zoom to actual size
android.layout.preview.zoom.to.fit.action.text=Zoom to Fit
android.layout.preview.refresh.action.text=Refresh
restart.adb.fix.text=Restart ADB integration and try again
android.layout.preview.edit.configuration.available.qualifiers.label=A&vailable qualifiers:
android.layout.preview.edit.configuration.choosen.qualifiers.label=C&hosen qualifiers:
new.resource.dir.action.name=Creating resource directory "{0}"
new.resource.action.name=Creating resource file "{0}"
android.renderscript.file.type.description=Android renderscript files
android.renderscript.compiler.description=Android Renderscript Compiler
android.extended.device.chooser.running.device.radio=&Choose a running device
android.extended.device.chooser.launch.emulator.radio=&Launch emulator
android.extended.device.chooser.avd.label=&Android virtual device:
deployment.target.settings.show.dialog=Show &chooser dialog
deployment.target.settings.usb.device=&USB device
deployment.target.settings.emulator=Emulato&r
deployment.target.settings.prefer.avd.label=&Prefer Android Virtual Device:
deployment.target.settings.title=Target Device
deployment.target.settings.wizard.configure.later=Do not create run configuration
deployment.target.settings.wizard.show.dialog=Show device chooser dialog
deployment.target.settings.wizard.usb.device=USB device
deployment.target.settings.wizard.emulator=Emulator
deployment.failed.uninstall.prompt.text=Installation failed since the device already has an application with the same package but a different signature.\n\
  In order to proceed, you have to uninstall the existing application.\n\n\
  WARNING: Uninstalling will remove the application data!\n\n\
  Do you want to uninstall the existing application?
deployment.failed.title=Application Installation Failed
deployment.failed.no.certificates.explanation=Installation failed since the APK was either not signed, or signed incorrectly.\n\
  If this is a Gradle-based project, then make sure the signing configuration is specified in the Gradle build script.
android.compilation.error.cannot.create.png.cache.directory=Cannot create PNG cache directory for module {0}
android.inspections.non.constant.res.ids.in.switch.name=Non-constant resource ID in a switch statement
android.inspections.non.constant.res.ids.in.switch.message=Resource IDs cannot be used in a switch statement in Android library modules
android.logcat.clear.log.action.title=Clear logcat
android.logcat.clear.log.action.tooltip=Clears logcat buffer on device
android.logcat.filters.none=No Filters
android.logcat.filters.edit=Edit Filter Configuration
android.logcat.new.filter.dialog.name.label=&Name\:
android.logcat.new.filter.dialog.tag.label=by Log &Tag (regex)\:
android.logcat.new.filter.dialog.message.label=by Log &Message (regex)\:
android.logcat.new.filter.dialog.pid.label=by &PID\:
android.logcat.new.filter.dialog.package.name.label=by P&ackage Name\:
android.logcat.new.filter.dialog.log.level.label=by Log &Level\:
android.logcat.new.filter.dialog.name.not.specified.error=Filter name is not specified
android.logcat.new.filter.dialog.incorrect.log.tag.pattern.error=Invalid log tag regex pattern
android.logcat.new.filter.dialog.incorrect.message.pattern.error=Invalid log message regex pattern
android.logcat.new.filter.dialog.incorrect.application.name.pattern.error=Invalid application name regex pattern
android.logcat.new.filter.dialog.incorrect.pid.error=PID must be a positive integer
android.logcat.new.filter.dialog.title=Create New Logcat Filter
android.logcat.edit.filter.dialog.title=Edit Logcat Filter
android.logcat.edit.logcat.filter.button=Edit selected logcat filter
android.logcat.remove.logcat.filter.button=Remove selected logcat filter
android.logcat.add.logcat.filter.button=Add a new logcat filter
android.logcat.new.logcat.dialog.label=<html>Filter logcat messages by different parameters.<br>Empty fields will match all messages.</html>
android.logcat.new.filter.dialog.name.busy.error=Filter {0} already exists
android.logcat.edit.filter.dialog.no.filters=Click on the add icon to add a filter

android.emulator=Emulator
android.ddms.devicepanel.title=Devices
android.ddms.nodevices=[none]

android.ddms.actions.terminate.vm=Terminate Application
android.ddms.actions.terminate.vm.description=Terminates selected Android Application
android.ddms.actions.initiate.gc=Initiate GC
android.ddms.actions.initiate.gc.description=Initiates garbage collection on selected VM
android.ddms.actions.dump.hprof=Dump Java Heap
android.ddms.actions.dump.hprof.description=Dump Java Heap for selected client
android.ddms.actions.dump.hprof.error.unsupported=Heap dump; Older devices aren't supported yet. Please manually retrieve the file from the device using\n\
  $ adb pull {0}
android.ddms.actions.dump.hprof.saved=Heap dump saved as: {0}
android.ddms.actions.dump.hprof.savedialog.title=Save Heap Dump
android.ddms.actions.screenshot=Screen Capture
android.ddms.actions.screenshot.description=Obtain a screenshot from the device
android.ddms.actions.screenrecord=Screen Record
android.ddms.actions.screenrecord.description=Record a video of the device display
android.ddms.actions.methodprofile.start=Start Method Tracing
android.ddms.actions.methodprofile.stop=Stop Method Tracing
android.ddms.screenshot.task.step.obtain=Obtaining screenshot from device...
android.ddms.screenshot.task.step.load=Loading screenshot into memory...
android.ddms.screenshot.task.error1=Unexpected error while obtaining screenshot from device: {0}
android.ddms.screenshot.task.error.invalid.bpp=Unsupported image (bits per pixel = {0}) received from device
android.ddms.screenshot.save.error=Unexpected error while saving screenshot: {0}
android.ddms.screenshot.generic.error=Unexpected error while obtaining screenshot: {0}
android.ddms.screenshot.save.title=Save as PNG
android.ddms.screenshot.save.ok.button.text=Save
android.ddms.screenshot.image.processor.task.title=Updating Image
android.ddms.screenrecord.options.ok.button.text=Start Recording
android.ddms.screenrecorder.info=<html>Screen Recorder can record the device's display for a maximum of 3 minutes.<br>\
  By default, it records at the device's native resolution or at 720p at a 4 Mbps bitrate.<br>\
  You can customize these options below. Leave empty to use defaults.</html>
android.compile.messages.processing.external.apklib.dependencies=Processing external apklib dependencies
android.maven.cannot.parse.android.sdk.error=Cannot parse Android SDK for module {0}. Try to force reimport from Maven model
android.facet.settings.custom.debug.keystore.label=C&ustom debug keystore\:
android.export.package.run.proguard.label=Run &ProGuard
android.export.package.proguad.config.label=C&onfig file path\:
android.extract.package.specify.proguard.cfg.path.error=Please specify ProGuard config file path
android.facet.settings.pack.test.sources=Include test code and resources into APK
android.inspections.lint.name=Android Lint Validation
android.lint.quickfixes.family=Android Lint Quick Fixes
android.lint.inspections.aapt.crash=Potential AAPT crash
android.lint.inspections.adapter.view.children=AdapterViews cannot have children in XML
android.lint.inspections.allow.backup=Missing allowBackup attribute
android.lint.inspections.always.show.action=Usage of showAsAction\=always
android.lint.inspections.assert=Assertions
android.lint.inspections.back.button=Back button
android.lint.inspections.button.case=Cancel/OK dialog button capitalization
android.lint.inspections.button.order=Button order
android.lint.inspections.button.style=Button should be borderless
android.lint.inspections.byte.order.mark=Byte order mark inside files
android.lint.inspections.commit.pref.edits=Missing commit() on SharedPreference editor
android.lint.inspections.content.description=Image without contentDescription
android.lint.inspections.cut.paste.id=Likely cut & paste mistakes
android.lint.inspections.device.admin=Device Admin cannot be deactivated
android.lint.inspections.disable.baseline.alignment=Missing baselineAligned attribute
android.lint.inspections.draw.allocation=Memory allocations within drawing code
android.lint.inspections.duplicate.activity=Activity registered more than once
android.lint.inspections.duplicate.definition=Duplicate definitions of resources
android.lint.inspections.duplicate.ids=Duplicate ids within a single layout
android.lint.inspections.duplicate.included.ids=Duplicate ids across layouts combined with include tags
android.lint.inspections.duplicate.uses.feature=Feature declared more than once
android.lint.inspections.easter.egg=Code contains easter egg
android.lint.inspections.enforce.utf8=Encoding used in resource files is not UTF-8
android.lint.inspections.exported.content.provider=Content provider does not require permission
android.lint.inspections.exported.receiver=Receiver does not require permission
android.lint.inspections.exported.service=Exported service does not require permission
android.lint.inspections.extra.text=Extraneous text in resource files
android.lint.inspections.extra.translation=Extra translation
android.lint.inspections.gif.usage=Using .gif format for bitmaps is discouraged
android.lint.inspections.gradle.compatible=Incompatible Gradle Versions
android.lint.inspections.gradle.dependency=Obsolete Gradle Dependency
android.lint.inspections.gradle.dynamic.version=Gradle Dynamic Version
android.lint.inspections.gradle.getter=Gradle Implicit Getter Call
android.lint.inspections.gradle.ide.error=Gradle IDE Support Issues
android.lint.inspections.gradle.overrides=Value overridden by Gradle build script
android.lint.inspections.gradle.path=Gradle Path Issues
android.lint.inspections.grant.all.uris=Content provider shares everything
android.lint.inspections.grid.layout=GridLayout validation
android.lint.inspections.hardcoded.debug.mode=Hardcoded value of android\:debuggable in the manifest
android.lint.inspections.hardcoded.text=Hardcoded text
android.lint.inspections.icon.colors=Icon colors do not follow the recommended visual style
android.lint.inspections.icon.densities=Icon densities validation
android.lint.inspections.icon.dip.size=Icon density-independent size validation
android.lint.inspections.icon.duplicates=Duplicated icons under different names
android.lint.inspections.icon.duplicates.config=Identical bitmaps across various configurations
android.lint.inspections.icon.expected.size=Icon has incorrect size
android.lint.inspections.icon.extension=Icon format does not match the file extension
android.lint.inspections.icon.launcher.shape=The launcher icon shape should use a distinct silhouette
android.lint.inspections.icon.location=Image defined in density-independent drawable folder
android.lint.inspections.icon.missing.density.folder=Missing density folder
android.lint.inspections.icon.mixed.nine.patch=Clashing PNG and 9-PNG files
android.lint.inspections.icon.no.dpi=Icon appears in both -nodpi and dpi folders
android.lint.inspections.icon.xml.and.png=Icon is specified both as .xml file and as a bitmap
android.lint.inspections.illegal.resource.ref=Name and version must be integer or string, not resource
android.lint.inspections.inflate.params=Layout Inflation without a Parent
android.lint.inspections.in.or.mm.usage=Using mm or in dimensions
android.lint.inspections.inconsistent.arrays=Inconsistencies in array element counts
android.lint.inspections.inconsistent.layout=Inconsistent Layouts
android.lint.inspections.inefficient.weight=Inefficient layout weight
android.lint.inspections.inlined.api=Using inlined constants on older versions
android.lint.inspections.innerclass.separator=Inner classes should use $ rather than .
android.lint.inspections.invalid.id=Invalid ID declaration
android.lint.inspections.label.for=Missing labelFor attribute
android.lint.inspections.library.custom.view=Custom views in libraries should use res-auto-namespace
android.lint.inspections.local.suppress=@SuppressLint on invalid element
android.lint.inspections.mangled.crlf=Mangled file line endings
android.lint.inspections.manifest.order=Incorrect order of elements in manifest
android.lint.inspections.menu.title=Missing menu title
android.lint.inspections.merge.root.frame=FrameLayout can be replaced with <merge> tag
android.lint.inspections.missing.application.icon=Missing application icon
android.lint.inspections.missing.id=Fragments should specify an id or tag
android.lint.inspections.missing.prefix=Missing Android XML namespace
android.lint.inspections.missing.quantity=Missing quantity translation
android.lint.inspections.missing.super.call=Missing Super Call
android.lint.inspections.missing.translation=Incomplete translation
android.lint.inspections.missing.version=Missing application name/version
android.lint.inspections.mock.location=Using mock location provider in production
android.lint.inspections.multiple.uses.sdk=Multiple <uses-sdk> elements in the manifest
android.lint.inspections.nested.scrolling=Nested scrolling widgets
android.lint.inspections.nested.weights=Nested layout weights
android.lint.inspections.new.api=Calling new methods on older versions
android.lint.inspections.nfc.tech.whitespace=Whitespace in NFC tech lists
android.lint.inspections.not.sibling=RelativeLayout Invalid Constraints
android.lint.inspections.obsolete.layout.param=Obsolete layout params
android.lint.inspections.old.target.api=Target SDK attribute is not targeting latest version
android.lint.inspections.orientation=Missing explicit orientation
android.lint.inspections.overdraw=Overdraw\: Painting regions more than once
android.lint.inspections.override=Method conflicts with new inherited method
android.lint.inspections.packaged.private.key=Packaged private key
android.lint.inspections.private.resource=Using private resources
android.lint.inspections.proguard=Using obsolete ProGuard configuration
android.lint.inspections.proguard.split=Proguard.cfg file contains generic Android rules
android.lint.inspections.property.escape=Incorrect property escapes
android.lint.inspections.protected.permissions=Using system app permission
android.lint.inspections.px.usage=Using 'px' dimension
android.lint.inspections.reference.type=Incorrect reference types
android.lint.inspections.registered=Class is not registered in the manifest
android.lint.inspections.required.size=Missing layout_width or layout_height attributes
android.lint.inspections.res.auto=Hardcoded Package in Namespace
android.lint.inspections.resource.as.color=Should pass resolved color instead of resource id
android.lint.inspections.resource.cycle=Cycle in resource definitions
android.lint.inspections.rtl.compat=Right-to-left text compatibility issues
android.lint.inspections.rtl.enabled=Using RTL attributes without enabling RTL support
android.lint.inspections.rtl.hardcoded=Using left/right instead of start/end attributes
android.lint.inspections.rtl.symmetry=Padding and margin symmetry
android.lint.inspections.scroll.view.count=ScrollViews can have only one child
android.lint.inspections.scroll.view.size=ScrollView size validation
android.lint.inspections.sd.card.path=Hardcoded reference to /sdcard
android.lint.inspections.selectable.text=Dynamic text should probably be selectable
android.lint.inspections.service.cast=Wrong system service casts
android.lint.inspections.set.java.script.enabled=Using setJavaScriptEnabled
android.lint.inspections.show.toast=Toast created but not shown
android.lint.inspections.small.sp=Text size is too small
android.lint.inspections.sp.usage=Using dp instead of sp for text sizes
android.lint.inspections.state.list.reachable=Unreachable state in a <selector>
android.lint.inspections.stop.ship=Code contains STOPSHIP marker
android.lint.inspections.string.format.count=Formatting argument types inconsistent across translations
android.lint.inspections.string.format.invalid=Invalid format string
android.lint.inspections.string.format.matches=String.format string doesn't match the XML format string
android.lint.inspections.suspicious0dp=Suspicious 0dp dimension
android.lint.inspections.suspicious.import='import android.R' statement
android.lint.inspections.text.fields=Missing inputType or hint
android.lint.inspections.text.view.edits=TextView should probably be an EditText instead
android.lint.inspections.too.deep.layout=Layout hierarchy is too deep
android.lint.inspections.too.many.views=Layout has too many views
android.lint.inspections.typography.dashes=Hyphen can be replaced with dash
android.lint.inspections.typography.ellipsis=Ellipsis string can be replaced with ellipsis character
android.lint.inspections.typography.fractions=Fraction string can be replaced with fraction character
android.lint.inspections.typography.other=Other typographical problems
android.lint.inspections.typography.quotes=Straight quotes can be replaced with curvy quotes
android.lint.inspections.typos=Spelling error
android.lint.inspections.unique.permission=Permission names are not unique
android.lint.inspections.unknown.id=Reference to an unknown id
android.lint.inspections.unknown.id.in.layout=Reference to an id that is not in the current layout
android.lint.inspections.unlocalized.sms=SMS phone number missing country code
android.lint.inspections.unused.attribute=Attribute unused on older versions
android.lint.inspections.unused.ids=Unused id
android.lint.inspections.unused.quantity=Unused quantity translations
android.lint.inspections.unused.resources=Unused resources
android.lint.inspections.use.check.permission=Using the result of check permission calls
android.lint.inspections.use.compound.drawables=Node can be replaced by a TextView with compound drawables
android.lint.inspections.use.sparse.arrays=HashMap can be replaced with SparseArray
android.lint.inspections.use.value.of=Should use valueOf instead of new
android.lint.inspections.useless.leaf=Useless leaf layout
android.lint.inspections.useless.parent=Useless parent layout
android.lint.inspections.uses.min.sdk.attributes=Minimum SDK and target SDK attributes not defined
android.lint.inspections.view.holder=View Holder Candidates
android.lint.inspections.web.view.layout=WebViews in wrap_content parents
android.lint.inspections.world.readable.files=openFileOutput() call passing MODE_WORLD_READABLE
android.lint.inspections.world.writeable.files=openFileOutput() call passing MODE_WORLD_WRITEABLE
android.lint.inspections.wrong.case=Wrong case for view tag
android.lint.inspections.wrong.folder=Resource file in the wrong res folder
android.lint.inspections.wrong.view.cast=Mismatched view type

android.lint.fix.add.content.description=Add 'contentDescription' attribute
android.lint.fix.add.android.prefix=Add Android prefix
android.lint.fix.replace.with.zero.dp=Replace size attribute with 0dp
android.lint.fix.set.baseline.attribute=Set 'baselineAligned' attribute
android.lint.fix.remove.attribute=Remove attribute
android.lint.fix.convert.to.dp=Convert to \"dp\"...
android.lint.fix.set.to.wrap.content=Replace size attribute with 'wrap_content'
android.lint.fix.add.permission.attribute=Add 'permission' attribute
android.lint.fix.add.input.type.attribute=Add 'inputType' attribute
android.lint.fix.remove.unnecessary.view=Remove unnecessary view
android.lint.fix.replace.with.suggested.characters=Replace with suggested characters
android.lint.fix.add.target.api=Add @TargetApi({0}) Annotation
android.lint.fix.suppress.lint.api.annotation=Suppress: Add @SuppressLint("{0}") annotation
android.lint.fix.suppress.lint.api.attr=Suppress: Add tools:ignore="{0}" attribute
android.lint.fix.replace.namespace=Replace with an auto resource namespace

android.export.unsigned.package.action.text=Export Unsigned Application Package
android.inspections.element.not.allowed.name=Android XML element is not allowed
android.facet.settings.run.proguard=Run ProGuard
android.facet.settings.proguard.cfg.label=Config file:
android.debug.sessions.will.be.closed=Following debug sessions will be closed\:\n{0}
android.launch.ddms.title=Monitor (DDMS included)
android.launch.ddms.already.launched.error=Monitor is already launched
android.disable.adb.service.title=Disable ADB Integration
android.launch.hierarchy.viewer.action=Hierarchy Viewer
android.facet.settings.include.system.proguard=Include system proguard file
file.already.exists.error=File {0} already exists
deployment.target.settings.min.sdk.info.message=Only compatible AVDs are shown. See 'uses-sdk' tag in AndroidManifest.xml
android.compilation.warning.circular.app.dependency=Generated fields in {0}.R class in module ''{1}'' won''t be final, because of circular dependency on module ''{2}''
file.name.not.specified.error=File name is not specified
root.element.not.specified.error=Root element is not specified
directory.not.specified.error=Directory is not specified
android.manifest.merger.not.supported.error=Manifest merging is not supported. Please, reconfigure your manifest files
invalid.resource.name.error=Invalid resource name ''{0}''
android.extract.style.title=Extract Android Style
android.inline.style.title=Inline Android Style
android.inline.style.command.name=Inline Style ''{0}''
android.inline.style.inline.all.text=Inline &all references and remove the style
android.inline.style.inline.this.text=Inline &this usage and keep the style
android.extract.as.include.title=Extract Android Layout
android.inline.layout.command.name=Inline Layout File ''{0}''
android.inline.file.inline.all.text=Inline &all references and remove the file
android.inline.file.inline.this.text=Inline &this usage and keep the file
android.inline.layout.title=Inline Android Layout
android.facet.importing.notification.group=Importing Error
android.autogeneration.notification.group=Android Autogeneration
android.facet.importing.title=Error when importing module ''{0}''
android.find.style.applications.title=Use Style Where Possible
android.aapt.use.custom.package.name=Rename manifest pac&kage\:
android.wizard.cannot.find.main.content.root.error=Cannot find content root containing AndroidManifest.xml file in module {0}
android.9patch.file.type.description=Android 9-Patch Files
android.9patch.creator.title=Create 9-Patch file...
android.9patch.creator.save.title=Save As .9.png
android.9patch.creator.error=Unexpected error while creating 9-Patch file: {0}
android.9patch.creator.error.title=Create 9-Patch File
android.update.project.properties.dialog.text=The structure of following Android modules was changed:<br>{0}<br>Would you like to update related project.properties files?<br>\
  <a href="once">Only once</a><br><a href="always">Always for these modules</a><br><a href="never">Never for these modules</a>
android.update.project.properties.dialog.title=Update Property Files
error.report.at.b.android=<html>Error Submitting Feedback: {0}<br>\
  Consider creating an issue at \
  <a href="https://code.google.com/p/android/issues/list">Android Issue Tracker</a></html>
error.report.to.google.action=&Report to Google
android.startup.missing.jdk=<html>A Java Development Kit (JDK) installation is required.  We could not locate a JDK installation on this machine.<br>\
  If you have one, provide its location below.  Otherwise, please download and install <a href\="http\://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK 6</a>.</html>
android.startup.missing.sdk=<html>Please provide the path to the Android SDK.<br>If you do not have the Android SDK, you can obtain it from <a href="http://d.android.com">d.android.com</a>.</html>
android.startup.missing.both=<html>A Java Development Kit (JDK) installation is required.  We could not locate a JDK installation on this machine.<br>\
  If you have one, provide its location below.  Otherwise, please download and install <a href\="http\://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK 6</a>.\
  <br>If you do not have the Android SDK, you can obtain it from <a href="http://d.android.com">d.android.com</a>.</html>
android.navigation.file.type.description=Android navigation Files
android.version.check.too.old=<html>This version of Android Studio requires Android SDK Tools revision {0} or above.<br>Current revision is {1}.<br>Please update your SDK Tools to the latest version.</html>
android.refactoring.rtl.addsupport.title=Add Right-To-Left (RTL) Support
android.refactoring.rtl.addsupport.dialog.title=Add Right-To-Left (RTL) Support...
android.refactoring.rtl.addsupport.dialog.ok.button.text=Run
android.refactoring.rtl.addsupport.dialog.apply.button.text=Press the "Do RTL Refactor" button at the bottom of the search results panel to proceed with the right-to-left (RTL) refactoring\n
android.refactoring.rtl.addsupport.dialog.label.text=This refactoring will add RTL support to your Android App.\n\nPlease check the following options:\n
android.refactoring.rtl.addsupport.dialog.option.label.update.manifest.text=update AndroidManifest.xml
android.refactoring.rtl.addsupport.dialog.option.label.update.layouts.text=update layouts files
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.txt=Layout options
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.replace.leftright.txt=replace left/right properties with start/end properties
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.generate.v17.txt=generate v17 versions
create.on.click.handler.intention.text=Create onClick event handler
android.inspections.on.click.missing.name=onClick handler is missing in the related activity
android.inspections.on.click.missing.problem=Method ''{0}'' is missing in ''{1}'' or has incorrect signature
android.inspections.on.click.missing.incorrect.signature=Method ''{0}'' in ''{1}'' has incorrect signature
android.db.downloading.progress.title=Downloading Android SQLite Databases
android.db.uploading.progress.title=Uploading Android SQLite Databases

subversion.name=Subversion

subversion.executable.notification.title=Can't use Subversion command line client
subversion.executable.notification.description=Probably the path to Subversion executable is wrong.
subversion.executable.too.old=Subversion command line client version is too old ({0}).

subversion.roots.detection.errors.found.description=Errors found while svn working copies detection. <a href="FIX">Fix it</a>.

#Actions&Plugin info
group.SubversionFileGroup.text=SVN
action.Subversion.BrowseSVNRepository.text=Bro_wse Subversion Repository...
action.Subversion.BrowseSVNRepository.description=Browse a Subversion repository
group.SubversionFilePopupGroup.text=_Subversion
action.Subversion.Add.text=_Add
action.Subversion.Add.description=Add the file to Subversion
group.IgnoreChoicesGroup.text=Ignore
group.RevertIgnoreChoicesGroup.text=Remove from ignore list
action.Subversion.UndoIgnore.text=Selected file names
action.Subversion.UndoIgnore.description=Remove file name/mask from folder ignore list
action.Subversion.Ignore.ExactMatch.text=Selected file names
action.Subversion.Ignore.ExactMatch.description=Adds names of all selected files into folder ignore list
action.Subversion.Ignore.MatchExtension.text=Extension mask
action.Subversion.Ignore.MatchExtension.description=Adds {0} mask into folder ignore list
action.Subversion.SetProperty.text=Set Proper_ty...
action.Subversion.SetProperty.description=Set versioned property on file or directory
action.Subversion.Revert.text=_Revert...
action.Subversion.Revert.description=Revert file to pristine state
action.Subversion.Resolve.text=Re_solve Text Conflict...
action.Subversion.Resolve.description=Resolve text conflict on file
action.Subversion.MarkResolved.text=_Mark Resolved...
action.Subversion.MarkResolved.description=Mark text and properties conflicts as resolved
action.Subversion.Clenaup.text=Cl_eanup
action.Subversion.Clenaup.description=Unlock locked directories and run all remaining incompleted operations
action.Subversion.Copy.text=_Branch or Tag...
action.Subversion.Copy.description=Copy selected file or directory to the new repository location
action.Subversion.Lock.text=_Lock...
action.Subversion.Lock.description=Lock files
action.Subversion.Unlock.text=Unl_ock
action.Subversion.Unlock.description=Unlock files
action.SvnChangesBrowser.text=Bro_wse Changes...
plugin.Subversion.description=Provides integration with Subversion version control system
action.name.refresh=Refresh
action.Subversion.ImportToSVNRepository.text=I_mport into Subversion...
action.Subversion.Share.text=_Share Directory...
action.Subversion.ShowProperties.text=Edit _Properties
action.Subversion.ConfigureBranches.text=Configure Branches...
action.Subversion.CompareWithBranch.text=Compare with Branch...
action.Subversion.Relocate.text=Relocate...
action.Subversion.Relocate.description=Relocate working copy to a different URL
action.Subversion.CleanupProject.text=Cleanup Project
action.Subversion.CleanupProject.description=Perform cleanup for all working copy directories in the project

#Copy dialog
dialog.title.branch=Create Branch or Tag
label.copy.from=&From:
label.copy.to=&To:
label.copy.from.revision=Copy from revision:
radio.copy.working.copy=&Working copy
radio.copy.head=&HEAD revision
radio.copy.specific=Specific &revision:
label.copy.comment=&Comment
label.copy.select.location.dialog.copy.as=Copy &as:

#Locl dialog
dialog.title.lock.files=Lock Files
dialog.title.lock.file=Lock File
label.lock.comment=&Lock comment:
label.locl.steal.existing=&Steal existing lock

#SSHCredentialsDialog
label.ssh.authentication.realm=Authentication realm: ''{0}''
dialog.title.openssh.v2.private.key=OpenSSH v2 Private Key
dialog.description.openssh.v2.private.key=Select private key file for SSH authentication
checkbox.ssh.keep.for.current.session=&Save Credentials
radio.ssh.authentication.with.agent=SS&H Agent
label.ssh.user.name=&User name:
radio.ssh.authentication.with.password=Authentication &with password
label.ssh.password=&Password:
radio.ssh.authentication.private.key=Authentication with private &key
label.ssh.key.file=Key &File:
label.ssh.passphrase=Passph&rase:
label.ssh.port=Port &Number:

label.ssl.certificate.path=Path to certificate:
label.ssl.certificate.password=Certificate passphrase:
checkbox.ssl.keep.for.current.session=&Save Credentials

progress.text.create.remote.folder=Create Remote Folder
message.text.error=Error

# GNOME keyring dialog
gnome.keyring.prompt.nameless=Please provide GNOME Keyring password
gnome.keyring.prompt.named=Please provide ''{0}'' GNOME Keyring password

#Repository Browser
dialog.title.browser.copy.or.move=Copy or Move
dialog.title.browser.delete=Delete
dialog.title.browser.new.folder=New Folder
label.browser.url1.delete=Delete
label.browser.url1.create=Create
label.browser.url1.from=From
label.browser.to=To
label.browser.name.copy.as=Copy &as:
label.browser.name.name=&Name:
checkbox.browser.move.source.to.target=&Move source to target
label.browser.comment=&Comment:
label.browser.select.location=&Select location in repository:
node.text.browser.type.valid.url=Type valid URL and click 'Refresh' to select location
dialog.title.browser.browse.repository=Browse Subversion Repository
label.text.browser.repository.url=Repository &URL:
button.text.new.folder=&New Folder...
button.text.delete=&Delete...
button.text.copy=&Copy
button.text.paste=&Paste...
progres.text.deleting=Deleting {0}
progress.title.browser.delete=Delete
progress.text.browser.creating=Creating {0}
progress.text.browser.moving=Moving {0}
progress.text.browser.copying=Copying {0}
progress.text.browser.remote.destination=To {0}
progress.title.browser.move=Move
progress.title.browser.copy=Copy
node.text.browser.cannot.access.repository=Cannot access repository at ''{0}''
progress.text.browser.establishing.connection=Establishing connection to Subversion repository
progress.title.browser.establishing.connection=Establishing Connection...
node.text.browser.cannot.establish.connection=Cannot establish connection to ''{0}''

#authentication
label.auth.authentication.realm=Authentication realm: ''{0}''
label.auth.user.name=&User name:
label.auth.password=&Password:
checkbox.auth.keep.for.current.session=&Save credentials
label.credentials.user.name.required=User name is required for ''{0}''
label.credentials.user.name=User name:
checkbox.credentials.save.for.future=Save for future use
dialog.title.authentication.required=Authentication Required
dialog.title.authentication.required.was.failed=Authentication Required (Authentication Failed)

#history
progress.title.revisions.history=Revisions History
progress.text2.collecting.history=Collecting revisions history for ''{0}''
checkbox.changes.filter.filter.by.author=A&uthor:
progress.text2.processing.revision=Processing revision ''{0}''
progress.text.changes.collecting.changes=Collecting information on changes
progress.text2.changes.establishing.connection=Establishing connection to ''{0}''
progress.text2.revision.processed=Revision ''{0}'' processed

#status
status.configurable.display.name=Status
status.configurable.get.out.of.date.information=Check status against se&rver
progress.text.status.analyzing.local=Analyzing status of ''{0}''
progress.text.status.analizyng.remote=Discovering remote status of ''{0}''
status.group.name.missing=Missing
status.group.name.replaced=Replaced
status.group.name.obstructed=Obstructed
status.group.name.externals=Externals
status.group.name.switched=Switched
status.group.name.locked=Locked

#Configuration
checkbox.configure.use.system.default.configuration.directory=&Use system default Subversion configuration directory
label.configuration.configuration.directory=Subversion configuration &directory:
dialog.title.select.configuration.directory=Select Configuration Directory
action.title.select.configuration.directory=Change Configuration Directory
dialog.description.select.configuration.directory=Select Subversion configuration directory or create new one
button.text.clear.authentication.cache=&Clear Auth Cache
label.text.delete.stored.credentials=Delete all stored credentials for 'http', 'svn' and 'svn+ssh' protocols
button.text.edit.proxies=Edit Network &Options...
label.text.edit.proxies=Edit 'servers' Subversion runtime configuration file
dialog.title.edit.http.proxies.settings = Edit Subversion options related to the network layers
dialog.edit.http.proxies.settings.error.same.group.names.text=Groups with identical names detected: ''{0}''
dialog.edit.http.proxies.settings.error.ambiguous.group.patterns.text=Found repository urls that match to several groups: {0}
dialog.edit.http.proxies.settings.error.ambiguous.group.patterns.to.text=url {0} matches to {1}\n
dialog.edit.http.proxies.settings.tab.edit.user.file.title=User file
dialog.edit.http.proxies.settings.tab.edit.system.file.title=System file
dialog.edit.http.proxies.settings.port.must.be.number.error=Port must be a number (group ''{0}'')
dialog.edit.http.proxies.settings.timeout.must.be.number.error=HTTP timeout must be a number (group ''{0}'')
dialog.edit.http.proxies.settings.dialog.select.ssl.client.certificate.path.title=Select path to your certificate
dialog.edit.http.proxies.settings.dialog.select.ssl.client.certificate.path.text=Select path to your certificate
dialog.edit.http.proxies.settings.panel.proxy.title=HTTP proxy settings
dialog.edit.http.proxies.settings.panel.ssl.title=SSL settings
dialog.edit.http.proxies.settings.panel.repositories.title=Repositories
dialog.edit.http.proxies.settings.patterns.text=U&RL patterns:
dialog.edit.http.proxies.settings.exceptions.text=E&xceptions:
dialog.edit.http.proxies.settings.server.text=&Server:
dialog.edit.http.proxies.settings.user.text=&User:
dialog.edit.http.proxies.settings.port.text=P&ort:
dialog.edit.http.proxies.settings.password.text=Pass&word:
dialog.edit.http.proxies.settings.connection.timeout.text=Connection t&imeout:
dialog.edit.http.proxies.settings.seconds.text=seconds
dialog.edit.http.proxies.settings.paths.to.authority.certificates.text=Comma separated &paths to CAs certificate files:
dialog.edit.http.proxies.settings.ssl.client.certificate.file.text=SSL &client certificate file:
dialog.edit.http.proxies.settings.client.certificate.passphrase.text=SSL client certificate passp&hrase:
dialog.edit.http.proxies.settings.trust.default.cas.text=Trust default C&As
dialog.edit.http.proxies.settings.test.connection.button.text=&Test connection
dialog.edit.http.proxies.settings.test.connection.settings.will.be.stored.title=Warning
dialog.edit.http.proxies.settings.test.connection.settings.will.be.stored.text=Settings will be saved
dialog.edit.http.proxies.settings.test.connection.error.title=Connection test failed
dialog.edit.http.proxies.settings.test.connection.succes.title=Connection test successful
  dialog.edit.http.proxies.settings.test.connection.succes.text=Connection test successful      
confirmation.text.delete.stored.authentication.information=You are about to delete all stored Subversion authentication information.\nWould you like to proceed with deletion?
confirmation.title.clear.authentication.cache=Clear Authentication Cache

label.configure.upgrade.label=Working Copy upgrade strategy:
radio.configure.upgrade.ask=As&k me on attempt to upgrade
radio.configure.upgrade.none=&Never upgrade (keep Subversion 1.3)
radio.configure.upgrade.auto=Upgrade &automatically (use Subversion 1.4)
radio.configure.upgrade.auto.15format=Upgrade automatically (use Subversion 1.&5)
radio.configure.upgrade.auto.16format=Upgrade automatically (use Subversion 1.&6)
radio.configure.upgrade.auto.17format=Upgrade automatically (use Subversion 1.&7)
radio.configure.upgrade.auto.18format=Upgrade automatically (use Subversion 1.&8)

label.configure.create.label={0} is about to create new Subversion working copy,\n\
please, select desired working copy format:
label.configure.create.strategy=Create working copy directory in:
radio.configure.create.none=1.&3 format
radio.configure.create.auto=1.&4 format
radio.configure.create.auto.15format=1.&5 format
radio.configure.create.auto.16format=1.&6 format
radio.configure.create.auto.17format=1.&7 format
radio.configure.create.auto.18format=1.&8 format

label.configure.change.label=Change working copy ''{0}'' format to:
radio.configure.change.auto.16format=1.&6 format
radio.configure.change.auto.17format=1.&7 format
radio.configure.change.auto.18format=1.&8 format

dialog.upgrade.wcopy.format.title=Subversion Working Copy Format

label.working.copy.root.outside.text=Working copy root is outside the directory specified in Project Settings.\nThe whole working copy will be converted.

progress.text.loading.contents=Loading contents of ''{0}''
progress.text2.revision.information=Revision {0}
progress.title.loading.file.content=Loading Remote File Content
progress.title.loading.file.properties=Loading Remote File Properties
exception.text.file.miss.svn=File ''{0}'' is readonly, but miss svn:needs-lock property
confirmation.text.edit.file=File(s) you're are going to edit needs to be locked before editing

#File statuses
file.status.external=External (svn)
file.status.obstructed=Obstructed (svn)
file.status.replaced=Replaced (svn)
file.status.switched=Switched (svn)

#Adding
confirmation.text.add.file=Do you want to schedule the following file for addition to Subversion?\n{0}
confirmation.text.add.dir=Do you want to schedule the following directory for addition to Subversion?\n{0}
confirmation.title.add.file=Schedule for Addition
confirmation.title.add.multiple.files=Select Files to Add to Subversion
action.name.add.files=Adding files to {0}

#Ignore
action.name.ignore.files=Adding ignore file(s) mask to {0}
action.name.undo.ignore.files=Removing file names(or mask) from ignore list from {0}

# Delete
confirmation.text.delete.file=Do you want to schedule the following file for deletion from Subversion?\n{0}
confirmation.text.delete.dir=Do you want to schedule the following directory for deletion from Subversion?\n{0}\nNOTE: The directory will be deleted from disk when the change is committed.
confirmation.text.delete.dir.17=Do you want to schedule the following directory for deletion from Subversion?\n{0}
confirmation.title.delete.file=Schedule for Deletion
confirmation.title.delete.multiple.files=Select Files to Delete from Subversion

progress.text.discovering.location=Discovering location for ''{0}''

#Lock/Unlock
progress.text.locking.files=Locking files in repository...
progress.text2.processing.file=Processing file {0}
progress.title.lock.files=Lock Files
exception.text.locking.file.failed=Failed to lock file: {0}
message.title.lock.failures=Lock Failures
message.text.files.lock.failed={0,choice, 0#Failed to lock file.|1#Failed to lock files.}
message.text.files.locked={0,choice, 0#Failed to lock files.|1#1 file locked|2#{0,number} files locked}
progress.text.unlocking.files=Unlocking files in repository...
progress.title.unlock.files=Unlock Files
exception.text.failed.to.unlock.file=Failed to unlock file: {0}
message.title.unlock.failures=Unlock Failures
message.text.files.unlocked={0,choice, 0#Failed to unlock files.|1#1 file unlocked|2#{0,number} files unlocked}


progress.text.collection.locations=Collection Subversion Repository Locations
message.text.no.working.copies.found=No subversion working copies found in project
message.title.no.working.copies.found=Not working copies found
progress.text.collecting.roots.in.module=Collecting working copy roots in module ''{0}''
dialog.title.select.location=Select Location
border.select.location.repository.location=Repository Location
radio.select.location.use.project=Use project location:
radio.select.location.use.custom=Use custom location:
exception.text.cleanupaction.batchperform.not.implemented=CleanupAction.batchPerform not implemented
progress.text2.adding=Adding ''{0}''
progress.text2.deleting=Deleting ''{0}''
progress.text2.sending=Sending ''{0}''
progress.text2.replacing=Replacing ''{0}''
progress.text2.transmitting.delta=Transmitting delta for  ''{0}''
progress.title.copy=Subversion Copy
status.text.comitted.revision=Committed revision {0}.
progress.text.copy.to=Copy to ''{0}''
message.text.no.conflicts.found=No conflicts found
message.title.no.conflicts.found=No Conflicts
label.select.files.and.directories.to.mark.resolved=Select files and directories to mark resolved:
dialog.title.mark.resolved=Mark Resolved
action.name.mark.resolved=Mark Resolved
action.name.resolve.conflict=Resolve Conflict
message.text.revert.no.modifications.found=No modifications to revert found
label.select.files.and.directories.to.revert=Select files and directories to revert:
dialog.title.revert.files=Revert Files
action.name.revert=&Revert
message.title.revert.no.modifications.found=No Modifications
action.name.revert.files=Revert files
action.name.set.property=Set Property
action.name.show.all.paths.affected=Show all paths affected in selected transaction
dialog.title.affected.paths=Paths Affected in Transaction ''{0}''
progress.text.loading.log=Loading revision log...
exception.text.cannot.load.version=Cannot load repository version {0}
progress.text.processing.changes=Processing changes...
message.text.cannot.load.version=Cannot load repository version {0} :{1}
message.title.error.fetching.affected.paths=Error Fetching Affected Paths
exception.text.cannot.annotate.directory=Annotation operation only makes sence for files
progress.text.computing.annotation=Computing annotation for ''{0}''
action.text.annotate=Annotate
checkbox.chckin.keep.files.locked=&Keep files locked
progress.title.commit=Commit
progress.text.committing.changes.below=Creating commit packets...
status.text.committed.revision=Committed revision {0}.
checkin.operation.name=Comm_it
checkin.different.formats.involved=Selected changes for {0,choice,0#repository|1#repositories} {1}\nbelong to both before- 1.7 format and 1.7 format \
Subversion working copies.\nCommit will split into several commits.\n\n\
You can convert all working copies into 1.7 format in Changes | Subversion Working Copies Information.\nDo you wish to continue with commit?
progress.text.collecting.commitables=Collecting commitables at ''{0}''
progress.text2.fetching.external.location=Fetching external location to ''{0}''
progress.text2.checked.out=Checked out {1} files, checking out {0}
progress.text2.exported=Exported {1} files, exporting {0}
progress.text2.checked.out.revision=Checked out revision {0}.
progress.text2.exported.revision=Exported revision {0}.
status.text.checked.out.revision=Checked out revision {0}.
message.text.cannot.load.supported.formats=Cannot load supported formats: {0}
message.text.cannot.checkout=Cannot checkout from svn: {0}
message.text.cannot.export=Cannot export from svn: {0}
message.title.check.out=Check Out from Subversion
message.title.export=Export from Subversion
progress.text.checking.out=Checking out files to ''{0}''
progress.text.export=Exporting files to ''{0}''
dialog.text.check.out=Check Out from Repository
label.text.checkout.repository.url=Repository &URL:
label.text.checkout.checkout.from=Checkout From:
label.checkout.checkout.to=Checkout &To:
dialof.title.select.checkout.destination=Select Checkout Destination
dialog.description.select.checkout.destination=Select directory to checkout remote directory into or create new one
button.text.select.all=Select &All
button.text.deselect.all=&Deselect All
dialog.title.select.repository.location=Select Repository Location
button.text.ssl.accept=_Accept
button.text.ssl.reject=_Reject
button.text.ssh.accept=_Yes
button.text.ssh.reject=_No
dialog.title.ssl.examine.server.crertificate=Examine Server Certificate
dialog.title.ssh.examine.server.fingerprints=Verify Server Key Fingerprint
label.ssl.server.provided.certificate=Server provided the following certificate:
label.ssh.server.provided.fingerprints=The authenticity of host {0} can''t be established.
label.ssh.server.provided.fingerprints2={0} key fingerprint is
label.ssh.server.provided.fingerprints3=Are you sure you want to continue connecting?
checkbox.svn.ssh.cache.fingerprint=&Add key to Subversion cache
dialog.title.set.property=Set Property
label.set.property.property.name=Property &name:
radio.set.property.set.property.value=&Set property value:
radio.set.property.delete.property=&Delete property
checkbox.set.property.update.properties.recursively=Update properties &recursively
exception.text.invalid.revision=Invalid revision ''{0}''

#update
update.configurable.name=Update
checkbox.update.configurable.descend.into.child.directories=&Descend into child directories
checkbox.update.configurable.run.status=Run &status after update
update.switch.configurable.name=Update/Switch
radio.update.switch.configurable.update.or.switch=U&pdate or Switch
label.update.switch.configurable.url=&URL:
checkbox.update.switch.configurable.to.specific.revision=Update/Switch to specific &revision:
radio.update.switch.configurable.merge=&Merge
label.update.switch.configurable.url1=URL &1:
label.update.switch.configurable.revision1=Re&vision:
lable.update.switch.configurable.url2=URL &2:
update.switch.configurable.revision2=R&evision:
checkbox.update.switch.configurable.try.merge.without.changes=&Try merge, but make no changes
checkbox.update.switch.configurable.descend.into.child.directories=&Descend into child directories
checkbox.update.switch.configurable.run.status=Run &status after update
progress.text.merging.dry.run.changes=Merging (dry run) changes into ''{0}''
progress.text.merging.changes=Merging changes into ''{0}''
progress.text.updating=Updating ''{0}''
exception.text.root.was.not.properly.updated=svn: {0} was not properly updated; may be it is already removed from the repository along with its parent.
progress.text.update.computing.post.update.status=Computing post-update status of ''{0}''
message.text.update.no.directories.found=No versioned directories to update was found
messate.text.update.error=SVN: Update Error

progress.text2.added=Added {0}
progress.text2.deleted=Deleted {0}
progress.text2.conflicted=Conflicted {0}
progress.text2.treeconflicted=Conflicted {0} (tree conflict)
progres.text2.merged=Merged {0}
progres.text2.updated=Updated {0}
progress.text2.restored.file=Restored {0}
progres.text2.updated.to.revision=Updated to revision {0}.
status.text.updated.to.revision=Updated to revision {0}.
progress.text2.skipped.file=Skipped {0}
update.group.name.skipped=Skipped
progress.text.updating.external.location=Updating external location at ''{0}''
exception.text.update.operation.cancelled=Operation cancelled
server.ssl.accept.temporary.action.name=Accept _Temporary
changes.browser.change.column.name=Change
changes.browser.author.column.name=Author
changes.browser.date.column.name=Date
cannot.mark.file.as.resolved.error.message=Cannot mark file as resolved: {0}
mark.resolved.dialog.title=Mark Resolved
mark.resolved.action.description=Mark resolved
commit.dialog.setings.show.unresolved.checkbox=Show &unresolved
unresolved.difference.type.name=Unresolved
integrate.display.name=Integrate
invalid.svn.revision.error.message=Invalid svn revision: {0}
nulty.roots.update.configuration.affected.roots.label=Affected roots:
nulty.roots.update.configuration.selected.root.setting.group.title=Selected Root Setting:
integrate.configuration.revision1.label=re&vision
integrate.configuration.source2.label=Source 2:
integrate.configuration.revision2.label=&revision
integrate.configuration.source1.label=Source 1:
integrate.configuration.description.label=Integrate differences between sources into working copy (compare Source 2 to Source 1)
source.url.could.not.be.empty.error.message=Source url could not be empty
no.differences.between.sources.error.message=There are no differences between source and the same source
configure.revision.specified.radio=Specified
configure.revision.head.radio=HEAD
update.configuration.specific.url=Update/Switch to specific &url:
progress.text.import=Importing {0}
message.text.cannot.import=Cannot import to svn: {0}
message.title.import=Import to Subversion
revision.title=Revision
checkout.dialog.title=Checkout from Subversion
checkout.dialog.button=Checkout
checkout.directory.chooser.title=Checkout Directory
checkout.directory.chooser.prompt=Select directory to checkout from Subversion
checkout.options.dialog.title=SVN Checkout Options
checkout.options.checkout.label=Checkout:
checkout.options.destination.label=Destination:
checkout.options.recursive.label=Checkout directories recursively
checkout.options.externals.label=Include externals locations
configure.branches.title=Configure Subversion Branches
configure.branches.error.no.connection.title=Repository root was not found
configure.branches.error.wrong.url=Trunk location must be under repository root\n''{0}''
configure.branches.trunk.location=Trunk location:
configure.branches.branch.locations=Branch locations:
configure.branches.item=Configure Branches...
refresh.branches.item=Refresh Branches...
copy.column.title=Copy
copy.column.tooltip=Copied from {0}
compare.with.branch.progress.loading.branches=Loading Branches
compare.with.branch.progress.loading.content=Loading Content
compare.with.branch.diff.title=Compare with Branch
compare.with.branch.error.title=Compare with Branch
compare.with.branch.popup.title=Compare with Branch
getting.branch.configuration.error=Error retrieving branch configuration: {0}
compare.with.branch.location.error=Couldn''t find repository location for file ''{0}'' under branch ''{1}''\nPlease check your branch configuration.
compare.with.branch.list.error=Error Loading Branches
create.branch.invalid.revision.error=Invalid revision ''{0}''
create.branch.no.working.copy.error=No working copy found at {0}
create.branch.no.base.location.error=No branch base location selected
create.branch.switch.on.create.title=Switch after create
action.name.switch=Switch
import.dialog.title=Import into Subversion
import.dialog.button=Import
repository.browser.add.location.action=Add Repository Location
repository.browser.add.location.prompt=Repository URL:
repository.browser.add.location.title=New Repository Location
repository.browser.details.action=Show/Hide Details
repository.browser.refresh.action=Refresh selected tree node
repository.browser.add.location.menu.item=_Repository Location...
repository.browser.edit.location.menu.item= Edit Location _Url...
repository.browser.discard.location.action=Discard _Location
repository.browser.discard.location.prompt=Would you like to discard the location ''{0}''?
repository.browser.discard.location.title=Discard Location
repository.browser.new.folder.action=Remote _Folder...
repository.browser.history.action=Show History
repository.browser.import.action=_Import...
diff.options.title=Compare With Branch or Tag
diff.options.no.url.error=Please select an URL to compare with
diff.options.same.url.error=Please select different URLs to compare
diff.options.no.patch.file.error=Please specify the path to save the patch file
repository.browser.browse.changes.action=_Browse Changes...
repository.browser.browse.changes.description=View history of changes in the selected node
repository.browser.compare.title=Compare of ''{0} and ''{1}''
repository.browser.compare.no.difference.message=No textual difference found between ''{0} and ''{1}''
repository.browser.compare.no.difference.title=No Difference Found
cleanup.action.name=Cleanup
changes.browser.revision.term=Revision
progress.computing.difference=Computing Difference
progress.searching.for.files.with.conflicts=Searching for files with conflicts
add.files.errors.title=Errors Adding Files
move.files.errors.title=Errors Moving Files
remove.ignore.patterns.errors.title=Errors Removing 'svn:ignore' patterns
gather.ignore.patterns.info.progress.title=Gathering not used 'svn:ignore' patterns
delete.files.errors.title=Errors Deleting Files
copy.dialog.title=Branch or Tag
move.dialog.title=Move or Rename
select.location.invalid.url.message=Invalid Subversion repository URL: ''{0}''
share.directory.action=Share Directory...
share.directory.commit.message={2}\nDirectory ''{0}'' created by {1}
share.directory.title=Share Directory
share.directory.info.message=To complete share operation commit ''{0}''.
share.directory.create.dir.progress.text=Creating remote folder {0}
share.directory.checkout.back.progress.text=Checking out {0}
share.or.import.add.progress.text=Scheduling {0} for addition
action.share.whole.project.text=Share Project (Subversion)...
action.Subversion.integrate.changes.open.in.changelist.text=Open in changelist:
action.Subversion.integrate.changes.select.working.copy.text=Integrate into working copy:
action.Subversion.integrate.changes.dialog.title=Integrate To Branch
action.Subversion.integrate.changes.message.not.under.control.text=Selected destination is not under Subversion control. Continue anyway?
action.Subversion.integrate.changes.message.another.wc.text=Selected destination is inside working copy of another repository. Continue anyway?
action.Subversion.integrate.changes.branch.info.source.label.text=Source branch URL: {0}
action.Subversion.integrate.changes.branch.info.target.label.text=Target branch URL: {0}
action.Subversion.integrate.changes.actionname=Integrate To Branch...
action.Subversion.integrate.changes.description=Integrates selected changelist(s)/changeset into selected branch
action.Subversion.integrate.changes.messages.title=Integrate To Branch
action.Subversion.integrate.changes.error.no.available.files.text=No files available for integration
action.Subversion.integrate.changes.warning.failed.list.text=Changelist {0} ({1}) integration faced problems
action.Subversion.integrate.changes.warning.skipped.lists.text=Skipped change lists: {0}
action.Subversion.integrate.changes.select.branch.text=Select branch to integrate to...
action.Subversion.integrate.changes.error.source.and.target.same.text=Can not start integration: Target and source branches are the same.
action.Subversion.integrate.changes.error.target.not.dir.text=Can not start integration: target directory does not exist or is not a directory.
action.Subversion.integrate.changes.error.not.versioned.text=Can not start integration: target directory is not under Subversion control or does not belong to the selected branch.
action.Subversion.integrate.changes.alien.commit.changelist.title=Integrated
action.Subversion.integrate.changes.dialog.add.wc.text=Add
action.Subversion.integrate.changes.dialog.remove.wc.text=Remove
action.Subversion.integrate.changes.message.files.up.to.date.text=All files are up to date
action.Subversion.integrate.changes.error.unable.to.collect.changes.text=Error while collecting changes to commit: {0}
error.cannot.load.revisions=Can not load revision list
action.Subversion.integrate.changes.message.canceled.text=Integration was canceled
action.Subversion.integrate.changes.progress.integrating.text=Merging changes
action.Subversion.integrate.changes.progress.integrating.details.text=Merging changelist {0}
update.switch.to.branch.text=Use branch:
select.branch.popup.general.title=Select branch
progress.live.provider.loading.revisions.text=Loading revisions from server
progress.live.provider.loading.revisions.details.text=Loading revisions from server...
action.show.svn.map.text=Show Working Copies...
action.show.svn.map.text.reference=Show Working Copies
action.show.svn.map.description=Shows working copies information: working copy formats and URLs
dialog.show.svn.map.title=Subversion Working Copies Information
dialog.show.svn.map.label.table.header=Detected working copies
dialog.show.svn.map.change.format.button.text=&Change Working Copy Format
dialog.show.svn.map.table.header.column.wcpath.title=Root path
dialog.show.svn.map.table.header.column.wcurl.title=URL
dialog.show.svn.map.table.header.column.wcroot.title=Working copy root
dialog.show.svn.map.table.header.column.format.title=Format
dialog.show.svn.map.table.version13.text=1.3
dialog.show.svn.map.table.version14.text=1.4
dialog.show.svn.map.table.version15.text=1.5
dialog.show.svn.map.table.version16.text=1.6
dialog.show.svn.map.table.version17.text=1.7
dialog.show.svn.map.table.version18.text=1.8
action.change.wcopy.format.task.title=Convert working copy format
action.change.wcopy.format.task.progress.text=Converting working copy at {0} format from {1} to {2}
action.change.wcopy.format.after.change.settings=Selected working copy format ({0}) is older than upgrade mode selected in Project Settings ({1}).\
\nChange Project Settings upgrade mode to {0}?
committed.changes.action.enable.merge.highlighting=Highlight integrated
committed.changes.action.enable.merge.highlighting.description.text=Option is available for SVN repositories and working copies with 1.5 version only
committed.changes.action.merge.highlighting.select.root=from:
committed.changes.action.merge.highlighting.select.branch=to:
committed.changes.action.merge.highlighting.refresh.text=Refresh
committed.changes.action.merge.highlighting.refresh.description=Refresh merged revisions info
committed.changes.merge.status.refreshing.text=?
committed.changes.merge.status.integrated.text=+
committed.changes.merge.status.not.integrated.text=-
committed.changes.action.merge.highlighting.select.wcopy=working copy:
dialog.Subversion.select.working.copy.title=Configure working copy paths
dialog.Subversion.select.working.copy.wcopy.list.title=Known working copies
upgrade.format.to15.question.title=Upgrade working copies format
upgrade.format.to15.question.text=Do you want to upgrade Subversion working copies format to 1.5?\n\
Note: Working copy formats can be changed through {0}
upgrade.format.clarify.for.outside.copies.text=Working copy root ''{0}'' is outside the directory specified in Project Settings.\nConvert anyway?
upgrade.format.to16.question.title=Upgrade Subversion working copies format
upgrade.format.to16.question.text=Do you want to upgrade Subversion working copies format to 1.6?\n\
Note: Working copy formats can be changed through {0}
action.Subversion.cleanup.progress.title=Subversion cleanup
action.Subversion.cleanup.progress.text=Performing ''{0}'' cleanup...
action.Subversion.cleanup.project.title=Cleanup Project
action.Subversion.cleanup.error.message=Error performing cleanup for ''{0}'': {1}
action.working.copies.map.correct.roots.button.text=Correct &Roots
action.working.copies.map.correct.warning.text=Some folders marked in 'Project Settings | Version Control' as under Subversion control,\n\
are unversioned (Versioned folders may be under them).\n\
You can use 'Correct Roots' button to perform auto correction.
action.Subversion.properties.diff.with.local.name=Properties Diff with Local
action.Subversion.properties.diff.name=Properties Diff
action.Subversion.properties.difference.diff.title=Subversion properties difference: {0}
action.Subversion.properties.difference.diff.for.move.title=Subversion properties difference: {0} -> {1}
message.Subversion.files.can.not.be.added.to.subversion.are.not.under.working.copy.text=File(s) {0} can not be added to Subversion control since they are not under working copy.
action.Subversion.integrate.difference.option.use.ancestry.text=&Use ancestry
fatal.Subversion.javasvn.jar.library.version.test=javasvn.jar library is old;\nPlease make sure installation was made properly.
subversion.problem.text=Subversion problem
use.idea.proxy.as.default=Use {0} general proxy settings as default for Subversion
use.idea.proxy.as.default.label.text=Only HTTP proxy can be used from Settings | Plugins | Proxy Settings as default
action.Subversion.update.use.locks.on.demand.text.configurable=Updat&e administrative information only in changed subtrees
action.Subversion.update.use.locks.on.demand.text=Update administrative information only in &changed subtrees
action.Subversion.update.use.locks.on.demand.description=When enabled, update only locks those parts of working copy that is about to be updated.\n\
As a result administrative information will only be updated for working copy subtrees that has been modified during update.\n\
Enabling this option may improve update operation performance.\n\
Note that under some circumstances, you might have to perform "normal" update.
switch.target.not.copy.current=Switch target URL is not a copy of current.\n Do you want to continue?
switch.target.problem.title=Switch target problem
tab.repository.merge.panel.title=Subversion
tab.repository.merge.panel.root.panel.to=To:
tab.repository.merge.panel.root.panel.from=From:
tab.repository.merge.panel.root.panel.branch=Branch:
tab.repository.merge.panel.root.panel.url=Url:
tab.repository.merge.panel.root.panel.local=Local Path:
tab.repository.merge.panel.root.panel.select.local=Select path to the target working copy
tab.repository.merge.panel.filter.plus=Filter out integrated
tab.repository.merge.panel.filter.minus=Filter out not integrated
tab.repository.merge.panel.filter.others=Filter out others
browse.changes.settings.stop.on.copy=&Stop On Copy
action.mark.list.as.merged.text=Mark As Merged
action.mark.list.as.merged.description=Mark selected revision as merged, but do not actually merge
action.mark.list.as.not.merged.title=Mark As Not Merged
action.mark.list.as.not.merged.descrition=Mark selected revision as not merged, but do not change anything besides svn:mergeinfo
label.depth.text=&Depth:
label.depth.description=Replaces old "recursive" option. "Recursive"=false is equivalent to "immediates", "recursive"=true is equivalent to "infinity"
undo.integrate.to.branch=Undo Integrate To Branch...
undo.integrate.to.branch.description=Removes changes done in revision from branch
undo.integrate.to.branch.dialog.title=Undo Integrate To Branch
merge.source.details.title=Merge source details for {0} [{1}]
repository.browser.edit.location.dialog.title= Edit Location Url
loading.default.branches.configuration.text=Loading default branches configuration...
loading.data.for.root.text=Loading data for {0}
action.PropertiesDiff.text=Compare Subversion Properties
action.AlienPropertiesLocalDiff.text=Compare Subversion Properties with Branch
action.IntegrateChangeSetAction.text=Integrate to Branch
dialog.map.working.copies.button.refresh.text=Re&fresh
refreshing.working.copies.roots.progress.text=Refreshing working copies roots...
retrieving.subversion.status.text=Retrieving Subversion status...
fetching.properties.contents.progress.title=Fetching properties contents...
show.properties.diff.progress.text.revision.information=Revision {0}
show.properties.diff.progress.text2.property.information=Property {0}
svn.checkout.destination.directory.title=Destination Directory
svn.checkout.destination.directory.description=Select checkout destination directory
checkbox.ignore.whitespace.when.merge.text=&Ignore whitespaces
svn.dialog.select.ignore.patterns.to.remove.title=Select svn:ignore patterns to remove
svn.dialog.select.ignore.patterns.to.remove.prompt=Files being deleted are ignored by Subversion.\n\
Some of 'svn:ignore' patterns may become outdated.\n\
Select 'svn:ignore' patterns to be deleted.
detect.nested.working.copies=Detect nested working copies
svn.changeview.item.in.conflict.text=File has {0} conflict(s) and can not be committed
svn.changeview.locally.deleted.item.in.conflict.text=File has {0} conflict(s)
action.mark.tree.conflict.resolved.text=Mark Tree Conflict Resolved...
action.mark.tree.conflict.resolved.confirmation.text=Do you want to mark tree conflict as resolved?
action.mark.tree.conflict.resolved.confirmation.title=Mark Tree Conflict Resolved
svn.integrate.changelist.warning.unresolved.conflicts.text=Integration interrupted. There are unresolved conflicts or skipped items.
svn.option.ignore.whitespace.in.annotate=Ignore whitespace differences in annotations
annotation.show.merge.sources.default.text=Show merge source in history and annotations
svn.cannot.save.credentials.store-auth-creds=Cannot store credentials: forbidden by "store-auth-creds = no"
annotation.original.revision=Original revision
confirmation.resolve.tree.conflict.merge.moved=Apply theirs changes to {0} moved to {1}?
confirmation.resolve.tree.conflict.merge.renamed=Apply theirs changes to {0} renamed to {1}?
svn.create.external.below.action=Create External...
svn.create.external.below.description=Select URL, add svn\:external property, and optionally checkout it
svn.edit.commit.message.title=Edit Revision #{0} Comment
svn.edit.commit.message.attention=Attention! Previous message will be lost!
svn.edit.commit.message.prompt=New revision comment:
quick.merge.variants.merge.all.explanation=All not merged revisions will be merged.\n\
Subversion will find not merged revisions using svn\:mergeinfo property recorded in local copy.
quick.merge.variants.quick.select.explanation=Shows all revisions from target branch, merged and not merged.\n\
For manual selection. Very quick.
quick.merge.variants.pre.select.explanation=Finds where one of involved branches was copied from another.\n\
Loads only not yet merged revisions for selection. Can take long time for execution.
dialog.create.branch.or.tag.from.working.copy.warning=<html>Use this variant to create branch <b>with local changes</b>.\
<br/>In general, several items will be "added-with-history", not only target directory.\
<br/><br/>Each file that have revision different than root will be copied separately.\
<br/>It's recommended to update working copy before branch creation therefore.</html>
flash.module.type.name=Flash Module
flash.module.type.description=Flash modules are intended for developing <b>Adobe Flash</b> platform-targeted content.<br>\
                             Build configurations provided by the module will let you create <b>Flex</b> or pure <b>ActionScript</b> applications and libraries for web (Flash Player), desktop (Adobe AIR) and the AIR mobile platform.

debugger.waiting.player=Waiting for AIR or Flash player to connect
remote.flash.debug.computer=<html>Debugger is waiting for Flash application to connect:<br>\
  <ul>\
  <li>launch a Flash or AIR application on this computer. It will connect to the debugger automatically.</li>\
  <li>or right-click a running Flash player on this computer or a remote one, and select Debugger from the context menu.</li>\
  </ul>\
  IP address of this computer: {0}\
  </html>
remote.flash.debug.mobile.network=<html>Launch a mobile AIR application on the {0} device to start debugging.<br>\
  (Application must be packaged for debugging over network).<br><br>\
  IP address of this computer: {1}\
  </html>
remote.flash.debug.mobile.usb=<html>Launch a mobile AIR application on the {0} device to start debugging.<br>\
  (Application must be packaged for debugging over USB, port {1}).
initializing.flex.debugger=Initializing Flex debugger
flex.debugger.startup.error=Flex Debugger Startup Error
flex.debugger.unexpected.communication.error=Unexpected debugged player communication problem

must.accompany.includein.or.excludefrom.attribute={0} must accompany either the includeIn or excludeFrom attribute.
flex.invalid.enumeration.value={0} is not within acceptable enumeration values
flex.break.point.title=Flex Breakpoints
flex.invalid.integer.value=invalid integer value
flex.invalid.number.value=invalid number value

no.file.to.run=No HTML wrapper or SWF file found to start running/debugging
remote.url.is.not.accessible.title=Remote URL is not accessible
remote.url.is.not.accessible.message=Following IO exception was encountered while trying to fetch ''{0}'':\n{1}\nWould you like to proceed?
flex.run.config.url.can.not.be.run.with.flash.player=URL can not be launched with Flash Player
html.wrapper.can.not.be.run.with.flash.player=HTML wrapper can not be launched with Flash Player
path.to.flash.player.not.set=Path to Flash Player is not set ('Launch with' option)
flash.player.not.found=Flash Player executable not found: {0}
run.trusted=Plac&e output folder in the local-trusted sandbox
flex.run.config.incorrect.url=Incorrect URL
flex.run.config.url.not.set=URL or file to launch is not set
debugger.sdk.not.found=SDK not found: {0}
file.not.found=File not found: {0}
main.class.not.set=Main class is not specified
main.class.not.found=Main class ''{0}'' is not found
rlm.main.class.not.set=Main class of runtime-loaded module is not specified
rlm.main.class.not.found=Main class of runtime-loaded module is not found: {0}
rlm.main.class.equal.to.bc.main.class=Main class of runtime-loaded module is equal to main application class: ''{0}'''
rlm.output.equal.to.bc.output=Output file of runtime-loaded module is equal to the output file of the main application: ''{0}''
output.file.name.not.specified=Output file name is not specified.
rlm.output.file.name.not.specified=Output file of runtime-loaded module is not specified.
output.file.must.have.swf.extension=Output file must have swf extension.
rlm.output.file.must.have.swf.extension=Output file of runtime-loaded module must have swf extension.
flex.sdk.version.unknown=unknown version
popup.title.step.into.function=Step Into Function
sdk.can.not.be.selected=SDK ''{0}'' can not be selected here.\nPlease select Flex/AIR SDK.
select.flex.sdk=Select Flex/AIR SDK
cannot.resolve.state=Invalid state reference
configuration.not.valid=Run configuration error: {0}
module.not.specified=Module not specified
module.not.found=Module ''{0}'' not found
flexunit.not.found.for.bc=Dependencies of build configuration ''{0}'' do not include a FlexUnit library
no.test.method.specified=No test method specified
method.not.valid=Method ''{0}'' doesn''t exist or is not suitable to run in test
package.not.valid=Package ''{0}'' is missing or empty
class.not.public=Class ''{0}'' is not public
class.not.specified=Class not specified
test.class.not.specified=No test class specified
class.not.found=Class ''{0}'' not found
class.contains.no.tests=Class ''{0}'' doesn''t contain tests
tests.in=Tests in ''{0}''
no.free.port=Could not find free port
flexunit.startup.error=Failed to start FlexUnit session: {0}
port.is.busy=Port {0} is busy

flexunit.inspections.group=FlexUnit inspections
flexunit.inspection.testclassvisibility.displayname=Test class is not public
flexunit.inspection.testmethodvisibility.displayname=Test method is not public
flexunit.inspection.testclassvisibility.message=Test class should be public
flexunit.inspection.testmethodvisibility.message=Test method should be public
flexunit.inspection.testmethodisstatic.displayname=Test method is static
flexunit.inspection.testmethodisstatic.message=Test method should not be static
flexunit.fix.remove.static.modifier=Remove static modifier
flexunit.inspection.testmethodisproperty.displayname=Test method is getter/setter
flexunit.inspection.testmethodisproperty.message=Test method should not be getter or setter
flexunit.inspection.testmethodhasparameters.displayname=Test method has required parameters
flexunit.inspection.testmethodhasparameters.message=Test method should not have required parameters
flexunit.inspection.testmethodreturntype.displayname=Test method should return void
flexunit.inspection.testmethodreturntype.message=Test method should return void
flexunit.inspection.mixedapi.displayname=FlexUnit 4 test method in class extending FlexUnit 1 or Flunit TestCase
flexunit.inspection.mixedapi.message=FlexUnit 4 test method in class extending FlexUnit 1 or Flunit TestCase
flexunit.inspection.testclassinproductsource.displayname=Test class in product source
flexunit.inspection.testclassinproductsource.message=Test class in product source
flexunit.inspection.testclasswithnotests.displayname=Test class has no tests
flexunit.inspection.testclasswithnotests.message=Test class has no tests
flexunit.inspection.runnerclass.displayname=Custom runner class implements IRunner interface
flexunit.inspection.runnerclass.message=Class does not implement IRunner interface
flexunit.inspection.testmethodinsuite.message=Test method in suite
flexunit.inspection.testmethodinsuite.displayname=Test method in suite
flexunit.inspection.emptysuite.message=Test suite is empty
flexunit.inspection.emptysuite.displayname=Test suite is empty
flexunit.inspection.suitewithnorunner.displayname=Test suite has no runner class specified
flexunit.inspection.suitewithnorunner.message=Test suite has no runner class specified
flexunit.test.runner.caption=FlexUnit Test Runner
invalid.flex.compiler.heap.size=Invalid Flex compiler heap size
fcsh.out.of.memory.and.restarted=Flex compiler shell is out of memory and will be restarted. You may increase its heap size at {0} | Compiler | Flex Compiler page
compiling.module=Compiling module ''{0}''...
unnamed=unnamed
js.actionscript.specific.group.name=ActionScript specific
js.implicitly.internal.declaration.inspection.name=Declaration with implicit access type
js.implicitly.internal.declaration.problem=Declaration has implicit package internal scope #loc
js.implicitly.internal.declaration.problem.add.internal.fix=Add explicit internal modifier
js.untyped.declaration.inspection.name=Declaration with no type
js.untyped.variable.problem=Variable {0} has no type #loc
js.untyped.function.problem=Function {0} has no return type #loc
js.untyped.declaration.problem.addtype.fix=Add Type to Declaration
js.field.can.be.local.name=Field can be local
js.field.can.be.converted.to.local=Field can be converted to a local variable
js.convert.to.local.quick.fix=Convert to local

flash.builder=Flash Builder
flash.builder.project.import.title=Flash Builder Project Import
sdk.for.imported.projects=SDK for imported Flash Builder {0, choice, 1#project|2#projects}:
flash.builder.workspace.or.project.dir=&Flash Builder workspace or project, *.fxp, *.fxpl or *.zip file
select.flash.builder.workspace.or.project=Select *.fxp, *.fxpl or *.zip file, Flash Builder workspace or project
specify.flash.builder.workspace.or.project.dir=File or folder path is not set
folder.not.empty=Folder is not empty:\n{0}\nSome files may be overwritten.\n\nContinue?
folder.does.not.exist=Folder does not exist: ''{0}''
file.or.folder.not.found=File or folder not found: {0}
flash.builder.projects.not.found.in=Flash Builder projects are not found in selected folder
not.flash.builder.project=Selected file is not a Flash Builder project
does.not.contain.flash.builder.projects=Selected archive does not contain Flash Builder projects
incorrect.file.format=Selected archive has incorrect format
folder.to.unzip.one.FB.project=Extract project to
folder.to.unzip.several.FB.projects=Multiple projects found. Extract them to corresponding subfolders of
note.multiple.projects.extract.to.subfolders=Note: multiple projects found. They will be extracted to corresponding subfolders.
extract.single.to.subfolder.0=Create subfolder ''{0}'' for extracted project
project.location=Project location
project.files.location=Project files location
open.project.0=Open Project ''{0}''
failed.to.extract.project=Failed to extract project:\n{0}
project.name.empty=Project name can not be empty
project.path.empty=Project files location can not be empty
looking.for.flash.builder.projects=Looking for Flash Builder projects

adl.not.set.check.sdk.settings=AIR Debug Launcher is not set. Check configuration of SDK ''{0}''
adl.not.found.check.sdk.settings=AIR Debug Launcher is not found at ''{0}''. Check configuration of SDK ''{1}''
adl.not.found.check.sdk.installation=AIR Debug Launcher is not found at ''{0}''. Check installation of SDK ''{1}''
air.runtime.not.set.check.sdk.settings=AIR Runtime is not set. Check configuration of SDK ''{0}''
air.runtime.not.found.check.sdk.settings=AIR Runtime is not found at ''{0}''. Check configuration of SDK ''{1}''
checking.url=Checking URL ''{0}''
bad.url=Bad URL: {0}
no.response.from.server=No response from server in {0} seconds
choose.event.class.title=Choose Event Class
compilation.skipped.because.nothing.changed.in=Nothing has changed in module ''{0}'' since the last compile. Skip...\nClick ''Rebuild Project'' on the ''Build'' menu to force compilation.
compilation.skipped.because.nothing.changed=Nothing has changed since the last compile. Skip...\nClick 'Rebuild Project' on the 'Build' menu to force compilation.
compilation.skipped=Compilation skipped
dumb.mode.flex.unit.warning=Cannot run FlexUnit tests while updating indices. Please execute this run configuration again after indices are built.
debugger.show.full.value=view
breakpoint.condition.error=Breakpoint Condition Error
failed.to.evaluate.breakpoint.condition=Failed to evaluate breakpoint condition: {0}\n\nWould you like to stop at the breakpoint?
not.boolean.breakpoint.condition=Failed to evaluate breakpoint condition: {0}\nResult value is not boolean: {1}\n\nWould you like to stop at the breakpoint?

error.creating.flash.player.trust.folder=SWF file was not added to local-trusted sandbox\nCouldn''t create FlashPlayerTrust folder: {0}
flash.player.trust.folder.does.not.exist=SWF file was not added to local-trusted sandbox\nFlashPlayerTrust folder does not exist
error.creating.idea.trust.cfg.file=SWF file was not added to local-trusted sandbox\nCouldn''t create {0} file in FlashPlayerTrust folder: {1}
could.not.find.swf.to.trust=Could not find SWF file to add to local-trusted sandbox
failed.to.update.idea.trust.cfg.file=Couldn''t update {0} file in FlashPlayerTrust folder: {1}

file.created=<a href="">{0}</a> created
html.wrapper.creation.failed=Failed to create HTML wrapper\n{0}
error.title=Error

root.tag.must.contain.language.namespace=Root tag must contain language namespace declaration
different.language.namespaces=Different language namespaces are declared in MXML file
remove.namespace.declaration=Remove Namespace Declaration
declare.namespace=Declare Namespace {0}
flex.choose.color.dialog.title=Choose Color
system.default.application=System default application
launch.with.title=Launch With
cant.launch=Can''t open {0}\nwith {1}\nError: {2}
css.files.title=CSS files to compile to SWFs

livetemplate.description.iter=Iterate (for each..in)
livetemplate.description.itin=Iterate (for..in)
livetemplate.description.itar=Iterate elements of array
livetemplate.description.ritar=Iterate elements of array in reverse order
flex.compiler.vm.options.title=Flex Compiler VM Options

create.skin=Create Skin ''{0}''
invalid.element.name=Invalid {0} name: {1}
element.name.empty={0} name is empty
choose.host.component=Choose Host Component
css.inspections.stray.brace=Stray brace in Flex CSS
css.inspections.stray.closing.brace=Closing brace without corresponding opening brace
css.inspections.stray.opening.brace=Opening brace without corresponding closing brace
choose.parent.component.dialog.title=Choose Parent Component
intention.create.subclass.or.implement.interface=Create Subclass or Implement Interface
intention.create.event.handler=Create Event Handler
intention.create.getter.setter=Create Getter and Setter for ''{0}''
intention.create.setter=Create Setter for ''{0}''
intention.create.getter=Create Getter for ''{0}''

threads=threads
processes=processes
using.builtin.compiler=Using built-in compiler shell, up to {0} parallel threads
using.mxmlc.compc=Using mxmlc/compc tools from Flex SDK, up to {0} parallel processes
or.asc.2.0=, or ASC 2.0 (if available) for pure ActionScript build configurations
see.flex.compiler.page=See compiler settings at {0} | Compiler | Flex Compiler page
can.not.use.built.in.compiler.shell=Can't use built-in compiler shell because different Flex SDKs are configured for different build configurations.

add.doc.url.button=Add Documentation URL

generating.flex.configs=Generating Flex compiler configuration files
generating.flex.config.for=Generating Flex compiler configuration file for {0}
flexmojos.warning.short=<html>Failed to generate Flex compiler configuration file.<br><a href="">Details...</a></html>
flexmojos.warning.detailed=<html><p>IntelliJ IDEA failed to generate <b>Flex compiler configuration file</b> and other auxiliary files<br>\
(target/[project_name]-config-report.xml and target/classes/config-[version]/*.*)</p><br>\
<p>These files are required for proper code highlighting, completion and compilation of Flexmojos projects.<br>\
To make sure that required files are up-to-date please run the following Maven command from the command line:</p>\
<pre><b>mvn compile -DconfigurationReport=true</b></pre></html>

flexmojos4.details.start=Full information is available in logs (Help | Reveal Log)\n\n{0}
flexmojos4.warning=Failed to generate Flex compiler configuration file.\n{0}
flexmojos4.warning.with.link=<html>Failed to generate Flex compiler configuration file.<br><a href="">Details...</a></html>
flexmojos.maven.plugin.outdated.warning=Please remove outdated idea-flexmojos-maven-plugin from your POM ({0})

flexmojos.project.import=Flexmojos Project Import
run.when.ide.builder.turned.off=<html>''Skip compilation'' flag is set for the <a href="BuildConfiguration">build configuration ''{0}''</a> (module ''{1}'').<br>Launched application may be missing or out of date.<br><br><a href="DisableWarning">Disable warning</a></html>
run.when.compile.before.run.turned.off=<html>'Make Before Launch' option is turned off for this <a href="RunConfiguration">run configuration</a>.<br>Launched application may be missing or out of date.<br><br><a href="DisableWarning">Disable warning</a></html>
flex.sdk.3.mac.debug.problem=<html>Debugger from Flex SDK {0} doesn''t work with Flash Player 11.x.<br/>It is recommended to select Flex SDK 4.x in the ''Use debugger from SDK'' field of the <a href="RunConfiguration">run configuration</a>.
edit.configuration.title=Edit Configuration
replace.base.component.prompt=Replace base component ''{0}'' with ''{1}''?
replace.base.class.prompt=Replace base class ''{0}'' with ''{1}''?
create.edge.title=Create Edge
create.extends.relationship.command.name={0} extends {1}
create.implements.relationship.command.name={0} implements {1}
base.component.needed.message=Cannot remove relation to base component
remove.edge.title=Remove Edge
remove.inheritance.link.prompt=Remove inheritance link between ''{0}'' and ''{1}''?
remove.relationship.command.name=Remove inheritance relation
move.0=Move {0} {1}
move.file.local.0=Move inner {0} {1}
move.elements=Move specified elements
moved.element.description={0} {1}
move.command.name=Move {0} to {1}
element.to.be.moved.to={0} to be moved to {1}
elements.to.be.moved.to=Elements to be moved to {0}
references.in.code.to.0=References in code to {0}
package.name.title=Package name:
to.package.title=To package:
element.to.be.moved.to.upper.level=Inner {0} to be moved to upper level ({1})
move.to.upper.level.command.name=Move inner {0} {1} to {2}
references.in.code.to.inner.0=References in code to inner {0}
element.name={0} &name:
android.application.launched=Android application launched on the device
ios.application.packaged.to.run=<html>The iOS application package <a href="">{0}</a> has been successfully created.<br>You can now install it on your device using iTunes.</html>
ios.application.packaged.to.debug=<html>The iOS application package <a href="">{0}</a> has been successfully created.<br>You can now install it on your device using iTunes.<br><br>Debugger is waiting for the application to be started on the device...</html>
ios.application.installed.to.run=The iOS application ''{0}'' has been successfully installed\nand you can now start it on your device.
ios.application.installed.to.debug=The iOS application ''{0}'' has been successfully installed.\nYou can now launch it on your device to start debugging.
ios.simulator.application.launched=Application launched on the iOS Simulator

css.flex.dialect.name=Flex
unexpected.empty.adt.output=No output from ADT tool
air.mobile.version.problem.title=AIR Version
air.ios.debug.via.usb.requires.3.4=To debug iOS application via USB <b>AIR 3.4 or later</b> is required.
air.ios.simulator.requires.3.3=To run application on the iOS simulator <b>AIR 3.3 or later</b> is required.
air.captive.packaging.requires.3.0=To create AIR package with captive runtime <b>AIR 3.0 or later</b> is required.
air.mobile.ios.fast.packaging.requires.2.7=To create iOS package in interpreter mode (fast packaging) <b>AIR 2.7 or later</b> is required.
air.mobile.packaging.requires.2.6=To create AIR mobile package <b>AIR 2.6 or later</b> is required.
air.mobile.packaging.version.problem=<html>{0}<br><br>\
  SDK ''{1}'' includes AIR {2}.<br>\
  You can do one of the following:\
  <ul>\
    <li>unpack AIR SDK {3} or later on top of currently used Flex SDK</li>\
    <li>use another version of Flex SDK that already includes AIR {3} or later</li>\
  </ul>\
  </html>
launch.android.application.title=Launch Android Application
launching.android.application=Launching Android application {0}
launch.ios.application.title=Launch iOS Application
launching.ios.application=Launching iOS application {0}
adb.forward.title=ADB Forward
check.ios.devices.title=Check iOS Device
checking.ios.devices=Checking iOS devices
more.than.one.ios.device=More than one iOS device is connected to the computer
idb.forward=IDB forward
idb.forward.title=IDB Forward
packaging.application=Packaging {0} application
air.application.created=<html>AIR {0, choice, 1#application|2#applications} created: <br>{1}</html>
dialog.edit.template.checkbox.mxml=&MXML
air.runtime.version.title=AIR Runtime Version
air.runtime.not.installed=AIR Runtime is not installed on the device.\nSDK ''{0}'' contains AIR Runtime {1}.\n\nWould you like to install it?
update.air.runtime.question=AIR Runtime {0} is installed on the device.\nSDK ''{1}'' contains AIR Runtime {2}.\n\nWould you like to install newer version?
check.air.version.title=Check AIR Version
checking.air.version=Checking AIR version
uninstall.air.runtime.title=Uninstall AIR Runtime
uninstalling.air.runtime=Uninstalling AIR Runtime
install.air.runtime.title=Install AIR Runtime
installing.air.runtime=Installing AIR Runtime {0}
create.android.package.title=Create Android Package
create.ios.package.title=Create iOS Package
creating.android.package=Creating Android package
creating.ios.package=Creating iOS package
install.android.application.title=Install Android Application
install.ipa.on.simulator.title=Install Application on iOS Simulator
install.ios.app.title=Install iOS Application
installing.0=Installing {0}
uninstall.android.application.title=Uninstall Android Application
uninstall.ios.simulator.application.title=Uninstall Application From iOS Simulator
uninstalling.0=Uninstalling {0}
clear.directive.state.specific.error='@Clear' directive may only be used for state-specific style properties
clear.directive.IStyleClient.error='@Clear()' directive is allowed only for style properties of classes that implement mx.styles.IStyleClient interface
unknown.color.error=Unknown color: ''{0}''
sdk.not.set=SDK is not set
output.file.name.not.set=Output file name is not set
output.file.wrong.extension=Output file name must have {0} extension
not.a.css.runtime.stylesheet=File ''{0}'' can''t be used as runtime style sheet, only CSS files allowed.
css.not.found=Runtime style sheets: file doesn''t exist: {0}
file.to.include.in.swc.not.found=Files to include in SWC: file ''{0}'' doesn''t exist
output.folder.not.set=Output folder is not set
flexunit.output.folder.not.set=Project output folder is not set or its path is not absolute (needed for FlexUnit)
output.folder.not.absolute=Path to output folder must be absolute: {0}
html.template.folder.not.set=Folder with HTML wrapper template is not set
html.template.folder.not.found=Folder with HTML wrapper template does not exist: ''{0}''
package.file.name.not.set={0} package file name is not set
packaging.options.empty.file.name={0} packaging options, files to package: empty path in the table
packaging.options.empty.relative.path={0} packaging options, files to package: empty relative path in the table
folder.to.package.includes.output={0} packaging options: folder to package includes output folder: {1}
packaging.options.bad.ios.sdk.path={0} packaging options: iOS SDK not found at {1}
ios.provisioning.profile.not.set=iOS provisioning profile is not set
ios.provisioning.profile.not.found=iOS provisioning profile not found: {0}
keystore.not.set={0} signing options: keystore is not set
keystore.not.found={0} signing options: keystore file not found: {1}
packaging.options.relative.path.not.matches={0} packaging options, files to package: relative folder path doesn''t match its full path: {1}
packaging.options.file.not.found={0} packaging options, file not found: {1}
additional.config.file.not.found=Additional compiler configuration file not found: {0}
bc.dependency.problem=Forbidden dependency found: \n\
  Build configuration ''{0}'' ({2}, module ''{1}'') \n\
  depends on build configuration ''{3}'' ({5}, module ''{4}''). \n\
  Dependency type: {6}
run.configuration.0=Run Configuration ''{0}''
project.setup.problem=Project setup problem: {0}
project.setup.problem.title=Project Setup Problem
bc.dependency.does.not.exist=Build configuration ''{0}'' (module ''{1}'') does not exist. \nIt is set as dependency for build configuration ''{2}'' (module ''{3}'')
bc.not.specified=Build configuration is not specified
module.does.not.contain.bc=Module ''{0}'' does not contain build configuration ''{1}''
bc.does.not.produce.app=Build configuration ''{0}'' (module ''{1}'') does not produce runnable application
android.disabled.in.bc=Android support is not enabled in build configuration ''{0}'' (module ''{1}'')
ios.disabled.in.bc=iOS support is not enabled in build configuration ''{0}'' (module ''{1}'')
bc.0.module.1.android.custom.descriptor.not.set=Build configuration ''{0}'' (module ''{1}''):\npath to custom Android app descriptor is not set
bc.0.module.1.ios.custom.descriptor.not.set=Build configuration ''{0}'' (module ''{1}''):\npath to custom iOS app descriptor is not set
bc.0.module.1.custom.descriptor.not.set=Build configuration ''{0}'' (module ''{1}''):\npath to custom app descriptor is not set
bc.0.module.1.android.custom.descriptor.not.found=Build configuration ''{0}'' (module ''{1}''):\ncustom Android app descriptor not found:\n{2}
bc.0.module.1.ios.custom.descriptor.not.found=Build configuration ''{0}'' (module ''{1}''):\ncustom iOS app descriptor not found:\n{2}
bc.0.module.1.custom.descriptor.not.found=Build configuration ''{0}'' (module ''{1}''):\ncustom app descriptor not found:\n{2}
bc.0.module.1.air.version.mismatch.warning=Build configuration ''{0}'' (module ''{1}''):<br>AIR version in the app descriptor ({2}) doesn''t match AIR SDK version: {3}.<br>{4}
custom.descriptor.not.set=Path to custom {0} app descriptor is not set
custom.descriptor.not.found=Custom {0} app descriptor not found: {1}
air.version.mismatch.warning=Warning: AIR version in the {0} app descriptor {1} ({2}) doesn''t match AIR SDK version: {3}
same.output.files=Output file is the same as in build configuration ''{0}'' (module ''{1}''): {2}
same.output.files.as.in.bcs=Output file is the same as in build {0, choice, 1#configuration|2#configurations} {1}: {2}
sdk.does.not.support.air.mobile=Flex SDK {0} does not support AIR mobile development
sample.app.name.empty=Sample application file name not specified
sample.app.incorrect.extension=Sample application must have either .mxml or .as file extension
failed.to.create.folder=Failed to create folder {0}: \n{1}
create.html.wrapper.template.title=Create HTML Wrapper Template
selected.path.not.folder=Selected path is not a folder: \n{0}
folder.not.empty.clear.or.overwrite=Selected folder is not empty.\nWould you like to remove its contents or to keep existing files (in the latter case certain files can be overwritten)?
folder.not.empty.clear.option=&Remove
folder.not.empty.keep.option=&Keep
folder.not.empty.cancel.option=&Cancel
failed.to.delete=Failed to remove files: \n{0}
html.wrapper.in.sdk.not.found=Folder with HTML wrapper template is not found in SDK installation: \n{0}
create.air.descriptor.template.title=Create AIR Descriptor Template
use.same.descriptor.for.android.and.ios=Would you like to use created AIR descriptor template for both Android and iOS packaging?
file.exists.replace.question=Would you like to replace existing file ({0})?
default.compiler.options.for.module.title=Default Compiler Options For Module ''{0}''
default.compiler.options.for.project.title=Default Compiler Options For Project ''{0}''
overridden.in.config.file={0} is overridden in additional compiler config file. Actual value: {1}
main.class.and.output.overridden.in.config.file=Main class and output path are overridden in additional compiler config file
actual.value.from.config.file.0=Actual value from config file: {0}
set.up.sdk.title=Set up Build Configuration SDK
choose.build.configuration.popup.title=Active Flash build configuration for module ''{0}''
active.bc.widget.tooltip=Flash build configuration ''{0}'' is used for source code highlighting and completion in module ''{1}''
active.bc.widget.empty.tooltip=<html>This pane shows active Flash build configuration for the module in context.<br>Active build configuration is used for source code highlighting and completion.</html>
active.bc.widget.empty.text=Flash build configuration
flex.sdk.presentable.name=Flex/AIR SDK
add.build.configuration.title=Add Build Configuration (module ''{0}'')
copy.build.configuration=Copy Build Configuration ''{0}'' (module ''{1}'')
build.configurations.popup.separator.text=Build Configurations
module.sdk.label=Module &SDK:
project.sdk.label=Project &SDK:
bc.0.module.1.problem.2=Build configuration ''{0}'' (module ''{1}''): {2}
bc.tab.general.display.name=General
bc.tab.dependencies.display.name=Dependencies
bc.tab.compiler.options.display.name=Compiler Options
bc.tab.air.desktop.display.name=AIR Package
bc.tab.android.display.name=Android
bc.tab.ios.packaging.display.name=iOS
bc.problem.no.sdk=No SDK defined.
bc.problem.sdk.not.found=Flex SDK ''{0}'' not found.
bc.problem.dependency.module.not.found=Dependency module ''{0}'' is missing.
bc.problem.dependency.bc.not.found=Dependency build configuration ''{0}'' is missing in module ''{1}''.
project.converter.description=Flex modules will be converted to Flash modules.<br/>Java modules with Flex facets will be converted to Flash modules.
bc.structure.element.type.name=Build configuration
can.not.package.bc=<html><b>{0}</b>: {1}</html>
package.bc.with.disabled.compilation=<html>Compilation is disabled for the following build {0, choice, 1#configuration|2#configurations}:<br><br>{1}<br>\
  Existing SWF {0, choice, 1#file|2#files} may be out of date.<br><br>Create {0, choice, 1#package|2#packages} based on existing SWF {0, choice, 1#file|2#files}?</html>
package.air.application.title=Package AIR Application
packaging.air.application=Packaging AIR application\: {0}
failed.to.create.air.package=<html>Failed to package AIR application {0}:<br><br>{1}<br><br>[<a href="">ADT command line</a>]</html>
copying.0=Copying {0}...
add.bc.dependency.dialog.title=Add Dependency
add.dependency.bc.dialog.label=Choose build configuration(s) to depend on:
no.applicable.bcs=No applicable build configurations found
choose.bc.dialog.title=Choose Flash Build Configurations
choose.bc.dialog.label=Library ''{0}'' will be added to the selected build configurations:
swc.libraries.root.detector.name=SWC or ANE library
docs.root.detector.name=Documentation
as.libraries.root.detector.name=Raw ActionScript library
sources.root.detector.name=Library sources
swc.folders.root.detector.name=Folder with SWCs or ANEs
add.module.library.action.text=New Library...
documentation.order.root.type.name=Documentation
items.to.include.in.swc.dialog.title=Files and Folders to Include in SWC
rlms.dialog.title=Runtime-Loaded Modules
choose.rlm.main.class.title=Choose Main Class of Runtime-Loaded Module
css.files.to.compile.dialog.title=CSS Files to Compile
different.debug.settings=Can''t create debuggable package for  {0, choice, 1#Android |2#iOS} and non-debuggable package for {0, choice, 1#iOS |2#Android} at once
compilation.is.switched.off=Compilation is switched off and output SWF doesn't exist
main.class.is.not.a.subclass.of=Main class ''{0}'' is not a public subclass of {1}.
change.bc.type.title=Change Build Configuration Type
bc.dialog.up.down.tooltip=Use up and down keys to change target platform, hold Shift to change output type
check.flash.app.compiled.before.launch.notification.group=Flash app not compiled before launch
0.module.1=''{0}'' (module ''{1}'')
open.project.structure=Project Structure...
autodetected.source.root.type=ActionScript/Flex
create.bc.action.text=Flash build configuration
create.bc.action.description=Create new Flash build configuration
library.editor.title.plural=Libraries
library.editor.title.singular=Library
make.before.launch.warning.disabled=Warning about skipped compilation is disabled.\nTo enable it again use the Settings button at the Event Log tool window.
sdk.version.unknown=Failed to read version of the SDK ''{0}''. Make sure that [SDK home]/flex-sdk-description.xml (or [SDK home]/air-sdk-description.xml) file is not corrupted and try to recreate the SDK
air.sdk.requires.pure.as=build configuration should be marked as ''Pure ActionScript'' because AIR SDK ''{0}'' doesn''t contain Flex components
html.wrapper.folder.clash=Folder with HTML wrapper template clashes with the {0}\: {1}
html.wrapper.folder.clash.for.dialog=Path clashes with the {0}\: {1}
take.wrapper.template.from.sdk=&Take HTML wrapper template from the following Flex/AIR SDK:
choose.library.files.description=<html>Select *.swc or *.ane files and/or folders containing *.swc, *.ane or raw ActionScript files.<br>{0} will analyze the contents of the selected folders and automatically assign the files contained therein to the appropriate categories (Classes, Sources and Documentation).</html>
add.shared.library.dependency.action.text=Project or Global Library...
add.dependency.popup.title=Add dependency on\:
add.dependency.action.name=Add dependency
add.library.components.action.name=Add &Library Components...
uml.calculating.dependencies.message=Calculating dependencies
uml.dependencies.settings.group.title=Dependencies
uml.dependencies.one.to.one=One To One
uml.dependencies.one.to.many=One To Many
uml.dependencies.usages=Usages
uml.dependencies.self=Self-links
uml.dependencies.create=Create
own.lib.used.as.3rd.party=dependency on the file {0} detected which is the output of the build configuration ''{1}'' (module ''{2}''). A more typical case is when one build configuration depends on another rather than on its output.
instead.setup.dependency.on.bc=Replace with dependency on build configuration ''{0}'' (module ''{1}'')
uml.create.relationship.label=<html>&laquo;create&raquo;</html>
ios.simulator.on.mac.only.warning=iOS Simulator is available on Mac OS only
ios.simulator.on.mac.only.button.text=iOS Simulator (Mac only)
ios.simulator.sdk.not.set=Path to iOS Simulator SDK is not set
ios.simulator.sdk.not.found=iOS Simulator SDK is not found: {0}
cant.execute.flexunit1.for.pure.as.bc=Can't execute FlexUnit 1 tests for pure ActionScript build configuration. Please use FlexUnit 4 or later.
locales.dialog.label=Locales supported by Flex SDK ''{0}''\:
new.flex.component.command.name=Create MXML Component
create.flex.component.intention.name=Create MXML Component ''{0}''
new.flex.component.action.description=Create new MXML component
new.flex.component.dialog.title=New MXML Component
new.flex.component.uml.action.text=MXML Component
parent.component.label.text=Parent &component\:
parallel.compilation.hint.title=Hint
parallel.compilation.hint=Parallel compilation of independent Flash build configurations <br/>may improve compilation performance.<br/><br/><a href="enable">Enable parallel compilation</a>\u00A0\u00A0\u00A0\u00A0<a href="open">Open compiler settings</a>
parallel.compilation.enabled=Parallel compilation enabled
see.settings.compiler=To configure compiler settings use the <a href="">Settings -> Compiler</a> page.
define.0=Declare conditional compiler definition ''{0}''
failed.to.read.app.id=Failed to read application id from the following file\:\n{0}
add.as.library.title=Add as Library
bc.output.file.source.item={0}: output file only ({1})
bc.output.file.and.wrapper.source.item={0}: output file and HTML wrapper
bc.output.folder.source.item={0}: entire output folder contents
f### Generic words ###
GNAME.function=function
GNAME.class=class
GNAME.var=variable
GNAME.item=item

### Actions: ACT ###
ACT.FAMILY.import=import

# Actions and associated commands
ACT.NAME.add.import=Add import
ACT.NAME.use.import=Import this name

ACT.CMD.use.import=Use an imported module
ACT.qualify.with.module=Qualify with an imported module
ACT.from.some.module.import=Import from ...

### Quick fixes ###
QFIX.add.parameter.self=Add parameter ''{0}''
QFIX.add.super=Add super class call

QFIX.add.encoding=Add encoding declaration

QFIX.NAME.parameters=Parameters of functions and methods
QFIX.rename.parameter.to.$0=Rename to ''{0}''

QFIX.NAME.add.field.$0.to.class.$1=Add field ''{0}'' to class {1}
QFIX.added.constructor.$0.for.field.$1=Added a __init__ to class <code>{0}</code><br/>to accommodate new field <code>{1}</code>
QFIX.failed.to.add.field=<br/>Failed to add a field!<br/><br/>

QFIX.NAME.add.method.$0.to.class.$1=Add method {0}() to class {1}
QFIX.failed.to.add.method=<br/>Failed to add a method!<br/><br/>

QFIX.NAME.add.function.$0.to.module.$1=Create function {0}() in module {1}
QFIX.failed.to.add.function=<br/>Failed to add a function!<br/><br/>

QFIX.action.failed=Action failed

QFIX.remove.trailing.semicolon=Remove trailing semicolon

QFIX.dict.creation=Replace dictionary creation
QFIX.list.creation=Replace list creation

QFIX.classic.class.transform=Inherit from object

QFIX.add.global=Add global statement

QFIX.simplify.$0=Replace boolean expression with ''{0}''

QFIX.move.from.future.import=Move 'from __future__ import' to a correct place

QFIX.replace.equality=Replace equality

QFIX.redundant.parentheses=Remove redundant parentheses

QFIX.augment.assignment=Replace assignment with augmented assignment

QFIX.chained.comparison=Simplify chained comparison

QFIX.statement.effect=Replace with function call
QFIX.statement.effect.move.docstring=Move docstring to the proper place

QFIX.statement.effect.introduce.variable=Introduce variable

QFIX.unresolved.reference=Replace ''{0}'' with ''{1}.{0}''

QFIX.unresolved.reference.add.param.$0=Create parameter ''{0}''
QFIX.unresolved.reference.add.param=Create parameter for reference

QFIX.unresolved.reference.create.function.$0=Create function ''{0}''

QFIX.introduce.variable=Introduce variable for statement

QFIX.unresolved.reference.add.future=Add 'from __future__ import with_statement''

# RemoveUnnecessaryBackslashQuickFix
QFIX.remove.unnecessary.backslash=Remove unnecessary backslash in expression

# ConvertDocstringQuickFix
QFIX.convert.single.quoted.docstring=Convert docstring to the triple double-quoted string form

#UnresolvedRefTrueFalseQuickFix
QFIX.unresolved.reference.replace.$0=Replace with {0}

#PyDefaultArgumentQuickFix
QFIX.default.argument=Replace mutable default argument

#RemoveArgumentEqualDefaultQuickFix
QFIX.remove.argument.equal.default=Remove arguments equal to default

# ReplaceFunctionWithSetLiteralQuickFix
QFIX.replace.function.set.with.literal=Replace function call with set literal

#DocstringQuickFix
QFIX.docstring.add.$0=Add docstring parameter ''{0}''
QFIX.docstring.remove.$0=Remove docstring parameter ''{0}''
QFIX.docstring.insert.stub=Insert docstring

#RemoveDecoratorQuickFix
QFIX.remove.decorator=Remove decorator

#PyRenameUnresolvedRefQuickFix
QFIX.rename.unresolved.reference=Rename reference

#PyMoveAttributeToInitQuickFix
QFIX.move.attribute=Move attribute to __init__ method

#PyMakeMethodStaticQuickFix
QFIX.NAME.make.static=Make method static

#PyMakeFunctionFromMethodQuickFix
QFIX.NAME.make.function=Make function from method

#PyImplementMethodsQuickFix
QFIX.NAME.implement.methods=Implement abstract methods

# Intentions: INTN
INTN.Family.convert.import.unqualify=Convert 'import module' to 'from module import'
INTN.Family.convert.import.qualify=Convert 'from module import' to 'import module'
INTN.Family.toggle.import.alias=Toggle import alias
INTN.Family.convert.except.part=Convert except part to supported form
INTN.Family.convert.set.literal=Convert set literal two supported forms
INTN.Family.convert.builtin=Convert builtin module import
INTN.Family.convert.dict.comp.expression=Convert dictionary comprehension expression
INTN.Family.convert.string=Convert single-quoted string to double-quoted

INTN.convert.to.from.$0.import.$1=Convert to ''from {0} import {1}''
INTN.convert.to.import.$0=Convert to ''import {0}''

INTN.alias.for.$0.dialog.title=Alias for ''{0}'':
INTN.add.alias.for.import.$0=Add alias to ''{0}''
INTN.remove.alias.for.import.$0=Remove alias ''{0}''

INTN.Family.migration.to.python3=Migration to Python 3

INTN.convert.except.to=Convert 'except exceptClass, Target' to 'except exceptClass as Target'

INTN.convert.set.literal.to=Convert set literal to 'set' method call

INTN.convert.builtin.import=Convert builtin module import to supported form

INTN.convert.dict.comp.to=Convert dictionary comprehension to 'dict' method call

INTN.replace.noteq.operator=Replace not equal operator

INTN.remove.leading.$0=Remove leading {0}
INTN.remove.leading.prefix=Remove prefix

INTN.remove.trailing.l=Remove trailing L

INTN.replace.list.comprehensions=Convert list comprehensions to supported form

INTN.replace.list.comprehensions.with.for=Convert list comprehensions to for loop

INTN.replace.octal.numeric.literal=Convert octal numeric literal to supported form

INTN.replace.raise.statement=Convert raise statement to supported form

INTN.replace.backquote.expression=Replace backquote expression

INTN.replace.method=Replace method which is not supported in current Python version

INTN.split.if=Split if
INTN.split.if.text=Split into 2 if's

INTN.negate.comparison=Negate comparison
INTN.negate.$0.to.$1=Negate ''{0}'' to ''{1}''
INTN.string.concatenation.to.format=Replace string concatenation with format operator
INTN.replace.plus.with.format.operator=Replace + with string formatting operator
INTN.replace.plus.with.str.format=Replace + with str.format method call

INTN.format.operator.to.method=Convert format operator usage to str.format method call
INTN.replace.with.method=Replace with str.format method call

INTN.flip.comparison=Flip comparison
INTN.flip.$0=Flip ''{0}''
INTN.flip.$0.to.$1=Flip ''{0}'' to ''{1}''

INTN.convert.string=Convert single-quoted string to double-quoted

INTN.join.if=Join if's
INTN.join.if.text=Join two if's

INTN.convert.dict.constructor.to.dict.literal=Convert dict constructor to dict literal form
INTN.convert.dict.literal.to.dict.constructor=Convert dict literal to dict constructor

INTN.quoted.string=Convert between single-quoted and double-quoted strings
INTN.quoted.string.single.to.double=Convert single-quoted string to double-quoted string
INTN.quoted.string.double.to.single=Convert double-quoted string to single-quoted string

INTN.convert.lambda.to.function=Convert lambda to function

INTN.convert.variadic.param=Convert from variadic to normal parameter(s)

# PyConvertTripleQuotedStringIntention
INTN.triple.quoted.string=Convert triple-quoted string to single-quoted string

# PyTransformConditionalExpressionIntention
INTN.transform.into.if.else.statement=Transform conditional expression into if/else statement

# PyConvertTripleQuotedStringIntention
INTN.doc.string.stub=Insert documentation string stub

#SpecifyTypeInDocstringIntention
INTN.specify.type=Specify type for reference in docstring
INTN.specify.return.type=Specify return type in docstring
INTN.add.parameters.to.docstring=Add parameters to docstring

#SpecifyTypeInPy3AnnotationsIntention
INTN.specify.type.in.annotation=Specify type for reference using annotation
INTN.specify.return.type.in.annotation=Specify return type using annotation

#TypeAssertionIntention
INTN.insert.assertion=Insert type assertion

#PyYieldFromIntention
INTN.yield.from=Transform explicit iteration with 'yield' into 'yield from' expression

#PyConvertStaticMethodToFunctionIntention
INTN.convert.static.method.to.function=Convert static method to function

#PyConvertMethodToPropertyIntention
INTN.convert.method.to.property=Convert method to property

# Conflict checker
CONFLICT.name.$0.obscured=Name ''{0}'' obscured by local definitions
CONFLICT.name.$0.obscured.cannot.convert=Name ''{0}'' obscured. Cannot convert.
CONFLICT.occurrence.sing=occurrence
CONFLICT.occurrence.pl=occurrences

### Surround with templates ###
surround.with.whileelse.template=while / else
surround.with.return.template=return
surround.with.try.except.template=try / except

##########################################################################################################################
# Unwrap
##########################################################################################################################
unwrap.if=Unwrap if...
unwrap.while=Unwrap while...
unwrap.for=Unwrap for...
unwrap.with=Unwrap with...
unwrap.try=Unwrap try...
unwrap.else=Unwrap else...
unwrap.elif=Unwrap elif...
remove.else=Remove else...
remove.elif=Remove elif...

### Inspections: INSP ###
INSP.GROUP.python=Python
INSP.GROUP.mako=Mako

# PyArgumentListInspection
INSP.NAME.incorrect.call.arguments=Incorrect call arguments
INSP.duplicate.argument=Duplicate argument
INSP.duplicate.star.arg=Duplicate *arg
INSP.duplicate.doublestar.arg=Duplicate **arg
INSP.cannot.appear.past.keyword.arg=Cannot appear past keyword arguments or *arg or **kwarg
INSP.unexpected.arg=Unexpected argument
INSP.parameter.$0.unfilled=Parameter ''{0}'' unfilled
INSP.func.$0.lacks.first.arg=Function ''{0}'' lacks a positional argument
INSP.expected.dict.got.$0=Expected a dictionary, got {0}
INSP.expected.iter.got.$0=Expected an iterable, got {0}
INSP.more.args.that.pos.params=Multiple values resolve to one positional parameter
INSP.multiple.values.resolve.to.positional.$0=Multiple values resolve to positional parameter ''{0}''
INSP.cannot.analyze=This argument list cannot be analyzed

# PyMethodParametersInspection
INSP.NAME.problematic.first.parameter=Methods having troubles with first parameter
INSP.must.have.first.parameter=Method must have a first parameter, usually called ''{0}''
INSP.probably.mistyped.self=Did not you mean 'self'?
INSP.usually.named.self=Usually first parameter of a method is named 'self'
INSP.usually.named.$0=Usually first parameter of such methods is named ''{0}''
INSP.first.param.must.not.be.tuple=First parameter of a non-static method must not be a tuple

# PyNestedDecoratorsInspection
INSP.NAME.nested.decorators=Problematic nesting of decorators
INSP.decorator.receives.unexpected.builtin=This decorator will not receive a callable it may expect; the built-in decorator returns a special object

# PyRedeclarationInspection
INSP.NAME.redeclaration=Redeclared names without usage
INSP.redeclared.name=Redeclared ''{0}'' defined above without usage

# PyUnresolvedReferencesInspection
INSP.NAME.unresolved.refs=Unresolved references
INSP.module.$0.not.found=Module ''{0}'' not found
INSP.unresolved.ref.$0=Unresolved reference ''{0}''
INSP.unresolved.ref.$0.for.class.$1=Unresolved attribute reference ''{0}'' for class ''{1}''
INSP.cannot.find.$0.in.$1=Cannot find reference ''{0}'' in ''{1}''
INSP.try.except.import.error=''{0}'' in try block with ''except ImportError'' should also be defined in except block
INSP.unresolved.operator.ref=Class ''{0}'' does not define ''{1}'', so the ''{2}'' operator cannot be used on its instances

# PyInterpreterInspection
INSP.NAME.invalid.interpreter=Invalid interpreter configured

# ReturnValueFromInitInspection
INSP.NAME.init.return=__init__ method that returns a value
INSP.cant.return.value.from.init=Cannot return a value from __init__

# PyUnreachableCodeInspection
INSP.NAME.unreachable.code=Unreachable code
INSP.unreachable.code=This code is unreachable

# PyMethodFirstArgAssignmentInspection
INSP.NAME.first.arg.assign=Reassignment of method's first argument
INSP.first.arg.$0.assigned=Method''s parameter ''{0}'' reassigned

# PyStringFormatInspection
INSP.NAME.str.format=Errors in string formatting operations
INSP.format.requires.no.mapping=Format doesn't require a mapping
INSP.key.$0.has.no.arg=Key ''{0}'' has no following argument
INSP.unexpected.type.$0=Unexpected type {0}
INSP.too.few.keys=Too few mapping keys
INSP.no.format.specifier.char=Format specifier character missing
INSP.format.requires.mapping=Format requires a mapping
INSP.too.many.args.for.fmt.string=Too many arguments for format string
INSP.too.few.args.for.fmt.string=Too few arguments for format string

# PyMethodOverridingInspection
INSP.NAME.method.over=Method signature does not match signature of overridden method
INSP.signature.mismatch=Signature of method ''{0}'' does not match signature of base method in class ''{1}''

# PyInitNewSignatureInspection
INSP.NAME.new.init.signature=Incompatible signatures of __new__ and __init__
INSP.new.incompatible.to.init=Signature is not compatible to __init__
INSP.init.incompatible.to.new=Signature is not compatible to __new__

# PyTrailingSemicolonInspection
INSP.NAME.trailing.semicolon=Trailing semicolon in statement

# PyUnusedLocalInspection
INSP.NAME.unused=Unused local
INSP.unused.locals.parameter.isnot.used=Parameter ''{0}'' value is not used
INSP.unused.locals.local.variable.isnot.used=Local variable ''{0}'' value is not used
INSP.unused.locals.replace.with.wildcard=Replace with _
INSP.unused.locals.local.function.isnot.used=Local function ''{0}'' is not used
INSP.unused.locals.local.class.isnot.used=Local class ''{0}'' is not used

# PyUnboundLocalVariableInspection
INSP.NAME.unbound=Unbound local variable
INSP.unbound.local.variable=Local variable ''{0}'' might be referenced before assignment
INSP.unbound.nonlocal.variable=Nonlocal variable ''{0}'' must be bound in an outer function scope
INSP.unbound.name.not.defined=Name ''{0}'' can be not defined
INSP.unbound.function.too.large=Function ''{0}'' is too large to analyse

# PyDictCreationInspection
INSP.NAME.dict.creation=Dictionary creation could be rewritten by dictionary literal

# PyListCreationInspection
INSP.NAME.list.creation=List creation could be rewritten by list literal

# PyExceptClausesOrderInspection
INSP.NAME.bad.except.clauses.order=Bad except clauses order
INSP.class.$0.already.caught=Exception class ''{0}'' has already been caught
INSP.class.$0.superclass.$1.already.caught=''{0}'', superclass of exception class ''{1}'', has already been caught

# PyTupleAssignmentBalanceInspection
INSP.NAME.incorrect.assignment=Tuple assignment balance is incorrect

# PyClassicStyleClassInspection
INSP.NAME.classic.class.usage=Classic style class usage

# PyExceptionInheritance
INSP.NAME.exception.not.inherit=Exception doesn't inherit from standard ''Exception'' class

# PyDefaultArgumentInspection
INSP.NAME.default.argument=Default argument is mutable

# PyRaisingNewStyleClassInspection
INSP.NAME.raising.new.style.class=Raising a new style class

# PyDocstringInspection
INSP.NAME.docstring=Missing, empty or incorrect docstring
INSP.no.docstring=Missing docstring
INSP.empty.docstring=Empty docstring

# PyDocstringTypesInspection
INSP.NAME.docstring.types=Type in docstring doesn't match inferred type

# PyStatementEffectInspection
INSP.NAME.statement.effect=Statement has no effect
INSP.NAME.statement.message=Statement seems to have no effect

# PySimplifyBooleanCheckInspection
INSP.NAME.check.can.be.simplified=Boolean variable check can be simplified
INSP.expression.can.be.simplified=Expression can be simplified

# PyFromFutureImportInspection
INSP.NAME.from.future.import=from __future__ import must be the first executable statement

# PyComparisonWithNoneInspection
INSP.NAME.comparison.with.none=Comparison with None performed with equality operators

# PyStringExceptionInspection
INSP.NAME.raising.string.exception=Raising a string exception

# PySuperArgumentsInspection
INSP.NAME.wrong.super.arguments=Wrong arguments to call super
INSP.$0.is.not.superclass.of.$1=''{0}'' is not an instance or a subclass of ''{1}''

# PyByteLiteralInspection
INSP.NAME.byte.literal=Byte literal contains characters > 255

# PynonAsciiCharInspection
INSP.NAME.non.ascii=File contains non-ASCII character

# PyMandatoryEncodingInspection
INSP.NAME.mandatory.encoding=No encoding specified for file

# PyTupleItemAssignmentInspection
INSP.NAME.tuple.item.assignment=Tuple item assignment
INSP.tuples.never.assign.items=Tuples don't support item assignment

# PyPropertyAccessInspection
INSP.NAME.property.access=Access to properties
INSP.property.$0.cant.be.set=Property ''{0}'' cannot be set
INSP.property.$0.cant.be.read=Property ''{0}'' cannot be read
INSP.property.$0.cant.be.deleted=Property ''{0}'' cannot be deleted

# PyPropertyDefinitionInspection
INSP.NAME.property.definition=Property definitions
INSP.doc.param.should.be.str=The doc parameter should be a string
INSP.strange.arg.want.callable=Strange argument; a callable is expected
INSP.func.property.name.mismatch=Names of function and decorator don't match; property accessor is not created
INSP.getter.return.smth=Getter should return or yield something
INSP.setter.should.not.return=Setter should not return a value
INSP.deleter.should.not.return=Deleter should not return a value
INSP.getter.signature.advice=Getter signature should be (self)
INSP.setter.signature.advice=Setter signature should be (self, value)
INSP.deleter.signature.advice=Deleter signature should be (self)
INSP.accessor.first.param.is.$0=First parameter of an accessor is usually called ''{0}''

# PyCallByClassInspection
INSP.NAME.different.class.call=Calling a method by class using an instance of a different class
INSP.instance.of.$0.excpected=An instance of {0} expected, not the class itself
INSP.passing.$0.instead.of.$1=Passing {0} instead of {1}. Is this intentional?

# PyBroadExceptionInspection
INSP.NAME.too.broad.exception.clauses=Too broad exception clauses

# PyDictDuplicateKeysInspection
INSP.NAME.duplicate.keys=Dictionary contains duplicate keys

# PyRedundantParenthesesInspection
INSP.NAME.redundant.parentheses=Redundant parentheses

# PyAugmentAssignmentInspection
INSP.NAME.augment.assignment=Assignment can be replaced with augmented assignment

# PyChainedComparsonsInspection
INSP.NAME.chained.comparisons=Chained comparisons can be simplified

# PyAttributeOutsideInitInspection
INSP.NAME.attribute.outside.init=Instance attribute defined outside __init__
INSP.attribute.$0.outside.init=Instance attribute {0} defined outside __init__

# PyProtectedMemberInspection
INSP.NAME.protected.member.access=Access to a protected member of a class
INSP.protected.member.$0.access=Access to a protected member {0} of a class
INSP.protected.member.$0.access.module=Access to a protected member {0} of a module

# PyArgumentEqualDefaultInspection
INSP.NAME.argument.equal.default=Argument passed to function is equal to default parameter value
INSP.argument.equals.to.default=Argument equals to default parameter value

# PyAbstractClassInspection
INSP.NAME.abstract.class=Class must implement all abstract methods
INSP.NAME.abstract.class.$0.must.implement=Class {0} must implement all abstract methods

# PyOldStyleClassesInspection
INSP.NAME.oldstyle.class=Old-style class contains new-style class features

# PyCompatibilityInspection
INSP.NAME.compatibility=Code compatibility inspection

# PyUnnecessaryBackslashInspection
INSP.NAME.unnecessary.backslash=Unnecessary backslash

# PySingleQuotedDocstringInspection
INSP.NAME.single.quoted.docstring=Single quoted docstring
INSP.message.single.quoted.docstring=Triple double-quoted strings should be used for docstrings.

# PyMissingConstructorInspection
INSP.NAME.missing.super.constructor=Missed call to __init__ of super class
INSP.missing.super.constructor.message=Call to __init__ of super class is missed

# PySetFunctionToLiteralInspection
INSP.NAME.set.function.to.literal=Function call can be replaced with set literal

# PyDecoratorInspection
INSP.NAME.decorator.outside.class=Class specific decorator on method outside class

# PyPackageRequirementsInspection
INSP.NAME.requirements=Package requirements

# PyMethodMayBeStaticInspection
INSP.NAME.method.may.be.static=Method may be static
INSP.method.may.be.static=Method <code>#ref</code> may be 'static'

# PyClassHasNoInitInspection
INSP.NAME.class.has.no.init=Class has no __init__ method
INSP.class.has.no.init=Class has no __init__ method
INSP.parent.$0.has.no.init=Parent ''{0}'' has no __init__ method

#PyNoneFunctionAssignmentInspection
INSP.NAME.none.function.assignment=Assigning function call that doesn't return anything (None)
INSP.none.function.assignment=Function ''{0}'' doesn''t return anything

#PyGlobalUndefinedInspection
INSP.NAME.global.undefined=Global variable is undefined at the module level
INSP.NAME.global.$0.undefined=Global variable ''{0}'' is undefined at the module level

#PyAssignmentToLoopOrWithParameterInspection
INSP.NAME.assignment.to.loop.or.with.parameter.display.name=Assignment to 'for' loop or 'with' statement parameter
INSP.NAME.assignment.to.loop.or.with.parameter.display.message=Variable ''{0}'' already declared in ''for'' loop or ''with'' statement above

# Refactoring
refactoring.will.not.be.accessible=Member, you are trying to move depends on ''{0}'' which will not be accessible after this refactoring


# introduce
refactoring.introduce.name.error=Incorrect name
refactoring.introduce.selection.error=Cannot perform refactoring using selected element(s)

# introduce variable
refactoring.introduce.variable.dialog.title=Extract Variable
refactoring.introduce.variable.scope.error=Name clashes with existing variable or parameter

# introduce constant
refactoring.introduce.constant.dialog.title=Extract Constant
refactoring.introduce.constant.scope.error=Name is already declared in scope

# introduce parameter
refactoring.introduce.parameter.dialog.title=Extract Parameter

# pull up
refactoring.pull.up.dialog.title=Pull members up to
refactoring.pull.up.dialog.move.members.to.class=Move members to class
refactoring.pull.up.dialog.members.to.be.moved=Following members would be moved
refactoring.pull.up.error.cannot.perform.refactoring.using.selected.elements=Cannot perform pull member up using selected element(s)
refactoring.pull.up.error.cannot.perform.refactoring.not.inside.class=Cannot perform pull member up: not inside the class
refactoring.pull.up.error.cannot.perform.refactoring.no.base.classes=Class {0} has no super classes or none of them could be used for refactoring

# push down
refactoring.push.down.dialog.title=Push members down from
refactoring.push.down.error.cannot.perform.refactoring.using.selected.elements=Cannot perform push member down using selected element(s)
refactoring.push.down.error.cannot.perform.refactoring.not.inside.class=Cannot perform pull member down: not inside the class

# inline
refactoring.inline.local.multiassignment=Definition is in multi-assign

# extract method
refactoring.extract.method.error.cannot.perform.refactoring.when.class.declaration.inside=Cannot perform refactoring with class declaration inside code block
refactoring.extract.method.error.cannot.perform.refactoring.when.function.declaration.inside=Cannot perform refactoring with function declaration inside code block
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.break=No corresponding loop for break statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.continue=No corresponding loop for continue statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.when.execution.flow.is.interrupted=Cannot perform refactoring when execution flow is interrupted
refactoring.extract.method.error.cannot.perform.refactoring.when.from.import.inside=Cannot perform refactoring with from import statement inside code block
refactoring.extract.method.error.cannot.perform.refactoring.using.selected.elements=Cannot perform extract method using selected element(s)
refactoring.extract.method.error.name.clash=Method name clashes with already existing name
refactoring.extract.method.error.cannot.perform.refactoring.with.local=Cannot perform refactoring from expression with local variables modifications and return instructions inside code fragment

# extract superclass
refactoring.extract.super.target.path.outside.roots=Target directory is outside the project. Must be within content roots
refactoring.extract.super.target.class.already.exists=Class ''{0}'' already exists in this module
refactoring.extract.super.name.0.must.be.ident=Name ''{0}'' is invalid. Must be a valid Python identifier
refactoring.extract.super.class.no.members.allowed=None of members could be extracted

# move
refactoring.move.class.or.function=Move class or function
refactoring.move.class.or.function.dialog.title=Move Class or Function
refactoring.move.class.$0=Move class {0} to file:
refactoring.move.function.$0=Move function {0}() to file:
refactoring.move.selected.elements=Move selected elements to file:
refactoring.move.class.or.function.choose.destination.file.title=Choose Destination File
refactoring.move.class.or.function.to.file=To file:
refactoring.move.class.or.function.error.cannot.place.elements.into.nonpython.file=Cannot place elements into a non-Python file
refactoring.move.class.or.function.error.destination.file.contains.class.$0=Destination file already contains class named ''{0}''
refactoring.move.class.or.function.error.destination.file.contains.function.$0=Destination file already contains function named ''{0}()''
refactoring.move.class.or.function.error.cannot.use.module.name.$0=Cannot use module name ''{0}'' in imports
refactoring.move.class.or.function.error.selection=Cannot perform refactoring using selected element(s)

#change signature
refactoring.change.signature.usage.view.declarations.header=Functions to be refactored
refactoring.change.signature.dialog.validation.name.defined=Name is already defined in scope
refactoring.change.signature.dialog.validation.function.name=Incorrect function name
refactoring.change.signature.dialog.validation.parameter.name=Incorrect parameter name
refactoring.change.signature.dialog.validation.multiple.star=Multiple * arguments are not allowed
refactoring.change.signature.dialog.validation.default.missing=Default value is missing
refactoring.change.signature.dialog.validation.parameter.missing=Parameter name is missing
refactoring.change.signature.dialog.default.value.checkbox=Use default value in signature:
refactoring.change.signature.dialog.default.value.label=Default value:
refactoring.change.signature.dialog.name.label=Name:
refactoring.change.signature.find.usages.of.base.class=Method {0} of class {1}\noverrides method of class {2}.\nDo you want to refactor the base method?
refactoring.change.signature.error.wrong.caret.position.method.name=The caret should be positioned at the name of the method to be refactored.

### Annotators ###
ANN.deleting.none=Deleting None
ANN.assign.to.none=Assignment to None
ANN.cant.assign.to.call=Can't assign to function call
ANN.cant.delete.call=Can't delete function call
ANN.cant.aug.assign.to.generator=Augmented assign to generator expression not possible
ANN.cant.aug.assign.to.tuple.or.generator=Augmented assign to tuple literal or generator expression not possible
ANN.cant.assign.to.generator=Assign to generator expression not possible
ANN.cant.assign.to.operator=Can't assign to operator
ANN.cant.assign.to.parens=Can't assign to ()
ANN.cant.assign.to.brackets=Can't assign to []
ANN.cant.aug.assign.to.list.or.comprh=Augmented assign to list literal or comprehension not possible
ANN.cant.assign.to.comprh=Can't assign to list comprehension
ANN.cant.assign.to.dict.comprh=Can't assign to dict comprehension
ANN.cant.assign.to.set.comprh=Can't assign to set comprehension
ANN.cant.aug.assign.to.comprh=Augmented assign to list comprehension not possible
ANN.cant.aug.assign.to.dict.comprh=Augmented assign to dict comprehension not possible
ANN.cant.aug.assign.to.set.comprh=Augmented assign to set comprehension not possible
ANN.cant.assign.to.literal=Can't assign to literal
ANN.cant.delete.literal=Can't delete literal
ANN.cant.assign.to.lambda=Can't assign to lambda

ANN.break.outside.loop='break' outside loop
ANN.continue.outside.loop='continue' outside loop
ANN.cant.continue.in.finally='continue' not supported inside 'finally' clause
ANN.default.except.must.be.last=default 'except:' must be last

ANN.$0.both.global.and.param=Name ''{0}'' used both as a parameter and as a global
ANN.$0.assigned.before.global.decl=Name ''{0}'' is assigned before global declaration

ANN.duplicate.param.name=duplicate parameter name
ANN.starred.param.after.kwparam=* parameter after ** parameter
ANN.regular.param.after.vararg=regular parameter after * parameter
ANN.regular.param.after.keyword=regular parameter after ** parameter
ANN.non.default.param.after.default=non-default parameter follows default parameter
ANN.named.arguments.after.star=named arguments must follow bare *
ANN.tuple.py3=tuple parameter unpacking is not supported in Python 3

ANN.star.import.at.top.only='import *' only allowed at module level

ANN.method.$0.removed.use.$1=Method ''{0}'' has been removed, use ''{1}'' instead
ANN.method.$0.removed=Method ''{0}'' removed

### parsing
PARSE.expected.expression=expression expected
PARSE.expected.rbracket=']' expected
PARSE.expected.expr.or.comma.or.bracket=expected expression, ',' or ']'
PARSE.expected.in='in' expected
PARSE.expected.for.or.bracket=']' or 'for' expected
PARSE.expected.comma=',' expected
PARSE.expected.colon=':' expected
PARSE.expected.rpar=')' expected
PARSE.expected.lpar='(' expected
PARSE.expected.rbrace='}' expected
PARSE.expected.tick='`' (backtick) expected
PARSE.expected.name=name expected
PARSE.expected.colon.or.rbracket=':' or ']' expected
PARSE.expected.comma.or.rpar=',' or ')' expected
PARSE.expected.else='else' expected

PARSE.expected.identifier=Identifier expected
PARSE.expected.comma.lpar.rpar=',' or '(' or ')' expected
PARSE.expected.statement.break=Statement break expected
PARSE.expected.@.or.def='@' or 'def' expected
PARSE.expected.formal.param.name=formal parameter name expected

### qiuck doc generator
QDOC.copied.from.$0.$1=<i>Documentation is missing.</i> The following is copied from <code>{0}.{1}</code>.
QDOC.copied.from.builtin=<small>(copied from built-in description)</small>
QDOC.copied.from.class.$0=<i>Documentation is missing.</i> The following is copied from class <code>{0}</code>.
QDOC.assigned.to.$0=Assigned to <code>{0}</code>
QDOC.wrapped.in.$0=Wrapped in <code>{0}</code>
QDOC.module.path.unknown=(Module path is unknown)

### doctest run conf
runcfg.doctest.display_name=Doctests
runcfg.doctest.description=Python's doctests run configuration

### nosetests run conf
runcfg.nosetests.display_name=Nosetests
runcfg.nosetests.description=Python's nosetests run configuration

### pytest run conf
runcfg.pytest.display_name=py.test
runcfg.pytest.description=py.test run configuration
runcfg.pytest.target=&Target:
runcfg.pytest.parameters=&Options:
runcfg.pytest.keywords=&Keywords:

### attest run conf
runcfg.attest.display_name=Attests
runcfg.attest.description=Python's attests run configuration

### test run configuration
runcfg.test.display_name=Python tests
runcfg.test.description=Python frameworks supported by PyCharm

### unittest run configuration
runcfg.unittest.display_name=Unittests
runcfg.unittest.description=Python's unittest run configuration
runcfg.unittest.no_script_name=Please specify script name
runcfg.unittest.no_class_name=Please specify class name
runcfg.unittest.no_method_name=Please specify method name
runcfg.unittest.no_folder_name=Please specify folder with tests
runcfg.unittest.incorrect.script=Test script name should start with "test" prefix
runcfg.unittest.dlg.tests_group_title=Tests:
runcfg.unittest.dlg.test_script_label=Script:
runcfg.unittest.dlg.class_label=Class:
runcfg.unittest.dlg.method_label=Method:
runcfg.unittest.dlg.function_label=Function:
runcfg.unittest.dlg.folder_path=Folder:
runcfg.unittest.dlg.test_type_title=Test:
runcfg.unittest.dlg.all_in_folder_title=All in folder
runcfg.unittest.dlg.all_in_script_title=Script
runcfg.unittest.dlg.test_class_title=Class
runcfg.unittest.dlg.test_method_title=Method
runcfg.unittest.dlg.folder_title=Tests folder:
runcfg.unittest.no_valid_sdk=Please select a valid Python interpeter
runcfg.unittest.no_module_sdk=Please select a module with a valid Python SDK
runcfg.unittest.no_sdk=Please specify a Python SDK
runcfg.unittest.dlg.select.folder.path=Select folder path:
runcfg.unittest.dlg.select.script.path=Select script path:
runcfg.unittest.dlg.interpreter_options_title=Interpreter options:
runcfg.unittest.dlg.messages.working.dir=Working directory:
runcfg.labels.script_parameters=Script &parameters:
runcfg.labels.script=&Script:
runcfg.labels.environment_variables=&Environment variables:
runcfg.labels.interpreter=&Use specified interpreter:
runcfg.labels.interpreter_options=Interpreter &options:
runcfg.labels.working_directory=&Working directory:
runcfg.captions.script_parameters_dialog=Enter script parameters
runcfg.captions.interpreter_options_dialog=Enter interpreter options
sdk.error.invalid.interpreter.name.$0=Invalid Python interpeter name '{0}'!
sdk.select.path=Select Python Interpreter
runcfg.unittest.dlg.pattern=Pattern:

runcfg.testing.no.test.framework=No {0} runner found in selected interpreter

# Consoles messages
python.console=Python Console
django.console=Django Console

# UI messages
MSG.title.bad.sdk=Invalid Python SDK
MSG.cant.setup.sdk.$0=Cannot set up a python SDK \nat {0}.\nThe SDK seems invalid.


#Buildout
buildout=Buildout
buildout.unresolved.part.inspection=Buildout config unresolved part inspection
buildout.unresolved.part.inspection.msg=Unresolved part reference
runcfg.unittest.dlg.test_function_title=Function
runcfg.unittest.dlg.keywords=Keywords:
run.configuration.remote.debug.name=Python Remote Debug
run.configuration.type.description=Starts server for remote debug

unable.to.stop=Currently running process can't be stopped. Kill it manually first.

#Debug

debug.popup.title.step.into.function=Step Into Function

remote.debug.info=Info
remote.debug.server.hint=Launch this debug configuration to start the debug server.
remote.debug.server.hint1.5=Update your script:
remote.debug.server.hint2=1. Add pycharm-debug.egg from the PyCharm installation to the Python path.
remote.debug.server.hint2.5=2. Add the following import statement:
remote.debug.server.hint3=3. Add the following command to connect to the debug server:
remote.debug.settings=Settings
remote.debug.remote.host=Remote host
remote.debug.port=Port:
remote.debug.use.path.mapping=Use path mapping
remote.debug.remote.root.folder=Remote paths prefix:
remote.debug.local.root.folder=Local paths prefix:
remote.debug.server.hint4=If you want to enable stdout and stderr redirection to PyCharm console, use following command in your script:
remote.debug.local.host=Local host name:
remote.debug.redirect.output=Redirect output to console
remote.debug.suspend.on.connect=Suspend after connect

# SDK / skeletons
sdk.errorlog.$0.mods.fail.in.$1.sdks={0,choice,|1#1 module|2#{0,number} modules} failed in {1,choice, |1#1 interpreter|2#{1,number} interpreters}. <a href=\"#\">Details...</a>
sdk.errorlog.$0.mods.fail.in.$1.sdks.$2.completely={0,choice,|1#1 module|2#{0,number} modules} failed in {1,choice, |1#1 interpreter|2#{1,number} interpreters}, {2,choice, |1#1 interpreter|2#{2,number} interpreters} failed <i>completely</i>. <a href=\"#\">Details...</a>
sdk.some.skeletons.failed=Some skeletons failed to generate
sdk.error.dialog.problems=Skeleton Generation Problems
sdk.error.dialog.failed.sdks=Failed interpreters
sdk.error.dialog.failed.modules=Failed modules
sdk.error.dialog.were.blacklisted=Generation of skeletons for the modules above will be tried again when the modules are updated or a new version of generator is available.
sdk.gen.querying.$0=Querying skeleton generator for {0}...
sdk.gen.updating.builtins.$0=Updating skeletons of builtins for {0}...
sdk.gen.updating.$0=Updating skeletons for {0}...
sdk.gen.cleaning.$0=Cleaning up skeletons for {0}...
sdk.gen.reloading=Reloading generated skeletons...
sdk.gen.reading.versions.file=Reading versions file...
sdk.gen.notify.converting.old.skels=Converting old skeletons
sdk.gen.notify.converting.text=Skeletons of binary modules seem to be from an older version.<br/>These will be fully re-generated, which will take some time, but will happen <i>only once</i>.<br/>Next time you open the project, only skeletons of new or updated binary modules will be re-generated.
sdk.gen.updating.skels=Updating skeletons

# remote interpreters
remote.interpreter.configure.title=Configure Remote Python Interpreter
remote.interpreter.configure.path.title=Select Python Interpreter
remote.interpreter.configure.temp.files.path.title=Select Folder for PyCharm Helpers
remote.interpreter.default.interpreter.path=/usr/bin/python
remote.interpreter.unspecified.interpreter.path=Specify Python interpreter path
remote.interpreter.unspecified.temp.files.path=Specify path for PyCharm helpers
remote.interpreter.configure.path.label=Python interpreter path:
remote.interpreter.configure.temp.files.path.label=PyCharm helpers path:
error.invalid.installation.home=Unable to import settings. ''{0}'' doesn''t appear to be valid {1} installation home.
error.invalid.config.folder=Unable to import settings. ''{0}'' doesn''t appear to be valid {1} config folder.
error.no.settings.path=Unable to import settings. {0} does not exist.
title.settings.import.failed=Settings Import Failed
error.unable.to.import.settings=Unable to import settings. {0}
title.complete.installation=Complete Installation
title.installation.home.required=Config Folder or Installation Home Required
error.please.select.previous.installation.home=Please select previous {0} config folder or installation home
error.selected.current.installation.home=You have selected current {0} installation home.\nPlease select previous {1} installation home
error.does.not.appear.to.be.installation.home={0} does not appear to be {1} config folder or installation home
error.no.read.permissions=You do not have read permissions to {0}
radio.do.not.import=I do not have a previous version of {0} or I do not want to import my settings
radio.import.auto=I want to import my settings from a previous version ({0})
radio.import=I want to import my settings from a custom location
label.you.can.import=You can import your settings from a previous version of {0}.
button.ok=OK
editbox.installation.home=Specify config folder or installation home of the previous version of {0}:
title.code.completion=Code Completion
editbox.lookup.height=Lookup height (items):
editbox.autopopup.javadoc.in.ms=Autopopup documentation in (ms):
checkbox.show.signatures=Show signatures
checkbox.show.full.signatures=Show full signatures
editbox.autopopup.in.ms=Autopopup in (ms):
title.parameter.info=Parameter Info
radio.insert.both.parentheses=Insert '()'
checkbox.insert.both.parentheses.when.no.arguments=Insert '()' when no arguments
radio.insert.left.parenthesis=Insert '('
label.complete.brackets=Brackets:
label.complete.autopopup=Autopopup:
label.autocomplete.when.only.one.choice=Auto-insert when only one choice on\:
checkbox.show.static.members.after.instance.qualifier=Show static members after instance qualifier
checkbox.autocomplete.common.prefix=Autocomplete common prefix
checkbox.autocomplete.smart.type=Smart Type Completion
checkbox.autocomplete.basic=Basic Completion
combobox.case.sensitive.completion=Case sensitive completion:
combobox.autocomplete.case.sensitive.all=All
combobox.autocomplete.case.sensitive.none=None
combobox.autocomplete.case.sensitive.first.letter=First letter
editbox.blanklines.before.package.statement=Before package statement:
editbox.blanklines.after.package.statement=After package statement:
editbox.blanklines.before.imports=Before imports:
editbox.blanklines.after.imports=After imports:
editbox.blanklines.around.class=Around class:
editbox.blanklines.around.field=Around field:
editbox.blanklines.around.method=Around method:
editbox.blanklines.before.method.body=Before method body:
editbox.blanklines.after.class.header=After class header:
editbox.blanklines.after.anonymous.class.header=After anonymous class header:
title.blank.lines=Blank Lines
title.keep.blank.lines=Keep Maximum Blank Lines
title.minimum.blank.lines=Minimum Blank Lines
editbox.keep.blanklines.in.declarations=In declarations:
editbox.keep.blanklines.in.code=In code:
editbox.keep.blanklines.before.rbrace=Before '}':
title.preview=Preview
listbox.members.order.fields=Instance fields
listbox.members.order.static.fields=Static fields
listbox.members.order.methods=Instance methods
listbox.members.order.static.methods=Static methods
listbox.members.order.constructors=Constructors
listbox.members.order.inner.classes=Inner classes
listbox.members.order.inner.static.classes=Static inner classes
title.naming.final.modifier=Final Modifier
checkbox.make.generated.parameters.final=Make generated parameters final
checkbox.make.generated.local.variables.final=Make generated local variables final
title.naming.comment.code=Comment Code
checkbox.block.comment.at.first.column=Block comment at first column
checkbox.line.comment.at.first.column=Line comment at first column
title.order.of.members=Order of Members
button.move.down=Move &Down
button.move.up=Move &Up
title.naming=Naming
label.name.prefix=Name prefix:
label.name.suffix=Name suffix:
label.naming.local.variable=Local variable:
label.naming.field=Field:
label.naming.static.field=Static field:
label.naming.parameter=Parameter:
checkbox.prefer.longer.names=Prefer longer names
title.lookup.list=Lookup List
title.code.generation=Code Generation
title.insert.new.line.before.tags=Insert New Line Before Tags
title.remove.line.breaks.before.tags=Remove Line Breaks Before Tags
title.do.not.indent.children.of=Do not Indent Children Of
title.inline.elements=Inline Elements
title.keep.whitespaces.inside=Keep Whitespaces Inside
title.dont.wrap.if.inline.content=Dont Wrap If Inline Content Only
checkbox.wrap.text=Wrap text
checkbox.parentheses.around.method.arguments=Add parentheses around method arguments
checkbox.rename.local.variables.inplace=Enable in-place mode
checkbox.rename.local.variables.preselect=Preselect old name
editbox.keep.blank.lines=Keep blank lines:
checkbox.keep.white.spaces=Keep white spaces
checkbox.align.text=Align text
checkbox.align.attributes=Align attributes
title.spaces=Spaces
checkbox.spaces.in.empty.tag=In empty tag
checkbox.spaces.around.tag.name=After tag name
checkbox.spaces.around.equals.in.attribute=Around "=" in attribute
label.wrap.attributes=Wrap attributes:
label.keep.white.spaces.inside=Keep white spaces inside:
label.do.not.indent.children.of=Do not indent children of:
label.remove.new.line.before=Remove new line before:
label.insert.new.line.before=Insert new line before:
label.lines=lines
label.or.if.tag.size.more.than=or if tag size more than
checkbox.keep.line.breaks=Keep line breaks
checkbox.keep.line.breaks.in.text=Keep line breaks in text
title.imports=Imports
title.general=General
title.other.tabs.and.indents=Other
checkbox.use.single.class.import=Use single class import
checkbox.use.fully.qualified.class.names=Use fully qualified class names
checkbox.insert.imports.for.inner.classes=Insert imports for inner classes
checkbox.use.fully.qualified.class.names.in.javadoc=Use fully qualified class names in javadoc
editbox.class.count.to.use.import.with.star=Class count to use import with '*':
editbox.names.count.to.use.static.import.with.star=Names count to use static import with '*':
title.packages.to.use.import.with=Packages to Use Import with '*'
title.import.layout=Import Layout
button.add.package=Add Package
button.add.blank=Add Blank
button.remove=R&emove
listbox.import.package=Package
listbox.import.with.subpackages=With Subpackages
listbox.import.all.other.imports=<all other imports>
listbox.import.blank.line=<blank line>
radio.prefer.comma.separated.import.list=Prefer comma separated import list
radio.prefer.one.import.statement.per.page.directive=Prefer one import statement per page directive
title.jsp.imports.layout=JSP imports layout
button.add.package.p=Add &Package
button.remove.r=&Remove

wrapping.and.braces=Wrapping and Braces

wrapping.keep.when.reformatting=Keep when reformatting
wrapping.keep.line.breaks=Line breaks
wrapping.keep.comment.at.first.column=Comment at first column
wrapping.keep.simple.classes.in.one.line=Simple classes in one line
wrapping.keep.simple.methods.in.one.line=Simple methods in one line
wrapping.keep.multiple.expressions.in.one.line=Multiple expressions in one line
wrapping.keep.simple.blocks.in.one.line=Simple blocks in one line

wrapping.do.not.wrap=Do not wrap
wrapping.wrap.if.long=Wrap if long
wrapping.chop.down.if.long=Chop down if long
wrapping.wrap.always=Wrap always

wrapping.force.braces.do.not.force=Do not force
wrapping.force.braces.when.multiline=When multiline
wrapping.force.braces.always=Always

wrapping.brace.placement=Braces placement
wrapping.brace.placement.class.declaration=In class declaration
wrapping.brace.placement.method.declaration=In method declaration
wrapping.brace.placement.other=Other
wrapping.brace.placement.end.of.line=End of line
wrapping.brace.placement.next.line.if.wrapped=Next line if wrapped
wrapping.brace.placement.next.line=Next line
wrapping.brace.placement.next.line.shifted=Next line shifted
wrapping.brace.placement.next.line.each.shifted=Next line, each shifted

wrapping.align.when.multiline=Align when multiline
wrapping.align.parenthesised.when.multiline=Align parenthesised when multiline
wrapping.align.in.columns=Align in columns

wrapping.else.on.new.line='else' on new line
wrapping.while.on.new.line='while' on new line
wrapping.catch.on.new.line='catch' on new line
wrapping.finally.on.new.line='finally' on new line
wrapping.method.parentheses=Method parentheses
wrapping.special.else.if.braces.treatment=Special 'else if' treatment
wrapping.indent.case.from.switch=Indent 'case' branches
wrapping.force.braces=Force braces

wrapping.method.parameters=Method declaration parameters
wrapping.method.arguments=Method call arguments
wrapping.chained.method.calls=Chained method calls
wrapping.for.statement='for()' statement
wrapping.if.statement='if()' statement
wrapping.while.statement='while()' statement
wrapping.dowhile.statement='do ... while()' statement
wrapping.switch.statement='switch' statement
wrapping.try.statement='try' statement
wrapping.try.resources='try-with-resources'
wrapping.binary.operations=Binary expressions
wrapping.extends.implements.list=Extends/implements list
wrapping.extends.implements.keyword=Extends/implements keyword
wrapping.throws.list=Throws list
wrapping.throws.keyword=Throws keyword
wrapping.align.throws.keyword=Align 'throws' to method start
wrapping.ternary.operation=Ternary operation
wrapping.assignment.variables.groups=Fields/variables groups
wrapping.assignment.statement=Assignment statement
wrapping.array.initializer=Array initializer
wrapping.modifier.list=Modifier list
wrapping.assert.statement=Assert statement
wrapping.new.line.after.lpar=New line after '('
wrapping.rpar.on.new.line=Place ')' on new line
wrapping.take.priority.over.call.chain.wrapping=Take priority over call chain wrapping
wrapping.operation.sign.on.next.line=Operation sign on next line
wrapping.comma.on.next.line=',' on next line
wrapping.assignment.sign.on.next.line=Assignment sign on next line
wrapping.quest.and.colon.signs.on.next.line='?' and ':' signs on next line
wrapping.new.line.after.lbrace=New line after '{'
wrapping.rbrace.on.new.line=Place '}' on new line
wrapping.after.modifier.list=Wrap after modifier list
wrapping.colon.signs.on.next.line=':' signs on next line
wrapping.classes.annotation=Class annotations
wrapping.methods.annotation=Method annotations
wrapping.fields.annotation=Field annotations
wrapping.parameters.annotation=Parameter annotations
wrapping.local.variables.annotation=Local variable annotations
wrapping.enum.constants=Enum constants
wrapping.long.lines=Ensure right margin is not exceeded

checkbox.align.multiline.chained.methods=Chained methods
checkbox.align.multiline.method.parameters=Method parameters
checkbox.align.multiline.call.arguments=Call arguments
checkbox.align.multiline.extends.list=Extends list
checkbox.align.multiline.throws.list=Throws list
checkbox.align.multiline.fields.groups=Field groups
checkbox.align.multiline.parenthesized.expression=Parenthesized expression
checkbox.align.multiline.binary.operation=Binary operation
checkbox.align.multiline.ternary.operation=Ternary operation
checkbox.align.multiline.assignments=Assignments
checkbox.align.multiline.for.statement=For statement
checkbox.align.multiline.array.initializer=Array initializer
title.place.on.new.line=Place on New Line
checkbox.keep.when.reformatting.control.statement.in.one.line=Control statement in one line
title.braces.placement=Braces Placement
combobox.force.braces.if=if ():
combobox.force.braces.for=for ():
combobox.force.braces.while=while ():
combobox.force.braces.do.while=do ... while():
label.loading.page.please.wait=Loading...
button.save.as=Save As...
button.delete=Delete
editbox.scheme.name=Scheme\:
html.project.uses.own.code.style=<html><body>The current project is configured to use its own code style.<br>Changes made to global code style settings will not affect formatting in the current project.<br>See Project Settings | Code Style.<br>Press \\&quot;Edit Global Settings\\&quot; button below if you still want to edit global settings.</body></html>
title.edit.global.settings=Edit &Global Settings
title.settings=Settings
title.global.code.style=Global\nCode Style
title.save.code.style.scheme.as=Save Code Style Scheme As
group.spaces.around.operators=Around Operators
group.spaces.before.parentheses=Before Parentheses
group.spaces.before.left.brace=Before Left Brace
group.spaces.after.right.brace=Before Keywords
group.spaces.within=Within
group.spaces.in.ternary.operator=In Ternary Operator (?:)
group.spaces.in.type.arguments=Within Type Arguments
group.spaces.in.type.arguments.block=Type Arguments
group.spaces.in.type.parameters.block=Type Parameters
group.spaces.other=Other
checkbox.spaces.method.call.parentheses=Method call parentheses
checkbox.spaces.method.declaration.parentheses=Method declaration parentheses
checkbox.spaces.if.parentheses='if' parentheses
checkbox.spaces.while.parentheses='while' parentheses
checkbox.spaces.for.parentheses='for' parentheses
checkbox.spaces.try.parentheses='try' parentheses
checkbox.spaces.catch.parentheses='catch' parentheses
checkbox.spaces.switch.parentheses='switch' parentheses
checkbox.spaces.synchronized.parentheses='synchronized' parentheses
checkbox.spaces.annotation.parameters=Annotation parameters
checkbox.spaces.assignment.operators=Assignment operators (=, +=, ...)
checkbox.spaces.logical.operators=Logical operators (\\&\\&, ||)
checkbox.spaces.equality.operators=Equality operators (==, !=)
checkbox.spaces.relational.operators=Relational operators (<, >, <=, >=)
checkbox.spaces.bitwise.operators=Bitwise operators (\\&, |, ^)
checkbox.spaces.additive.operators=Additive operators (+, -)
checkbox.spaces.multiplicative.operators=Multiplicative operators (*, /, %)
checkbox.spaces.shift.operators=Shift operators (<<, >>, >>>)
checkbox.spaces.around.unary.operator=Unary operators (!, -, +, ++, --)
checkbox.spaces.class.left.brace=Class left brace
checkbox.spaces.method.left.brace=Method left brace
checkbox.spaces.if.left.brace='if' left brace
checkbox.spaces.else.left.brace='else' left brace
checkbox.spaces.while.left.brace='while' left brace
checkbox.spaces.for.left.brace='for' left brace
checkbox.spaces.do.left.brace='do' left brace
checkbox.spaces.switch.left.brace='switch' left brace
checkbox.spaces.try.left.brace='try' left brace
checkbox.spaces.catch.left.brace='catch' left brace
checkbox.spaces.finally.left.brace='finally' left brace
checkbox.spaces.synchronized.left.brace='synchronized' left brace
checkbox.spaces.array.initializer.left.brace=Array initializer left brace
checkbox.spaces.annotation.array.initializer.left.brace=Annotation array initializer left brace
checkbox.spaces.else.keyword='else' keyword
checkbox.spaces.while.keyword='while' keyword
checkbox.spaces.catch.keyword='catch' keyword
checkbox.spaces.finally.keyword='finally' keyword
checkbox.spaces.within.brackets=Brackets
checkbox.spaces.within.braces=Code braces
checkbox.spaces.within.array.initializer.braces=Array initializer braces
checkbox.spaces.within.parentheses=Grouping parentheses
checkbox.spaces.checkbox.spaces.method.call.parentheses=Method call parentheses
checkbox.spaces.checkbox.spaces.empty.method.call.parentheses=Empty method call parentheses
checkbox.spaces.checkbox.spaces.method.declaration.parentheses=Method declaration parentheses
checkbox.spaces.checkbox.spaces.empty.method.declaration.parentheses=Empty method declaration parentheses
checkbox.spaces.type.cast.parentheses=Type cast parentheses
checkbox.spaces.annotation.parentheses=Annotation parentheses
checkbox.spaces.before.question=Before '?'
checkbox.spaces.after.question=After '?'
checkbox.spaces.before.colon=Before ':'
checkbox.spaces.after.colon=After ':'
checkbox.spaces.after.colon.in.label.declaration=After ':' in label declaration
checkbox.spaces.after.comma=After comma
checkbox.spaces.before.comma=Before comma
checkbox.spaces.after.semicolon=After semicolon
checkbox.spaces.before.semicolon=Before semicolon
checkbox.spaces.after.type.cast=After type cast
title.warning=Warning
title.editor=Editor
combobox.strip.modified.lines=Modified Lines
combobox.strip.all=All
combobox.strip.none=None
combobox.insert.imports.all=All
combobox.insert.imports.ask=Ask
combobox.insert.imports.none=None
combobox.paste.reformat.none=None
combobox.paste.reformat.indent.block=Indent Block
combobox.paste.reformat.indent.each.line=Indent Each Line
combobox.paste.reformat.reformat.block=Reformat Block
combobox.tab.placement.none=None
combobox.tab.placement.top=Top
combobox.tab.placement.left=Left
combobox.tab.placement.bottom=Bottom
combobox.tab.placement.right=Right
tab.editor.settings.behavior=Behavior
tab.editor.settings.appearance=Appearance
groupbox.display=Display
checkbox.smooth.scrolling=Smooth scrolling
checkbox.show.whitespaces=Show whitespaces
checkbox.show.all.softwraps=Show all soft wraps
checkbox.show.method.separators=Show method separators
checkbox.show.small.icons.in.gutter=Show icons preview in gutter for small icons (Java)
checkbox.show.line.numbers=Show line numbers
checkbox.right.margin=Show right margin (configured in Code Style options)
checkbox.use.block.caret=Use block caret
checkbox.caret.blinking.ms=Caret blinking (ms):
checkbox.mark.modified.tabs.with.asterisk=Mark modified tabs with asterisk
checkbox.show.tabs.tooltips=Show tabs tooltips
group.code.folding=Code Folding
checkbox.collapse.xml.tags=XML tags
checkbox.collapse.html.style.attribute=HTML 'style' attribute
checkbox.collapse.anonymous.classes=<html>Anonymous classes</html>
checkbox.collapse.closures=<html>"Closures" (anonymous classes implementing one method)</html>
checkbox.collapse.generic.constructor.parameters=<html>Generic constructor and method parameters</html>
checkbox.collapse.i18n.messages=<html>I18n strings</html>
checkbox.collapse.annotations=<html>Annotations</html>
checkbox.collapse.inner.classes=Inner classes
checkbox.collapse.simple.property.accessors=<html>Simple property accessors<html>
checkbox.collapse.one.line.methods=<html>One-line methods<html>
checkbox.collapse.method.bodies=Method bodies
checkbox.collapse.javadoc.comments=Documentation comments
checkbox.collapse.title.imports=Imports
checkbox.collapse.file.header=File header
label.collapse.by.default=Collapse by default:
checkbox.show.code.folding.outline=Show code folding outline
group.tab.appearance=Tab Appearance
editbox.tab.limit=Tab limit:
combobox.editor.tab.placement=Placement:
checkbox.editor.tabs.in.single.row=Show tabs in single row
checkbox.editor.tabs.show.close.button=Show "close" button on editor tabs
checkbox.hide.file.extension.in.editor.tabs=Hide file extension in editor tabs
group.tab.closing.policy=Tab Closing Policy
radio.activate.most.recently.opened.tab=<html>Activate most recently opened tab</html>
radio.activate.left.neighbouring.tab=<html>Activate left neighbouring tab</html>
radio.activate.right.neighbouring.tab=<html>Activate right neighbouring tab</html>
label.when.closing.active.editor=When closing active editor:
radio.close.less.frequently.used.files=Close less frequently used files
radio.close.non.modified.files.first=Close non-modified files first
label.when.number.of.opened.editors.exceeds.tab.limit=<html>When number of opened editors exceeds tab limit:</html>
group.virtual.space=Virtual Space
checkbox.use.soft.wraps.at.editor=Use soft wraps in editor
checkbox.use.soft.wraps.at.console=Use soft wraps in console
checkbox.use.custom.soft.wraps.indent=Use custom soft wraps indent
checkbox.allow.placement.of.caret.after.end.of.line=Allow placement of caret after end of line
checkbox.allow.placement.of.caret.inside.tabs=Allow placement of caret inside tabs
checkbox.show.virtual.space.at.file.bottom=Show virtual space at file bottom
checkbox.optimize.imports.on.the.fly=Optimize imports on the fly
checkbox.add.unambiguous.imports.on.the.fly=Add unambiguous imports on the fly
combobox.strip.trailing.spaces.on.save=Strip trailing spaces on Save:
checkbox.show.quick.doc.on.mouse.over=Show quick doc on mouse over element (ms):
group.limits=Limits
editbox.recent.files.limit=Recent files limit:
editbox.console.history.limit=Console commands history size:
editbox.maximum.number.of.contents.to.keep.in.clipboard=<html>Maximum number of contents to keep  in clipboard:</html>
group.brace.highlighting=Highlight on Caret Movement
checkbox.highlight.matched.brace=Highlight matched brace
checkbox.highlight.current.scope=Highlight current scope
combobox.paste.insert.imports=&Insert imports on paste:
combobox.paste.reformat=Reformat on paste:
group.advanced.mouse.usages=Mouse
checkbox.enable.ctrl.mousewheel.changes.font.size=<html>Change font size (Zoom) with Ctrl+Mouse Wheel</html>
checkbox.enable.ctrl.mousewheel.changes.font.size.macos=<html>Change font size (Zoom) with Command+Mouse Wheel</html>
checkbox.enable.drag.n.drop.functionality.in.editor=<html>Enable Drag'n'Drop functionality in editor</html>
checkbox.honor.camelhumps.words.settings.on.double.click=<html>Honor "CamelHumps" words settings when selecting on<br/>double click</html>
group.smart.keys=Smart Keys
checkbox.use.camelhumps.words=Use "CamelHumps" words
checkbox.insert.pair.quote=Insert pair quote
checkbox.insert.pair.bracket=Insert pair bracket
checkbox.javadoc.stub.after.slash.star.star=Insert documentation comment stub
checkbox.insert.pair.percent.gt.in.jsp=Insert pair '%>' in JSP
checkbox.insert.pair.curly.brace=Insert pair '}'
checkbox.smart.indent=Smart indent
label.smart.enter=Smart Enter:
checkbox.smart.end.on.blank.line=End (on blank line)
checkbox.smart.home=Home
group.error.highlighting=Error highlighting
editbox.autoreparse.delay.ms=Autoreparse delay (ms):
editbox.error.stripe.mark.min.height.pixels=Error stripe mark min height (pixels):
checkbox.suppress.with.suppresswarnings=Suppress with @SuppressWarnings (for Java 5.0 only)
checkbox.next.error.action.goes.to.errors.first='Next Error' action goes to high priority problems only
checkbox.show.import.popup=Show import &popup
checkbox.indent.use.tab.character=Use tab character
checkbox.indent.smart.tabs=Smart tabs
editbox.indent.tab.size=Tab size:
editbox.indent.indent=Indent:
editbox.indent.continuation.indent=Continuation indent:
editbox.indent.label.indent=Label indent:
checkbox.indent.absolute.label.indent=Absolute label indent
checkbox.do.not.indent.top.level.class.members=Do not indent top level class members
checkbox.use.relative.indents=Use indents relative to expression start
tooltip.indent.must.be.multiple.of.tab.size.for.smart.tabs.to.operate=Indent must be multiple of tab size for smart tabs to operate
combobox.crlf.system.dependent=System-Dependent
combobox.crlf.unix=Unix and OS X (\\n)
combobox.crlf.windows=Windows (\\r\\n)
combobox.crlf.mac=Classic Mac (\\r)
group.tabs.and.indents=Tabs and Indents
checkbox.indent.use.same.settings.for.all.file.types=Use default indent options (General)
tab.indent.other=Other
combobox.line.separator.for.new.files=Line separator (for new files):
editbox.right.margin.columns=Right margin (columns):
checkbox.wrap.typing.on.right.margin=Wrap when typing reaches right margin
group.javadoc.other=Other
group.javadoc.invalid.tags=Invalid tags
group.javadoc.blank.lines=Blank lines
group.javadoc.alignment=Alignment
checkbox.enable.javadoc.formatting=Enable JavaDoc formatting
checkbox.align.parameter.descriptions=Align parameter descriptions
checkbox.align.thrown.exception.descriptions=Align thrown exception descriptions
checkbox.after.description=After description
checkbox.after.parameter.descriptions=After parameter descriptions
checkbox.after.return.tag=After return tag
checkbox.keep.invalid.tags=Keep invalid tags
checkbox.keep.empty.param.tags=Keep empty @param tags
checkbox.keep.empty.return.tags=Keep empty @return tags
checkbox.keep.empty.throws.tags=Keep empty @throws tags
checkbox.enable.leading.asterisks=Enable leading asterisks
checkbox.use.throws.rather.than.exception=Use @throws rather than @exception
checkbox.wrap.at.right.margin=Wrap at right margin
checkbox.generate.p.on.empty.lines=Generate "<p/>" on empty lines
checkbox.keep.empty.lines=Keep empty lines
checkbox.do.not.wrap.one.line.comments=Do not wrap one line comments
checkbox.preserve.line.feeds=Preserve line feeds
checkbox.param.description.on.new.line=Parameter descriptions on new line
title.javadoc=JavaDoc
option.table.sizing.text=Chop down if long.
title.choose.code.style.scheme=Choose Code Style Scheme
radio.use.per.project.code.style.scheme=Use per-project code style scheme
radio.use.global.code.style=Use global code style
button.import=Import...
button.export=Export...
button.edit.global.settings=Edit Global Settings...
label.edit.per.project.or.global.code.style=<html><body>Check option above on for per-project code style configuration<br>or use global code style. Global code style settings can be configured<br>in IDE Settings/Global Code Style</body></html>
title.project.code.style=Project\nCode Style
title.code.style.settings.import=Settings Import
title.import.scheme.from=Import From
title.import.scheme.chooser=Import Scheme
import.scheme.shared=Shared Scheme
message.code.style.scheme.already.exists=Scheme {0} already exists. Overwrite settings?
code.style.scheme.import.unnamed=Unnamed
message.code.style.scheme.import.success={0} settings were imported to {1} scheme.
message.code.style.scheme.import.failure={0} import failed with error message: {1}

label.name=Name:
error.scheme.must.have.a.name=Scheme must have a name
error.illegal.scheme.name=Illegal scheme name
error.a.scheme.with.this.name.already.exists.or.was.deleted.without.applying.the.changes=A scheme with this name already exists or was deleted without applying the changes
title.select.font=Select Font
checkbox.show.only.monospaced.fonts=Show only monospaced fonts
primary.font=Primary font:
secondary.font=Secondary font:
editbox.enter.tag.name=Enter tag name:
title.tag.name=Tag Name
title.xml=XML
title.html=HTML
action.add=Add
action.edit=Edit
action.remove=R&emove
checkbox.color.background=Background
checkbox.color.foreground=Foreground
checkbox.color.effects=Effects
checkbox.color.error.stripe.mark=Error Stripe Mark
combobox.effect.bordered=Bordered
combobox.effect.underscored=Underscored
combobox.effect.boldunderscored=Bold Underscored
combobox.effect.underwaved=Underwaved
combobox.effect.strikeout=Strikeout
combobox.effect.bold.dottedline=Dotted Line
checkbox.font.bold=Bold
checkbox.font.italic=Italic
label.font.type=Font type:
label.inherit.attributes=Inherit Attributes From:
title.diff=Diff
title.file.status=File Status
title.scope.based=Scope Based
title.colors.and.fonts=Colors \\& Fonts
progress.analysing.font=Analysing font: {0}
button.edit.scopes=Edit Scopes...
group.editor.font=Editor Font
label.fallback.fonts.list.description=If primary font fails, IDE tries to use the secondary one
quickdoc.tooltip.font.size.by.wheel=Slider or Ctrl+Wheel change font size
label.font.size=Font size:
label.font.name=Name:
editbox.font.size=Size:
editbox.line.spacing=Line spacing:
combobox.scheme.name=Scheme name:
progress.analyzing.fonts=Analyzing Fonts
error.readonly.scheme.cannot.be.modified=Read-only scheme cannot be modified. Please do "Save As..." first.
error.shared.scheme.cannot.be.modified=Shared scheme cannot be modified. Please do "Save As..." first.
title.cannot.modify.readonly.scheme=Cannot Modify Read-Only Scheme
title.save.color.scheme.as=Save Color Scheme As
title.path.variables=Path Variables
editbox.path.macro.value=Value:
editbox.path.macro.name=Name:
button.edit=&Edit
button.edit.dialog=&Edit...
button.add=&Add...
error.variable.already.exists=Variable with name {0} already exists
column.name=Name
column.value=Value
title.add.variable=Add Variable
title.edit.variable=Edit Variable
error.path.variable.is.undefined=Path variable "{0}" is undefined
text.no.path.variables=No path variables
config.import.invalid.directory.error={0} is not a directory!
command.exit=Exit
application.save.settings.error=Could not save application settings: {0}
exit.confirm.title=Confirm Exit
exit.confirm.prompt=Are you sure you want to exit {0}?
exit.confirm.prompt.tasks=You have background tasks running. Are you sure you want to stop them and exit {0}?
exclude.from.completion.group=Exclude from Import and Completion
exclude.from.completion.prompt=Enter the name of the package or class to exclude from auto-import and class name completion:
exclude.from.completion.title=Exclude Package
exclude.from.imports.add=A&dd
exclude.from.imports.no.exclusions=No exclude patterns
inline.elements=Inline elements:
don.t.break.if.inline.content=Don't break if inline content:
edit.code.folding.options=Open code folding options
button.new=&New...
building.include.indices=Building include indices...
loading.include.indices=Loading include indices...
use.external.annotations=Use &external annotations
insert.override.annotation=Insert @&Override annotation
auto.import=Auto Import
checkbox.collapse.suppress.warnings=<html>@SuppressWarnings</html>
checkbox.collapse.end.of.line.comments=<html>End of line comments sequence</html>
title.other.languages=Other Languages
launcher.script.overwrite=The file ''{0}'' already exists. Would you like to overwrite it?
launcher.script.sudo.prompt=Please enter your password to create a launcher script in a ''{0}''
desktop.entry.success=You may now exit {0} and start it from the system menu<br/> \
  (restart a session if a new entry seem not to appear).
desktop.entry.xdg.missing=Unfortunately, xdg-utils seem to be unavailable on your system.
desktop.entry.icon.missing=Unable to locate suitable application icon in ''{0}''.
desktop.entry.script.missing=Unable to locate suitable startup script in ''{0}''.
desktop.entry.checking=Checking...
desktop.entry.preparing=Preparing entry...
desktop.entry.installing=Installing entry...
desktop.entry.sudo.prompt=Please enter your password to create a desktop entry
title.tabs.and.indents=Tabs and Indents

watcher.slow.sync=External file changes sync may be slow
watcher.exe.not.found=Native file watcher executable not found
watcher.exe.not.exe=Native file watcher is not executable: <a href="{0}">{0}</a>
watcher.exe.outdated=Native file watcher executable is outdated
watcher.failed.to.start=File watcher failed to start
watcher.gave.up=File watcher gave up to operate
watcher.non.watchable.project=Project files cannot be watched (are they under network mount?)

arrangement.title.settings.tab=Arrangement
arrangement.text.empty.rule=<empty rule>
arrangement.text.type=Type
arrangement.text.modifier=Modifier
arrangement.text.name=Name
arrangement.order.name=Order
arrangement.action.rule.add.text=Add rule
arrangement.action.rule.add.description=Add new arrangement rule
arrangement.action.rule.remove.text=Remove rule(s)
arrangement.action.rule.remove.description=Remove selected arrangement rule(s)
arrangement.action.rule.edit.text=Edit rule
arrangement.action.rule.edit.description=Edit selected arrangement rule
arrangement.action.rule.move.up.text=Move up
arrangement.action.rule.move.up.description=Move selected arrangement rule(s) up
arrangement.action.rule.move.down.text=Move down
arrangement.action.rule.move.down.description=Move selected arrangement rule(s) down
arrangement.settings.section.groups=Grouping rules
arrangement.settings.section.match=Matching rules
arrangement.settings.groups.property.field=Group property field with corresponding getter/setter
arrangement.settings.groups.dependent.methods=Keep dependent methods together
arrangement.settings.groups.overridden.methods=Keep overridden methods together
arrangement.settings.groups.getters.and.setters.together=Keep getters and setters together
arrangement.settings.order.type.keep=keep order
arrangement.settings.order.type.by.name=order by name
arrangement.settings.order.type.depth.first=depth-first order
arrangement.settings.order.type.breadth.first=breadth-first order
arrangement.settings.text.general.type=Type:
arrangement.settings.text.general.modifier=Modifier:
arrangement.settings.text.general.name=Name:
arrangement.settings.text.general.order=Order:
arrangement.settings.text.general.xml.namespace=Namespace:
arrangement.settings.text.entry.type.xml.tag=tag
arrangement.settings.text.entry.type.xml.attribute=attribute
arrangement.settings.additional.force.combobox.name=Force rearrange:
arrangement.settings.additional.force.rearrange.always=Always
arrangement.settings.additional.force.rearrange.never=Never
arrangement.settings.additional.force.rearrange.according.to.dialog=Use current mode (toggled in the Reformat Code dialog)
arrangement.settings.additional.title=Additional settings



checkbox.spaces.around.lambda.arrow=Lambda arrow
checkbox.spaces.around.method.ref.dbl.colon.arrow=Method reference double colon
settings.code.style.general.formatter.control=Formatter Control
settings.code.style.general.enable.formatter.tags=Enable formatter markers in comments
settings.code.style.general.formatter.off.tag=Formatter off\:
settings.code.style.general.formatter.on.tag=Formatter on\:
settings.code.style.general.formatter.marker.regexp=Regular expressions
settings.code.style.general.formatter.marker.invalid.regexp=Invalid regular expression
settings.code.style.general.formatter.marker.title=Markers
settings.code.style.general.formatter.marker.options.title=Options
import.scheme.chooser.source=From\:
import.scheme.chooser.destination=To\:
checkbox.reformat.on.typing.rbrace=Reformat block on typing '}'
file.status.name.up.to.date=Up to date
file.status.name.deleted=Deleted
file.status.name.modified=Modified
file.status.name.added=Added
file.status.name.merged=Merged
file.status.name.unknown=Unknown
file.status.name.ignored=Ignored
file.status.name.hijacked=Hijacked
file.status.name.switched=Switched
file.status.name.obsolete=Obsolete
file.status.name.merged.with.conflicts=Merged with conflicts
file.status.name.merged.with.both.conflicts=Merged with text and property conflicts
file.status.name.merged.with.property.conflicts=Merged with property conflicts
file.status.name.deleted.from.file.system=Deleted from file system
none.vcs.presentation=<none>
vcs.command.name.add=Add
vcs.command.name.remove=Remove
vcs.command.name.checkin=Check_in
vcs.command.name.checkin.no.mnemonics=Checkin
vcs.command.name.edit=Edit
vcs.command.name.checkout=Checkout
vcs.command.name.status=Status
vcs.command.name.update=Update
history.empty=History is empty
exception.text.unknown.error=Unknown error
exception.text.internal.error.method.should.not.be.called=Should not be called
vcs.revision.name.current=Current
message.text.could.not.load.file.content=Could Not Load File Content
confirmation.text.check.in.with.empty.comment=Check in with empty comment?
confirmation.title.check.in.with.empty.comment=Comment Is Empty
label.commit.comment=&Commit Message
dialog.title.choose.commit.message.from.history=Commit Message History
border.standard.checkin.options.group=Before {0}
border.standard.after.checkin.options.group=After {0}
checkbox.checkin.options.check.files.up.to.date=Check remote status
checkbox.checkin.options.optimize.imports=&Optimize imports
checkbox.checkin.options.reformat.code=&Reformat code
checkbox.checkin.options.rearrange.code=Rearra&nge code
progress.text.searching.for.modified.files=Searching for modified files
button.text.overwrite.modified.file=&Overwrite Modified File
button.text.overwrite.modified.files=&Overwrite Modified Files
message.text.file.locally.modified=File {0} has been locally modified.
message.text.several.files.locally.modified=Some files were locally modified.
update.group.name.updated.from.server=Updated from server
update.group.name.updated=Updated
update.group.name.created=Created
update.group.name.deleted=Deleted
update.group.name.restored=Restored
update.group.name.modified=Modified
update.group.name.skipped=Skipped
update.group.name.merged.with.property.conflicts=Merged with property conflicts
update.group.name.merged.with.tree.conflicts=Merged with tree conflicts
update.group.name.merged.with.conflicts=Merged with conflicts
update.group.name.merged=Merged
update.group.name.not.in.repository=Not in repository
update.group.name.locally.added=Locally added
update.group.name.locally.removed=Locally removed
update.group.name.switched=Switched
status.group.name.changed.on.server=Changed on server
status.group.name.changed=Changed
status.group.name.created=Created
status.group.name.deleted=Deleted
status.group.name.modified=Modified
status.group.name.skipped=Skipped
status.group.name.will.be.restored=Will be restored
status.group.name.will.be.merged.with.property.conflicts=Will be merged with property conflicts
status.group.name.will.be.merged.with.tree.conflicts=Will be merged with tree conflicts
status.group.name.will.be.merged.with.conflicts=Will be merged with conflicts
status.group.name.will.be.merged=Will be merged
status.group.name.not.in.repository=Not in repository
status.group.name.locally.added=Locally added
status.group.name.locally.removed=Locally removed
status.group.name.switched=Switched
border.changes.filter.change.number.filter=Change
border.changes.filter.date.filter=Date
checkbox.show.changes.after.num=&From
checkbox.show.changes.before.num=&To:
checkbox.show.changes.before.date=&Before
checkbox.show.changes.after.date=&After
exception.text.internal.errror.could.not.implement.method=Could not implement
message.text.could.not.load.virtual.file.content=Could not load content for file {0}: {1}
message.title.could.not.load.content=Could Not Load Content
message.text.commit.failed.with.errors.and.warnings=Commit failed with errors and warnings
message.title.commit=Commit
message.text.commit.failed.with.errors=Commit failed with errors
message.text.commit.finished.with.warnings=Commit finished with warnings
message.text.binary.versions.are.identical=Binary versions are identical
message.title.diff=Diff
message.text.binary.versions.are.different=Binary versions are different
diff.title.local=Local
diff.title.local.with.number=Local ({0})
message.title.annotate=Annotate
action.name.checkin.directory={0} Directory
action.name.checkin.file={0} File
action.name.checkin.directories={0} Directories
action.name.checkin.files={0} Files
action.name.commit.project=Comm&it Changes
column.name.revision.list.author=Author
column.name.revisions.list.filter=Date
column.name.revisions.list.branch=Branch
column.name.revision.list.revision=Revision
lookup.title.vcs.file.revisions=File Revisions
border.selected.revision.commit.message=Commit message
loading.file.history.progress=Loading file history
message.title.could.not.load.file.history=Problems while loading file history
diff.content.title.repository.version={0} ( Repository Version )
action.name.file.history=File {0} History
action.name.file.history.dir=Folder {0} History
group.name.version.control=&VCS
message.text.cannot.open.editor=Cannot open text editor for file {0}
message.title.cannot.open.editor=Cannot Open Editor

#configuration
column.info.configure.vcses.directory=Directory
column.name.configure.vcses.vcs=VCS
dialog.title.version.control.configurations=Version Control Configurations
message.text.unable.to.save.settings=Unable to save settings. {0}
message.title.unable.to.save.settings=Unable To Save Settings
label.configure.vcses.available.vcses=Configure available version controls:
border.display.dialog.when.commands.invoked=Display options dialog when these commands are invoked
border.display.dialog.for.files.creation.deletion=Files Creation/Deletion
checkbox.show.clear.read.only.status.dialog=Show "&Clear Read-only Status" Dialog
radio.after.deletion.do.not.remove=Do &not remove
radio.after.deletion.show.options=<html>Show &options before removing<br>from version control</html>
radio.after.deletion.remove.silently=Re&move silently
label.after.deletion.group=When files are deleted with IDEA:
radio.after.creation.do.not.add=&Do not add
radio.after.creation.add.silently=&Add silently
radio.after.creation.show.options=<html>Show options before adding<br>to version control</html>
label.after.creation.=When files are created with IDEA:
checkbox.force.non.empty.messages=Force non-&empty checkin comments
tooltip.text.action.applicable.to.vcses=Applicable to: {0}
version.control.main.configurable.name=Version Control
configuration.tab.name.general.settings=General Settings
configuration.commit.message.margin.title=Commit message right margin
configuration.commit.message.margin.prompt=Commit message right margin (columns):
button.configure=&Configure VCS...
action.name.rollback=Rollback
command.name.rollback.change=Rollback Change
action.name.show.difference=Show Difference
tooltip.text.line.changed=Line {0} changed
tooltip.text.lines.changed=Lines {0}-{1} changed
dialog.title.diff.for.range=Diff for Range
diff.content.title.up.to.date=Base revision
diff.content.title.current.range=Current
settings.filter.update.project.info.by.scope = Filter Update Project information by scope

#file view
action.name.show.files.as.tree=Show as Tree
label.selected.revision.commit.message=Commit Message
column.name.revision.version=Version
column.name.revision.date=Date

#history
action.name.compare=Compare
action.description.compare=Compare versions
message.text.cannot.show.differences=Cannot show differences: {0}
message.title.show.differences=Show Differences
action.name.refresh=Refresh
action.desctiption.refresh=Refresh file history
message.text.cannot.refresh.file.history=Cannot refresh: {0}
message.title.refresh.file.history=Refresh
action.name.compare.with.local=Compare with Local
action.description.compare.with.local=Compare with local version
action.name.get.file.content.from.repository=Get
action.description.get.file.content.from.repository=Get version from repository
acton.name.get.revision=Get Revision
action.name.create.patch.for.selected.revisions=Create Patch...
action.description.create.patch.for.selected.revisions=Creates Patch for selected revision(s)
message.text.cannot.load.version=Cannot load version: {0}
message.title.get.version=Get Version
message.text.cannot.load.revision=Cannot load revision: {0}
message.text.cannot.save.content=Cannot save content: {0}
message.title.get.revision.content=Get Revision Content
action.name.for.file.get.version={0}: Get Version {1}
column.name.revision.list.message=Message
column.name.revision.list.date=Date
checkbox.show.changed.revisions.only=Changes only
dialog.title.history.for.file=History for File {0}
progress.text2.loading.revision=Loading revision {0}
message.text.cannot.load.version.because.of.error=Cannot load version {0}:{1}
message.title.load.version=Load Version
progress.title.loading.contents=Loading Contents
diff.content.title.revision.number=Revision {0}
command.name.open.error.message.view=Open message view
message.text.versions.are.identical=Versions are identical
message.text.binary.versions.differ=Binary versions differ
message.text.cannot.edit.file=Cannot edit file(s): {0}
message.title.edit.files=Edit Files
diff.type.name.modified=Modified
diff.type.name.deleted=Deleted
diff.type.name.added=Added
label.text.when.files.created.with.idea=When files are created with {0}:
label.text.when.files.are.deleted.with.idea=When files are deleted with {0}:
vcs.console.toolwindow.display.name=Console
merge.version.title.local.changes=Local Changes
merge.version.title.merge.result=Merge Result
merge.version.title.last.version=Changes from Server
merge.version.title.last.version.number=Changes from Server (revision {0})
dialog.title.clear.read.only.file.status=Clear Read-Only Status
handle.ro.file.status.type.using.file.system=using file system
handle.ro.file.status.type.using.vcs=using {0}
message.text.file.is.up.to.date=File is up-to-date
message.text.all.files.are.up.to.date=All files are up-to-date
progress.text.synchronizing.files=Synchronizing files...
progress.text.updating.done=Updating done
progress.text.updating.canceled=Update canceled
message.title.vcs.update.errors={0} Errors
toolwindow.title.update.action.info={0} Info
toolwindow.title.update.action.canceled.info={0} Info (Canceled)
update.tree.node.size.statistics={0,choice, 0#no items|1#1 item|2#{0, number} items}
toolwindow.title.update.project=Update Project ({0})
action.name.group.by.packages=Group by Packages
messge.text.cannot.save.settings=Cannot perform operation: {0}
action.name.check.status=Chec_k Status
action.name.check.scope.status=Chec_k {0} Status
action.display.name.check.scope.status=Check {0} Status
action.name.update=_Update
action.display.name.update=Update
action.name.update.scope=_Update {0}
action.display.name.update.scope=Update {0}
action.name.integrate=Inte_grate
action.name.integrate.scope=Inte_grate {0}
action.display.name.integrate.scope=Integrate {0}
update.files.scope.name=Files
update.directory.scope.name=Directory
update.file.scope.name=File
update.directories.scope.name=Directories
update.project.scope.name=Project
dialog.title.changes.browser=Changes Browser
code.smells.error.messages.tab.name=Code Analysis
searching.for.code.smells.processing.file.progress.text=Processing {0}
checking.code.smells.progress.title=Performing Code Analysis
before.commit.files.contain.code.smells.edit.them.confirm.text=Some files contain problems.\n\
   {0,choice, 0#No errors|1#One error|2#{0} errors} and {1,choice, 0#no warnings|1#one warning|2#{1} warnings} found.\n\
   Would you like to review them?
code.smells.review.button=&Review
todo.in.new.review.button=&Review
before.checkin.standard.options.check.smells=Perform code analy&sis
before.checkin.new.todo.check=Check TODO ({0})
before.checkin.new.todo.check.title=Check TODO
history.copy.revision.number=Copy Revision Number

# Changes view
changes.nodetitle.unversioned.files=Unversioned Files
changes.nodetitle.locally.deleted.files=Locally Deleted Files
changes.nodetitle.modified.without.editing=Modified without Checkout
changes.nodetitle.ignored.files=Ignored Files
changes.nodetitle.locked.folders=Locked working copy folders
changes.nodetitle.locked.folders.tooltip=Some folders are locked; VCS operations are not allowed for them. Cleanup should be performed.
changes.nodetitle.logicallt.locked.folders=Explicitly locked files
changes.nodetitle.switched.files=Switched Files
changes.nodetitle.switched.roots=Roots Switches
changes.nodetitle.updating=(updating...)
changes.nodetitle.have.outdated.files=Some files are changed on server
change.nodetitle.change.is.outdated=File is changed on server
changes.nodetitle.changecount=({0,choice, 0#No files|1#1 file|2#{0} files})
changes.nodetitle.directory.changecount=({0,choice, 0#No directories|1#1 directory|2#{0} directories})
changes.nodetitle.directory.file.changecount=({0,choice, 0#No directories|1#1 directory|2#{0} directories} and {1,choice, 0#no files|1#1 file|2#{1} files})
changes.toolwindow.name=Changes
changes.default.changelist.name=Default
changes.update.progress.message=Updating: {0}
changes.action.show.directories.text=Group by Directory
changes.action.show.directories.description=Group changes by directories and modules
changes.action.show.ignored.text=Show Ignored Files
changes.action.show.ignored.description=Show ignored files
changes.dialog.newchangelist.title=New Changelist
changes.dialog.editchangelist.title=Edit Changelist
changes.removechangelist.warning.text=Are you sure want to remove changelist ''{0}''?\nAll changes will be moved to the active changelist.
changes.removechangelist.multiple.warning.text=Are you sure want to remove {0} changelists?\nAll changes will be moved to the active changelist.
changes.removechangelist.warning.title=Delete Changelist
changes.changelist.chooser.existing.changelist=E&xisting Changelist
changes.changelist.chooser.new.changelist=Ne&w Changelist
changes.changelist.chooser.title=Choose Changelist
changes.newchangelist.warning.already.exists.text=Changelist ''{0}'' already exists.
changes.newchangelist.warning.already.exists.title=Wrong Changelist Name
commit.dialog.no.changes.detected.text=No changes detected
commit.dialog.no.changes.detected.title=Nothing to Commit
commit.dialog.title=Commit Changes
commit.dialog.default.commit.operation.name=Comm&it
commit.dialog.include.action.name=Include into commit
commit.dialog.failed.commit.template=Failed commit: {0}
commit.dialog.completed.successfully=Completed successfully
commit.dialog.refresh.files=Synchronizing files...
commit.dialog.rejected.commit.template=Rejected commit: {0}
commit.dialog.changelist.label=Change lis&t:
commit.dialog.changed.files.label=Changed &Files
commit.wait.util.synced.message=Please wait until VCS synchronization is finished.
commit.wait.util.synced.title=Finishing VCS refresh
change.list.manager.wait.lists.synchronization={0}: Local Changes Refresh
commit.wait.util.synched.text=Performing VCS refresh...
edit.changelist.name=&Name:
edit.changelist.description=&Comment:
changes.commit.partial.offer.to.move.text=You have excluded some files from the active changelist when committing.\nWould you like remaining changes to be moved to another changelist?
changes.commit.partial.offer.to.move.title=Partial Commit of Active Changelist
checkbox.changelist.move.offer=Suggest to move uncommitted changes &to another changelist

commit.legend.modified=Modified:
commit.legend.new=New:
commit.legend.deleted=Deleted:

changes.view.dnd.label={0} file(s)
error.executing.commit=Error executing ''{0}'': {1}
changes.action.rollback.title={0} Changes
changes.action.rollback.custom.title={0} Changes
changes.action.rollback.nothing=Nothing to {0}
changes.dialog.editchangelist.error.already.exists=A changelist named ''{0}'' already exists
error.adding.files.prompt=The following problems have occurred when adding the files:
error.adding.files.title=Error adding files
column.name.revision.list.committer=User
column.name.revision.list.number=Number
column.name.revision.list.description=Description
diff.unknown.file.type.prompt=The file ''{0}'' is not of a known file type. Would you like to associate it with a file type?
diff.unknown.file.type.title=Cannot Show Diff
diff.unknown.file.type.associate=Associate
browse.changes.nothing.found=No changes matching criteria found
browse.changes.nothing.found.title=No Changes Found
browse.changes.progress.title=Searching for changes
browse.changes.error.title=Can't Show Changes
browse.changes.error.message=Problem accessing VCS: {0}
button.search.again=Search Again
browse.changes.filter.title=Specify Search Criteria
changes.checkbox.delete.locally.added.files=&Delete local copies of added files
perform.update.from.vcs.in.background=Perform &update from VCS in background
perform.commit.in.bacground=&Perform commit to VCS in background
changes.action.rollback.text=Rollback
changes.action.rollback.description=Rollback changes
changes.action.setdefaultchangelist.text=Set Active Changelist
changes.action.setdefaultchangelist.description=Set changelist to which new changes are placed by default
patch.apply.file.name.field=&Patch file name:
create.patch.commit.action.title=Create Patch
create.patch.error.title=Error creating patch: {0}
patch.apply.dialog.title=Apply Patch
patch.file.type.description=Patch files
patch.summary.changed.files={0} changed {0,choice,1#file|2#files}
patch.summary.new.files={0} new {0,choice,1#file|2#files}
patch.summary.deleted.files={0} deleted {0,choice,1#file|2#files}
patch.load.progress=Loading...
patch.apply.base.directory.field=&Base directory:
patch.apply.strip.leading.directories.field=&Strip leading directories
patch.apply.no.patches.found=Failed to find any patches in the specified file
patch.apply.load.error=Error loading patch file: {0}
patch.apply.load.error.line=Error loading patch file: {0} at line {1}
patch.apply.open.error=Error opening patch file: {0}
patch.apply.conflict.title=Patch Conflict for {0}
patch.apply.conflict.local.version=Local Version
patch.apply.conflict.merged.version=Merge Result
patch.apply.conflict.patched.version=Patched Version
patch.apply.select.title=Select Patch File
patch.apply.select.base.directory.title=Select Base Directory
shelve.changes.action=Shelve Changes
patch.apply.already.applied=All of the changes in the specified patch are already contained in the code
patch.apply.partially.applied=Some of the changes in the specified patch were skipped because they are already contained in the code
patch.apply.success.applied.text=Patch successfully applied
patch.apply.command=apply patch
shelve.changes.delete.confirm=Are you sure you want to delete the shelved changelist named ''{0}''? You will not be able to undo this operation.
shelve.changes.delete.multiple.confirm=Are you sure you want to delete {0} shelved changelists? You will not be able to undo this operation.
shelve.changes.delete.files.from.list=You are going to remove {0} file(s) from shelved changelist. Are you sure?
shelve.changes.delete.files.from.list.title=Remove Files from Shelved Changelist
shelvedChanges.delete.title=Delete Shelved Changelist
create.patch.success.confirmation=Successfully created patch {0}
create.patch.partial.success.confirmation=Successfully created patch {0}. {1} of the selected files {1,choice,1#is|2#are} binary and {1,choice,1#was|2#were} not included in the patch.
patch.apply.error=Failed to apply patch for file {0}: {1}
patch.load.base.revision.error=Failed to load patch base revision for file {0}: {1}
shelve.changes.only.directories=The selected changes affect only directories and no files, so they cannot be shelved
edit.errors=Edit Errors
rollback.modified.without.editing.confirm.single=Would you like to {0} the changes to {1}?
rollback.modified.without.editing.confirm.multiple=Would you like to {0} the changes to {1} selected files?
error.updating.changes=Error updating changes: {0}
ignored.configure.title=Configure Ignored Files
ignored.configure.item.directory=Directory: {0}
ignored.configure.item.file=File: {0}
ignored.configure.item.mask=Mask: {0}
no.ignored.files=No ignored files
ignored.edit.title=Ignore Unversioned Files
ignored.edit.multiple.files=Selected {0} files
ignored.edit.radio.file=Ignore specified &file
ignored.edit.radio.directory=Ignore all files &under
ignored.edit.radio.mask=Ignore all files &matching
browse.changes.content.title=Changes under {0}
browse.changes.no.filter.prompt=You have not specified any filtering criteria. Are you sure you would like to view the entire history of the project?
browse.changes.title=Browse Changes
browse.changes.show.all.button=Show All Changes
browse.changes.show.recent.button=Show Recent Changes
diff.unknown.path.title=Unknown diff
new.changelist.make.active.checkbox=Make this changelist &active
composite.change.provider.include.vcs.checkbox=Include changes from {0}
shelf.tab=Shelf
directory.mapping.remove.title=Edit VCS Directory Mapping
button.configure.ignored.files=Configure &Ignored Files...
directory.mapping.add.title=Add VCS Directory Mapping
unshelve.changelist.chooser.title=Unshelve Changes to Changelist
retrieving.annotations=Loading Annotations
create.patch.all.binary=All of the selected files are binary. Binary files cannot be included in patches. No patch has been created.
multiple.file.merge.title=Files Merged with Conflicts
multiple.file.merge.properties.title=Files Merged with Property Conflicts
multiple.file.merge.accept.yours=Accept &Yours
multiple.file.merge.accept.theirs=Accept &Theirs
multiple.file.merge.merge=&Merge
multiple.file.merge.column.name=Name
multiple.file.merge.request.title=Merge Revisions for {0}
multiple.file.merge.column.type=Type
multiple.file.merge.type.binary=Binary
multiple.file.merge.type.text=Text
multiple.file.merge.loading.progress.title=Loading merge revisions...
unknown.vcs.presentation=<Unknown VCS> ({0})
show.diff.progress.title=Loading content...
show.diff.progress.title.detailed=Loading content for {0}
checkout.open.project.prompt=You have checked out {0} project file:\n{1}\nWould you like to open it?
checkout.open.project.dir.prompt=You have checked out {0} project:\n{1}\nWould you like to open it?
checkout.title=Checkout From Version Control
checkout.create.project.prompt=Would you like to create {0} project for the sources you have checked out to {1}?
checkout.open.directory.prompt=Would you like to open the directory {0}?
new.changelist.duplicate.name.error=A changelist with that name already exists
perform.edit.in.background=Perform Edit/Checkout in background
browse.changes.action=Browse Changes
browse.changes.scope=Changes affecting {0}
rollback.modified.without.checkout.error.tab={0} Modified without Checkout
annotate.action.name=Annotate
annotate.action.description=Annotate file
operation.name.annotate=Annotate
perform.add.remove.in.background=Perform Add/Remove in background
shelve.changes.rename.prompt=Please enter a name for the changelist:
shelve.changes.rename.title=Rename Shelved Changelist
changes.remove.active.prompt=Select the changelist to which the changes should be moved:
changes.remove.active.empty.prompt=Select the changelist to make active:
changes.remove.active.title=Delete Active Changelist
create.patch.loading.content.progress=Loading content revisions
create.patch.reverse.checkbox=&Reverse patch
create.patch.base.revision=&Include base revision text(s) into patch file
create.patch.file.path=&Patch file:
create.patch.encoding=Encoding:
committed.changes.refresh.progress=Refreshing VCS history
cache.settings.dialog.title=VCS History Cache Settings
diff.commit.message.title=Commit Message
button.configure.history.cache=Configure &History Cache...
background.operations.title=Background Operations
changes.browser.details.marker=more...
changelist.details.title=Changelist Details
date.group.title=Date
date.group.today=Today
date.group.last.week=Last Week
user.group.title=User
filter.structure.name=Structure
get.committed.changes.intersecting.prompt=The files in the selected {1, choice, 1#changelist|2#changelists} are also modified in {0} other {0,choice, 1#changelist|2#changelists}.\nChanges to selected files in these changelists will also be downloaded.
get.committed.changes.title=Get Changelist
issue.link.issue.column=Issue
issue.link.link.column=Link
issue.link.add.title=Add Issue Navigation Link
issue.link.edit.title=Edit Issue Navigation Link
issue.link.delete.prompt=Delete selected navigation link?
issue.link.delete.title=Delete Issue Navigation Link
issue.link.no.patterns=No patterns configured
committed.changes.empty.comment=<no comment>
committed.changes.filter.all=All
committed.changes.filter.none=<none>
committed.changes.partial.list=[partial]
update.info.loading.changelists=Loading changelists...
update.info.group.by.changelist=Group by Changelist
incoming.changes.loading.progress=Loading incoming changes
incoming.changes.refresh.progress=Refreshing incoming changes
outdated.version.show.diff.action=Show Diff
outdated.version.update.project.action=Update Project
outdated.version.text=Outdated version. Modified by {0} on {1}: {2}
outdated.version.pretty.date.text=Outdated version. Modified by {0} {1}: {2}
outdated.version.text.deleted=Outdated version. Deleted by {0} {1}: {2}
current.version.text={4}<br/><br/>Current version is {3}.<br/>Modified by {0}<br/>{1}<br/>{2}
committed.changes.filter.title=Filter by
committed.changes.group.title=Group by
committed.changes.regex.title=Regex
changelist.details.committed.format=Committed by {0} {1}
incoming.changes.indicator.tooltip={0} incoming changelists available
column.name.type=Type
change.type.new=New
change.type.deleted=Deleted
change.type.modified=Modified
apply.patch.create.dirs.prompt.header=The patch contains files in the following non-existing directories:\r\n
apply.patch.create.dirs.prompt.footer=Would you like to create the directories?
apply.patch.progress.verifying=Verifying...
apply.patch.summary.title=Summary:
committed.changes.incorrect.regex.message=Regular expression used in the filter is invalid
committed.changes.empty.message=There are no committed changes in the repository
committed.changes.not.loaded.message=Press Refresh button to load repository changes
incoming.changes.not.loaded.message=Press Refresh button to load incoming changes
incoming.changes.empty.message=There are no incoming changes

show.history.action.name.template=Show History _for {0}
show.history.dialog.title.template=History for {0}
action.name.show.history.for.selection=Selection
action.name.show.history.for.class=Class
action.name.show.history.for.field=Field
action.name.show.history.for.method=Method
action.name.show.history.for.function=Function
action.name.show.history.for.tag=Tag
action.name.show.history.for.text=Text
action.name.show.history.for.code.block=Code Block
action.name.show.history.for.statement=Statement
exception.text.file.should.be.directory={0} isn't a directory
vcs.root.remove.prompt=Would you like to remove the VCS root ''{0}'' for the removed module ''{1}''?
vcs.root.remove.title=Remove VCS Root
open.repository.version.text=Open Repository Version
open.repository.version.description=Open editor with selected revision of the file
local.history.update.from.vcs=Update from VCS
action.name.copy.old.text=Copy Old Text
create.changelist.on.failed.commit=Create changelist on failed commit:
commit.failed.confirm.prompt=Would you like to move the files that failed to commit to a separate changelist?
commit.failed.confirm.title=Commit Failed
progress.loading.diff.revisions=Getting revisions content
show.diff.with.local.action.text=Show Diff with Local
show.diff.with.local.action.description=Compare selected revision with the local version of the file
unshelve.changes.dialog.title=Unshelve Changes
ignored.edit.multiple.directories=Selected {0} directories
close.tab.action.name=Close
revert.changes.title=Revert Changes
action.revert.selected.changes.text=Revert Selected Changes
revert.changes.default.name=Revert: {0}
shelved.version.name=Shelved version
local.version.title=Local version
change.file.renamed.from.text=- renamed from {0}
change.file.moved.from.text=- moved from {0}
change.file.copied.from.text=- copied from {0}
change.file.replaced.text=- replaced
change.file.renamed.to.text=- renamed to {0}
change.file.moved.to.text=- moved to {0}
cannot.find.file.to.patch=Cannot find file to patch: {0}
cannot.apply.file.already.exists=Cannot apply patch to file {0}: it already exists.
change.lists.manager.add.unversioned=Add unversioned files
change.lists.manager.move.changes.to.list=Move Changes to List
vcs.shelf.action.restore.text=Restore
vcs.shelf.action.restore.description=Makes selected already unshelved changelist(s) available for unshelve again
delete.all.already.unshelved=Delete All Already Unshelved
delete.all.already.unshelved.confirmation=Do you want to delete all already unshelved changelists?\nThis operation cannot be undone.
highlight.annotation.before.not.selected.text=Show before...
highlight.annotation.before.selected.text=Show before ({0})
highlight.annotation.after.not.selected.text=Show after...
highlight.annotation.after.selected.text=Show after ({0})
highlight.annotation.before.description=Highlights revisions before or equal to selected
highlight.annotation.after.description=Highlights revisions after or equal to selected
action.enable.version.control.integration.text=_Enable Version Control Integration...
dialog.enable.version.control.integration.title=Enable Version Control Integration
dialog.enable.version.control.integration.select.vcs.label.text=Please select version control system\nto make your <Project Root> be under:
dialog.enable.version.control.integration.hint.text=Version Control configuration is available at: 'Settings | Version Control'
confirmation.text.add.file=Do you want to schedule the following file for addition to VCS?\n{0}
confirmation.title.add.file=Schedule for Addition
confirmation.title.add.multiple.files=Select Files to Add to VCS
waiting.changelists.update.for.show.commit.dialog.message=Commit dialog
add.confirmation.label.text=When files are created with {0}:
remove.confirmation.label.text=When files are deleted with {0}:
rolling.back.file=Rolling back {0}
perform.rollback.in.background.option=Perform revert in background
annotation.original.revision.text=Revision: {0}
annotation.switch.to.original.text=Hide merge sources
annotation.switch.to.merged.text=Show merge sources
all.vcs.init.message.text=Initializing VCS...
switch.to.changelist=Switch &to changelist (''{0}'')
move.to.changelist=&Move changes to active changelist (''{0}'')
vcs.config.track.changed.on.server=Check every
vcs.quicklist.popup.title=VCS Operations
vcs.quicklist.pupup.section.local.history=Local History
options.background.processes.title=Background processes
options.background.processes.enable=Enable background processes
options.check.changed.on.server.title="Changed on server" conflicts
revision.changes.not.supported=Current VCS does not support viewing changes by revision
line.annotation.aspect.author=Author
line.annotation.aspect.date=Date
line.annotation.aspect.revision=Revision
annotation.commit.number=Commit number
todo.handler.only.skipped=<html><body>TODO check has skipped {0,choice, 0#|1#one file|2#{0} files}.<br/>\n\
No new, edited, or located in changed fragments TODO items found.</body></html>
todo.handler.only.added=<html><body><b>There {0,choice, 0#|1#was one|2#were {0}} added or edited TODO {0,choice, 0#|1#item|2#items} found.</b><br/>\
{1,choice, 0#|1#One file was skipped.|2#{1} files were skipped.}Would you like to review {0,choice,1#it|2#them}?</body></html>
todo.handler.only.in.changed=<html><body>There {0,choice, 1#was one|2#were {0}} located in changed {0,choice, 1#fragment|2#fragments} TODO {0,choice, 1#item|2#items} found.<br/>\
{1,choice, 0#|1#One file was skipped.|2#{1} files were skipped.}Would you like to review {0,choice,1#it|2#them}?</body></html>
todo.handler.only.both=<html><body><b>There were {0, choice, 1#one|2#{0}} added or edited,</b><br/>\
and {1, choice, 1#one|2#{1}} located in changed {1,choice, 1#fragment|2#fragments} TODO items found.<br/>\
{2,choice, 0#|1#One file was skipped.|2#{2} files were skipped.}Would you like to review them?</body></html>
paths.affected.in.revision=Paths Affected in Revision {0}

#Dir diff
refresh.failed.message=Refresh failed: {0}
file.status.name.up.to.date.immediate.children=Have immediate changed children
file.status.name.up.to.date.recursive.children=Have changed descendants
file.status.name.up.to.date=Up to date
file.status.name.deleted=Deleted
file.status.name.modified=Modified
file.status.name.added=Added
file.status.name.merged=Merged
file.status.name.unknown=Unknown
file.status.name.ignored=Ignored
file.status.name.hijacked=Hijacked
file.status.name.switched=Switched
file.status.name.obsolete=Obsolete
file.status.name.merged.with.conflicts=Merged with conflicts
file.status.name.merged.with.both.conflicts=Merged with text and property conflicts
file.status.name.merged.with.property.conflicts=Merged with property conflicts
file.status.name.deleted.from.file.system=Deleted from file system
none.vcs.presentation=<none>
vcs.command.name.add=Add
vcs.command.name.remove=Remove
vcs.command.name.checkin=Check_in
vcs.command.name.checkin.no.mnemonics=Checkin
vcs.command.name.edit=Edit
vcs.command.name.checkout=Checkout
vcs.command.name.status=Status
vcs.command.name.update=Update
history.empty=History is empty
exception.text.unknown.error=Unknown error
exception.text.internal.error.method.should.not.be.called=Should not be called
vcs.revision.name.current=Current
message.text.could.not.load.file.content=Could Not Load File Content
confirmation.text.check.in.with.empty.comment=Check in with empty comment?
confirmation.title.check.in.with.empty.comment=Comment Is Empty
label.commit.comment=&Commit Message
dialog.title.choose.commit.message.from.history=Commit Message History
border.standard.checkin.options.group=Before {0}
border.standard.after.checkin.options.group=After {0}
checkbox.checkin.options.check.files.up.to.date=Check remote status
checkbox.checkin.options.optimize.imports=&Optimize imports
checkbox.checkin.options.reformat.code=&Reformat code
checkbox.checkin.options.rearrange.code=Rearra&nge code
progress.text.searching.for.modified.files=Searching for modified files
button.text.overwrite.modified.file=&Overwrite Modified File
button.text.overwrite.modified.files=&Overwrite Modified Files
message.text.file.locally.modified=File {0} has been locally modified.
message.text.several.files.locally.modified=Some files were locally modified.
update.group.name.updated.from.server=Updated from server
update.group.name.updated=Updated
update.group.name.created=Created
update.group.name.deleted=Deleted
update.group.name.restored=Restored
update.group.name.modified=Modified
update.group.name.skipped=Skipped
update.group.name.merged.with.property.conflicts=Merged with property conflicts
update.group.name.merged.with.tree.conflicts=Merged with tree conflicts
update.group.name.merged.with.conflicts=Merged with conflicts
update.group.name.merged=Merged
update.group.name.not.in.repository=Not in repository
update.group.name.locally.added=Locally added
update.group.name.locally.removed=Locally removed
update.group.name.switched=Switched
status.group.name.changed.on.server=Changed on server
status.group.name.changed=Changed
status.group.name.created=Created
status.group.name.deleted=Deleted
status.group.name.modified=Modified
status.group.name.skipped=Skipped
status.group.name.will.be.restored=Will be restored
status.group.name.will.be.merged.with.property.conflicts=Will be merged with property conflicts
status.group.name.will.be.merged.with.tree.conflicts=Will be merged with tree conflicts
status.group.name.will.be.merged.with.conflicts=Will be merged with conflicts
status.group.name.will.be.merged=Will be merged
status.group.name.not.in.repository=Not in repository
status.group.name.locally.added=Locally added
status.group.name.locally.removed=Locally removed
status.group.name.switched=Switched
border.changes.filter.change.number.filter=Change
border.changes.filter.date.filter=Date
checkbox.show.changes.after.num=&From
checkbox.show.changes.before.num=&To:
checkbox.show.changes.before.date=&Before
checkbox.show.changes.after.date=&After
exception.text.internal.errror.could.not.implement.method=Could not implement
message.text.could.not.load.virtual.file.content=Could not load content for file {0}: {1}
message.title.could.not.load.content=Could Not Load Content
message.text.commit.failed.with.errors.and.warnings=Commit failed with errors and warnings
message.title.commit=Commit
message.text.commit.failed.with.errors=Commit failed with errors
message.text.commit.finished.with.warnings=Commit finished with warnings
message.text.binary.versions.are.identical=Binary versions are identical
message.title.diff=Diff
message.text.binary.versions.are.different=Binary versions are different
diff.title.local=Local
diff.title.local.with.number=Local ({0})
message.title.annotate=Annotate
action.name.checkin.directory={0} Directory
action.name.checkin.file={0} File
action.name.checkin.directories={0} Directories
action.name.checkin.files={0} Files
action.name.commit.project=Comm&it Changes
column.name.revision.list.author=Author
column.name.revisions.list.filter=Date
column.name.revisions.list.branch=Branch
column.name.revision.list.revision=Revision
lookup.title.vcs.file.revisions=File Revisions
border.selected.revision.commit.message=Commit message
loading.file.history.progress=Loading file history
message.title.could.not.load.file.history=Problems while loading file history
diff.content.title.repository.version={0} ( Repository Version )
action.name.file.history=File {0} History
action.name.file.history.dir=Folder {0} History
group.name.version.control=&VCS
message.text.cannot.open.editor=Cannot open text editor for file {0}
message.title.cannot.open.editor=Cannot Open Editor

#configuration
column.info.configure.vcses.directory=Directory
column.name.configure.vcses.vcs=VCS
dialog.title.version.control.configurations=Version Control Configurations
message.text.unable.to.save.settings=Unable to save settings. {0}
message.title.unable.to.save.settings=Unable To Save Settings
label.configure.vcses.available.vcses=Configure available version controls:
border.display.dialog.when.commands.invoked=Display options dialog when these commands are invoked
border.display.dialog.for.files.creation.deletion=Files Creation/Deletion
checkbox.show.clear.read.only.status.dialog=Show "&Clear Read-only Status" Dialog
radio.after.deletion.do.not.remove=Do &not remove
radio.after.deletion.show.options=<html>Show &options before removing<br>from version control</html>
radio.after.deletion.remove.silently=Re&move silently
label.after.deletion.group=When files are deleted with IDEA:
radio.after.creation.do.not.add=&Do not add
radio.after.creation.add.silently=&Add silently
radio.after.creation.show.options=<html>Show options before adding<br>to version control</html>
label.after.creation.=When files are created with IDEA:
checkbox.force.non.empty.messages=Force non-&empty checkin comments
tooltip.text.action.applicable.to.vcses=Applicable to: {0}
version.control.main.configurable.name=Version Control
configuration.tab.name.general.settings=General Settings
configuration.commit.message.margin.title=Commit message right margin
configuration.commit.message.margin.prompt=Commit message right margin (columns):
button.configure=&Configure VCS...
action.name.rollback=Rollback
command.name.rollback.change=Rollback Change
action.name.show.difference=Show Difference
tooltip.text.line.changed=Line {0} changed
tooltip.text.lines.changed=Lines {0}-{1} changed
dialog.title.diff.for.range=Diff for Range
diff.content.title.up.to.date=Base revision
diff.content.title.current.range=Current
settings.filter.update.project.info.by.scope = Filter Update Project information by scope

#file view
action.name.show.files.as.tree=Show as Tree
label.selected.revision.commit.message=Commit Message
column.name.revision.version=Version
column.name.revision.date=Date

#history
action.name.compare=Compare
action.description.compare=Compare versions
message.text.cannot.show.differences=Cannot show differences: {0}
message.title.show.differences=Show Differences
action.name.refresh=Refresh
action.desctiption.refresh=Refresh file history
message.text.cannot.refresh.file.history=Cannot refresh: {0}
message.title.refresh.file.history=Refresh
action.name.compare.with.local=Compare with Local
action.description.compare.with.local=Compare with local version
action.name.get.file.content.from.repository=Get
action.description.get.file.content.from.repository=Get version from repository
acton.name.get.revision=Get Revision
action.name.create.patch.for.selected.revisions=Create Patch...
action.description.create.patch.for.selected.revisions=Creates Patch for selected revision(s)
message.text.cannot.load.version=Cannot load version: {0}
message.title.get.version=Get Version
message.text.cannot.load.revision=Cannot load revision: {0}
message.text.cannot.save.content=Cannot save content: {0}
message.title.get.revision.content=Get Revision Content
action.name.for.file.get.version={0}: Get Version {1}
column.name.revision.list.message=Message
column.name.revision.list.date=Date
checkbox.show.changed.revisions.only=Changes only
dialog.title.history.for.file=History for File {0}
progress.text2.loading.revision=Loading revision {0}
message.text.cannot.load.version.because.of.error=Cannot load version {0}:{1}
message.title.load.version=Load Version
progress.title.loading.contents=Loading Contents
diff.content.title.revision.number=Revision {0}
command.name.open.error.message.view=Open message view
message.text.versions.are.identical=Versions are identical
message.text.binary.versions.differ=Binary versions differ
message.text.cannot.edit.file=Cannot edit file(s): {0}
message.title.edit.files=Edit Files
diff.type.name.modified=Modified
diff.type.name.deleted=Deleted
diff.type.name.added=Added
label.text.when.files.created.with.idea=When files are created with {0}:
label.text.when.files.are.deleted.with.idea=When files are deleted with {0}:
vcs.console.toolwindow.display.name=Console
merge.version.title.local.changes=Local Changes
merge.version.title.merge.result=Merge Result
merge.version.title.last.version=Changes from Server
merge.version.title.last.version.number=Changes from Server (revision {0})
dialog.title.clear.read.only.file.status=Clear Read-Only Status
handle.ro.file.status.type.using.file.system=using file system
handle.ro.file.status.type.using.vcs=using {0}
message.text.file.is.up.to.date=File is up-to-date
message.text.all.files.are.up.to.date=All files are up-to-date
progress.text.synchronizing.files=Synchronizing files...
progress.text.updating.done=Updating done
progress.text.updating.canceled=Update canceled
message.title.vcs.update.errors={0} Errors
toolwindow.title.update.action.info={0} Info
toolwindow.title.update.action.canceled.info={0} Info (Canceled)
update.tree.node.size.statistics={0,choice, 0#no items|1#1 item|2#{0, number} items}
toolwindow.title.update.project=Update Project ({0})
action.name.group.by.packages=Group by Packages
messge.text.cannot.save.settings=Cannot perform operation: {0}
action.name.check.status=Chec_k Status
action.name.check.scope.status=Chec_k {0} Status
action.display.name.check.scope.status=Check {0} Status
action.name.update=_Update
action.display.name.update=Update
action.name.update.scope=_Update {0}
action.display.name.update.scope=Update {0}
action.name.integrate=Inte_grate
action.name.integrate.scope=Inte_grate {0}
action.display.name.integrate.scope=Integrate {0}
update.files.scope.name=Files
update.directory.scope.name=Directory
update.file.scope.name=File
update.directories.scope.name=Directories
update.project.scope.name=Project
dialog.title.changes.browser=Changes Browser
code.smells.error.messages.tab.name=Code Analysis
searching.for.code.smells.processing.file.progress.text=Processing {0}
checking.code.smells.progress.title=Performing Code Analysis
before.commit.files.contain.code.smells.edit.them.confirm.text=Some files contain problems.\n\
   {0,choice, 0#No errors|1#One error|2#{0} errors} and {1,choice, 0#no warnings|1#one warning|2#{1} warnings} found.\n\
   Would you like to review them?
code.smells.review.button=&Review
todo.in.new.review.button=&Review
before.checkin.standard.options.check.smells=Perform code analy&sis
before.checkin.new.todo.check=Check TODO ({0})
before.checkin.new.todo.check.title=Check TODO
history.copy.revision.number=Copy Revision Number

# Changes view
changes.nodetitle.unversioned.files=Unversioned Files
changes.nodetitle.locally.deleted.files=Locally Deleted Files
changes.nodetitle.modified.without.editing=Modified without Checkout
changes.nodetitle.ignored.files=Ignored Files
changes.nodetitle.locked.folders=Locked working copy folders
changes.nodetitle.locked.folders.tooltip=Some folders are locked; VCS operations are not allowed for them. Cleanup should be performed.
changes.nodetitle.logicallt.locked.folders=Explicitly locked files
changes.nodetitle.switched.files=Switched Files
changes.nodetitle.switched.roots=Roots Switches
changes.nodetitle.updating=(updating...)
changes.nodetitle.have.outdated.files=Some files are changed on server
change.nodetitle.change.is.outdated=File is changed on server
changes.nodetitle.changecount=({0,choice, 0#No files|1#1 file|2#{0} files})
changes.nodetitle.directory.changecount=({0,choice, 0#No directories|1#1 directory|2#{0} directories})
changes.nodetitle.directory.file.changecount=({0,choice, 0#No directories|1#1 directory|2#{0} directories} and {1,choice, 0#no files|1#1 file|2#{1} files})
changes.toolwindow.name=Changes
changes.default.changelist.name=Default
changes.update.progress.message=Updating: {0}
changes.action.show.directories.text=Group by Directory
changes.action.show.directories.description=Group changes by directories and modules
changes.action.show.ignored.text=Show Ignored Files
changes.action.show.ignored.description=Show ignored files
changes.dialog.newchangelist.title=New Changelist
changes.dialog.editchangelist.title=Edit Changelist
changes.removechangelist.warning.text=Are you sure want to remove changelist ''{0}''?\nAll changes will be moved to the active changelist.
changes.removechangelist.multiple.warning.text=Are you sure want to remove {0} changelists?\nAll changes will be moved to the active changelist.
changes.removechangelist.warning.title=Delete Changelist
changes.changelist.chooser.existing.changelist=E&xisting Changelist
changes.changelist.chooser.new.changelist=Ne&w Changelist
changes.changelist.chooser.title=Choose Changelist
changes.newchangelist.warning.already.exists.text=Changelist ''{0}'' already exists.
changes.newchangelist.warning.already.exists.title=Wrong Changelist Name
commit.dialog.no.changes.detected.text=No changes detected
commit.dialog.no.changes.detected.title=Nothing to Commit
commit.dialog.title=Commit Changes
commit.dialog.default.commit.operation.name=Comm&it
commit.dialog.include.action.name=Include into commit
commit.dialog.failed.commit.template=Failed commit: {0}
commit.dialog.completed.successfully=Completed successfully
commit.dialog.refresh.files=Synchronizing files...
commit.dialog.rejected.commit.template=Rejected commit: {0}
commit.dialog.changelist.label=Change lis&t:
commit.dialog.changed.files.label=Changed &Files
commit.wait.util.synced.message=Please wait until VCS synchronization is finished.
commit.wait.util.synced.title=Finishing VCS refresh
change.list.manager.wait.lists.synchronization={0}: Local Changes Refresh
commit.wait.util.synched.text=Performing VCS refresh...
edit.changelist.name=&Name:
edit.changelist.description=&Comment:
changes.commit.partial.offer.to.move.text=You have excluded some files from the active changelist when committing.\nWould you like remaining changes to be moved to another changelist?
changes.commit.partial.offer.to.move.title=Partial Commit of Active Changelist
checkbox.changelist.move.offer=Suggest to move uncommitted changes &to another changelist

commit.legend.modified=Modified:
commit.legend.new=New:
commit.legend.deleted=Deleted:

changes.view.dnd.label={0} file(s)
error.executing.commit=Error executing ''{0}'': {1}
changes.action.rollback.title={0} Changes
changes.action.rollback.custom.title={0} Changes
changes.action.rollback.nothing=Nothing to {0}
changes.dialog.editchangelist.error.already.exists=A changelist named ''{0}'' already exists
error.adding.files.prompt=The following problems have occurred when adding the files:
error.adding.files.title=Error adding files
column.name.revision.list.committer=User
column.name.revision.list.number=Number
column.name.revision.list.description=Description
diff.unknown.file.type.prompt=The file ''{0}'' is not of a known file type. Would you like to associate it with a file type?
diff.unknown.file.type.title=Cannot Show Diff
diff.unknown.file.type.associate=Associate
browse.changes.nothing.found=No changes matching criteria found
browse.changes.nothing.found.title=No Changes Found
browse.changes.progress.title=Searching for changes
browse.changes.error.title=Can't Show Changes
browse.changes.error.message=Problem accessing VCS: {0}
button.search.again=Search Again
browse.changes.filter.title=Specify Search Criteria
changes.checkbox.delete.locally.added.files=&Delete local copies of added files
perform.update.from.vcs.in.background=Perform &update from VCS in background
perform.commit.in.bacground=&Perform commit to VCS in background
changes.action.rollback.text=Rollback
changes.action.rollback.description=Rollback changes
changes.action.setdefaultchangelist.text=Set Active Changelist
changes.action.setdefaultchangelist.description=Set changelist to which new changes are placed by default
patch.apply.file.name.field=&Patch file name:
create.patch.commit.action.title=Create Patch
create.patch.error.title=Error creating patch: {0}
patch.apply.dialog.title=Apply Patch
patch.file.type.description=Patch files
patch.summary.changed.files={0} changed {0,choice,1#file|2#files}
patch.summary.new.files={0} new {0,choice,1#file|2#files}
patch.summary.deleted.files={0} deleted {0,choice,1#file|2#files}
patch.load.progress=Loading...
patch.apply.base.directory.field=&Base directory:
patch.apply.strip.leading.directories.field=&Strip leading directories
patch.apply.no.patches.found=Failed to find any patches in the specified file
patch.apply.load.error=Error loading patch file: {0}
patch.apply.load.error.line=Error loading patch file: {0} at line {1}
patch.apply.open.error=Error opening patch file: {0}
patch.apply.conflict.title=Patch Conflict for {0}
patch.apply.conflict.local.version=Local Version
patch.apply.conflict.merged.version=Merge Result
patch.apply.conflict.patched.version=Patched Version
patch.apply.select.title=Select Patch File
patch.apply.select.base.directory.title=Select Base Directory
shelve.changes.action=Shelve Changes
patch.apply.already.applied=All of the changes in the specified patch are already contained in the code
patch.apply.partially.applied=Some of the changes in the specified patch were skipped because they are already contained in the code
patch.apply.success.applied.text=Patch successfully applied
patch.apply.command=apply patch
shelve.changes.delete.confirm=Are you sure you want to delete the shelved changelist named ''{0}''? You will not be able to undo this operation.
shelve.changes.delete.multiple.confirm=Are you sure you want to delete {0} shelved changelists? You will not be able to undo this operation.
shelve.changes.delete.files.from.list=You are going to remove {0} file(s) from shelved changelist. Are you sure?
shelve.changes.delete.files.from.list.title=Remove Files from Shelved Changelist
shelvedChanges.delete.title=Delete Shelved Changelist
create.patch.success.confirmation=Successfully created patch {0}
create.patch.partial.success.confirmation=Successfully created patch {0}. {1} of the selected files {1,choice,1#is|2#are} binary and {1,choice,1#was|2#were} not included in the patch.
patch.apply.error=Failed to apply patch for file {0}: {1}
patch.load.base.revision.error=Failed to load patch base revision for file {0}: {1}
shelve.changes.only.directories=The selected changes affect only directories and no files, so they cannot be shelved
edit.errors=Edit Errors
rollback.modified.without.editing.confirm.single=Would you like to {0} the changes to {1}?
rollback.modified.without.editing.confirm.multiple=Would you like to {0} the changes to {1} selected files?
error.updating.changes=Error updating changes: {0}
ignored.configure.title=Configure Ignored Files
ignored.configure.item.directory=Directory: {0}
ignored.configure.item.file=File: {0}
ignored.configure.item.mask=Mask: {0}
no.ignored.files=No ignored files
ignored.edit.title=Ignore Unversioned Files
ignored.edit.multiple.files=Selected {0} files
ignored.edit.radio.file=Ignore specified &file
ignored.edit.radio.directory=Ignore all files &under
ignored.edit.radio.mask=Ignore all files &matching
browse.changes.content.title=Changes under {0}
browse.changes.no.filter.prompt=You have not specified any filtering criteria. Are you sure you would like to view the entire history of the project?
browse.changes.title=Browse Changes
browse.changes.show.all.button=Show All Changes
browse.changes.show.recent.button=Show Recent Changes
diff.unknown.path.title=Unknown diff
new.changelist.make.active.checkbox=Make this changelist &active
composite.change.provider.include.vcs.checkbox=Include changes from {0}
shelf.tab=Shelf
directory.mapping.remove.title=Edit VCS Directory Mapping
button.configure.ignored.files=Configure &Ignored Files...
directory.mapping.add.title=Add VCS Directory Mapping
unshelve.changelist.chooser.title=Unshelve Changes to Changelist
retrieving.annotations=Loading Annotations
create.patch.all.binary=All of the selected files are binary. Binary files cannot be included in patches. No patch has been created.
multiple.file.merge.title=Files Merged with Conflicts
multiple.file.merge.properties.title=Files Merged with Property Conflicts
multiple.file.merge.accept.yours=Accept &Yours
multiple.file.merge.accept.theirs=Accept &Theirs
multiple.file.merge.merge=&Merge
multiple.file.merge.column.name=Name
multiple.file.merge.request.title=Merge Revisions for {0}
multiple.file.merge.column.type=Type
multiple.file.merge.type.binary=Binary
multiple.file.merge.type.text=Text
multiple.file.merge.loading.progress.title=Loading merge revisions...
unknown.vcs.presentation=<Unknown VCS> ({0})
show.diff.progress.title=Loading content...
show.diff.progress.title.detailed=Loading content for {0}
checkout.open.project.prompt=You have checked out {0} project file:\n{1}\nWould you like to open it?
checkout.open.project.dir.prompt=You have checked out {0} project:\n{1}\nWould you like to open it?
checkout.title=Checkout From Version Control
checkout.create.project.prompt=Would you like to create {0} project for the sources you have checked out to {1}?
checkout.open.directory.prompt=Would you like to open the directory {0}?
new.changelist.duplicate.name.error=A changelist with that name already exists
perform.edit.in.background=Perform Edit/Checkout in background
browse.changes.action=Browse Changes
browse.changes.scope=Changes affecting {0}
rollback.modified.without.checkout.error.tab={0} Modified without Checkout
annotate.action.name=Annotate
annotate.action.description=Annotate file
operation.name.annotate=Annotate
perform.add.remove.in.background=Perform Add/Remove in background
shelve.changes.rename.prompt=Please enter a name for the changelist:
shelve.changes.rename.title=Rename Shelved Changelist
changes.remove.active.prompt=Select the changelist to which the changes should be moved:
changes.remove.active.empty.prompt=Select the changelist to make active:
changes.remove.active.title=Delete Active Changelist
create.patch.loading.content.progress=Loading content revisions
create.patch.reverse.checkbox=&Reverse patch
create.patch.base.revision=&Include base revision text(s) into patch file
create.patch.file.path=&Patch file:
create.patch.encoding=Encoding:
committed.changes.refresh.progress=Refreshing VCS history
cache.settings.dialog.title=VCS History Cache Settings
diff.commit.message.title=Commit Message
button.configure.history.cache=Configure &History Cache...
background.operations.title=Background Operations
changes.browser.details.marker=more...
changelist.details.title=Changelist Details
date.group.title=Date
date.group.today=Today
date.group.last.week=Last Week
user.group.title=User
filter.structure.name=Structure
get.committed.changes.intersecting.prompt=The files in the selected {1, choice, 1#changelist|2#changelists} are also modified in {0} other {0,choice, 1#changelist|2#changelists}.\nChanges to selected files in these changelists will also be downloaded.
get.committed.changes.title=Get Changelist
issue.link.issue.column=Issue
issue.link.link.column=Link
issue.link.add.title=Add Issue Navigation Link
issue.link.edit.title=Edit Issue Navigation Link
issue.link.delete.prompt=Delete selected navigation link?
issue.link.delete.title=Delete Issue Navigation Link
issue.link.no.patterns=No patterns configured
committed.changes.empty.comment=<no comment>
committed.changes.filter.all=All
committed.changes.filter.none=<none>
committed.changes.partial.list=[partial]
update.info.loading.changelists=Loading changelists...
update.info.group.by.changelist=Group by Changelist
incoming.changes.loading.progress=Loading incoming changes
incoming.changes.refresh.progress=Refreshing incoming changes
outdated.version.show.diff.action=Show Diff
outdated.version.update.project.action=Update Project
outdated.version.text=Outdated version. Modified by {0} on {1}: {2}
outdated.version.pretty.date.text=Outdated version. Modified by {0} {1}: {2}
outdated.version.text.deleted=Outdated version. Deleted by {0} {1}: {2}
current.version.text={4}<br/><br/>Current version is {3}.<br/>Modified by {0}<br/>{1}<br/>{2}
committed.changes.filter.title=Filter by
committed.changes.group.title=Group by
committed.changes.regex.title=Regex
changelist.details.committed.format=Committed by {0} {1}
incoming.changes.indicator.tooltip={0} incoming changelists available
column.name.type=Type
change.type.new=New
change.type.deleted=Deleted
change.type.modified=Modified
apply.patch.create.dirs.prompt.header=The patch contains files in the following non-existing directories:\r\n
apply.patch.create.dirs.prompt.footer=Would you like to create the directories?
apply.patch.progress.verifying=Verifying...
apply.patch.summary.title=Summary:
committed.changes.incorrect.regex.message=Regular expression used in the filter is invalid
committed.changes.empty.message=There are no committed changes in the repository
committed.changes.not.loaded.message=Press Refresh button to load repository changes
incoming.changes.not.loaded.message=Press Refresh button to load incoming changes
incoming.changes.empty.message=There are no incoming changes

show.history.action.name.template=Show History _for {0}
show.history.dialog.title.template=History for {0}
action.name.show.history.for.selection=Selection
action.name.show.history.for.class=Class
action.name.show.history.for.field=Field
action.name.show.history.for.method=Method
action.name.show.history.for.function=Function
action.name.show.history.for.tag=Tag
action.name.show.history.for.text=Text
action.name.show.history.for.code.block=Code Block
action.name.show.history.for.statement=Statement
exception.text.file.should.be.directory={0} isn't a directory
vcs.root.remove.prompt=Would you like to remove the VCS root ''{0}'' for the removed module ''{1}''?
vcs.root.remove.title=Remove VCS Root
open.repository.version.text=Open Repository Version
open.repository.version.description=Open editor with selected revision of the file
local.history.update.from.vcs=Update from VCS
action.name.copy.old.text=Copy Old Text
create.changelist.on.failed.commit=Create changelist on failed commit:
commit.failed.confirm.prompt=Would you like to move the files that failed to commit to a separate changelist?
commit.failed.confirm.title=Commit Failed
progress.loading.diff.revisions=Getting revisions content
show.diff.with.local.action.text=Show Diff with Local
show.diff.with.local.action.description=Compare selected revision with the local version of the file
unshelve.changes.dialog.title=Unshelve Changes
ignored.edit.multiple.directories=Selected {0} directories
close.tab.action.name=Close
revert.changes.title=Revert Changes
action.revert.selected.changes.text=Revert Selected Changes
revert.changes.default.name=Revert: {0}
shelved.version.name=Shelved version
local.version.title=Local version
change.file.renamed.from.text=- renamed from {0}
change.file.moved.from.text=- moved from {0}
change.file.copied.from.text=- copied from {0}
change.file.replaced.text=- replaced
change.file.renamed.to.text=- renamed to {0}
change.file.moved.to.text=- moved to {0}
cannot.find.file.to.patch=Cannot find file to patch: {0}
cannot.apply.file.already.exists=Cannot apply patch to file {0}: it already exists.
change.lists.manager.add.unversioned=Add unversioned files
change.lists.manager.move.changes.to.list=Move Changes to List
vcs.shelf.action.restore.text=Restore
vcs.shelf.action.restore.description=Makes selected already unshelved changelist(s) available for unshelve again
delete.all.already.unshelved=Delete All Already Unshelved
delete.all.already.unshelved.confirmation=Do you want to delete all already unshelved changelists?\nThis operation cannot be undone.
highlight.annotation.before.not.selected.text=Show before...
highlight.annotation.before.selected.text=Show before ({0})
highlight.annotation.after.not.selected.text=Show after...
highlight.annotation.after.selected.text=Show after ({0})
highlight.annotation.before.description=Highlights revisions before or equal to selected
highlight.annotation.after.description=Highlights revisions after or equal to selected
action.enable.version.control.integration.text=_Enable Version Control Integration...
dialog.enable.version.control.integration.title=Enable Version Control Integration
dialog.enable.version.control.integration.select.vcs.label.text=Please select version control system\nto make your <Project Root> be under:
dialog.enable.version.control.integration.hint.text=Version Control configuration is available at: 'Settings | Version Control'
confirmation.text.add.file=Do you want to schedule the following file for addition to VCS?\n{0}
confirmation.title.add.file=Schedule for Addition
confirmation.title.add.multiple.files=Select Files to Add to VCS
waiting.changelists.update.for.show.commit.dialog.message=Commit dialog
add.confirmation.label.text=When files are created with {0}:
remove.confirmation.label.text=When files are deleted with {0}:
rolling.back.file=Rolling back {0}
perform.rollback.in.background.option=Perform revert in background
annotation.original.revision.text=Revision: {0}
annotation.switch.to.original.text=Hide merge sources
annotation.switch.to.merged.text=Show merge sources
all.vcs.init.message.text=Initializing VCS...
switch.to.changelist=Switch &to changelist (''{0}'')
move.to.changelist=&Move changes to active changelist (''{0}'')
vcs.config.track.changed.on.server=Check every
vcs.quicklist.popup.title=VCS Operations
vcs.quicklist.pupup.section.local.history=Local History
options.background.processes.title=Background processes
options.background.processes.enable=Enable background processes
options.check.changed.on.server.title="Changed on server" conflicts
revision.changes.not.supported=Current VCS does not support viewing changes by revision
line.annotation.aspect.author=Author
line.annotation.aspect.date=Date
line.annotation.aspect.revision=Revision
annotation.commit.number=Commit number
todo.handler.only.skipped=<html><body>TODO check has skipped {0,choice, 0#|1#one file|2#{0} files}.<br/>\n\
No new, edited, or located in changed fragments TODO items found.</body></html>
todo.handler.only.added=<html><body><b>There {0,choice, 0#|1#was one|2#were {0}} added or edited TODO {0,choice, 0#|1#item|2#items} found.</b><br/>\
{1,choice, 0#|1#One file was skipped.|2#{1} files were skipped.}Would you like to review {0,choice,1#it|2#them}?</body></html>
todo.handler.only.in.changed=<html><body>There {0,choice, 1#was one|2#were {0}} located in changed {0,choice, 1#fragment|2#fragments} TODO {0,choice, 1#item|2#items} found.<br/>\
{1,choice, 0#|1#One file was skipped.|2#{1} files were skipped.}Would you like to review {0,choice,1#it|2#them}?</body></html>
todo.handler.only.both=<html><body><b>There were {0, choice, 1#one|2#{0}} added or edited,</b><br/>\
and {1, choice, 1#one|2#{1}} located in changed {1,choice, 1#fragment|2#fragments} TODO items found.<br/>\
{2,choice, 0#|1#One file was skipped.|2#{2} files were skipped.}Would you like to review them?</body></html>
paths.affected.in.revision=Paths Affected in Revision {0}

#Dir diff
refresh.failed.message=Refresh failed: {0}
file.status.name.up.to.date.immediate.children=Have immediate changed children
file.status.name.up.to.date.recursive.children=Have changed descendants
cast.to.concrete.class.display.name=Cast to a concrete class
cast.to.concrete.class.problem.descriptor=Cast to concrete class <code>{0}</code> #loc
class.references.subclass.display.name=Class references one of its subclasses
class.references.subclass.problem.descriptor=Class ''{0}'' references subclass <code>#ref</code> #loc
class.references.subclass.problem.descriptor.anonymous=Anonymous class references subclass <code>#ref</code> #loc
collection.declared.by.class.display.name=Collection declared by class, not interface
collection.declared.by.class.problem.descriptor=Declaration of <code>#ref</code> should probably be weakened to ''{0}'' #loc
collection.declared.by.class.ignore.locals.option=Ignore local variables
collection.declared.by.class.ignore.private.members.option=Ignore private fields and methods
feature.envy.display.name=Feature envy
feature.envy.problem.descriptor=Class ''{0}'' accessed repeatedly in method <code>#ref()</code> #loc
instance.variable.of.concrete.class.display.name=Type of instance field is concrete class
instance.variable.of.concrete.class.problem.descriptor=Type of field ''{0}'' is concrete class <code>#ref</code> #loc
chain.of.instanceof.checks.display.name=Chain of 'instanceof' checks
chain.of.instanceof.checks.problem.descriptor=Chain of 'instanceof' checks indicates abstraction failure #loc
instanceof.concrete.class.display.name='instanceof' a concrete class
instanceof.concrete.class.problem.descriptor='instanceof' concrete class <code>#ref</code> #loc
instanceof.check.for.this.display.name='instanceof' check for 'this'
instanceof.check.for.this.problem.descriptor='instanceof' check for <code>#ref</code> #loc
local.variable.of.concrete.class.display.name=Local variable of concrete class
local.variable.of.concrete.class.problem.descriptor=Local variable ''{0}'' of concrete class <code>#ref</code> #loc
magic.number.display.name=Magic number
magic.number.problem.descriptor=Magic number <code>#ref</code> #loc
magic.number.ignore.option=Ignore constants in 'hashCode()' methods
method.return.concrete.class.display.name=Method return of concrete class
method.return.concrete.class.problem.descriptor=Method returns a concrete class <code>#ref</code> #loc
overly.strong.type.cast.display.name=Overly strong type cast
overly.strong.type.cast.weaken.quickfix=Weaken overly strong cast
concrete.class.method.parameter.display.name=Method parameter of concrete class
concrete.class.method.parameter.problem.descriptor=Parameter ''{0}'' of concrete class <code>#ref</code> #loc
public.method.not.in.interface.display.name='public' method not exposed in interface
public.method.not.in.interface.problem.descriptor='public' method <code>#ref()</code> is not exposed via an interface #loc
public.method.not.in.interface.option=<html>Ignore if the containing class does not implement a non-library interface</html>
static.variable.of.concrete.class.display.name=Static field of concrete class
static.variable.of.concrete.class.problem.descriptor=Static field ''{0}'' of concrete class <code>#ref</code> #loc
incompatible.mask.operation.display.name=Incompatible bitwise mask operation
incompatible.mask.operation.problem.descriptor.always.false=<code>#ref</code> is always false #loc
incompatible.mask.operation.problem.descriptor.always.true=<code>#ref</code> is always true #loc
pointless.bitwise.expression.display.name=Pointless bitwise expression
pointless.bitwise.expression.ignore.option=Ignore named constants in determining pointless expressions
pointless.bitwise.expression.simplify.quickfix=Simplify
shift.operation.by.inappropriate.constant.display.name=Shift operation by inappropriate constant
shift.operation.by.inappropriate.constant.problem.descriptor.too.large=Shift operation <code>#ref</code> by overly large constant value #loc
shift.operation.by.inappropriate.constant.problem.descriptor.negative=Shift operation <code>#ref</code> by negative constant value #loc
equals.called.on.array.display.name='equals()' called on array
equals.called.on.array.problem.descriptor=<code>#ref()</code> between arrays should probably be 'Arrays.equals()' #loc
replace.with.arrays.equals=Replace with 'Arrays.equals()'
replace.with.arrays.deep.equals=Replace with 'Arrays.deepEquals()'
assignment.to.null.display.name=Assignment to 'null'
assignment.to.null.problem.descriptor=Assignment of variable <code>#ref</code> to 'null' #loc
assignment.to.null.option=Ignore assignments to fields
assignment.to.static.field.from.instance.method.display.name=Assignment to static field from instance method
assignment.to.static.field.from.instance.method.problem.descriptor=Assignment to static field <code>#ref</code> from an instance method #loc
assignment.used.as.condition.display.name=Assignment used as condition
assignment.used.as.condition.problem.descriptor=<code>#ref</code> used as condition #loc
assignment.used.as.condition.replace.quickfix=Replace '=' with '=='
cast.conflicts.with.instanceof.display.name=Cast conflicts with 'instanceof'
cast.conflicts.with.instanceof.problem.descriptor=Cast <code>#ref</code> conflicts with surrounding 'instanceof' check #loc
casting.to.incompatible.interface.display.name=Casting to incompatible interface
casting.to.incompatible.interface.problem.descriptor=Cast to incompatible interface <code>#ref</code> #loc
collection.added.to.self.display.name=Collection added to self
collection.added.to.self.problem.descriptor=Collection <code>#ref</code> is added to self #loc
non.final.field.compareto.display.name=Non-final field referenced in 'compareTo()'
non.final.field.compareto.problem.descriptor=Non-final field <code>#ref</code> accessed in 'compareTo()' #loc
covariant.compareto.display.name=Covariant 'compareTo()'
covariant.compareto.problem.descriptor=<code>#ref()</code> should take 'Object' as its argument #loc
covariant.equals.display.name=Covariant 'equals()'
covariant.equals.problem.descriptor=<code>#ref()</code> should take 'Object' as its argument #loc
empty.class.initializer.display.name=Empty class initializer
empty.class.initializer.problem.descriptor=Empty class initializer #loc
empty.class.initializer.delete.quickfix=Delete empty class initializer
statement.with.empty.body.display.name=Statement with empty body
statement.with.empty.body.problem.descriptor=<code>#ref</code> statement has empty body #loc
statement.with.empty.body.include.option=Include statement bodies that are empty code blocks
equals.between.inconvertible.types.display.name='equals()' between objects of inconvertible types
equals.between.inconvertible.types.problem.descriptor=<code>#ref()</code> between objects of inconvertible types ''{0}'' and ''{1}'' #loc
non.final.field.in.equals.display.name=Non-final field referenced in 'equals()'
non.final.field.in.equals.problem.descriptor=Non-final field <code>#ref</code> accessed in 'equals()'  #loc
equals.doesnt.check.class.parameter.display.name='equals()' method which does not check class of parameter
equals.doesnt.check.class.parameter.problem.descriptor=<code>#ref()</code> should check the class of its parameter #loc
for.loop.not.use.loop.variable.display.name='for' loop where update or condition does not use loop variable
for.loop.not.use.loop.variable.problem.descriptor.condition=<code>#ref</code> statement has condition which does not use the for loop variable #loc
for.loop.not.use.loop.variable.problem.descriptor.update=<code>#ref</code> statement has update which does not use the for loop variable #loc
for.loop.not.use.loop.variable.problem.descriptor.both.condition.and.update=<code>#ref</code> statement has condition and update which do not use the for loop variable #loc
non.final.field.in.hashcode.display.name=Non-final field referenced in 'hashCode()'
non.final.field.in.hashcode.problem.descriptor=Non-final field <code>#ref</code> accessed in 'hashCode()' #loc
result.of.method.call.ignored.display.name=Result of method call ignored
result.of.method.call.ignored.problem.descriptor=Result of <code>{0}.#ref()</code> is ignored #loc
result.of.method.call.ignored.class.column.title=Class name
result.of.method.call.ignored.method.column.title=Method name
result.of.method.call.ignored.non.library.option=Report all ignored non-library calls
infinite.recursion.display.name=Infinite recursion
infinite.recursion.problem.descriptor=Method <code>#ref()</code> recurses infinitely, and can only end by throwing an exception #loc
instanceof.with.incompatible.interface.display.name='instanceof' with incompatible interface
instanceof.with.incompatible.interface.problem.descriptor='instanceof' incompatible interface <code>#ref</code> #loc
instantiation.utility.class.display.name=Instantiation of utility class
instantiation.utility.class.problem.descriptor=Instantiation of utility class <code>#ref</code> #loc
iterator.hasnext.which.calls.next.display.name='Iterator.hasNext()' which calls 'next()'
iterator.hasnext.which.calls.next.problem.descriptor=<code>Iterator.#ref()</code> contains call to 'next()' #loc
iterator.next.does.not.throw.nosuchelementexception.display.name='Iterator.next()' which can't throw 'NoSuchElementException'
malformed.format.string.display.name=Malformed format string
malformed.format.string.problem.descriptor.malformed=Format string <code>#ref</code> is malformed #loc
malformed.format.string.problem.descriptor.too.many.arguments=Too many arguments for format string <code>#ref</code> #loc
malformed.format.string.problem.descriptor.too.few.arguments=Too few arguments for format string <code>#ref</code> #loc
malformed.format.string.problem.descriptor.arguments.do.not.match.type=Format string <code>#ref</code> does not match the type of its arguments #loc
malformed.regular.expression.display.name=Malformed regular expression
malformed.regular.expression.problem.descriptor1=Regular expression <code>#ref</code> is malformed #loc
malformed.regular.expression.problem.descriptor2=Regular expression <code>#ref</code> is malformed: {0} #loc
malformed.xpath.expression.display.name=Malformed XPath expression
malformed.xpath.expression.problem.description=XPath expression <code>#ref</code> is malformed #loc
mismatched.read.write.array.display.name=Mismatched read and write of array
mismatched.read.write.array.problem.descriptor.write.not.read=Contents of array <code>#ref</code> are written to, but never read #loc
mismatched.read.write.array.problem.descriptor.read.not.write=Contents of array <code>#ref</code> are read, but never written to #loc
mismatched.update.collection.display.name=Mismatched query and update of collection
mismatched.update.collection.problem.descriptor.updated.not.queried=Contents of collection <code>#ref</code> are updated, but never queried #loc
mismatched.update.collection.problem.description.queried.not.updated=Contents of collection <code>#ref</code> are queried, but never updated #loc
misspelled.compareto.display.name='compareto()' instead of 'compareTo()'
misspelled.compareto.problem.descriptor=<code>#ref()</code> method should probably be 'compareTo()' #loc
rename.quickfix=Rename
renameto.quickfix=Rename to ''{0}''
misspelled.equals.display.name='equal()' instead of 'equals()'
misspelled.equals.problem.descriptor=<code>#ref()</code> method should probably be 'equals()' #loc
misspelled.hashcode.display.name='hashcode()' instead of 'hashCode()'
misspelled.hashcode.problem.descriptor=<code>#ref()</code> should probably be 'hashCode()' #loc
misspelled.tostring.display.name='tostring()' instead of 'toString()'
misspelled.tostring.problem.descriptor=<code>#ref()</code> method should probably be 'toString()' #loc
non.short.circuit.boolean.expression.display.name=Non-short-circuit boolean expression
non.short.circuit.boolean.expression.problem.descriptor=Non-short-circuit boolean expression <code>#ref</code> #loc
non.short.circuit.boolean.expression.replace.quickfix=Replace with short circuit expression
null.argument.to.var.arg.method.display.name=Confusing 'null' argument to var-arg method
null.argument.to.var.arg.method.problem.descriptor=Confusing <code>#ref</code> argument to var-arg method #loc
primitive.array.argument.to.var.arg.method.display.name=Confusing primitive array argument to var-arg method
primitive.array.argument.to.var.arg.method.problem.descriptor=Confusing primitive array argument to var-arg method #loc
object.comparison.display.name=Object comparison using '==', instead of 'equals()'
object.comparison.enumerated.ignore.option=Ignore '==' between enumerated types
object.comparison.klass.ignore.option=Ignore '==' on 'java.lang.Class' objects
object.comparison.problem.description=Object values are compared using <code>#ref</code>, not 'equals()' #loc
object.comparison.replace.quickfix=Replace with 'equals()'
object.equals.null.problem.descriptor=<code>.equals(#ref)</code> is probably not what was intended #loc
default.tostring.call.display.name=Call to default 'toString()'
default.tostring.call.problem.descriptor=Call to default 'toString()' on <code>#ref</code> #loc
octal.and.decimal.integers.in.same.array.display.name=Octal and decimal integers in same array
octal.and.decimal.integers.in.same.array.problem.descriptor=Octal and decimal integers in the same array initializer #loc
result.of.object.allocation.ignored.display.name=Result of object allocation ignored
result.of.object.allocation.ignored.problem.descriptor=Result of <code>new #ref()</code> is ignored #loc
use.0index.in.jdbc.resultset.display.name=Use of index 0 in JDBC ResultSet
use.0index.in.jdbc.resultset.problem.descriptor=Use of index '0' in JDBC ResultSet #loc
use.0index.in.jdbc.prepared.statement.problem.descriptor=Use of index '0' in JDBC PreparedStatement #loc
return.of.null.display.name=Return of 'null'
return.of.null.problem.descriptor=Return of <code>#ref</code> #loc
return.of.null.arrays.option=Report methods that return arrays
return.of.null.quickfix=Annotate method as @Nullable
return.of.null.objects.option=Report methods that return objects
return.of.null.collections.option=Report methods that return collection objects
return.of.null.ignore.private.option=Ignore private methods
static.method.via.subclass.display.name=Static method referenced via subclass
static.method.via.subclass.problem.descriptor=Static method <code>#ref()</code> declared in class ''{0}'' but referenced via subclass ''{1}'' #loc
static.method.via.subclass.rationalize.quickfix=Rationalize static method call
static.field.via.subclass.display.name=Static field referenced via subclass
static.field.via.subclass.problem.descriptor=Static field <code>#ref</code> declared in class ''{0}'' but referenced via subclass ''{1}'' #loc
static.field.via.subclass.rationalize.quickfix=Rationalize static field access
string.comparison.display.name=String comparison using '==', instead of 'equals()'
number.comparison.display.name=Number comparison using '==', instead of 'equals()'
string.comparison.problem.descriptor=String values are compared using <code>#ref</code>, not 'equals()' #loc
number.comparison.problem.descriptor=Number objects are compared using <code>#ref</code>, not 'equals()' #loc
subtraction.in.compareto.display.name=Subtraction in 'compareTo()'
subtraction.in.compareto.problem.descriptor=Subtraction <code>#ref</code> in 'compareTo()' may result in overflow errors #loc
text.label.in.switch.statement.display.name=Text label in 'switch' statement
text.label.in.switch.statement.problem.descriptor=Text label <code>#ref:</code> in 'switch' statement #loc
properties.object.as.hashtable.display.name=Use of Properties object as a Hashtable
properties.object.as.hashtable.problem.descriptor=Call to <code>Hashtable.#ref()</code> on properties object #loc
assignment.replaceable.with.operator.assignment.display.name=Assignment replaceable with operator assignment
unnecessary.code.block.display.name=Unnecessary code block
unnecessary.code.block.unwrap.quickfix=Unwrap block
redundant.local.variable.display.name=Redundant local variable
redundant.local.variable.ignore.option=Ignore immediately returned or thrown variables
redundant.local.variable.annotation.option=Ignore variables which have an annotation
static.collection.display.name=Static collection
static.collection.problem.descriptor=Static collection <code>#ref</code> #loc
static.collection.ignore.option=Ignore weak static collections or maps
stringbuffer.field.display.name=StringBuffer field
stringbuffer.field.problem.descriptor=''{0}'' field <code>#ref</code> #loc
gc.call.display.name=Calls to 'System.gc()' or 'Runtime.gc()'
gc.call.problem.descriptor=<code>#ref</code> should not be called in production code #loc
array.allocation.zero.length.display.name=Zero-length array allocation
array.allocation.zero.length.problem.descriptor=Allocation of zero length array #loc
multiple.loggers.display.name=Class with multiple loggers
logger.name.option=Logger &class name:
multiple.loggers.problem.descriptor=Class <code>#ref</code> declares multiple loggers #loc
no.logger.display.name=Class without logger
no.logger.problem.descriptor=Class <code>#ref</code> does not declare a logger #loc
non.constant.logger.display.name=Non-constant logger
non.constant.logger.problem.descriptor=Non-constant logger field <code>#ref</code> #loc
public.method.without.logging.display.name='public' method without logging
public.method.without.logging.problem.descriptor='public' method <code>#ref()</code> has no logging call #loc
action.reset.telemetry.description=Reset telemetry data

telemetry.table.column.inspection.name=Inspection
telemetry.table.column.total.time=Total Run Time (ms)
telemetry.table.column.average.time=Average Run Time (ms)
telemetry.table.column.run.count=Run Count
telemetry.toolwindow.title=IG Telemetry
action.telemetry.refresh.description=Refresh telemetry display
finalize.doesnt.call.super.display.name='finalize()' does not call 'super.finalize()'
finalize.doesnt.call.super.ignore.option=Ignore for direct subclasses of 'java.lang.Object'
ignore.trivial.finalizers.option=Ignore for trivial 'finalize()' implementations
finalize.doesnt.call.super.problem.descriptor=<code>#ref()</code> #loc does not call 'super.finalize()'
finalize.declaration.display.name='finalize()' declaration
finalize.declaration.problem.descriptor=<code>#ref()</code> declared #loc
finalize.not.declared.protected.display.name='finalize()' not declared 'protected'
finalize.not.declared.protected.problem.descriptor=<code>#ref()</code> not declared 'protected' #loc
make.protected.quickfix=Make 'protected'
finalize.called.explicitly.display.name='finalize()' called explicitly
finalize.called.explicitly.problem.descriptor=<code>#ref()</code> called explicitly #loc
java.lang.import.display.name='java.lang' import
java.lang.import.problem.descriptor=Unnecessary import from package 'java.lang' #loc
import.display.name='*' import
import.problem.descriptor=Package import <code>#ref</code> #loc
redundant.import.display.name=Redundant import
redundant.import.problem.descriptor=Redundant import <code>#ref</code> #loc
import.from.same.package.display.name=Import from same package
import.from.same.package.problem.descriptor=Unnecessary import from same package <code>#ref</code> #loc
single.class.import.display.name=Single class import
single.class.import.problem.descriptor=Single class import <code>#ref</code> #loc
static.import.display.name=Static import
static.import.problem.descriptor=Static import <code>#ref</code>  #loc
static.import.replace.quickfix=Replace with non-static import
unused.import.display.name=Unused import
unused.import.problem.descriptor=Unused import <code>#ref</code> #loc
clone.instantiates.objects.with.constructor.display.name='clone()' instantiates objects with constructor
clone.instantiates.objects.with.constructor.problem.descriptor='clone()' creates new <code>#ref</code> instances #loc
clone.doesnt.call.super.clone.display.name='clone()' does not call 'super.clone()'
clone.doesnt.call.super.clone.problem.descriptor=<code>#ref()</code> does not call 'super.clone()' #loc
clone.doesnt.declare.clonenotsupportedexception.display.name='clone()' does not declare 'CloneNotSupportedException'
clone.doesnt.declare.clonenotsupportedexception.problem.descriptor=<code>#ref()</code> #loc does not declare 'CloneNotSupportedException'
clone.doesnt.declare.clonenotsupportedexception.declare.quickfix=Declare 'CloneNotSupportedException'
clone.method.in.non.cloneable.class.display.name='clone()' method in non-Cloneable class
clone.method.in.non.cloneable.class.problem.descriptor=<code>#ref()</code> defined in non-Cloneable class ''{0}'' #loc
clone.method.in.non.cloneable.interface.problem.descriptor=<code>#ref()</code> defined in non-Cloneable interface ''{0}'' #loc
cloneable.class.without.clone.display.name=Cloneable class without 'clone()'
cloneable.class.without.clone.problem.descriptor=<code>#ref</code> does not define 'clone()' #loc
cloneable.class.without.clone.ignore.option=Ignore classes cloneable due to inheritance
cloneable.class.without.clone.quickfix=Generate 'clone()' method
class.without.tostring.display.name=Class without 'toString()'
class.without.tostring.problem.descriptor=Class <code>#ref</code> should probably implement 'toString()', for debugging purposes #loc
use.obsolete.collection.type.display.name=Use of obsolete collection type
use.obsolete.collection.type.problem.descriptor=Obsolete collection type <code>#ref</code> used #loc
use.obsolete.collection.type.ignore.library.arguments.option=Ignore obsolete collection types where they are required
inspection.suppression.annotation.display.name=Inspection suppression annotation
inspection.suppression.annotation.problem.descriptor=Inspection suppression annotation <code>#ref</code> #loc
use.system.out.err.display.name=Use of System.out or System.err
use.system.out.err.problem.descriptor=Uses of <code>#ref</code> should probably be replaced with more robust logging #loc
dumpstack.call.display.name=Call to 'Thread.dumpStack()'
dumpstack.call.problem.descriptor=Call to <code>Thread.#ref()</code> should probably be replaced with more robust logging #loc
printstacktrace.call.display.name=Call to 'printStackTrace()'
printstacktrace.call.problem.descriptor=Call to <code>#ref()</code> should probably be replaced with more robust logging #loc
todo.comment.display.name=TODO comment
todo.comment.problem.descriptor=TODO comment <code>#ref</code> #loc
abstract.method.call.in.constructor.display.name=Abstract method called during object construction
abstract.method.call.in.constructor.problem.descriptor=Call to 'abstract' method <code>#ref()</code> during object construction #loc
instance.variable.may.not.be.initialized.display.name=Instance field may not be initialized
instance.variable.may.not.be.initialized.problem.descriptor=Instance field <code>#ref</code> may not be initialized during object construction #loc
instance.Variable.may.not.be.initialized.problem.descriptor.junit=Instance field <code>#ref</code> may not be initialized during object construction or 'setUp()' call #loc
primitive.fields.ignore.option=Ignore primitive fields
instance.variable.used.before.initialized.display.name=Instance field used before initialization
instance.variable.used.before.initialized.problem.descriptor=Instance field <code>#ref</code> used before initialized #loc
non.final.static.variable.initialization.display.name=Non-final static field is used during class initialization
non.final.static.variable.initialization.problem.descriptor=Non-final static field <code>#ref</code> used during class initialization #loc
overridable.method.call.in.constructor.display.name=Overridable method called during object construction
overridable.method.call.in.constructor.problem.descriptor=Call to overridable method <code>#ref()</code> during object construction #loc
overridden.method.call.in.constructor.display.name=Overridden method called during object construction
overridden.method.call.in.constructor.problem.descriptor=Call to overridden method <code>#ref()</code> during object construction #loc
static.variable.may.not.be.initialized.display.name=Static field may not be initialized
static.variable.may.not.be.initialized.problem.descriptor=Static field <code>#ref</code> may not be initialized during class initialization #loc
static.variable.used.before.initialization.display.name=Static field used before initialization
static.variable.used.before.initialization.problem.descriptor=Static field <code>#ref</code> used before initialization #loc
this.reference.escaped.in.construction.display.name='this' reference escaped in object construction
this.reference.escaped.in.construction.problem.descriptor=Escape of <code>#ref</code> during object construction #loc
assignment.to.catch.block.parameter.display.name=Assignment to catch block parameter
extract.parameter.as.local.variable.quickfix=Extract parameter as local variable
assignment.to.for.loop.parameter.display.name=Assignment to 'for' loop parameter
assignment.to.for.loop.parameter.check.foreach.option=Check foreach parameters
assignment.to.for.loop.parameter.problem.descriptor=Assignment to for-loop parameter <code>#ref</code> #loc
assignment.to.method.parameter.display.name=Assignment to method parameter
chained.equality.comparisons.display.name=Chained equality comparisons
confusing.octal.escape.sequence.display.name=Confusing octal escape sequence
increment.decrement.display.name=Value of ++ or -- used
nested.assignment.display.name=Result of assignment used
nested.assignment.problem.descriptor=Result of assignment expression used #loc
overloaded.methods.with.same.number.parameters.display.name=Overloaded methods with same number of parameters
overloaded.vararg.method.display.name=Overloaded variable argument method
refused.bequest.display.name=Refused bequest
reuse.of.local.variable.display.name=Reuse of local variable
reuse.of.local.variable.split.quickfix=Split local variable
character.comparison.display.name=Character comparison
character.comparison.problem.descriptor=Character comparison <code>#ref</code> in an internationalized context #loc
assignment.collection.array.field.from.parameter.display.name=Assignment to Collection or array field from parameter
assignment.collection.array.field.from.parameter.problem.descriptor.array=Assignment to array field <code>#ref</code> from parameter ''{0}'' #loc
assignment.collection.array.field.from.parameter.problem.descriptor.collection=Assignment to Collection field <code>#ref</code> from parameter ''{0}'' #loc
assignment.collection.array.field.option=Ignore assignments in private methods
assignment.to.date.calendar.field.from.parameter.display.name=Assignment to Date or Calendar field from parameter
assignment.to.date.calendar.field.from.parameter.problem.descriptor=Assignment to ''{0}'' field <code>#ref</code> from parameter {1} #loc
package.visible.field.display.name=Package-visible field
package.visible.field.problem.descriptor=Package-visible field <code>#ref</code> #loc
package.visible.inner.class.display.name=Package-visible inner class
package.visible.inner.class.problem.descriptor=Package-visible inner class <code>#ref</code> #loc
package.visible.inner.class.ignore.enum.option=Ignore package-visible inner enums
package.visible.inner.class.ignore.interface.option=Ignore package-visible inner interfaces
protected.field.display.name=Protected field
protected.field.problem.descriptor=Protected field <code>#ref</code> #loc
protected.inner.class.display.name=Protected inner class
protected.inner.class.problem.descriptor=Protected inner class <code>#ref</code> #loc
protected.inner.class.ignore.enum.option=Ignore 'protected' inner enums
protected.inner.class.ignore.interface.option=Ignore 'protected' inner interfaces
public.field.display.name='public' field
public.field.problem.descriptor='public' field <code>#ref</code> #loc
public.field.ignore.enum.type.fields.option=Ignore 'public final' fields of an enum type
public.inner.class.display.name='public' inner class
public.inner.class.problem.descriptor='public' inner class <code>#ref</code> #loc
public.inner.class.ignore.enum.option=Ignore 'public' inner enums
public.inner.class.ignore.interface.option=Ignore 'public' inner interfaces
return.of.collection.array.field.display.name=Return of Collection or array field
return.of.collection.array.field.problem.descriptor.array='return' of array field <code>#ref</code> #loc
return.of.collection.array.field.problem.descriptor.collection='return' of Collection field <code>#ref</code> #loc
return.of.collection.array.field.option=Ignore private methods returning an array or collection field
return.date.calendar.field.display.name=Return of Date or Calendar field
return.date.calendar.field.problem.descriptor=Return of ''{0}'' field <code>#ref</code> #loc
return.date.calendar.field.quickfix=Return clone of ''{0}''
accessing.non.public.field.of.another.object.display.name=Accessing a non-public field of another object
accessing.non.public.field.of.another.object.problem.descriptor=Direct access of non-public field <code>#ref</code> on another object #loc
call.to.date.tostring.display.name=Call to 'Date.toString()'
call.to.date.tostring.problem.descriptor=<code>Date.#ref()</code> used in an internationalized context #loc
magic.character.display.name=Magic character
magic.character.problem.descriptor=Magic character <code>#ref</code> in an internationalized context #loc
call.to.numeric.tostring.display.name=Call to Numeric 'toString()'
call.to.numeric.tostring.problem.descriptor=Numeric <code>#ref()</code> called in an internationalized context #loc
instantiating.simpledateformat.without.locale.display.name=Instantiating a SimpleDateFormat without a Locale
instantiating.simpledateformat.without.locale.problem.descriptor=Instantiating a <code>#ref</code> without specifying a Locale in an internationalized context #loc
string.compareto.call.display.name=Call to 'String.compareTo()'
string.compareto.call.problem.descriptor=<code>String.#ref()</code> called using internationalized strings #loc
string.concatenation.display.name=String concatenation
string.concatenation.problem.descriptor=String concatenation <code>#ref</code> in an internationalized context #loc
string.concatenation.ignore.system.out.option=Ignore for 'System.out.print' arguments
string.concatenation.ignore.system.err.option=Ignore for 'System.err.print' arguments
string.concatenation.ignore.assert.option=Ignore for assert statement arguments
string.concatenation.ignore.exceptions.option=Ignore for throwable arguments
string.concatenation.ignore.constant.initializers.option=Ignore for initializers of constants
ignore.in.annotations=Ignore in annotations
ignore.in.tostring=Ignore inside toString() methods
ignore.as.initial.capacity=Ignore initial capacity for StringBuilders and Collections
string.equalsignorecase.call.display.name=Call to 'String.equalsIgnoreCase()'
string.equalsignorecase.call.problem.descriptor=<code>String.#ref()</code> using internationalized strings #loc
string.equals.call.display.name=Call to 'String.equals()'
string.equals.call.problem.descriptor=<code>String.#ref()</code> using internationalized strings #loc
string.touppercase.tolowercase.without.locale.display.name=Call to 'String.toUpperCase()' or 'toLowerCase()' without a Locale
string.touppercase.tolowercase.without.locale.problem.descriptor=<code>String.#ref()</code> called without specifying a Locale using internationalized strings #loc
use.stringtokenizer.display.name=Use of StringTokenizer
use.stringtokenizer.problem.descriptor=<code>#ref</code> in an internationalized context #loc
time.tostring.call.display.name=Call to 'Time.toString()'
time.tostring.call.problem.descriptor=<code>Time.#ref()</code> in an internationalized context #loc
class.escapes.defined.scope.display.name=Class escapes defined scope
class.escapes.defined.scope.problem.descriptor=Class <code>#ref</code> is made visible outside its defined scope #loc
field.name.hides.in.superclass.display.name=Field name hides field in superclass
field.name.hides.in.superclass.problem.descriptor=Field <code>#ref</code> hides field in superclass #loc
field.name.hides.in.superclass.ignore.option=Ignore superclass fields not visible from subclass
inner.class.field.hides.outer.display.name=Inner class field hides outer class field
inner.class.field.hides.outer.ignore.option=Ignore outer fields not visible from inner class
inner.class.field.hides.outer.problem.descriptor=Inner class field <code>#ref</code> hides outer class field #loc
local.variable.hides.member.variable.display.name=Local variable hides field
local.variable.hides.member.variable.problem.descriptor=Local variable <code>#ref</code> hides field in class ''{0}'' #loc
local.variable.hides.member.variable.ignore.option=Ignore local variables in static methods
method.overloads.display.name=Method overloads method of superclass
method.overloads.problem.descriptor=Method <code>#ref()</code> overloads a compatible method of a superclass, when overriding might have been intended #loc
method.overloads.report.incompatible.option=Report even if parameter types are not compatible
method.overrides.private.display.name=Method overrides private method of superclass
method.overrides.private.display.name.problem.descriptor=Method <code>#ref()</code> overrides a private method of a superclass #loc
method.overrides.static.display.name=Method overrides static method of superclass
method.overrides.static.problem.descriptor=Method <code>#ref()</code> overrides a static method of a superclass #loc
parameter.hides.member.variable.display.name=Parameter hides field
parameter.hides.member.variable.problem.descriptor=Parameter <code>#ref</code> hides field in class ''{0}'' #loc
parameter.hides.member.variable.ignore.setters.option=Ignore for property setters
parameter.hides.member.variable.ignore.superclass.option=Ignore superclass fields not visible from subclass
parameter.hides.member.variable.ignore.constructors.option=Ignore for constructors
parameter.hides.member.variable.ignore.abstract.methods.option=Ignore for abstract methods
parameter.hides.member.variable.ignore.static.parameters.option=Ignore for static method parameters hiding instance fields
type.parameter.hides.visible.type.display.name=Type parameter hides visible type
type.parameter.hides.visible.type.problem.descriptor=Type parameter <code>#ref</code> hides visible type ''{0}'' #loc
type.parameter.hides.type.parameter.problem.descriptor=Type parameter <code>#ref</code> hides type parameter ''{0}'' #loc
anonymous.class.variable.hides.containing.method.variable.display.name=Anonymous class variable hides variable in containing method
anonymous.class.parameter.hides.containing.method.variable.problem.descriptor=Anonymous class parameter <code>#ref</code> hides variable in containing method #loc
anonymous.class.field.hides.containing.method.variable.problem.descriptor=Anonymous class field <code>#ref</code> hides variable in containing method #loc
anonymous.class.variable.hides.containing.method.variable.problem.descriptor=Anonymous class local variable <code>#ref</code> hides variable in containing method #loc
channel.opened.not.closed.display.name=Channel opened but not safely closed
drivermanager.call.display.name=Use of DriverManager to get JDBC connection
drivermanager.call.problem.descriptor=Call to <code>DriverManager.#ref()</code> #loc
hibernate.resource.opened.not.closed.display.name=Hibernate resource opened but not safely closed
i.o.resource.opened.not.closed.display.name=I/O resource opened but not safely closed
resource.opened.not.closed.problem.descriptor=''{0}'' should be opened in front of a ''try'' block and closed in the corresponding ''finally'' block #loc
jdbc.resource.opened.not.closed.display.name=JDBC resource opened but not safely closed
jndi.resource.opened.not.closed.display.name=JNDI resource opened but not safely closed
socket.opened.not.closed.display.name=Socket opened but not safely closed
annotation.class.display.name=Annotation class
annotation.class.problem.descriptor=Annotation class <code>#ref</code> #loc
annotation.display.name=Annotation
annotation.problem.descriptor=Annotation <code>#ref</code> #loc
use.assert.as.identifier.display.name=Use of 'assert' as identifier
use.assert.as.identifier.problem.descriptor=Use of <code>#ref</code> as identifier #loc
assert.statement.display.name='assert' statement
statement.problem.descriptor=<code>#ref</code> statement #loc
auto.boxing.display.name=Auto-boxing
auto.boxing.problem.descriptor=Auto-boxing <code>#ref</code> #loc
auto.boxing.make.boxing.explicit.quickfix=Make boxing explicit
auto.boxing.ignore.added.to.collection.option=Ignore expressions added to a collection
auto.unboxing.display.name=Auto-unboxing
auto.unboxing.problem.descriptor=Auto-unboxing <code>#ref</code> #loc
auto.unboxing.make.unboxing.explicit.quickfix=Make unboxing explicit
use.enum.as.identifier.display.name=Use of 'enum' as identifier
use.enum.as.identifier.problem.descriptor=Use of <code>#ref</code> as identifier #loc
enumerated.class.display.name=Enumerated class
enumerated.class.problem.descriptor=Enumerated class <code>#ref</code> #loc
extended.for.statement.display.name=Extended 'for' statement
extended.for.statement.replace.quickfix=Replace with old-style 'for' statement
variable.argument.method.display.name=Variable argument method
variable.argument.method.problem.descriptor=Variable argument method <code>#ref()</code> #loc
variable.argument.method.quickfix=Convert variable argument parameter to array
hardcoded.file.separator.display.name=Hardcoded file separator
hardcoded.file.separator.problem.descriptor=Hardcoded file separator <code>#ref</code> #loc
hardcoded.file.separator.include.option=Include "example/*" in recognized MIME media types
hardcoded.line.separator.display.name=Hardcoded line separator
hardcoded.line.separator.problem.descriptor=Hardcoded line separator <code>#ref</code> #loc
native.method.display.name=Native method
native.method.problem.descriptor=Methods declared <code>#ref</code> are non-portable #loc
runtime.exec.call.display.name=Call to 'Runtime.exec()'
runtime.exec.call.problem.descriptor=Call to <code>Runtime.#ref()</code> is non-portable #loc
system.exit.call.display.name=Call to 'System.exit()' or related methods
system.exit.call.problem.descriptor=Call to <code>{0}.#ref()</code> is non-portable #loc
system.exit.call.ignore.option=Ignore in main method
system.getenv.call.display.name=Call to 'System.getenv()'
system.getenv.call.problem.descriptor=Call to <code>System.#ref()</code> is non-portable #loc
use.of.awt.peer.class.display.name=Use of AWT peer class
use.of.awt.peer.class.problem.descriptor=Use of AWT peer class <code>#ref</code> is non-portable #loc
use.of.concrete.jdbc.driver.class.display.name=Use of concrete JDBC driver class
use.of.concrete.jdbc.driver.class.problem.descriptor=Use of concrete JDBC driver class <code>#ref</code> is non-portable #loc
use.processbuilder.class.display.name=Use of 'java.lang.ProcessBuilder' class
use.processbuilder.class.problem.descriptor=Use of <code>#ref</code> is non-portable #loc
use.sun.classes.display.name=Use of sun.* classes
use.sun.classes.problem.descriptor=Use of Sun-supplied class <code>#ref</code> is non-portable #loc
abstract.class.with.only.one.direct.inheritor.display.name=Abstract class which has only one direct inheritor
anonymous.inner.may.be.named.static.inner.class.display.name=Anonymous inner class may be a named static inner class
anonymous.inner.may.be.named.static.inner.class.problem.descriptor=Anonymous inner class <code>#ref</code> may be a named static inner class #loc
array.length.in.loop.condition.display.name=Array.length in loop condition
array.length.in.loop.condition.problem.descriptor=Check of array <code>#ref</code> in loop condition #loc
large.array.allocation.no.outofmemoryerror.display.name=Large array allocation with no OutOfMemoryError check
large.array.allocation.no.outofmemoryerror.problem.descriptor=Large array allocation which is not checked for out-of-memory condition #loc
large.array.allocation.no.outofmemoryerror.maximum.number.of.elements.option=Maximum number of elements:
connection.opened.not.safely.closed.display.name=Connection opened but not safely closed
field.repeatedly.accessed.in.method.display.name=Field repeatedly accessed in method
field.repeatedly.accessed.in.method.problem.descriptor=Field ''{0}'' accessed repeatedly in method <code>#ref()</code> #loc
field.repeatedly.accessed.in.method.ignore.option=Ignore 'final' fields
interface.one.inheritor.display.name=Interface which has only one direct inheritor
interface.one.inheritor.problem.descriptor=Interface <code>#ref</code> has only one direct inheritor #loc
method.call.in.loop.condition.display.name=Method call in loop condition
method.call.in.loop.condition.problem.descriptor=Call to method <code>#ref()</code> in loop condition #loc
large.initializer.primitive.type.array.display.name=Overly large initializer for array of primitive type
large.initializer.primitive.type.array.problem.descriptor=Primitive array initializer with too many elements ({0}) #loc
large.initializer.primitive.type.array.maximum.number.of.elements.option=Maximum number of elements:
private.member.access.between.outer.and.inner.classes.display.name=Private member access between outer and inner classes
private.member.access.between.outer.and.inner.classes.problem.descriptor=Access to private member of class ''{0}'' #loc
private.member.access.between.outer.and.inner.classes.make.local.quickfix=Make ''{0}'' package-local
private.member.access.between.outer.and.inner.classes.make.constructor.package.local.quickfix=Make ''{0}'' constructor package-local
recordstore.opened.not.safely.closed.display.name=RecordStore opened but not safely closed
overly.complex.anonymous.inner.class.display.name=Overly complex anonymous inner class
cyclomatic.complexity.limit.option=Cyclomatic complexity limit:
overly.complex.anonymous.inner.class.problem.descriptor=Overly complex anonymous inner class (cyclomatic complexity = {0}) #loc
anonymous.inner.class.with.too.many.methods.display.name=Anonymous inner class with too many methods
method.count.limit.option=Method count limit:
anonymous.inner.class.with.too.many.methods.problem.descriptor=Anonymous inner class with too many methods (method count = {0}) #loc
overly.complex.class.display.name=Overly complex class
overly.complex.class.problem.descriptor=<code>#ref</code> is overly complex (cyclomatic complexity = {0}) #loc
overly.coupled.class.display.name=Overly coupled class
overly.coupled.class.class.coupling.limit.option=Class coupling limit:
include.java.system.classes.option=Include couplings to java system classes
include.library.classes.option=Include couplings to library classes
overly.coupled.class.problem.descriptor=<code>#ref</code> is overly coupled (dependencies = {0}) #loc
class.too.deep.display.name=Class too deep in inheritance tree
class.too.deep.inheritance.depth.limit.option=Inheritance depth limit:
class.too.deep.problem.descriptor=<code>#ref</code> is too deep in inheritance tree (inheritance depth = {0}) #loc
inner.class.too.deeply.nested.display.name=Inner class too deeply nested
inner.class.too.deeply.nested.nesting.limit.option=Nesting limit:
inner.class.too.deeply.nested.problem.descriptor=<code>#ref</code> is too deeply nested (nesting level = {0}) #loc
too.many.constructors.display.name=Class with too many constructors
too.many.constructors.count.limit.option=Constructor count limit:
too.many.constructors.ignore.deprecated.option=Ignore deprecated constructors
too.many.constructors.problem.descriptor=<code>#ref</code> has too many constructors (constructor count = {0}) #loc
too.many.fields.display.name=Class with too many fields
too.many.fields.count.limit.option=Field count limit:
too.many.fields.problem.descriptor=<code>#ref</code> has too many fields (field count = {0}) #loc
too.many.methods.display.name=Class with too many methods
too.many.methods.problem.descriptor=<code>#ref</code> has too many methods (method count = {0}) #loc
externalizable.with.serialization.methods.display.name=Externalizable class with 'readObject()' or 'writeObject()'
externalizable.with.serialization.methods.problem.descriptor.both=Externalizable class <code>#ref</code> defines 'readObject()' and 'writeObject()' #loc
externalizable.with.serialization.methods.problem.descriptor.write=Externalizable class <code>#ref</code> defines 'writeObject()' #loc
externalizable.with.serialization.methods.problem.descriptor.read=Externalizable class <code>#ref</code> defines 'readObject()' #loc
non.serializable.with.serialversionuid.display.name=Non-serializable class with 'serialVersionUID'
non.serializable.class.with.serialversionuid.problem.descriptor=Non-serializable class <code>#ref</code> defines a 'serialVersionUID' field #loc
non.serializable.interface.with.serialversionuid.problem.descriptor=Non-serializable interface <code>#ref</code> defines a 'serialVersionUID' field #loc
non.serializable.@interface.with.serialversionuid.problem.descriptor=Non-serializable @interface <code>#ref</code> defines a 'serialVersionUID' field #loc
non.serializable.anonymous.with.serialversionuid.problem.descriptor=Non-serializable anonymous class extending <code>#ref</code> defines a 'serialVersionUID' field #loc
non.serializable.with.serialversionuid.remove.quickfix=Remove 'serialVersionUID' field
non.serializable.class.with.readwriteobject.display.name=Non-serializable class with 'readObject()' or 'writeObject()'
non.serializable.class.with.readwriteobject.problem.descriptor.both=Non-serializable class <code>#ref</code> defines 'readObject()' and 'writeObject()' #loc
non.serializable.class.with.readwriteobject.problem.descriptor.write=Non-serializable class <code>#ref</code> defines 'writeObject()' #loc
non.serializable.class.with.readwriteobject.problem.descriptor.read=Non-serializable class <code>#ref</code> defines 'readObject()' #loc
non.serializable.anonymous.with.readwriteobject.problem.descriptor.both=Non-serializable anonymous class extending <code>#ref</code> defines 'readObject()' and 'writeObject()' #loc
non.serializable.anonymous.with.readwriteobject.problem.descriptor.write=Non-serializable anonymous class extending <code>#ref</code> defines 'writeObject()' #loc
non.serializable.anonymous.with.readwriteobject.problem.descriptor.read=Non-serializable anonymous class extending <code>#ref</code> defines 'readObject()' #loc
readwriteobject.private.display.name='readObject()' or 'writeObject()' not declared 'private'
readwriteobject.private.problem.descriptor=<code>#ref</code> not declared 'private' #loc
readobject.initialization.display.name=Instance field may not be initialized by 'readObject()'
readobject.initialization.problem.descriptor=Instance field <code>#ref</code> may not be initialized during 'readObject()' call #loc
readresolve.writereplace.protected.display.name='readResolve()' or 'writeReplace()' not declared 'protected'
readresolve.writereplace.protected.problem.descriptor=<code>#ref()</code> not declared 'protected' #loc
serialpersistentfields.with.wrong.signature.display.name='serialPersistentFields' field not declared 'private static final ObjectStreamField[]'
serialpersistentfields.with.wrong.signature.problem.descriptor=<code>#ref</code> field of a Serializable class is not declared 'private static final ObjectStreamField[]' #loc
serialversionuid.private.static.final.long.display.name='serialVersionUID' field not declared 'private static final long'
serialversionuid.private.static.final.long.problem.descriptor=<code>#ref</code> field of a Serializable class is not declared 'private static final long' #loc
serialversionuid.private.static.final.long.quickfix=Make serialVersionUID 'private static final'
serializable.class.without.serialversionuid.display.name=Serializable class without 'serialVersionUID'
serializable.class.without.serialversionuid.problem.descriptor=<code>#ref</code> does not define a 'serialVersionUID' field #loc

#dynamic
non.protected.constructor.in.abstract.class.display.name='public' constructor in 'abstract' class
unnecessary.qualifier.for.this.display.name=Unnecessary qualifier for 'this'
multiple.declaration.display.name=Multiple variables in one declaration
thread.priority.display.name=Call to 'Thread.setPriority()'
too.broad.scope.display.name=Scope of variable is too broad
infinite.loop.statement.display.name=Infinite loop statement
asserts.without.messages.display.name=Message missing on JUnit assertion
constant.naming.convention.display.name=Constant naming convention
random.double.for.random.integer.display.name=Using 'Random.nextDouble()' to get random integer
test.method.without.assertion.display.name=JUnit test method without any assertions
string.buffer.replaceable.by.string.builder.display.name='StringBuffer' may be 'StringBuilder'
comparison.of.short.and.char.display.name=Comparison of 'short' and 'char' values
unnecessary.fully.qualified.name.display.name=Unnecessary fully qualified name
unnecessary.label.on.break.statement.display.name=Unnecessary label on 'break' statement
exception.name.doesnt.end.with.exception.display.name=Exception class name does not end with 'Exception'
bad.exception.declared.display.name=Prohibited exception declared
deserializable.class.in.secure.context.display.name=Deserializable class in secure context
pointless.boolean.expression.display.name=Pointless boolean expression
class.without.constructor.display.name=Class without constructor
break.statement.display.name='break' statement
unconditional.wait.display.name=Unconditional 'wait()' call
cyclomatic.complexity.display.name=Overly complex method
string.to.string.display.name=Redundant 'String.toString()'
constant.on.lhs.of.comparison.display.name=Constant on left side of comparison
final.class.display.name='final' class
labeled.statement.display.name=Labeled statement
notify.called.on.condition.display.name='notify()'  or 'notifyAll()' called on java.util.concurrent.locks.Condition object
loop.statements.that.dont.loop.display.name=Loop statement that does not loop
thread.run.display.name=Call to 'Thread.run()'
non.synchronized.method.overrides.synchronized.method.display.name=Unsynchronized method overrides synchronized method
constant.on.rhs.of.comparison.display.name=Constant on right side of comparison
synchronize.on.this.display.name=Synchronization on 'this'
switch.statement.with.too.many.branches.display.name='switch' statement with too many branches
utility.class.without.private.constructor.display.name=Utility class without private constructor
throw.caught.locally.display.name='throw' caught by containing 'try' statement
exception.from.catch.which.doesnt.wrap.display.name='throw' inside 'catch' block which ignores the caught exception
type.parameter.naming.convention.display.name=Type parameter naming convention
multiply.or.divide.by.power.of.two.display.name=Multiply or divide by power of two
multiply.or.divide.by.power.of.two.divide.option=Check divisions by a power of two also
serializable.with.unconstructable.ancestor.display.name=Serializable class with unconstructable ancestor
missorted.modifiers.display.name=Missorted modifiers
sleep.while.holding.lock.display.name=Call to 'Thread.sleep()' while synchronized
singleton.display.name=Singleton
thread.death.rethrown.display.name='java.lang.ThreadDeath' not rethrown
if.statement.with.too.many.branches.display.name='if' statement with too many branches
redundant.implements.display.name=Redundant interface declaration
nesting.depth.display.name=Overly nested method
return.this.display.name=Return of 'this'
busy.wait.display.name=Busy wait
utility.class.display.name=Utility class
instantiating.object.to.get.class.object.display.name=Instantiating object to get Class object
abstract.class.extends.concrete.class.display.name=Abstract class extends concrete class
parameter.naming.convention.display.name=Method parameter naming convention
integer.division.in.floating.point.context.display.name=Integer division in floating point context
interface.naming.convention.display.name=Interface naming convention
length.one.strings.in.concatenation.display.name=Single character string concatenation
length.one.string.in.indexof.display.name= Single character string argument in 'String.indexOf()' call
unnecessary.conditional.expression.display.name=Redundant conditional expression
thread.yield.display.name=Call to 'Thread.yield()'
confusing.floating.point.literal.display.name=Confusing floating-point literal
wait.not.in.loop.display.name='wait()' not in loop
string.concatenation.inside.string.buffer.append.display.name=String concatenation as argument to 'StringBuffer.append()' call
class.initializer.display.name=Non-'static' initializer
enumerated.class.naming.convention.display.name=Enumerated class naming convention
non.thread.safe.lazy.initialization.display.name=Unsafe lazy initialization of 'static' field
call.to.simple.setter.in.class.display.name=Call to simple setter from within class
comparison.to.nan.display.name=Comparison to Double.NaN or Float.NaN
instance.method.naming.convention.display.name=Instance method naming convention
unnecessary.semicolon.display.name=Unnecessary semicolon
fallthru.in.switch.statement.display.name=Fall-through in 'switch' statement
call.to.native.method.while.locked.display.name=Call to a native method while locked
switch.statement.display.name='switch' statement
custom.classloader.display.name=Custom ClassLoader
nested.conditional.expression.display.name=Nested conditional expression
duplicate.condition.display.name=Duplicate condition in 'if' statement
duplicate.boolean.branch.display.name=Duplicate condition on '\\&\\&' or '||'
method.with.multiple.loops.display.name=Method with multiple loops
non.comment.source.statements.display.name=Overly long method
local.variable.naming.convention.display.name=Local variable naming convention
negated.if.else.display.name='if' statement with negated condition
class.naming.convention.display.name=Class naming convention
abstract.class.naming.convention.display.name=Abstract class naming convention
serializable.inner.class.with.non.serializable.outer.class.display.name=Serializable non-'static' inner class with non-Serializable outer class
pointless.arithmetic.expression.display.name=Pointless arithmetic expression
method.name.same.as.class.name.display.name=Method name same as class name
unnecessary.temporary.on.conversion.to.string.display.name=Unnecessary temporary object in conversion to String
unnecessary.continue.display.name=Unnecessary 'continue' statement
inner.class.on.interface.display.name=Inner class of interface
unused.label.display.name=Unused label
multiple.typed.declaration.display.name=Variables of different types in one declaration
overly.complex.boolean.expression.display.name=Overly complex boolean expression
continue.statement.with.label.display.name='continue' statement with label
class.loader.instantiation.display.name=ClassLoader instantiation
return.from.finally.block.display.name='return' inside 'finally' block
unnecessary.boxing.display.name=Unnecessary boxing
annotation.naming.convention.display.name=Annotation naming convention
checked.exception.class.display.name=Checked exception class
switch.statement.with.confusing.declaration.display.name=Local variable used and declared in different 'switch' branches
cast.that.loses.precision.display.name=Numeric cast that loses precision
manual.array.copy.display.name=Manual array copy
manual.array.to.collection.copy.display.name=Manual array to collection copy
long.literals.ending.with.lowercase.l.display.name='long' literal ending with 'l' instead of 'L'
overly.complex.arithmetic.expression.display.name=Overly complex arithmetic expression
junit.abstract.test.class.naming.convention.display.name=JUnit abstract test class naming convention
unnecessary.parentheses.display.name=Unnecessary parentheses
test.case.in.product.code.display.name=JUnit TestCase in product source
test.method.in.product.code.display.name=JUnit test method in product source
serializable.class.in.secure.context.display.name=Serializable class in secure context
static.variable.naming.convention.display.name='static' field naming convention
nested.method.call.display.name=Nested method call
throw.from.finally.block.display.name='throw' inside 'finally' block
field.accessed.synchronized.and.unsynchronized.display.name=Field accessed in both synchronized and unsynchronized contexts
abstract.method.overrides.abstract.method.display.name=Abstract method overrides abstract method
static.non.final.field.display.name='static', non-'final' field
substring.zero.display.name=Redundant 'substring(0)' call
class.without.no.arg.constructor.display.name=Class without no-arg constructor
unnecessary.return.display.name=Unnecessary 'return' statement
final.static.method.display.name='static' method declared 'final'
constant.declared.in.abstract.class.display.name=Constant declared in abstract class
too.broad.catch.display.name=Overly broad 'catch' block
floating.point.equality.display.name=Floating point equality comparison
thrown.exceptions.per.method.display.name=Method with too many exceptions declared
public.static.array.field.display.name='public static' array field
await.not.in.loop.display.name='await()' not in loop
method.names.differ.only.by.case.display.name=Method names differing only by case
unsecure.random.number.generation.display.name=Insecure random number generation
parameters.per.method.display.name=Method with too many parameters
parameters.per.constructor.display.name=Constructor with too many parameters
unnecessary.unboxing.display.name=Unnecessary unboxing
extends.thread.display.name=Class explicitly extends 'java.lang.Thread'
misspelled.tear.down.display.name='teardown()' instead of 'tearDown()'
test.case.with.constructor.display.name=JUnit TestCase with non-trivial constructors
parameter.name.differs.from.overridden.parameter.display.name=Parameter name differs from parameter in overridden method
final.private.method.display.name='private' method declared 'final'
enum.switch.statement.which.misses.cases.display.name=Enum 'switch' statement that misses case
enum.switch.statement.which.misses.cases.option=Ignore switch statements with a default branch
setup.calls.super.setup.display.name='setUp()' does not call 'super.setUp()'
unconstructable.test.case.display.name=Unconstructable JUnit TestCase
volatile.long.or.double.field.display.name=Volatile long or double field
string.buffer.must.have.initial.capacity.display.name=StringBuffer or StringBuilder without initial capacity
method.may.be.static.display.name=Method may be 'static'
class.initializer.may.be.static.display.name=Class initializer may be 'static'
class.initializer.option=Only warn when the class has one or more constructors
class.initializer.move.code.to.constructor.quickfix=Move initializer code to constructor
nested.switch.statement.display.name=Nested 'switch' statement
c.style.array.declaration.display.name=C-style array declaration
final.method.in.final.class.display.name='final' method in 'final' class
extends.annotation.display.name=Class extends annotation interface
naked.notify.display.name='notify()' or 'notifyAll()' without corresponding state change
constant.if.statement.display.name=Constant 'if' statement
switch.statement.density.display.name='switch' statement with too low of a branch density
switch.statement.with.too.few.branches.display.name='switch' statement with too few branches
upper.case.field.name.not.constant.display.name=Non-constant field with upper-case name
unnecessary.label.on.continue.statement.display.name=Unnecessary label on 'continue' statement
jdbc.prepare.statement.with.non.constant.string.display.name='Connection.prepare*()' call with non-constant string
synchronize.on.non.final.field.display.name=Synchronization on a non-final field
noop.method.in.abstract.class.display.name=No-op method in abstract class
non.final.field.of.exception.display.name=Non-final field of exception class
nested.try.statement.display.name=Nested 'try' statement
condition.signal.display.name=Call to 'signal()' instead of 'signalAll()'
jdbc.execute.with.non.constant.string.display.name='Statement.execute()' call with non-constant string
system.set.security.manager.display.name=Call to 'System.setSecurityManager()'
system.set.security.manager.problem.descriptor=Call to <code>System.#ref()</code> may pose security concerns #loc
control.flow.statement.without.braces.display.name=Control flow statement without braces
trivial.if.display.name=Redundant 'if' statement
thread.with.default.run.method.display.name=Instantiating a Thread with default 'run()' method
while.loop.spins.on.field.display.name='while' loop spins on field
object.equals.null.display.name=Object.equals(null)
test.method.is.public.void.no.arg.display.name=Test method with incorrect signature
if.statement.with.identical.branches.display.name='if' statement with identical branches
multiple.return.points.per.method.display.name=Method with multiple return points
break.statement.with.label.display.name='break' statement with label
public.constructor.in.non.public.class.display.name='public' constructor in non-public class
questionable.name.display.name=Questionable name
empty.finally.block.display.name=Empty 'finally' block
abstract.method.overrides.concrete.method.display.name=Abstract method overrides concrete method
thread.stop.suspend.resume.display.name=Call to 'Thread.stop()', 'suspend()' or 'resume()'
constant.math.call.display.name=Constant call to 'java.lang.Math'
volatile.array.field.display.name=Volatile array field
literal.as.arg.to.string.equals.display.name='expression.equals("literal")' rather than '"literal".equals(expression)'
inner.class.may.be.static.display.name=Inner class may be 'static'
static.suite.display.name='suite()' method not declared 'static'
redundant.field.initialization.display.name=Redundant field initialization
string.buffer.to.string.in.concatenation.display.name='StringBuffer.toString()' in concatenation
utility.class.with.public.constructor.display.name=Utility class with 'public' constructor
for.loop.replaceable.by.while.display.name='for' loop may be replaced with 'while' loop
missing.deprecated.annotation.display.name=Missing @Deprecated annotation
cloneable.class.in.secure.context.display.name=Cloneable class in secure context
static.inheritance.display.name=Static inheritance
class.name.prefixed.with.package.name.display.name=Class name prefixed with package name
call.to.simple.getter.in.class.display.name=Call to simple getter from within class
class.name.differs.from.file.name.display.name=Class name differs from file name
protected.member.in.final.class.display.name='protected' member in 'final' class
load.library.with.non.constant.string.display.name=Call to 'System.loadLibrary()' with non-constant string
instanceof.catch.parameter.display.name='instanceof' on 'catch' parameter
implicit.numeric.conversion.display.name=Implicit numeric conversion
unnecessary.interface.modifier.display.name=Unnecessary interface modifier
confusing.main.method.display.name=Confusing 'main()' method
octal.literal.display.name=Octal integer
misordered.assert.equals.arguments.display.name=Misordered 'assertEquals()' arguments
unnecessary.constructor.display.name=Redundant no-arg constructor
method.name.same.as.parent.name.display.name=Method name same as parent class name
java.lang.reflect.display.name=Use of 'java.lang.reflect'
while.can.be.foreach.display.name='while' loop replaceable with 'foreach'
big.decimal.equals.display.name='equals()' called on java.math.BigDecimal
wait.not.in.synchronized.context.display.name='wait()' while not synchronized
implicit.call.to.super.display.name=Implicit call to 'super()'
empty.catch.block.display.name=Empty 'catch' block
unqualified.static.usage.display.name=Unqualified static access
simplifiable.junit.assertion.display.name=Simplifiable JUnit assertion
object.notify.display.name=Call to 'notify()' instead of 'notifyAll()'
thread.start.in.construction.display.name=Call to 'Thread.start()' during object construction
non.final.clone.display.name=Non-final 'clone()' in secure context
unnecessary.temporary.on.conversion.from.string.display.name=Unnecessary temporary object in conversion from String
unnecessary.this.display.name=Unnecessary 'this' qualifier
unnecessary.this.ignore.assignments.option=Ignore field assignments
runtime.exec.with.non.constant.string.display.name=Call to 'Runtime.exec()' with non-constant string
system.properties.display.name=Access of system properties
chained.method.call.display.name=Chained method calls
notify.not.in.synchronized.context.display.name='notify()' or 'notifyAll()' while not synchronized
safe.lock.display.name=Lock acquired but not safely unlocked
system.run.finalizers.on.exit.display.name=Call to 'System.runFinalizersOnExit()'
for.can.be.foreach.display.name='for' loop replaceable with 'foreach'
type.parameter.extends.object.display.name=Type parameter explicitly extends 'java.lang.Object'
marker.interface.display.name=Marker interface
limited.scope.inner.class.display.name=Limited-scope inner class
switch.statements.without.default.display.name='switch' statement without 'default' branch
unchecked.exception.class.display.name=Unchecked exception class
for.loop.with.missing.component.display.name='for' loop with missing components
for.loop.with.missing.component.collection.loop.option=Ignore collection iterations
double.checked.locking.display.name=Double-checked locking
double.checked.locking.problem.descriptor=Double-checked locking #loc
double.checked.locking.ignore.on.volatiles.option=Ignore double-checked locking on volatile fields
string.buffer.replaceable.by.string.display.name='StringBuffer' can be replaced with 'String'
boolean.method.name.must.start.with.question.display.name=Boolean method name must start with question word
class.name.same.as.ancestor.name.display.name=Class name same as ancestor name
error.rethrown.display.name='java.lang.Error' not rethrown
serializable.has.serialization.methods.display.name=Serializable class without 'readObject()' and 'writeObject()'
misspelled.set.up.display.name='setup()' instead of 'setUp()'
setup.is.public.void.no.arg.display.name='setUp()' with incorrect signature
missing.override.annotation.display.name=Missing @Override annotation
wait.while.holding.two.locks.display.name='wait()' while holding two locks
empty.class.display.name=Empty class
trivial.string.concatenation.display.name=Concatenation with empty string
empty.synchronized.statement.display.name=Empty 'synchronized' statement
unnecessary.default.display.name=Unnecessary 'default' for enum 'switch' statement
simplifiable.conditional.expression.display.name=Conditional that can be simplified to \\&\\& or ||
simplifiable.if.statement.display.name='if' statement may be replaced with \\&\\& or || expression
unnecessary.super.constructor.display.name=Unnecessary call to 'super()'
unnecessarily.qualified.static.usage.display.name=Unnecessarily qualified static access
bad.exception.caught.display.name=Prohibited exception caught
custom.security.manager.display.name=Custom SecurityManager
teardown.is.public.void.no.arg.display.name='tearDown()' with incorrect signature
string.concatenation.in.loops.display.name=String concatenation in loop
boolean.constructor.display.name=Boolean constructor call
continue.statement.display.name='continue' statement
extends.object.display.name=Class explicitly extends 'java.lang.Object'
serializable.inner.class.has.serial.version.uid.field.display.name=Serializable non-'static' inner class without 'serialVersionUID'
static.method.naming.convention.display.name='static' method naming convention
empty.try.block.display.name=Empty 'try' block
field.has.setter.but.no.getter.display.name=Field has setter but no getter
three.negations.per.method.display.name=Method with more than three negations
conditional.expression.display.name=Conditional expression (?:)
unnecessary.enum.modifier.display.name=Unnecessary enum modifier
string.equals.empty.string.display.name='String.equals("")'
teardown.calls.super.teardown.display.name='tearDown()' does not call 'super.tearDown()'
synchronize.on.lock.display.name=Synchronization on a Lock object
synchronized.on.literal.object.name=Synchronization on an object initialized with a literal
field.may.be.static.display.name=Field may be 'static'
class.may.be.interface.display.name=Class may be interface
abstract.class.without.abstract.methods.display.name=Abstract class without abstract methods
divide.by.zero.display.name=Divide by zero
default.not.last.case.in.switch.display.name='default' not last case in 'switch' statement
nested.synchronized.statement.display.name=Nested 'synchronized' statement
constant.conditional.expression.display.name=Constant conditional expression
unused.catch.parameter.display.name=Unused 'catch' parameter
class.in.top.level.package.display.name=Class without package statement
confusing.else.display.name=Confusing 'else' branch
public.field.accessed.in.synchronized.context.display.name=Non-private field accessed in synchronized context
string.replaceable.by.string.buffer.display.name=Non-constant String should be StringBuilder
junit.test.class.naming.convention.display.name=JUnit test class naming convention
method.coupling.display.name=Overly coupled method
collections.must.have.initial.capacity.display.name=Collection without initial capacity
anonymous.inner.class.display.name=Anonymous inner class
negated.conditional.display.name=Conditional expression with negated condition
non.reproducible.math.call.display.name=Non-reproducible call to 'java.lang.Math'
multiple.top.level.classes.in.file.display.name=Multiple top level classes in single file
set.replaceable.by.enum.set.display.name=Set replaceable with EnumSet
non.static.inner.class.in.secure.context.display.name=Non-'static' inner class in secure context
tail.recursion.display.name=Tail recursion
finally.block.cannot.complete.normally.display.name='finally' block which can not complete normally
non.atomic.operation.on.volatile.field.display.name=Non-atomic operation on volatile field
public.static.collection.field.display.name='public static' collection field
non.exception.name.ends.with.exception.display.name=Non-exception class name ends with 'Exception'
synchronized.method.display.name='synchronized' method
enumerated.constant.naming.convention.display.name=Enumerated constant naming convention
final.method.display.name='final' method
transient.field.in.non.serializable.class.display.name=Transient field in non-serializable class
bad.exception.thrown.display.name=Prohibited exception thrown
conditional.expression.with.identical.branches.display.name=Conditional expression with identical branches
raw.use.of.parameterized.type.display.name=Raw use of parameterized class
standard.variable.names.display.name=Standard variable names
instance.variable.naming.convention.display.name=Instance field naming convention
dollar.sign.in.name.display.name=Use of '$' in identifier
map.replaceable.by.enum.map.display.name=Map replaceable with EnumMap
extends.concrete.collection.display.name=Class explicitly extends a Collection class
continue.or.break.from.finally.block.display.name='continue' or 'break' inside 'finally' block
abstract.method.with.missing.implementations.display.name=Abstract method with missing implementations
object.allocation.in.loop.display.name=Object allocation in loop
wait.called.on.condition.display.name='wait()' called on java.util.concurrent.locks.Condition object
test.case.with.no.test.methods.display.name=JUnit test case with no tests
abstract.class.never.implemented.display.name=Abstract class which has no concrete subclass
interface.never.implemented.display.name=Interface which has no concrete subclass
constant.declared.in.interface.display.name=Constant declared in interface


#problem descriptors
exception.name.doesnt.end.with.exception.problem.descriptor=Exception class name <code>#ref</code> does not end with 'Exception' #loc
non.exception.name.ends.with.exception.problem.descriptor=Non-exception class name <code>#ref</code> ends with 'Exception' #loc
class.name.prefixed.with.package.name.problem.descriptor=Class name <code>#ref</code> begins with its package name #loc
class.name.same.as.ancestor.name.problem.descriptor=Class name <code>#ref</code> is the same as one of its superclass' names #loc
method.name.same.as.class.name.problem.descriptor=Method name <code>#ref</code> is the same as its class name #loc
method.name.same.as.parent.name.problem.descriptor=Method name <code>#ref</code> is the same as its parent class name #loc
boolean.method.name.must.start.with.question.problem.descriptor=Boolean method name <code>#ref</code> does not start with question word #loc
questionable.name.problem.descriptor=Questionable name <code>#ref</code> #loc
confusing.main.method.problem.descriptor=Method named <code>#ref</code> without signature 'public static void main(String[])' #loc
upper.case.field.name.not.constant.problem.descriptor=Non-constant field <code>#ref</code> with constant-style name #loc
dollar.sign.in.name.problem.descriptor=Identifier <code>#ref</code> contains '$' #loc
integer.division.in.floating.point.context.problem.descriptor=<code>#ref</code>: integer division in floating-point context #loc
comparison.of.short.and.char.problem.descriptor=Equality comparison <code>#ref</code> of short and char values #loc
big.decimal.equals.problem.descriptor=<code>#ref()</code> between BigDecimal values should probably be 'compareTo()' #loc
divide.by.zero.problem.descriptor=Division by zero #loc
non.reproducible.math.call.problem.descriptor=<code>Math.#ref()</code> may produce non-reproducible results #loc
constant.math.call.problem.descriptor=Constant call to <code>#ref()</code> can be simplified #loc
floating.point.equality.problem.descriptor=<code>#ref</code>: floating point values compared for exact equality #loc
fallthru.in.switch.statement.problem.descriptor=<code>#ref</code> fall-through in 'switch' statement #loc
switch.statements.without.default.problem.descriptor=<code>#ref</code> statement without 'default' branch #loc
default.not.last.case.in.switch.problem.descriptor=<code>#ref</code> branch not last case in 'switch' statement #loc
loop.statements.that.dont.loop.problem.descriptor=<code>#ref</code> statement does not loop #loc
conditional.expression.with.identical.branches.problem.descriptor=Conditional expression <code>#ref</code> with identical branches #loc
if.statement.with.identical.branches.problem.descriptor=<code>#ref</code> statement with identical branches #loc
duplicate.condition.problem.descriptor=Duplicate condition <code>#ref</code> #loc
duplicate.condition.ignore.method.calls.option=Ignore method calls in condition
duplicate.boolean.branch.problem.descriptor=Duplicate branch <code>#ref</code> #loc
iterator.next.does.not.throw.nosuchelementexception.problem.descriptor=<code>Iterator.#ref()</code> which can't throw 'NoSuchElementException' #loc
infinite.loop.statement.problem.descriptor=<code>#ref</code> statement cannot complete without throwing an exception #loc
confusing.floating.point.literal.problem.descriptor=Confusing floating point literal <code>#ref</code> #loc
overly.complex.arithmetic.expression.problem.descriptor=Overly complex arithmetic expression #loc
overly.complex.boolean.expression.problem.descriptor=Overly complex boolean expression ({0} terms) #loc
labeled.statement.problem.descriptor=Labeled statement <code>#ref:</code> #loc
break.statement.with.label.problem.descriptor=<code>#ref</code> statement with label #loc
continue.statement.with.label.problem.descriptor=<code>#ref</code> statement with label #loc
conditional.expression.problem.descriptor=Conditional expression <code>#ref</code> #loc
conditional.expression.option=Ignore for simple assignments and returns
nested.conditional.expression.problem.descriptor=Nested conditional expression <code>#ref</code> #loc
long.literals.ending.with.lowercase.l.problem.descriptor='long' literal <code>#ref</code> ends with lowercase 'l' #loc
nested.switch.statement.problem.descriptor=Nested <code>#ref</code> statement #loc
chained.method.call.problem.descriptor=Chained method call <code>#ref()</code> #loc
nested.method.call.problem.descriptor=Nested method call <code>#ref()</code> #loc
octal.literal.problem.descriptor=Octal integer <code>#ref</code> #loc
implicit.call.to.super.problem.descriptor=Implicit call to 'super()' #loc
negated.if.else.problem.descriptor=<code>#ref</code> statement with negated condition #loc
negated.conditional.problem.descriptor=Conditional expression with negated condition #loc
confusing.else.problem.descriptor=<code>#ref</code> branch may be unwrapped, as the 'if' branch never completes #loc
switch.statement.with.confusing.declaration.problem.descriptor=Local variable <code>#ref</code> declared in one 'switch' branch and used in another #loc
raw.use.of.parameterized.type.problem.descriptor=Raw use of parameterized class <code>#ref</code> #loc
final.class.problem.descriptor=Class declared <code>#ref</code> #loc
empty.class.problem.descriptor=Class <code>#ref</code> is empty #loc
empty.class.file.without.class.problem.descriptor=Java file does not declare any class #loc
empty.anonymous.class.problem.descriptor=Anonymous class is empty #loc
anonymous.inner.class.problem.descriptor=Anonymous inner class <code>#ref</code> #loc
limited.scope.inner.class.problem.descriptor=Limited-scope inner class <code>#ref</code> #loc
final.method.problem.descriptor=Method declared <code>#ref</code> #loc
class.initializer.problem.descriptor=Non-'static' initializer #loc
class.may.be.interface.problem.descriptor=<code>#ref</code> may be interface #loc
non.protected.constructor.in.abstract.class.problem.descriptor=Constructor <code>#ref()</code> is not declared 'protected' in 'abstract' class #loc
class.without.constructor.problem.descriptor=Class <code>#ref</code> has no constructor #loc
abstract.class.without.abstract.methods.problem.descriptor=Class <code>#ref</code> is declared 'abstract', and has no 'abstract' methods #loc
final.method.in.final.class.problem.descriptor=Method declared <code>#ref</code> in 'final' class #loc
protected.member.in.final.class.problem.descriptor=Class member declared <code>#ref</code> in 'final' class #loc
utility.class.with.public.constructor.problem.descriptor=Class <code>#ref</code> has only 'static' members, and a 'public' constructor #loc
utility.class.without.private.constructor.problem.descriptor=Class <code>#ref</code> has only 'static' members, and lacks a 'private' constructor #loc
abstract.method.overrides.concrete.method.problem.descriptor=Abstract method <code>#ref()</code> overrides concrete method #loc
abstract.method.with.missing.implementations.problem.descriptor=Abstract method <code>#ref()</code> is not implemented in every subclass #loc
abstract.method.overrides.abstract.method.problem.descriptor=Abstract method <code>#ref()</code> overrides abstract method #loc
abstract.method.overrides.abstract.method.ignore.different.javadoc.option=Ignore methods with different JavaDoc than their super methods
abstract.method.overrides.abstract.method.ignore.different.annotations.option=Ignore methods with different annotations than their super methods
abstract.class.extends.concrete.class.problem.descriptor=Class <code>#ref</code> is declared 'abstract', and extends a concrete class #loc
static.non.final.field.problem.descriptor='static' non-'final' field <code>#ref</code> #loc
constant.declared.in.abstract.class.problem.descriptor=Constant <code>#ref</code> declared in abstract class #loc
constant.declared.in.interface.problem.descriptor=Constant <code>#ref</code> declared in interface #loc
static.inheritance.problem.descriptor=Interface <code>#ref</code> is implemented only for its 'static' constants #loc
class.in.top.level.package.problem.descriptor=Class <code>#ref</code> lacks a package statement #loc
utility.class.problem.descriptor=Class <code>#ref</code> has only 'static' members, indicating procedural construction #loc
singleton.problem.descriptor=Class <code>#ref</code> is a singleton #loc
final.private.method.problem.descriptor='private' method declared <code>#ref</code> #loc
noop.method.in.abstract.class.problem.descriptor=No-op Method <code>#ref()</code> should be made abstract #loc
final.static.method.problem.descriptor='static' method declared <code>#ref</code> #loc
class.without.no.arg.constructor.problem.descriptor=<code>#ref</code> has no no-arg constructor #loc
multiple.top.level.classes.in.file.problem.descriptor=Multiple top level classes in file
class.name.differs.from.file.name.problem.descriptor=Class name <code>#ref</code> differs from file name #loc
marker.interface.problem.descriptor=Marker interface <code>#ref</code> #loc
field.has.setter.but.no.getter.problem.descriptor=Field <code>#ref</code> has setter but no getter #loc
abstract.class.never.implemented.problem.descriptor=Abstract class <code>#ref</code> has no concrete subclass #loc
interface.never.implemented.problem.descriptor=Interface <code>#ref</code> has no concrete subclass #loc
missing.deprecated.annotation.problem.descriptor=Missing '@Deprecated' annotation on <code>#ref()</code> #loc
missing.override.annotation.problem.descriptor=Missing '@Override' annotation on <code>#ref()</code> #loc
non.thread.safe.lazy.initialization.problem.descriptor=Lazy initialization of 'static' field <code>#ref</code> is not thread-safe #loc
empty.catch.block.problem.descriptor=Empty <code>#ref</code> block #loc
unused.catch.parameter.problem.descriptor=Unused 'catch' parameter <code>#ref</code> #loc
used.catch.parameter.named.ignore.problem.descriptor='catch' parameter named <code>#ref</code> is used #loc
empty.finally.block.problem.descriptor=Empty <code>#ref</code> block #loc
finally.block.cannot.complete.normally.problem.descriptor=<code>#ref</code> block can not complete normally #loc
empty.try.block.problem.descriptor=Empty <code>#ref</code> block #loc
throw.from.finally.block.problem.descriptor=<code>#ref</code> inside 'finally' block #loc
throw.caught.locally.problem.descriptor=<code>#ref</code> caught by containing 'try' statement #loc
throw.caught.locally.ignore.option=Ignore rethrown exceptions
return.from.finally.block.problem.descriptor=<code>#ref</code> inside 'finally' block #loc
continue.or.break.from.finally.block.problem.descriptor=<code>#ref</code> inside 'finally' block #loc
bad.exception.declared.problem.descriptor=Prohibited exception <code>#ref</code> declared #loc
bad.exception.caught.problem.descriptor=Prohibited exception <code>#ref</code> caught #loc
checked.exception.class.problem.descriptor=Checked exception class <code>#ref</code> #loc
unchecked.exception.class.problem.descriptor=Unchecked exception class <code>#ref</code> #loc
thread.death.rethrown.problem.descriptor=ThreadDeath <code>#ref</code> not rethrown #loc
error.rethrown.problem.descriptor=Error <code>#ref</code> not rethrown #loc
nested.try.statement.problem.descriptor=Nested <code>#ref</code> statement #loc
exception.from.catch.which.doesnt.wrap.problem.descriptor=<code>#ref</code> inside 'catch' block ignores the caught exception #loc
instanceof.catch.parameter.problem.descriptor='instanceof' on 'catch' parameter <code>#ref</code> #loc
non.final.field.of.exception.problem.descriptor=Non-final field <code>#ref</code> of exception class #loc
unnecessary.label.on.break.statement.problem.descriptor=Unnecessary label on <code>#ref</code> statement #loc
unnecessary.label.on.continue.statement.problem.descriptor=Unnecessary label on <code>#ref</code> statement #loc
trivial.if.problem.descriptor=<code>#ref</code> statement can be simplified #loc
constant.if.statement.problem.descriptor=<code>#ref</code> statement can be simplified #loc
unnecessary.parentheses.problem.descriptor=Parentheses around <code>#ref</code> are unnecessary #loc
unnecessary.local.variable.problem.descriptor=Local variable <code>#ref</code> is redundant #loc
unnecessary.this.problem.descriptor=<code>#ref</code> is unnecessary in this context #loc
unnecessary.block.statement.problem.descriptor=Braces around this statement are unnecessary #loc
unnecessary.continue.problem.descriptor=<code>#ref</code> is unnecessary as the last statement in a loop #loc
unnecessary.semicolon.problem.descriptor=Unnecessary semicolon <code>#ref</code> #loc
unnecessary.fully.qualified.name.problem.descriptor1=Fully qualified name <code>#ref</code> is unnecessary, and can be replaced with an import #loc
unnecessary.fully.qualified.name.problem.descriptor2=Fully qualified name <code>#ref</code> is unnecessary, and the qualification can be removed #loc
unnecessary.qualifier.for.this.problem.descriptor=Qualifier <code>#ref</code> on 'this' is unnecessary in this context #loc
unused.label.problem.descriptor=Unused label <code>#ref</code> #loc
redundant.field.initialization.problem.descriptor=Field initialization to <code>#ref</code> is redundant #loc
redundant.implements.problem.descriptor=Redundant interface declaration <code>#ref</code> #loc
extends.object.problem.descriptor=Class <code>#ref</code> explicitly extends 'java.lang.Object' #loc
type.parameter.extends.object.problem.descriptor1=Type parameter <code>#ref</code> explicitly extends 'java.lang.Object' #loc
type.parameter.extends.object.problem.descriptor2=Wildcard type argument <code>#ref</code> explicitly extends 'java.lang.Object' #loc
unnecessary.super.constructor.problem.descriptor=<code>#ref</code> is unnecessary #loc
unnecessary.constructor.problem.descriptor=No-arg constructor <code>#ref()</code> is redundant #loc
unnecessary.constructor.annotation.option=Ignore constructors with an annotation
for.loop.replaceable.by.while.problem.descriptor=<code>#ref</code> loop statement may be replace by 'while' loop #loc
unnecessary.default.problem.descriptor=<code>#ref</code> branch is unnecessary #loc
unnecessary.boxing.problem.descriptor=Unnecessary boxing <code>#ref</code> #loc
unnecessary.unboxing.problem.descriptor=Unnecessary unboxing <code>#ref</code> #loc
unnecessary.boxing.superfluous.option=Only report truly superfluously boxed expressions
unnecessary.unboxing.superfluous.option=Only report truly superfluously unboxed expressions
for.can.be.foreach.problem.descriptor=<code>#ref</code> loop replaceable with 'foreach' #loc
while.can.be.foreach.problem.descriptor=<code>#ref</code> loop replaceable with 'foreach' #loc
too.broad.scope.problem.descriptor=Scope of variable <code>#ref</code> is too broad #loc
return.this.problem.descriptor=Return of <code>#ref</code> #loc
constant.on.lhs.of.comparison.problem.descriptor=<code>#ref</code>: constant on left side of comparison #loc
constant.on.rhs.of.comparison.problem.descriptor=<code>#ref</code>: constant on right side of comparison #loc
control.flow.statement.without.braces.problem.descriptor=<code>#ref</code> without braces #loc
missorted.modifiers.problem.descriptor=Missorted modifiers <code>#ref</code> #loc
c.style.array.declaration.problem.descriptor=C-style array declaration <code>#ref</code> #loc
multiple.declaration.problem.descriptor=Multiple variables in one declaration #loc
multiple.typed.declaration.problem.descriptor=Variables of different types in one declaration #loc
serializable.inner.class.has.serial.version.uid.field.problem.descriptor=Inner class <code>#ref</code> does not define a 'serialVersionUID' field #loc
serializable.inner.class.with.non.serializable.outer.class.problem.descriptor=Inner class <code>#ref</code> is serializable while its outer class is not #loc
busy.wait.problem.descriptor=Call to <code>Thread.#ref()</code> in a loop, probably busy-waiting #loc
sleep.while.holding.lock.problem.descriptor=Call to <code>Thread.#ref()</code> while synchronized #loc
non.atomic.operation.on.volatile.field.problem.descriptor=Non-atomic operation on volatile field <code>#ref</code> #loc
call.to.native.method.while.locked.problem.descriptor=Call to native method <code>#ref()</code> in a synchronized context #loc
object.notify.problem.descriptor=<code>#ref</code> should probably be replaced with 'notifyAll()' #loc
condition.signal.problem.descriptor=<code>#ref</code> should probably be replaced with 'signalAll()' #loc
thread.with.default.run.method.problem.descriptor=Instantiating a <code>#ref</code> with default 'run()' method #loc
extends.thread.problem.descriptor=Class <code>#ref</code> explicitly extends 'java.lang.Thread' #loc
anonymous.extends.thread.problem.descriptor=Anonymous class explicitly extends 'java.lang.Thread' #loc
naked.notify.problem.descriptor=Call to <code>#ref()</code> without corresponding state change #loc
unconditional.wait.problem.descriptor=Unconditional call to <code>#ref()</code> #loc
system.run.finalizers.on.exit.problem.descriptor=Call to <code>System.#ref()</code> #loc
thread.priority.problem.descriptor=Call to <code>Thread.#ref()</code> #loc
thread.yield.problem.descriptor=Call to <code>Thread.#ref()</code> #loc
thread.stop.suspend.resume.problem.descriptor=Call to <code>Thread.#ref()</code> #loc
while.loop.spins.on.field.problem.descriptor=<code>#ref</code> loop spins on field #loc
wait.not.in.loop.problem.descriptor=Call to <code>#ref()</code> is not made in a loop #loc
await.not.in.loop.problem.descriptor=Call to <code>#ref()</code> is not made in a loop #loc
wait.called.on.condition.problem.descriptor=Call to <code>#ref()</code> on Condition object #loc
notify.called.on.condition.problem.descriptor=Call to <code>#ref()</code> on Condition object #loc
wait.not.in.synchronized.context.problem.descriptor=Call to <code>#ref</code> while not synchronized on ''{0}'' #loc
wait.while.holding.two.locks.problem.descriptor=Call to <code>#ref()</code> is made while holding two locks #loc
notify.not.in.synchronized.context.problem.descriptor=Call to <code>#ref()</code> is made outside of a synchronized context #loc
thread.run.problem.descriptor=Calls to <code>#ref()</code> should probably be replaced with 'start()' #loc
thread.start.in.construction.problem.descriptor=Call to <code>#ref</code> during object construction #loc
synchronize.on.lock.problem.descriptor=Synchronization on a ''{0}'' object is unlikely to be intentional #loc
synchronized.on.literal.object.problem.descriptor=Synchronization on {0} <code>#ref</code> which is initialized by a literal #loc
synchronized.on.direct.literal.object.problem.descriptor=Synchronization on {0} literal <code>#ref</code> #loc
synchronized.on.possibly.literal.object.problem.descriptor=Synchronization on {0} <code>#ref</code> #loc
synchronize.on.non.final.field.problem.descriptor=Synchronization on a non-final field <code>#ref</code> #loc
synchronized.on.literal.object.warn.on.all.option=Warn on all possible literals
synchronize.on.this.problem.descriptor=Lock operations on 'this' may have unforeseen side-effects #loc
nested.synchronized.statement.problem.descriptor=Nested <code>#ref</code> statement #loc
empty.synchronized.statement.problem.descriptor=Empty <code>#ref</code> statement #loc
non.synchronized.method.overrides.synchronized.method.problem.descriptor=Unsynchronized method <code>#ref()</code> overrides synchronized method #loc
public.field.accessed.in.synchronized.context.problem.descriptor=Non-private field <code>#ref</code> accessed in synchronized context  #loc
field.accessed.synchronized.and.unsynchronized.problem.descriptor=Field <code>#ref</code> is accessed in both synchronized and unsynchronized contexts #loc
extended.for.statement.problem.descriptor=Extended <code>#ref</code> statement #loc
object.allocation.in.loop.problem.descriptor=Object allocation <code>new #ref()</code> in loop #loc
instantiating.object.to.get.class.object.problem.descriptor=Instantiating object to get Class object #loc
field.may.be.static.problem.descriptor=Field <code>#ref</code> may be 'static' #loc
method.may.be.static.problem.descriptor=Method <code>#ref()</code> may be 'static' #loc
class.initializer.may.be.static.problem.descriptor=Class initializer may be 'static' #loc
map.replaceable.by.enum.map.problem.descriptor=<code>#ref</code> replaceable with 'EnumMap' #loc
set.replaceable.by.enum.set.problem.descriptor=<code>#ref</code> replaceable with 'EnumSet' #loc
inner.class.may.be.static.problem.descriptor=Inner class <code>#ref</code> may be 'static' #loc
string.buffer.must.have.initial.capacity.problem.descriptor=<code>new #ref()</code> without initial capacity #loc
string.buffer.replaceable.by.string.builder.problem.descriptor=<code>StringBuffer #ref</code> may be declared as 'StringBuilder' #loc
string.buffer.replaceable.by.string.problem.descriptor=<code>{0} #ref</code> can be replaced with ''String'' #loc
new.string.buffer.replaceable.by.string.problem.descriptor=<code>#ref</code> can be replaced with 'String' #loc
string.replaceable.by.string.buffer.problem.descriptor=Non-constant <code>String #ref</code> should probably be declared as ''StringBuilder'' #loc
collections.must.have.initial.capacity.problem.descriptor=<code>new #ref()</code> without initial capacity #loc
string.concatenation.in.loops.problem.descriptor=String concatenation <code>#ref</code> in loop #loc
string.concatenation.inside.string.buffer.append.problem.descriptor=String concatenation as argument to <code>{0}.#ref()</code> call #loc
boolean.constructor.problem.descriptor=Boolean constructor call #loc
string.to.string.problem.descriptor=<code>#ref</code> is redundant #loc
substring.zero.problem.descriptor=<code>#ref</code> is redundant #loc
string.buffer.to.string.in.concatenation.problem.descriptor=Calls to <code>StringBuffer.#ref()</code> in concatenation #loc
tail.recursion.problem.descriptor=Tail recursive call <code>#ref()</code> #loc
string.equals.empty.string.problem.descriptor=<code>#ref("")</code> can be replaced with 'length()==0' #loc
string.equals.empty.string.is.empty.problem.descriptor=<code>#ref("")</code> can be replaced with 'isEmpty()' #loc
random.double.for.random.integer.problem.descriptor=Using <code>Random.#ref</code> to create random integer #loc
manual.array.copy.problem.descriptor=Manual array copy #loc
manual.array.to.collection.copy.problem.descriptor=Manual array to collection copy #loc
java.lang.reflect.problem.descriptor=Use of type <code>#ref</code> from 'java.lang.reflect' #loc
call.to.simple.getter.in.class.problem.descriptor=Call to simple getter <code>#ref()</code> from within class #loc
call.to.simple.setter.in.class.problem.descriptor=Call to simple setter <code>#ref()</code> from within class #loc
asserts.without.messages.problem.descriptor=JUnit <code>#ref()</code> without message #loc
test.case.with.constructor.problem.descriptor=Initialization logic in constructor <code>#ref()</code> instead of 'setUp()' #loc
test.case.with.constructor.problem.descriptor.initializer=Initialization logic in initializer instead of 'setUp()'
misspelled.set.up.problem.descriptor=<code>#ref()</code> probably be 'setUp()' #loc
misordered.assert.equals.arguments.problem.descriptor=Arguments to <code>#ref()</code> in wrong order #loc
misspelled.tear.down.problem.descriptor=<code>#ref()</code> method should probably be 'tearDown()' #loc
static.suite.problem.descriptor=JUnit <code>#ref()</code> methods not declared 'static' #loc
setup.calls.super.setup.problem.descriptor=<code>#ref()</code> does not call 'super.setUp()' #loc
teardown.calls.super.teardown.problem.descriptor=<code>#ref()</code> does not call 'super.tearDown()' #loc
setup.is.public.void.no.arg.problem.descriptor=<code>#ref()</code> has incorrect signature
simplifiable.junit.assertion.problem.descriptor=<code>#ref()</code> can be simplified to ''{0}'' #loc
teardown.is.public.void.no.arg.problem.descriptor=<code>#ref()</code> has incorrect signature #loc
test.method.without.assertion.problem.descriptor=JUnit test method <code>#ref()</code> contains no assertions #loc
test.case.with.no.test.methods.problem.descriptor=JUnit test case <code>#ref</code> has no tests #loc
test.case.in.product.code.problem.descriptor=Test case <code>#ref</code> should probably be placed in a test source tree #loc
test.method.in.product.code.problem.descriptor=Test method <code>.#ref()</code> should probably be placed in a test source tree #loc
unconstructable.test.case.problem.descriptor=Test case <code>#ref</code> is unusable by most test runners #loc
deserializable.class.in.secure.context.problem.descriptor=Class <code>#ref</code> may be deserialized, compromising security #loc
serializable.class.in.secure.context.problem.descriptor=Class <code>#ref</code> may be serialized, compromising security #loc
cloneable.class.in.secure.context.problem.descriptor=Class <code>#ref</code> may be cloned, compromising security #loc
non.final.clone.problem.descriptor=Non-final <code>#ref()</code> method, compromising security #loc
non.static.inner.class.in.secure.context.problem.descriptor=Non-'static' inner class <code>#ref</code>, compromising security #loc
runtime.exec.with.non.constant.string.problem.descriptor=Call to <code>Runtime.#ref()</code> with non-constant argument #loc
load.library.with.non.constant.string.problem.descriptor=Call to <code>System.#ref()</code> with non-constant argument #loc
jdbc.execute.with.non.constant.string.problem.descriptor=Call to <code>Statement.#ref()</code> with non-constant argument #loc
jdbc.prepare.statement.with.non.constant.string.problem.descriptor=Call to <code>Connection.#ref()</code> with non-constant argument #loc
custom.classloader.problem.descriptor=Custom ClassLoader class <code>#ref</code> #loc
custom.security.manager.problem.descriptor=Custom SecurityManager class <code>#ref</code> #loc
system.set.problem.descriptor=Call to <code>System.#ref()</code> may pose security concerns #loc
class.loader.instantiation.problem.descriptor=Instantiation of <code>#ref</code> may pose security concerns #loc
public.static.array.field.problem.descriptor='public static' array field <code>#ref</code>, compromising security #loc
public.static.collection.field.problem.descriptor='public static' collection field <code>#ref</code>, compromising security #loc
abstract.class.with.only.one.direct.inheritor.problem.descriptor=Abstract class <code>#ref</code> has only one direct inheritor #loc

#other
abstract.method.overrides.abstract.method.remove.quickfix=Remove redundant abstract method declaration
class.may.be.interface.convert.quickfix=Convert class to interface
class.without.constructor.create.quickfix=Generate empty constructor
class.without.no.arg.constructor.ignore.option=Ignore if class has default constructor
extends.annotation.problem.descriptor=Class ''{0}'' explicitly extends annotation interface <code>#ref</code> #loc
extends.concrete.collection.problem.descriptor=Class <code>#ref</code> explicitly extends ''{0}'' #loc
anonymous.extends.concrete.collection.problem.descriptor=Anonymous class explicitly extends ''{0}'' #loc
inner.class.on.interface.ignore.option=Ignore inner interfaces of interfaces
inner.class.on.interface.problem.descriptor=Interface ''{0}'' has inner class <code>#ref</code> #loc
missing.deprecated.annotation.add.quickfix=Add @Deprecated annotation
missing.override.annotation.add.quickfix=Add @Override annotation
non.protected.constructor.in.abstract.class.ignore.option=Ignore for non-public classes
public.constructor.in.non.public.class.problem.descriptor=Constructor is declared <code>#ref</code> in non-public class ''{0}'' #loc
static.inheritance.replace.quickfix=Replace inheritance with qualified references in {0}
utility.class.with.public.constructor.make.quickfix=Make {0, choice, 1#constructor|2#constructors} private
utility.class.without.private.constructor.create.quickfix=Generate empty private constructor
utility.class.without.private.constructor.make.quickfix=Make constructor 'private'
annotation.naming.convention.problem.descriptor.short=Annotation name <code>#ref</code> is too short #loc
annotation.naming.convention.problem.descriptor.long=Annotation name <code>#ref</code> is too long #loc
annotation.naming.convention.problem.descriptor.regex.mismatch=Annotation name <code>#ref</code> doesn''t match regex ''{0}'' #loc
class.name.convention.problem.descriptor.short=Class name <code>#ref</code> is too short #loc
abstract.class.name.convention.problem.descriptor.short=Abstract class name <code>#ref</code> is too short #loc
class.name.convention.problem.descriptor.long=Class name <code>#ref</code> is too long #loc
abstract.class.name.convention.problem.descriptor.long=Abstract class name <code>#ref</code> is too long #loc
class.name.convention.problem.descriptor.regex.mismatch=Class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
abstract.class.name.convention.problem.descriptor.regex.mismatch=Abstract class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
constant.naming.convention.problem.descriptor.short=Constant name <code>#ref</code> is too short #loc
constant.naming.convention.problem.descriptor.long=Constant name <code>#ref</code> is too long #loc
constant.naming.convention.problem.descriptor.regex.mismatch=Constant <code>#ref</code> doesn''t match regex ''{0}'' #loc
constant.naming.convention.immutables.option=Only check 'static final' fields with immutable types
enumerated.class.naming.convention.problem.descriptor.short=Enumerated class name <code>#ref</code> is too short #loc
enumerated.class.naming.convention.problem.descriptor.long=Enumerated class name <code>#ref</code> is too long #loc
enumerated.class.naming.convention.problem.descriptor.regex.mismatch=Enumerated class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
enumerated.constant.naming.convention.problem.descriptor.short=Enumerated constant name <code>#ref</code> is too short #loc
enumerated.constant.naming.convention.problem.descriptor.long=Enumerated constant name <code>#ref</code> is too long #loc
enumerated.constant.naming.convention.problem.descriptor.regex.mismatch=Enumerated constant <code>#ref</code> doesn''t match regex ''{0}'' #loc
instance.method.name.convention.problem.descriptor.short=Instance method name <code>#ref</code> is too short #loc
instance.method.name.convention.problem.descriptor.long=Instance method name <code>#ref</code> is too long #loc
instance.method.name.convention.problem.descriptor.regex.mismatch=Instance method name <code>#ref</code> doesn''t match regex ''{0}'' #loc
instance.variable.name.convention.problem.descriptor.short=Instance field name <code>#ref</code> is too short #loc
instance.variable.name.convention.problem.descriptor.long=Instance field name <code>#ref</code> is too long #loc
instance.variable.name.convention.problem.descriptor.regex.mismatch=Instance field <code>#ref</code> doesn''t match regex ''{0}'' #loc
interface.name.convention.problem.descriptor.short=Interface name <code>#ref</code> is too short #loc
interface.name.convention.problem.descriptor.long=Interface name <code>#ref</code> is too long #loc
interface.name.convention.problem.descriptor.regex.mismatch=Interface name <code>#ref</code> doesn''t match regex ''{0}'' #loc
junit.abstract.test.class.naming.convention.problem.descriptor.short=Abstract JUnit test class name <code>#ref</code> is too short #loc
junit.abstract.test.class.naming.convention.problem.descriptor.long=Abstract JUnit test class name <code>#ref</code> is too long #loc
junit.abstract.test.class.naming.convention.problem.descriptor.regex.mismatch=Abstract JUnit test class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
junit.test.class.naming.convention.problem.descriptor.short=JUnit test class name <code>#ref</code> is too short #loc
junit.test.class.naming.convention.problem.descriptor.long=JUnit test class name <code>#ref</code> is too long #loc
junit.test.class.naming.convention.problem.descriptor.regex.mismatch=JUnit test class name <code>#ref</code> doesn''t match regex ''{0}'' #loc
local.variable.naming.convention.problem.descriptor.short=Local variable name <code>#ref</code> is too short #loc
local.variable.naming.convention.problem.descriptor.long=Local variable name <code>#ref</code> is too long #loc
local.variable.naming.convention.problem.descriptor.regex.mismatch=Local variable name <code>#ref</code> doesn''t match regex ''{0}'' #loc
local.variable.naming.convention.ignore.option=Ignore for-loop parameters
local.variable.naming.convention.ignore.catch.option=Ignore 'catch' block parameters
method.names.differ.only.by.case.problem.descriptor=Method name <code>#ref</code> and method name ''{0}'' differ only by case #loc
parameter.name.differs.from.overridden.parameter.ignore.character.option=Ignore if overridden parameter contains only one character
parameter.name.differs.from.overridden.parameter.ignore.library.option=Ignore if overridden parameter is from a library
parameter.name.differs.from.overridden.parameter.problem.descriptor=Parameter name <code>#ref</code> is different from parameter ''{0}'' overridden #loc
parameter.naming.convention.problem.descriptor.short=Parameter name <code>#ref</code> is too short #loc
parameter.naming.convention.problem.descriptor.long=Parameter name <code>#ref</code> is too long #loc
parameter.naming.convention.problem.descriptor.regex.mismatch=Parameter name <code>#ref</code> doesn''t match regex ''{0}'' #loc
questionable.name.column.title=Name
standard.variable.names.problem.descriptor=Variable named <code>#ref</code> doesn''t have type ''{0}'' #loc
standard.variable.names.problem.descriptor2=Variable named <code>#ref</code> doesn''t have type ''{0}'' or ''{1}'' #loc
standard.variable.names.ignore.override.option=Ignore for parameter names identical to super method parameters
static.method.naming.convention.problem.descriptor.short='static' method name <code>#ref</code> is too short #loc
static.method.naming.convention.problem.descriptor.long='static' method name <code>#ref</code> is too long #loc
static.method.naming.convention.problem.descriptor.regex.mismatch='static' method name <code>#ref</code> doesn''t match regex ''{0}'' #loc
static.variable.naming.convention.problem.descriptor.short='static' field name <code>#ref</code> is too short #loc
static.variable.naming.convention.problem.descriptor.long='static' field name <code>#ref</code> is too long #loc
static.variable.naming.convention.problem.descriptor.regex.mismatch='static' field <code>#ref</code> doesn''t match regex ''{0}'' #loc
static.variable.naming.convention.mutable.option=Check 'static final' fields with a mutable type
type.parameter.naming.convention.problem.descriptor.short=Type parameter name <code>#ref</code> is too short #loc
type.parameter.naming.convention.problem.descriptor.long=Type parameter name <code>#ref</code> is too long #loc
boolean.method.name.must.start.with.question.table.column.name=Boolean method name prefix
conditional.expression.with.identical.branches.collapse.quickfix=Collapse conditional expression
confusing.else.unwrap.quickfix=Remove redundant 'else'
constant.conditional.expression.problem.descriptor=<code>#ref</code> can be simplified to ''{0}'' #loc
constant.conditional.expression.simplify.quickfix=Simplify
enum.switch.statement.which.misses.cases.problem.descriptor=<code>#ref</code> statement on enumerated type ''{0}'' misses cases #loc
for.loop.replaceable.by.while.ignore.option=Ignore 'infinite' for loops without conditions
for.loop.replaceable.by.while.replace.quickfix=Replace with 'while'
for.loop.with.missing.component.problem.descriptor1=<code>#ref</code> statement lacks initializer #loc
for.loop.with.missing.component.problem.descriptor2=<code>#ref</code> statement lacks condition #loc
for.loop.with.missing.component.problem.descriptor3=<code>#ref</code> statement lacks update #loc
for.loop.with.missing.component.problem.descriptor4=<code>#ref</code> statement lacks initializer and condition #loc
for.loop.with.missing.component.problem.descriptor5=<code>#ref</code> statement lacks initializer and update #loc
for.loop.with.missing.component.problem.descriptor6=<code>#ref</code> statement lacks condition and update #loc
for.loop.with.missing.component.problem.descriptor7=<code>#ref</code> statement lacks initializer, condition and update #loc
if.statement.with.identical.branches.collapse.quickfix=Collapse 'if' statement
foreach.replace.quickfix=Replace with 'foreach'
unnecessary.boxing.remove.quickfix=Remove boxing
unnecessary.unboxing.remove.quickfix=Remove unboxing
misordered.assert.equals.arguments.flip.quickfix=Flip compared arguments
setup.calls.super.setup.add.quickfix=Add call to 'super.setUp()'
simplify.junit.assertion.simplify.quickfix=Simplify assertion
teardown.calls.super.teardown.add.quickfix=Add call to 'super.tearDown()'
test.method.is.public.void.no.arg.problem.descriptor1=Test method <code>#ref()</code> should probably not have parameters #loc
test.method.is.public.void.no.arg.problem.descriptor2=Test method <code>#ref()</code> is not declared 'public void' #loc
test.method.is.public.void.no.arg.problem.descriptor3=Test method <code>#ref()</code> should not be 'static' #loc
system.properties.problem.descriptor=Call to <code>Integer.#ref()</code> may pose security concerns #loc
system.properties.problem.descriptor1=Call to <code>Boolean.#ref()</code> may pose security concerns #loc
unsecure.random.number.generation.problem.descriptor1=For security purposes, use 'java.security.SecureRandom' instead of <code>java.lang.Math.#ref()</code> #loc
unsecure.random.number.generation.problem.descriptor2=For security purposes, use 'java.security.SecureRandom' instead of <code>java.util.#ref</code> #loc
unsecure.random.number.generation.problem.descriptor3=For security purposes, use 'java.security.SecureRandom' instead of <code>#ref</code> #loc
serializable.has.serialization.methods.problem.descriptor=Serializable class <code>#ref</code> does not define 'readObject()' or 'writeObject()' #loc
serializable.has.serialization.methods.problem.descriptor1=Serializable class <code>#ref</code> does not define 'writeObject()' #loc
serializable.has.serialization.methods.problem.descriptor2=Serializable class <code>#ref</code> does not define 'readObject()' #loc
serializable.with.unconstructable.ancestor.problem.descriptor=<code>#ref</code> has a non-serializable ancestor ''{0}'' without no-arg constructor #loc
transient.field.in.non.serializable.class.problem.descriptor=Field ''{0}'' is marked <code>#ref</code>, in non-Serializable class #loc
transient.field.in.non.serializable.class.remove.quickfix=Remove 'transient'
condition.signal.replace.quickfix=Replace with 'signalAll()'
object.notify.replace.quickfix=Replace with 'notifyAll()'
safe.lock.problem.descriptor=''{0}'' should be locked in front of a ''try'' block and unlocked in the corresponding ''finally'' block #loc
synchronized.method.problem.descriptor=Method ''{0}()'' declared <code>#ref</code> #loc
synchronized.method.include.option=Include native methods
synchronized.method.ignore.synchronized.super.option=Ignore methods overriding a synchronized method
synchronized.method.move.quickfix=Move synchronization into method
thread.run.replace.quickfix=Replace with 'start()'
volatile.field.problem.descriptor=Volatile field <code>#ref</code> of type ''{0}'' #loc
string.format.choose.class=Choose Formatter class
string.format.class.column.name=Additional formatter classes
string.format.class.method.name=Additional formatter methods
exception.class.column.name=Exception class
bad.exception.thrown.problem.descriptor=Prohibited exception ''{0}'' thrown #loc
empty.catch.block.comments.option=Comments count as content
empty.catch.block.ignore.ignore.option=Ignore when 'catch' parameter is named 'ignore' or 'ignored'
too.broad.catch.problem.descriptor=''catch'' of <code>#ref</code> is too broad, masking exception ''{0}'' #loc
too.broad.catch.problem.descriptor1=''catch'' of <code>#ref</code> is too broad, masking exceptions ''{0}'' and ''{1}'' #loc
unused.catch.parameter.ignore.catch.option=Ignore when 'catch' block contains a comment
add.serialversionuidfield.quickfix=Add 'serialVersionUID' field
delete.import.quickfix=Delete unnecessary import
encapsulate.variable.quickfix=Encapsulate field ''{0}''
extract.method.quickfix=Extract method
inline.call.quickfix=Inline call
inline.variable.quickfix=Inline variable
pointless.nullcheck.display.name=Unnecessary 'null' check before 'instanceof' expression
pointless.nullcheck.problem.descriptor=Unnecessary 'null' check before 'instanceof' expression
pointless.nullcheck.simplify.quickfix=Remove unnecessary ''{0}'' condition
introduce.constant.quickfix=Introduce constant
make.initialization.explicit.quickfix=Make initialization explicit
move.anonymous.to.inner.quickfix=Convert to named inner class
anonymous.inner.may.be.named.static.inner.class.quickfix=Convert to named 'static' inner class
move.class.quickfix=Move class
normalize.declaration.quickfix=Split into multiple declarations
remove.modifier.quickfix=Remove ''{0}'' modifier
replace.inheritance.with.delegation.quickfix=Replace inheritance with delegation
big.decimal.equals.replace.quickfix=Replace with 'compareTo()==0'
cast.that.loses.precision.problem.descriptor=Cast to <code>#ref</code> from ''{0}'' may result in loss of precision #loc
comparison.to.nan.problem.descriptor1=Comparison to <code>#ref</code> is always false #loc
comparison.to.nan.problem.descriptor2=Comparison to <code>#ref</code> is always true #loc
comparison.to.nan.replace.quickfix=Replace with 'isNaN()'
confusing.floating.point.literal.change.quickfix=Change To canonical form
implicit.numeric.conversion.ignore.widening.conversion.option=Ignore widening conversions
implicit.numeric.conversion.ignore.char.conversion.option=Ignore conversions from and to char
implicit.numeric.conversion.ignore.constant.conversion.option=Ignore conversions from constants and literals
implicit.numeric.conversion.problem.descriptor=Implicit numeric conversion of <code>#ref</code> from ''{0}'' to ''{1}'' #loc
implicit.numeric.conversion.convert.quickfix=Convert to ''{0}'' literal
implicit.numeric.conversion.make.explicit.quickfix=Make conversion explicit
long.literals.ending.with.lowercase.l.replace.quickfix=Replace 'l' with 'L'
non.reproducible.math.call.replace.quickfix=Replace with 'StrictMath' call
overly.complex.arithmetic.expression.max.number.option=Maximum number of terms:
expression.can.be.replaced.problem.descriptor=<code>#ref</code> can be replaced with ''{0}'' #loc
method.complexity.limit.option=Method complexity limit:
cyclomatic.complexity.problem.descriptor=<code>#ref</code> is overly complex (cyclomatic complexity = {0}) #loc
method.coupling.limit.option=Method coupling limit:
method.coupling.problem.descriptor=<code>#ref</code> is overly coupled (# referenced classes = {0}) #loc
method.with.multiple.loops.problem.descriptor=<code>#ref</code> contains {0} loops #loc
return.point.limit.option=&Return point limit:
multiple.return.points.per.method.problem.descriptor=<code>#ref</code> has {0} return points #loc
nesting.depth.limit.option=Nesting depth limit:
nesting.depth.problem.descriptor=<code>#ref</code> is overly nested (maximum nesting depth = {0}) #loc
non.comment.source.statements.limit.option=Non-comment source statements limit:
non.comment.source.statements.problem.descriptor=<code>#ref</code> is too long (# Non-comment source statements = {0}) #loc
parameters.per.method.problem.descriptor=<code>#ref()</code> has too many parameters (num parameters = {0}) #loc
parameters.per.constructor.problem.descriptor=<code>#ref()</code> has too many parameters (num parameters = {0}) #loc
parameter.limit.option=Parameter limit:
constructor.visibility.option=Ignore constructors with visibility
three.negations.per.method.ignore.option=Ignore negations in 'equals()' methods
three.negations.per.method.ignore.assert.option=Ignore negations in 'assert' statements
three.negations.per.method.problem.descriptor=<code>#ref</code> contains {0} negations #loc
thrown.exceptions.per.method.problem.descriptor=<code>#ref</code> has too many exceptions declared (num exceptions = {0}) #loc
thrown.exceptions.per.method.limit.option=Exceptions thrown limit:
call.to.simple.getter.in.class.ignore.option=Ignore getter calls on other objects
call.to.private.simple.getter.in.class.option=Only report getter is private
call.to.simple.getter.in.class.inline.quickfix=Inline call to getter
call.to.simple.setter.in.class.ignore.option=Ignore setter calls on other objects
call.to.private.setter.in.class.option=Only report when setter is private
call.to.simple.setter.in.class.inline.quickfix=Inline call to setter
make.static.quickfix=Make static
length.one.strings.in.concatenation.replace.quickfix=Replace with character
multiply.or.divide.by.power.of.two.replace.quickfix=Replace with shift
boolean.expression.can.be.simplified.problem.descriptor=<code>#ref</code> can be simplified to ''{0}'' #loc
trivial.string.concatenation.problem.descriptor=Empty string used in concatenation
string.replace.quickfix=Replace concatenation with ''{0}''
instantiating.object.to.get.class.object.replace.quickfix=Replace with direct class object access
manual.array.copy.replace.quickfix=Replace with 'System.arrayCopy()'
manual.array.to.collection.copy.replace.quickfix=Replace with 'Collections.addAll(...,...)'
method.may.be.static.only.option=Only check 'private' or 'final' methods
method.may.be.static.empty.option=Ignore empty methods
random.double.for.random.integer.replace.quickfix=Replace with 'nextInt()'
string.buffer.replaceable.by.string.builder.replace.quickfix=Replace with 'StringBuilder'
string.buffer.to.string.in.concatenation.remove.quickfix=Remove 'toString()'
string.concatenation.in.loops.only.option=Only warn if string is repeatedly appended
string.concatenation.inside.string.buffer.append.replace.quickfix=Replace with chained 'append()' calls
string.equals.empty.string.quickfix=Replace with 'length()==0'
string.equals.empty.string.isempty.quickfix=Replace with 'isEmpty()'
tail.recursion.replace.quickfix=Replace tail recursion with iteration
if.statement.with.too.many.branches.max.option=Maximum number of branches:
if.statement.with.too.many.branches.problem.descriptor='<code>#ref</code>' has too many branches ({0}) #loc
negated.conditional.ignore.option=Ignore '!= null' comparisons
negated.conditional.invert.quickfix=Invert condition
negated.if.else.ignore.negated.null.option=Ignore '!= null' comparisons
negated.if.else.ignore.negated.zero.option=Ignore '!= 0' comparisons
negated.if.else.invert.quickfix=Invert If Condition
overly.complex.boolean.expression.max.terms.option=Maximum number of terms:
pointless.boolean.expression.ignore.option=Ignore named constants in determining pointless expressions
simplifiable.conditional.expression.problem.descriptor=<code>#ref</code> can be simplified to ''{0}'' #loc
simplifiable.if.statement.problem.descriptor=<code>#ref</code> statement can be replaced with ''{0}'' #loc
switch.statement.density.min.option=Minimum density of branches: %
switch.statement.density.problem.descriptor='<code>#ref</code>' has too low of a branch density ({0}%) #loc
switch.statement.with.too.few.branches.min.option=Minimum number of branches:
switch.statement.with.too.few.branches.problem.descriptor='<code>#ref</code>' has too few branches ({0}), and should probably be replaced with an ''if'' statement #loc
switch.statement.without.default.ignore.option=Ignore if all cases of an enumerated type are covered
unnecessary.label.remove.quickfix=Remove label
unnecessary.return.problem.descriptor=<code>#ref</code> is unnecessary as the last statement in a 'void' method #loc
unnecessary.return.constructor.problem.descriptor=<code>#ref</code> is unnecessary as the last statement in a constructor #loc
unused.label.remove.quickfix=Remove unused label
unnecessarily.qualified.static.usage.problem.descriptor=Unnecessarily qualified static method call <code>{0}()</code> #loc
unnecessarily.qualified.static.usage.problem.descriptor1=Unnecessarily qualified static access <code>{0}</code> #loc
unnecessarily.qualified.static.usage.ignore.field.option=Ignore unnecessarily qualified field accesses
unnecessarily.qualified.static.usage.ignore.method.option=Ignore unnecessarily qualified method calls
unnecessary.interface.modifier.problem.descriptor=Modifier <code>#ref</code> is redundant for interfaces #loc
unnecessary.interface.modifier.inner.interface.of.interface.problem.descriptor=Modifier <code>#ref</code> is redundant for inner interfaces #loc
unnecessary.interface.modifier.problem.descriptor2=Modifier <code>#ref</code> is redundant for interface methods #loc
unnecessary.interface.modifier.problem.descriptor3=Modifier <code>#ref</code> is redundant for inner classes of interfaces #loc
unnecessary.interface.modifier.problem.descriptor4=Modifier <code>#ref</code> is redundant for interface fields #loc
smth.unnecessary.remove.quickfix=Remove unnecessary ''{0}''
unqualified.static.usage.problem.descriptor=Unqualified static method call <code>#ref()</code> #loc
unqualified.static.usage.problem.descriptor1=Unqualified static field access <code>#ref</code> #loc
unqualified.static.usage.ignore.field.option=Ignore unqualified field accesses
unqualified.static.usage.ignore.method.option=Ignore unqualified method calls
unqualified.static.usage.qualify.field.quickfix=Qualify static field access
unqualified.static.usage.qualify.method.quickfix=Qualify static method call
too.broad.scope.allow.option=<html>Allow initializer of variables to construct objects.<br>(Potentially unsafe: quick fix may modify semantics if the constructor has non-local side-effects)</html>
too.broad.scope.only.blocks.option=Only report variables that can be moved into inner blocks
too.broad.scope.narrow.quickfix=Narrow scope of ''{0}''
press.escape.to.remove.highlighting.message=Press Escape to remove the highlighting
unnecessary.enum.modifier.problem.descriptor=Modifier <code>#ref</code> is redundant for enum constructors #loc
unnecessary.enum.modifier.problem.descriptor1=Modifier <code>#ref</code> is redundant for inner enums #loc
literal.as.arg.to.string.equals.problem.descriptor=<code>#ref</code> is argument of ''{0}()'', instead of its target #loc
literal.as.arg.to.string.equals.flip.quickfix=Flip 'equals()'
c.style.array.declaration.replace.quickfix=Replace with Java-style array declaration
chained.method.call.ignore.option=Ignore chained method calls in field initializers
chained.method.call.ignore.this.super.option=Ignore chained method calls in 'this()' and 'super()' calls
introduce.variable.quickfix=Introduce variable
introduce.variable.may.change.semantics.quickfix=Introduce variable (may change semantics)
flip.comparison.quickfix=Flip comparison
control.flow.statement.without.braces.add.quickfix=Add braces
extends.object.remove.quickfix=Remove redundant 'extends Object'
implicit.call.to.super.ignore.option=Ignore for direct subclasses of 'java.lang.Object'
implicit.call.to.super.make.explicit.quickfix=Make call to 'super()' explicit
missorted.modifiers.require.option=Require annotations to be sorted before keywords
missorted.modifiers.sort.quickfix=Sort modifiers
nested.method.call.ignore.option=Ignore nested method calls in field initializers
redundant.field.initialization.remove.quickfix=Remove initializer
redundant.implements.remove.quickfix=Remove redundant interface declaration
unnecessary.constructor.remove.quickfix=Remove redundant constructor
unnecessary.fully.qualified.name.replace.quickfix=Replace with import
unnecessary.fully.qualified.name.remove.quickfix=Remove qualification
unnecessary.fully.qualified.name.status.bar.escape.highlighting.message1=1 fully qualified name replaced with import (press Escape to remove highlighting)
unnecessary.fully.qualified.name.status.bar.escape.highlighting.message2={0} fully qualified names replaced with import (press Escape to remove highlighting)
unnecessary.parentheses.remove.quickfix=Remove unnecessary parentheses
unnecessary.qualifier.for.this.remove.quickfix=Remove unnecessary qualifier
unnecessary.semicolon.remove.quickfix=Remove unnecessary semicolon
unnecessary.super.constructor.remove.quickfix=Remove unnecessary 'super()'
unnecessary.this.remove.quickfix=Remove unnecessary 'this' qualifier
overly.strong.type.cast.problem.descriptor=Cast to <code>#ref</code> can be weakened to ''{0}'' #loc
field.count.inspection.include.constant.fields.in.count.checkbox=Include constant fields in count
field.count.inspection.static.final.fields.count.as.constant.checkbox='static final' fields count as constant
field.count.inspection.include.enum.constants.in.count=Include enum constants in count
make.method.final.fix.name=Make method ''{0}()'' ''final''
make.class.final.fix.name=Make class ''{0}'' ''final''
non.boolean.method.name.must.not.start.with.question.display.name=Non-boolean method name must not start with question word
non.boolean.method.name.must.not.start.with.question.problem.descriptor=Non-boolean method name <code>#ref</code> starts with a question word #loc
boolean.constructor.simplify.quickfix=Simplify
unnecessary.temporary.on.conversion.from.string.problem.descriptor=<code>#ref</code> #loc can be simplified to ''{0}''
unnecessary.temporary.on.conversion.from.string.fix.name=Replace with ''{0}''
only.report.qualified.static.usages.option=Only report qualified static access from a static context
unqualified,static.usage.only.report.static.usages.option=Only report static access from a non-static context
assignment.to.catch.block.parameter.problem.descriptor=Assignment to 'catch' block parameter <code>#ref</code> #loc
assignment.to.method.parameter.problem.descriptor=Assignment to method parameter <code>#ref</code> #loc
value.of.post.increment.problem.descriptor=Value of post-increment expression <code>#ref</code> is used #loc
value.of.post.decrement.problem.descriptor=Value of post-decrement expression <code>#ref</code> is used #loc
value.of.pre.increment.problem.descriptor=Value of pre-increment expression <code>#ref</code> is used #loc
value.of.pre.decrement.problem.descriptor=Value of pre-decrement expression <code>#ref</code> is used #loc
assignment.replaceable.with.operator.assignment.problem.descriptor=<code>#ref</code> could be simplified to ''{0}'' #loc
assignment.replaceable.with.operator.assignment.ignore.conditional.operators.option=Ignore conditional operators
assignment.replaceable.with.operator.assignment.ignore.obscure.operators.option=Ignore the obscure ^ and % operators
assignment.replaceable.with.operator.replace.quickfix=Replace '=' with ''{0}=''
object.equality.ignore.between.objects.of.a.type.with.only.private.constructors.option=Ignore '==' between objects of a type with only private constructors
redundant.method.override.display.name=Method is identical to its super method
redundant.method.override.problem.descriptor=Method <code>#ref()</code> is identical to its super method #loc
redundant.method.override.quickfix=Remove redundant method
refused.bequest.problem.descriptor=Method <code>#ref()</code> ignores defined method in superclass #loc
refused.bequest.ignore.empty.super.methods.option=Ignore empty super methods (degrades performance of this inspection)
overly.complex.boolean.expression.ignore.option=Ignore pure conjunctions and disjunctions
pointless.indexof.comparison.display.name=Pointless 'indexOf()' comparison
pointless.indexof.comparison.always.true.problem.descriptor=<code>#ref</code> is always true #loc
pointless.indexof.comparison.always.false.problem.descriptor=<code>#ref</code> is always false #loc
reuse.of.local.variable.problem.descriptor=Reuse of local variable <code>#ref</code> #loc
single.character.startswith.display.name=Single character 'startsWith()' or 'endsWith()'
single.character.startswith.problem.descriptor=Single character <code>#ref()</code> could be replaced with 'charAt()' expression #loc
indexof.replaceable.by.contains.display.name='indexOf()' expression is replaceable with 'contains()'
replace.indexof.with.contains.quickfix=Replace 'indexOf()' with 'contains()'
overloaded.methods.with.same.number.parameters.problem.descriptor=Multiple methods named <code>#ref</code> with the same number of parameters #loc
overloaded.vararg.method.problem.descriptor=Overloaded variable argument method <code>#ref()</code> #loc
overloaded.vararg.constructor.problem.descriptor=Overloaded variable argument constructor <code>#ref()</code> #loc
cached.number.constructor.call.display.name=Number constructor call with primitive argument
cached.number.constructor.call.problem.descriptor=Number constructor call with primitive argument #loc
cached.number.constructor.call.quickfix=Replace with ''{0}.valueOf()'' call
cached.number.constructor.call.ignore.string.arguments.option=Ignore new number expressions with a String argument
chained.equality.comparisons.problem.descriptor=Chained equality comparison <code>#ref</code> #loc
confusing.octal.escape.sequence.problem.descriptor=Octal escape sequence <code>#ref</code> immediately followed by digit #loc
field.accessed.synchronized.and.unsynchronized.option=Simple getters and setters are considered field accesses too
method.overrides.package.local.method.display.name=Method overrides package-local method of superclass located in other package
method.overrides.package.local.method.problem.descriptor=Method <code>#ref()</code> overrides a package-local method of a superclass located in another package #loc
suspicious.to.array.call.display.name=Suspicious 'Collection.toArray()' call
suspicious.to.array.call.problem.descriptor=Array of type ''{0}[]'' expected #loc
suspicious.system.arraycopy.display.name=Suspicious 'System.arraycopy()' call
suspicious.system.arraycopy.problem.descriptor1=Parameter 'srcPos' may not be negative #loc
suspicious.system.arraycopy.problem.descriptor2=Parameter 'destPos' may not be negative #loc
suspicious.system.arraycopy.problem.descriptor3=Parameter 'length' may not be negative #loc
suspicious.system.arraycopy.problem.descriptor4=<code>#ref</code> is not of an array type #loc
suspicious.system.arraycopy.problem.descriptor5=<code>#ref</code> is not of an array type #loc
suspicious.system.arraycopy.problem.descriptor6=Source parameter type ''{0}'' is not assignable to destination parameter <code>#ref</code> of type ''{1}'' #loc
raw.use.of.parameterized.type.ignore.new.objects.option=Ignore construction of new objects
raw.use.of.parameterized.type.ignore.type.casts.option=Ignore type casts
raw.use.of.parameterized.type.ignore.uncompilable.option=Ignore where a type parameter would not compile
raw.use.of.parameterized.type.ignore.overridden.parameter.option=Ignore parameter types of overriding methods
method.only.used.from.inner.class.display.name=Private method only used from inner class
method.only.used.from.inner.class.problem.descriptor.anonymous.extending=Method <code>#ref()</code>#loc is only used from an anonymous class extending ''{0}'' #loc
method.only.used.from.inner.class.problem.descriptor.anonymous.implementing=Method <code>#ref()</code>#loc is only used from an anonymous class implementing ''{0}'' #loc
method.only.used.from.inner.class.problem.descriptor=Method <code>#ref()</code>#loc is only used from inner class ''{0}'' #loc
method.only.used.from.inner.class.ignore.option=Ignore methods accessed from an &anonymous class
ignore.static.methods.accessed.from.a.non.static.inner.class=Ignore '&static' methods accessed from a non-'static' inner class
only.report.static.methods=&Only report 'static' methods
format.decode.error.requires.both.0.and.1=requires both {0} and {1}
format.decode.any=any
format.decode.date.time=Date/Time
format.decode.char=char
format.decode.integer.type=integer type
format.decode.floating.point=floating point
single.character.startswith.quickfix=Replace with 'charAt()'
interface.never.implemented.option=Ignore interfaces which only declare constants
size.replaceable.by.isempty.display.name='size() == 0' replaceable with 'isEmpty()'
size.replaceable.by.isempty.quickfix=Replace with 'isEmpty()'
size.replaceable.by.isempty.negation.ignore.option=Ignore expressions which would be replaced with '!isEmpty()'
ignored.classes.table=Ignored classes
choose.class.type.to.ignore=Choose class type to ignore
loop.condition.not.updated.inside.loop.display.name=Loop variable not updated inside loop
loop.variable.not.updated.inside.loop.problem.descriptor=Variable '#ref' is not updated inside loop #loc
loop.condition.not.updated.inside.loop.problem.descriptor=Condition '#ref' is not updated inside loop #loc
utility.class.without.private.constructor.option=Ignore classes with only a main method
super.class.logger.option=Ignore classes with an accessible logger declared in a superclass
static.method.only.used.in.one.class.display.name=Static method only used from one other class
static.method.only.used.in.one.class.problem.descriptor=Static method <code>#ref()</code> is only used from class ''{0}'' #loc
static.method.only.used.in.one.class.problem.descriptor.anonymous.implementing=Static method <code>#ref()</code> is only used from an anonymous class implementing ''{0}'' #loc
static.method.only.used.in.one.class.problem.descriptor.anonymous.extending=Static method <code>#ref()</code> is only used from an anonymous class extending ''{0}'' #loc
static.method.only.used.in.one.class.quickfix=Move method
static.method.only.used.in.one.class.ignore.test.option=Ignore when only used from a test class
unary.plus.display.name=Unary plus
unary.plus.problem.descriptor=Unary <code>#ref</code> operator #loc
await.without.corresponding.signal.display.name='await()' without corresponding 'signal()'
await.without.corresponding.signal.problem.descriptor=Call to <code>#ref</code> without corresponding <code>signal()</code> or <code>signalAll()</code> #loc
signal.without.corresponding.await.display.name='signal()' without corresponding 'await()'
signal.without.corresponding.await.problem.descriptor=Call to <code>#ref</code> without corresponding <code>await()</code> #loc
wait.without.corresponding.notify.display.name='wait()' without corresponding 'notify()'
wait.without.corresponding.notify.problem.descriptor=Call to <code>#ref</code> without corresponding <code>notify()</code> or <code>notifyAll()</code> #loc
notify.without.corresponding.wait.display.name='notify()' without corresponding 'wait()'
notify.without.corresponding.wait.problem.descriptor=Call to <code>#ref</code> without corresponding <code>wait()</code> #loc
integer.multiplication.implicit.cast.to.long.display.name=Integer multiplication or shift implicitly cast to long
integer.multiplication.implicit.cast.to.long.problem.descriptor=#ref: integer multiplication or shift implicitly cast to long #loc
integer.multiplication.implicit.cast.to.long.option=<html>Ignore compile time constant expressions which do not overflow</html>
wait.or.await.without.timeout.display.name='wait()' or 'await()' without timeout
wait.or.await.without.timeout.problem.descriptor=<code>#ref</code> without timeout #loc
method.return.always.constant.display.name=Method returns per-class constant
method.return.always.constant.problem.descriptor=Method <code>#ref()</code> returns a per-class constant
class.with.too.many.dependencies.display.name=Class with too many dependencies
class.with.too.many.dependencies.problem.descriptor=Class ''{0}'' has too many dependencies ({1} > {2})
class.with.too.many.transitive.dependencies.display.name=Class with too many transitive dependencies
class.with.too.many.transitive.dependencies.problem.descriptor=Class ''{0}'' has too many transitive dependencies ({1} > {2})
class.with.too.many.dependents.display.name=Class with too many dependents
class.with.too.many.dependents.problem.descriptor=Class ''{0}'' has too many dependents ({1} > {2})
class.with.too.many.transitive.dependents.display.name=Class with too many transitive dependents
class.with.too.many.transitive.dependents.problem.descriptor=Class ''{0}'' has too many transitive dependencies ({1} > {2})
class.with.too.many.dependencies.max.option=Maximum number of dependencies
class.with.too.many.dependents.max.option=Maximum number of dependents
class.with.too.many.transitive.dependencies.max.option=Maximum number of transitive dependencies
class.with.too.many.transitive.dependents.max.option=Maximum number of transitive dependents
cyclic.class.dependency.display.name=Cyclic class dependency
cyclic.class.dependency.problem.descriptor=Class ''{0}'' is cyclically dependent on {1} other classes
cyclic.class.dependency.1.problem.descriptor=Class ''{0}'' is cyclically dependent on class ''{1}''
cyclic.class.dependency.2.problem.descriptor=Class ''{0}'' is cyclically dependent on classes ''{1}'' and ''{2}''
cyclic.package.dependency.display.name=Cyclic package dependency
cyclic.package.dependency.problem.descriptor=Package ''{0}'' is cyclically dependent on {1} other packages
cyclic.package.dependency.1.problem.descriptor=Package ''{0}'' is cyclically dependent on package ''{1}''
cyclic.package.dependency.2.problem.descriptor=Package ''{0}'' is cyclically dependent on packages ''{1}'' and ''{2}''
class.unconnected.to.package.display.name=Class independent of its package
class.unconnected.to.package.problem.descriptor=Class <code>#ref</code> has no dependencies or dependents in its package
package.with.too.many.classes.display.name=Package with too many classes
package.with.too.many.classes.problem.descriptor=Package ''{0}'' contains too many classes ({1} > {2})
package.with.too.many.classes.max.option=Maximum number of classes:
package.with.too.few.classes.display.name=Package with too few classes
package.with.too.few.classes.problem.descriptor=Package ''{0}'' contains too few classes ({1} < {2})
package.with.too.few.classes.min.option=Minimum number of classes:
module.with.too.many.classes.display.name=Module with too many classes
module.with.too.many.classes.problem.descriptor=Module ''{0}'' contains too many classes ({1} > {2})
module.with.too.many.classes.max.option=Maximum number of classes:
module.with.too.few.classes.display.name=Module with too few classes
module.with.too.few.classes.problem.descriptor=Module ''{0}'' contains too few classes ({1} < {2})
module.with.too.few.classes.min.option=Minimum number of classes:
package.in.multiple.modules.display.name=Package with classes in multiple modules
package.in.multiple.modules.problem.descriptor=Package ''{0}'' has classes in multiple modules
disjoint.package.display.name=Package with disjoint dependency graph
disjoint.package.problem.descriptor=Package {0} can be decomposed into {1} independent packages
package.naming.convention.display.name=Package naming convention
package.naming.convention.problem.descriptor.short=Package name <code>{0}</code> is too short
package.naming.convention.problem.descriptor.long=Package name <code>{0}</code> is too long
package.naming.convention.problem.descriptor.regex.mismatch=Package name <code>{0}</code> doesn''t match regex ''{1}''
cyclic.class.initialization.display.name=Cyclic class initialization dependency
cyclic.class.initialization.problem.descriptor=Initialization of class ''{0}'' is cyclically dependent on {1} other classes
before.or.after.is.public.void.no.arg.display.name=Malformed @Before or @After method
before.or.after.is.public.void.no.arg.problem.descriptor=<code>#ref()</code> has incorrect signature for a @Before or @After method #loc
before.class.or.after.class.is.public.static.void.no.arg.display.name=Malformed @BeforeClass or @AfterClass method
before.class.or.after.class.is.public.static.void.no.arg.problem.descriptor=<code>#ref()</code> has incorrect signature for a @BeforeClass or @AfterClass method #loc
string.constructor.display.name=Redundant String constructor call
string.constructor.problem.descriptor=<code>#ref</code> is redundant #loc
string.constructor.replace.arg.quickfix=Replace with arg
string.constructor.replace.empty.quickfix=Replace with empty string
string.constructor.substring.parameter.option=Ignore string constructor calls with a 'substring()' call argument
design.for.extension.display.name=Design for extension
design.for.extension.problem.descriptor=Method <code>#ref()</code> may be overridden and its functionality ignored #loc
bad.oddness.display.name=Suspicious test for oddness
bad.oddness.problem.descriptor=Test for oddness <code>#ref</code> will fail on negative values #loc
comparator.not.serializable.display.name=Comparator class not declared Serializable
comparator.not.serializable.problem.descriptor=Comparator class <code>#ref</code> is not declared as Serializable #loc
non.serializable.field.in.serializable.class.display.name=Non-serializable field in a Serializable class
non.serializable.field.in.serializable.class.problem.descriptor=Non-serializable field '#ref' in a Serializable class #loc
non.serializable.object.passed.to.object.stream.display.name=Non-serializable object passed to ObjectOutputStream
non.serializable.object.passed.to.object.stream.problem.descriptor=Non-serializable object passed to ObjectOutputStream #loc
non.serializable.object.bound.to.http.session.display.name=Non-serializable object bound to HttpSession
non.serializable.object.bound.to.http.session.problem.descriptor=Non-serializable object bound to HttpSession #loc
reflection.for.unavailable.annotation.display.name=Reflective access to a source-only annotation
reflection.for.unavailable.annotation.problem.descriptor=Annotation '#ref' is not retained for reflective access #loc
access.to.static.field.locked.on.instance.display.name=Access to static field locked on instance data
access.to.static.field.locked.on.instance.problem.descriptor=Access to static field <code>#ref</code> locked on instance data #loc
make.method.ctr.quickfix=Make method constructor
replace.all.dot.display.name=Call to String.replaceAll(".", ...)
replace.all.dot.problem.descriptor=Call to <code>String.#ref(".", ...)</code> #loc
constant.string.intern.display.name=Call to 'intern()' on String constant
constant.string.intern.problem.descriptor=<code>.#ref()</code> on compile-time constant is unnecessary #loc
constant.string.intern.quickfix=Remove 'intern()' call
class.extends.utility.class.display.name=Class extends utility class
class.extends.utility.class.problem.descriptor=Class <code>#ref</code> extends utility class ''{0}'' #loc
class.extends.utility.class.ignore.utility.class.option=Ignore if overriding class is a utility class
public.constructor.in.non.public.class.quickfix=Make constructor ''{0}''
assignment.to.method.parameter.ignore.transformation.option=<html>Ignore if assignment is a transformation of the original parameter</html>
type.parameter.extends.final.class.display.name=Type parameter extends final class
type.parameter.extends.final.class.problem.descriptor1=Type parameter <code>#ref</code> extends ''final'' class ''{0}'' #loc
type.parameter.extends.final.class.problem.descriptor2=Wildcard type argument <code>#ref</code> extends ''final'' class ''{0}'' #loc
type.parameter.extends.final.class.quickfix=Replace type parameter with actual class
double.negation.display.name=Double negation
double.negation.problem.descriptor=Double negation in <code>#ref</code> #loc
double.negation.quickfix=Remove double negation
exception.from.catch.which.doesntwrap.ignore.option=Ignore if result of exception method call is used
exception.from.catch.which.doesntwrap.ignore.cant.wrap.option=Ignore if thrown exception cannot wrap an exception
comparable.implemented.but.equals.not.overridden.display.name=Comparable implemented but 'equals()' not overridden
comparable.implemented.but.equals.not.overridden.problem.descriptor=Class <code>#ref</code> implements 'java.lang.Comparable' but does not override 'equals()' #loc
unqualified.field.access.display.name=Instance field access not qualified with 'this'
unqualified.field.access.problem.descriptor=Instance field access <code>#ref</code> is not qualified with 'this' #loc
unqualified.method.access.display.name=Instance method call not qualified with 'this'
unqualified.method.access.problem.descriptor=Instance method call <code>#ref</code> is not qualified with 'this' #loc
add.this.qualifier.quickfix=Add 'this' qualifier
while.loop.spins.on.field.ignore.non.empty.loops.option=Only warn if the loop is empty
method.may.be.synchronized.problem.descriptor=Method <code>#ref()</code> with synchronized block could be synchronized method #loc
method.may.be.synchronized.display.name=Method with synchronized block could be synchronized method
method.may.be.synchronized.quickfix=Make method synchronized and remove synchronized block
fallthru.in.switch.statement.quickfix=Add 'break'
law.of.demeter.display.name=Method call violates Law of Demeter
law.of.demeter.problem.descriptor=<code>#ref()</code> call violates Law of Demeter #loc
law.of.demeter.ignore.library.calls.option=Ignore calls on library methods
assertequals.between.inconvertible.types.display.name='assertEquals()' between objects of inconvertible types
assertequals.between.inconvertible.types.problem.descriptor=<code>#ref()</code> between objects of inconvertible types ''{0}'' and ''{1}'' #loc
enumeration.can.be.iteration.display.name=Enumeration can be iteration
enumeration.can.be.iteration.problem.descriptor=<code>#ref()</code> can be replaced with ''{0}'' construct #loc
enumeration.can.be.iteration.quickfix=Replace with 'Iterator' construct
equals.hashcode.called.on.url.display.name='equals()' or 'hashCode()' called on java.net.URL object
equals.hashcode.called.on.url.problem.descriptor=Call to <code>#ref()</code> on URL object #loc
collection.contains.url.problem.decriptor={0} <code>#ref</code> may contain URL objects #loc
collection.contains.url.display.name=Map or Set may contain java.net.URL objects
implicit.array.to.string.problem.descriptor=Implicit call to 'toString()' on array <code>#ref</code> #loc
explicit.array.to.string.problem.descriptor=Call to '#ref()' on array #loc
implicit.array.to.string.method.call.problem.descriptor=Implicit call to 'toString()' on array returned by call to <code>#ref</code> #loc
implicit.array.to.string.display.name=Call to 'toString()' on array
implicit.array.to.string.quickfix=Wrap with ''{0}'' expression
suspicious.indent.after.control.statement.problem.descriptor=<code>#ref</code> statement has suspicious indentation #loc
suspicious.indent.after.control.statement.display.name=Suspicious indentation after control statement without braces
unpredictable.big.decimal.constructor.call.display.name=Unpredictable BigDecimal constructor call
unpredictable.big.decimal.constructor.call.problem.descriptor=Unpredictable <code>new #ref()</code> call #loc
unpredictable.big.decimal.constructor.call.ignore.references.option=Ignore constructor calls with variable or method call arguments
unpredictable.big.decimal.constructor.call.ignore.complex.literals.option=Ignore constructor calls with multiple literals (e.g. 0.1 + 0.2)
unpredictable.big.decimal.constructor.call.quickfix=Replace with ''new BigDecimal("{0}")''
unnecessary.unary.minus.display.name=Unnecessary unary minus
unnecessary.unary.minus.problem.descriptor=Unnecessary unary minus #loc
unnecessary.unary.minus.quickfix=Remove unary minus and invert parent operation sign
make.field.final.quickfix=Make ''{0}'' ''final''
increment.decrement.used.as.expression.quickfix=Extract ''{0}'' to separate statement
ignore.classes.in.hierarchy.column.name=Ignore subclasses of
overly.strong.type.cast.ignore.in.matching.instanceof.option=Ignore casts with a matching instanceof expression
return.of.collection.field.quickfix=Replace with ''{0}''
access.to.non.thread.safe.static.field.from.instance.display.name=Non thread-safe static field access
access.to.non.thread.safe.static.field.from.instance.field.problem.descriptor=Access to non thread-safe static field <code>#ref</code> of type ''{0}'' #loc
access.to.non.thread.safe.static.field.from.instance.option.title=Non thread safe classes
access.to.non.thread.safe.static.field.from.instance.class.chooser.title=Choose non thread safe class
transient.field.not.initialized.display.name=Transient field is not initialized on deserialization
transient.field.not.initialized.problem.descriptor=Transient field <code>#ref</code> not initialized on deserialization #loc
call.to.string.concat.can.be.replaced.by.operator.display.name=Call to 'String.concat()' can be replaced with '+'
call.to.string.concat.can.be.replaced.by.operator.problem.descriptor=Call to <code>#ref()</code> can be replaced with '+' expression #loc
call.to.string.concat.can.be.replaced.by.operator.quickfix=Replace 'concat()' call with '+'
new.string.buffer.with.char.argument.display.name=StringBuffer constructor call with 'char' argument
new.string.buffer.with.char.argument.problem.descriptor=<code>new #ref()</code> with argument of type 'char' #loc
new.string.buffer.with.char.argument.quickfix=Replace char argument with String literal
comparator.method.parameter.not.used.display.name='Comparator.compare()' method does not use parameter
comparator.method.parameter.not.used.problem.descriptor='compare()' parameter <code>#ref</code> is not used #loc
to.array.call.with.zero.length.array.argument.display.name=Call to 'Collection.toArray()' with zero-length array argument
to.array.call.with.zero.length.array.argument.problem.descriptor=Call to <code>#ref()</code> with zero-length array argument ''{0}'' #loc
to.array.call.with.zero.length.array.argument.quickfix=Replace argument with correctly sized array
throwable.instance.never.thrown.display.name=Throwable instance not thrown
throwable.instance.never.thrown.runtime.exception.problem.descriptor=Runtime exception instance <code>#ref</code> is not thrown #loc
throwable.instance.never.thrown.checked.exception.problem.descriptor=Checked exception instance <code>#ref</code> is not thrown #loc
throwable.instance.never.thrown.error.problem.descriptor=Error instance <code>#ref</code> is not thrown #loc
throwable.instance.never.thrown.problem.descriptor=Throwable instance <code>#ref</code> is not thrown #loc
type.may.be.weakened.display.name=Type may be weakened
type.may.be.weakened.problem.descriptor=Type of variable <code>#ref</code> may be weakened to {0} #loc
type.may.be.weakened.method.problem.descriptor=Return type of method <code>#ref()</code> may be weakened to {0} #loc
type.may.be.weakened.parameter.problem.descriptor=Type of parameter <code>#ref</code> may be weakened to {0} #loc
type.may.be.weakened.field.problem.descriptor=Type of field <code>#ref</code> may be weakened to {0} #loc
type.may.be.weakened.quickfix=Weaken type to ''{0}''
type.may.be.weakened.ignore.option=Use &righthand type as weakest type in assignments
type.may.be.weakened.collection.method.option=Use &parameterized type of collection for method call arguments
type.may.be.weakened.do.not.weaken.to.object.option=Do not &weaken to 'java.lang.Object'
ignore.guard.clauses.option=Ignore &guard clauses
ignore.for.equals.methods.option=Ignore for '&equals()' methods
caught.exception.immediately.rethrown.display.name=Caught exception is immediately rethrown
caught.exception.immediately.rethrown.problem.descriptor=Caught exception <code>#ref</code> is immediately rethrown #loc
delete.catch.section.quickfix=Delete 'catch' section
remove.try.catch.quickfix=Remove 'try catch' statement
loop.with.implicit.termination.condition.display.name=Loop with implicit termination condition
loop.with.implicit.termination.condition.dowhile.problem.descriptor=<code>#ref-while</code> loop with implicit termination condition #loc
loop.with.implicit.termination.condition.problem.descriptor=<code>#ref</code> loop with implicit termination condition #loc
loop.with.implicit.termination.condition.quickfix=Make condition explicit
ignore.iterator.loop.variables=Ignore java.util.Iterator loop variables
rename.catch.parameter.to.ignored=Rename 'catch' parameter to 'ignored'
unnecessary.super.qualifier.display.name=Unnecessary 'super' qualifier
unnecessary.super.qualifier.problem.descriptor=Qualifier <code>#ref</code> is unnecessary in this context #loc
unnecessary.super.qualifier.quickfix=Remove unnecessary 'super' qualifier
collections.field.access.replaceable.by.method.call.display.name=Collections.EMPTY_* field access replaceable with 'Collections.empty*()' method call
collections.field.access.replaceable.by.method.call.problem.descriptor=<code>#ref</code> replaceable with ''Collections.{0}'' #loc
collections.field.access.replaceable.by.method.call.quickfix=Replace with ''{0}''
synchronization.on.local.variable.or.method.parameter.display.name=Synchronization on local variable or method parameter
synchronization.on.local.variable.problem.descriptor=Synchronization on local variable <code>#ref</code> #loc
synchronization.on.method.parameter.problem.descriptor=Synchronization on method parameter <code>#ref</code> #loc
too.broad.catch.quickfix=Add ''catch'' clause for ''{0}''
replace.with.catch.clause.for.runtime.exception.quickfix=Replace with 'catch' clause for 'RuntimeException'
too.broad.catch.option=&Only warn on RuntimeException, Exception, Error or Throwable
unnecessary.call.to.string.valueof.display.name=Unnecessary call to 'String.valueOf()'
unnecessary.tostring.call.display.name=Unnecessary call to 'toString()'
unnecessary.call.to.string.valueof.problem.descriptor=<code>#ref</code> can be simplified to ''{0}'' #loc
unnecessary.tostring.call.problem.descriptor=Unnecessary <code>#ref()</code> call #loc
unnecessary.call.to.string.valueof.quickfix=Replace with ''{0}''
throwable.result.of.method.call.ignored.display.name=Throwable result of method call ignored
throwable.result.of.method.call.ignored.problem.descriptor=Result of <code>#ref()</code> not thrown #loc
char.used.in.arithmetic.context.display.name=Char expression used in arithmetic context
char.used.in.arithmetic.context.problem.descriptor='char' <code>#ref</code> used in arithmetic context #loc
char.used.in.arithmetic.context.quickfix=Convert to String literal
char.used.in.arithmetic.context.cast.quickfix=Insert cast to {0}
unnecessary.constant.array.creation.expression.display.name=Constant array creation expression can be replaced with array initializer
unnecessary.constant.array.creation.expression.problem.descriptor=<code>#ref</code> can be replaced with array initializer expression #loc
unnecessary.constant.array.creation.expression.quickfix=Replace with array initializer expression
ambiguous.method.call.display.name=Inherited method called, while local method might have been expected
ambiguous.method.call.problem.descriptor=Method <code>#ref()</code> from superclass ''{0}'' called, when method from class ''{1}'' might have been expected #loc
ambiguous.method.call.quickfix=Add 'super' qualifier to method call
change.modifier.quickfix=Make ''{0}''
the.whole.project=the whole project
this.class=this class
assertequals.may.be.assertsame.display.name='assertEquals()' may be 'assertSame()'
assertequals.may.be.assertsame.problem.descriptor=<code>#ref()</code> may be 'assertSame()' #loc
logger.initialized.with.foreign.class.quickfix=Replace with ''{0}.class''
logger.initialized.with.foreign.class.problem.descriptor=Logger initializer with foreign class <code>#ref</code> #loc
logger.initialized.with.foreign.class.display.name=Logger initialized with foreign class
logger.factory.method.name=Logger factory method name
logger.factory.class.name=Logger factory class name
make.static.final.quickfix=Make ''{0}'' static final
logging.condition.disagrees.with.log.statement.display.name=Log condition does not match logging call
logging.condition.disagrees.with.log.statement.problem.descriptor=Log condition <code>#ref()</code> does not match ''{0}()'' logging call #loc
log.statement.guarded.by.log.condition.display.name=Logging call not guarded by log condition
log.statement.guarded.by.log.condition.problem.descriptor=<code>#ref()</code> logging calls not guarded by log condition #loc
log.statement.guarded.by.log.condition.quickfix=Surround with log condition
log.statement.guarded.by.log.condition.flag.all.unguarded.option=Flag all unguarded logging calls
key.set.iteration.may.use.entry.set.display.name=Iteration over 'keySet()' may be replaced with 'entrySet()' iteration
key.set.iteration.may.use.entry.set.problem.descriptor=Iteration over <code>#ref</code> may be replaced with 'entrySet()' iteration #loc
key.set.iteration.may.use.entry.set.quickfix=Replace with 'entrySet()' iteration
string.replaceable.by.string.buffer.in.loop.option=Only warn when appending in a loop
declare.collection.as.interface.quickfix=Weaken to ''{0}''
non.exception.name.ends.with.exception.quickfix=Make ''{0}'' extend ''java.lang.Exception''
constant.value.variable.use.display.name=Use of variable whose value is known to be constant
constant.value.variable.use.problem.descriptor=Value of <code>#ref</code> is known to be constant #loc
replace.reference.with.expression.quickfix=Replace with ''{0}''
unnecessary.parentheses.option=Ignore clarifying parentheses
unnecessary.parentheses.conditional.option=Ignore parentheses around the condition of conditional expressions
field.may.be.final.display.name=Field may be 'final'
field.may.be.final.problem.descriptor=Field <code>#ref</code> may be 'final' #loc
cast.that.loses.precision.option=Ignore casts from int to char
variable.not.used.inside.if.display.name=Reference checked for 'null' is not used inside 'if'
variable.not.used.inside.if.problem.descriptor=<code>#ref</code> checked for 'null' is not used inside 'if' #loc
variable.not.used.inside.conditional.problem.descriptor=<code>#ref</code> checked for 'null' is not used inside conditional #loc
if.may.be.conditional.display.name='if' statement could be replaced with conditional expression
if.may.be.conditional.problem.descriptor=<code>#ref</code> could be replaced with conditional expression #loc
if.may.be.conditional.quickfix=Replace with conditional expression
if.may.be.conditional.report.method.calls.option=Report if statements containing method calls
redundant.string.format.call.display.name=Redundant call to 'String.format()'
redundant.string.format.call.problem.descriptor=Redundant call to <code>#ref</code> #loc
redundant.string.format.call.quickfix=Remove redundant call to 'String.format()'
junit4.test.method.in.class.extending.junit3.testcase.display.name=JUnit 4 test method in class extending JUnit 3 TestCase
junit4.test.method.in.class.extending.junit3.testcase.problem.descriptor=Method <code>#ref()</code> annotated with '@Test' inside class extending JUnit 3 TestCase #loc
ignore.test.method.in.class.extending.junit3.testcase.problem.descriptor=JUnit 3 test method <code>#ref()</code> annotated with '@Ignore' won't be ignored #loc
ignore.test.method.in.class.extending.junit3.testcase.quickfix=Remove ''@Ignore'' and rename method to ''{0}''
convert.junit3.test.class.quickfix=Convert JUnit 3 class ''{0}'' to JUnit 4
remove.junit4.test.annotation.quickfix=Remove '@Test' annotation
equals.called.on.enum.constant.display.name='equals()' called on Enum value
equals.called.on.enum.constant.problem.descriptor=<code>#ref()</code> called on Enum value #loc
equals.called.on.enum.constant.quickfix=Replace 'equals()' with '=='
int.literal.may.be.long.literal.display.name='int' literal cast to 'long' could be 'long' literal
int.literal.may.be.long.literal.problem.descriptor=<code>#ref</code> could be replaced with ''{0}'' #loc
int.literal.may.be.long.literal.quickfix=Replace with ''{0}''
constant.assert.condition.display.name='assert' statement condition is constant
constant.assert.condition.problem.descriptor=Assert condition <code>#ref</code> is constant #loc
assert.with.side.effects.display.name='assert' statement with side effects
assert.with.side.effects.problem.descriptor=<code>#ref</code> has side effects #loc
method.count.ignore.getters.setters.option=&Ignore simple getter and setter methods
class.new.instance.display.name=Unsafe call to 'Class.newInstance()'
class.new.instance.problem.descriptor=Call to <code>#ref()</code> may throw undeclared checked exceptions #loc
class.new.instance.quickfix=Replace with 'Class.getConstructor().newInstance()' call
dynamic.regex.replaceable.by.compiled.pattern.display.name=Dynamic regular expression could be replaced by compiled Pattern
dynamic.regex.replaceable.by.compiled.pattern.problem.descriptor=<code>#ref()</code> could be replaced with compiled java.util.regex.Pattern construct #loc
dynamic.regex.replaceable.by.compiled.pattern.quickfix=Replace with call to method of compiled 'Pattern' constant
ignore.serializable.option=Ignore java.io.Serializable
ignore.cloneable.option=Ignore 'java.lang.Cloneable'
listener.may.use.adapter.display.name=Class may extend adapter instead of implementing listener
listener.may.use.adapter.problem.descriptor=Class ''{0}'' may extend ''{1}'' instead of implementing <code>#ref</code> #loc
listener.may.use.adapter.quickfix=Replace with ''extends {0}''
listener.may.use.adapter.emtpy.methods.option=&Only warn when empty implementing methods are found
unnecessary.inherit.doc.display.name=Unnecessary {@inheritDoc} Javadoc Comment
unnecessary.inherit.doc.problem.descriptor=Javadoc comment containing only <code>#ref</code> is unnecessary #loc
unnecessary.inherit.doc.quickfix=Remove unnecessary @inheritDoc
multiple.exceptions.declared.on.test.method.display.name=Multiple exceptions declared on test method
multiple.exceptions.declared.on.test.method.problem.descriptor=<code>#ref</code> could be replaced with 'throws Exception' #loc
multiple.exceptions.declared.on.test.method.quickfix=Replace with 'throws Exception'
unnecessary.javadoc.link.display.name=Unnecessary Javadoc link
unnecessary.javadoc.link.super.method.problem.descriptor=<code>#ref</code> pointing to super method is unnecessary #loc
unnecessary.javadoc.link.this.method.problem.descriptor=<code>#ref</code> pointing to this method is unnecessary #loc
unnecessary.javadoc.link.this.class.problem.descriptor=<code>#ref</code> pointing to containing class is unnecessary #loc
unnecessary.javadoc.link.quickfix=Remove unnecessary '{0}'
thread.local.not.static.final.display.name=ThreadLocal field not declared static final
thread.local.not.static.final.problem.descriptor=ThreadLocal <code>#ref</code> is not declared 'static final' #loc
remove.try.finally.block.quickfix=Remove 'try-finally' block
remove.finally.block.quickfix=Remove 'finally' block
remove.leading.zero.to.make.decimal.quickfix=Remove leading zero to make decimal
convert.octal.literal.to.decimal.literal.quickfix=Convert octal literal to decimal literal
ignore.single.field.static.imports.option=Ignore single &field static imports
ignore.single.method.static.imports.option=Ignore single &method static imports
ignore.methods.with.boolean.return.type.option=Ignore methods with &Boolean return type
ignore.boolean.methods.in.an.interface.option=Ignore boolean methods in an @&interface
ignore.methods.overriding.super.method=Ignore methods &overriding/implementing a super method
ignore.nullable.parameters.option=Ignore @Nullable parameters
ignored.io.resource.types=Ignored I/O resource types
choose.io.resource.type.to.ignore=Choose I/O resource type to ignore
ignore.accesses.from.the.same.class=Ignore accesses from the same class
ignore.accesses.from.equals.method=Ignore accesses from 'equals()' method
ignore.branches.of.switch.statements=Ignore branches of 'switch' statements
ignore.equals.hashcode.and.tostring=Ignore 'equals()', 'hashCode()' and 'toString()' methods
ignore.methods.in.anonymous.classes=Ignore methods in anonymous classes
class.name=Class name
method.name.pattern=Method name pattern
query.column.name=Query names start with
update.column.name=Update names start with
assert.keyword.is.considered.an.assertion='assert' keyword is considered an assertion
expected.exception.never.thrown.display.name=Expected exception never thrown in test method body
expected.exception.never.thrown.problem.descriptor=Expected <code>#ref</code> never thrown in body of ''{0}()'' #loc
choose.logger.class=Choose logger class
logger.class.name=Logger class name
ignore.exceptions.declared.on.library.override.option=Ignore exceptions declared on methods overriding a &library method
allow.resource.to.be.opened.inside.a.try.block=Allow resource to be opened inside a 'try' block
log.method.name=Logging method name
log.condition.text=Log condition text
ignore.if.annotated.by=Ignore if annotated by
only.weaken.to.an.interface=Only weaken to an interface
unqualified.inner.class.access.display.name=Unqualified inner class access
unqualified.inner.class.access.problem.descriptor=<code>#ref</code> is not qualified with outer class #loc
unqualified.inner.class.access.quickfix=Qualify with outer class
unnecessarily.qualified.inner.class.access.problem.descriptor=''{0}'' is unnecessarily qualified with <code>#ref</code> #loc
unnecessarily.qualified.inner.class.access.display.name=Unnecessarily qualified inner class access
unnecessarily.qualified.inner.class.access.quickfix=Remove qualifier
synchronization.on.static.field.display.name=Synchronization on 'static' field
synchronization.on.static.field.problem.descriptor=Synchronization on 'static' field <code>#ref</code> #loc
assertequals.called.on.arrays.display.name='assertEquals()' called on array
assertequals.called.on.arrays.problem.descriptor=<code>#ref()</code> called on array #loc
assertequals.called.on.arrays.quickfix=Replace with 'assertArrayEquals()'
overly.broad.throws.clause.display.name=Overly broad 'throws' clause
overly.broad.throws.clause.problem.descriptor1=<code>throws #ref</code> is too broad, masking exception ''{0}'' #loc
overly.broad.throws.clause.problem.descriptor2=<code>throws #ref</code> is too broad, masking exceptions ''{0}'' and ''{1}'' #loc
overly.broad.throws.clause.quickfix1=Add specific exceptions
overly.broad.throws.clause.quickfix2=Replace with specific exceptions
overly.broad.throws.clause.ignore.thrown.option=Ignore exceptions which &hide others but are themselves thrown
unnecessarily.qualified.statically.imported.element.display.name=Unnecessarily qualified statically imported element
unnecessarily.qualified.statically.imported.element.problem.descriptor=Statically imported element ''{0}'' is unnecessarily qualified with <code>#ref</code> #loc
unnecessarily.qualified.statically.imported.element.quickfix=Remove unnecessary qualifier
ignore.instanceof.on.library.classes=Ignore instanceof on library classes
assertequals.may.be.assertsame.quickfix=Replace with 'assertSame()'
for.can.be.foreach.option=Report indexed 'java.util.List' loops
for.can.be.foreach.option2=Do not report iterations over untyped collections
cast.conflicts.with.instanceof.quickfix1=Replace ''{0}'' with ''{1}'' in cast
cast.conflicts.with.instanceof.quickfix2=Replace ''{0}'' with ''{1}'' in instanceof
double.checked.locking.quickfix=Make ''{0}'' 'volatile'
double.literal.may.be.float.literal.display.name='double' literal cast to 'float' could be 'float' literal
double.literal.may.be.float.literal.problem.descriptor=<code>#ref</code> could be replaced with ''{0}'' #loc
double.literal.may.be.float.literal.quickfix=Replace with ''{0}''
multiple.declaration.option=Ignore 'for' loop declarations
simplifiable.annotation.display.name=Simplifiable annotation
simplifiable.annotation.problem.descriptor=Annotation <code>#ref</code> may be replaced with ''{0}'' #loc
simplifiable.annotation.quickfix=Simplify annotation
overloaded.methods.with.same.number.parameters.option=<html>Ignore overloaded methods whose parameter types are definitely incompatible</html>
string.concatenation.in.format.call.display.name=String concatenation as argument to 'format()' call
string.concatenation.in.format.call.problem.descriptor=<code>#ref()</code> call has a String concatenation argument #loc
string.concatenation.in.format.call.quickfix=Replace concatenation with separate argument
string.concatenation.in.format.call.plural.quickfix=Replace concatenation with separate arguments
string.concatenation.in.message.format.call.display.name=String concatenation as argument to 'MessageFormat.format()' call
string.concatenation.in.message.format.call.problem.descriptor=String concatenation as argument to 'MessageFormat.format()' call #loc
shift.out.of.range.quickfix=Replace ''{0}'' with ''{1}''
boxing.boxed.value.display.name=Boxing of already boxed value
boxing.boxed.value.problem.descriptor=Boxing of already boxed <code>#ref</code> #loc
boxing.boxed.value.quickfix=Remove unnecessary boxing
unnecessary.javadoc.link.option=Ignore inline links to super methods
constant.junit.assert.argument.display.name=Constant JUnit assert argument
constant.junit.assert.argument.problem.descriptor=Argument <code>#ref</code> is constant #loc
test.case.with.no.test.methods.option=Ignore test cases which have superclasses with test methods
package.dot.html.may.be.package.info.display.name='package.html' may be converted to 'package-info.java'
package.dot.html.may.be.package.info.exists.problem.descriptor=<code>package.html</code> is ignored because <code>package-info.java</code> exists
package.dot.html.may.be.package.info.problem.descriptor=<code>package.html</code> may be converted to <code>package-info.java</code>
package.dot.html.may.be.package.info.delete.quickfix=Delete 'package.html'
package.dot.html.delete.command=package.html deletion
package.dot.html.may.be.package.info.convert.quickfix=Convert to 'package-info.java'
package.dot.html.convert.command=package.html to package-info.java conversion
choose.super.class.to.ignore=Choose class
ignore.anonymous.inner.classes=Ignore anonymous inner classes
try.with.identical.catches.display.name=Identical 'catch' branches in 'try' statement
try.with.identical.catches.problem.descriptor='catch' branch identical to ''{0}'' branch #loc
if.can.be.switch.display.name='if' replaceable with 'switch'
if.can.be.switch.problem.descriptor=<code>#ref</code> statement replaceable with 'switch' statement #loc
if.can.be.switch.quickfix=Replace with 'switch'
if.can.be.switch.minimum.branch.option=Minimum number of branches:
if.can.be.switch.int.option=Suggest switch on numbers
if.can.be.switch.enum.option=Suggest switch on enums
unnecessarily.qualified.inner.class.access.option=Ignore references for which an import is needed
unqualified.inner.class.access.option=Ignore references to local inner classes
try.with.identical.catches.quickfix=Collapse 'catch' blocks
confusing.else.option=<html>Also report when there are no more statements after the 'if' statement</html>
html.tag.can.be.javadoc.tag.display.name=<code>...</code> can be replaced with {@code ...}
html.tag.can.be.javadoc.tag.problem.descriptor=<code>#ref...\\&lt;/code\\&gt;</code> can be replaced with '{@code ...}' #loc
html.tag.can.be.javadoc.tag.quickfix=Replace with '{@code ...}'
try.finally.can.be.try.with.resources.display.name='try finally' replaceable with 'try' with resources
try.finally.can.be.try.with.resources.problem.descriptor=<code>#ref</code> can use automatic resource management #loc
try.finally.can.be.try.with.resources.quickfix=Replace with 'try' with resources
array.comparison.display.name=Array comparison using '==', instead of 'Arrays.equals()'
array.comparison.problem.descriptor=Array objects are compared using <code>#ref</code>, not 'Arrays.equals()' #loc
array.hash.code.display.name='hashCode()' called on array
array.hash.code.problem.descriptor=<code>#ref()</code> called on array should probably be 'Arrays.hashCode()' #loc
arrays.deep.hash.code.quickfix=Replace with 'Arrays.deepHashCode()'
arrays.hash.code.quickfix=Replace with 'Arrays.hashCode()'
method.can.be.variable.arity.method.display.name=Method can be variable arity method
method.can.be.variable.arity.method.problem.descriptor=<code>#ref()</code> can be converted to variable arity method #loc
method.can.be.variable.arity.method.ignore.byte.short.option=<html>Ignore methods with a last parameter of type byte[] or short[]</html>
convert.to.variable.arity.method.quickfix=Convert to varargs method
mismatched.string.builder.query.update.display.name=Mismatched query and update of StringBuilder
mismatched.string.builder.updated.problem.descriptor=Contents of {0} <code>#ref</code> are updated, but never queried #loc
mismatched.string.builder.queried.problem.descriptor=Contents of {0} <code>#ref</code> are queried, but never updated #loc
math.random.cast.to.int.display.name='Math.random()' cast to 'int'
math.random.cast.to.int.problem.descriptor=<code>#ref</code> cast to 'int' is always rounded down to '0' #loc
math.random.cast.to.int.quickfix=Add parentheses to perform multiplication before cast
boolean.variable.always.inverted.display.name=Boolean variable is always inverted
boolean.field.always.inverted.problem.descriptor=Boolean field <code>#ref</code> is always inverted #loc
boolean.variable.always.inverted.problem.descriptor=Boolean variable <code>#ref</code> is always inverted #loc
unnecessary.explicit.numeric.cast.display.name=Unnecessary explicit numeric cast
unnecessary.explicit.numeric.cast.problem.descriptor=''{0}'' unnecessarily cast to <code>#ref</code> #loc
unnecessary.explicit.numeric.cast.quickfix=Remove cast
null.thrown.display.name='null' thrown
null.thrown.problem.descriptor=<code>#ref</code> thrown #loc
null.thrown.quickfix=Replace with 'new NullPointerException()'
element.only.used.from.test.code.display.name=Symbol only used from test code
class.only.used.from.test.code.problem.descriptor=class <code>#ref</code> only used from test code #loc
method.only.used.from.test.code.problem.descriptor=method <code>#ref()</code> only called from test code #loc
field.only.used.from.test.code.problem.descriptor=field <code>#ref</code> only accessed from test code #loc
unnecessary.final.on.local.variable.or.parameter.display.name=Unnecessary 'final' on local variable or parameter
unnecessary.final.on.local.variable.problem.descriptor=Unnecessary <code>#ref</code> on variable ''{0}'' #loc
unnecessary.final.on.parameter.problem.descriptor=Unnecessary <code>#ref</code> on parameter ''{0}'' #loc
unnecessary.final.report.local.variables.option=Report local variables
unnecessary.final.report.parameters.option=Report parameters
unnecessary.final.on.parameter.only.interface.option=Only warn on abstract or interface methods
choose.exception.class=Choose Exception class
class.independent.of.module.display.name=Class independent of its module
class.independent.of.module.problem.descriptor=Class <code>#ref</code> has no dependencies or dependents in its module #loc
class.only.used.in.one.module.display.name=Class only used from one other module
class.only.used.in.one.module.problem.descriptor=Class <code>#ref</code> has only dependencies on and/or dependents in module ''{0}'' #loc
empty.directory.display.name=Empty directory
empty.directories.problem.descriptor=Empty directory <code>{0}</code>
empty.directories.only.under.source.roots.option=Only report empty directories located under a source folder
empty.directories.delete.quickfix=Delete empty directory ''{0}''
simplifiable.equals.expression.display.name=Unnecessary 'null' check before 'equals()' call
simplifiable.equals.expression.problem.descriptor=Unnecessary ''null'' check before ''{0}()'' call #loc
simplifiable.equals.expression.quickfix=Flip ''.{0}()'' and remove unnecessary ''null'' check
cast.to.concrete.class.option=Ignore casts to an abstract class type
cast.to.concrete.class.ignore.equals.option=Ignore in equals()
instanceof.interfaces.option=Ignore instanceof abstract class
instance.variable.of.concrete.class.option=Ignore instance fields whose type is an abstract class
local.variable.of.concrete.class.option=Ignore local variables whose type is an abstract class
method.return.of.concrete.class.option=Ignore methods whose return type is an abstract class
parameter.of.concrete.class.option=Ignore parameters whose type is abstract class
static.variable.of.concrete.class.option=Ignore static fields whose type is an abstract class
class.only.used.in.one.package.display.name=Class only used from one other package
class.only.used.in.one.package.problem.descriptor=Class <code>#ref</code> has only dependencies on and/or dependents in package ''{0}'' #loc
unnecessary.return.option=Ignore in then branch of 'if' statement with 'else' branch
usage.of.obsolete.assert.display.name=Usage of obsolete 'junit.framework.Assert'
use.of.obsolete.assert.problem.descriptor=Call to <code>#ref()</code> from 'junit.framework.Assert' should be replaced with call to method from 'org.junit.Assert' #loc
use.of.obsolete.assert.quickfix=Replace with 'org.junit.Assert' method call
properties.object.as.hashtable.set.quickfix=Replace with call to 'setProperty()'
properties.object.as.hashtable.get.quickfix=Replace with call to 'getProperty()'
ignored.junit.test.display.name=JUnit test annotated with '@Ignore'
ignored.junit.test.classproblem.descriptor=Test class ''{0}'' annotated with <code>#ref</code> #loc
ignored.junit.test.method.problem.descriptor=Test method ''{0}()'' annotated with <code>#ref</code> #loc
unclear.binary.expression.display.name=Unclear expression
unclear.binary.expression.problem.descriptor=Expression could use clarifying parentheses #loc
unclear.binary.expression.quickfix=Add clarifying parentheses
new.exception.without.arguments.display.name=Exception constructor called without arguments
new.exception.without.arguments.problem.descriptor=<code>new #ref()</code> without arguments #loc
new.exception.without.arguments.ignore.option=Ignore for exceptions that have no constructors with parameters
absolute.alignment.in.user.interface.display.name=Absolute alignment used in AWT/Swing code
absolute.alignment.in.user.interface.problem.descriptor=Absolute alignment constant <code>{0}.#ref</code> used #loc
absolute.alignment.in.user.interface.quickfix=Replace with ''{0}.{1}''
throws.runtime.exception.display.name=Unchecked exception declared in 'throws' clause
throws.runtime.exception.problem.descriptor=Unchecked exception <code>#ref</code> declared in 'throws' clause #loc
throws.runtime.exception.quickfix=Remove ''{0}'' from ''throws'' clause
throws.runtime.exception.move.quickfix=Move ''{0}'' to Javadoc ''@throws'' tag
empty.class.ignore.parameterization.option=Ignore class if it is a parameterization of a super type
ambiguous.field.access.display.name=Inherited field accessed while local variable, parameter or field access from surrounding class might be expected
ambiguous.field.access.hides.local.variable.problem.descriptor=Field <code>#ref</code> from superclass ''{0}'' accessed, while local variable access might be expected #loc
ambiguous.field.access.hides.parameter.problem.descriptor=Field <code>#ref</code> from superclass ''{0}'' accessed, while parameter access might be expected #loc
ambiguous.field.access.hides.field.problem.descriptor=Field <code>#ref</code> from superclass ''{0}'' accessed, while field access from surrounding class might be expected #loc
ambiguous.field.access.quickfix=Add 'super' qualifier to field access
string.builder.replaceable.by.string.quickfix=Replace 'StringBuilder' with 'String'
string.buffer.replaceable.by.string.quickfix=Replace 'StringBuffer' with 'String'
add.0.to.ignore.if.annotated.by.list.quickfix=Add ''{0}'' to ''Ignore if annotated by'' list
non.final.field.in.enum.display.name=Non-'final' field in enum
non.final.field.in.enum.problem.descriptor=non-''final'' field <code>#ref</code> in enum ''{0}'' #loc
externalizable.without.public.no.arg.constructor.display.name=Externalizable class without public no-arg constructor
externalizable.without.public.no.arg.constructor.problem.descriptor=Externalizable class <code>#ref</code> has no public no-arg constructor #loc
make.constructor.public=Make constructor 'public'
string.concatenation.missing.whitespace.display.name=String literal concatenation missing whitespace
string.concatenation.missing.whitespace.problem.descriptor=String literal concatenation missing whitespace #loc
string.concatenation.missing.whitespace.option=Ignore when one or both sides are not literals
negated.equality.expression.display.name=Negated equality expression
negated.equality.expression.problem.descriptor=Negating ''{0}'' #loc
negated.equality.expression.quickfix=Remove negation
negated.conditional.expression.display.name=Negated conditional expression
negated.conditional.expression.problem.descriptor=Negating conditional expression #loc
negated.conditional.expression.quickfix=Remove negation
suspicious.array.cast.display.name=Suspicious array cast
suspicious.array.cast.problem.descriptor=Suspicious cast to <code>#ref</code> #loc
public.constructor.display.name='public' constructor
public.default.constructor.problem.descriptor=Class <code>#ref</code> has public default constructor
public.constructor.problem.descriptor=Public constructor <code>#ref()</code> #loc
public.constructor.quickfix=Replace constructor with factory method
junit3.style.test.method.in.junit4.class.display.name=Old style JUnit test method in JUnit 4 class
junit3.style.test.method.in.junit4.class.problem.descriptor=Old style JUnit test method <code>#ref()</code> in JUnit 4 class #loc
none=none
private=private
package.local.private=package local & private
protected.package.local.private=protected, package local & private
non.final.utility.class.display.name=Utility class is not final
non.final.utility.class.problem.descriptor=Utility class <code>#ref</code> is not 'final' #loc
0.will.no.longer.be.overridable.by.1={0} will no longer be overridable by {1}
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}
make.private.quickfix=Make 'private'
arrays.as.list.with.zero.or.one.argument.display.name=Call to 'Arrays.asList()' with too few arguments
arrays.as.list.with.one.argument.problem.descriptor=Call to <code>#ref</code> with only one argument #loc
arrays.as.list.with.zero.arguments.problem.descriptor=Call to <code>#ref</code> with zero arguments #loc
arrays.as.list.with.one.argument.quickfix=Replace with call to 'Collections.singletonList()'
arrays.as.list.with.zero.arguments.quickfix=Replace with call to 'Collections.emptyList()'
ignore.classes.extending.throwable.option=Ignore classes extending 'Throwable'
string.concatenation.argument.to.log.call.display.name=Non-constant string concatenation as argument to logging call
string.concatenation.argument.to.log.call.problem.descriptor=Non-constant string concatenation as argument to <code>#ref()</code> logging call #loc
string.concatenation.argument.to.log.call.quickfix=Replace concatenation with parameterized log message
placeholder.count.matches.argument.count.display.name=Number of placeholders does not match number of arguments in logging call
placeholder.count.matches.argument.count.more.problem.descriptor=<code>#ref()</code> call has more arguments ({0}) than placeholders ({1}) #loc
placeholder.count.matches.argument.count.fewer.problem.descriptor=<code>#ref()</code> call has fewer arguments ({0}) than placeholders ({1}) #loc
assignment.to.superclass.field.display.name=Constructor assigns value to field defined in superclass
assignment.to.superclass.field.problem.descriptor=Assignment to field ''{0}'' defined in superclass ''{1}'' #loc
junit.rule.display.name=Malformed @Rule/@ClassRule field
junit.rule.problem.descriptor=Fields annotated with @{0} should be {1}
junit.rule.type.problem.descriptor=Field type should be subtype of org.junit.rules.TestRule
junit.datapoint.display.name=Malformed @DataPoint field
junit.datapoint.problem.descriptor={1}s annotated with @DataPoint should be {0}
inner.class.referenced.via.subclass.display.name=Inner class referenced via subclass
inner.class.referenced.via.subclass.problem.descriptor=Inner class <code>#ref</code> declared in class ''{0}'' but referenced via subclass ''{1}'' #loc
inner.class.referenced.via.subclass.quickfix=Rationalize inner class access
boolean.parameter.display.name='public' method with 'boolean' parameter
boolean.parameter.problem.descriptor='public' method <code>#ref()</code> with 'boolean' parameter #loc
boolean.parameters.problem.descriptor='public' method <code>#ref()</code> with 'boolean' parameters #loc
boolean.parameter.constructor.problem.descriptor='public' constructor <code>#ref()</code> with 'boolean' parameter #loc
boolean.parameters.constructor.problem.descriptor='public' constructor <code>#ref()</code> with 'boolean' parameters #loc
boolean.parameter.only.report.multiple.option=Only report methods with multiple boolean parameters
unnecessary.unicode.escape.display.name=Unnecessary unicode escape sequence
unnecessary.unicode.escape.problem.descriptor=Unicode escape sequence <code>#ref</code> can be replaced with ''{0}'' #loc
missing.package.info.display.name=Missing 'package-info.java'
missing.package.info.problem.descriptor=Package ''{0}'' is missing a <code>package-info.java</code> file
missing.package.html.problem.descriptor=Package ''{0}'' is missing a <code>package.html</code> file
package.info.java.without.package.display.name='package-info.java' without 'package' statement
package.info.without.package.problem.descriptor='package-info.java' does not have a package statement
package.info.without.package.quickfix=add ''package {0};''
package.info.without.package.family.quickfix=add package statement
auto.closeable.resource.display.name=AutoCloseable used without 'try'-with-resources
auto.closeable.resource.problem.descriptor=''{0}'' used without ''try''-with-resources statement #loc
auto.closeable.resource.returned.option=Ignore AutoCloseable instances returned from method calls
problematic.whitespace.display.name=Problematic whitespace
problematic.whitespace.tabs.problem.descriptor=File ''{0}'' uses tabs for indentation
problematic.whitespace.spaces.problem.descriptor=File ''{0}'' uses spaces for indentation
problematic.whitespace.show.whitespaces.quickfix=Toggle show whitespace in the editor
problematic.varargs.method.display.name=Non-varargs method overrides varargs method
problematic.varargs.method.override.problem.descriptor=Non-varargs method <code>#ref()</code> overrides varargs method #loc
negatively.named.boolean.variable.problem.descriptor=Boolean variable <code>#ref</code> is negatively named #loc
negatively.named.boolean.variable.display.name=Negatively named boolean variable
invert.quickfix.family.name=Invert boolean
invert.method.quickfix=Invert method
invert.quickfix=Invert ''{0}''
throwable.printed.to.system.out.display.name='Throwable' printed to 'System.out'
throwable.printed.to.system.out.problem.descriptor='Throwable' argument <code>#ref</code> to ''System.{0}.{1}()'' call
suppress.for.tests.scope.quickfix=Suppress for 'Tests' scope
implicit.default.charset.usage.display.name=Implicit usage of platform's default charset
implicit.default.charset.usage.problem.descriptor=Call to <code>#ref()</code> uses the platform's default charset
implicit.default.charset.usage.constructor.problem.descriptor=<code>new #ref()</code> call uses the platform's default charset
interface.may.be.annotated.functional.display.name=Interface may be annotated @FunctionalInterface
interface.may.be.annotated.functional.problem.descriptor=Interface <code>#ref</code> may be annotated with @FunctionalInterface
only.report.public.methods.option=Only report 'public' methods
lambda.parameter.hides.member.variable.display.name=Lambda parameter hides field
lambda.parameter.hides.member.variable.problem.descriptor=Lambda parameter <code>#ref</code> hides field in class ''{0}'' #loc
shared.thread.local.random.display.name='ThreadLocalRandom' instance might be shared
shared.thread.local.random.problem.descriptor='ThreadLocalRandom' instance might be shared between threads
#
# Copyright 2000-2010 JetBrains s.r.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

########################################################################################################################
# Module type
########################################################################################################################
module.ruby.title=Ruby Module
module.ruby.description=Ruby modules are used for developing <b>Ruby</b> and <b>Ruby on Rails</b> applications.

project.jruby.title=JRuby Project
module.jruby.title=JRuby Module
module.jruby.description=Provides facilities for developing <b>JRuby</b> applications.

########################################################################################################################
# Ruby Sdk
########################################################################################################################
sdk.ruby.title=Ruby SDK
sdk.jruby.title=JRuby SDK

#Configuration
ruby.configuration.interpreter.path=Interpreter path
ruby.configuration.gems.bin.dir.path=Gems bin directory:
ruby.configuration.gems.bin.dir.path.tooltip=The path where gems executable scripts are installed
ruby.configuration.gems.bin.dir.select.path=Select gems bin directory

#Errors
jdk.no.specified=No SDK specified
jdk.error.notification=Please configure project SDK
jdk.type.incorrect=Wrong SDK type
jdk.type.incorrect.homepath = Home path for SDK doesn't exist
sdk.error.homepath.doesnt.exists= Home path ({0}) for ruby SDK ''{1}'' doesn''t exist.
sdk.error.isnt.valid=SDK ''{0}'' isn''t valid Ruby SDK
sdk.error.gems.bindir.doesnt.exist=Gems bin directory doesn't exist
sdk.error.gems.bindir.isnt.directory=Gems bin directory isn't a directory
sdk.error.cannot.create.sdk.title=Cannot Create SDK
sdk.error.old.x64=<br> Probably you are using jruby 1.1.3 or earlier on Windows x64 <br> See: <a href = "http://jira.codehaus.org/browse/JRUBY-2881">JRUBY-2881</a>
sdk.error.invalid.interpreter.name=Selected file ''{0}'' isn''t {1} interpreter. Select executable file with name ''{2}''.

sdk.error.no.rails.found=[No Rails found in SDK]
sdk.error.no.rails.found.prompt.message.confirm.no.rails=No Rails script found in SDK bin path. With no Rails installed you will not be able to generate Rails applications. Continue anyway?

sdk.error.no.server.gem.found=[No ''{0}'' gem found in SDK]
sdk.error.no.server.gem.found.rails3=[No ''{0}'' gem found in SDK or it''s not added to the Gemfile]

sdk.error.jruby.jdk.type.incorrect={0} server can run only with JRuby SDK
sdk.error.jruby.cannot.debug=Cannot debug Rails on {0} server
#########################################################################################################################
# Execution errors
########################################################################################################################
execution.error.title=Execution Error
execution.error.no.executable.cmd.for.script=Unable to run ''{0}''
execution.error.no.executable.cmd.for.gem.name=Unable to run gem ''{0}''. Cannot find ''{1}''
execution.error.no.gem.found=Unable to find gem ''{0}''
execution.ruby.script.get.available.generators=Get available generators script executes with errors:\n{0}
execution.ruby.script.get.available.raketasks=Get available rake tasks script executes with errors:\n{0}
execution.error.testunit.spork.script.not.found=Spork tests runner 'testdrb' script wasn't found.

########################################################################################################################
# Run configuration
########################################################################################################################
run.configuration.type.name=Ruby
run.configuration.type.description=Ruby run configurations

run.configuration.script.name=Ruby script
run.configuration.test.name=Ruby test
run.configuration.server.title=Server
run.configuration.rspec.name=RSpec
run.configuration.rake.name=Rake
run.configuration.remote.debug.name=Ruby remote debug

run.configuration.messages.select.working.dir=Select working directory
run.configuration.messages.script.args=Script arguments
run.configuration.messages.edit.script.args=Edit Script Arguments
run.configuration.messages.suggested.name=this script

run.configuration.messages.select.ruby.script.path=Select Ruby Script
run.configuration.messages.select.sdk.bound=Ruby SDK:
run.configuration.messages.select.module=Choose SDK from module:
run.configuration.messages.select.module.rubymine=Use project SDK:
run.configuration.messages.working.dir=Working directory:
run.configuration.messages.ruby.args=Ruby arguments
run.configuration.messages.edit.ruby.args=Edit Ruby Arguments
run.configuration.messages.script.path=Ruby script:
run.configuration.messages.folder.path=Folder:
run.configuration.messages.select.folder.path=Select Folder
run.configuration.dialog.components.sdk=SDK
run.configuration.tests.drb.checkbox=Use &DRb server (see Tools | Run Spork DRb Server...)
run.configuration.messages.runner.version.no.gems=[No {0} gem found in SDK]
run.configuration.messages.runner.version=''{0}'' gem:
run.configuration.tests.runner.options=Runner options
run.configuration.tests.runner.options.editor.title=Edit Runner Options

## Cucumber
cucumber.jruby.run.configuration.type.name = JRuby Cucumber
cucumber.jruby.run.configuration.type.description=Run configurations for Cucumber features with step definitions written in JRuby and Java.
cucumber.jruby.errors.module.not.specified=Project module isn't specified
cucumber.jruby.errors.jruby.facet.not.specified=JRuby Facet isn''t configured for module ''{0}''
cucumber.jruby.errors.jruby.sdk.not.specified=JRuby SDK isn''t specified for module ''{0}''

cucumber.run.configuration.type.name = Cucumber
cucumber.run.configuration.type.description=Cucumber features run configurations

cucumber.run.configuration.tests.use.gem.from.sdk.checkbox=Use other SDK and Cucumber Gem:
cucumber.run.configuration.tests.form.testtype.title=Mode:
cucumber.run.configuration.tests.dialog.rb.allInFolder=All features in &folder
cucumber.run.configuration.messages.feature.path=Feature &file
cucumber.run.configuration.tests.backtrace.checkbox=Output full &backtrace
cucumber.run.configuration.tests.verbose.checkbox=Show the files and features &loaded
cucumber.run.configuration.messages.script.path=Feature f&ile:
cucumber.run.configuration.tests.dialog.components.folder=Features f&older
cucumber.run.configuration.tests.dialog.components.filter.tags=&Tags filter
cucumber.run.configuration.tests.dialog.components.filter.elements=Element &name filter
cucumber.run.configuration.test.default.name=All features in {0}: {1}
cucumber.quick.fix.create.step.file.path.msg=Please enter full path of the step definitions file:

## RSpec
rspec.run.configuration.type.name = RSpec
rspec.run.configuration.type.description=RSpec examples run configurations

rspec.run.configuration.rspec.name=RSpec
rspec.run.configuration.tests.dialog.components.search.mask=File name mask:
rspec.run.configuration.tests.dialog.components.example.name=Example name
rspec.run.configuration.tests.dialog.components.folder=Specs folder
rspec.run.configuration.tests.dialog.rb.allInFolder=&All specs in folder
rspec.run.configuration.tests.dialog.rb.file=&Spec script
rspec.run.configuration.tests.form.testtype.title=Mode:
rspec.run.configuration.tests.coloured.output=Enable &coloured output
rspec.run.configuration.messages.script.path=Spec script:

rspec.run.configuration.tests.dialog.components.select.spec.custom.runner=Select Custom RSpec Runner Script
rspec.run.configuration.tests.dialog.components.spec.custom.use=Use custom RSpec runner script:
rspec.run.configuration.tests.runner.run.separately=Run each spec script in &own process
rspec.run.configuration.tests.backtrace.checkbox=Output full &backtrace
rspec.run.configuration.log.tab.name=RSpec log

run.configuration.tests.display.name=Test::Unit/Shoulda/Minitest
run.configuration.tests.description=Test::Unit and Minitest based run configurations
run.configuration.tests.messages.class.name=Class:
run.configuration.tests.messages.method.name=Method:
run.configuration.test.form.testtype.title=Mode:
run.configuration.tests.dialog.components.folder=Tests folder
run.configuration.tests.dialog.components.search.mask=Test file name mask:
run.configuration.tests.dialog.components.file=Ruby script
run.configuration.tests.dialog.components.class=Class
run.configuration.tests.dialog.components.method=Test name filter
run.configuration.tests.dialog.rb.allInFolder=&All tests in folder
run.configuration.tests.dialog.rb.class=TestCase &class
run.configuration.tests.dialog.rb.method=Test &method
run.configuration.tests.dialog.rb.file=Test &script
run.configuration.tests.no.data=[none]
run.configuration.tests.no.qualified.name=[Unable to evaluate qualified name]
run.configuration.test.use.alternate.sdk.checkbox=Use alternative S&DK
run.configuration.test.disable.smart.check=D&isable test class or test method name check
run.configuration.messages.edit.runner.options=Edit Runner Options
run.configuration.messages.runner.options=Runner options
run.configuration.tests.use.alternative.sdk.checkbox=Use other SDK:
run.configuration.tests.use.gem.from.sdk.checkbox=Use other SDK and ''{0}'' gem:

rails.run.configuration.type.name = Rails
rails.run.configuration.type.description=Rails run configurations
run.configuration.server.dialog.dummy.app=Dummy app
run.configuration.server.dialog.port=Port
run.configuration.server.dialog.ip=IP address
run.configuration.server.dialog.server=Server
run.configuration.server.args=Server arguments
run.configuration.server.dialog.use.free.port=Use &any free port
run.configuration.server.dialog.manually.port=Choose port &manually
run.configuration.server.panel.port=Port
run.configuration.server.dialog.environment=Environment

run.configuration.messages.none=[none]
run.configuration.messages.not.specified=[not specified]
sdk.renderer.no.sdk.chosen=[No SDK selected]

run.configuration.rake.description=Rake Tasks run configurations
run.configuration.rake.task.name=Task name
run.configuration.rake.task.arguments=Arguments
run.configuration.rake.task.arguments.editor=Edit Task Arguments
run.configuration.rake.task.attach.test.runner.ui=Attach test runner UI for frameworks
run.configuration.rake.task.chose.module=Choose module
run.configuration.rake.task.options.trace=Turn on invoke/execute tracing, enable full backtrace (--trace)
run.configuration.rake.task.options.dry.run=Do a dry run without executing actions (--dry-run)
run.configuration.rake.task.options.prereqs=Display the tasks and dependencies, then exit (--prereqs)
run.configuration.rake.validation.error.no.gem=Unable to find Rake executable script in SDK ''{0}''
run.configuration.rake.validation.error.no.rakefile=Unable to find 'Rakefile', 'rakefile' or 'Rakefile.rb' or 'rakefile.rb' in work directory
run.configuration.rake.validation.error.no.task=Task isn't specified

# before run
run.configuration.before.run.rake.description.empty=Run Rake task
run.configuration.before.run.rake.description=Run Rake task ''{0}''
run.configuration.before.run.rake.settings.dialog.title=Rake Task
run.configuration.before.run.rake.error.dialog.title=Cannot Launch Rake Task
run.configuration.before.run.rake.error.dialog.module.not.specified=Module isn't specified.
run.configuration.before.run.rake.execution.bg.title.main=Preparing for ''{0}'' launch
run.configuration.before.run.rake.execution.bg.title.second=Running ''{0}'' task...
run.configuration.before.run.rake.messages.tab.title=Rake task: {0}

run.configuration.before.run.jruby.compiler.description=Run JRuby Compiler
run.configuration.before.run.jruby.compiler.execute.error.title=Cannot Run JRuby Compiler
run.configuration.before.run.jruby.compiler.execute.error.title2=Cannot Add JRuby Compiler Task
run.configuration.before.run.jruby.compiler.execute.error=Please configure JRuby Sdk to be able to run jruby compiler
run.configuration.before.run.jruby.compiler.execute.error2=JRuby compiler supports only ruby run configurations
run.configuration.before.run.jruby.compiler.execute.title=Compiling ruby files...
run.configuration.before.run.jruby.compiler.execute.title2=JRuby Compiler
run.configuration.before.run.jruby.compiler.execute=JRuby Compiler Settings
run.configuration.before.run.jruby.compiler.settings.target.path.title=Please Specify Compiler Target Path

# remote debug
run.configuration.remote.debug.remote.host.not.specified=Remote host is not specified
run.configuration.remote.debug.remote.port.not.specified=Port is not specified or not a numeric value
run.configuration.remote.debug.remote.root.not.specified=Remote root is not specified
run.configuration.remote.debug.local.root.not.specified=Local root is not specified or incorrect

remote.debug.info=Info
remote.debug.server.hint=use the following command on server side to enable remote debug
remote.debug.settings=Settings
remote.debug.remote.host=Remote host
remote.debug.port=Remote port
remote.debug.dispatcher.port=Local port
remote.debug.remote.root.folder=Remote root folder
remote.debug.local.root.folder=Local root folder

########################################################################################################################
# Run configurations errors
########################################################################################################################
run.configuration.script.port.cant.find.free=Can't find free port
run.configuration.script.port.is.busy=Port {0} is busy
run.configuration.script.port.bad.format=Incorrect ''port'' value
run.configuration.script.ip.bad.format=Incorrect ''ip adress'' value
run.configuration.script.not.specified=Ruby script isn't specified
run.configuration.script.not.exists=Ruby script doesn't exist
run.configuration.script.is.not.file=Ruby script doesn't seem to be file

run.configuration.no.alternative.skd.specified=No Ruby SDK specified for configuration

# rails
run.configuration.rails.server.workdir.not.found=Cannot determine Rails application home. Rails support is disabled for this application.
run.configuration.rails.server.script.not.specified=Rails server launcher wasn't found in project
run.configuration.rails.server.script.not.exists=Rails server launcher ''{0}'' wasn''t found in project
run.configuration.rails.server.script.instead.of.detected=Rails {1}.x launcher script was found instead of Rails {2}.x one. You need ''{0}'' script to launch Rails server. Please update server launcher according to Rails {2}.x documentation.
run.configuration.rails.server.script.is.not.file=Rails server launcher ''{0}'' doesn''t seem to be file

#test unit
run.configuration.no.module.specified=No ruby runnable module specified for configuration
run.configuration.working.directory.not.exists=Working directory doesn't exist
run.configuration.working.directory.error=Working directory isn't a directory
run.configuration.working.directory.not.specified=Working directory isn't specified
run.configuration.test.folder.not.exists=Tests folder doesn't exist
run.configuration.test.folder.not.specified=Tests folder isn't specified
run.configuration.test.folder.not.dir=Tests folder isn't a directory
run.configuration.test.no.mask=Define mask for test names, e.g.: {0}
run.configuration.test.script.not.exists=Test script doesn't exist
run.configuration.test.script.not.specified=Test script isn't specified
run.configuration.test.class.not.exists=Test class not found
run.configuration.test.method.name.not.specified=Test name not specified
run.configuration.test.script.is.dir=Test script is directory
run.configuration.test.default.name=All tests in {0}: {1}
run.configuration.test.run.script.default.name=Run test ''{0}'': {1}
run.configuration.test.run.test.default.name={0}: {1}

#rspec
rspec.run.configuration.test.folder.not.exists=Specs folder doesn't exist
rspec.run.configuration.test.folder.not.specified=Specs folder isn't specified
rspec.run.configuration.test.folder.not.dir=Specs folder isn't a directory
rspec.run.configuration.test.no.mask=Define mask for specs names
rspec.run.configuration.test.script.not.specified=Spec test script isn't specified
rspec.run.configuration.test.script.not.exists=Spec test script doesn't exist
rspec.run.configuration.test.custom.runner.not.exists=Custom RSpec runner script doesn't exist
rspec.run.configuration.test.custom.runner.is.dir=Custom RSpec runner is directory
rspec.run.configuration.test.script.is.dir=Spec script is directory
rspec.run.configuration.test.default.name=All specs in {0}: {1}
rspec.run.configuration.test.run.script.default.name=Run spec ''{0}'': {1}
rspec.run.configuration.test.run.test.default.name={0}: {1}
rspec.run.configuration.test.cannot.find.script=Cannot find RSpec runner script for {0} SDK
rspec.run.configuration.test.no.rspec.rails.support=RSpec support is disabled because 'rspec-rails' gem or RSpec Rails plugin are missing. Install and activate gem at first

rspec.run.configuration.test.no.spec.scrip.error.run.generator=RSpec ''./{1}'' \
  script not found. Please install rspec-rails gem or rspec rails plugin, \
  reload generators and run ''{0}'' generator from RubyMine (use Tools|Run Rails Generators... action)
rspec.run.configuration.test.plugin.doesnt.support.win32console.gem=ROR Plugin doesn't support colouring mode \
  when 'win32console' gem is installed. Please disable colouring option in run configuration or uninstall \
  'win32console' gem.
rspec.run.spec_server.console.title=RSpec DRb server

#cucumber
cucumber.run.configuration.test.no.rails.cucumber.scrip.error.run.generator=Cucumber ''./script/cucumber'' \
  script not found. To initialize your Cucumber support please install cucumber-rails gem or cucumber rails plugin, \
  reload generators and run ''{0}'' generator from RubyMine (use Tools|Run Rails Generators... action)
cucumber.run.configuration.tags.filter.with.spaces=Tags must be comma-separated without spaces
cucumber.run.configuration.cucumber.rails.support.isnt.attached=Cucumber support disabled because 'cucumber-rails' gem or Cucumber Rails plugin are missing. Install gem and add it to the Gemfile
cucumber.run.configuration.cucumber.gem.version.isnt.supported=Cucumber gem ''{0}'' isn''t supported by graphical test runner, please use version >= ''{1}'' for ''{2}'' SDK
cucumber.run.configuration.test.folder.not.exists=Features folder doesn't exist
cucumber.run.configuration.test.folder.not.specified=Features folder isn't specified
cucumber.run.configuration.test.folder.not.dir=Features folder isn't a directory
cucumber.run.configuration.test.script.not.exists=Feature file doesn't exist
cucumber.run.configuration.test.script.not.specified=Feature file isn't specified
cucumber.run.configuration.test.custom.runner.not.exists=Custom Cucumber runner script doesn't exist
cucumber.run.configuration.tests.dialog.components.use.custom.runner=Use custom Cucumber runner script:
cucumber.run.configuration.tests.dialog.components.select.custom.runner=Select Custom Cucumber Runner Script
cucumber.run.configuration.test.script.is.dir=Cucumber feature file is directory
cucumber.run.configuration.test.no.gem.in.sdk=Cucumber Gem isn''t installed for {0} SDK
cucumber.run.configuration.log.tab.name =Cucumber log

preload.use.server=&Use pre-load server\:
# spork
spork.run.drb_server.run.conf.name={0} with Spork DRb server: {1}
spork.run.settings.title=Spork DRb Launch Options
spork.run.settings.rspec=R&Spec
spork.run.settings.cucumber=&Cucumber
spork.run.settings.testunit=Test&Unit/Shoulda/Minitest
spork.run.settings.info=Choose test framework:
spork.run.settings.button.ok.caption=Run
spork.run.settings.bootstrap=Perform &bootstrap
spork.run.error.gem.not.installed=Spork gem isn''t installed in ''{0}'' SDK
spork.run.error.remote.sdk=Spork execution is not supported for remote sdk yet (''{0}'')
spork.run.error.bin.script.not.found=Spork launcher script wasn't found for ''{0}'' SDK
spork.run.settings.needed.to.be.updated=Spork DRb launch options are out of date. {0} will automatically update them.\n\
  If you want to keep previous settings please rename your ''{1}'' run configuration at first.\n\n\
  Update options?
spork.run.configuration.settings.framework=Test framework:
spork.server.run.configuration.type.name = Spork DRb
spork.server.run.configuration.type.description = Spork DRb Server run configurations
spork.server.run.configuration.script.not.specified=Spork server script isn't specified
spork.server.run.configuration.script.not.exists=Spork server script doesn't exist
spork.server.run.configuration.script.is.not.file=Spork server script doesn't seem to be file
spork.server.run.configuration.messages.select.ruby.script.path=Select Spork Server Script
spork.server.run.configuration.messages.edit.script.args=Edit Spork Server Arguments
spork.server.run.configuration.messages.script.args=Additional arguments
spork.server.run.configuration.messages.script.path=Spork script:

# Zeus
zeus.server.action.start = Start Zeus Server: {0}
zeus.server.use = Use &Zeus Server
zeus.server.run.configuration.type.name = Zeus Server
zeus.server.run.configuration.type.description = Zeus server sun configuration
zeus.server.run.configuration.command=Command name
zeus.server.run.configuration.arguments=Command arguments
zeus.server.run.configuration.edit.arguments=Edit command arguments

# rails console
rails.console = Rails console
rails.console.select.environment=Select Rails Environment
rails.console.environment=&Environment\:
rails.console.actions.reload=Reload sources
rails.console.actions.reload.description=Dynamically reloads Ruby scripts in Rails Console

# irb
irb.console.actions.load.text.title=Load to Irb Console
irb.console.actions.load.text.error.running.not.found=Running Irb console not found.
irb.console.actions.load.text.error.irb.isnt.running=Irb console ''{0}'' isn''t running.

irb.console = IRB console: {0}
irb.run.configuration.type.name = IRB console
irb.run.configuration.type.description = IRB console run configurations
irb.run.configuration.messages.select.ruby.script.path=Select IRB Script
irb.run.configuration.messages.edit.script.args=IRB arguments
irb.run.configuration.messages.script.args=Additional arguments
irb.run.configuration.messages.script.path=IRB script:
irb.run.configuration.script.not.specified=Irb script isn't specified
irb.run.configuration.script.not.exists=Irb script doesn't exist
irb.run.configuration.script.is.not.file=Irb script doesn't seem to be file

# Nailgun server
nailgun.server=Nailgun
nailgun.server.name=Nailgun Server
nailgun.server.settings=Nailgun Server Settings
nailgun.server.in.debug=Debug can not work with Nailgun server. Removed corresponding parameters from command line.
nailgun.server.rc.settings.text=Run new instance of Nailgun server or use already started one
nailgun.server.port.label=Server &port:
nailgun.server.classpath.label=&Classpath:
nailgun.server.fail=Failed to start Nailgun server
nailgun.server.fail.port=Nailgun server found on different port.\nCommand line parameter "--nailgun-port" updated.
nailgun.server.fail.gemset=Nailgun server with different gemset found.\nRemoved "--ng" parameter from command line.

########################################################################################################################
# Run Configuration extensions:
########################################################################################################################
# Bundler
run.configuration.extension.bundler.checkbox.enable.bundle.exec=&Run the script in context of the bundle (bundle exec)
run.configuration.extension.bundler.label.bundle.exec.required.warning=Bundle exec is enabled for compatibility with graphical test runner

########################################################################################################################
# Plugins
########################################################################################################################
#rails.plugins.install.progress.title=Gem installation..
rails.plugins.install.error.title=Installation Error
rails.plugins.install.process.title={0}: plugin installation

#########################################################################################################################
# Rake action
########################################################################################################################
rake.action.group.name=Rake Tasks
rake.action.group.loading.title=Loading Rake tasks...
rake.action.execute.task.dialog.title=Execute ''{0}''
rake.action.execute.task.dialog.title.ex=Execute ''{0}'' For ''{1}'' 
rake.action.execute.task.dialog.task.desc.label=Description:
rake.action.execute.task.dialog.task.desc.not.given=<No description>
rake.action.execute.task.dialog.task.args.label=&Arguments:
rake.action.execute.task.dialog.rails.env.label=&Environment:
rake.action.execute.task.version.dialog.version.label=&Version:
rake.action.execute.task.version.dialog.trace.cb=Full back&trace
rake.action.execute.task.version.dialog.step.label=&Step:
rake.action.execute.template.location=&Template location
rake.popup.promt.text=Enter task name or its part:
rake.popup.checkbox.show.undocumented=Include &undocumented
rake.popup.find.not.in.documented=Documented task not found
rake.popup.find.not.found=No tasks found
rake.popup.execute.task.error.title=Cannot Execute Task
rake.popup.execute.task.error.sdk.not.set=Ruby SDK isn't set. Check project settings.
rake.popup.execute.task.error.unknown=Rake action cannot be launched in current project context.
rake.popup.reload.action.text=[Reload rake tasks list]
rake.popup.loading.text=Loading rake tasks...
#########################################################################################################################
# Capistrano
########################################################################################################################
capistrano.action.group.name=Capistrano Tasks
run.configuration.capistrano.task.name=Task name
run.configuration.capistrano.task.arguments=Task arguments
run.configuration.capistrano.task.arguments.editor=Edit Task Arguments
run.configuration.capistrano.stage.default=Default stage
run.configuration.capistrano.error.taskname=Please specify a task name
run.configuration.capistrano.error.capistrano.gem=No Capistrano gem found in SDK
capistrano.configuration.stage=Stage
capistrano.popup.prompt.text=Enter task name or its part:
capistrano.popup.checkbox.name=Include undocumented
capistrano.popup.execute.task.error.sdk.not.set=Ruby SDK isn't set. Check project settings.
capistrano.popup.execute.task.error.title=Cannot Execute Task
capistrano.popup.execute.task.error.unknown=Unknown error has occurred
capistrano.action.execute.task.dialog.title=Execute ''{0}''
capistrano.action.execute.task.dialog.title.ex=Execute ''{0}'' For ''{1}''

#########################################################################################################################
# Capistrano
########################################################################################################################

#Rack
run.configuration.rack.select.rackup.path=Set script path
run.configuration.rack.config.path=Rack config file
run.configuration.rack.rackup.error=Rackup script is not found in SDK
run.configuration.rack.config.error=Specify rack configuration file

#########################################################################################################################
# Generate action
########################################################################################################################
new.generate.common.action.prompt.title=Add New {0}
new.generate.common.action.prompt.title.ex=Add New {0} In ''{1}''
new.generate.common.error.title=Generate Error
new.generate.common.action.title=Generate New {0}
new.generate.common.generating.title=generate script
new.generate.common.error.script.arguments.should.be.specified=Script arguments must be specified!
new.generate.common.error.script.argument.is.not.valid=is not valid argument.
new.generate.common.error.no.rails=Rails script not found in your SDK. Without Rails installed you can't invoke Rails Generators. Choose another SDK in module settings or install Rails Framework.

new.generate.controller.actions=Actions
new.generate.controller.actions.text.field.info=Enter actions separated with spaces
new.generate.controler.error.path.not.valid=Path "{0}" should be in underscored case!
new.generate.controler.error.name.not.valid=Controller name must be in underscored case, but was "{0}"
new.generate.controler.error.name.asymmetrical.coversion=Controller name should be symmetric relative to Camelize <-> Underscore conversion!

dialog.generate.common.label.arguments.text=Generator &arguments:
dialog.generate.common.checkBox.pretend.text=&Pretend
dialog.generate.common.checkBox.pretend.tooltip=Run but do not make any changes.
dialog.generate.common.checkBox.force.text=&Force
dialog.generate.common.checkBox.force.tooltip=Overwrite files that already exist.
dialog.generate.common.checkBox.skip.text=&Skip
dialog.generate.common.checkBox.skip.tooltip=Skip files that already exist.
dialog.generate.common.checkBox.backtrace.text=&Backtrace
dialog.generate.common.checkBox.backtrace.tooltip=Debugging: show backtrace on errors.
dialog.generate.common.checkBox.svn.text=S&vn
dialog.generate.common.checkBox.svn.tooltip=Modify files with subversion. (Note: svn must be in path).
dialog.generate.common.checkBox.git.text=&Git
dialog.generate.common.checkBox.git.tooltip=Modify files with git. (Note: git must be in path).
dialog.generate.common.help.title=Help For: ''{0}''
progress.dialog.generate.common.help.wait.title=Loading help...
progress.dialog.generate.common.help.cannot.fetch.help.info=Cannot fetch help information.
progress.dialog.generate.common.help.cannot.fetch.generators.list=Cannot fetch generators list.
progress.dialog.generate.common.help.no.sdk.set=Ruby SDK isn't set or isn't valid. {0}
progress.dialog.generate.common.help.no.sdk.set.rubymine=Please check '{0} | Ruby SDK and Gems'.
progress.dialog.generate.common.help.no.sdk.set.ruby.plugin=Please set SDK in module settings.

new.generate.spec.generating.title=generate spec

popup.generate.action.text=Action
popup.generate.action.description=Generates Action For Controller
popup.generate.action.command=Generate Action For Controller
popup.generate.action.prompt.title=Add New Action
popup.generate.action.error.title=Generate Action Error
popup.generate.action.error.script.argument.is.not.valid= Invalid Action name: ''{0}''.\nAction name must correspond to Rails naming convention e.g.: ''{1}''.

new.generate.rspec.controller.text=RSpec Controller
new.generate.rspec.model.text=RSpec Model
new.generate.rspec.name=RSpec

new.generate.cucumber.name=Cucumber
new.generate.feature.name=Feature
new.generate.feature.description=Generates a skeleton for a new feature
new.generate.feature.action.prompt.title=Add New Feature
new.generate.feature.action.prompt.title.ex=Add New Feature In ''{0}''
new.generate.feature.error.title=Generate Feature Error
dialog.generate.feature.label.arguments.text=Generator arguments: (ModelName [field1:type1 field2:type2])

new.generate.initialize.error=Setup {0} Support Error
new.generate.initialize.action.text=Setup {0} Support
new.generate.initialize.action.decription=Creates necessary stuff to work with {0} support in Rails project
new.generate.initialize.action.dialog.title=Setup {0} Support
new.generate.initialize.action.dialog.title.ex=Setup {0} Support For ''{1}''

new.generate.controller.text=Controller
new.generate.controller.description=Generate Controller For Rails Application
new.generate.controller.action.prompt.title=Add New Controller
new.generate.controller.action.prompt.title.ex=Add New Controller In ''{0}''
new.generate.controller.error.title=Generate Controller Error
dialog.generate.action.label.name.text=Action &name:
dialog.generate.action.label.location.text=Location:
dialog.generate.controller.button.add.text=&Add
dialog.generate.controller.button.remove.text=&Remove
dialog.generate.controller.label.actions.names.text=Actions &names:
dialog.generate.controller.label.dir.text=&Directory: (e.g. 'admin')
dialog.generate.controller.label.location.text=Location:
dialog.generate.controller.label.name.text=&Controller name: (e.g. 'CreditCard')
dialog.generate.controller.actions.promt=Edit action name or several names (e.g. 'open' or 'debit' or 'show edit list')
dialog.generate.controller.actions.promt.title=Add New Action
dialog.generate.controller.actions.error.title=Add New Action Error

new.generate.migration.text=Migration
new.generate.migration.description=Create rails files for migration generator
new.generate.migration.action.prompt.title=Add New Migration
new.generate.migration.action.prompt.title.ex=Add New Migration In ''{0}''
new.generate.migration.error.title=Generate Migration Error
dialog.generate.migration.label.arguments.text=Generator arguments: (MigrationName [field1:type1 field2:type2] [options])

new.generate.model.text=Model
new.generate.model.description=Generates Model For Rails Application
new.generate.model.action.prompt.title=Add New Model
new.generate.model.action.prompt.title.ex=Add New Model In ''{0}''
new.generate.model.error.title=Generate Model Error
dialog.generate.model.label.options=Options:
dialog.generate.model.autocompletion.ad=Use after ':' for db field types autocompletion
dialog.generate.model.cb.skip-timestamps=Don't add &timestamps to the migration file for this model
dialog.generate.model.cb.skip-migration=Don't generate a &migration file for this model
dialog.generate.model.cb.skip-fixture=Don't generate a &fixture file for this model
dialog.generate.scaffold.label.arguments.text=Generator arguments: (ModelName [controller_actions and field:type])
dialog.generate.scaffold.label.arguments.text.rails3=Generator arguments: (ModelName [field:type])

new.generate.scaffold.text=Scaffold
new.generate.scaffold.description=Scaffolds an entire resource, from model and migration to controller and views, along with a full test suite
new.generate.scaffold.action.prompt.title=Scaffold
new.generate.scaffold.action.prompt.title.ex=Scaffold For ''{0}''
new.generate.scaffold.error.title=Generate Scaffold Error
dialog.generate.scaffold.cb.force-plural=Forces the generation of a pl&ural ModelName
dialog.generate.scaffold.cb.skip-model= Don't generate a m&odel or migration file
dialog.generate.scaffold.cb.skip-controller=Don't generate &controller, helper, or views
dialog.generate.scaffold.cb.invert=Generate all controller actions &except these mentioned
dialog.generate.scaffold.cb.haml= Generate &HAML views instead of ERB
dialog.generate.scaffold.combo.testframework= Select test framework for test files
dialog.generate.scaffold.combo.default=<default>
dialog.generate.model.label.arguments.text=Generator arguments: (ModelName [field1:type1 field2:type2])

# Cucumber support
dialog.generate.cucumber.label.testframework.text=Select test framework for Cucumber:
dialog.generate.cucumber.tframework.spec=&RSpec
dialog.generate.cucumber.tframework.testunit=&Test::Unit
dialog.generate.cucumber.lable.options.backend.text=Webapp interacting backend:
dialog.generate.cucumber.sframework.capybara=&Capybara
dialog.generate.cucumber.sframework.webrat=&Webrat
dialog.generate.cucumber.spork.text=Use with Spork &DRb

# Generators popup
rails.generators.popup.promt.text=Enter generator name or its part:
rails.generators.popup.checkbox.show.hidden=Include &hidden
rails.generators.popup.find.not.in.documented=Generator not found
rails.generators.popup.find.not.found=No generators found
rails.generators.popup.execute.task.error.title=Cannot Launch Generator
rails.generators.popup.execute.task.error.sdk.not.set=Ruby SDK isn't set. Check project settings.
rails.generators.popup.execute.task.error.unknown=Generator action cannot be launched in current project context.
rails.generators.popup.reload.action.text=[Reload generators list]
rails.generators.popup.loading.text=Loading generators...

########################################################################################################################
# Additional registered shortcuts
########################################################################################################################
rails.actions.execution.run.rails.script.title=Run Rails Script
rails.actions.execution.run.rails.script.dialog.button.ok.caption=Run
rails.actions.execution.run.rails.script.dialog.button.cancel.caption=Cancel
rails.actions.execution.run.rails.script.dialog.description.caption=You can run Rails scripts from the "[{0}]/script" directory
rails.actions.execution.run.rails.script.dialog.component.script.args.caption=Arguments
rails.actions.execution.run.rails.script.dialog.component.script.args.caption.edit=Edit Arguments
rails.actions.execution.run.rails.script.dialog.component.script.path.caption=Script
rails.actions.execution.run.rails.script.dialog.component.script.path.caption.select=Select Script
rails.actions.execution.run.rails.script.error.no.scripts.folder=Unable to execute Rails script. "[{0}]/script" folder not found!
rails.actions.execution.run.rails.script.error.script.want.found=Unable to execute Rails script. Script "{0}" not found!

########################################################################################################################
# Additional registered shortcuts
########################################################################################################################
keymap.extension.rake.group.name=Rake
action.registered.shortcut.execute.disabled.title=Incorrect Action
action.registered.shortcut.execute.disabled.generators.msg=Generator ''{0}'' is inaccessible for module ''{1}''
action.registered.shortcut.execute.invalid.raketask.msg=Rake task ''{0}'' isn''t defined for module ''{1}''\n\n\
  If you are sure that this task is defined for your module\n\
  please execute ''Tools|Reload Rake tasks''\n\
  and try again.

action.consolerunner.edit.cmdline.description=Edit command line arguments
action.consolerunner.edit.cmdline.text=Edit Command line arguments
action.consolerunner.edit.cmdline.dialog.text=Command line arguments:
action.consolerunner.edit.cmdline.dialog.title=Edit Command Line Arguments

#########################################################################################################################
# Ruby Templates
########################################################################################################################
template.rails.action.implement.body=# TODO: Implement body of action

########################################################################################################################
# Color settings page
########################################################################################################################
color.settings.rhtml.name=ERB
color.settings.rhtml.scriptlet.start=Scriptlet start
color.settings.rhtml.scriptlet.end=Scriptlet end
color.settings.rhtml.expr.start=Expression start
color.settings.rhtml.expr.end=Expression end
color.settings.rhtml.scripting.bkg=Ruby injection background
color.settings.rhtml.omit.new.line=Omit new line modifier
color.settings.rhtml.comment=Comment

color.settings.ruby.name=Ruby
color.settings.ruby.keyword=Keyword
color.settings.ruby.comment=Comment
color.settings.ruby.heredoc_id=Heredoc Id
color.settings.ruby.number=Number
color.settings.ruby.string=String
color.settings.ruby.interpolated.string=Interpolated string
color.settings.ruby.escape_sequence=Escape sequence
color.settings.ruby.invalid_escape_sequence=Invalid escape sequence
color.settings.ruby.operation=Operation sign
color.settings.ruby.brackets=Brackets
color.settings.ruby.braces=Braces
color.settings.ruby.parentheses=Parenthesis
color.settings.ruby.expression_subtitution_marks=Expression substitution mark
color.settings.ruby.bad_character=Bad character
color.settings.ruby.comma=Comma
color.settings.ruby.dot=Dot
color.settings.ruby.colon=Colon
color.settings.ruby.semicolon=Semicolon
color.settings.ruby.symbol=Symbol
color.settings.ruby.hash_assoc=Hash association
color.settings.ruby.line_continuation=Line continuation
color.settings.ruby.regexp=Regular expression's boundaries
color.settings.ruby.words=Word
color.settings.ruby.heredoc_content=Heredoc contents
color.settings.ruby.gvar=Global variable
color.settings.ruby.cvar=Class variable
color.settings.ruby.ivar=Instance variable
color.settings.ruby.identifier=Identifier
color.settings.ruby.method.name=Method name
color.settings.ruby.local.variable=Local variable
color.settings.ruby.parameter=Parameter
color.settings.ruby.constant=Constant
color.settings.ruby.constant.declaration=Constant declaration
color.settings.ruby.nth_ref=Regexp group reference
color.settings.ruby.ruby.specific.call=Ruby special call
color.settings.ruby.ruby.paramdef.call=Rails special call

#RDoc
color.settings.rdoc.name=RDoc
color.settings.rdoc.directive=Directive
color.settings.rdoc.email=Email
color.settings.rdoc.url=Url
color.settings.rdoc.heading=Heading
color.settings.rdoc.identifier=Identifier
color.settings.rdoc.tag=Tag



color.settings.ruby.inspection.inspection=Inspection: {0}

indent.annotator.indent.at.begin.is.illegal=Indenting at the beginning of the document is illegal
indent.annotator.indent.cannot.use.both.tabs.and.spaces=Indentation can't use both tabs and spaces
indent.annotator.wrong.indent.length.space={0} spaces were used for indentation. Must be indented using {1} spaces
indent.annotator.wrong.indent.length.tab={0} tabs were used for indentation. Must be indented using {1} tabs
indent.annotator.wrong.indent.space=Inconsistent indentation: {0} spaces were used for indentation, but the rest of the document was indented using {1} tabs
indent.annotator.wrong.indent.tab=Inconsistent indentation: {0} tabs were used for indentation, but the rest of the document was indented using {1} spaces

########################################################################################################################
# Module
########################################################################################################################
module.common.selectlocation.label=Please specify a module name and a module content root. A module content root is the directory where all the source files will be stored.
module.common.selectlocation.module.name=Module name
module.common.selectlocation.content.root=Content root
module.common.selectlocation.select.content.root.msg=Select module content root
module.common.selectlocation.select.source.directory=Select the directory where the source files will be stored
module.common.selectlocation.module.files.root.msg=Module file will be saved in
module.common.selectlocation.prompt.module.name=Please specify a module name
module.common.selectlocation.module.not.specified.title=Module Name Not Specified
module.common.selectlocation.module.exists.text=A module with the name ''{0}'' already exists in the project
module.common.selectlocation.module.exists.title=Module Already Exists
module.common.selectlocation.specify.module.location.prompt=Please specify a module file location
module.common.selectlocation.module.location.not.specified.title=Module File Location Not Specified
module.common.selectlocation.root.already.defined.text=Content root ''{0}'' already defined for module ''{1}''.\nTwo modules in a project cannot share the same content root.
module.common.selectlocation.root.already.defined.title=Module Content Root Already Exists
module.common.selectlocation.select.module.file.location.title=Select Module File Location
module.common.selectlocation.module.file.location.text=The module file will be saved in the selected directory.
module.common.selectlocation.module.content.root.label=The module content root\n
module.common.selectlocation.module.file.label=The module file directory\n
module.common.rubydoc=RDoc

module.rails.selectlocation.content.root=Content root:
module.rails.change.directory=Change directory

button.configure=Configure...
sdk.select.prompt.title=Select SDK
sdk.error.no.sdk.prompt.messge.confirm.without.sdk=Continue without any SDK specified?
sdk.error.prompt.message.sdk.not.valid= The SDK you have selected is not compatible with Ruby or Rails application. Ruby or JRuby SDK required.
sdk.setup.progress.title=Configuring ''{0}'' SDK...
sdk.setup.progress.setup.paths=Initializing loadpath and gems paths...

########################################################################################################################
# Module rails
########################################################################################################################
module.rails.prompt.label.project.jdk=Project SDK:
module.rails.select.jdk=Specify the Ruby SDK
module.rails.generateapp.label=Specify the way Rails Application will be created.
module.rails.generateapp.rails.label=Rails &Version:
module.rails.generateapp.rails.generate.new=Generate &new Rails application
module.rails.generateapp.rails.generate.missing=Generate only &missing files
module.rails.generateapp.rails.generate.nothing=&Use existing Rails application
module.rails.generateapp.progress.title=Generating Rails Application for module ''{0}''...
module.rails.generateapp.rails.new.overwrite.title=Generate New Rails Application
module.rails.generateapp.rails.new.overwrite.message=Rails application already exists in ''{0}''.\nOverwrite?
module.rails.generateapp.result=Rails application status
module.rails.generateapp.template=Rails &Template:
module.rails.generateapp.template.not.supported=Not supported for selected rails version
module.rails.generateapp.template.select=Select Rails Template
module.rails.generateapp.template.description=Template allows to customize your new Rails application creation
module.rails.generateapp.javascript.select=&JavaScript Library\:
module.rails.generateapp.javascript.description=Rails 3.1 allows using different javascript libraries for generated application
module.settings.title=Loading settings: ''{0}''
module.rails.create.rake.tasks.title=Generating rake tasks hierarchy...
module.rails.create.rake.generators.title=Searching for available generators...
module.rails.generateapp.rake.result=Rake task "{0}"
module.settings.add.directory.title=Add Directory
module.settings.directory.is.already.included=This directory is already included
module.rails.generateapp.add.sdk.tooltip=To add SDK please specify Ruby interpreter path

#########################################################################################################################
# Parsing
########################################################################################################################
parsing.error.expression=expression
parsing.symbol.content=symbol content
parsing.alias.object=alias object
parsing.operation=operation
parsing.method.name=method name
parsing.module.name=module name
parsing.class.name=class name
parsing.singleton=singleton
parsing.identifier.or.operation=identifier or operation
parsing.block.variables=block variable(s)
parsing.local.variables=local variable(s)
parsing.do.block=do block call
parsing.rhtml.injection.in.ruby.title=%> or <% or <%=
parsing.haml.end=Unnescessary "- end" in Haml. Use indentation instead
parsing.slim.end=Unnescessary "- end" in Slim. Use indentation instead

os.not.supported=OS not supported!
module.rails.create.run.configurations.title=Creating Rails run configuration
building.index.message=Building ruby indexes
select.in.rails=Rails Project View
cache.symbol.building.builtins.title=Creating ruby built-in caches...
cache.symbol.recreating.builtins.title=Updating ruby built-in caches...


# Gherkin
parsing.gherkin.error.unexpected.toplevel=Comment, tag or feature keyword expected


########################################################################################################################
# Rails project view
########################################################################################################################
rails.project.module.view.presentable=Rails
rails.project.module.view.nodes.appication.presentable=Application
rails.project.module.view.nodes.components.presentable=Components
rails.project.module.view.nodes.controllers.presentable=Controllers
rails.project.module.view.nodes.helpers.presentable=Helpers
rails.project.module.view.nodes.libs.presentable=Libraries
rails.project.module.view.nodes.model.presentable=Models
rails.project.module.view.nodes.lib.presentable=Lib
rails.project.module.view.nodes.public.presentable=Public
rails.project.module.view.nodes.unclassified.mark=unclassified
rails.project.module.view.nodes.helpers.partial.presentable=Helpers
rails.project.module.view.nodes.views.partial.presentable=Views
rails.project.module.view.nodes.views.layouts.presentable=Layouts
rails.project.module.view.nodes.testunit.presentable=Test::Unit
rails.project.module.view.nodes.testunit.shoulda.presentable=Test::Unit/Shoulda
rails.project.module.view.nodes.config.presentable=Config
rails.project.module.view.nodes.rspec.presentable=RSpec
rails.project.module.view.nodes.user.folders.presentable=User Folders
rails.project.module.view.nodes.partials.presentable=Partials
rails.project.module.view.nodes.shared.partials.presentable=Shared partials
rails.project.module.view.nodes.migrations.presentable=Migrations

#########################################################################################################################
# RSpec Structure View
########################################################################################################################
rspec.structure.view.example.undocumented=<no documentation>
rspec.structure.view.actions.list.view.title=List View
rspec.structure.view.actions.list.view.description=Displays list of spec examples
rspec.structure.view.filters.before.after.calls.title=Hide before/after calls
rspec.structure.view.filters.before.after.calls.description=Hide before/after calls in structure view
rspec.structure.view.filters.examples.disabled.title=Hide disabled examples
rspec.structure.view.filters.examples.disabled.description=Show disabled examples in structure view
rspec.structure.view.filters.examples.pending.title=Hide pending examples
rspec.structure.view.filters.examples.pending.description=Show pending examples in structure view
rspec.structure.view.filters.examples.active.title=Hide active examples
rspec.structure.view.filters.examples.active.description=Hide active (not disabled and not pending) examples in structure view

#########################################################################################################################
# Rails Structure View
########################################################################################################################
tab.structurevew.rhtml.view=RHTML View
tab.structurevew.ruby.view=Ruby View

#########################################################################################################################
# File types
########################################################################################################################
filetype.description.rb=Ruby files
filetype.description.rjs=RJS files
filetype.description.rhtml=RHTML files
filetype.description.rxml=RXML files
filetype.description.rdoc=RDoc files

########################################################################################################################
# Intentions
########################################################################################################################
ruby.intentions=Ruby
ruby.intentions.relative.path.to.absolute=Convert relative path to absolute
ruby.intentions.append.cur.dir.to.path=Append current directory to path

ruby.intentions.string.to.symbol=Convert string to symbol
ruby.intentions.erb.convert.name=Convert to erb comment
ruby.intentions.symbol.to.string=Convert symbol to string
ruby.intentions.qualified.name.to.include_class=Include Java class
ruby.intentions.qualified.name.to.import=Import Java class
ruby.intentions.string.import.to.dot.reference=Convert to dot reference
ruby.intentions.string.import.to.camel.reference=Convert to camel case dot reference
ruby.intentions.java.to.ruby.call.style=Convert to ruby call style
ruby.intentions.java.full.class.name=To Java full qualified name
ruby.intentions.yard.add.param.name=Add @param tag
ruby.intentions.yard.add.return.name=Add @return tag
ruby.intentions.statement.to.modifier=Convert statement to modifier
ruby.intentions.modifier.to.statement=Convert modifier to statement
ruby.intentions.string.sum.to.subtitution=Convert concatenation of strings to substitutions #{}
ruby.intentions.braces.to.do=Convert { } to 'do' block
ruby.intentions.do.to.braces=Convert 'do' block to { }
ruby.intentions.rocket.to.newhashstyle=Convert '=>' to ':'
ruby.intentions.all.rocket.to.newhashstyle=Convert all '=>' to ':'
ruby.intentions.all.newhashstyle.to.rocket=Convert all ':' to '=>'
ruby.intentions.newhashstyle.to.rocket=Convert ':' to '=>'
ruby.intentions.if.to.ternary=Convert if/then/else/end block to ternary operator
ruby.intentions.ternary.to.if=Convert ternary operator to if/then/else/end block
ruby.intentions.i18n=I18n string value


########################################################################################################################
# Titles
########################################################################################################################
progress.indicator.title.directories.scanning=Scanning directories.
progress.indicator.title.paths.initialization=Initializing paths...
progress.indicator.title.cache.datafile.loading=Loading cache...
progress.indicator.title.cache.files.scanning=Scanning files: ''{0}''
progress.indicator.title.cache.files.parsing=Parsing files. Please wait...
progress.indicator.title.cache.files.removing=Removing files...
progress.indicator.title.cache.loading=Loading cache for ''{0}''...
progress.indicator.title.cache.saving=Saving cache: ''{0}''
progress.indicator.title.cache.creating=Creating cache: ''{0}''
progress.indicator.title.cache.updating=Updating cache: ''{0}''
progress.indicator.title.please.wait=Please wait...
progress.backgnd.indicator.title.please.wait={0}. Please wait...
progress.indicator.title.running.please.wait=Running. Please wait...

########################################################################################################################
# Settings
########################################################################################################################
settings.raketasks.externalizer.info=This file was automatically generated by Ruby plugin.\n\
             You are allowed to: \n\
                  1. Remove rake task\n\
                  2. Add existing rake tasks\n\
             To add existing rake tasks automatically delete this file and reload the project.\n
settings.raketasks.cant.save.message=Unable to save rake tasks settings. Unable to overwrite ''{0}'' file.

settings.generators.externalizer.info=This file was automatically generated by Ruby plugin.\n\
             You are allowed to: \n\
                 1. Reorder generators\n\
                 2. Remove generators\n\
                 3. Add installed generators\n\
             To add new installed generators automatically delete this file and reload the project.\n
settings.generators.cant.save.message=Unable to save generators settings. Unable to overwrite ''{0}'' file.

settings.scripts.title=Extensions
settings.scripts.information=Information
settings.scripts.folders=Script Folders
settings.scripts.enabled=Enabled Scripts
settings.scripts.information.text=<b>These scripts are executed on IDE startup.</b><br>\
  You can extend <b>RubyMine</b> by adding your own scripts using <a href="{0}">ruby API</a>
settings.extensions.scripts.restart.required=Restart {0} to apply changes in extensions?
settings.extensions.scripts.changed.title=Extensions Changed
settings.extensions.scripts.changed.button.restart=Restart
settings.extensions.scripts.changed.button.postpone=&Postpone
########################################################################################################################
#Console
########################################################################################################################
progress.title.console.runner.modal.dialog.running=Running: ''{0}''


########################################################################################################################
# Code Insight
#########################################################################################################################
codeInsight.rails.action_to_view.tooltip=View for ''{0}'' action
codeInsight.rails.mailer_to_view.tooltip=Template for ''{0}'' mailer method
codeInsight.rails.controller_to_view.tooltip=Views and partials for ''{0}'' controller
codeInsight.rails.view_to_action.tooltip=Action for ''{0}'' view
codeInsight.rails.view_to_mailer.tooltip=Mailer method for ''{0}'' template
codeInsight.rails.view_to_controller.tooltip=Controller for ''{0}'' view
codeInsight.rails.layout_to_controller.tooltip=Controller for ''{0}'' layout

codeInsight.rails.switch.to.view.title=Go to View
codeInsight.rails.switch.to.view.create.prompt=No views found. Enter the name of view file to create:
codeInsight.rails.switch.to.view.cant.navigate=Can't navigate to appropriate view

codeInsight.rails.switch.to.action.title=Go to Action
codeInsight.rails.switch.to.action.cant.navigate=Can't navigate to appropriate action

codeInsight.rails.switch.to.model.title=Go to Model
codeInsight.rails.switch.to.model.cant.navigate=Can't navigate to appropriate Model

codeInsight.rails.switch.to.controller.title=Go to Controller
codeInsight.rails.switch.to.controller.cant.navigate=Can't navigate to appropriate controller

codeInsight.rails.switch.to.helper.title=Go to Helper
codeInsight.rails.switch.to.helper.cant.navigate=Can't navigate to appropriate helper

codeInsight.rails.navigation.title.action.view=Choose View
codeInsight.rails.navigation.title.action.partial.view=Choose Partial View of ''{0}''


########################################################################################################################
# Annotations
#########################################################################################################################
annotation.error.cannot.make.alias.for.nth.variable=can''t make alias for the number variables
annotation.error.begin.in.method=BEGIN in method
annotation.error.class.module.name.must.be.constant=class/module name must be CONSTANT
annotation.error.class.in.method=class definition in method body
annotation.error.module.in.method=module definition in method body
annotation.error.formal.arg.cannot.be.constant=formal argument cannot be a constant
annotation.error.formal.arg.cannot.be.inst.var=formal argument cannot be an instance variable
annotation.error.formal.arg.cannot.be.global.var=formal argument cannot be a global variable
annotation.error.formal.arg.cannot.be.class.var=formal argument cannot be a class variable
annotation.error.else.without.rescue.is.useless=Else without rescue is useless
annotation.error.unsupported.i=%i is not supported by SDK
annotation.error.unsupported.i_u=%I is not supported by SDK
annotation.error.unexpected.named.arg=unexpected ':', expecting ')'
annotation.error.unsupported.named.arg=Named arguments are only supported by Ruby 2.0 and RubyMotion projects
annotation.error.unsupported.block.local.vars=Block local variables are not supported by SDK
annotation.error.unsupported.numeric.modifiers=Modifiers for numeric literals are not supported by SDK
annotation.error.unsupported.hash.to.arguments=Hash to argument conversion is not supported by SDK

#########################################################################################################################
# Plugin Settings Panel
#########################################################################################################################
# General Tab
settings.plugin.general.tab.console.panel.title=Console options
settings.plugin.general.tab.console.cb.color.mode.title=ANSI &color codes recognition

settings.plugin.general.tab.project.view.panel.title=Project View
settings.plugin.general.tab.use.ruby.project.view.title=&Use Ruby specific Class/Module Project View
settings.plugin.general.tab.environment.variables.panel.title=Environment
settings.plugin.general.tab.environment.path.idea.label=Idea PATH
settings.plugin.general.tab.environment.path.additional.label=Additional Path(s)
settings.plugin.general.tab.environment.path.additional.tooltip=(e.g. ~/bin:/usr/local/mysql/bin)

settings.code.insert.args.and.blocks=Insert arguments and block stubs on autocompletion

# Plugin About Info
settings.plugin.about.tab.title=Plugin Info
plugin.about.build.label=Plugin build:
plugin.about.revision.label=Svn revision:
plugin.about.recent.changes.label=Recent changes:
plugin.about.home.page.label=Home page:
plugin.about.issue.tracker.label=Issue tracker:
plugin.info.unknown.value=unknown
plugin.about.recent.mailinglist.label=Mailing list:
plugin.about.recent.forum.label=Forum:
plugin.about.issue.plugin.repository.label=Plugin repository:

########################################################################################################################
# Autocomplete, resolve
#########################################################################################################################
in=in
parameter=parameter
local.variable=local variable
constant=constant
global.variable=global variable
class.variable=class variable
instance.variable=instance variable
field.write=field write
call=call
method=method
class=class
module=module

########################################################################################################################
# Rename
#########################################################################################################################
rename.incorrect.name=Incorrect name: ''{0}''
rename.cannot.rename.accessor.method.to.common=Cannot rename accessor name to common method name
rename.same.name=Same name
rename.cannot.rename.pseudo.constant=Cannot rename pseudo constant {0}
rename.not.available=Rename not available

########################################################################################################################
# RubyPsiDocumentation
#########################################################################################################################
ruby.doc.module=module
ruby.doc.class=class
ruby.doc.method.class=class method
ruby.doc.method.instance=instance method
ruby.doc.field.reader=field reader
ruby.doc.field.writer=field writer
ruby.doc.alias=alias
ruby.doc.original=original
ruby.doc.not.found=No documentation found.
ruby.doc.select.symbol=Select symbol to show help for:
ruby.doc.documentation=Documentation
ruby.doc.several.variants=Several variants found
ruby.doc.usage=Usage
ruby.doc.description=Description
ruby.doc.private=private
ruby.doc.protected=protected
ruby.doc.public=public
ruby.doc.overrides=Overrides:
ruby.doc.inferred.type=Inferred type:
##########################################################################################################################
# Inspections
#########################################################################################################################
inspection.group.ruby.name=Ruby
inspection.group.jruby.name=JRuby
inspection.group.rails.name=Rails

# Inspection: call
inspection.argcount.name=Incorrect call argument count
inspection.argcount.number.of.arguments.error=Number of arguments must be {0}
inspection.argcount.required.at.least=Required >= {0}
inspection.argcount.required.max=Required <= {0}
inspection.argcount.required=Required {0}
inspection.argcount.missing.arguments=Missing {0} argument(s)
inspection.argcount.extra.arguments=Found {0} extra argument(s)

# Inspection: duck type
inspection.duck.type.name=Call argument type mismatch
inspection.duck.type.cannot.find.method=Value ''{0}'' does not seem to have method ''{1}'' with {2} arg(s)
inspection.duck.type.cannot.find.method.in.type=Value ''{0}'' of type ''{1}'' does not seem to have method ''{2}'' with {3} arg(s)

# Inspection: ruby interpreter
inspection.invalid.interpreter.name=Invalid interpreter configured
inspection.invalid.interpreter.not.configured=No Ruby interpreter configured for the project
inspection.invalid.interpreter.configured=Invalid Ruby interpreter selected for the project
inspection.invalid.interpreter.quick.fix.name=Configure Ruby Interpreter


# Inspection: resolve
inspection.resolve.name=Unresolved Ruby reference
inspection.resolve.cannot.find=Cannot find ''{0}''
inspection.resolve.field.cannot.find=Cannot find declaration for field ''{0}''
inspection.resolve.cannot.find.in.type=Cannot find ''{0}'' for type ''{1}''
inspection.resolve.implicit.required.item=Implicit required file, not inspected
inspection.resolve.cannot.find.variable=Cannot find variable with given name
inspection.resolve.cannot.find.required.file=No such file to load
inspection.resolve.cannot.resolve.include=Cannot resolve properly, was not processed
inspection.resolve.warn.implicit.resolve.results=Warn about implicit text matched resolve results

# Inspection: scopes local var
inspection.scopes.name=Scope inspection
inspection.scopes.parameter.shadows.outer=Parameter ''{0}'' shadows outer parameter or local variable
inspection.scopes.uninitialized.local.variable=Local variable ''{0}'' can be uninitialized
inspection.scopes.redundant.block.local.variable=Redundant block local variable ''{0}'' declaration

# Inspection: unused local variable
inspection.unused.locals.name=Unused local variable
inspection.unused.locals.local.isnot.used=Local variable ''{0}'' is not used
inspection.unused.locals.local.value.isnot.used.anymore=Local variable ''{0}'' value after assignment is not used
inspection.unused.locals.parameter.isnot.used=Parameter ''{0}'' is not used
inspection.unused.locals.parameter.value.isnot.used.anymore=Parameter ''{0}'' value after assignment is not used
inspection.unused.locals.replace.with.wildcard=Replace with wildcard
inspection.unused.locals.remove.assignment=Remove assignment
inspection.unused.locals.rename.to.constant=Rename to constant
inspection.unused.locals.too.complex=''{0}'' is too complex to analyze by data flow algorithm

# Inspection: implement java interface/override abstract class
inspection.implement.interface.name=Java interface not fully implemented
inspection.implement.interface.fix=Implement methods
inspection.implement.interface.class.should.implement.method=Class must implement method: {0}

# Inspection: super class must be a class
inspection.super.class.must.be.a.class.name=Super class must be a class but not an interface
inspection.super.class.must.be.a.class.message=No interface expected here
inspection.super.class.must.be.a.class.fix.name=Change inheritance to including interface

# Inspection: super class must be a class
inspection.imported.class.should.be.public.name=Imported class must be public
inspection.imported.class.should.be.public.message=Imported class must be public
inspection.imported.class.should.be.public.fix.name=Change imported class modifier to public

# Inspection: call
inspection.unnecessary.semicolon.name=Unnecessary semicolon
inspection.unnecessary.semicolon.message=Unnecessary semicolon
inspection.unnecessary.semicolon.quickfix.message=Remove unnecessary semicolon

# Inspection: unnecessary return statement
inspection.unnecessary.return.statement.name=Unnecessary return statement
inspection.unnecessary.return.statement.message=Unnecessary return statement
inspection.unnecessary.return.statement.remove.fix=Remove unnecessary return statement
inspection.unnecessary.return.statement.in.assignment.message=Ignored return statement in assignment method

# Inspection: unnecessary return value
inspection.unnecessary.return.value.name=Unnecessary return value
inspection.unnecessary.return.value.message=Unnecessary return value

# Inspection: string jruby import
inspection.jruby.string.import.name=Incorrect jruby string import
inspection.jruby.string.import.message=Incorrect jruby string import
inspection.jruby.string.import.fix1=Replace '::' with '.'
inspection.jruby.string.import.fix2=Remove 'Java' prefix

# Inspection: jruby java field access
inspection.jruby.java.field.access.name=Access java fields
inspection.jruby.java.field.access.message=Can't access nonpublic java fields with dot reference, use field_reader, field_writer, field_accessor
inspection.jruby.java.field.access.enum.message=Can't access enum field with dot reference
inspection.jruby.java.field.access.enum.fix=Replace '.' with '::'

# Inspection: parentheses around conditional
inspection.parentheses.around.conditional=Parentheses around conditional
inspection.parentheses.around.conditional.message=Remove parentheses

# Inspection: wrong hash
inspection.wrong.hash=Wrong hash
inspection.wrong.hash.assoc.element=assoc element
inspection.wrong.even.number.required=Even number of elements required

# Inspection: wrong top level package
inspection.wrong.top.level.package=Wrong Java top level package
inspection.wrong.top.level.package.fix=Add Java:: to package
inspection.wrong.top.level.package.should.be.one.of=Top level Java package used should be one of: {0}

# Inspection: large class
inspection.large.class.methods=Too many methods in class/module
inspection.large.class.methods.property=Number of methods
inspection.large.class.methods.checkbox.name=Ignore test classes
inspection.large.class.variables=Too many instance variables in {0} {1}
inspection.large.class.variables.property=Number of instance variables

# Inspection: hashes
inspection.duplicated.keys.in.hash=Duplicated keys in hash
inspection.duplicated.keys.in.hash.msg=Duplicated key
inspection.duplicated.keys.in.hash.fix.delete=Remove hash key
inspection.duplicated.keys.in.hash.msg1=Odd number of arguments for Hash
inspection.hash.keys.types=Possible bug in Hash[...] syntax
inspection.hash.double.quoted.keys=String as hash key
inspection.hash.double.quoted.keys.msg=Convert string key to symbol
inspection.hash.convert.in.file=Convertable hash to ruby 1.9 style
inspection.hash.convert.in.file.fix=Convert to ruby 1.9 style

# Inspection: double quoted string to single quoted
inspection.quoted.string=Double quoted string
inspection.quoted.string.msg=Double quoted string with no interpolation and special symbols
inspection.quoted.string.label=Ignore strings containing a single quote
inspection.quoted.string.fix=Convert to single quoted

# Inspection: expression in '' string
inspection.expression.in.string=Expression in single-quoted string
inspection.expression.in.string.msg=Convert single-quoted string to ""

# Inspection: empty rescue block
inspection.empty.rescue.block=Empty rescue block
inspection.empty.rescue.block.msg=Add 'ignored' to rescue block

# Inspection: if can be switch
inspection.if.can.be.case='If' replaceable with 'case'
inspection.if.can.be.case.msg=Convert to case
inspection.if.can.be.case.option=Minimum number of branches

# Inspection: case without else block and empty else block
inspection.case.without.else=Case block without else
inspection.case.without.else.msg=Add 'else' block
inspection.empty.else.block=Empty else block

# Inspection: deprecated syntax
inspection.deprecated.syntax=Deprecated syntax {0}
inspection.deprecated.syntax.ruby19= (removed from Ruby 1.9)
inspection.deprecated.syntax.fix1=Replace ":" with 'then'
inspection.deprecated.syntax.fix2=Replace with {0}


# Inspection: parentheses around arguments of def
inspection.def.parentheses=Parentheses around arguments
inspection.def.parentheses.no.arg=Parentheses around empty arguments list
inspection.def.no.parentheses=No parentheses around arguments
inspection.def.parentheses.msg=Add parentheses
inspection.def.parentheses.msg2=Remove parentheses

# Inspection: assignment expression in conditional
inspection.assignment.in.conditional=found '=' in conditional
inspection.assignment.in.conditional.name=Assignment in conditional
inspection.assignment.in.conditional.msg=Replace '=' with '=='
inspection.assignment.in.conditional.msg2=Add parentheses around

# Inspection: literal array
inspection.literal.array='%w' instead of literal array syntax
inspection.literal.array.msg=Convert to '%w'

# Inspection: nested ternary operators
inspection.nested.ternary.operators=Nested ternary operators
inspection.nested.ternary.operators.fix=Convert to if/then/else/end block

# Inspection: then in multiline conditional
inspection.then.in.multiline.conditional='Then' in multiline if/unless block
inspection.then.in.multiline.conditional.msg=Delete 'then'

# Inspection: for to foreach
inspection.fortoforeach.quickfix.message=Change for loop to for.each

# Inspection: call
inspection.deadcode.name=Unreachable code
inspection.deadcode.unreachable.code=Unreachable code
inspection.deadcode.unreachable.method=Unreachable code. This method is overridden and there is no alias for it

# Inspection: Dynamic constant assinment erro
inspection.dynamic.const.assignment.name=Dynamic constant assignment
inspection.dynamic.constant.assignment=Dynamic constant assignment

# Inspection: Constant re-assignment error
inspection.constant.reassignment.name=Constant re-assignment
inspection.constant.reassignment.error.msg=Constant re-assignment: ''{0}''

# Inspection: Constant re-assignment error
inspection.constant.already.initialized.name=Constant already initialized
inspection.constant.already.initialized.warning.msg=Already initialized constant ''{0}''

# Inspection: Don't put space before parentheses
inspection.parentheses.name=Space before arguments parentheses
inspection.parentheses.warning=Don't put space before arguments parentheses

#Inspection: Redundant parentheses after method call
inspection.parentheses.after.method.call=Redundant parentheses after method call
inspection.parentheses.after.method.call.fix=Remove parentheses

# Inspection: jump error
inspection.jump.error.name=Jump error
inspection.jump.error.return.inside.class.or.module=Return statement inside class or module body
inspection.jump.error.no.loop.for.break=No corresponding loop for break statement
inspection.jump.error.no.loop.for.next=No corresponding loop for next statement
inspection.jump.error.no.loop.for.redo=No corresponding loop for redo statement
inspection.jump.error.no.context.for.retry=No corresponding context for retry statement

# Inspection: ParamDef resolve inspection
inspection.paramdef.resolve.name=Unexpected parameter value for Rails specific call
inspection.paramdef.resolve.unexpected.param.not.valid=unexpected parameter value ''{0}'' for this Rails call
inspection.paramdef.resolve.dynamic.param=Cannot check dynamically generated value ''{0}''

inspection.paramdef.unexpected.param.value=unexpected parameter value ''{0}''
inspection.paramdef.enum.unexpected.value=expected one of:
inspection.paramdef.hash.unexpected.key=unexpected hash key ''{0}''
inspection.paramdef.hash.unexpected.key.type=expected symbol, not string key: ''{0}''
inspection.paramdef.unbound.paramdef.warning=extra call argument. This call should use less arguments
inspection.paramdef.array.arg.out.of.bounds.warning=extra array element. This array should contain only {0} elements

inspection.paramdef.association.warning=unable to find associated Rails Model for ''{0}'' association field
inspection.paramdef.association.name.warning=unable to find Rails Model association with name ''{0}''
inspection.paramdef.controller_action.warning=Expected Rails action method name, but found ''{0}''
inspection.paramdef.controller.warning=Expected Rails controller name (e.g. :login for LoginController), but found ''{0}''
inspection.paramdef.helper.warning=expected helper name (e.g :''login'' for ''app/helpers/login_helper.rb'') or '':all'' parameter, but found ''{0}''
inspection.paramdef.file.warning=expected file name (e.g :''/public/404.html'', but found ''{0}''
inspection.paramdef.image.warning=expected relative path to image from images or ''public'' folder (e.g :''icon'', ''icon.png'', ''/icons/icon.gif''), but found ''{0}''
inspection.paramdef.video.warning=expected relative path to video from videos or ''public'' folder (e.g :''trailer'', ''trailer.ogg'', ''/videos/trailer.ogg''), but found ''{0}''
inspection.paramdef.audio.warning=expected relative path to audio from audios or ''public'' folder (e.g :''sound'', ''sound.wav'', ''/audios/sound.wav''), but found ''{0}''
inspection.paramdef.method.warning=expected method name{0}, but found ''{1}''.
inspection.paramdef.access.warning=Method access modifier should be at least {0}
inspection.paramdef.method.warning.up.to.part=from current or parent classes up to ''{0}''
inspection.paramdef.migration.warning=expected DB field name of table ''{0}''{2}, but found ''{1}''
inspection.paramdef.migration.warning.undefined.db=DB field ''{1}'' of undefined table for class ''{0}''
inspection.paramdef.model_name.warning=Expected Rails model class name (e.g. ''Person''), but found ''{0}''
inspection.paramdef.model.warning=Expected DB Table name (e.g. :people for model Person), but found ''{0}''
inspection.paramdef.partial.warning=expected partial template''s name or path (e.g. ''partial'' or ''/login/partial''), but found ''{0}''
inspection.paramdef.script.warning=expected relative path to javascript from ''public/scripts'' folder (e.g :''prototype''), but found ''{0}''
inspection.paramdef.stylesheet.warning=expected relative path to stylesheet from stylesheets or ''public'' folder (e.g :''coderay.css'', ''coderay'', ''/stylesheets/user-styles''), but found ''{0}''
inspection.paramdef.view.warning=expected view template located in [VIEW_TEMPLATE_ROOT] (e.g. ''login/index'' for ''[VIEW_TEMPLATE_ROOT]/login/index.html.erb''), but found ''{0}''
inspection.paramdef.layout.warning=expected path to layout file located in [VIEW_TEMPLATE_ROOT]/layouts or symbol reference to layout method name (e.g. ''login'' for ''[VIEW_TEMPLATE_ROOT]/layouts/login.html.erb'' or :my_render_method), but found ''{0}''
inspection.paramdef.table_name.warning=expected DB table name {1}, but found ''{0}''
inspection.paramdef.warning.eg.singular=(e.g. {0})
inspection.paramdef.warning.forbidden.rsymbol.usage=Symbol value cannot be used here
inspection.paramdef.warning.forbidden.rsymbol.in.assoc.class_name=Rails doesn't understand symbol value here you should use string
inspection.paramdef.warning.name.array.type=array
inspection.paramdef.warning.name.hash.type=hash
inspection.paramdef.warning.name.string.type=string
inspection.paramdef.warning.name.symbol.type=symbol

# Inspection: Rails 3.0 deprecated feature
inspection.rails3.deprecated.name=Features deprecated in Rails
inspection.rails3.show.for.old.projects=Show inspection for old (Rails < 3.0) projects
inspection.rails3.will.be.removed.from=Support will be removed from Rails {0}
inspection.rails3.option.in.finders=Supplying any option to the finder or calculation methods is deprecated
inspection.rails3.find.all.and.first=find(:first) and find(:all) are deprecated in favour of first and all methods
inspection.rails3.constant.deprecated=''{0}'' constant is deprecated in Rails 3.0
inspection.rails3.call.deprecated=''{0}'' call is deprecated
inspection.rails4.dynamic.finders=Dynamic finders are deprecated, please consider rewriting using where

# Inspection: Shoulda unsupported file name
inspection.shoulda.reassignment.name=Unsupported Shoulda test file
inspection.shoulda.reassignment.error.msg=Shoulda code insight support isn't activated for this class.

# Inspection: Simplify
inspection.simplify.name=Expression can be simplified
inspection.simplify.message=This inspection warns about incorrect logic in boolean expression
inspection.simplify.message.quickfix.message=Simplify boolean expression to ''{0}''

# Inspection: Class variable usage
inspection.classvariables.name=Class variable usage

# Inspection: Super call without superclass
inspection.call.super=super() call with no superclasses actually defined

# Inspection: Instance variable in string
inspection.instance.variable.to.string=No braces around instance variable being interpolated into a string
inspection.global.variable.to.string=No braces around global variable being interpolated into a string
inspection.instance.variable.to.string.fix=Add braces

# Inspection: Convert control flow
inspection.controlflowconversion.name=Control flow statement with negative condition
inspection.controlflowconversion.quickfix.message=Replace ''{0} {1}'' block with ''{2} {3}''
inspection.unlesswithelse.name=Unless used with else
inspection.unlesswithelse.quickfix.message=Convert fo 'if.. ' statement

# Inspection: For loop usage
inspection.forloop.name=For loop is better to be replaced with for.each

# Suppress : Ruby
suppress.inspection.statement=Suppress for statement
suppress.inspection.method=Suppress for method
suppress.inspection.class.module=Suppress for class/module
suppress.inspection.class.module.all=Suppress all inspections for class/module

# Suppress: Gherkin

# Cucumber
inspection.group.cucumer.name=Cucumber
inspection.undefined.step.name=Undefined step
inspection.undefined.step.msg.name=Undefined step reference:
inspection.duplicate.step.definition.message=Several step definitions with the same name found
inspection.duplicate.step.definition.gutter.tooltip.message=Several step definitions with the same name found
inspection.duplicate.step.definition.gutter.balloon.title=Select duplicated step definition
inspection.step.definition.parameter.count.message=Parameter count in the block section does not match parameter count in the step name

# Rails checklist inspections
inspection.rails.checklist.one.model.call.from.controller.name=Controller action calling too many model methods (except .find or .new)
inspection.rails.checklist.one.model.call.from.controller.message=Controller action should call one model method other than an initial find or new
inspection.rails.checklist.one.or.two.instance.variables.name=Too many shared instance variables between controller and view
inspection.rails.checklist.one.or.two.instance.variables.message=At most two instance variables should be shared between controller and view
inspection.rails.checklist.named.scope.instead.of.method.name=Custom .find accessed more than once that use a custom method instead of scope/named_scope
inspection.rails.checklist.named.scope.instead.of.method.message.old=All custom finds accessed from more than one place in the code should use named_scope instead of a custom method
inspection.rails.checklist.named.scope.instead.of.method.message=All custom finds accessed from more than one place in the code should use scope instead of a custom method
inspection.rails.checklist.view.calls.find.name=Base find methods shouldn't be called from a view
inspection.rails.checklist.view.calls.find.message=find or find_by methods should not be called from a view or view helper

# Clashed identifiers inspection
inspection.clashed.identifier.name=Clashed identifier
inspection.clashed.identifier.message=Name of the identifier clashes with name of method or attribute

# Inspection: yard
inspection.yard.name=Wrong Yard tags
inspection.yard.several.return.tags=Several @return tags found
inspection.yard.no.param.tag=Missing @param tag for ''{0}''
inspection.yard.several.param.tags=Several @param tags for name ''{0}''
inspection.yard.wrong.param=Method doesnt have parameter for name ''{0}''
inspection.yard.remove.tag=Remove tag

# Inspections: unused import
inspection.jruby.unused.import.name=Unused import
inspection.jruby.unused.import=Import is never used
inspection.jruby.remove.import=Remove unused import

# Inspection: java deprecated method usage
inspection.jruby.deprecated.java.method.usage=''{0}'' is deprecated
inspection.jruby.deprecated.java.method.override=Overrides deprecated method in ''{0}''
inspection.jruby.deprecated.java.method.name=Deprecated Java method usage

########################################################################################################################
# LineMarkers
#########################################################################################################################
overrides=Overrides
overridden=Overridden
mixed.in=Mixed
partial=Partial declarations
superclass=Superclass

line.marker.select.overriden.variant=Select overridden element
line.marker.select.overriding.variant=Select overriding element
line.marker.select.overriden.partial.variant=Select partial declaration


########################################################################################################################
# Create Actions
#########################################################################################################################
action.create.new.rails.template.filetype={0} Template
action.description.create.new.rails.template.file=Create New {0}
class.to.import.chooser.title=Choose class

#########################################################################################################################
# Module settings dialog
#########################################################################################################################
module.settings.dialog.select.test.spec.cb.install.rspec=&RSpec
module.settings.dialog.select.test.spec.cb.install.rspec_rails=&Spec::Rails
module.settings.dialog.select.test.spec.panel.rspec.title=RSpec
module.settings.dialog.select.test.spec.panel.rspec_rails.title=RSpec on Rails
module.settings.dialog.select.test.spec.rb.use.rspec.gem=Use RSpec &Gem: {0}
module.settings.dialog.select.test.spec.rb.use.rspec.gem.version.not.installed=[not installed]
module.settings.dialog.select.test.spec.rb.install.rspec.plugin=RSpec &Plugin
module.settings.dialog.select.test.spec.rb.rspec.plugin.latest=Install &Latest release
module.settings.dialog.select.test.spec.rb.rspec_rails.plugin.latest=Install L&atest release
module.settings.dialog.select.test.spec.rb.rspec.plugin.any=Install Sp&ecific release (replace X, Y, Z with the version of RSpec)
module.settings.dialog.select.test.spec.rb.rspec_rails.plugin.any=Install Speci&fic release (replace X, Y, Z with the version of RSpec)
module.settings.dialog.select.test.spec.rb.label.plugin.arguments=Arguments for script/plugin install :
module.settings.dialog.select.test.spec.rb.rspec.plugin.trunk=Install &Trunk version
module.settings.dialog.select.test.spec.rb.rspec_rails.plugin.trunk=Install Tr&unk version

module.settings.dialog.select.test.ruby.spec.gem.text=Would you like to install RSpec gem.
module.settings.dialog.select.test.ruby.spec.gem.install.text=&Yes
module.settings.dialog.select.test.ruby.spec.gem.dont.intstall.text=&No

module.settings.dialog.select.test.framework.choose.text=Please specify a Test Framework for your module.
module.settings.dialog.select.test.framework.choose.test.unit.text=&Test::Unit framework
module.settings.dialog.select.test.framework.choose.rspec.text=&RSpec framework
module.settings.dialog.select.test.framework.choose.rspec.html.link=For more information about RSpec Test Framework, see <a href="{0}">{0}</a>
module.settings.dialog.select.test.spec.ruby.installed.rspec.gem=Your RSpec Gem version: <font color="#2554C7">{0}</font>.
#module.settings.dialog.select.test.spec.ruby.installed.rspec.gem=<b>Your RSpec Gem version:</b> <font color="#2554C7">{0}</font>.
module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.html=Please <font color="#E41B17">install RSpec Gem </font> for current Ruby SDK or chose <font color="#E41B17">Ruby SDK with installed RSpec</font> before continuing.
#module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.html=<b>Please <font color="#E41B17">install RSpec Gem </font> for current Ruby SDK or chose <font color="#E41B17">Ruby SDK with installed RSpec</font> before continuing.</b>
#module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.text=Please install RSpec Gem for current Ruby SDK or chose Ruby SDK with installed RSpec before continuing.
module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.text=RSpec Gem isn't installed for chosen Ruby SDK. Continue anyway?
module.settings.dialog.select.test.spec.ruby.please.install.rspec.gem.title=Install RSpec Gem


module.settings.dialog.svn.not.in.path.msg=Plugins installation requires svn client. At first setup svn folder path.
module.settings.dialog.svn.not.in.path.title=Svn not found


module.settings.dialog.source.roots.choose.test.text=Please specify a directory where ruby tests source files for your module can be found.\n\nNote: the plugin will search correctly only those test files, that are located under tests directories.\nYour can add additional test source roots later in module settings dialog.
module.settings.dialog.source.roots.choose.test.create=&Create test source directory (recommended)
module.settings.dialog.source.roots.choose.test.comment=Enter relative path to module content root :
module.settings.dialog.source.roots.choose.test.do.not.create=&Search tests in whole module content
module.settings.dialog.source.roots.choose.test.full.path=The following directory will be marked as a test source directory :

module.settings.dialog.test.framework.tab.title=Test Framework
module.settings.dialog.test.framework.rspec.use.gem=Use RSpec &Gem
module.settings.dialog.test.framework.rspec.use.plugin=Use RSpec &Plugin
module.settings.dialog.test.framework.rspec.use.no.sdk.messages=No Ruby SDK. At first setup Ruby SDK for this Module.
module.settings.dialog.test.framework.rspec.use.no.sdk.title=Show RSpec Gem Version
module.settings.dialog.test.framework.rspec.get.gem.version=&Show RSpec Gem version

module.create.dialog.init.errors.title=Module ''{0}'': Setup Error

module.toggle.rails.view.sources.action=Rails View User Folders
module.toggle.rails.view.additional.sources.action.description=Mark directory as a Rails View user folder
module.paths.rails.view.additional.group=Rails View User Folders

module.settings.dialog.i18n.folders.tab.title=I18n folders
module.settings.dialog.i18n.folders.list.caption=&I18n folders:

module.settings.dialog.load.path.tab.title=Load Path
module.settings.dialog.load.path.list.caption=&Load paths:
module.settings.dialog.load.path.button.add=&Add
module.settings.dialog.load.path.filechooser.add.dialog.title=Select directory
module.settings.dialog.load.path.button.remove=&Remove

##########################################################################################################################
# New Module/Project Wizard
#########################################################################################################################
module.wizard.test.framework.rspec.svn.note=Note: Svn must be in PATH. You can add folder containing snv to load path right here

##########################################################################################################################
# Files operations
#########################################################################################################################
file.cant.create.folder.text=Can't create folder : "{0}"
file.cant.create.folder.title=Create Folder

##########################################################################################################################
# IDEA Bundles
#########################################################################################################################
# ProjectBundle
module.toggle.excluded.action=Excluded
module.toggle.excluded.action.description=Include/Exclude directory from module
module.toggle.test.sources.action=Test Sources
module.toggle.test.sources.action.description=Mark directory as a Test Sources root
module.paths.test.sources.group=Test Source Folders
module.paths.excluded.group=Excluded Folders
module.paths.unmark.tests.tooltip=Unmark Tests
module.paths.unmark.source.tooltip=Unmark Source
module.paths.remove.tooltip=Remove
module.paths.include.excluded.tooltip=Include
module.paths.empty.node=<empty>
project.root.change.loading.progress=Loading Files...

#IdeBundle
prompt.enter.new.filetype.name=Enter a new {0} file name:
title.new.filetype=New {0}
title.new.from.template=New {0}
title.cannot.create.filetype=Cannot Create {0}
title.cannot.create.file=Cannot Create File
command.name.create.new.file=Create {0}
command.create.file.from.template=Create File From Template
progress.creating.filetype.in.directory=Creating {0} ''{1}'' in {2}
progress.deleting=Deleting
error.please.enter.a.file.name=Please enter a file name
error.unable.to.parse.template.message=Unable to parse template "{0}"\nError message: {1}
tab.chooser.project=Project
tab.chooser.search.by.name=Search by Name

#ExecutionBundle
choose.test.method.dialog.title=Choose Test Method
choose.test.class.dialog.title=Choose Test Class
set.class.name.message=Set class name first

#CommonBundle
action.rerun=Rerun


##########################################################################################################################
# JRuby Facet
#########################################################################################################################
jruby.facet=JRuby
jruby.facet.no.jdk.error=No JRuby SDK selected!
jruby.select.sdk=Select JRuby SDK

#Settings tab: Gem Manager and SDK
jruby.settings.tabs.gem.manager.title=Gem Manager
jruby.settings.tabs.gem.manager.error.wrong.sdk=Chosen SDK isn't JRuby SDK

##########################################################################################################################
# Rails Facet
#########################################################################################################################
rails.facet=Ruby on Rails
jrails.facet=JRuby on Rails
rails.application.settings=Rails Application Settings
rails.mountable.engine.settings=Rails Engine Settings
rails.facet.wizard.more.button=More...
rails.facet.wizard.more.dialog.title=Rails Facet Settings
rails.facet.wizard.error.no.skd=You didn't select Ruby SDK with Rails Framework
rails.facet.wizard.error.skd.without.rails=Your SDK doesn't contain Rails Framework
rails.facet.wizard.error.add.facet.canceled=Rails Facet creation was canceled.
rails.facet.wizard.tab.rails.project.generator.title=Rails Application
rails.facet.wizard.tab.rails.project.generator.select.rails.relative.path=<html>Please specify a directory in which the application will be generated. A path should be relative to module content directory. If you leave this field empty, the module content directory will be used. (examples\: 'myapp' or 'src/rails/myapp' or leave empty)\:</html>
rails.facet.wizard.tab.rails.project.generator.select.rails.preconfigure.for.db=&Preconfigure for selected database:
rails.facet.wizard.tab.rails.project.generator.select.rails.generate.mountable.engine=Generate Rails mountable &engine
rails.facet.wizard.tab.rails.project.generator.select.rails.skip.test.unit=&Skip Test::Unit files
rails.facet.wizard.tab.rails.project.generator.ruby.sdk=&Ruby SDK\:

##########################################################################################################################
# Gem Facet
#########################################################################################################################
gem.facet.wizard.error.no.skd=You didn't select Ruby SDK
gem.facet.wizard.error.no.bundler=Bundler cannot be found
gem.facet.settings.tab.general.title=Info
gem.facet.settings.tab.general.homeDir=Ruby Gem Base Directory:

##########################################################################################################################
# RubyMotion application
#########################################################################################################################
ruby.motion.application.settings=RubyMotion Application Settings
ruby.motion.wizard.tab.project.generator.title=RubyMotion Application
ruby.motion.wizard.tab.project.generator.ruby.sdk=Ruby &SDK\:
ruby.motion.wizard.tab.project.generator.project.type=&Template\:
ruby.motion.wizard.tab.project.generator.use.calabash=Use motion-&calabash testing framework

##########################################################################################################################
# Gem application
#########################################################################################################################
gem.project.generator.name=Ruby Gem
gem.wizard.generate.project.title=Gem Settings
gem.wizard.ruby.interpreter=Ruby &SDK\:
gem.wizard.bundler.version=Bundler &version\:
gem.wizard.create.bin.folder=Create &bin folder
gem.wizard.create.test.folder=Create &test folder
gem.bundler.not.found=No Bundler gem found in SDK. Please install Bundler
gem.download.bundler.gem=Downloading Bundler gems list
gem.download.bundler.error=No bundler gems found.\nPlease check proxy settings and gem urls
gem.project.add.sdk=To add SDK please specify Ruby interpreter path
gem.project.install.bundler=Install Bundler gem
gem.build.options.dialog.title={0} Gem {1}
gem.build.options.dialog.edit.arguments=Edit ''gem {0}'' arguments
gem.build.options.arguments=Optional arguments

rspec.rails.facet.wizard.tab.rails.project.generator.title=RSpec Components
#------- Rails Facet Builder
rails.facet.builder.run.configuration.server.creating=Creating Rails Run Configuration
rails.facet.builder.rails.application.searching=Searching for Rails Application
rails.facet.builder.rails.application.choose.title=Rails Application Root Folder
rails.facet.builder.rails.application.choose.relative.path=Choose relative path to module content root.

#------- Settings --
rails.facet.settings.tab.general.title=Info
rails.facet.settings.tab.general.railsHomePath.caption=Rails Application Home Directory:
rails.facet.settings.tab.railsView.title=Rails View
#------ Actions -----
rails.facet.action.regenerate.generators.error.wrong.sdk=Can't reload available generators. No SDK is specified for module.
rails.facet.action.regenerate.rakeTasks.error.wrong.sdk=Can't reload available rake tasks. No SDK is specified for module.

##########################################################################################################################
# RHTML Parsing
#########################################################################################################################
rhtml.parsing.flex.error=Lexer error!!!
rhtml.parsing.named.element.is.not.closed=Element {0} is not closed
rhtml.parsing.unexpected.end.of.file=Unexpected end of file

##########################################################################################################################
# Breadcrumbs
#########################################################################################################################
breadcrumbs.rhtml.presentation.omit.new.line=Omit new line
breadcrumbs.rhtml.presentation.comment=Comment
breadcrumbs.rhtml.presentation.ruby.injection=Ruby injection
breadcrumbs.rhtml.tooltip.textrange=TextRange: {0}

##########################################################################################################################
# Refactoring
#########################################################################################################################
# introduce
refactoring.introduce.name.error=Incorrect name
refactoring.introduce.selection.error=Cannot perform refactoring using selected element(s)
refactoring.introduce.context.error=Cannot perform refactoring in this context
refactoring.introduce.command.error=Cannot perform refactoring on the command call
refactoring.introduce.input.error=Cannot perform refactoring. Selected fragment depends on local variable(s)
refactoring.introduce.state.changed.error=Cannot perform refactoring. State is changed inside the selected fragment

# introduce variable
refactoring.introduce.variable.scope.error=Name clashes with existing local variable or parameter

# introduce parameter
refactoring.introduce.parameter.dialog.title=Extract Parameter
refactoring.introduce.parameter.scope.error=Name clashes with existing local variable or parameter
refactoring.introduce.parameter.outside.method.error=Cannot perform refactoring outside of any method
refactoring.introduce.parameter.looking.for.usages=Looking for usages
refactoring.introduce.parameter.elements.to.change=Elements to change

# introduce constant
refactoring.introduce.constant.scope.error=Name is already declared in scope

# introduce field
refactoring.introduce.field.scope.error=Name clashes with existing field
refactoring.introduce.field.context.error=Cannot replace all occurrences in class and instance context

refactoring.introduce.field.class.context.error=Cannot use @@ variable in class context

# override implement
refactoring.override.methods.title=Select Methods to Override
refactoring.implement.java.methods.title=Select Methods to Implement
# generate
refactoring.generate.methods.writer=Generate attr_writer for Variables
refactoring.generate.methods.reader=Generate attr_reader for Variables
refactoring.generate.methods.accessor=Generate attr_accessor for Variables

refactoring.generate.methods.accessor.cant.find=No variables have been found to generate Accessors for
refactoring.generate.methods.reader.cant.find=No variables have been found to generate Readers for
refactoring.generate.methods.writer.cant.find=No variables have been found to generate Writers for


refactoring.extract.method.error.method.name.clashes.with.existing.method=Method name clashes with already existing method name

refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.break=No corresponding loop for break statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.next=No corresponding loop for next statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.redo=No corresponding loop for redo statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.context.for.retry=No corresponding context for retry statement inside code fragment

refactoring.extract.method.error.cannot.perform.refactoring.when.execution.flow.is.interrupted=Cannot perform refactoring when execution flow is interrupted
refactoring.extract.method.error.cannot.perform.refactoring.when.class.declaration.inside=Cannot perform refactoring when class declaration is inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.when.module.declaration.inside=Cannot perform refactoring when module declaration is inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.when.method.declaration.inside=Cannot perform refactoring when method declaration is inside code fragment

refactoring.extract.method.error.cannot.perform.refactoring.using.selected.elements=Cannot perform extract method using selected element(s)
refactoring.extract.method.error.cannot.perform.refactoring.with.return.statement.inside.and.notempty.output.variables=Cannot perform refactoring with return statement inside and local variables modifications inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.from.expression.with.notempty.output.variables=Cannot perform refactoring from expression with local variables modifications inside code fragment

# push down
refactoring.push.down.error.cannot.perform.refactoring.no.child.classes=Class {0} has no inheritors

# extract superbase
refactoring.extract.superbase.name.error={0} name should be a Ruby constant
refactoring.extract.superbase.directory.does.not.exist=Directory {0} does not exist
refactoring.extract.superbase.directory.file.exists=File {0} already exists
refactoring.extract.superbase.name.prompt=&{0} name:
refactoring.extract.superbase.from=Extract {0} from:
refactoring.extract.superbase.no.members=No members selected to form

# extract module
refactoring.extract.module.action=Extract _Module
refactoring.extract.module.command=Extracting module from {0}
refactoring.extract.module.header=Extract Module
refactoring.extract.module.members.to.form.module=Members to &form Module
refactoring.extract.module.directory.for.module=&Directory for new module:
refactoring.extract.module.context=Context to form module:
refactoring.extract.module.context.static=Static (&extend)
refactoring.extract.module.context.instance=Instance (&include)

# extract super class
refactoring.extract.superclass.directory.for.class=&Directory for new class:

#inline local
refactoring.inline.local.multiassignment=Definition is in multi-assign
#rename application controller
refactoring.rename.application.controller=ApplicationController cannot be renamed

##########################################################################################################################
# Execution
#########################################################################################################################
exception.text.unknown.error=Unknown Error
command.name.open.error.message.view=Open message view
execution.error.title.generators.list={0}: Get available generators list
execution.error.title.rake.tasks={0}: Get available rake tasks
execution.error.title.generate.rails.app=Generate Rails Application for module ''{0}''
execution.error.title.abstract.script={0}: Script Execution Error
execution.get.rspec.gem.version="Getting RSpec gem version. Please wait..."
execution.get.rails.gem.version="Getting Rails gem version. Please wait..."


##########################################################################################################################
# Find usages
#########################################################################################################################
find.usages.ruby.new.instance.group=New instance creation
find.usages.ruby.declarations.group=Ruby declaration
find.usages.ruby.partial.declarations.group=Ruby partial declaration
find.usages.ruby.super.or.overriding.declarations.group=Ruby super or overriding declaration
find.usages.derived.class.group=Derived class
find.usages.attribute.declaration.group=Attribute declaration
find.usages.ruby.alias.occurrence.group=Alias
find.usages.ruby.require.load.file.occurrence.group=Require or load file
find.usages.ruby.text.occurrence.group=Text occurrence
##########################################################################################################################
# Unwrap
##########################################################################################################################
unwrap.if=Unwrap if...
unwrap.unless=Unwrap unless...
unwrap.while=Unwrap while...
unwrap.until=Unwrap until...
unwrap.else=Unwrap else...
remove.else=Remove else...

##########################################################################################################################
# Gem messages
##########################################################################################################################
gem.unknown.version=[unknown version]
gem.not.found.executable.for.gem=Gem ''{0}'' isn''t installed or its executable script ''{1}'' doesn''t exist.

error.module.no.content.roots=Content root in your module ''{0}'' not found. At first setup content root.
error.module.ror.valid.expected= Ruby, Rails or Java module with JRuby Facet is expected, but found: {0}

rails.facet.action.rake.run.error.home.dir.not.found=Can't find home directory for running Rake: ''{0}'';
sdk.no.specified=No SDK specified

##########################################################################################################################
# Ruby Unit Test Runner
##########################################################################################################################
ruby.test.runner.sdk.script.not.found=File ''{0}'' not found in $LOAD_PATH of Ruby SDK with interpreter: ''{1}''
ruby.test.runner.sdk.gem.script.not.found=File ''{0}'' not found in '{1}' gem of Ruby SDK with interpreter: ''{2}''
ruby.test.runner.sdk.gem.lib.not.found=Lib folder wasn't found in 'test-unit' gem of Ruby SDK with interpreter: ''{0}''
ruby.test.runner.sdk.test-unit.gem.not.installed=Test runner requires 'test-unit' gem but it isn't installed in ''{0}''
ruby.test.runner.sdk.test-unit.gem.not.attached=Test runner requires 'test-unit' gem but it {0}.

##########################################################################################################################
# Web Preview
##########################################################################################################################
rails.web.preview.unknown.controller=File ''{0}'' isn''t Rails view or corresponding Rails controller doesn''t exist.
rails.web.preview.unknown.action=Cannot find ''{0}'' action in Rails controller ''{1}''.
rails.web.preview.unsupported.layouts=Preview doesn't support Rails layouts.
rails.web.preview.unknown.controller.class=Class ''{0}'' isn''t Rails controller.

##########################################################################################################################
# Debugging
##########################################################################################################################
ruby.debugger.line.breakpoint.title=Ruby Line Breakpoints
ruby.debugger.exception.breakpoint.title=Ruby Exception Breakpoints
ruby.debugger.exception.breakpoint.display.text=Exception ''{0}''
ruby.debugger.couldnt.evaluate=Couldn''t evaluate: {0}
ruby.debugger.is.not.ready=Debugger is not ready
ruby.debugger.stackframe.not.available=Stack frame is not available
ruby.debugger.no.stackframes.available=No stack frames available
ruby.debugger.global.variables=Global variables
ruby.debugger.local.variables=Local variables
ruby.debugger.cannot.start.debug=Cannot start debugger. {0}
ruby.debugger.cannot.connect=Couldn't Connect To Debugger
ruby.debugger.cannot.connect.timeout=Connecting to debugger using {0} sec timeout, please wait...
ruby.debugger.connecting=Connecting to debugger
ruby.debugger.choose.exception.class.dialog.title=Choose Exception Class
ruby.debugger.cannot.find.free.port=Cannot find free port
ruby.debugger.timeout=Debug connection timeout (s)
ruby.debugger.verbose.output=Verbose debugger output
ruby.debugger.rails.initializer=Additional initializer required to debug Rails application on {0}
ruby.debugger.debugger.gem.is.too.old=You have ''{0}'' in your Gemfile, but it is too old.  Minimal supported version is ''{1}''

common.msgs.fetching.version=Fetching... Please wait.
error=Error
expected=Expected: {0}
unexpected=Unexpected: {0}
or={0} or {1}
codeInsight.rails.switch.to.view.no.template=''{0}'' template not found
codeInsight.rails.switch.to.view.error.creating=Error creating view from template: {0}

##########################################################################################################################
# Model dependencies diagram
##########################################################################################################################
model.dependency.show.hide.association.fields=Show/hide association fields
model.dependency.show.hide.typical.db.fields=Show/hide system DB fields (created__at, etc)
model.dependency.show.hide.own.fields=Show/hide own fields
model.dependency.show.hide.migration.fields=Show/hide migration fields
model.dependency.hand.tool=Hand tool
model.dependency.building=Building model dependency diagram...
model.dependency.updating=Updating model dependency diagram view...
model.dependency.delete.association=Delete association
model.dependency.type.defined=Type must not be 'undefined'
model.dependency.name.valid.identifier=Name should be in underscore case
model.dependency.already.defined=Already defined association with name {0}
model.dependency.add.association=Add Association: {0} -> {1}
model.dependency.read.only=Class {0} is read-only
model.dependency.model.structure=Models Structure
##########################################################################################################################
# Destroy Rails element provider
##########################################################################################################################
#destroy.dialog.title=Destroy
#destroy.dialog.message=Destroy Rails {0}
#destroy.dialog.button=Destroy

##########################################################################################################################
# Rename models mirgations
##########################################################################################################################


##########################################################################################################################
# Gem management
##########################################################################################################################
gems.gems=Gems

# ui common for panel and dialog
gems.ui.common.description=Description
gems.ui.common.authors=Author(s):
gems.ui.common.email=Email:
gems.ui.common.homepage=Homepage:
gems.ui.common.not.available=N/A
gems.ui.common.gem.root=Gem root:
gems.ui.common.description.not.available=Description is not available
gems.ui.common.table.column.name=Name
gems.ui.common.table.column.versions=Versions

# add gems dialog
gems.add.dialog.title.install=Install Gems
gems.add.dialog.title.list=List Gems
gems.add.dialog.title.update=Update Gems
gems.add.dialog.version.to.install=&Version to install:
gems.add.dialog.version.to.update=Update to &version:
gems.add.dialog.latest=Latest
gems.add.dialog.update=Update
gems.add.dialog.update.all=Update all
gems.add.dialog.refresh=&Refresh
gems.add.dialog.manage.url=Manage gem r&epositories...
gems.add.dialog.autoadd.install=&Automatically install dependent gems
gems.add.dialog.autoadd.update=&Automatically update dependent gems
gems.add.dialog.fetching.description=Fetching description...
gems.add.dialog.downloaded=Downloading gems: {0}
gems.add.dialog.install=Install
gems.add.dialog.default.url=default gem url
gems.add.dialog.description.not.available.remote.gem=Downloading description...
gems.add.dialog.generate.documentation=&Generate RDoc and ri documentation

# edit gems urls dialog
gems.edit.urls.dialog.title=Edit Gem Repositories URLs
gems.edit.urls.dialog.add=Add
gems.edit.urls.dialog.remove=Remove
gems.edit.urls.dialog.url=URL:

# gems inspection
gems.inspection.unattached.gem=Missing gems
gems.inspection.gem.not.available=Gem ''{0}'' is not available in SDK ''{1}''
gems.inspection.gem.no.sdk=Gem ''{0}'' is not available, because no SDK is set
gems.inspection.requirement.not.satisfiable=Gem ''{0}'' requirements are contradictory and cannot be satisfied
gems.inspection.gem.not.supported.by.sdk=Gem ''{0}'' cannot be used with SDK ''{1}''
gems.inspection.gem.with.requirements.not.available=Gem ''{0}'' with specified version requirements is not available in SDK ''{1}''
gems.inspection.try.to.install=Try to install gem ''{0}''
gems.inspection.try.to.install.from=Try to install gem ''{0}'' from ''{1}''
gems.inspection.remove.version.requirements=Remove version requirements
gems.inspection.install.using.bundler=Install missing gems using 'bundler' gem
gems.inspection.git.dependency.not.allowed=Git dependencies are only allowed inside Gemfile

gems.inspection.deprecated.gem=Deprecated gems
gems.inspection.deprecated.gem.better.use.other.gem=Gem is deprecated, better to use ''{0}'' gem
gems.inspection.deprecated.gem.quick.fix.replace.name=Change gem dependency to ''{0}'' gem
gems.inspection.deprecated.gem.quick.fix.replace.version=Change gem version to {0}
gems.inspection.deprecated.gem.quick.fix.replace.name.and.version=Change gem dependency to ''{0}'' gem, version {1}
gems.inspection.deprecated.gem.better.use.other.version=This gem version doesn''t work properly{1}, better to use {0} version
gems.inspection.wrong.ruby.version.description=Gemfile Ruby version doesn't match SDK
gems.inspection.wrong.ruby.version=Your Ruby version is ''{0}'', but your Gemfile specified ''{1}''
gems.inspection.no.ruby.version.set=No SDK detected, but your Gemfile specified ''{0}''
gems.inspection.ruby.version.fix=Try to set Ruby ''{0}'' for the project
gem.inspection.notification.no.matching.sdk=No Sdk matches requested version: ''{0}''
gem.inspection.notification.no.matching.sdk.body=Please install Sdk specified in Gemfile separetely

gems.inspection.minitest.gem=Minitest support
gems.inspection.minitest.gem.reporter.not.installed=<html><body> \
  RubyMine test runner requires ''minitest-reporters'' gem({0}) for integration with MiniTest framework.<br/> \
  See <a href='http://www.jetbrains.com/ruby/webhelp/minitest.html'>minitest integration</a> for more information.\
</body></html>
gems.inspection.gem.quick.fix.add.name=Add gem dependency to ''{0}'' gem
gems.inspection.gem.quick.fix.add.name.and.version=Add gem dependency to ''{0}'' gem, version {1}

# Gem Manager panel
gems.panel.list.gems=List &Gems...
gems.panel.install.gems=&Install Gems...
gems.panel.update.gems=&Update Gems...

# debug gems
gems.debugger.alert.title=RubyMine Debugger
gems.bundled.jruby.debug.not.found=Bundled JRuby debug gem not found
gems.bundled.win32.debug.not.found=Bundled Windows debug gems not found
gems.bundled.debug.not.found=Bundled debug gems not found
gems.install.debug.gem=The gem {0} required by the debugger is not currently installed. Would you like to install it?
gems.update.debug.gem=The gem {0} required by the debugger is outdated. Would you like to update it?
gems.debugger.in.gemfile=<html><body> \
  It looks like there is the 'debugger' gem in your Gemfile.\
  This may cause some problems during debugging.<br/>\
  Are you sure you want to continue?<br/>\
  If you are not, check <a href="http://www.jetbrains.com/ruby/webhelp/debugging.html">help topic</a>.\
  </body></html>

# gem command
gems.gem.listing.remote=Listing remote gems...
gems.gem.listing.remote.url=Listing remote gems: {0}...
gems.gem.running.command=Running gem command: {0}
gems.running.command.error=Error running gem {0} command
gems.gem.installing=Installing gems...
gems.gem.installing.gem=Installing gem {0}
gems.gem.installing.failed=Failed to Install Gems
gems.gem.installing.failed.no.sdk=Could not install gems: no SDK specified
gems.gem.installing.failed.list=Following gems were not installed:
gems.checking.version=Checking rubygems version...

# requirements
gems.requirements.missing=<html><body> \
   <font size=\"3\">{0} has detected that<br>\
   some of the gems required for ''{1}''<br>\
   are not installed<br>\
   <a href=\"create\">Install missing gems</a><br> \
</body></html>

# quick install gem action
gems.quick.could.not.install=Could not install gem
gems.quick.additional.params=Additional &command line arguments:

# miscellaneous
gems.version.not.detected=RubyGems Version Could Not Be Detected
gems.not.installed.for.sdk=RubyGems not installed for SDK: {0}.<br>\nPlease download and install <a href=\"https://rubygems.org/\">rubygems</a>
gems.rails.not.fully.supported=This version is not fully supported
gems.rails.engine.not.supported=Mountable engines generation requires Rails 3.1
gems.rails.sdk.not.supported=Rails 3.0 requires Ruby >= 1.8.7 SDK
gems.no.rails.gem=Select version
gems.install.rails.gem=Install rails gem...
gems.not.activated=is not activated
gems.not.activated.bundler=is not part of the bundle
#Rename models
rails.run.migration.title="Migration was generated"
rails.run.migration.message=<html><body> \
                       <font size=\"3\"><a href=\"create\">Run migration</a><br> \
                    </body></html>

##########################################################################################################################
# Ruby Sdk configuration
##########################################################################################################################
ruby.ide.sdk.configurable.name=Ruby SDK and Gems
ruby.ide.sdk.configurable.ruby.interpreter=Ruby &SDK:
ruby.ide.sdk.configurable.add.sdk=&Add SDK...
ruby.ide.sdk.configurable.add.sdk.prompt=Specify Ruby interpreter path
ruby.ide.sdk.configurable.remove.sdk=&Remove SDK
ruby.ide.sdk.configurable.gems=Installed Gems
ruby.ide.sdk.configurable.no.sdk.selected=No Ruby interpreter configured for the project
ruby.ide.sdk.language.level=Language &level:

action.create.new.class.tip=Create new ruby class
action.create.new.class.prompt=Enter new class name
action.create.new.class.title=New Ruby Class
action.create.new.class.wrong.class.name=Class name should be a Ruby constant
action.create.new.class.file.exists=File ''{0}'' already exists

##########################################################################################################################
# Ruby code style page
##########################################################################################################################
ruby.code.style.keep.line.breaks=Keep line breaks
ruby.code.style.align.multiline.parameters=Align multiline list items
ruby.code.style.align.right.parts.of.assignments.or.hashes=Align right parts of assignments or hashes
ruby.code.style.indent.when.cases=Indent when cases
ruby.code.style.keep.blank.lines.in.declarations=Keep blank lines in declarations:
ruby.code.style.blank.lines.around.methods=Blank lines around methods
ruby.code.style.spaces.around.braces=Spaces around curly braces
ruby.code.style.spaces.around.arrows=Spaces around arrows

##########################################################################################################################
# Live Templates
##########################################################################################################################
live.templates.context.erb.name=ERB



##########################################################################################################################
# Rails I18n
##########################################################################################################################
rails.i18n.property.key=Property key
inspection.rails.i18n.name=Rails i18n properties inspection
inspection.rails.i18n.translate.call.wrong.arguments=I18n#translate call should have at least one argument
inspection.rails.i18n.wrong.key.format=Value ''{0}'' is not a correct i18n property key
inspection.rails.i18n.key.not.found=Value for key ''{0}'' cannot be found in any locale
inspection.rails.i18n.key.not.defined=Value for key ''{0}'' is not defined in some locales
inspection.rails.i18n.create.property=Create Property
inspection.rails.i18n.wrong.property=Wrong property name
inspection.rails.i18n.locale.contains.property=Locale ''{0}'' already contains property key ''{1}''
inspection.rails.i18n.create.missing.property=Create Missing Property
inspection.rails.i18n.create.property.info=Property Info
inspection.rails.i18n.create.property.locale.file=Locale File:
inspection.rails.i18n.create.property.key=Property Key:
inspection.rails.i18n.create.property.value=Property Value:
inspection.rails.i18n.create.property.no.locale=No locale selected

annotator.rails.i18n.locale.file.name=Locale file name is supposed to contain ''{0}''
annotator.rails.i18n.locale.file.wrong.format=Rails i18n wrong locale file format
annotator.rails.i18n.locale.file.should.have.single.root=Rails i18n locale file should have single root
annotator.rails.i18n.locale.missing.locale.entry=Cannot find main locale entry
new.name.conflicts.with=Key conflicts with existing one: ''{0}''

##########################################################################################################################
# RVM
##########################################################################################################################
rvm.ruby.ide.sdk.gemset=RVM gemset:
rvm.sdk.ignore.global.gempath=Ignore &global gempath
rvm.rvmrc.project.notifications.title=Project {0} Settings
rvm.rvmrc.project.sdk.changed.message=According to <b>{0}</b> project {1} file Ruby SDK was changed<br>to <b>{2}</b>"
rvm.rvmrc.project.cannot.find.sdk.message=Cannot switch SDK. RVM SDK ''<b>{0}</b>'' wasn''t found.
rvm.rvmrc.project.cannot.find.gemset.for.sdk.message=Cannot switch SDK. Gemset ''<b>{0}</b>'' isn''t defined for ''<b>{1}</b>'' RVM SDK or such SDK isn't configured in {2}.
ruby.sdk.scanning=Scanning for Ruby interpreters...

##########################################################################################################################
# Bundler
##########################################################################################################################
bundler.cmd.options.dialog.additional.cmdline.parameters=Optional arguments for ''bundle {0}''
bundler.cmd.options.dialog.edit.title=Edit ''bundle {0}'' arguments
bundler.cmd.options.dialog.title=Bundle {0}
bundler.cmd.options.dialog.title.ex=Bundle {0} For {1}


##########################################################################################################################
# Warbler
##########################################################################################################################
warbler.dialog.caption=Warble
warbler.dialog.error.title=Warbler's Errors
warbler.dialog.title=Build .WAR File
warbler.dialog.toggle.include=Include
warbler.dialog.toggle.exclude=Exclude
warbler.dialog.toggle.web.inf.config=WEB-INF config
warbler.dialog.feature.executable=E&xecutable
warbler.dialog.feature.precompiled=&Precompiled
warbler.dialog.feature.gemJar=Include &gem repository
warbler.dialog.label.outputFileName=Output &file name:
warbler.dialog.label.outputDirectory=Output &directory:
warbler.dialog.fstree.webinf.mark=  [WEB-INF config]
warbler.dialog.mode.trace=Turn on invoke/execute &tracing, enable full backtrace

warbler.execution.error=Unable to execute Warbler script. %s
warbler.config.patching.error=Unable to change Warbler config file. %s


warbler.validation.error.fileName=Output file name is incorrect
warbler.validation.error.directoryPath=Output directory doesn't exist
warbler.validation.error.cantCreateFile=Can't create file '%s' in the output directory
warbler.validation.error.jruby.sdk.not.found=Incorrect SDK! JRuby SDK expected
warbler.validation.error.jruby.sdk.not.found.fix.title=Configure SDK
warbler.validation.error.rails.not.found=Rails gem not found
warbler.validation.error.rails.not.found.fix.title=Install Rails
warbler.validation.error.warbler.not.found=Warbler gem not found
warbler.validation.error.warbler.not.found.fix.title=Install Warbler

warbler.error.cant.write.to.config=Can't write to config/warble.rb file
warbler.error.rails.directory.missed=Rails config directory doesn't exist

 ##########################################################################################################################
 # Database Integration
 ##########################################################################################################################
db.missing.drivers.notification.title=RubyMine Database Integration
db.missing.drivers.notification=<html><body><font face="verdana"> \
   <font size="3">Rails data sources detected, but some<br>\
   additional drivers are required for RubyMine<br>\
   to connect to the database<br> \
   <a href="create">Download drivers</a><br> \
</font></font></body></html>

test.frameworks.names.testunit=Test::Unit
test.frameworks.names.shoulda=Shoulda
test.frameworks.names.rspec=RSpec
test.frameworks.names.cucumber=Cucumber


##########################################################################################################################
# Features Statistics
##########################################################################################################################
ruby.navigation.rails.popup=Go to rails...
ruby.tools.rails.generators.popup=Run Rails Generator...
ruby.tools.rake.popup=Run Rake Task...
rails.assets.scan.paths=Scanning rails assets paths registration

actions.types.ruby.script.errors.no.module.in.context.rubymine=Cannot determine current project from action context
actions.types.ruby.script.errors.no.module.in.context.ruby.plugin=Cannot find module with Ruby support in action context
actions.types.ruby.script.errors.no.sdk.in.context.rubymine=Project Ruby SDK isn't configured or isn't valid. Configure now?
actions.types.ruby.script.errors.no.sdk.in.context.ruby.plugin=Module(or ruby facet) Ruby SDK isn't configured or isn't valid. Configure now?
actions.types.ruby.script.errors.execution.error.title=Execution Error
#Rails destroy components
destroy.dialog.message=Destroy or delete {0}
destroy.dialog.title=Destroy or delete {0}
destroy.dialog.button=Destroy
#refactorings
refactoring.inlineVariable=Inline Variable refactoring
refactoring.inlineMethod=Inline Method refactoring
refactoring.introduceField=Extract Field refactoring
refactoring.introduceParameter=Extract Parameter refactoring
refactoring.introduceConstant=Extract Constant refactoring
refactoring.extractMethod=Extract Method refactoring

##########################################################################################################################
# Diagrams
##########################################################################################################################
diagrams.rails.add.new.model=Add Model to Diagram
diagrams.rails.presentable.name=Rails Model Dependency Diagram
diagrams.rails.updating=Updating diagram
diagrams.rails.go.to.model=Enter model name:
diagrams.rails.generate.new.model=Generate New ActiveRecord Model
diagrams.mongo.create.new.model=Create New Mongo Model
diagrams.rails.activerecord.model=ActiveRecord Model
diagrams.rails.mongo.model=Mongo Model
diagrams.gems.presentable.name=Gem Dependency Diagram
diagrams.gems.action.name=Gem Dependency Diagram

# remote interpreter
remote.interpreter.configure.title=Configure Remote Ruby Interpreter
remote.interpreter.configure.path.title=Select Ruby Interpreter
remote.interpreter.configure.temp.files.path.title=Select Folder for Ruby Helpers
remote.interpreter.default.interpreter.path=/usr/bin/ruby
remote.interpreter.unspecified.interpreter.path=Specify Ruby interpreter path
remote.interpreter.wrong.interpreter.path=The selected file is not a valid home for {0}
remote.interpreter.unspecified.temp.files.path=Specify path for Ruby helpers
remote.interpreter.configure.path.label=&Ruby interpreter path:
remote.interpreter.configure.temp.files.path.label=Ruby helpers path:

downloading.gems.title=Downloading Gems
downloading.gems.failed.to.create.directory=Failed to create gem directory {0}
downloading.gems.failed.copy=Error Copying Gems
downloading.gems.canceled=Gems copying has been canceled
upload.helpers=Uploading Rubymine helpers...

# suppress inspection "UnusedProperty" for whole file
# IDEA core action texts and descriptions go here.
# The key patterns are "action." + id + ".text" and "action." + id + ".description"

action.CaptureMemorySnapShot.text=Capture Memory Snapshot
action.CaptureMemorySnapShot.description=Capture memory snapshot
action.CaptureCPUUsageData.text=Start CPU Usage Profiling
action.CaptureCPUUsageData.description=Capture CPU usage data
action.CaptureAllocations.text=Capture Allocations
action.CaptureAllocations.description=Capture memory allocations data
action.ContextHelp.text=Conte_xt Help
action.ContextHelp.description=Show context help
action.RunConfiguration.text=Select Run/Debug Configuration
action.SwitchCoverage.text=Show Code Co_verage Data
action.GenerateCoverageReport.text=_Generate Coverage Report
action.RunConfiguration.description=Select Run/Debug Configuration
action.ShowIntentionActions.text=Show Intention Actions
action.ToggleReadOnlyAttribute.text=Toggle Read-Only Attribute
action.ToggleReadOnlyAttribute.description=Toggle read-only attribute of current file
action.TogglePopupHints.text=Toggle Popup Hints for Current File
action.RunGc.text=Run Garbage Collector
action.ShowPopupMenu.text=Show Context Menu
action.CloseWindow.text=Close Active Window
action.Vcs.ShowMessageHistory.text=Commit Message History
action.Vcs.ShowMessageHistory.description=Show commit message history
action.Vcs.CheckCommitMessageSpelling.text=Check commit message spelling
action.Vcs.CheckCommitMessageSpelling.description=Toggle checking commit message spelling errors
action.Vcs.ShowHistoryForBlock.text=Show History _for Selection
action.Vcs.ShowHistoryForBlock.description=Show history for editor selection
action.Vcs.ShowTabbedFileHistory.text=Show _History
action.Vcs.ShowTabbedFileHistory.description=Show history of file
action.AddToFavoritesPopup.text=Add to Favorites
action.AddToFavoritesPopup.description=Add selected node to favorites
group.AddToFavorites.text=Add to F_avorites
group.AddAllToFavorites.text=Add A_ll To Favorites
action.AddNewFavoritesList.text=Add New Favorites List
action.AddNewFavoritesList.description=Add New Favorites List
action.EditFavorites.text=Edit
action.EditFavorites.description=Edit
action.RemoveFromFavorites.text=Remove From Favorites
action.RemoveFromFavorites.description=Remove selected node from favorites
action.RenameFavoritesList.text=Rename Favorites List
action.RenameFavoritesList.description=Rename the favorites list the selected node belongs to
action.RemoveFavoritesList.text=Delete Favorites List
action.RemoveFavoritesList.description=Delete all favorites the selected node belongs to
action.RemoveAllFavoritesListsButThis.text=Delete All Favorites List But This
action.RemoveAllFavoritesListsButThis.description=Delete all favorites except these
group.SendToFavoritesGroup.text=_Send to Favorites
action.ActivateNavBar.text=Activate Navigation _Bar
action.ActivateNavBar.description=Activate navigation bar
action.CreateRunConfiguration.text=Create Run Configuration
action.CreateRunConfiguration.description=Create run configuration from context
group.RunContextPopupGroup.text=Run Configurations
group.EditorActions.text=Editor Actions
action.EditorChooseLookupItem.text=Choose Lookup Item
action.EditorChooseLookupItemReplace.text=Choose Lookup Item Replace
action.EditorChooseLookupItemCompleteStatement.text=Choose Lookup Item and Invoke Complete Statement
action.NextTemplateVariable.text=Next Template Variable or Finish In-Place Refactoring
action.PreviousTemplateVariable.text=Previous Template Variable
action.NextParameter.text=Next Parameter
action.PrevParameter.text=Prev Parameter
action.EditorPageUp.text=Page Up
action.EditorPageDown.text=Page Down
action.EditorPageUpWithSelection.text=Page Up with Selection
action.EditorPageDownWithSelection.text=Page Down with Selection
action.EditorCopy.text=Copy
action.EditorCut.text=Cut
action.EditorPaste.text=Paste
action.EditorPasteSimple.text=Paste S_imple
action.EditorPasteSimple.description=Paste without formatting, autoimport, literal escaping etc.
action.EditorPasteFromX11.text=Paste from X clipboard
action.EditorDelete.text=Delete
action.EditorBackSpace.text=Backspace
action.EditorHungryBackSpace.text=Hungry Backspace
action.EditorHungryBackSpace.description=Acts as the Backspace except that removes all whitespace symbols before the caret (if any)
action.EditorMoveToPageTop.text=Move Caret to Page Top
action.EditorMoveToPageBottom.text=Move Caret to Page Bottom
action.EditorMoveToPageTopWithSelection.text=Move Caret to Page Top with Selection
action.EditorMoveToPageBottomWithSelection.text=Move Caret to Page Bottom with Selection
action.EditorEnter.text=Enter
action.EditorEscape.text=Escape
action.EditorUp.text=Up
action.EditorDown.text=Down
action.EditorLeft.text=Left
action.EditorRight.text=Right
action.EditorUpWithSelection.text=Up with Selection
action.EditorDownWithSelection.text=Down with Selection
action.EditorLeftWithSelection.text=Left with Selection
action.EditorRightWithSelection.text=Right with Selection
action.EditorIndentSelection.text=Indent Selection
action.EditorUnindentSelection.text=Unindent Selection
action.EditorIndentLineOrSelection.text=Indent Line or Selection
action.EditorTab.text=Tab
action.EditorResetFontSize.text=Reset Font Size
action.EmacsStyleIndent.text=Emacs Tab
action.EditorScrollUp.text=Scroll Up
action.EditorScrollDown.text=Scroll Down
action.EditorScrollUpAndMove.text=Scroll Up and Move if Necessary
action.EditorScrollDownAndMove.text=Scroll Down and Move if Necessary
action.EditorScrollLeft.text=Scroll Left
action.EditorScrollRight.text=Scroll Right
action.EditorScrollTop.text=Scroll to Top
action.EditorScrollBottom.text=Scroll to Bottom
action.EditorMoveUpAndScroll.text=Move Up and Scroll
action.EditorMoveDownAndScroll.text=Move Down and Scroll
action.EditorMoveUpAndScrollWithSelection.text=Move Up and Scroll with Selection
action.EditorMoveDownAndScrollWithSelection.text=Move Down and Scroll with Selection
action.EditorAddOrRemoveCaret.text=Add or Remove Caret
action.EditorCloneCaretBelow.text=Clone Caret Below
action.EditorCloneCaretAbove.text=Clone Caret Above
action.SelectNextOccurrence.text=Select Next Occurrence
action.SelectAllOccurrences.text=Select All Occurrences
action.UnselectPreviousOccurrence.text=Unselect Occurrence
action.EditorToggleStickySelection.text=Toggle Sticky Selection
action.EditorSwapSelectionBoundaries.text=Swap selection boundaries
action.EditorLineStart.text=Move Caret to Line Start
action.EditorLineEnd.text=Move Caret to Line End
action.EditorCutLineBackward.text=Cut Line Backward
action.EditorCutLineEnd.text=Cut up to Line End
action.EditorTextStart.text=Move Caret to Text Start
action.EditorTextEnd.text=Move Caret to Text End
action.EditorLineStartWithSelection.text=Move Caret to Line Start with Selection
action.EditorLineEndWithSelection.text=Move Caret to Line End with Selection
action.EditorTextStartWithSelection.text=Move Caret to Text Start with Selection
action.EditorTextEndWithSelection.text=Move Caret to Text End with Selection
action.EditorNextWord.text=Move Caret to Next Word
action.EditorNextWordInDifferentHumpsMode.text=Move Caret to Next Word in Different "CamelHumps" Mode
action.EditorPreviousWord.text=Move Caret to Previous Word
action.EditorPreviousWordInDifferentHumpsMode.text=Move Caret to Previous Word in Different "CamelHumps" Mode
action.EditorNextWordWithSelection.text=Move Caret to Next Word with Selection
action.EditorNextWordInDifferentHumpsModeWithSelection.text=Move Caret to Next Word with Selection in Different "CamelHumps" Mode
action.EditorPreviousWordWithSelection.text=Move Caret to Previous Word with Selection
action.EditorPreviousWordInDifferentHumpsModeWithSelection.text=Move Caret to Previous Word with Selection in Different "CamelHumps" Mode
action.EditorCodeBlockStart.text=Move Caret to Code Block Start
action.EditorCodeBlockEnd.text=Move Caret to Code Block End
action.EditorCodeBlockStartWithSelection.text=Move Caret to Code Block Start with Selection
action.EditorCodeBlockEndWithSelection.text=Move Caret to Code Block End with Selection
action.EditorMatchBrace.text=Move Caret to Matched Brace
action.EditorDeleteToWordStart.text=Delete to Word Start
action.EditorDeleteToWordStartInDifferentHumpsMode.text=Delete to Word Start in Different "CamelHumps" Mode
action.EditorDeleteToWordEnd.text=Delete to Word End
action.EditorDeleteToWordEndInDifferentHumpsMode.text=Delete to Word End in Different "CamelHumps" Mode
action.EditorDeleteLine.text=Delete Line
action.EditorKillToWordStart.text=Kill to Word Start
action.EditorKillToWordEnd.text=Kill to Word End
action.EditorKillRegion.text=Kill Selected Region
action.EditorKillRingSave.text=Save to Kill Ring
action.EditorDuplicate.text=Duplicate Line or Block
action.EditorDuplicateLines.text=Duplicate Lines
action.EditorSelectWord.text=Select Word at Caret
action.EditorUnSelectWord.text=Unselect Word at Caret
action.EditorToggleInsertState.text=Toggle Insert/Overwrite
action.EditorToggleColumnMode.text=Column Selection _Mode
action.EditorToggleColumnMode.description=Toggle column selection mode in current editor
action.EditorToggleShowWhitespaces.text=Sh_ow Whitespaces
action.EditorToggleShowWhitespaces.description=Toggle display whitespaces in current editor
action.EditorToggleShowIndentLines.text=Sh_ow Indent Guides
action.EditorToggleShowIndentLines.description=Toggle display indent guides in current editor
action.EditorToggleShowLineNumbers.text=Show L_ine Numbers
action.EditorToggleShowLineNumbers.description=Toggle display line numbers in current editor
action.EditorToggleUseSoftWraps.text=Use Soft Wraps
action.EditorToggleUseSoftWraps.description=Toggle using soft wraps in current editor
action.EditorConsoleScrollToTheEnd.text=Scroll to the end
action.EditorIncreaseFontSize.text=Increase Font Size
action.EditorDecreaseFontSize.text=Decrease Font Size
action.ViewImportPopups.text=Show Import Popups
action.ViewImportPopups.description=Toggle display import popups in current file
action.EditorScrollToCenter.text=Scroll to Center
action.EditorToggleCase.text=Toggle Case
action.EditorJoinLines.text=Join Lines
action.EditorSelectLine.text=Select Line at Caret
action.EditorSplitLine.text=Split Line
action.EditorStartNewLine.text=Start New Line
action.EditorStartNewLineBefore.text=Start New Line Before Current
action.EditorCompleteStatement.text=Complete Current Statement
action.ExpandAll.text=Expand All
action.CollapseAll.text=Collapse All
action.ExportToTextFile.text=Export to Text File
action.ExpandTreeNode.text=Expand Tree Node
action.CollapseTreeNode.text=Collapse Tree Node
action.FullyExpandTreeNode.text=Fully Expand Tree Node
group.GenerateGroup.text=_Generate
action.GenerateTestMethod.text=Test Method
action.GenerateSetUpMethod.text=SetUp Method
action.GenerateTearDownMethod.text=TearDown Method
action.GenerateDataMethod.text=Parameters Method
action.GenerateConstructor.text=Constructor
action.GenerateCreateUI.text=createUI(...)
action.GenerateGetter.text=Getter
action.GenerateSetter.text=Setter
action.GenerateGetterAndSetter.text=Getter and Setter
action.GenerateEquals.text=equals() and hashCode()
action.OverrideMethods.text=_Override Methods...
action.OverrideMethods.description=Override base class methods in the current class
action.ImplementMethods.text=_Implement Methods...
action.ImplementMethods.description=Implement base interface/class methods in the current class
action.DelegateMethods.text=_Delegate Methods...
action.DelegateMethods.description=Generate delegate method to a field/getter
action.GenerateSuperMethodCall.text=Super Method Call
action.NextDiff.text=Move to the next difference
action.NextDiff.description=Move to the Next Difference
action.PreviousDiff.text=Move to the Previous Difference
action.PreviousDiff.description=Move to the previous difference
action.Refresh.text=R_efresh
action.CheckinProject.text=Check _In Project
action.CheckinFiles.text=Check _In
action.UpdateFiles.text=_Update
action.CheckStatusForFiles.text=Chec_k Status
action.Annotate.text=A_nnotate
action.Annotate.description=Show information about last modification date and author for each line
action.Compare.SameVersion.text=Compare with the Same Repositor_y Version
action.Compare.LastVersion.text=Compare with Latest Repository _Version
action.Compare.Selected.text=_Compare with...
group.NewGroup.text=_New
group.WeighingNewGroup.text=_New
action.NewClass.text=Java Class
action.NewFile.text=File
action.NewDir.text=Directory/Package
action.NewFromTemplate.text=From Template
action.CompareTwoFiles.text=Compare Two _Files
action.CompareTwoFiles.description=Compare two selected files
action.CompareFileWithEditor.text=Co_mpare File with Editor
action.CompareFileWithEditor.description=Compare selected file with editor
action.ShowQuickDocAtPinnedWindowFromTooltip.text=Full documentation in a pinned window
action.ShowQuickDocAtPinnedWindowFromTooltip.description=Show full documentation in a pinned window

group.LocalHistory.text=Local _History
action.LocalHistory.ShowHistory.text=Show _History
action.LocalHistory.ShowSelectionHistory.text=Show History for Selection
action.LocalHistory.PutLabel.text=Put _Label...

group.VcsGroups.text=VC_S
group.VcsGlobalGroup.text=VCS Group
action.Vcs.FileView.text=Show Fi_le View
action.Vcs.FileView.description=Show version control related information for all local files
action.Vcs.ChangesView.text=Show Cha_nges View
action.Vcs.ChangesView.description=Show window for managing changes and changelists
action.Vcs.UpdateProject.text=_Update Project
action.Vcs.ProjectStatus.text=C_heck Project Status
group.VcsGroup.text=Version Control
group.VcsFileGroupPopup.text=Version Control Group
group.FileMenu.text=_File
group.ProjectImport.text=Import _Projects
action.NewProject.text=_New Project...
action.NewProject.description=Create a new project from scratch
action.NewModule.text=New _Module...
action.NewModule.description=Create new module from scratch and add it to the project
action.ImportProject.description=Create project structure for directory with existing sources or convert existing project model
action.ImportModule.description=Import module from directory with existing sources or from existing project model
action.OpenProject.text=Open Project...
action.OpenProject.description=Open an existing project
action.OpenFile.text=_Open...
action.OpenFile.description=Open a project or a file in editor
group.reopen.win.text=_Reopen Project
group.reopen.mac.text=Open _Recent
group.$LRU.description=List of recently opened projects
action.CloseProject.text=Close Pro_ject
action.CloseProject.description=Close current project
action.ShowProjectStructureSettings.text=Project Structure...
action.ShowProjectStructureSettings.description=Configure project structure
action.TemplateProjectProperties.text=Def_ault Settings...
action.TemplateProjectProperties.description=Configure default settings for all new projects
action.TemplateProjectStructure.text=Default Project Structure...
action.TemplateProjectStructure.description=Configure default structure for all new projects
action.SaveAll.text=_Save All
action.SaveAll.description=Save all files and settings
action.ExportSettings.text=_Export Settings...
action.ExportSettings.description=Export global settings
action.ImportSettings.text=Import Settings...
action.ImportSettings.description=Import global settings
action.ImportFromJBuilder.text=Import _From JBuilder...
action.ImportFromJBuilder.description=Load Modules From JBuilder Project
action.ImportFromEclipse.text=Import From Eclipse...
action.ImportFromEclipse.description=Create project from Eclipse projects
action.ExportToEclipse.text=Export To Eclipse...
action.ExportToEclipse.description=Create Eclipse projects for each module
action.Synchronize.text=S_ynchronize
action.Synchronize.description=Detect all externally changed files and reload them from disk
action.ReloadFromDisk.text=Reload from Dis_k
action.ReloadFromDisk.description=Reload current file from disk and lose all changes
group.Vcs.Checkout.text=Check_out from Version Control
action.ExportToHTML.text=Export to _HTML...
action.ExportToHTML.description=Save file content in HTML format with syntax coloring
action.Print.text=_Print...
action.Print.description=Print file
action.Exit.text=E_xit
action.Exit.description=Quit IDE
group.EditMenu.text=_Edit
group.FindMenuGroup.text=_Find
action.undo.text=_Undo {0}
action.undo.description=Undo {0}
action.undo.description.empty=last operation
action.redo.text=_Redo {0}
action.redo.description=Redo {0}
action.redo.description.empty=last undone operation
action.$Cut.text=Cu_t
action.$Cut.description=Cut to clipboard
action.$Copy.text=_Copy
action.$Copy.description=Copy to clipboard
action.$SearchWeb.text=_Search with Google
action.$SearchWeb.description=Search selection with Google
action.CopyPaths.text=C_opy Paths
action.CopyPaths.description=Copy paths corresponding to selected files or directories to clipboard
action.CopyReference.text=Cop_y Reference
action.CopyReference.description=Copy reference to selected class, method or function
action.$Paste.text=_Paste
action.$Paste.description=Paste from clipboard
action.PasteMultiple.text=Past_e from History...
action.PasteMultiple.description=Paste from recent clipboards
action.$SelectAll.text=Select _All
action.$SelectAll.description=Select all
action.NewElement.text=_New...
action.NewElement.description=Create new class, interface, file or directory
action.NewElementSamePlace.text=_New...
action.NewElementSamePlace.description=Create new class, interface, file or directory
action.$Delete.text=_Delete
action.$Delete.description=Delete selected item
action.ToggleBookmark.text=Toggle _Bookmark
action.ToggleBookmark.description=Toggle bookmark at the current location
action.ShowBookmarks.text=_Show Bookmarks
action.ShowBookmarks.description=Show list of all bookmarks
action.Find.text=_Find...
action.Find.description=Find a string in active editor
action.FindModal.text=_Find...
action.FindModal.description=Find a string in active editor, shows modal dialog
action.Replace.text=_Replace...
action.Replace.description=Replace a string in active editor with another string
action.FindNext.text=Find _Next
action.FindNext.description=Repeat the last Find/Replace operation
action.FindPrevious.text=Find Pre_vious
action.FindPrevious.description=Repeat the last Find/Replace operation in reverse direction
action.FindWordAtCaret.text=Find _Word at Caret
action.FindWordAtCaret.description=Find next occurrence of the word at caret
action.IncrementalSearch.text=Incrementa_l Search
action.IncrementalSearch.description=Start incremental search (searches string as you type), IntelliJ IDEA 6.0 implementation.
action.FindUsages.text=Find _Usages
action.FindUsages.description=Find usages of the symbol at caret
action.ShowUsages.text=_Show Usages
action.ShowUsages.description=Show usages of the symbol at caret
action.ShowSettingsAndFindUsages.text=Find Usages Settings...
action.ShowSettingsAndFindUsages.description=Choose scope and edit options for the Find Usages action
action.FindUsagesInFile.text=F_ind Usages in File
action.FindUsagesInFile.description=Find usages of the symbol at caret in active editor
action.HighlightUsagesInFile.text=_Highlight Usages in File
action.HighlightUsagesInFile.description=Highlight usages of the symbol at caret in active editor
action.HighlightUsagesInFile.not.ready=This usage search requires indices and cannot be performed until they are built
action.FindJoinpointsByPointcutAction.text=Find _Join Point Identified by Pointcut
action.FindJoinpointsByPointcutAction.description=Find join point identified by pointcut
action.FindInPath.text=Find in _Path...
action.FindInPath.description=Find a string in multiple files
action.ReplaceInPath.text=Repl_ace in Path...
action.ReplaceInPath.description=Replace a string in multiple files with another string
group.ViewMenu.text=_View
action.ViewToolBar.text=_Toolbar
action.ViewToolBar.description=Show/hide the main toolbar
action.ViewStatusBar.text=_Status Bar
action.ViewStatusBar.description=Show/hide the status bar
action.ViewToolButtons.text=_Tool Buttons
action.ViewToolButtons.description=Show/hide tool window buttons
action.ViewNavigationBar.text=Na_vigation Bar
action.ViewNavigationBar.description=Show/hide the navigation bar
action.FileStructurePopup.text=F_ile Structure
action.FileStructurePopup.description=Popup structure of the current file for quick navigation
action.ShowFilePath.text=File _Path
action.ShowFilePath.description=Popup path of the current file for opening in external file manager
action.SelectIn.text=Se_lect In...
action.SelectIn.description=Select the current class or method in any view
action.FixDocComment.text=Fix doc comment
action.FixDocComment.description=Generate or fix doc comment for the current context
action.QuickJavaDoc.text=Quick _Documentation
action.QuickJavaDoc.description=Show a popup window with documentation for the symbol at caret
action.QuickImplementations.text=Quic_k Definition
action.QuickImplementations.description=Show a popup window with the symbol (and its implementations) content
action.ShowSiblings.text=Show Siblings
action.ShowSiblings.description=Show a popup window with the symbol siblings content
action.ParameterInfo.text=_Parameter Info
action.ParameterInfo.description=Show parameters of the method call at caret
action.EditorContextInfo.text=_Context Info
action.EditorContextInfo.description=Show the current method or class declaration when it is not visible
action.ShowErrorDescription.text=E_rror Description
action.ShowErrorDescription.description=Show description of error or warning at caret
action.ProjectViewChangeView.text=Change View...
action.ProjectViewChangeView.description=Choose Project, Sourcepath or Classpath tree in the Project View window
action.EditSource.text=_Jump to Source
action.EditSource.description=Open editor for the selected item and give focus to it
action.EditSourceInNewWindow.text=Open source in new window
action.EditSourceInNewWindow.description=Open editor for the selected item in new window and give focus to it
action.ViewSource.text=Sho_w Source
action.ViewSource.description=Open editor for the selected item
action.ExternalJavaDoc.text=E_xternal Documentation
action.ExternalJavaDoc.description=Open browser with documentation for the selected item
action.RecentFiles.text=Rece_nt Files
action.RecentFiles.description=Show list of recently viewed files
action.RecentChangedFiles.text=Recently Changed Files
action.RecentChangedFiles.description=Show list of recently changed files
action.QuickChangeScheme.text=_Quick Switch Scheme...
action.QuickChangeScheme.description=Change current code style scheme, color\\&fonts scheme, keymap or Look\\&Feel
action.TypeHierarchy.text=Type _Hierarchy
action.TypeHierarchy.description=Browse hierarchy for the selected class
action.MethodHierarchy.text=_Method Hierarchy
action.MethodHierarchy.description=Browse method hierarchy for the selected method
action.CallHierarchy.text=Call Hierarch_y
action.CallHierarchy.description=Browse call hierarchy for the selected method
group.FoldingGroup.text=Folding
action.ExpandRegion.text=E_xpand
action.ExpandRegion.description=Expand folding region at caret
action.CollapseRegion.text=_Collapse
action.CollapseRegion.description=Collapse folding region at caret
action.ExpandAllRegions.text=_Expand All
action.ExpandAllRegions.description=Expand all folding regions
action.CollapseAllRegions.text=Collapse _All
action.CollapseAllRegions.description=Collapse all folding regions
action.ExpandDocComments.text=Expand _doc comments
action.ExpandDocComments.description=Expand all documentation comments
action.CollapseDocComments.text=Collapse d_oc comments
action.CollapseDocComments.description=Collapse all documentation comments
action.CollapseSelection.text=Fold _Selection / Remove region
action.CollapseSelection.description=Fold selected block
action.CollapseBlock.text=Fold Code _Block
action.CollapseBlock.description=Fold current code block
action.RecentChanges.text=R_ecent Changes
group.GoToMenu.text=_Navigate
action.SearchEverywhere.text=Search Everywhere
action.SearchEverywhere.description=Searches for classes, files, tool windows, action and preferences
action.GotoClass.text=_Class...
action.GotoClass.description=Quickly navigate to a class by name
action.GotoFile.text=_File...
action.GotoFile.description=Quickly navigate to a file by name
action.GotoSymbol.text=_Symbol...
action.GotoSymbol.description=Quickly navigate to any symbol by name
action.GotoAction.text=F_ind Action...
action.GotoAction.description=Quickly navigate to action by name
action.GotoLine.text=_Line...
action.GotoLine.description=Navigate to a line in editor by its number
action.GotoDeclaration.text=_Declaration
action.GotoDeclaration.description=Navigate to the declaration of the symbol at caret
action.GotoImplementation.text=I_mplementation(s)
action.GotoImplementation.description=Navigate to the implementation(s) of the selected class or method
action.GotoTypeDeclaration.text=_Type Declaration
action.GotoTypeDeclaration.description=Navigate to the declaration of the symbol's type at caret
action.GotoSuperMethod.text=S_uper Method
action.GotoSuperMethod.description=Navigate to the declaration of the method that current method overrides or implements
action.GotoTest.text=T_est
action.GotoTest.description=Navigate to the test of the selected class
action.GotoTestSubject.text=T_est Subject
action.GotoTestSubject.description=Navigate to the subject of the selected test
action.GotoAspect.text=_Aspect
action.GotoAspect.description=Navigate to the declaration of the advice, error or warning declaration that affects a join point at caret
action.GotoNextError.text=_Next Highlighted Error
action.GotoNextError.description=Navigate to the next highlighted error in the active editor
action.GotoPreviousError.text=_Previous Highlighted Error
action.GotoPreviousError.description=Navigate to the previous highlighted error in the active editor
action.GotoRelated.text=_Related File...
action.GotoRelated.description=Navigate to one of the related or linked files
action.MethodDown.text=N_ext Method
action.MethodDown.description=Navigate to the next method in the active editor
action.MethodUp.text=Prev_ious Method
action.MethodUp.description=Navigate to the previous method in the active editor
action.GotoNextBookmark.text=Ne_xt Bookmark
action.GotoNextBookmark.description=Navigate to the next bookmark in the active editor
action.GotoPreviousBookmark.text=P_revious Bookmark
action.GotoPreviousBookmark.description=Navigate to the previous bookmark in the active editor
action.Back.text=_Back
action.Back.description=Undo last navigation operation
action.Forward.text=For_ward
action.Forward.description=Redo last undone navigation operation
action.JumpToLastChange.text=Last Edit L_ocation
action.JumpToLastChange.description=Move through the most recent change points
action.PreviousOccurence.text=Previ_ous Occurrence
action.PreviousOccurence.description=Navigate to the previous occurrence
action.NextOccurence.text=Ne_xt Occurrence
action.NextOccurence.description=Navigate to the next occurrence
action.VcsShowNextChangeMarker.text=Next C_hange
action.VcsShowNextChangeMarker.description=Go to next change
action.VcsShowPrevChangeMarker.text=Previous Ch_ange
action.VcsShowPrevChangeMarker.description=Go to previous change
group.CodeMenu.text=_Code
action.SurroundWith.text=_Surround With...
action.SurroundWith.description=Surround selected code fragment with if, while, try/catch or other construct
action.Generate.text=Generate...
action.Generate.description=Generate constructor, getter or setter method, etc.
action.Unwrap.text=Un_wrap/Remove...
action.Unwrap.description=Safely unwraps or removes the selected scope
group.CodeCompletionGroup.text=_Completion
group.EditorToggleActions.text=Active Editor
action.CodeCompletion.text=_Basic
action.CodeCompletion.description=Complete code
action.HippieCompletion.text=Cyclic _Expand Word
action.HippieCompletion.description=Cyclic Expand word
action.HippieBackwardCompletion.text=Cyclic _Expand Word (Backward)
action.HippieBackwardCompletion.description=Cyclic Expand word (Backward)
action.SmartTypeCompletion.text=_SmartType
action.SmartTypeCompletion.description=Complete code basing on expected type
action.ClassNameCompletion.text=Class _Name Completion
action.ClassNameCompletion.description=Complete class name and add import for it
action.InsertLiveTemplate.text=Insert Live _Template...
action.InsertLiveTemplate.description=Show popup list of live templates starting with the specified prefix
action.SurroundWithLiveTemplate.text=Surround with Live Tem_plate...
action.SurroundWithLiveTemplate.description=Surrounds the selection with one of the template
action.CommentByLineComment.text=Comment with _Line Comment
action.CommentByLineComment.description=Comment/uncomment current line or selected block with line comments
action.CommentByBlockComment.text=Comment with _Block Comment
action.CommentByBlockComment.description=Comment/uncomment code with block comments
action.ReformatCode.text=_Reformat Code...
action.ReformatCode.description=Reformat code
action.AutoIndentLines.text=_Auto-Indent Lines
action.AutoIndentLines.description=Indent current line or selected block according to the code style settings
action.OptimizeImports.text=Optimi_ze Imports...
action.OptimizeImports.description=Remove unused imports and reorder/reorganize imports
action.RearrangeCode.text=Rearrange Code
action.RearrangeCode.description=Rearrange code
action.MoveStatementDown.text=Move Statement Do_wn
action.MoveStatementDown.description=Move selected statements one line down
action.MoveStatementUp.text=Move Statement _Up
action.MoveStatementUp.description=Move selected statements one line up
action.MoveLineDown.text=Move Line Do_wn
action.MoveLineDown.description=Move selected lines one line down
action.MoveLineUp.text=Move Line _Up
action.MoveLineUp.description=Move selected lines one line up
group.AnalyzeMenu.text=Analy_ze
action.InspectCode.text=_Inspect Code...
action.InspectCode.description=Inspect code
action.InferNullity.text=Infer _Nullity...
action.InferNullity.description=Infer nullity
action.ViewOfflineInspection.text=View _Offline Inspection Results...
action.ViewOfflineInspection.description=Load offline inspection results
action.ShowPackageDeps.text=Analyze _Dependencies...
action.ShowPackageDeps.description=Browse code chosen analysis item depends on
action.ShowBackwardPackageDeps.text=Analyze _Backward Dependencies...
action.ShowBackwardPackageDeps.description=Browse code chosen analysis item used in
action.ShowPackageCycles.text=Analyze _Cyclic Dependencies...
action.ShowPackageCycles.description=Browse code chosen analysis item used in cycles
action.ShowModulesDependencies.text=Analyze _Module Dependencies...
action.ShowModulesDependencies.description=Show dependencies between modules in project
action.Unscramble.text=Analyze _Stacktrace...
action.Unscramble.description=Open console with the navigatable stacktrace
group.RefactoringMenu.text=_Refactor
action.RenameElement.text=_Rename...
action.RenameElement.description=Rename the selected symbol and correct all references
action.ChangeSignature.text=Change Si_gnature...
action.ChangeSignature.description=Change signature of the selected method or class and correct all references
action.MoveToTheLeft.text=Move parameter left
action.MoveToTheLeft.description=Move parameter left
action.MoveToTheRight.text=Move parameter right
action.MoveToTheRight.description=Move parameter right
action.ChangeTypeSignature.text=T_ype Migration...
action.ChangeTypeSignature.description=Change type of the return type of the method, field, parameter, variable or class type arguments and correct all references
action.MakeStatic.text=Make S_tatic...
action.MakeStatic.description=Convert method or inner class to static and correct all references
action.ConvertToInstanceMethod.text=C_onvert To Instance Method...
action.ConvertToInstanceMethod.description=Convert static method to instance method and correct all references
action.Move.text=_Move...
action.Move.description=Move the selected class, method, package or static member to another package or class and correct all references
action.CopyElement.text=C_opy...
action.CopyElement.description=Create a copy of the selected class, file(s) or directory(es)
action.CloneElement.text=Clo_ne...
action.CloneElement.description=Create a copy of the selected class, file or directory in the same package/directory
action.SafeDelete.text=Safe _Delete...
action.SafeDelete.description=Delete the selected class, method or field, checking for usages
action.ExtractMethod.text=_Method...
action.ExtractMethod.description=Turn the selected code fragment into a method
action.RemoveMiddleman.text=Remove _Middleman...
action.RemoveMiddleman.description=Inline delegate to the selected field methods
action.MethodDuplicates.text=Find and Replace _Code Duplicates...
action.MethodDuplicates.description=Finds code in selected scope that can be transformed into a call of selected method/constant
action.InvertBoolean.text=Invert _Boolean...
action.InvertBoolean.description=Makes the method return or variable contain the opposite value and corrects the references
action.IntroduceParameterObject.text=Parameter Ob_ject...
action.IntroduceParameterObject.description=Replaces method parameters list with object
action.ExtractClass.text=_Delegate...
action.ExtractClass.description=Extract Delegate
action.IntroduceVariable.text=_Variable...
action.IntroduceVariable.description=Put a result of the selected expression into a variable
action.IntroduceField.text=_Field...
action.IntroduceField.description=Put a result of the selected expression into a field
action.IntroduceConstant.text=_Constant...
action.IntroduceConstant.description=Replace selected expression with a constant (static final field)
action.IntroduceParameter.text=_Parameter...
action.IntroduceParameter.description=Turn the selected expression into method parameter
action.ExtractInterface.text=_Interface...
action.ExtractInterface.description=Extract interface from the selected class
action.ExtractModule.text=_Module...
action.ExtractModule.description=Extract module from the selected class
action.ExtractSuperclass.text=S_uperclass...
action.ExtractSuperclass.description=Extract superclass from the selected class
group.IntroduceActionsGroup.text=E_xtract
action.TurnRefsToSuper.text=Use Interface _Where Possible...
action.TurnRefsToSuper.description=Change usages of a class to those of its superclass or interface
action.MembersPullUp.text=Pu_ll Members Up...
action.MembersPullUp.description=Pull class members to superclass or implemented interface
action.MemberPushDown.text=Pu_sh Members Down...
action.MemberPushDown.description=Push class members down to directly inheriting subclasses
action.InheritanceToDelegation.text=Replace _Inheritance with Delegation...
action.InheritanceToDelegation.description=Replace inheritance with delegation
action.Inline.text=I_nline...
action.Inline.description=Inline the selected method or variable
action.AnonymousToInner.text=Convert Anon_ymous to Inner...
action.AnonymousToInner.description=Convert anonymous class into an inner class
action.EncapsulateFields.text=_Encapsulate Fields...
action.EncapsulateFields.description=Replace direct access to fields in the selected class with use of accessor methods
action.ReplaceTempWithQuery.text=Replace Temp with _Query...
action.ReplaceTempWithQuery.description=Turn the selected variable into a method
action.ReplaceConstructorWithFactory.text=Replace Constructor with F_actory Method...
action.ReplaceConstructorWithFactory.description=Create a static factory method and use it instead of a constructor
action.ReplaceMethodWithMethodObject.text=Method Ob_ject...
action.ReplaceMethodWithMethodObject.description=Turn the method into its own object so that all the parameters become fields on that object
action.Generify.text=Ge_nerify...
action.Generify.description=Convert your code to use generic types
action.Migrate.text=_Migrate...
action.Migrate.description=Open migration dialog
action.Type\ Migration.text=Type Migration...
action.Type\ Migration.description=Migrate one type to another
action.ExtractInclude.text=_Include File...
action.ExtractInclude.description=Turn the selected code fragment into included file
group.BuildMenu.text=_Build
action.CompileProject.text=_Rebuild Project
action.CompileProject.description=Recompile all files in the project
action.CompileDirty.text=Make _Project
action.CompileDirty.description=Compile all modified and dependent files in the project
action.MakeModule.text=Make _Module
action.MakeModule.description=Compile all modified and dependent files in the module
action.Compile.text=Compil_e
action.Compile.description=Compile the selected file or package
action.RunAPT.text=Process _Annotations
action.RunAPT.1.text=Process {0} _Annotations
action.RunAPT.description=Run Annotation Processors on the selected scope
action.GenerateAntBuild.text=_Generate Ant Build...
action.GenerateAntBuild.description=Generate Ant Build File from the Project
action.BuildAllArtifacts.text=Build All Artifacts
group.BuildArtifactsGroup.text=Build Artifact
group.RunMenu.text=R_un
group.RunnerActions.text=Run/Debug
action.editRunConfigurations.text=Edit Configu_rations...
action.editRunConfigurations.description=Open edit Run/Debug configurations dialog
action.Stop.text=Stop
action.Stop.description=Stop process
action.Hotswap.text=Relo_ad Changed Classes
action.Hotswap.description=Reload all changed classes into application being debugged (HotSwap)
action.StepOver.text=Step _Over
action.StepOver.description=Step to the next line in this file
action.StepInto.text=Step _Into
action.StepInto.description=Step to the next line executed
action.SmartStepInto.text=Smart Ste_p Into
action.SmartStepInto.description=Step into the particular method
action.StepOut.text=Step Ou_t
action.StepOut.description=Step to the first line executed after returning from this method
action.ForceStepOver.text=Force Step O_ver
action.ForceStepOver.description=Step over, disable all breakpoints before stepping.
action.ForceStepInto.text=Force Step I_nto
action.ForceStepInto.description=Step into, ignore stepping filters for libraries, constructors, etc.
action.RunToCursor.text=Run to _Cursor
action.RunToCursor.description=Run to the line where the caret is
action.ForceRunToCursor.text=Force Run to Cur_sor
action.ForceRunToCursor.description=Run to the line where the caret is, ignoring any breakpoints
action.Debugger.PopFrame.text=Drop _Frame
action.Debugger.PopFrame.description=Moves execution point back to the method call dropping current method frames from the stack
action.Pause.text=_Pause Program
action.Pause.description=Suspend program execution and enable debugging
action.Resume.text=Resume Pro_gram
action.Resume.description=Resume program execution
action.EvaluateExpression.text=_Evaluate Expression...
action.EvaluateExpression.description=Evaluate arbitrary expression
action.QuickEvaluateExpression.text=_Quick Evaluate Expression
action.QuickEvaluateExpression.description=Evaluate selected expression
action.ShowExecutionPoint.text=Show E_xecution Point
action.ShowExecutionPoint.description=Show the current program execution point
action.ToggleLineBreakpoint.text=Toggle _Line Breakpoint
action.ToggleLineBreakpoint.description=Toggle line breakpoint at caret
action.ToggleMethodBreakpoint.text=Toggle _Method Breakpoint
action.ToggleMethodBreakpoint.description=Toggle method breakpoint for the method at caret
action.ToggleFieldBreakpoint.text=Toggle _Field Watchpoint
action.ToggleFieldBreakpoint.description=Toggle field watchpoint for the field at caret
action.ToggleBreakpointEnabled.text=Toggle _Breakpoint Enabled
action.ToggleBreakpointEnabled.description=Enable/disable breakpoint at the current line
action.ToggleTemporaryLineBreakpoint.text=Toggle Temporary Line Breakpoint
action.ToggleTemporaryLineBreakpoint.description=Toggle temporary line breakpoint at caret
action.ViewBreakpoints.text=View Brea_kpoints...
action.ViewBreakpoints.description=View and manage all breakpoints and watchpoints
action.EditBreakpoint.text=Edit
action.ExportThreads.text=Export T_hreads...
action.ExportThreads.description=Save all threads information to a text file or clipboard
action.Runner.RestoreLayout.text=Restore Layout
action.Runner.RestoreLayout.description=Restore visual elements of debugger session to default state
action.Runner.ToggleToolbarLayout.text=Horizontal Toolbars
action.Runner.ToggleToolbarLayout.description=Toggles horizontal/vertical toolbar orientation
group.Runner.Layout.text=Layout
group.Runner.Layout.description=Layout configuration
action.Runner.MinimizeView.text=Hide
action.Runner.MinimizeView.description=Hide view
action.Runner.CloseView.text=Close
action.Runner.CloseView.description=Close view
action.Runner.CloseOtherViews.text=Close Others
action.Runner.CloseOtherViews.description=Close other views
action.Runner.CloseAllViews.text=Close All
action.Runner.CloseAllViews.description=Close all views
action.Runner.CloseAllUnpinnedViews.text=Close All but Pinned
action.Runner.CloseAllUnpinnedViews.description=Close all tabs which are not pinned
action.Runner.MoveViewToGrid.text=Move To Grid
action.Runner.MoveViewToGrid.description=Move view to the debugger grid container
action.Runner.MoveViewToTab.text=Move To Tab
action.Runner.MoveViewToTab.description=Move view to the debugger tab container
action.Runner.DetachCell.text=Detach
action.Runner.DetachCells.text=Detach {0} Views
action.Runner.DetachCell.description=Detach selected views to a separate window
action.Runner.AttachCell.text=Attach
action.Runner.AttachCells.text=Attach {0} Views
action.Runner.AttachCell.description=Attach selected views to the debugger tool window
action.Runner.RestoreView.text=Restore ''{0}'' View
action.Runner.RestoreView.description=Restore view in the debugger grid
action.Runner.FocusOnStartup.text=Focus On Startup
action.Runner.FocusOnStartup.description=Focus this view by default when UI is shown
action.Debugger.FocusOnBreakpoint.text=Focus On Breakpoint
action.Debugger.FocusOnBreakpoint.description=Focus this view by default when breakpoint is reached
group.ToolsMenu.text=_Tools
action.SaveAsTemplate.text=Save as L_ive Template...
action.SaveAsTemplate.description=Save the selected text as live template
action.SaveFileAsTemplate.text=Save File as Temp_late...
action.SaveFileAsTemplate.description=Save current file as template
action.GenerateJavadoc.text=Generate Java_Doc...
action.GenerateJavadoc.description=Run the JavaDoc tool
group.Macros.text=_Macros
group.Macros.description=View, Change, Record, Play Macros
group.StandardMacroActions.text=Standard Macro Actions
action.PlaybackLastMacro.text=Pla_y Back Last Macro
action.PlaybackLastMacro.description=Play Back last used macro
action.StartStopMacroRecording.text=Start/Stop Macro _Recording
action.StartStopMacroRecording.description=Start/Stop recording of a new macro
action.EditMacros.text=_Edit Macros
action.EditMacros.description=Configure existing macros
action.PlaySavedMacrosAction.text=Play Saved Macros...
action.PlaySavedMacrosAction.description=Play Saved Macros
group.MacrosGroup.text=Macro Actions
action.ValidateXml.text=_Validate
action.ValidateXml.description=Validate the current XML file
action.GenerateDTD.text=Generate DTD from _XML File
group.ExternalToolsGroup.text=External Tools
action.PsiViewer.text=_View PSI Structure...
action.PsiViewerForContext.text=View PSI Structure of Cu_rrent File...
action.DebugListen.text=Throw Debug Exception
action.VirtualFileInfo.text=Virtual File Info
action.Merge3Files.text=Merge
action.LocalizePlugin.text=Localize Plugin
group.MemoryManagement.text=Memory Management
action.DumpPsiMemoryCaches.text=Dump what is cached in PSI
action.DecodeBytesAction.text=Decode Bytes
action.ReloadProjectAction.text=Reload project
action.LocalVcs.ShowStatistics.text=Show Local VCS Statistics...
action.LocalVcs.ShowStatistics.description=Show Local VCS statistics
action.LocalVcs.ShowRepHistory.text=Repository History
action.DropAnError.text=Drop an error
action.DropAnOutOfMemoryError.text=Drop an OutOfMemoryError
action.DropAnOutOfPermGenMemoryError.text=Drop an perm gen OutOfMemoryError
action.DumpInspectionDescriptions.text=Dump inspection descriptions
action.DumpIntentionsDescriptions.text=Dump intentions descriptions
action.ShowUserActivities.text=Show Activities
group.WindowMenu.text=_Window
group.ToolWindowsGroup.text=_Tool Windows
group.BackgroundTasks.text=Background Tasks
action.ShowProcessWindow.text=Show
action.ShowProcessWindow.description=Show/Hide background tasks window
action.ShowProcessWindow.double.click=Click to show/hide background tasks window
action.AutoShowProcessWindow.text=Auto Show
action.AutoShowProcessWindow.description=Show background tasks window on starting of any progress
action.StoreDefaultLayout.text=Store Current La_yout as Default
action.StoreDefaultLayout.description=Store current layout as default
action.MinimizeCurrentWindow.text=Minimize
action.MinimizeCurrentWindow.description=Minimize current window
action.TogglePresentationMode.text.enter=Enter Presentation mode
action.TogglePresentationMode.text.exit=Exit Presentation mode
action.TogglePresentationMode.text=Toggle Presentation mode
action.TogglePresentationMode.description=Toggle Presentation mode
action.ToggleFullScreen.text.enter=Enter Full Screen
action.ToggleFullScreen.text.exit=Exit Full Screen
action.ToggleFullScreen.text=Toggle Full Screen mode
action.ToggleFullScreen.description=Toggle Full Screen mode
action.RestoreDefaultLayout.text=Restore De_fault Layout
action.RestoreDefaultLayout.description=Restore default layout
action.HideActiveWindow.text=Hi_de Active Tool Window
action.HideActiveWindow.description=Hide active tool window
action.HideSideWindows.text=Hide Side Tool Windows
action.HideSideWindows.description=Hide all windows on this side
action.HideAllWindows.text=Hide All _Tool Windows
action.HideAllWindows.description=Hide all tool windows
action.JumpToLastWindow.text=_Jump to Last Tool Window
action.JumpToLastWindow.description=Activate last focused tool window
group.ActiveToolwindowGroup.text=Active Tool Window
action.TogglePinnedMode.text=_Pinned Mode
action.TogglePinnedMode.description=Pin/unpin active tool window
action.ToggleDockMode.text=Dock_ed Mode
action.ToggleDockMode.description=Dock/undock active tool window
action.ToggleFloatingMode.text=Floating _Mode
action.ToggleFloatingMode.description=Float/unfloat active tool window
action.ToggleSideMode.text=Split Mode
action.ToggleSideMode.description=Tool windows split mode on/off
action.ToggleContentUiTypeMode.text=Show Views as Tabs
action.ToggleContentUiTypeMode.description=Toggle between tabbed/combo presentation of contents
action.ShowContent.text=Show List of Tabs
action.ShowContent.description=Show a popup with the list of toolwindow tabs
group.ResizeToolWindowGroup.text=Resize
action.ResizeToolWindowLeft.text=Stretch to Left
action.ResizeToolWindowLeft.description=Resize active tool window to the left
action.ResizeToolWindowRight.text=Stretch to Right
action.ResizeToolWindowRight.description=Resize active tool window to the right
action.ResizeToolWindowUp.text=Stretch to Top
action.ResizeToolWindowUp.description=Resize active tool window to the top
action.ResizeToolWindowDown.text=Stretch to Bottom
action.ResizeToolWindowDown.description=Resize active tool window to the bottom
action.IncrementWindowWidth.text=Increment Width
action.DecrementWindowWidth.text=Decrement Width
action.IncrementWindowHeight.text=Increment Height
action.DecrementWindowHeight.text=Decrement Height
action.NextTab.text=Select Ne_xt Tab
action.NextTab.description=Activate next tab
action.PreviousTab.text=Se_lect Previous Tab
action.PreviousTab.description=Activate previous tab
action.NextEditorTab.text=Select Next Tab in multi-editor file
action.PreviousEditorTab.text=Select Previous Tab in multi-editor file
action.CloseActiveTab.text=Cl_ose Active Tab
action.CloseActiveTab.description=Close active tool window tab
action.PinActiveTab.text=P_in Active Tab
action.PinActiveTab.description=Pin active tool window or editor tab
action.CloseEditor.text=_Close Active Editor
action.CloseEditor.description=Close active editor
action.CloseAllEditors.text=Close _All
action.CloseAllEditors.description=Close all editors in active tab group
action.CloseAllEditorsButActive.text=Close _Others
action.CloseAllEditorsButActive.description=Close all open editors except the active one
action.CloseAllUnmodifiedEditors.text=Close _Unmodified
action.CloseAllUnmodifiedEditors.description=Close all non-modified editors
action.CloseAllUnpinnedEditors.text=Close All but Pinned
action.CloseAllUnpinnedEditors.description=Close all editors which are not pinned
action.CloseContent.text=_Close
action.CloseContent.description=Close currently focused content
group.EditorTabsGroup.text=Editor _Tabs
action.SplitVertically.text=Split _Vertically
action.SplitVertically.description=Split editor area into 2 tab groups and move the current tab to the right group
action.SplitHorizontally.text=Split _Horizontally
action.SplitHorizontally.description=Split editor area into 2 tab groups and move the current tab to the bottom group
action.MoveTabRight.text=Move Right
action.MoveTabRight.description=Split editor area into 2 tab groups and move the current tab to the right group and close the left editor
action.MoveTabDown.text=Move Down
action.MoveTabDown.description=Split editor area into 2 tab groups and move the current tab to the bottom group and close the top editor
action.ChangeSplitOrientation.text=Change Splitter O_rientation
action.ChangeSplitOrientation.description=Changes orientation of splitter
action.Unsplit.text=Un_split
action.Unsplit.description=Unsplit Window
action.UnsplitAll.text=U_nsplit All
action.UnsplitAll.description=Remove all splitters
action.NextSplitter.text=_Goto Next Splitter
action.NextSplitter.description=Goto next splitter window
action.PrevSplitter.text=Goto Previous Splitter
action.PrevSplitter.description=Goto previous splitter window
action.NextProjectWindow.text=Next Project Window
action.NextProjectWindow.description=Switch to the next project window
action.PreviousProjectWindow.text=Previous Project Window
action.PreviousProjectWindow.description=Switch to the previous project window
group.OpenProjectWindows.text=Open Project Windows
group.HelpMenu.text=_Help
action.HelpTopics.text=Help _Topics
action.HelpTopics.description=Show help contents
action.ShowTips.text=Tip of the _Day
action.ShowTips.description=Show Tips of the Day
action.ProductivityGude.text=_Productivity Guide
action.ProductivityGude.description=Show productivity features usages statistics
action.OnlineDocAction.text=_Online Documentation
action.OnlineDocAction.description=Show online documentation
action.WhatsNewAction.text=What's _New
action.WhatsNewAction.description=Find out about the new features in this version of the IDE
action.Help.KeymapReference.text=Default _Keymap Reference
action.Help.KeymapReference.description=Open PDF file with the default keymap reference card.
action.Help.JetBrainsTV.text=JetBrains T_V
action.Help.JetBrainsTV.description=View short live demos introducing features of JetBrains products.
action.CheckForUpdate.text=_Check for Update...
action.CheckForUpdate.description=Check for available update
action.About.text=_About
action.About.description=Show information about the IDE
group.OtherMenu.text=Other
group.OtherMenu.description=Actions that are not properly registered
group.MainToolBar.text=Main Toolbar
group.Bookmarks.text=Bookmarks
action.ToggleBookmark0.text=Toggle Bookmark 0
action.ToggleBookmark1.text=Toggle Bookmark 1
action.ToggleBookmark2.text=Toggle Bookmark 2
action.ToggleBookmark3.text=Toggle Bookmark 3
action.ToggleBookmark4.text=Toggle Bookmark 4
action.ToggleBookmark5.text=Toggle Bookmark 5
action.ToggleBookmark6.text=Toggle Bookmark 6
action.ToggleBookmark7.text=Toggle Bookmark 7
action.ToggleBookmark8.text=Toggle Bookmark 8
action.ToggleBookmark9.text=Toggle Bookmark 9
action.GotoBookmark0.text=Go to Bookmark 0
action.GotoBookmark1.text=Go to Bookmark 1
action.GotoBookmark2.text=Go to Bookmark 2
action.GotoBookmark3.text=Go to Bookmark 3
action.GotoBookmark4.text=Go to Bookmark 4
action.GotoBookmark5.text=Go to Bookmark 5
action.GotoBookmark6.text=Go to Bookmark 6
action.GotoBookmark7.text=Go to Bookmark 7
action.GotoBookmark8.text=Go to Bookmark 8
action.GotoBookmark9.text=Go to Bookmark 9

action.XDebugger.SetValue.text=Set Value...
action.XDebugger.SetValue.description=Modify value of selected node
action.XDebugger.CopyValue.text=Copy Value
action.XDebugger.CopyValue.description=Copy value of selected node to clipboard
action.XDebugger.CompareValueWithClipboard.text=Compare Value with Clipboard
action.XDebugger.CompareValueWithClipboard.description=Compare value of selected node with clipboard text
action.XDebugger.CopyName.text=Copy Name
action.XDebugger.CopyName.description=Copy name of selected node to clipboard
action.XDebugger.JumpToSource.text=Jump To Source
action.XDebugger.JumpToSource.description=Open source of the selected item
action.XDebugger.JumpToTypeSource.text=Jump To Type Source
action.XDebugger.JumpToTypeSource.description=Open source of the selected value's type
action.XDebugger.Inspect.text=Inspect...

action.Debugger.Tree.AddToWatches.text=Add to Watches
action.Debugger.Tree.EvaluateInConsole.text=Evaluate In Console

action.XDebugger.RemoveWatch.text=Remove Watch
action.XDebugger.RemoveAllWatches.text=Remove All Watches
action.XDebugger.NewWatch.text=New Watch...
action.XDebugger.EditWatch.text=Edit...
action.XDebugger.AutoTooltip.text=Value Auto Tooltip
action.XDebugger.AutoTooltip.description=Toggles if value tooltip is shown automatically on mouse over
action.XDebugger.ToggleSortValues.text=Sort values alphabetically
action.XDebugger.ToggleSortValues.description=Sort values alphabetically in debugger views
group.XDebugger.settings.text=Settings

action.Debugger.AdjustArrayRange.text=Adjust Range...
action.Debugger.Inspect.text=Inspect
action.Debugger.CopyValue.text=Copy Value
action.Debugger.ViewText.text=View Text
action.Debugger.ViewText.description=View text value of selected node in a separate pane
action.Debugger.CompareValueWithClipboard.text=Compare Value with Clipboard
action.Debugger.CompareValueWithClipboard.description=Compare value of selected node with clipboard text
action.Debugger.CustomizeContextView.text=Customize Data Views...
action.Debugger.CustomizeThreadsView.text=Customize Threads View...
action.Debugger.NewWatch.text=New Watch...
action.Debugger.EditWatch.text=Edit Watch
action.Debugger.EditFrameSource.text=EditFrameSource
action.Debugger.EditNodeSource.text=EditNodeSource
action.Debugger.EditTypeSource.text=Jump to Object Source
action.Debugger.RemoveAllWatches.text=Remove All Watches
action.Debugger.RemoveWatch.text=Remove Watch
action.Debugger.ViewAsGroup.text=View as
action.Debugger.SetValue.text=Set Value...
action.Debugger.ShowFrame.text=Show Frame
action.Debugger.ResumeThread.text=Resume
action.Debugger.FreezeThread.text=Freeze
action.Debugger.InterruptThread.text=Interrupt
action.Debugger.MuteBreakpoints.text=Mute Breakpoints
action.Debugger.MuteBreakpoints.description=Mute/unmute all breakpoints in a debug session.
action.Debugger.MarkObject.text=Mark Object...
action.Debugger.MarkObject.unmark.text=Unmark Object
action.Debugger.MarkObject.description=Mark/unmark the object so that it can be visually distinguished in in debugger views
action.Debugger.AddToWatch.text=Add to Watches
action.Debugger.EvaluateInConsole.text=Evaluate in Console
action.Debugger.AutoRenderer.text=Auto
group.EditorPopupMenu.text=Editor Popup Menu
group.EditorPopupMenu.description=Editor Popup Menu
action.Add\ to\ migration\ roots.text=_Add to migration roots
action.Add\ to\ migration\ roots.description=Add selected element to migration roots
group.EditorPopupMenu.GoTo.text=Go To
group.EditorPopupMenu.GoTo.description=Go To Editor Popup Menu Group
action.CompareClipboardWithSelection.text=Compare with Clip_board
action.CompareClipboardWithSelection.description=Compare current selection with clipboard
action.ChangeColorScheme.text=Switch Color Scheme
action.ChangeColorScheme.description=Change current color scheme
action.ChangeCodeStyleScheme.text=Switch Code Style Scheme
action.ChangeCodeStyleScheme.description=Change current code style scheme
action.ChangeKeymap.text=Switch Keymap
action.ChangeKeymap.description=Change current keymap
action.ChangeLaf.text=Switch Look and Feel
action.ChangeLaf.description=Change current Look\\&Feel
action.ChangeInspectionProfile.text=Switch Error Highlighting
action.ChangeInspectionProfile.description=Change current editor inspection profile
action.ChangeCustomizationSchema.text=Switch Customization Scheme
action.ChangeCustomizationSchema.description=Change Current Customization Scheme
action.MoveEditorToOppositeTabGroup.text=_Move To Opposite Group
action.MoveEditorToOppositeTabGroup.description=Move editor to opposite tab group
action.OpenEditorInOppositeTabGroup.text=_Open In Opposite Group
action.OpenEditorInOppositeTabGroup.description=Open a copy of this editor in the opposite tab group
action.ModuleSettings.text=Module _Settings
action.ModuleSettings.description=Open settings dialog for selected module
group.MoveModuleToGroup.text=Move Module to Group
group.MoveModuleToGroup.description=_Move module
action.AssociateWithFileType.text=Associate with File Type
action.AssociateWithFileType.description=Associate selected file with one of file types
action.SynchronizeCurrentFile.text=Synchronize selected file
action.TypeHierarchy.BaseOnThisType.text=Base On This Type
action.TypeHierarchy.Class.text=Class Hierarchy
action.TypeHierarchy.Subtypes.text=Subtypes Hierarchy
action.TypeHierarchy.Supertypes.text=Supertypes Hierarchy
action.MethodHierarchy.ImplementMethodAction.text=Implement Method
action.MethodHierarchy.ImplementMethodAction.description=Implement Method (from Method Hierarchy)
action.MethodHierarchy.OverrideMethodAction.text=Override Method
action.MethodHierarchy.OverrideMethodAction.description=Override Method (from Method Hierarchy)
action.MethodHierarchy.BaseOnThisType.text=Base On This Type
action.MethodHierarchy.BaseOnThisType.description=Show hierarchy for method of selected class/interface
action.CallHierarchy.BaseOnThisType.text=Base On This Method
action.CallHierarchy.BaseOnThisType.description=Show call hierarchy for selected method
action.Lvcs.ShowLvcsDiffAction.text=Compare Versions
action.Lvcs.ShowLvcsDiffAction.description=Show changes
action.Lvcs.RollbackFileAction.text=Rollback File
action.Lvcs.RollbackFileAction.description=Rollback
action.Vcs.ShowDiffAction.text=Show Changes
action.Vcs.ShowDiffAction.description=Show changes
action.Vcs.RollbackChanges.text=Rollback Changes
action.Vcs.RollbackChanges.description=Rollback changes
action.Vcs.EditSourceAction.text=Edit Source
action.Vcs.EditSourceAction.description=Edit source
action.Vcs.ExcludeAction.text=Exclude from Commit
action.Vcs.ExcludeAction.description=Exclude from commit
action.Vcs.IncludeAction.text=Include into Commit
action.Vcs.IncludeAction.description=Include into commit
action.openAssertEqualsDiff.text=View assertEquals Difference
action.UsageView.Include.text=Include
action.UsageView.Include.description=Include this usage(s) into processing
action.UsageView.Exclude.text=Exclude
action.UsageView.Exclude.description=Exclude this usage(s) from processing
action.UsageView.ShowRecentFindUsages.text=R_ecent Find Usages
action.UsageView.ShowRecentFindUsages.description=Choose and re-run recent find usages
group.ShowRecentFindUsagesGroup.text=Recent Find Usages
group.ShowRecentFindUsagesGroup.description=Choose and re-run recent find usages

stop.capture.cpu.usage.data.action.name=Stop CPU Usage Profiling
stop.capture.cpu.usage.data.action.description=Stop capturing CPU usage data
stop.capture.allocations.usage.data.action.name=Capture allocations data, now capturing
stop.capture.allocations.usage.data.action.description=Stop capturing allocations data

action.IntegrateFiles.text=Integrate
action.IntegrateFiles.description=Integrate selected files or directories
action.Vcs.IntegrateProject.text=Inte_grate Project
action.Vcs.IntegrateProject.description=Integrate project

action.Vcs.RefreshStatuses.text=R_efresh File Status
action.Vcs.RefreshStatuses.description=Refresh VCS status for all files in project

action.ShowNavBar.text=_Jump to Navigation Bar

action.ScopeView.EditScopes.text=Ed_it Scopes
action.ScopeView.EditScopes.description=Edit Scopes

action.CodeInspection.OnEditor.text=Inspect Code With _Editor Settings
action.CodeInspection.OnEditor.description=Inspect Code With _Editor Settings

action.ShowCoverageInfo.text=Show Co&verage Info
action.HideCoverageInfo.text=Hide Co&verage Info

action.Graph.layout.circular=Circular Layout
action.Graph.layout.balloon=Balloon Layout
action.Graph.layout.directed.orthogonal=Directed Orthogonal Layout
action.Graph.layout.orthogonal=Orthogonal Layout
action.Graph.layout.organic=Organic Layout
action.Graph.layout.hierarchic.group=Hierarchic Group Layout
action.Graph.layout.tree=Tree Layout
action.Graph.layout.apply.current=Apply current layout
action.Graph.layout.fit.content=Fit Content After Layout

action.Graph.zoom.actual=Actual size
action.Graph.zoom.in=Zoom in
action.Graph.zoom.out=Zoom out

action.Graph.grid.hide=Hide Grid
action.Graph.grid.show=Show Grid
action.Graph.grid.snap=Snap To Grid
action.Graph.show.edge.label=Show Edge Labels
action.Graph.show.selected.node.dependencies.label=Show selected nodes with dependencies
action.Graph.export.to.file=Export to file...
action.Graph.export.to.file.dialog.caption=Export to file
action.Graph.choose.directory=Choose Directory
action.Graph.fit.content=Fit Content

action.Graph.print=Print Graph
action.Graph.print.preview=Print Preview

action.SendFeedback.text=Submit _Feedback
action.SendFeedback.description=Submit feedback to the JetBrains Web site
action.LogDebugConfigure.text=Configure Debug Log Settings
action.LogDebugConfigure.description=Enable or disable additional log categories. Allows to provide more information to the support team by request.
action.ShowLog.text=Open Log file
action.ShowLog.description=Opens folder with log file
action.TechnicalSupport.text=Contact _Support Team
action.TechnicalSupport.description=Access technical support on JetBrains Web site

action.TextComponent.ClearAction.text=Clear text
action.TextComponent.ClearAction.description=Clear text in text components

action.ConvertProject.text=&Convert Project
action.ConvertProject.description=Convert project to the new format. You will not be able to open the project by earlier versions of IDEA.

action.ChangesView.Refresh.text=Refresh
action.ChangesView.Refresh.description=Refresh VCS changes
action.ChangesView.NewChangeList.text=New Changelist
action.ChangesView.NewChangeList.description=Create new changelist
action.ChangesView.Commit.text=Comm_it Changes
action.ChangesView.Commit.description=Commit the changes in selected changelist
action.ChangesView.Rollback.text=Rollback
action.ChangesView.Rollback.description=Rollback selected changes
action.ChangesView.RemoveChangeList.text=Delete Changelist
action.ChangesView.RemoveChangeList.description=Remove changelist and move all changes to default
action.ChangesView.SetDefault.text=Set Active Changelist
action.ChangesView.SetDefault.description=Set changelist to which new changes are placed by default
action.ChangesView.Move.text=Move to Another Changelist
action.ChangesView.Move.description=Move selected changes to another changelist
action.ChangesView.Diff.text=Show Diff
action.ChangesView.Diff.description=Show diff for selected change
action.ChangesView.DeleteUnversioned.text=Delete
action.ChangesView.DeleteUnversioned.description=
action.ChangesView.AddUnversioned.text=Add to VCS
action.ChangesView.AddUnversioned.description=Schedule selected files to be added to VCS
action.ChangesView.AddUnversioned.From.Dialog.text=Add to VCS
action.ChangesView.AddUnversioned.From.Dialog.description=Schedule selected files to be added to VCS
action.ChangesView.RemoveDeleted.text=Remove from VCS
action.ChangesView.RemoveDeleted.description=Schedule selected files to be removed from VCS
action.ChangesView.Rename.text=Edit Changelist...
action.ChangesView.Rename.description=Edit name and description of selected changelist
action.ChangesView.CreatePatch.text=Create Patch...
action.ChangesView.CreatePatch.description=Create a patch from the selected changes
action.ChangesView.ApplyPatch.text=Apply Patch...
action.ChangesView.ApplyPatch.description=Apply a patch to the sources of the project
action.ChangesView.Shelve.text=Shelve Changes...
action.ChangesView.Shelve.description=Save changes to an external patch file and remove them from the code
action.ShelvedChanges.Unshelve.text=Unshelve Changes
action.ShelvedChanges.Unshelve.description=Apply saved changes to current codebase
action.ShelvedChanges.Rename.text=Rename...
action.ShelvedChanges.Rename.description=Rename shelved changelist
action.ChangesView.Browse.text=Browse Changes...
action.ChangesView.Browse.description=View history of committed changes
action.ChangesView.Edit.text=Check Out
action.ChangesView.Edit.description=Check out selected files for editing
action.ChangesView.Ignore.text=Ignore...
action.ChangesView.Ignore.description=Do not show selected files as unversioned
action.ChangesView.CreatePatchFromChanges.text=Create Patch...
action.ChangesView.CreatePatchFromChanges.description=Create a patch from the selected changes
action.CommittedChanges.Refresh.text=Refresh
action.CommittedChanges.Refresh.description=Refresh the list of committed changes
action.CommittedChanges.Filter.text=Filter
action.CommittedChanges.Filter.description=Change filtering criteria
action.CommittedChanges.Details.text=Show Details
action.CommittedChanges.Details.description=View complete information about the selected changelist
action.IncomingChanges.Refresh.text=Refresh
action.IncomingChanges.Refresh.description=Refresh the list of incoming changes
action.IncomingChanges.Get.text=Get Changelist
action.IncomingChanges.Get.description=Get latest version of files modified in selected changelist
action.FileChooser.TogglePathShowing.text=Show/Hide path text
action.ChangeFileEncodingAction.text=File Encoding
action.ChangeFileEncodingAction.description=Change file encoding
action.ConfigureFileDefaultEncoding.text=Configure Default Encoding...
action.ConfigureFileDefaultEncoding.description=Configure default encoding for files, files in directories or in the whole project
action.ChangeFileEncodingGroupAction.text=Change File Encoding
action.ChangeFileEncodingGroupAction.description=Change File Encoding
action.VcsHistory.ShowAllAffected.text=Show All Affected Files
action.VcsHistory.ShowAllAffected.description=Show all changes made in the chosen revision

action.AddFrameworkSupport.text=Add Framework Support...

action.Diff.FocusOppositePane.text=Select opposite pane in diff view
action.Diff.PrevChange.text=Compare Previous File
action.Diff.NextChange.text=Compare Next File
action.Diff.SelectedChange.text=Choose File To Compare

action.FileChooser.ShowHiddens.text=Show Hidden Files and Directories
action.FileChooser.ShowHiddens.description=Show hidden files and directories
action.FileChooser.Refresh.text=Refresh
action.FileChooser.Refresh.description=Refresh the file system tree
action.FileChooser.Delete.text=Delete...
action.FileChooser.Delete.text.description=Delete
action.FileChooser.NewFolder.text=New Folder...
action.FileChooser.NewFolder.description=Create new folder
action.FileChooser.NewFile.text=New File...
action.FileChooser.NewFile.description=Create new file
action.FileChooser.GotoHome.text=Home Directory
action.FileChooser.GotoHome.description=Go to home directory
action.FileChooser.GotoProject.text=Project Directory
action.FileChooser.GotoProject.description=Go to project directory
action.FileChooser.GotoModule.text=Module Directory
action.FileChooser.GotoModule.description=Go to module directory

action.WelcomeScreen.DevelopPlugins.text=Plugin Development
action.WelcomeScreen.DevelopPlugins.description=Get started developing plugins for {0}.
action.WelcomeScreen.ReadHelp.text=Read Help
action.WelcomeScreen.ReadHelp.description=Open {0} "Help Topics" in a new window.
action.WelcomeScreen.GetFromVcs.text=Check out from Version Control
action.WelcomeScreen.GetFromVcs.description=You can check out an entire project from a Version Control System. Click the icon or link to select your VCS.
action.WelcomeScreen.ReopenRecent.text=Reopen Recent Project
action.WelcomeScreen.ReopenRecent.description=You can open one of the most recent projects you were working with. Click the icon or link to select a project from the list.
action.WelcomeScreen.OpenProject.text=Open Project
action.WelcomeScreen.OpenProject.description=Open {0} project. <br/>You can also open a project by drag and drop onto Welcome screen.
action.WelcomeScreen.CreateNewProject.text=Create New Project
action.WelcomeScreen.CreateNewProject.description=Start the \"New Project\" Wizard that will guide you through the steps necessary for creating a new project.
action.WelcomeScreen.ImportProject.text=Import Project
action.WelcomeScreen.ImportProject.description=Create {0} project structure for directory with existing sources or convert existing project model.
action.WelcomeScreen.JetBrainsTV.IDEA.text=JetBrains TV
action.WelcomeScreen.Plugins.text=Plugins
action.WelcomeScreen.Plugins.description=Manage installed plugins and download new ones from repository
action.WelcomeScreen.Configure.Import.text=Import Settings
action.WelcomeScreen.Configure.Export.text=Export Settings
action.WelcomeScreen.Configure.DesktopEntry.text=Create Desktop Entry
action.WelcomeScreen.Configure.DesktopEntry.description=Create a desktop entry for integration with system application menu

action.CommittedChanges.Revert.text=Revert Changes
action.CommittedChanges.Revert.description=Apply the reverse of the selected changes to the working copy

action.OpenDirectoryProject.text=Open Directory...
action.OpenDirectoryProject.description=Start editing code in the specified directory
action.WelcomeScreen.OpenDirectoryProject.text=Open Directory
action.WelcomeScreen.OpenDirectoryProject.description=Start editing code in the specified directory.
action.WelcomeScreen.CreateDirectoryProject.text=Create New Project
action.WelcomeScreen.CreateDirectoryProject.description=Create a new project.
action.NewDirectoryProject.text=New Project...
action.NewDirectoryProject.description=Create a new project

action.SliceBackward.text=Analyze Data Flow _to Here
action.SliceBackward.description=Search for values which can be assigned to selected expression

action.SliceForward.text=Analyze Data Flow _from Here
action.SliceSliceForward.description=Search for values escaped from this location

action.ShelvedChanges.Diff.text=Show Diff
action.ShelvedChanges.Diff.description=Show diff for selected change

action.ChangeTemplateDataLanguage.text=Change Template Data Language

group.FileOpenGroup.text=File Open Actions
group.FileOtherSettingsGroup.text=Other Settings
group.FileMainSettingsGroup.text=Settings Actions
group.FilSettingsGroup.text=Settings Actions
group.ExportImportGroup.text=Export/Import Actions
group.PrintExportGroup.text=Print/Export Actions
group.EditSelectGroup.text=Editor Select Actions
group.EditCreateDeleteGroup.text=Editor Create/Delete Actions
group.CutCopyPasteGroup.text=Cut/Copy/Paste Actions
group.EditSelectWordGroup.text=Select Word Actions
group.EditBookmarksGroup.text=Boo_kmarks
group.OpenProjectGroup.text=Open Project Actions
group.EditSmartGroup.text=Edit Code Actions
group.ProjectViewGroup.text=Project View Actions
group.CodeEditorViewGroup.text=Code View Actions
group.CodeEditorBaseGroup.text=Code Editor View Actions
group.HierarchyGroup.text=Hierarchy Actions
group.DebugMainMenu.text=Debugger Actions
group.ToggleBreakpointAction.text=Breakpoint Actions
group.CommentGroup.text=Comment Actions
group.CodeFormatGroup.text=Code Formatting Actions
group.GoToTargetEx.text=Goto by Name Actions
group.GoToErrorGroup.text=Goto Error/Bookmark Actions
group.GoToMenuEx.text=Method Navigation Actions
group.GoToCodeGroup.text=Goto by Reference Actions
group.GoToChangeMarkerGroup.text=Change Navigation Actions
group.CoverageMenu.text=Code Coverage Actions
group.ToolsXmlGroup.text=XML Actions
group.XmlGenerateToolsGroup.text=XML Generate Actions
group.EditorPopupMenuDebug.text=Debug Actions
group.VersionControlsGroup.text=VCS/LVCS Actions
group.EditorPopupMenu.Run.text=Compile/Run Actions
group.ProjectViewCompileGroup.text=Compile/Debug Actions
group.ProjectViewAnalysisGroup.text=Analysis Actions
action.PerformanceReport.text=Submit Performance Report
group.PairFileActions.text=Actions on Pairs of Files
group.RefactoringMenu1.text=Refactoring Actions (1)
group.RefactoringMenu2.text=Refactoring Actions (2)
group.RefactoringMenu3.text=Refactoring Actions (3)
group.ToolbarFindGroup.text=Toolbar Find Actions
group.ToolbarRunGroup.text=Toolbar Run Actions
group.ToolbarMakeGroup.text=Toolbar Make Actions
group.EditorPopupMenu1.text=Editor Popup Menu Actions (1)
group.EditorLangPopupMenu.text=Editor Popup Menu Actions (2)
<caret>
group.CloseEditorsGroup.text=Editor Close Actions
group.EditorTabPopupMenuEx.text=Editor Tab Popup Menu Actions (1)
group.ProjectViewPopupMenuModifyGroup.text=Project View Popup Menu Modify Group
group.ProjectViewPopupMenuRunGroup.text=Project View Popup Menu Run Group
group.ProjectViewPopupMenuSettingsGroup.text=Project View Popup Menu Settings Group
group.ProjectViewPopupMenuRefactoringGroup.text = Project View Popup Refactoring Group
group.ViewRecentActions.text=View Recent Actions Group
group.NewGroup1.text=New Group (1)
group.NewGroup2.text=New Group (2)
action.NewModuleInGroup.text=Module
action.WrapReturnValue.text=Wrap Method Re_turn Value...
action.WrapReturnValue.description=Wrap return value of the specified method with object
action.ReplaceConstructorWithBuilder.text=Replace Constructor with Builder...
action.ReplaceConstructorWithBuilder.description=Replace current class constructors calls with chained calls to the builder
action.WelcomeScreen.ShowTips.text=Tips of the Day
action.WelcomeScreen.ShowTips.description=Learn how to increase your coding productivity.
action.ShelvedChanges.ShowHideDeleted.text=Show/Hide Applied Shelved Changes
action.XDebugger.MuteBreakpoints.text=Mute Breakpoints
action.ShelvedChanges.DeleteDeleted.text=Delete Applied Shelved Changes
action.Diff.IgnoreWhitespace.text=Toggle Diff Ignore Whitespace
action.ShelvedChanges.Restore.text=Restore Applied Shelved Change
action.Graph.Current.Node.Dependencies.Filter.text=Show selected nodes with dependencies
group.VcsToobarActions.text=VCS Actions
action.StartupWizard.text=Configure Plugins...
action.StartupWizard.description=Run a wizard for selecting the set of enabled plugins
action.PopupHector.text=Configure Current File Analysis...
action.PopupHector.description=Show panel to configure highlighting mode for the current file
group.EditorTabPopupMenu.text=Editor Tab Popup Menu
group.MainMenu.text=Main menu
group.ProjectViewPopupMenu.text=Project View Popup Menu
group.FavoritesViewPopupMenu.text=Favorites View Popup Menu
group.CommanderViewPopupMenu.text=Commander View Popup Menu
group.NavbarPopupMenu.text=Navigation Bar
action.NewInspectionsInLatestVersion.text=What's new in IDEA 9
action.NewInspectionsInLatestVersion.description=Show inspections new in IDEA 9
action.RerunFailedTests.text=Rerun Failed Tests
action.RerunFailedTests.description=Run only tests that failed/crashed after last run
group.AnalyzeJavaMenu.text=Analyze Java Menu
group.AnalyzeJavaMenu.description=Analyze Java Menu
action.InvalidateCaches.text=Invalidate Caches / Restart...
action.InvalidateCaches.description=Force rebuild of all caches and indices on next startup
group.ToolsBasicGroup.text=Tools Basic Group
group.ToolsBasicGroup.description=Tools Basic Group
group.ToolbarNewElement.text=Toolbar New Element Group
action.NewElementToolbarAction.text=Create New File
action.ShowRegistry.text=Registry
action.ExportTestResults.text=Export Test Results...
action.ExportTestResults.description=Export test results to the file
action.TogglePowerSave.text=Power Save Mode
action.TogglePowerSave.description=Power save mode disables background code analysis and other background operations
group.ConvertIndentsGroup.text=Convert Indents
action.ConvertIndentsToSpaces.text=To Spaces
action.ConvertIndentsToSpaces.description=Convert the indentation in the file or selected block to use spaces instead of tabs
action.ConvertIndentsToTabs.text=To Tabs
action.ConvertIndentsToTabs.description=Convert the indentation in the file or selected block to use tabs instead of spaces
group.Vcs.Import.text=Import into Version Control
group.Vcs.Browse.text=Browse VCS Repository
action.Graph.print.reset=Reset
action.MarkExcludeRoot.text=Excluded
action.UnmarkRoot.text=Unmark Root
action.CreateLibraryFromFile.text=Add as Library...
action.ImportModuleFromImlFile.text=Import Module
action.ImportModuleFromImlFile.description=Import iml file as a module to the project
group.MarkRootGroup.text=Mark Directory As
action.CreateLauncherScript.text=Create Command-line Launcher...
action.CreateLauncherScript.description=Create a script for opening files and projects from the command line
action.CreateDesktopEntry.text=Create Desktop Entry...
action.CreateDesktopEntry.description=Create a desktop entry for integration with system application menu
group.EditorGutterPopupMenu.text=Editor Gutter Popup Menu
action.ExcludeFromProject.text=Exclude From Project...
group.MarkFileAs.text=Mark File As
action.MarkAsPlainTextAction.text=Mark as Plain Text
action.MarkAsOriginalTypeAction.text=Mark as

action.Console.Execute.text=Execute Current Statement
action.Console.Execute.description=Execute current statement in console
action.Console.History.Previous.text=Previous
action.Console.History.Previous.description=Previous console history entry
action.Console.History.Next.text=Next
action.Console.History.Next.description=Next console history entry
action.Console.History.Browse.text=Browse History
action.Console.History.Browse.description=Browse console history
action.RevealIn.text=Show/Reveal in Explorer/Finder/Konqueror/Nautilus
action.RevealIn.description=Highlights the file in platform's file manager
action.GoToLinkTarget.text=Go to Link Target
action.GoToLinkTarget.description=Opens a target ot this symlink in the Project View

action.Images.EditExternally.text=Jump to External Editor
action.Images.EditExternally.description=Open image in external editor
action.Images.ToggleTransparencyChessboard.text=Transparency Chessboard
action.Images.ToggleTransparencyChessboard.description=Toggle transparency chessboard under image
action.Images.Editor.ToggleGrid.text=Grid
action.Images.Editor.ToggleGrid.description=Toggle grid lines over image
action.Images.Editor.ZoomIn.text=Zoom In
action.Images.Editor.ZoomIn.description=Increase image view
action.Images.Editor.ZoomOut.text=Zoom Out
action.Images.Editor.ZoomOut.description=Reduce image view
action.Images.Editor.ActualSize.text=Actual Size
action.Images.Editor.ActualSize.description=Resize image to actual size
action.Images.Thumbnails.UpFolder.text=Level up
action.Images.Thumbnails.UpFolder.description=Level up
action.Images.Thumbnails.EnterAction.text=Browse
action.Images.Thumbnails.EnterAction.description=Browse directory
action.Images.Thumbnails.ToggleRecursive.text=Recursive
action.Images.Thumbnails.ToggleRecursive.description=Toggle recursive browsing
action.Images.Thumbnails.Hide.text=Close thumbnails
action.Images.Thumbnails.Hide.description=Close thumbnails window
action.Images.ShowThumbnails.text=Show Image Thumbnails
action.Images.ShowThumbnails.description=Show thumbnails view for current directory

action.Diff.UpdatedFiles.text=Show Diff
action.Diff.UpdatedFiles.description=Show diff with version before update

action.TabList.text=Show Hidden Tabs
action.TabList.description=Show dropdown with the list of tabs that don't fit on the screen in single-row tab layout

action.FillParagraph.text=Fill Paragraph
action.FillParagraph.description=Reformat string literal or comment to fit maximum width (usually 80)

action.SaveDocument.text=Save Document
action.SaveDocument.description=Saves only the file opened in the current editor
php.keyword=Keywords
php.variable=Variables
php.string=Strings
php.single.quote.string=Single quote strings
php.number=Numbers
php.operations=Operations
php.marker=Start / end script markers
php.valid.string.escape=Valid string escapes
php.predefined.function=Predefined functions

tab.structureview.view=PHP

# php colors page elements
color.settings.name=PHP
color.settings.keyword=Keywords
color.settings.comment=Comments
color.settings.number=Numbers
color.settings.string=Strings
color.settings.escape_sequence=Escape sequences
color.settings.operation=Operators
color.settings.brackets=Brackets
color.settings.bad_character=Unknown character
color.settings.comma=Comma
color.settings.semicolon=Semicolon
color.settings.heredoc_id=Heredoc ID
color.settings.heredoc_content=Heredoc content
color.settings.var=Variable
color.settings.identifier=Identifier
color.settings.constant=Constant
color.settings.function=Function/Method Declaration
color.settings.parameter=Parameter
color.settings.function.call=Function Call
color.settings.instance.method=Instance Method Call
color.settings.static.method=Static Method Call
color.settings.class=Class
color.settings.interface=Interface
color.settings.static.field=Static Field
color.settings.instance.field=Instance Field
color.settings.doccomment=PHPDoc comment
color.settings.doctag=PHPDoc tag
color.settings.docmarkup=PHPDoc markup
color.settings.exec_command=Shell command
color.settings.predefined.symbols=Predefined symbols
color.settings.goto.label=Goto label

# annotations
annotation.variable.variable=Variable variable
annotation.new.expression.interface=Cannot instantiate interface ''{0}''
annotation.new.expression.trait=Cannot instantiate trait ''{0}''
annotation.new.expression.abstract=Cannot instantiate abstract class ''{0}''

#folding
folding.checkbox.collapse.imports=<html>PHP imports</html>
folding.checkbox.collapse.method.body=<html>PHP method body</html>
folding.checkbox.collapse.function.body=<html>PHP function body</html>
folding.checkbox.collapse.php.tags=<html>PHP tags</html>
folding.checkbox.collapse.heredocs.and.nowdocs=<html>PHP HEREDOC\\NOWDOC</html>

#gutter
gutter.overriding.select.title=Choose parent method to navigate
gutter.overriden.select.subclass.title=Choose subclass of {0}
gutter.overriden.select.implementation.title=Choose implementation of {0}

# inspections
inspection.group=PHP
inspection.group.general=General
inspection.group.unused=Unused
inspection.group.undefined=Undefined
inspection.group.control.flow=Control Flow
inspection.group.php.doc=PHPDoc
inspection.group.probably.bug=Probably bug
inspection.group.type.compatibility=Type compatibility
inspection.group.code.style=Code Style
inspection.group.code.smell=Code Smell


inspection.hierarchyChecks=Class hierarchy checks
inspection.hierarchyChecks.descr=Class must be declared abstract or implement {0}
inspection.wrong_param_type=Expected {1}, got {0}
inspection.missing_param=Required parameter ${0} missing

#inspection -> Wrong Exception order
inspection.wrong.exception.order.problem.batch=Exception #ref has already been caught
inspection.wrong.exception.order.problem.same=Exception ''{0}'' has already been caught
inspection.wrong.exception.order.problem.super=''{0}'', superclass of exception class ''{1}'', has already been caught

inspection.wrong.exception.order.fix.move.display.name=Move catch clause for exception ''{0}'' before ''{1}''
inspection.wrong.exception.order.fix.delete.display.name=Delete catch clause for exception ''{0}''

#inspection -> Wrong Exception class
inspection.wrong.exception.type.problem.throw = The thrown object must be an instance of the Exception
inspection.wrong.exception.type.problem.catch = Cannot catch object not derived from Exception base class

#inspection -> Assigned value never used
inspection.unused.assignment.error.description = Assigned value is never used

#inspection -> Wrong foreach argument
inspection.wrong.foreach.argument.type=Invalid argument supplied for foreach()
inspection.wrong.foreach.argument.type.problem.batch=Invalid argument supplied for foreach()
inspection.wrong.foreach.argument.type.problem=Invalid argument supplied for foreach(). Expected types: array or object, Actual: {0}

#inspection -> Unused local variable
inspection.unused.local.variable.problem=Unused local variable ''{0}''. {1}
inspection.unused.local.variable.problem.batch=Unused local variable #ref
inspection.unused.local.variable.problem.case1=The value of the variable is not used anywhere.
inspection.unused.local.variable.problem.case2=The value of the variable is overwritten immediately.
inspection.unused.local.variable.problem.case3=The reference stored in the variable is not used anywhere.
inspection.unused.local.variable.problem.case4=The reference stored in the variable is overwritten immediately.
inspection.unused.local.variable.option.description.foreach=Don't report a foreach value when a foreach key exists
inspection.unused.local.variable.option.description.catch=Don't report variables inside catch clauses
inspection.unused.local.variable.option.description.list=Don't report variables inside list()
inspection.unused.local.variable.option.description.file.scope=Enable inspection in global space
inspection.unused.local.variable.option.description.null=Don't report assignment to 'null'
inspection.unused.local.variable.option.indirect.access=Don't report variables accessed via 'get_defined_vars()'

#inspection -> Unused parameter
inspection.unused.parameter.problem=Unused parameter ''{0}''. {1}
inspection.unused.parameter.problem.batch=Unused parameter #ref
inspection.unused.parameter.problem.case1=The value of the parameter is not used anywhere.
inspection.unused.parameter.problem.case2=The value of the parameter is overwritten immediately.
inspection.unused.parameter.problem.case3=The reference stored in the parameter is not used anywhere.
inspection.unused.parameter.problem.case4=The reference stored in the parameter is overwritten immediately.
inspection.unused.parameter.option.description.empty.body=Don't report parameters of methods/functions with empty body
inspection.unused.parameter.option.description.empty.abstract=Don't report parameters of methods of abstract classes
inspection.unused.parameter.option.description.empty.override=Don't report parameters of overriding methods
inspection.unused.parameter.option.description.parameter.count=Don't report when parameters are accessed via 'func_num_args()'

#inspection -> Undefined callback
inspection.undefined.callback.method = Method ''{0}'' not found in class ''{1}''
inspection.undefined.callback.field = Field ''{0}'' not found in class ''{1}''
inspection.undefined.callback.class = Undefined class ''{0}''
inspection.undefined.callback.function = Undefined function ''{0}''

#inspection - > Undefined variable
inspection.undefined.variable.display.name=Undefined variable
inspection.undefined.variable.problem1=Undefined variable ''{0}''
inspection.undefined.variable.problem2=Variable ''{0}'' might have not been defined
inspection.undefined.variable.option.description.enable.in.file.scope=Enable inspection in global space
inspection.undefined.variable.option.description.report.can.be.undefined=Report that variable might have not been defined
inspection.undefined.variable.option.description.ignore.include=Ignore \'include\' and \'require\' statements

#inspection -> Wrong String concatenation operator
inspection.wrong.string.concatenation.operator.problem=Wrong string concatenation operator
inspection.wrong.string.concatenation.operator.problem.batch=Wrong string concatenation operator

#inspection -> Dynamic method called as static
inspection.dynamic.method.called.as.static.problem=Non-static method ''{0}'' should not be called statically
inspection.dynamic.method.called.as.static.problem.batch=Non-static method #ref should not be called statically

#inspection -> Assignment in condition
inspection.assignment.in.condition=Assignment in condition

#inspection -> Division by zero
inspection.division.by.zero=Division by zero

#inspection -> Unreachable Statement
inspection.unreachable.statement=Unreachable statement
inspection.unreachable.statement.problem=Unreachable statement

#inspection -> Missing doc comment
inspection.missing.doc.comment=Missing PHPDoc comment
inspection.missing.doc.comment.problem=Missing PHPDoc comment
inspection.missing.doc.comment.problem.batch=Missing PHPDoc comment for {0}
inspection.missing.doc.comment.options.panel.constant=C&onstant
inspection.missing.doc.comment.options.panel.function=&Function
inspection.missing.doc.comment.options.panel.class=&Class
inspection.missing.doc.comment.options.panel.method=&Method
inspection.missing.doc.comment.options.panel.field=Fi&eld
inspection.missing.doc.comment.options.panel.class.constant=Class const&ant

#inspection -> Silly assignment
inspection.silly.assignment=Silly assignment
inspection.silly.assignment.problem=The left and the right parts of assignment are equal

#inspection -> Illegal array key type
inspection.illegal.array.key.type=Illegal array key type
inspection.illegal.array.key.type.problem=Illegal array key type

#inspection -> Missing @return tag
inspection.doc.missing.return.tag=Missing @return tag
inspection.doc.missing.return.tag.problem=Missing @return tag in function/method PHPDoc comment

#inspection -> Doc signature inspection
inspection.doc.signature=PHPDoc comment matches function/method signature
inspection.doc.signature.problem=PHPDoc comment does not match function or method signature

inspection.doc.throws=Missing @throws tag(s)
inspection.doc.throws.problem=PHPDoc comment doesn't contain all necessary @throws tag(s)

#inspection -> Inconsistent return points
inspection.missing.inconsistent.return.points=Inconsistent return points
inspection.inconsistent.return.points.problem1=Missing return statement
inspection.inconsistent.return.points.problem2=Missing return argument
inspection.inconsistent.return.points.problem3=The function/method declared \'void\' must not return a value
inspection.inconsistent.return.points.option.treat.return=Treat \'return null\' and \'return\' same way in \'void\' functions/methods

#inspection -> Redundant closing tag
inspection.redundant.closing.tag.display.name=Redundant closing tag
inspection.redundant.closing.tag.problem=Redundant closing tag

#inspection -> Void function result used
inspection.void.function.result.used.display.name=Void function result used
inspection.void.function.result.used.problem1=''void'' function ''{0}'' result used
inspection.void.function.result.used.problem2=''void'' method ''{0}'' result used

#inspection -> Expression result unused
inspection.expression.result.unused.display.name=Expression result unused
inspection.expression.result.unused.problem=Expression result unused

#inspection -> Unused function
inspection.missing.break.statement.display.name=Missing 'break' statement
inspection.missing.break.statement.problem=Missing 'break' statement

#inspection -> Nested vs outer 'foreach' variables conflict
inspection.nested.vs.outer.foreach.variables.conflict.display.name=Nested vs outer 'foreach' variables conflict
inspection.nested.vs.outer.foreach.variables.conflict.problem1=The ''{0}'' variable used as a key 'foreach' loop is already used in the same way by the outer 'foreach' loop.
inspection.nested.vs.outer.foreach.variables.conflict.problem2=The ''{0}'' variable used as a value by a 'foreach' loop is already used in the same way by the outer 'foreach' loop.

#inspection -> Foreach array is used as value
inspection.foreach.array.is.used.as.value.display.name=Foreach array is used as value
inspection.foreach.array.is.used.as.value.problem=The ''{0}'' variable is already used as an 'array expression'

#inspection -> Usage of silence operator
inspection.usage.of.silence.operator.problem=Usage of silence operator

#inspection -> Language level
inspection.language.level.display.name=Language level

#switch language level quick fix
inspection.language.level.quick.fix.switch.language.level.name.0=Switch to PHP{0} language level

#inspection -> Duplicate array keys
inspection.duplicate.array.keys.display.name=Duplicate array keys
inspection.duplicate.array.keys.problem=Duplicate array key

#inspection -> Undefined constant
inspection.undefined.constant.display.name=Undefined constant
inspection.undefined.constant.problem1=Undefined constant #ref
inspection.undefined.constant.problem2=Constant #ref might have not been defined

#inspection -> Undefined function
inspection.undefined.function.display.name=Undefined function
inspection.undefined.function.problem1=Undefined function #ref
inspection.undefined.function.problem2=Function #ref might have not been defined

#inspection -> Undefined field
inspection.undefined.field.problem1=Field accessed via magic method
inspection.undefined.field.problem2=Field declared dynamically
inspection.undefined.field.notify.access.magic.method=Notify about access to a field via magic method
inspection.undefined.field.notify.dynamic.declaration=Notify about dynamic field declaration

#inspection -> Unnecessary fully qualified name
inspection.unnecessary.fully.qualified.name=Unnecessary fully qualified name
inspection.unnecessary.fully.qualified.name.option.enable.file.scope=Enable in file scope
inspection.unnecessary.fully.qualified.name.option.ignore.global.namespace=Ignore global namespace
inspection.unnecessary.fully.qualified.name.option.ignore.if.import.is.necessary=Ignore FQN that can\u2019t be shortened without import

#inspection -> Multiple classes declaration in one file
inspection.multiple.classes.declarations.in.one.file=Another class is declared in the same file

#inspection -> Traditional Syntax Array Declaration Inspection
inspection.traditional.syntax.array.literal.detected=Traditional syntax array literal detected

#quickfix
quickfix.cannot.apply.quick.fix=Cannot apply quick fix.
quickfix.cannot.find.class.reference=Can not find class reference to resolve
quickfix.cannot.find.target.class=Can not resolve class from reference ''{0}''
quickfix.multiple.target.class.resolve=Class ''{0}'' has multiple declarations

#quick fix for: {PhpUnderfinedVariableInspection} -> Create parameter
quickfix.create.parameter=Create parameter
quickfix.create.parameter.selected.function.method.has.usages=Selected function/method has usages.

#quickfix -> PhpImportClassQuickFix
quickfix.import.class.name=Import Class
quickfix.import.class.popup.title=Class to import

#quickfix -> PhpAddFieldDeclarationQuickFix
quickfix.add.field.dialog.title=Add Field

#intentions

#intentions Replace ?: expression with If
intention.replace.ternary.expression.with.if=Replace '?:' with if

#intentions Replace If with ?: expression
intention.replace.if.with.ternaryExpression=Simplify If

#intentions -> Convert To Short Syntax
intention.convert.to.short.syntax=Convert to short syntax
intention.convert.to.traditional.syntax=Convert to traditional syntax


#intentions -> Flip Binary Expression
intention.flip.binary.expression.family.name=Flip binary expression
intention.flip.binary.expression.text1=Flip ''{0}''
intention.flip.binary.expression.text2=Flip ''{0}'' (may change semantics)
intention.flip.binary.expression.text3=Flip ''{0}'' (change semantics)

#intentions -> Namespace Bracing
intention.namespace.bracing=Convert namespace to braced

#intentions -> Smart Line Split
intention.line.split=Split string in two strings and concatenation

#intentions -> Swap Call Arguments
intention.swap.call.arguments.family.name=Swap call arguments
intention.swap.call.arguments.text1=Swap ''{0}'' and ''{1}''

#intention -> Add variable PHPDoc comment
intention.variable.add.phpdoc.comment.family.name=Add PHPDoc comment

#intention -> Import class
intention.import.class=Import class
intention.import.class.alias.name=Alias name:
intention.import.class.always.create.alias=&Always create alias while class import
intention.import.class.alias.already.exists=Class with the same alias name is already imported

#intention -> Simplify FQN
intention.simplify.fqn=Simplify FQN

#run and debug
url.must.not.be.empty={0} must not be empty
web.path=Web path
default.browser=Default
connection.failed=Connection failed: {0}
debug.connection.error=Connection error: {0}

#dbgp debugging protocol
dbgp.invalid.packet=Invalid packet

#annotator
annotator.method.to.string=Method __toString is not implemented for ''{0}''
annotator.duplicate.use.statement=Cannot use ''{0}'' because the name is already in use
annotator.reserved.class.name=Cannot use ''{0}'' as class name as it is reserved
annotator.cannot.break.continue=Cannot break/continue {0} level(s)
php.annotator.expecting.interface=Interface reference expected
php.annotator.expecting.class=Class reference expected
php.surround.with.if=if

#phpunit messages
php.unit.local.run.display.name=PHPUnit
php.unit.local.run.description=PHPUnit
php.file.name.empty=Test file is not specified
php.directory.name.empty=Test directory is not specified
php.file.not.found=File ''{0}'' not found
php.directory.not.found=Directory ''{0}'' not found
php.not.directory=''{0}'' is not a directory
php.class.not.found=Class ''{0}'' not found in test file
php.not.test.method=Method ''{0}'' in class ''{1}'' is not a test method
php.method.not.found=Method ''{0}'' is not found in class ''{1}''
php.method.name.empty=Test method is not specified
php.xml.file.path.empty=XML file is not specified
php.unit.include.group=Include
php.unit.exclude.group=Exclude
php.unit.group.name=Group Name

php.choose.dir=Choose Test Directory
phpunit.choose.test.file=Choose Test File

php.class.duplicate=Test file contains several classes named ''{0}''
file.not.in.project=File ''{0}'' is not under source root
directory.not.in.project=Directory ''{0}'' is not under content root
directory.contains.no.php.files=Directory ''{0}'' doesn't contain php files
test.class.is.empty=Test class is not specified
php.not.test.class.or.suite=Class ''{0}'' is not a test class or suite
php.not.test.class=Class ''{0}'' is not a test class
file.name.is.not.specified=File name is not specified
test.class.chooser.dialog=Choose Test Class
no.class.found=No php class in file ''{0}'' found
no.class.with.name.found=No ''{0}'' class in file ''{1}'' found

php.unit.run.configuration.page=PHPUnit run configuration page
configuration.file.is.not.specified=Configuration file is not specified
configuration.file.not.found=Configuration file {0} not found
php.unit.no.groups.chosen=No group is chosen

php.local.run.display.name=PHP Script
php.local.run.description=Execute PHP script in console
file.not.specified=File is not specified
file.invalid=File ''{0}'' not found
choose.file=Choose PHP File
wrong.file.type=File ''{0}'' is not a PHP file
failed.to.run=Failed to start PHP process: {0}
choose.php.home=Choose PHP home
php.unit.remote.run.display.name=PHPUnit on Server
php.unit.remote.run.description=Execute PHPUnit tests on server
php.unit.groups.tooltip=The test is run if none of his groups is excluded and at least one group is included. Group is defined via @group annotation in doc comments.
uploading.tests.to.server=Uploading test files to {0}...
no.valid.mapping.found.for=No valid mapping is found for ''{0}''
remote.path.for.0.is.excluded.from.mappings.1=Remote path for ''{0}'' is excluded from mappings: ''{1}''
phpunit.config.remote.tab.title=Remote
failed.to.retrieve.test.data=Failed to retrieve test results from the server at ''{0}''.
executing.tests=Executing tests
cleaning.up=Cleaning up...
phpunit.upload.test.files=&Upload test files before run
phpunit.upload.test.directory=&Upload test directory before run
phpunit.remove.uploaded.files=&Remove uploaded files after run
phpunit.groups.include.exclude=Include/exclude &groups
this.reassignment.is.not.allowed=Cannot reassign $this
parsing.error.statement.expected=Expecting statement
smarty.configurable.title=Smarty
analyzing.php.sdk=Checking PHP installation...
include.path.column.info=Path
failed.to.read.php.sdk.info.0=Failed to check PHP installation: {0}
php.sdk.version.local=PHP version: {0}
php.sdk.version.server=PHP version on server: {0}
overwrite.include.paths.dialog.text=PHP installation include paths are different from current.\nOverwrite current paths or merge them together?
overwrite.include.paths.dialog.title=Update Include Paths
overwrite.include.paths.dialog.overwrite=&Overwrite
overwrite.include.paths.dialog.merge=&Merge
review.php.sdk.settings=Review PHP settings
php.sdk.step.title=PHP settings
php.sdk.autodetect.failed=Failed to determine PHP installation on server ''{0}''.
include.paths.label.local=Include paths:
include.paths.label.server=Include paths on server:
local.path.empty=Local path is not specified
server.label.text=S&erver:
include.path.is.empty=Include path is not specified.
include.path.is.not.found=Local item ''{0}'' not found.
failed.to.parse.script.output=Error while executing diagnostic script
working.directory.invalid=Working folder ''{0}'' not found
custom.working.directory.label=Custom &working directory:

#control flow
control.flow.access.description=(ACCESS: ''{0}'' NAME: ''{1}'')
control.flow.access.variable.write=WRITE
control.flow.access.variable.readOrReadRef=READ_OR_READ_REF

#validation common
validation.file.already.exists.in.dir=File with name "{0}" already exists in "{1}"
validation.file.already.exists=File "{0}" already exists
validation.file.not.valid.name="{0}" is not valid file name
validation.class.not.valid.name="{0}" is not valid class name
validation.namespace.not.valid.name="{0}" is not valid namespace name
validation.invalid.identifier="{0}" is not a valid identifier
validation.invalid.alias="{0}" is not a valid alias name
validation.value.is.not.specified.or.invalid={0} is not specified or invalid
validation.value.is.not.specified.or.invalid.press.fix.project.configuration={0} is not specified or invalid.  Press ''Fix'' to edit your project configuration.
validation.value.is.invalid={0} is invalid
validation.0.not.found.at.1=''{0}'' not found at ''{1}''
validation.0.is.not.a.directory=''{0}'' is not a directory
validation.0.extension.is.not.installed=''{0}'' extension is not installed
validation.debug.extension.is.updated=Debug extension settings was updated. Please re-run current configuration to use new values.
validation.0.extension.is.installed.check.configuration.options=''{0}'' extension is installed. Check configuration options
validation.ssh.remote.debug.support=Remote debugging via ssh is not supported by ''{0}'' extension
validation.0.is.only.available.since.1={0} is only available since {1}
validation.cannot.parse.value.of.0=Cannot parse the value of ''{0}''
validation.connection.was.not.established=Connection was not established. <a href='#a'>Validate installation</a>.
validation.connection.was.not.established.0=Connection with ''{0}'' was not established. <a href='#a'>Validate installation</a>.
validation.function.already.exists = Function with the same name already defined in current namespace
validation.namespace.already.exists = Namespace with the name ''{0}'' already defined in {1}
validation.class.already.exists = Class with the same name already exists in {0}

#errors common
error.template.unable.parse.internal.template=Unable to parse internal template {0}
error.template.unable.create.from.internal.template=Unable to create file from internal template {0}
error.file.unable.create.selected.directory=Unable to create file {0} in selected directory
error.cannot.connect.to.0.1=Cannot connect to ''{0}'' : {1}

#messages common
0.completion.shortcut=Use {1} for {0} completion

#unwrap
unwrap.if=Unwrap if...
unwrap.while=Unwrap while...
unwrap.for=Unwrap for...
unwrap.with=Unwrap with...
unwrap.try=Unwrap try...
unwrap.else=Unwrap else...
unwrap.elseif=Unwrap elseif...
unwrap.dowhile=Unwrap do-while...
remove.else=Remove else...


#refactoring
refactoring.common.file.read.only=File is read only
refactoring.common.not.supported.expression.in.scope={0} for such expression is not supported in the current scope
refactoring.common.not.supported.context={0} is not supported in the current context

refactoring.common.ui.target.namespace.label=&Namespace:
refactoring.common.ui.target.directory.label=Target &destination directory:
refactoring.common.ui.target.directory.edit = Press F2 to edit target directory

refactoring.common.validation.namespace.name="{0}" is not valid namespace name
refactoring.common.validation.target.directory.is.not.valid=Path to the directory "{0}" is not valid
refactoring.common.validation.target.directory.not.inside.project=Directory "{0}" is not located inside the project

refactoring.parameter.reserved.name = Parameter name "{0}" is reserved
refactoring.parameter.validation = Parameter {0} is not valid
refactoring.parameter.validation.duplicate.parameter=Duplicate parameter name: {0}
refactoring.parameter.validation.initializer.last=Required parameters are not permitted after optional parameters
refactoring.parameter.validation.initializer.type=Default value for parameters with a class type hint can only be NULL
refactoring.parameter.validation.pass.by.reference=Only variable can be pass by reference
refactoring.parameter.validation.type=Parameter type ''{0}'' is invalid
refactoring.parameter.validation.default.value=Default value expression ''{0}'' is invalid
refactoring.parameter.validation.initializer=Initializer ''{0}'' is invalid
refactoring.parameter.validation.no.default.value=Initializer or default value should be provided for parameter ''{0}''

#refactoring - > introduce base
refactoring.introduce.base.validator.not.valid.identifier="{0}" is not valid PHP identifier.
refactoring.introduce.base.validator.reserved.keyword="{0}" is reserved PHP keyword.
refactoring.introduce.base.handler.no.expression.selected=Selection does not form a correct expression
refactoring.introduce.base.handler.not.supported.expression={0} is not supported for such expression
refactoring.introduce.base.handler.not.supported.scope={0} is not supported in the current scope
refactoring.introduce.base.dialog.replace.all.occurrences=Replace &all occurrences ({0} occurrences found)

#refactoring -> introduce variable
refactoring.introduce.variable.name=Introduce variable
refactoring.introduce.variable.help.id=refactoring.introduceVariable
refactoring.introduce.variable.conflict.already.exists=Variable with name \"{0}\" already exists in the scope.
refactoring.introduce.variable.conflict.superglobal.name=Variable with name \"{0}\" will conflict with superglobal variable ${1}.

#refactoring -> introduce constant
refactoring.introduce.constant.name=Introduce constant
refactoring.introduce.constant.help.id=refactoring.introduceConstant
refactoring.introduce.constant.conflict.already.exists=Constant with name "{0}" already exists in the scope.

#refactoring -> introduce field
refactoring.introduce.field.name=Introduce field
refactoring.introduce.field.help.id=refactoring.introduceField
refactoring.introduce.field.validator.reserved.field.name="{0}" is reserved field name
refactoring.introduce.field.conflict.already.exists=Field with name \"{0}\" already exists in the class.
refactoring.introduce.field.visibility=Visibility
refactoring.introduce.field.visibility.public=p&ublic
refactoring.introduce.field.visibility.protected=pr&otected
refactoring.introduce.field.visibility.private=pr&ivate

#refactoring -> rename - > element processor
conflict.method.with.same.name.already.exists=Method with same name already defined in this class
conflict.field.with.same.name.already.exists=Field with same name already defined in this class
conflict.constant.with.same.name.already.exists=Constant with same name already defined in this class
conflict.variable.with.same.name.already.exists=Variable with same name already defined
conflict.parameter.with.same.name.already.exists=Parameter with same name already defined

#refactoring -> rename - > automatic renamers
refactoring.rename.automatic.renamer.accessors.name=Rename a&ccessors
refactoring.rename.automatic.renamer.field.accessors.dialog.title=Rename Accessors
refactoring.rename.automatic.renamer.field.accessors.dialog.description=Rename field accessors with the following names to:
refactoring.rename.automatic.renamer.field.accessors.entity.name=Accessor

refactoring.rename.automatic.renamer.containing.file.name=Rename containing &file
refactoring.rename.automatic.renamer.containing.file.dialog.title=Rename containing file
refactoring.rename.automatic.renamer.containing.file.dialog.description=Rename containing file with the following name to:
refactoring.rename.automatic.renamer.containing.file.entity.name=Containing File

#refactoring->inline variable
refactoring.inline.variable.cannot.extract.value=Cannot extract value of variable ''${0}''
refactoring.inline.cannot.find.variable.to.inline=Cannot find variable to inline
refactoring.inline.variable.no.occurrences=No occurrences can be safely inlined

#refactoring -> extact method/function
refactoring.extract.method.name=Extract function/method
refactoring.extract.method.error.selected.block.should.represent.a.set.of.statement.or.an.expression=Selected block should represent a set of statements or an expression.
refactoring.extract.method.error.a.set.of.statements.should.be.from.the.same.code.block=A set of statements should be from the same code block.
refactoring.extract.method.error.there.are.break.continue.operators.which.can.interrupt.execution=There are break/continue operators which interrupts execution.
refactoring.extract.method.error.inconsistent.return.points.in.selected.code.fragment=Inconsistent return points in the selected code fragment.
refactoring.extract.method.help.id=refactoring.extractMethod
refactoring.extract.method.tooltip=Type $name = 'init'
PhpExtractMethodDialog.extract.method=Extract Method
PhpExtractMethodDialog.extract.function=Extract Function
PhpExtractMethodDialog.visibility=Visibility:
PhpExtractMethodDialog.public=Pu&blic
PhpExtractMethodDialog.protected=Pro&tected
PhpExtractMethodDialog.private=Pri&vate
PhpExtractMethodDialog.method=Method:
PhpExtractMethodDialog.function=Function:
PhpExtractMethodDialog.name=N&ame:
PhpExtractMethodDialog.declare.static=Declare &static
PhpExtractMethodDialog.parameters=Parameters
PhpExtractMethodDialog.signature.preview=Signature preview
PhpExtractMethodDialog.replace.tail.break.continue.with.return=Replace &tail "break/continue" statements with "return" statement
PhpExtractMethodDialog.return.output.through=Return output variable(s) through:
PhpExtractMethodDialog.return.output.through.return=&Return statement
PhpExtractMethodDialog.return.output.through.ref.parameters=&Parameter(s) passed by reference
PhpExtractMethodDialog.transformation.options=Transformation options
PhpExtractMethodDialog.output.variables=Output variable(s)

#refactoring -> change signature
change.signature.find.usages.of.base.interface=Method {0} of class {1}\nimplements method of interface {2}.\nDo you want {3} the base method?
change.signature.find.usages.of.base.class=Method {0} of class {1}\noverrides method of class {2}.\nDo you want {3} the base method?
change.signature.tooltip=Type $name = 'init' // Default value
change.signature.tooltip.parameter=Type $name = 'init'
change.signature.tooltip.default.value=Value to be used in all existing calls of this method
change.signature.error.wrong.caret.position=The caret should be positioned at the name of the function to be refactored.
change.signature.usage.view.declarations.header=Functions to be refactored
change.signature.column.name.parameter=Parameter:
change.signature.initialize.new.parameters=Create and &initialize class properties

#refactoring -> pull up/push down
refactoring.pull.up.implement.method = Create methods &stubs in classes that implement interface
refactoring.pull.up.validation.field.into.interface = Cannot pull up fields into interface
refactoring.pull.up.validation.static.method.into.interface = {0} is static and can not be abstract.
refactoring.pull.up.private.access = {0} access will be changed to {1}
refactoring.pull.up.abstract.method = Class {0} will be marked as abstract
refactoring.pull.up.conflict.duplicate.constant = {0} will conflict with constant from {1}.
refactoring.pull.up.will.not.be.accessible.in.the.target.class={0} will not be accessible in the target class.
refactoring.pull.up.may.not.be.accessible.in.the.target.class={0} may not be accessible in the target class.
refactoring.pull.up.is.1.and.will.not.be.accessible.in.the.target.class={0} is private and will not be accessible in the target class.
refactoring.push.down.method.implemented.in.interface={0} must be declared abstract or implement {1}
refactoring.push.down.validation.magic.method=Moving magic method can have side effect

#refactoring -> move class
refactoring.move.class.name = Move Class
refactoring.move.class.title = Move &Class {0} to namespace:
refactoring.move.class.new.file = Move class to a &new file
refactoring.move.class.in.non.code.message=Class references in comments and strings

#refactoring -> move namespace
refactoring.move.namespace.name=Move Namespace
refactoring.move.namespace.title=Move Namespace {0}
refactoring.move.namespace.new.namespace=New &Namespace name:
refactoring.move.related.namespace.description=Move files with related namespaces to new directories:
refactoring.move.related.namespace.title=Move Files With Related Namespaces
refactoring.move.related.namespace.name.column=New Namespace name
refactoring.move.related.namespace.directory.column=New Directory
refactoring.move.related.namespace.collect.title=Collecting child namespaces
refactoring.move.namespace.header.message=Move namespace
refactoring.move.namespace.message=Namespaces to be moved
refactoring.move.namespace.in.non.code.message=Namespace references in comments and strings

#refactoring -> move member
refactoring.move.method.label.text.field=Move Member To &Class
refactoring.move.member.method.is.overridden.in.a.sublclass={0} is overridden in a subclass {1}
refactoring.move.members.there.are.several.classes.with.specified.name=There are several classes with specified name {0}
refactoring.move.members.is.not.a.valid.class.name="{0}" is not a valid class name
refactoring.move.member.title=Move Static Member
refactoring.move.method.message=Move static member to another class
refactoring.move.members.to.be.moved=Mem&bers to be moved to another class
refactoring.move.members.unable.to.move.method=Unable To Move Member
refactoring.move.members.unable.to.resolve.usage.callback.found=Unable to resolve usage: callback found {0}
refactoring.move.members.unable.to.resolve.usage.late.static.binding.detected=Unable to resolve usage: late static binding detected {0}
refactoring.move.members.late.static.binding.detected=Late static binding detected: {0}
refactoring.move.members.late.static.binding.detected.in.doc=Late static binding detected in doc
refactoring.move.members.unable.to.resolve=Unable to resolve {0}
refactoring.move.members.is.not.accessible={0} is not accessible in {1}
refactoring.move.members.cannot.move.nonstatic.method=Move non-static method is not supported
refactoring.move.members.cannot.find.target.class=Cannot find class {0}
refactoring.move.members.member.will.change.visibility.to.public=Member {0} will change visibility to public
refactoring.move.members.method.implements.abstract.method=Method {0} implements abstract method in {1}
refactoring.move.members.method.implements.method.in=Method {0} implements method in {1}
refactoring.move.members.0.will.be.hidden.in.1=Member {0} will be hidden in {1}

#refactoring -> extract interface
refactoring.extract.interface.name=Extract Interface
refactoring.extract.interface.title=Extract Interface From Class ''{0}''
refactoring.extract.interface.invalid.caret.location=The caret should be positioned at the class name to be refactored.
refactoring.extract.interface.invalide.extract.from.trait=Can not extract interface from trait.
refactoring.extract.interface.no.methods=No methods to extract into interface.
refactoring.extract.interface.field=&Interface Name:
refactoring.extract.replace.class.reference=Replace class re&ferences with interface where possible
refactoring.extract.interface.members.title=Mem&bers to form interface
refactoring.extract.interface.phpdoc.title=PhpDoc
refactoring.extract.interface.phpdoc.do.nothing=&As Is
refactoring.extract.interface.phpdoc.copy=&Copy
refactoring.extract.interface.phpdoc.move=&Move
refactoring.extract.interface.validation.members.modifier=Modifier will be changed to public for each extracted method.
refactoring.extract.interface.fail.to.create.file=Fail to create file ''{0}''.

#actions
#action -> detect namespace roots
actions.detect.namespace.roots.notification.id=PHP PSR-0 Namespace Root Detection
actions.detect.namespace.roots.notification.title=Detect PSR-0 namespace roots
actions.detect.namespace.roots.notification.message=Do you want to configure namespace roots? It can be done <a href="detect">automatically</a> or manually at {0}.
actions.detect.namespace.roots.title=Detecting PSR-0 namespace roots...
actions.detect.namespace.roots.finished=Detection of PSR-0 namespace roots is completed. You can change it manually at {0}.
actions.detect.namespace.roots.no.new.roots.detected=No new PSR-0 namespace roots was detected. You can specify it manually at {0}.
actions.detect.namespace.roots.no.roots.detected=No PSR-0 namespace roots was detected.
actions.detect.namespace.roots.manually.edit=<a href="config">Settings | Directories</a>
actions.detect.namespace.roots.manually.edit.idea="Project Settings | Modules"

#action -> mark directory as namespace root
actions.mark.directory.as.psr.0.root=New PSR-0 namespace root was detected. Do you want to mark the following directory as <a href="mark">namespace root</a>?<br/><br/><i>"{0}"</i>
actions.mark.directory.as.psr.0.root.with.prefix=New PSR-0 namespace root was detected. Do you want to mark the following directory as <a href="mark">namespace root</a> with prefix "{1}"?<br/><br/><b><i>"{0}"</i></b>

#action - > new php base
actions.new.php.base.dialog.label.file.name=File name:
actions.new.php.base.dialog.label.extension=File extension:
actions.new.php.base.arrows.extension.tooltip=Pressing Up or Down arrows while in editor changes the file extension
actions.new.php.base.arrows.kind.tooltip=Pressing Up or Down arrows while in editor changes the kind

#action -> new php file
actions.new.php.file.action.name=PHP File
actions.new.php.file.action.description=Creates new PHP File
actions.new.php.file.dialog.title=Create New PHP File

#action -> new php class
actions.new.php.class.action.name=PHP Class
actions.new.php.class.action.description=Creates new PHP class
actions.new.php.class.dialog.title=Create New PHP class
actions.new.php.class.dialog.label.class.name=Name:
actions.new.php.class.dialog.label.namespace=Namespace:
actions.new.php.class.dialog.label.directory=Directory:
actions.new.php.class.dialog.label.kind=Kind:
actions.new.php.class.dialog.border.title.class=Class

#action -> new phpunit test
actions.new.phpunit.class.action.name=PHPUnit Test
actions.new.phpunit.class.action.description=Creates new PHPUnit Test
actions.new.phpunit.class.dialog.title=Create New PHPUnit Test
actions.new.phpunit.class.dialog.help.id=reference.php.reference.testing.create.new.phpunit.test
actions.new.phpunit.class.dialog.label.name=Name:
actions.new.phpunit.class.dialog.label.namespace=Namespace:
actions.new.phpunit.class.dialog.label.file.name=File name:
actions.new.phpunit.class.dialog.label.directory=Directory:
actions.new.phpunit.class.dialog.label.fqn=Fully qualified name:
actions.new.phpunit.class.dialog.border.title.class.to.test=Class To Test (optional)
actions.new.phpunit.class.dialog.border.title.test.class=Test Class

unnamed.variable=(unnamed)
create.web.project.php.sdk.step.summary=Review PHP configuration for a new project.
server=server
executing.script=Executing script on server...

#Connection -> Server Connection
connection.port.is.busy=Port {0} is busy

#Debug
debug.accept.connection=Accept
debug.ignore.connection=Ignore
debug.incoming.connection.title.0=Incoming Connection From {0}
debug.path.on.server=Absolute path on the server
debug.error.cannot.modify.value=Cannot modify value
debug.error.cannot.evaluate.variables=Cannot evaluate variables
debug.error.cannot.evaluate.expression0=Cannot evaluate expression ''{0}''
debug.error.cannot.evaluate.expression=Cannot evaluate expression
debug.process.cannot.find.file.in.project=Cannot find a file with path ''{0}'' in project
debug.process.cannot.find.server.name=Can''t find a source position. Server with name ''{0}'' doesn''t exist.
debug.process.status.disconnected=Disconnected
debug.process.status.wait=Waiting for incoming connection with {0} ''{1}''
debug.process.status.connected=Connected
debug.process.console.error.format={0}: {1} in {2} on line {3}\n
debug.mapping.resolve.dialog.stop.debugger=Stop debugger
debug.zend.error.title.cannot.accept.external.xdebug.connection=Cannot accept external Xdebug connection
debug.zend.required.protocol.version.0.or.higher=Required protocol version is ''{0}'' or higher
debug.error.title.cannot.accept.external.0.connection=Cannot accept external {0} connection
debug.zend.cannot.accept.incoming.connection=Cannot accept incoming connection from Zend Debugger
debug.zend.debugger.settings.broadcasting=Zend Debugger Settings Broadcasting
debug.zend.debugger=Zend Debugger
debug.xdebug=Xdebug
debug.process.cannot.find.local.file=Cannot find a local copy of the file on server {0}\nLocal path is {1}
debug.process.cannot.find.path.mapping=Remote file path ''{0}'' is not mapped to any file path in project
debug.process.script.outside.project=The script ''{0}'' is outside the project.\n
debug.process.cant.compute.source.position=Can''t compute source position. The script ''{0}'' isn''t associated with any text file type.
debug.edit.path.mappings=Click to set up path mappings
debug.configure.servers=Configure servers
debug.settings.broadcasting.port=Settings broadcasting port:
debug.debug.port=Debug port:
debug.error=error
debug.process.cannot.find.remote.copy.local.file=File path in project ''{0}'' is not mapped to any file path on server
debug.cannot.map.local.file=File path is not mapped to any file path on server. Edit path mappings to fix the problem.
debug.resolve.mapping.problem=Resolve Path Mapping Problem
debug.cannot.start.listening.for.connections.from.0=Can''t start listening for connections from ''{0}''
debug.cannot.start=Cannot start ''{0}''
debug.stop.listen.debug.connections=Stop Listen for PHP Debug Connections
debug.start.listen.debug.connections=Start Listen for PHP Debug Connections
debug.log.stop=Stop at (''{0}'':{1})
debug.log.path.mapping.remote.local=remote: ''{0}'' <-> local: ''{1}''
debug.log.path.mapping.remote.extracted=remote: ''{0}'' <-> extracted: ''{1}''
debug.log.connection.was.terminated=Debug connection was terminated unexpectedly on ''{0}'':''{1}''
debug.log.cant.register.breakpoint.no.remote=Can't register breakpoint. No path mapping for local path ''{0}''
debug.log.exception.break=Exception break: {0} ({1})
debug.validation.connection.was.not.established=Debug connection with {0} was not established
debug.file.is.ignored=File ''{0}'' is skipped.
debug.edit.ignored.paths.list=<a href="#a">Edit</a> skipped paths.
debug.composite.value.presentation=[{0}]
debug.error.unknown.debugger.id=Unknown debugger id
debug.type.array=array
debug.type.resource=resource
debug.xdebug.error.unsupported.protocol.version=Unsupported Xdebug protocol version
debug.php.line.breakpoint.title=PHP Line Breakpoints
debug.php.exception.breakpoint.title=PHP Exception Breakpoints
debug.php.exception.breakpoint.not.supported=Exception Breakpoints are not supported with loaded debug extension
debug.php.exception.breakpoint.zend.not.supported=Exception Breakpoints are not supported with Zend Debugger
debug.php.exception.breakpoint.dialog.title=Add Exception Breakpoint
debug.php.exception.breakpoint.exception.name=Exception name:

debug.process.smart.step.into.popup=Step Into Function
debug.process.smart.step.into.function.evaluation.error =Can't evaluate target function. Step Into will be performed.
debug.process.smart.step.into.function.was.not.executed=Selected function has not been called.

dbgp.proxy=Xdebug proxy
dbgp.proxy.port=proxy port
dbgp.proxy.host=proxy host
dbgp.proxy.ide.key=ide key
dbgp.proxy.ide.register.success=IDE successfully registered with ide key ''{0}''
dbgp.proxy.ide.unregister.success=IDE successfully unregistered
dbgp.proxy.ide.register.error=Cannot register IDE with ide key ''{0}''
dbgp.proxy.cannot.connect.to.host=Cannot connect to host ''{0}''
dbgp.proxy.cannot.connect.to.xdebug.proxy=Cannot connect to xdebug proxy on ''{0}:{1}''
dbgp.proxy.sending.request.to.xdebug.proxy=Sending request to Xdebug proxy...

XdebugAnalyzeProfilerSnapshotAction.title=Analyze Xdebug Profiler Snapshot...
profiler.xdebug.task.title=Analyze Xdebug profiler snapshot
profiler.xdebug.task.parsing=Parsing ''{0}''
profiler.xdebug.file.chooser.title=Select Xdebug profiler snapshot

profiler.view.execution.statistics.title=Execution Statistics
profiler.view.call.tree.title=Call Tree
profiler.view.callees.title=Callees
profiler.view.callers.title=Callers
profiler.column.time.title=Time
profiler.column.own.time.title=Own Time
profiler.column.invocation.count.title=Calls
profiler.column.invocation.callable=Callable
profiler.column.script=Script

profiler.measurement.unit.second=second
profiler.measurement.unit.second.short=s
profiler.measurement.unit.millisecond=millisecond
profiler.measurement.unit.millisecond.short=ms
profiler.measurement.unit.microsecond=microsecond
profiler.measurement.unit.microsecond.short=\u00B5s

#phpunit
php.uml.provider.presentable.name=PHP Class Diagrams

#UI

#run configurations -> components -> command line
PhpCommandLineConfigurationEditor.interpreter.options.editor.dialog.caption=Interpreter Options
PhpCommandLineConfigurationEditor.command.line=Command Line
PhpCommandLineConfigurationEditor.field.interpreter.options=Interpreter options:
PhpCommandLineConfigurationEditor.field.custom.working.directory=Custom working directory:
PhpCommandLineConfigurationEditor.field.environment.variables=Environment variables:

#run configurations -> components -> test runner
PhpUnitTestRunnerConfigurationEditor.test.runner=Test Runner
PhpUnitTestRunnerConfigurationEditor.scope=Test scope:
PhpUnitTestRunnerConfigurationEditor.scope.directory=Directory
PhpUnitTestRunnerConfigurationEditor.scope.class=Class
PhpUnitTestRunnerConfigurationEditor.scope.method=Method
PhpUnitTestRunnerConfigurationEditor.scope.xml=Defined in the configuration file
PhpUnitTestRunnerConfigurationEditor.field.directory=Directory:
PhpUnitTestRunnerConfigurationEditor.field.method=Method:
PhpUnitTestRunnerConfigurationEditor.field.class=Class:
PhpUnitTestRunnerConfigurationEditor.field.file=File:
PhpUnitTestRunnerConfigurationEditor.use.alt.configuration.file=&Use alternative configuration file:
PhpUnitTestRunnerConfigurationEditor.field.test.runner.options=Test Runner &options:
PhpUnitTestRunnerConfigurationEditor.dialog.caption.test.runner.options=Test Runner Options

#run configurations
PhpScriptRunConfiguration.error.interpreter.not.installed.fix=PHP interpreter is not installed. Press 'Fix' to edit your project configuration.
PhpScripRunConfigurationEditor.file=File:
PhpScripRunConfigurationEditor.arguments=Arguments:
PhpScripRunConfigurationEditor.arguments.caption=Arguments

PhpHttpRequestRunConfiguration.error.fetch.result=Response body is not available

RunConfigurationEditor.configuration=Configuration
RunConfigurationEditor.server=&Server:
RunConfigurationEditor.error.server.is.not.selected=Server is not selected
RunConfigurationEditor.error.server.is.not.exist=Server with name ''{0}'' doesn't exists

PhpWebAppRunConfigurationEditor.startUrl=Start &URL:
PhpWebAppRunConfigurationEditor.browser=&Browser:
PhpWebAppRunConfigurationEditor.malformed.start.url=Malformed start URL - {0}

PhpRemoteDebugRunConfigurationEditor.session.id.cannot.be.empty=Ide key(session id) cannot be empty

PhpBuiltInWebServerConfigurationType.display.name=PHP Built-in Web Server
PhpBuiltInWebServerConfigurationType.description=PHP Built-in Web Server

PhpBuiltInWebServerRunConfigurationEditor.title=Server Configuration
PhpBuiltInWebServerRunConfigurationEditor.host=Host:
PhpBuiltInWebServerRunConfigurationEditor.port=Port:
PhpBuiltInWebServerRunConfigurationEditor.document.root=Document root:
PhpBuiltInWebServerRunConfigurationEditor.use.router.script=Use router script:

PhpDebugConfigurable.ignore.external.connections.through.unregistered.server.configurations.label=Ignore external connections through unregistered server configurations
PhpDebugConfigurable.xdebug.force.break.no.path.mapping=Force break at the first line when no path mapping specified
PhpDebugConfigurable.xdebug.force.break.when.outside.project=Force break at the first line when a script is outside the project
PhpDebugConfigurable.values.tooltip.delay.label=Values tooltip delay (ms):
PhpDebugConfigurable.values.tooltip.delay=Values tooltip delay
PhpDebugConfigurable.xdebug.debug.port=Xdebug debug port
PhpDebugConfigurable.zend.debug.port=Zend Debugger debug port
PhpDebugConfigurable.zend.settings.broadcasting.port=Zend Debugger settings broadcasting port
PhpDebugConfigurable.xdebug=Xdebug
PhpDebugConfigurable.zend.debugger=Zend Debugger
PhpDebugConfigurable.safe.evaluation.mode=Safe evaluation mode
PhpDebugConfigurable.external.connections=External connections
PhpDebugConfigurable.local.debug=Local debug
PhpDebugConfigurable.pass.required.configuration.options=Pass required configuration options through command line (still need to enable debug extension manually)

PhpDebugSkippedPathsConfigurable.display.name=Skipped Paths
PhpDebugSkippedPathsConfigurable.notify.about.skipped.files=Notify about skipped files
PhpDebugSkippedPathsConfigurable.column.title=Skipped paths

PhpServerConfigurable.host=Host
PhpServerConfigurable.host.label=&Host
PhpServerConfigurable.port=Port
PhpServerConfigurable.port.label=&Port
PhpServerConfigurable.debugger.label=&Debugger

# remote environment validation
PhpServerConfigurable.remote.environment.validation.button=&Validate remote environment
PhpServerConfigurable.remote.environment.validation.title=Validate Remote Environment
PhpServerConfigurable.remote.environment.validation.choose.server=Please, choose deployment server to validate
PhpServerConfigurable.remote.environment.validation.dialog.button=&Validate
PhpServerConfigurable.remote.environment.validation.deployment.server=&Deployment server:
PhpServerConfigurable.remote.environment.validation.path.to.script=&Local path to create validation script:
PhpServerConfigurable.remote.environment.validation.chose.path.to.script=Select path to validation script
PhpServerConfigurable.remote.environment.validation.chose.path.to.script.description=Select local folder to create validation script
PhpServerConfigurable.remote.environment.validation.invalid.path.to.script=Path to the validation directory is invalid
remote.debug.validation.failed.to.find.deployment.settings=Failed to find deployment settings for the server
remote.debug.validation.failed.to.map.deployment.folder=Please, configure path mapping for the validation directory
remote.debug.validation.uploading.validation.script=Uploading validation script to {0}
remote.debug.validation.failed.to.deploy.validation.script=Failed to deploy validation script to the server
remote.debug.validation.failed.to.fetch.script.result=Failed to fetch validation script result
remote.debug.validation.script.result.is.empty=Fetched validation result is empty
remote.debug.validation.script.result.wrong.format=Fetched validation result has unexpected format
remote.debug.validation.script.result.check=Please, check that file is accessible via web path configured in deployment mappings
remote.debug.validation.failed.to.execute.script=Failed to execute validation script: ''{0}''
remote.debug.validation.configuration.files=Loaded php.ini: {0}
remote.debug.validation.no.configuration.files=No php.ini file was found
remote.debug.validation.no.debugger.extension=No debug extension is loaded
remote.debug.validation.multi.debugger.extension=Both Xdebug and Zend Debugger extensions are loaded
remote.debug.validation.loaded.debugger.extension=Loaded: {0}
remote.debug.validation.wrong.loaded.debugger.extension=Loaded: {0}, but {1} is selected
remote.debug.validation.xdebug.debugger.host=Remote host: {0}
remote.debug.validation.xdebug.zend.extension.load=Xdebug must be loaded by 'zend_extension' instead of 'extension'
remote.debug.validation.xdebug.wrong.port.format=Xdebug port is invalid: ''{0}''
remote.debug.validation.xdebug.wrong.port=Xdebug port (''{0}'') differ from PHP->Debug IDE settings (''{1}'')
remote.debug.validation.xdebug.remote.is.not.enable=Remote debug is not enabled, set 'xdebug.remote_enable=1' to fix it
remote.debug.validation.xdebug.remote.mode.jit=Remote mode 'jit' is enabled (the debug session will be initiated only after an error)
remote.debug.validation.xdebug.remote.mode.req=Remote mode 'req' is enabled (the debug session will be initiated on script start)
remote.debug.validation.xdebug.mode.is.not.supported=Remote mode ''{0}'' is not supported
remote.debug.validation.zend.debugger.host=Remote hosts: {0}
remote.debug.validation.zend.expose.remotely=Property ''expose_remotely'' is set to ''{0}''

PhpPathMappingsConfigurable.use.path.mappings.label=Use path mappings (select if the server is remote or symlinks are used)

PhpMappingSimpleResolveDialog.title=Select local file for the file path on the server

PhpSdkForm.debugger.label=&Debugger
PhpSdkForm.include.paths.label=&Include paths

DBGPProxyConfigurable.display.name=DBGp Proxy
DBGPProxyConfigurable.ide.key=IDE key:
DBGPProxyConfigurable.host=Host:
DBGPProxyConfigurable.port=Port:

PhpIncomingLocalConnectionDialog.file.path=File path:

PhpIncomingConnectionDialog.server.name=Server name:
PhpIncomingConnectionDialog.server.port=Server port:
PhpIncomingConnectionDialog.request.uri=Request uri:
PhpIncomingConnectionDialog.file.path.on.server=File path on server:

PhpInterpreter.php.sdk.type=PHP Interpreter
PhpInterpreter.php.home.path.label=PHP home:
PhpInterpreter.php.debugger.label=Debugger:
PhpInterpreter.php.general.title=General
PhpInterpreterConfigurable.php.version=PHP version: {0}
PhpInterpreterConfigurable.not.installed=Not installed
PhpInterpreterConfigurable.configuration.options.table.empty.text=Set a custom value for any of the configuration directives allowed in php.ini
PhpInterpreterConfigurable.configuration.options.with.empty.name.are.not.allowed=Configuration options with empty name are not allowed
PhpInterpreterConfigurable.configuration.options.dialog.caption=Configuration Options
PhpInterpreterConfigurable.configuration.options.label=Configuration options:
PhpInterpreterConfigurable.configuration.options.table.name=Configuration directive
PhpInterpreterConfigurable.configuration.options.table.value=Value
PhpInterpreterConfigurable.configuration.options.description=These options will be passed using the ''-d'' command line option

# remote sdk
remote.interpreter.configure.title=Configure Remote PHP Interpreter
remote.interpreter.configure.selection.list.title=Select Interpreter Path
remote.interpreter.configure.path.title=Select PHP Interpreter
remote.interpreter.configure.temp.files.path.title=Select Folder for PhpStorm Helpers
remote.interpreter.default.interpreter.path=/usr/bin/php
remote.interpreter.unspecified.interpreter.path=Specify PHP interpreter path
remote.interpreter.unspecified.temp.files.path=Specify path for PhpStorm helpers
remote.interpreter.configure.path.label=PHP interpreter path:
remote.interpreter.configure.temp.files.path.label=PhpStorm helpers path:
remote.interpreter.configure.test.connection=&Test connection...
remote.interpreter.configure.remote.title=Remote

PhpProjectConfigurable.language.level=PHP language level:
PhpProjectConfigurable.interpreter=Interpreter:
PhpProjectConfigurable.0.interpreter.include.path=''{0}'' interpreter include path
PhpProjectConfigurable.specify.other=Specify Other...
PhpProjectConfigurable.all=All
PhpProjectConfigurable.provide.include.path=Provide include path

PhpUnitConfigurable.display.name=PHPUnit
PhpUnitConfigurableForm.phpunit.library=PHPUnit library
PhpUnitConfigurableForm.use.custom.loader=Use custom loader
PhpUnitConfigurableForm.load.from.include.path=Load from include path
PhpUnitConfigurableForm.use.phpunit.phar=Use phpunit.phar
PhpUnitConfigurableForm.download.phpunit.phar.link.text=Download phpunit.phar from http://phar.phpunit.de/phpunit.phar
PhpUnitConfigurableForm.path.to.script=Path to script:
PhpUnitConfigurableForm.path.to.phpunit.phar=Path to phpunit.phar:
PhpUnitConfigurableForm.test.runner=Test Runner
PhpUnitConfigurableForm.use.configuration.file=Default configuration file:
PhpUnitConfigurableForm.use.bootstrap.file=Default bootstrap file:

php.executable.macro.description=Php executable file configured in project settings
inspection.undefined.class.dont.report.multiresolve=Don't report multiple class declaration potential problems

configure.php.include.paths=C&onfigure PHP Include Paths...

interpreter=Interpreter

XdebugShowValuesAddressesToggleAction.text=Show values addresses
PhpDebugHideEmptySuperGlobalsToggleAction.text=Hide empty superglobals variables
PhpDebugBreakAtFirstLineToggleAction.text=Break at first line in PHP scripts

PhpLanguageLevel.5.3.0.presentable.name=5.3
PhpLanguageLevel.5.3.0.short.description=namespaces, closures, etc.
PhpLanguageLevel.5.4.0.presentable.name=5.4
PhpLanguageLevel.5.4.0.short.description=traits, short array syntax, etc.
PhpLanguageLevel.5.5.0.presentable.name=5.5
PhpLanguageLevel.5.5.0.short.description=finally, generators, etc.

PhpLanguageFeature.traits.not.supported=Trait uses are allowed in PHP 5.4 only
PhpLanguageFeature.short.array.syntax.not.supported=Short array syntax is allowed in PHP 5.4 only
PhpLanguageFeature.array.dereferencing.not.supported=Array dereference on call is allowed in PHP 5.4 only
PhpLanguageFeature.class.member.access.on.instantiation.not.supported=Class member access on instantiation is allowed in PHP 5.4 only
PhpLanguageFeature.this.in.closure.not.supported=$this in Closure is allowed in PHP 5.4 only
PhpLanguageFeature.self.in.closure.not.supported=self in Closure is allowed in PHP 5.4 only
PhpLanguageFeature.parent.in.closure.not.supported=parent in Closure is allowed in PHP 5.4 only
PhpLanguageFeature.static.in.closure.not.supported=static in Closure is allowed in PHP 5.4 only
PhpLanguageFeature.binary.literal.not.supported=Binary literals are allowed in PHP 5.4 only
PhpLanguageFeature.literal.in.static.call.not.supported=Literals in static calls are allowed in PHP 5.4 only
PhpLanguageFeature.built.in.web.server=Built-in web server is only available since PHP 5.4
PhpLanguageFeature.var.break.argument.not.supported='break' operator with non-constant operand is no longer supported in PHP 5.4
PhpLanguageFeature.var.break.zero.argument.not.supported='break' operator accepts only positive numbers since PHP 5.4
PhpLanguageFeature.var.continue.not.supported='continue' operator with non-constant operand is no longer supported in PHP 5.4
PhpLanguageFeature.var.continue.zero.not.supported='continue' operator accepts only positive numbers since PHP 5.4
PhpLanguageFeature.call.time.pass.by.reference.not.supported=Call-time pass-by-reference has been removed in PHP 5.4

PhpLanguageFeature.finally.not.supported=Finally clause is allowed in PHP 5.5 only
PhpLanguageFeature.generators.not.supported=Generators are allowed in PHP 5.5 only
PhpLanguageFeature.foreach.list.not.supported=List in foreach is allowed in PHP 5.5 only
PhpLanguageFeature.empty.any.expression.not.supported=Arbitrary expressions in empty are allowed in PHP 5.5 only
PhpLanguageFeature.immediate.dereferencing.not.supported=Immediate dereferencing is allowed in PHP 5.5 only
PhpLanguageFeature.class.name.const.not.supported=Class name constant is available in PHP 5.5 only


#UML
error.cant.create.edge=Cannot Create Relationship Link
relationship.already.exists=Realtionship between {0} and {1} already exists
final.class.cant.be.inherited=Class {0} is final
node.is.interface=Interface can only extend an interface
inspection.undefined.member.downgrade=&Downgrade severity if __magic methods are present in class

#Phar
phar.include.into.project.action.title=Include phar into project
phar.exclude.from.project.action.title=Exclude phar from project
phar.exclude.or.include.into.project.action.title=Include or exclude phar from project
phar.failed.to.parse=Failed to parse

#Composer

framework.composer.name.composer=Composer
framework.composer.path.dialog.path.to.composer=Path to Composer
framework.composer.path.dialog.path.to.composer.json=Path to composer.json
framework.composer.path.dialog.specify.composer.phar=Specify Composer phar:
framework.composer.path.dialog.specify.composer.json=Specify composer.json:
framework.composer.configurable.title=Composer
framework.composer.init.dialog.title.composer.settings=Composer Settings
framework.composer.path.form.path.label=&Path to composer.phar:
framework.composer.path.form.download.label=Click here to download from getcomposer.org
framework.composer.comment.old.config.command.title=Initialize composer.json
framework.composer.file.0.is.not.found=File ''{0}'' is not found.

framework.composer.add.dependency.task.title=Adding dependency
framework.composer.add.dependency.install.button=Install
framework.composer.add.dependency.update.button=Update
framework.composer.add.dependency.close.button=&Close
framework.composer.failed.to.0.1.version.2=Failed to {0} {1}, version {2}.
framework.composer.failed.to.0.1.version.2.script.was.cancelled=Failed to {0} {1}, version {2}. Script was cancelled.
framework.composer.add.dependency.show.output=Show output
framework.composer.add.dependency.hide.tooltip=Hide
framework.composer.add.dependency.successfully.installed.0.version.1=Successfully installed {0}, version {1}.
framework.composer.add.dependency.running=Running
framework.composer.add.composer.dependency.title=Add Composer Dependency
framework.composer.failed.to.connect.to.0.1.please.check.your.internet.connection=Failed to connect to {0}: {1} Please check your internet connection.
framework.composer.failed.to.download.from.0=Failed to download from {0}
frameworks.composer.could.not.get.packages.info.0=Could not get packages info. {0}
framework.composer.package.description.title=Description
framework.composer.label.version.to.install=&Version to install\:
framework.composer.empty.package.name.in.0=Empty package name in {0}
framework.composer.no.package.versions.in.0=No package versions in {0}
framework.composer.expected.name.0.versions.0.description.got.1=Expected <name> {0} <versions> {0} <description>, got {1}
framework.composer.add.dependency.available.packages.label=Available packages
framework.composer.package.default.version=<default>
framework.composer.add.dependency.no.package.selected=No package selected
framework.composer.path.form.empty.path.to.composer.phar=Empty path to composer.phar
framework.composer.project.generator.name=Composer Project
framework.composer.project.generator.description=Create project by Composer command.
framework.composer.failed.to.download.composer.phar=Failed to download composer.phar
framework.composer.project.generator.failed.to.copy.temp.directory.0.content.to.project.root=Failed to copy temp directory ''{0}'' content to project root
framework.composer.project.generation.error.title=Failed to create Composer project
framework.composer=Composer
framework.composer.failed.to.run.create.project.command.more=Failed to run 'create-project' command. <a href=\\"\\">More...</a>
framework.composer.create.project.progress.title=Creating project
framework.composer.create.project.from=create project from
framework.composer.install.action.name=install
framework.composer.path.validation.0.is.a.directory={0} is a directory
framework.composer.command.create.project.was.cancelled.check.its.output=Command 'create-project' was cancelled. <a href\=\\"\\">Check</a> its output.
framework.composer.path.form.empty.path.to.composer.json=Empty path to composer.json
framework.composer.vendors.library.name=Composer Vendors
framework.composer.selected.file.is.not.composer.json=Selected file is not composer.json
framework.composer.notification.title.init.composer=Init Composer
framework.composer.file.0.set.as.composer.config.change.setting.a.href.here.a=File ''{0}'' set as Composer config. Change setting <a href\=\\"\\">here</a>.
framework.composer.failed.to.parse.package.names=Failed to parse package names.
framework.composer.failed.to.parse.package.description=Failed to parse package description.
framework.composer.add.dependency.no.version.selected=No version selected
framework.composer.no.description.available=No description available.
framework.composer.packages.were.moved.to.0.php.include.paths.popup=Composer packages were moved from Composer External Libraries to <a href\=\\"{0}\\">PHP include paths</a>.
framework.composer.packages.were.changed.0.excluded.folders.popup=Composer packages were changed, so <a href\={0}>excluded folders</a> were updated.
framework.composer.packages.were.changed.0.php.include.paths.popup=Composer packages were changed, so <a href\={0}>PHP include paths</a> were updated.
framework.composer.packages.were.removed.0.excluded.folders.popup=Composer packages were removed from <a href\={0}>excluded folders</a>.
framework.composer.packages.were.removed.0.php.include.paths.popup=Composer packages were removed from <a href\={0}>PHP include paths</a>.
framework.composer.packages.were.added.0.excluded.folders.popup=Composer packages were added to <a href\={0}>excluded folders</a>.
framework.composer.packages.were.added.0.php.include.paths.popup=Composer packages were added to <a href\={0}>PHP include paths</a>.
framework.composer.failed.to.0.1.script.was.cancelled=Failed to {0} {1}. Script was cancelled.
framework.composer.add.dependency.successfully.updated.0=Successfully updated {0}.
framework.composer.updating.package.task.title=Updating package
framework.composer.update.action.name=update
framework.composer.label.installed.version=Installed version\:

php.interpreter.not.configured.title=PHP Interpreter is not configured
php.interpreter.not.configured=Please <a href="">configure PHP Interpreter</a> to use built-in web server

php.cgi.not.found.title={0} not found
php.cgi.not.found=Please ensure that <a href="">configured PHP Interpreter</a> built as CGI program (--enable-fastcgi was specified)
inspection.missing.doc.comment.check.functions.without.params.and.return=Skip if empty
inspection.missing.doc.comment.options.panel.skip.empty.function.tooltip=Skip if does not contain parameters and/or return values
error.malformed.url=Malformed url: {0}
error.please.specify.path.to.web.browser=Please specify a path to web browser in {0} | Web Browsers
title.browser.not.found=Browser Not Found
browser.error=Browser Error
error.0.browser.path.not.specified={0} browser path is not specified.

chooser.title.select.profiles.ini.file=Select \"profiles.ini\" File
label.text.path.to.profiles.ini=Path to \"profiles.ini\":
label.text.profile=&Profile:
button.text.settings=Settings...
display.name.firefox.settings=Firefox Settings

browsers.explorer=Internet Explorer
browsers.safari=Safari
browsers.opera=Opera
browsers.firefox=Firefox
browsers.chrome=Chrome

action.sort.alphabetically=Sort Alphabetically
button.finish=&Finish
button.ok=&OK
button.wizard.previous=&Previous
button.wizard.next=&Next
title.system.error=System Error
title.select.path.to.browser=Select Path to Browser
title.general=General
editbox.default.encoding.for.properties.files=Default encoding for properties files:
checkbox.transparent.native.to.ascii.conversion=Transparent native-to-ascii conversion
checkbox.autodetect.utf=Autodetect UTF-encoded files
group.http.proxy=HTTP Proxy
group.web.browser=Web Browser
group.general.options=General Options
editbox.ignore.files.and.folders=Ignore files and folders
checkbox.confirm.application.exit=Confirm application exit
label.inactive.timeout.sec= sec.
search.in.the.background=Search in the background
checkbox.save.files.automatically=Save files automatically if application is idle for
checkbox.save.files.on.frame.deactivation=Save files on frame deactivation
checkbox.synchronize.files.on.frame.activation=Synchronize files on frame activation
checkbox.reopen.last.project.on.startup=Reopen last project on startup
treenode.loading= loading...
action.clear.list=_Clear List
action.descriptor.action=Action: {0}
action.descriptor.typing=Typing: "{0}"
action.descriptor.keystroke=Keystroke: "{0}"
title.edit.macros=Edit Macros
macro.noname=<noname>
message.macro.exists=There is already a macro called ''{0}''. Overwrite it?
title.macro.name.already.used=Macro Name Already Used
title.macros=Macros
prompt.enter.new.name=Enter New Name
title.rename.macro=Rename Macro
button.delete=Delete
button.rename=Rename
button.remove.action=Remove Action
action.stop.macro.recording=Stop _Macro Recording
action.start.macro.recording=Start _Macro Recording
prompt.enter.macro.name=Enter macro name. Leave blank if macro is temporary.
title.enter.macro.name=Enter Macro Name
select.in.aspects=Aspects
action.flatten.packages=Flatten Packages
button.go.to=&Go to
button.remove=&Remove
button.remove.all=Remove &All
button.move.up=Move &Up
button.move.down=Move &Down
column.description=Description
bookmark.file.X.line.Y={0}, line {1}
button.view.source=&View Source
action.bookmark.toggle=Toggle _Bookmark
action.bookmark.toggle.mnemonic=Toggle Bookmark with Mnemonic
action.bookmark.delete=Delete Bookmark
action.bookmark.edit.description=Edit Description
action.bookmark.edit.description.description=Assign short description for the bookmark to be shown along the file name
action.bookmark.edit.description.dialog.message=Enter short bookmark description
action.bookmark.edit.description.dialog.title=Bookmark Description
progress.deleting=Deleting
select.in.commander=Commander
errortree.information=Information:
errortree.error=Error:
errortree.warning=Warning:
errortree.note=Note:
action.hide.warnings=Hide warnings
action.next.message=Next Message
action.previous.message=Previous Message
action.stop=Stop
errortree.prefix.line=line ({0})
checkbox.errortree.export.details=Details

# Favorites
action.add.all.open.tabs.to.new.favorites.list=Add All Open Tabs To New Favorites List
action.add.to.new.favorites.list=Add To _New Favorites List
prompt.input.new.favorites.list.name=Input new favorites list name
title.add.new.favorites.list=Add New Favorites List
error.favorites.list.already.exists=Favorites list with name ''{0}'' already exists
title.unable.to.add.favorites.list=Unable To Add Favorites List
favorites.list.unnamed=Unnamed{0}
action.remove.from.current.favorites=Remove From Current Favorites
favorites.empty.screen=There is nothing to display. To add item to favorites list use: Main Menu -> View -> Add To Favorites
action.abbreviate.qualified.package.names=Abbreviate Qualified Package Names
action.hide.empty.middle.packages=Hide Empty Middle Packages
action.show.hide.empty.middle.packages=Show/Hide Empty Middle Packages
action.compact.empty.middle.packages=Compact Empty Middle Packages
action.show.compact.empty.middle.packages=Show/Compact Empty Middle Packages
action.show.members=Show Members
action.show.hide.members=Show/Hide Members
action.delete.favorites.list=Delete Favorites List ''{0}''
action.delete.all.favorites.lists.but.this=Delete All User-Defined Lists Except ''{0}''
select.in.favorites=Favorites
action.send.to.new.favorites.list=Send To New Favorites List
action.rename.favorites.list=Rename favorites list
title.rename.favorites.list=Rename
prompt.input.favorites.list.new.name=Rename favorite list ''{0}'' to:

# File Templates
command.create.class.from.template=Create Class From Template
command.create.file.from.template=Create File From Template
error.parsing.file.template=Error parsing file template: {0}
title.velocity.error=Velocity Error
action.from.file.template=From File Template ...
action.edit.file.templates=Edit File Templates...
error.unable.to.parse.template.message=Unable to parse template "{0}"\nError message: {1}
error.invalid.template.file.name.or.extension=Invalid template file name or extension
title.cannot.create.class=Cannot Create Class
title.cannot.create.file=Cannot Create File
title.new.from.template=New {0}
error.please.enter.a.file.name=Please enter a file name
label.file.name=File name:
title.select.template=Select Template
label.name=Name:
label.extension=Extension:
title.file.templates=File and Code Templates
checkbox.reformat.according.to.style=Reformat according to style
label.description=Description
item.file.templates=File templates
tab.filetemplates.templates=Templates
tab.filetemplates.includes=Includes
tab.filetemplates.code=Code
tab.filetemplates.j2ee=Java EE
error.please.specify.template.name=Please specify template name
title.cannot.save.current.template=Cannot save current template
error.please.specify.template.extension=Please specify template extension
action.create.template=Create Template
action.copy.template=Copy Template
action.reset.to.default=Reset To Default
action.remove.template=Remove Template
template.unnamed=Unnamed
template.copy.N.of.T=Copy{0} of {1}
prompt.reset.to.original.template=Reset to original template?
title.reset.template=Reset Template
error.unable.to.save.file.template.using.encoding=Unable to save File Template \"{0}\" using {1}
template.default.class.comment=/*\n * Created by {0}.\n * User: $USER$\n * Date: $DATE$\n * Time: $TIME$\n */\n

# Hierarchy View
action.browse.call.hierarchy=Browse Call Hierarchy
action.browse.method.hierarchy=Browse Method Hierarchy
action.browse.type.hierarchy=Browse Type Hierarchy
action.base.on.this.method=Base on This Method
label.scope=Scope:
hierarchy.scope.project=Production
hierarchy.scope.all=All
hierarchy.scope.this.class=This Class
action.refresh=Refresh
action.callee.methods.hierarchy=Callee Methods Hierarchy
action.caller.methods.hierarchy=Caller Methods Hierarchy
node.hierarchy.invalid=[Invalid]
node.call.hierarchy.N.usages=  ({0} usages)
node.call.hierarchy.unknown.jsp=unknown jsp
title.hierarchy.callees.of=Callees Of {0}
title.hierarchy.callers.of=Callers Of {0}
action.implement.method=Implement Method
action.implement.methods=Implement Methods
action.hide.non.implementations=Hide classes where the method is legally not implemented
hierarchy.legend.method.is.defined.in.class=method is defined in the class
hierarchy.legend.method.defined.in.superclass=method is not defined in the class but defined in superclass
hierarchy.legend.method.should.be.defined=method should be defined since the class is not abstract
action.override.method=Override Method
action.override.methods=Override Methods
title.hierarchy.method=Method {0}
title.hierarchy.subtypes=Subtypes of {0}
node.hierarchy.java.lang.object=All classes are derived from java.lang.Object
title.hierarchy.supertypes=Supertypes of {0}
action.base.on.this.interface=Base on This Interface
action.base.on.this.class=Base on This Class
progress.deleting.class=Deleting class {0}
title.hierarchy.class=Class {0}
action.view.class.hierarchy=Class Hierarchy
action.description.view.class.hierarchy=Switch to Class Hierarchy
action.view.subtypes.hierarchy=Subtypes Hierarchy
action.description.view.subtypes.hierarchy=Switch to Subtypes Hierarchy
action.view.supertypes.hierarchy=Supertypes Hierarchy
action.description.view.supertypes.hierarchy=Switch to Supertypes Hierarchy
filetype.description.archive.files=Archive files
filetype.description.dtd=XML Document Type Definition
filetype.description.gui.designer.form=GUI Designer forms
filetype.description.html=HTML files
filetype.description.class=Java class files
filetype.description.java=Java source files
filetype.description.jspx=JSPx files
filetype.description.idea.module=Idea Module
filetype.description.jsp=Java Server Page files
filetype.description.idea.project=Idea Project
filetype.description.unknown=UNKNOWN
filetype.description.idea.workspace=Idea Workspace
filetype.description.xhtml=XHTML files
filetype.description.xml=XML files
filetype.description.ant=ANT buildfiles
error.name.cannot.be.empty=Name cannot be empty
editbox.customfiletype.line.comment=Line comment:
editbox.customfiletype.block.comment.start=Block comment start:
editbox.customfiletype.block.comment.end=Block comment end:
editbox.customfiletype.hex.prefix=Hex prefix:
editbox.customfiletype.number.postfixes=Number postfixes:
listbox.customfiletype.keywords=Keywords
button.add=&Add...
editbox.customfiletype.name=Name:
editbox.customfiletype.description=Description:
group.customfiletype.syntax.highlighting=Syntax Highlighting
checkbox.customfiletype.ignore.case=&Ignore case
checkbox.customfiletype.support.paired.braces=Support paired b&races
checkbox.customfiletype.support.paired.brackets=Support paired bra&ckets
checkbox.customfiletype.support.paired.parens=Support paired &parens
checkbox.customfiletype.support.string.escapes=Support string &escapes
title.add.new.keyword=Add New Keyword
title.edit.keyword=Edit Keyword
editbox.keyword=Keyword:
error.keyword.cannot.be.empty=Keyword cannot be empty
error.keyword.may.not.contain.spaces=Keyword may not contain spaces
action.help=Help
select.in.packages=Packages
select.in.project=Project
select.in.nav.bar = Navigation Bar
error.adding.module.to.project=Error adding module to project: {0}
title.add.module=New Module
prompt.open.project.in.new.frame=<html><body>New projects can either be opened in a new window or replace the project in the existing window.<br>How would you like to open the project?</body></html>
title.new.project=New Project
button.newframe=New &Window
button.existingframe=&This Window
button.yes=_Yes
button.no=_No
error.project.file.does.not.exist=Cannot load {0}. The file does not exist.
error.file.does.not.exist=File {0} does not exist.
title.open.project=Open Project
button.cancel=&Cancel
error.cannot.load.project=Cannot load project: {0}
title.cannot.load.project=Cannot Load Project
error.project.file.is.corrupted=Project file is corrupted

title.cannot.convert.project=Cannot Convert Project
dialog.title.convert.project=Convert Project
conversion.dialog.text.1=The project ''{0}'' has an older format and will be converted. You may not be able to open the project with earlier versions of {1}.
conversion.dialog.text.2=<b> </b><a href=\"details\">Details...</a><br/><br/>Old versions of project files will be saved to: ''{0}''
message.text.unlock.read.only.files=<html><body>The following files are read only. {0} will unlock them.<br>{1}</body></html>
error.message.cannot.make.files.writable=Cannot make the following files writable:\n{0}
error.cannot.convert.project=Cannot convert project: {0}
message.files.doesn.t.exists.0.so.the.corresponding.modules.won.t.be.converted.do.you.want.to.continue=<html><body>The following files don''t exists: <br>\
  {0}The corresponding modules won''t be converted. Do you want to continue?</body></html>

select.in.project.settings=Project Structure
select.in.file.structure=File Structure
message.nothing.to.show.in.structure.view=Nothing to show in the Structure View
error.license.collision=This license is being used elsewhere on the network by {0}.\nOnly one active computer at a time can use the license.\nWould you like to re-activate this computer?\nClick Yes to re-activate, or No to shutdown {1}.
title.license.collision.detected=License Collision Detected
message.licensed.to=Licensed to {0}
title.enter.license.data=Enter {0} License
message.purchase.or.upgrade=For information on how to upgrade your evaluation software please go to {0}
message.expiration.date=Expiration date: {0}
message.educational.license=1-Year Educational License. {0}
message.open.source.project.license=Open Source Project License. {0}
message.non.commercial.use.only=Non-commercial use only
message.personal.license=Personal License

about.box.build.number=Build #{0}
about.box.build.date=, built on {0}
about.box.jre=JRE: {0} {1}
about.box.vm=JVM: {0} by {1}
about.box.maintenance.due=Entitled for free updates and upgrades until {0,date,MMMM dd, yyyy}

title.warning=Warning
message.upgrade.from.previous.required=Your license is not valid for use with this version of {0}. <br/> For information on how to upgrade your license please go to {1} <br/> You can also opt for a free time-limited evaluation.
title.upgrade.needed=License Upgrade Needed
message.evaluation.has.expired=Your {0} evaluation has expired. Your session will be limited to 30 minutes.<br>{1}
title.evaluation.license.expired=Evaluation License Expired
message.evaluation.license.expired=Your evaluation license has expired. {0} will now exit.
message.license.expired=Your license has expired
title.license.expired=License Expired
message.license.is.corrupt=License is corrupt
title.license.corrupt=License Corrupt
message.invalid.license.data=Invalid license data. Please, try again.
title.invalid.license.data=Invalid License Data
title.product.evaluation={0} Evaluation
message.evaluation.N.days={0} days
message.evaluation.one.day=1 day
message.evaluation.less.than.one.day=less than 1 day
message.evaluation.will.expire=Thank you for evaluating {0}.<br>Your evaluation license expires in {1}<br><br>{2}
title.license.will.expire={0} License Expires Soon
message.license.will.expire=Your {0} license expires in {1}.
error.saving.license.data=Error saving license data.\n{0}
title.unable.to.save.data=Unable to Save Data
link.click.here.to.license.server.info=More info
link.purchase.commercial.license=To purchase a commercial license, please visit
license.panel.expirable.license.description=The license will expire on {0,date,MMMM dd, yyyy}
license.panel.maintenance.aware.license.description=Entitled for free updates and upgrades until {0,date,MMMM dd, yyyy}
license.panel.perpetual.license.description=Valid for {0} version {1}
license.panel.current.permanent.ticket.description=Permanent ticket obtained
license.panel.current.floating.ticket.description=Floating ticket obtained
license.panel.buildit.evaluation.expires.in.one=1 day left
license.panel.buildit.evaluation.expires.in.many={0} days left
license.panel.discover.license.server.error.message=Unable to discover license server url
license.panel.ping.license.server.error.message=No response from autodetected license server {0}
license.panel.ping.license.server.error.title=No response from server
license.panel.default.server.discover=Discover
editbox.license.user.name=User name:
editbox.license.license.key=License key:
radio.license.server.address=Enter license &server address
radio.license.data=Enter license &data
radio.evaluate=&Evaluate for free for {0} days
radio.default.license.server=&Default License Server
action.activate.tool.window=Activate {0} window
editbox.export.settings.to=Export settings to:
title.export.file.location=Export File Location
prompt.choose.export.settings.file.path=Choose export file path or directory where to create new file
command.close.all.editors=Close All Editors
action.close.all.editors.in.tab.group=Close _All In Group
action.close.all.editors=Close _All
command.close.all.unmodified.editors=Close All Unmodified Editors
action.close.all.unmodified.editors.in.tab.group=Close _Unmodified In Group
action.close.all.unmodified.editors=Close _Unmodified
action.close.all.unpinned.editors.in.tab.group=Close All but Pinned In Group
action.close.all.unpinned.editors=Close All but Pinned
action.copy.path=C_opy Path
action.copy.paths=C_opy Paths
message.reference.to.fqn.has.been.copied=Reference to ''{0}'' has been copied.
command.pasting.reference=Pasting reference
action.create.annotation.type=Create @interface
prompt.enter.annotation.type.name=Enter a new @interface name:
title.new.annotation.type=New @interface
title.cannot.create.annotation.type=Cannot Create @interface
action.create.new.class=Create New Class
action.create.new.class.description=Create new Java class
action.create.new.package-info.title=package-info.java
error.package.already.contains.package-info='package-info.java' already exists for package ''{0}''
error.package.already.contains.package.html=Package ''{0}'' already has a 'package.html' file. Create 'package-info.java' anyway?
error.package.html.found.title=Found 'package.html'
button.create=&Create
action.create.new.package-info.description=Create new package-info.java
prompt.enter.new.class.name=Enter a new class name:
title.new.class=New Class
progress.creating.class=Creating class {0}
command.close.active.editor=Close Active Editor
action.close=_Close
action.create.new.directory.or.package=Create new directory or package
prompt.enter.new.directory.name=Enter new directory name:
prompt.enter.new.package.name=Enter new package name:
title.new.directory=New Directory
title.new.package=New Package
action.package=Package
action.directory=Directory
error.name.should.be.specified=A name should be specified
progress.creating.directory=Creating directory {0}{1}{2}
progress.creating.package=Creating package {0}.{1}
command.create.directory=Create directory
command.create.package=Create package
action.create.new.enum=Create New Enum
title.new.enum=New Enum
title.cannot.create.enum=Cannot Create Enum
command.create.enum=Create enum
action.create.new.file=Create New File
action.create.new.file.description=Create new file
prompt.enter.new.file.name=Enter a new file name:
title.new.file=New File
progress.creating.file=Creating file {0}{1}{2}
command.create.file=Create file
action.create.new.interface=Create New Interface
prompt.enter.new.interface.name=Enter a new interface name:
title.new.interface=New Interface
title.cannot.create.interface=Cannot Create Interface
progress.creating.interface=Creating interface {0}.{1}
command.create.interface=Create interface
action.delete.ellipsis=_Delete...
action.delete=_Delete
title.select.components.to.export=Export Settings
prompt.please.check.all.components.to.export=Please check the settings to export:
prompt.overwrite.settings.file=Overwrite ''{0}''?
title.file.already.exists=File Already Exists
message.settings.exported.successfully=Your settings have been successfully exported.\nYou can import settings using ''File|Import Settings''.
title.export.successful=Export Complete
error.writing.settings=Error writing settings.\n\n{0}
title.error.writing.file=Error Writing File
message.please.select.element.for.javadoc=Please select the element for which you wish to view the documentation
title.no.element.selected=No Element Selected
command.go.to.line=Go to Line
action.hide.all.windows=Hide All _Windows
action.restore.windows=Restore _Windows
message.settings.imported.successfully=Settings imported successfully. You have to restart {0} to reload the settings.\nShutdown {1}?
message.settings.imported.successfully.restart=Settings imported successfully. You have to restart {0} to reload the settings.\nRestart {1}?
title.restart.needed=Restart Needed
title.import.file.location=Import File Location
prompt.choose.import.file.path=Select the settings file to import or directory where the file is located
error.cannot.find.file=Cannot find file {0}
title.file.not.found=File Not Found
error.file.contains.no.settings.to.import=The file {0} contains no settings to import.\n{1}
title.invalid.file=Invalid File
title.select.components.to.import=Select Components to Import
prompt.check.components.to.import=Please check all components to import:
error.reading.settings.file=Error reading file {0}.\nThere was {1}\n\n{2}
error.reading.settings.file.2=Error reading file {0}.\n\n{1}
title.error.reading.file=Error Reading File
message.please.ensure.correct.settings=Please make sure you have generated the file using 'File|Export Settings' feature.
title.popup.new.element=New
title.popup.new.element.same.place=New in Current Directory
command.go.to.next.split=Go to next split
message.occurrence.N.of.M=Occurrence {0} of {1}
error.files.of.this.type.cannot.be.opened=Files of this type cannot be opened in {0}
title.cannot.open.file=Cannot Open File
filter.all.file.types=All file types
filter.project.files=Project files ({0}) or project directories (.idea)
action.unpin.tab=Unp_in Tab
action.pin.tab=P_in Tab
action.unpin.active.tab=Unp_in Active Tab
action.pin.active.tab=P_in Active Tab
command.go.to.prev.split=Go to previous split
prompt.reload.file.from.disk=Reload \"{0}\" from disk and lose all changes?
title.reload.file=Reload File
command.reload.from.disk=Reload from Disk
command.find.next=Find Next
command.find.previous=Find Previous
command.select.all=Select All
message.no.targets.available=No targets available in this context
title.popup.select.target=Select Target
title.popup.recent.files=Recent Files
action.split.vertically=Split _Vertically
action.split.horizontally=Split Hori_zontally
action.sync.completed.successfully={0} completed successfully.
action.synchronize.file=Synchronize ''{0}''
action.synchronize.selected.files=Synchronize selected files
action.toolwindow.commander=&Commander
action.toolwindow.messages=&Messages
action.toolwindow.project=&Project
action.toolwindow.structure=&Structure
action.toolwindow.ant.build=Ant &Build
action.toolwindow.debug=Debug
action.toolwindow.run=&Run
action.toolwindow.find=F&ind
action.toolwindow.cvs=C&VS
action.toolwindow.hierarchy=Hierarch&y
action.toolwindow.todo=TODO
action.toolwindow.inspection=I&nspection
action.toolwindow.favorites=Favorites
macro.classpath.entry=Entry in the classpath the element belongs to
macro.project.classpath=Project's classpath
macro.column.number=Column number
exception.missing.data=No data: {0}
macro.class.name=Class name
macro.unix.separators=Takes a parameter and convers separators to '/'. Ex. $UnixSeparators(\\foo\\bar\\)$ == /foo/bar/
macro.file.directory=File directory
macro.file.directory.from.parent=Path to $FileDir$ from parent directory with name passed as a parameter
macro.file.directory.name=File directory name
macro.file.parent.directory=File parent directory. Takes an optional parameter(name) to find the parent directory
macro.file.dir.relative.to.root=File dir relative to the module content root the file belongs to
macro.file.dir.relative.to.root.fwd.slash=File dir relative to the module content root the file belongs to (with forward slashes)
macro.file.dir.relative.to.sourcepath.root=File dir relative to the sourcepath root the file belongs to
macro.file.dir.relative.to.sourcepath.root.fwd.slash=File dir relative to the sourcepath root the file belongs to (with forward slashes)
macro.file.extension=File extension
macro.file.fully.qualified.package=File fully qualified package
macro.file.name=File name
macro.file.name.without.extension=File name without extension
macro.file.name.without.all.extensions=File name without all extensions
macro.file.package=File package
macro.file.path=File path
macro.file.path.relative.to.root=File path relative to the module content root the file belongs to
macro.file.path.relative.to.root.fwd.slash=File path relative to the module content root the file belongs to (with forward slashes)
macro.file.path.relative.to.sourcepath.root=File path relative to the sourcepath root the file belongs to
macro.file.path.relative.to.sourcepath.root.fwd.slash=File path relative to the sourcepath root the file belongs to (with forward slashes)
macro.file.directory.relative=File directory relative to the project file
macro.file.directory.relative.fwd.slash=File directory relative to the project file (with forward slashes)
macro.file.path.relative=File path relative to the project file
macro.file.path.relative.fwd.slash=File path relative to the project file (with forward slashes)
macro.file.encoding=File encoding
macro.javadoc.output.directory=JavaDoc output directory
macro.jdk.path=JDK path
macro.line.number=Line number
button.insert=Insert
label.macros=Macros
label.macro.preview=Macro preview
macro.module.file.directory=The directory of the module file
macro.module.file.path=The path of the module file
macro.module.file.name=The name of the module file without extension
macro.module.source.path=Module source path
macro.output.path=Output path
macro.project.file.directory=The directory of the project file
macro.project.file.path=The path of the project file
macro.project.file.name=The name of the project file without extension
macro.project.source.path=Project source path
macro.prompt=Displays a string input dialog
macro.clipboard.content=The clipboard content
prompt.enter.parameters=Enter parameters:
title.input=Input
macro.prompt.preview=<params>
macro.fileprompt.preview=<filename>
macro.sourcepath.entry=Entry in the sourcepath the element belongs to
macro.project.sourcepath=Project's sourcepath
error.plugins.should.not.have.cyclic.dependencies=Plugins should not have cyclic dependencies:\n
error.plugin.was.not.installed=Plugin {0} was not installed: {1}
title.failed.to.download=Failed to Download
error.plugins.were.not.loaded=Error loading plugins:\n{0}\nPlugins were not loaded.\nCorrect the above error and restart IDEA.
title.plugin.error=Plugin Error
message.duplicate.plugin.id=Duplicate plugin id:
error.required.plugin.not.installed=Plugin "{0}" was not loaded: required plugin "{1}" not installed.
error.required.plugin.disabled=Plugin "{0}" was not loaded: required plugin "{1}" is disabled.
error.plugins.without.id.found=There were plugins without id found, all such plugins were skipped.
error.problems.found.loading.plugins=Problems found loading plugins:\n
column.plugins.name=Name
column.plugins.date=Date
column.plugins.downloads=Downloads
column.plugins.category=Category
column.plugins.rate=Rating
plugin.info.not.available=n/a
plugin.info.unknown=unknown
message.idea.shutdown.required=Shut down {0} to activate changes in plugins?
message.idea.restart.required=Restart {0} to activate changes in plugins?
title.plugins=Plugins
title.plugins.changed=Plugins Changed
plugin.status.not.specified=(not specified)
error.list.of.plugins.was.not.loaded=List of plugins was not loaded: {0}
action.download.and.install.plugin=Download and Install
action.update.plugin=Update Plugin
error.plugin.download.failed=Plugin download failed
prompt.download.and.install.plugin=Would you like to download and install plugin ''{0}''?
prompt.update.plugin=Would you like to update plugin ''{0}''?
prompt.install.several.plugins=Install or update {0} plugins ?
action.uninstall.plugin=Uninstall
prompt.uninstall.plugin=Do you really want to uninstall plugin ''{0}''?
prompt.uninstall.several.plugins=Do you really want to uninstall these {0} plugins ?
title.plugin.uninstall=Plugin Uninstall
progress.downloading.list.of.plugins=Downloading List of Plugins
progress.download.plugins=Download Plugins
button.http.proxy.settings=&HTTP Proxy Settings...
group.vendor=Vendor
plugin.status.installed=Installed
progress.waiting.for.reply.from.plugin.manager=Waiting for reply from {0}
progress.connecting=Connecting...
progress.downloading.plugin=Downloading plugin ''{0}''
error.cannot.create.temp.dir=Unable to create temp directory ''{0}''
error.connection.failed.with.http.code.N=Connection failed with HTTP code {0}
progress.connecting.to.plugin.manager=Connecting to {0}
label.plugin.vendor.email=E-mail:
label.plugin.vendor.name=Name:
label.plugin.vendor.home.page=Home page:
editbox.plugin.description=Description
editbox.plugin.change.notes=Change notes
label.plugin.home.page=Plugin home page
action.move.module.to.this.group=To This Group
action.move.module.outside.any.group=Outside Any Group
message.move.modules.to.group=Move {0} to the Group {1}
message.module=module ''{0}''
message.modules=modules
action.move.module.new.top.level.group=New Top Level Group...
action.move.module.to.new.sub.group=To New Subgroup...
action.description.create.new.module.group=Create New Module Group
prompt.specify.name.of.module.subgroup=Specify name of {0} subgroup the {1} will be shown under.\n\n
title.module.sub.group=Module Subgroup
prompt.specify.module.group.name=Specify group name the {0} will be shown under.\n\n
title.module.group=Module Group
title.packages=Packages
action.show.modules=Show Modules
action.description.show.modules=Show/Hide Modules
action.show.libraries.contents=Show Libraries Contents
action.show.hide.library.contents=Show/Hide Library Contents
action.sort.by.type=Sort by Type
action.show.structure=Show Structure
action.description.show.structure=Show structure view
title.popup.views=Views
title.project=Project
error.module.already.exists=Module named ''{0}'' already exists
title.rename.module=Rename Module
title.rename.library=Rename Library
command.renaming.module=Renaming module {0}
prompt.enter.new.module.name=Enter new module name
prompt.enter.new.library.name=Enter new library name
tooltip.ui.designer.form=UI Designer Form
node.projectview.libraries=Libraries
node.projectview.external.libraries=External Libraries
tooltip.module.group=Module Group
node.projectview.library={0} library
node.projectview.jdk=JDK
progress.indexing=Updating indices...
progress.indexing.scanning=Scanning files to index...
progress.indexing.updating=Indexing...
action.structureview.show.fields=Show Fields
action.structureview.show.inherited=Show Inherited
action.structureview.show.properties=Show Properties
action.structureview.show.non.public=Show non-public
node.structureview.invalid=<invalid>
action.structureview.group.methods.by.defining.type=Group Methods by Defining Type
action.structureview.sort.by.visibility=Sort by Visibility
tab.structureview.jsp.view=JSP
tab.structureview.baselanguage.view={0}
action.next.todo=Next TODO
action.previous.todo=Previous TODO
action.filter.todo.items=Filter TODO Items
action.todo.show.all=Show All
action.description.todo.show.all=Show All TODO Items
action.todo.edit.filters=Edit Filters
action.group.by.modules=Group By Modules
action.group.by.packages=Group By Packages
title.todo.current.file=Current File
progress.looking.for.todos=Looking for TODOs...
column.todo.filter.pattern=Pattern
error.filter.name.should.be.specified=Filter name should be specified
error.filter.with.the.same.name.already.exists=Filter with the same name already exists
error.filter.should.contain.at.least.one.pattern=Filter should contain at least one pattern
label.todo.filter.name=Name:
group.todo.filter.patterns=Patterns
column.todo.filters.name=Name
column.todo.filter.patterns=Patterns
checkbox.case.sensitive=Case Sensitive
checkbox.todo.use.default.colors=Use color scheme TODO default colors
label.todo.pattern=Pattern:
label.todo.icon=Icon:
column.todo.patterns.icon=Icon
column.todo.patterns.case.sensitive=Case Sensitive
column.todo.patterns.pattern=Pattern
title.edit.todo.filter=Edit Filter
title.edit.todo.pattern=Edit Pattern
title.todo=TODO
title.add.todo.pattern=Add Pattern
button.edit=&Edit...
label.todo.filters=Filters
button.add.d=A&dd...
title.add.todo.filter=Add Filter
button.edit.t=Edi&t...
button.remove.m=Re&move
label.todo.patterns=Patterns
text.todo.no.patterns=No patterns configured
text.todo.no.filters=No filters configured
node.todo.group={0} ({1} {1,choice,0#items|1#item|2#items} in {2} {2,choice,0#files|1#file|2#files})
node.todo.summary=Found {0} TODO {0,choice,0#items|1#item|2#items} in {1} {1,choice,0#files|1#file|2#files}
node.todo.no.items.found={0} (no items found)
node.todo.found.items={0} (found {1} {1,choice,1#item|2#items})
node.todo.items={0} ({1} {1, choice, 1#item|2#items})
title.appearance=Appearance
group.window.options=Window Options
checkbox.show.memory.indicator=Show memory indicator
checkbox.show.tool.window.bars=Show tool window bars
checkbox.widescreen.tool.window.layout=Widescreen tool window layout
checkbox.left.toolwindow.layout=Side-by-side layout on the left
checkbox.right.toolwindow.layout=Side-by-side layout on the right
checkbox.show.editor.preview.popup=Show editor preview tooltip
checkbox.show.tool.window.numbers=Show tool window numbers
checkbox.animate.windows=Animate windows
group.transparency=Transparency
checkbox.use.transparent.mode.for.floating.windows=Use transparent mode for floating windows
label.transparency.ratio=Ratio:
label.transparency.delay.ms=Delay (ms):
group.ui.options=UI Options
checkbox.show.icons.in.quick.navigation=Show icons in quick navigation
checkbox.override.default.laf.fonts=Override default fonts by (not recommended):
label.override.laf.font=Font:
label.font.name=Name:
label.font.size=Size:
combobox.look.and.feel=Theme:
checkboox.cyclic.scrolling.in.lists=Cyclic scrolling in list
checkbox.position.cursor.on.default.button=<html>Automatically position mouse cursor on default button</html>
checkbox.use.antialiased.font.in.editor=Use anti-aliased font

# this string must start with "IDEA"
idea.default.look.and.feel=IDEA (4.5 default)
idea.intellij.look.and.feel=IntelliJ
idea.dark.look.and.feel=Darcula
confirm.set.look.and.feel=Change &theme
error.cannot.set.look.and.feel=<html><body>Cannot set {0} theme:<br>{1}</body></html>
warning.problem.laf.1=<html><body>GTK+ theme is known to be problematic on a JDK prior to 1.6 b12.<br>Please choose another theme, or upgrade your JDK. <a href="http://bugs.sun.com/view_bug.do?bug_id=6624717">More info...</a></body></html>
error.adding.action.without.icon.to.toolbar=You are adding an action without icon to the toolbar. The default icon will be added to this action.
title.unable.to.add.action.without.icon.to.toolbar=Unable to add action without icon to the toolbar
error.please.specify.new.name.for.schema=Please, specify new name for scheme ''{0}''.
title.browse.icon=Browse Icon
prompt.browse.icon.for.selected.action=Browse icon for selected action (*.png)
title.choose.action.icon=Choose Action Icon
action.choose.actions.to.add=Choose Actions To Add
button.set.icon=&Set icon
label.icon.path=&Icon Path:
button.edit.action.icon=Edit Action &Icon...
button.add.separator=Add &Separator
button.move.up.u=Move &Up
button.move.down.d=Move &Down
button.add.action.after=Add A&fter...
title.custom.actions.schemas=Menus and toolbars customization
title.customizations=Menus and Toolbars
label.choosebyname.no.matches.found=No matches found
label.choosebyname.searching=Searching...
prompt.gotoclass.enter.class.name=Enter class name:
checkbox.include.non.project.classes=Include &non-&&project classes
label.no.matches.found.in.project=No matches found in project
label.no.matches.found=no matches found
prompt.gotofile.enter.file.name=Enter file name:
prompt.gotoaction.enter.action=Enter action or option name:
checkbox.include.non.project.files=Include &non-&&project files
checkbox.other.included=Include &non-&&menu actions
label.no.non.java.files.found=No matches found in project
label.no.menu.actions.found=No actions in main menu found
label.no.files.found=No files found
label.no.actions.found=No actions found
prompt.gotosymbol.enter.symbol.name=Enter symbol name:
checkbox.include.non.project.symbols=Include &non-&&project symbols
promot.projectwizard.directory.does.not.exist={0}\"{1}\"\ndoes not exist. It will be created by {2}.
title.directory.does.not.exist=Directory Does Not Exist
error.failed.to.create.directory=Failed to create directory \"{0}\"
label.select.compiler.output.path=Select c&ompiler output path:
title.select.compiler.output.path=Select compiler output path
label.project.name=Project n&ame:
label.component.file.location={0} file &location:
label.project.files.location=Project &location:
title.select.project.file.directory=Select {0} file directory
description.select.project.file.directory={0} file will be stored in this directory
label.please.enter.project.name=Please enter a name to create a new {0} {1}.
prompt.please.select.project.jdk=Please select project SDK.\nThis SDK will be used by default by all project modules.
label.project.jdk=Project SDK:
button.configure=&Configure...
prompt.confirm.project.no.jdk=Do you want to create a project with no SDK assigned?\nSDK is required for compiling, debugging and running applications\nas well as for standard SDK classes resolution.
title.no.jdk.specified=No SDK Specified
prompt.please.specify.module.name=Please specify module name
prompt.please.specify.module.name.and.content.root=Please specify module name and module content root.\nA module content root is a directory where the files that belong to the module are stored.
label.module.name=&Module name:
label.module.content.root=Module content &root:
title.select.module.content.root=Select Module Content Root
label.module.file.will.be.saved.in=Module file will be saved in:
button.change.directory=Change Directory...
title.module.name.not.specified=Module Name Not Specified
error.module.with.name.already.exists=Module with name \"{0}\" already exists in the project
title.module.already.exists=Module Already Exists
error.please.specify.module.file.location=Please specify module file location
title.module.file.location.not.specified=Module File Location Not Specified
error.content.root.already.defined.for.module=Content root \"{0}\" already defined for module \"{1}\".\nTwo modules in a project cannot share the same content root.
title.module.content.root.already.exists=Module Content Root Already Exists
directory.module.content.root=The module content root\n
directory.module.file=The module file directory\n
title.select.module.file.location=Select Module File Location
description.select.module.file.location=The module file will be saved in selected directory
radio.create.new.module=&Create new module
radio.import.existing.module=&Import existing module
label.path.to.module.file=Path to {0} module file (.iml):
prompt.select.module.file.to.import=Select {0} module file (.iml) to import
message.module.file.has.an.older.format.do.you.want.to.convert.it=Module file has an older format. Do you want to convert it?
dialog.title.convert.module=Convert Module
error.message.cannot.modify.file.0=Cannot modify file ''{0}''
message.your.module.was.successfully.converted.br.old.version.was.saved.to.0=<html><body>Your module was successfully converted. <br>\
  Old version was saved to ''{0}''</body></html>
label.select.module.type=Module type:
error.please.specify.path.to.module.file=Please specify path to {0} module file (.iml)
title.module.file.path.not.specified=Module File Path Not Specified
error.module.file.does.not.exist=The specified path to module file does not exist
title.module.file.does.not.exist=Module file does not exist: {0}
error.module.not.iml=The \"{0}\"\nis not an {1} module file (.iml)
title.incorrect.file.type=Incorrect File Type
button.stop.searching=&Stop Searching
prompt.please.specify.java.sources.directory=Please specify a directory where source files for your project can be found.\nThis path should correspond to default (root, unnamed, top level) package.\nNote: the program will recognize only those source files, that are located under this directory.
radio.create.source.directory=&Create source directory
prompt.enter.relative.path.to.module.content.root=Enter relative path to module content root  (example: java{0}src):
radio.do.not.create.source.directory=&Do not create source directory
label.source.directory=The following directory will be marked as a source directory:
label.java.source.files.have.been.found=Source files for your module have been found. Please choose directories that will\nbe marked as source paths. These paths correspond to default (root, unnamed, top level) packages.\nNote: the program will recognize only those source files, that are located under source directories.
button.mark.all=&Mark All
button.unmark.all=&Unmark All
prompt.stop.searching.for.sources={0} is currently searching for sources. Would you like to stop the search?
label.project.roots.have.been.found=Source files for your project have been found. Please choose directories that will\nbe added to the project roots. These paths correspond to default (root, unnamed, top level) packages.\nNote: the program will recognize only those source files, that are located under these directories.
label.project.roots.not.found=Source files for your project not found.
title.question=Question
action.continue.searching=Continue Searching
action.stop.searching=Stop Searching
prompt.relative.path.to.sources.empty=Relative path to sources is empty.\nWould you like to mark the module content root\n\"{0}\"\nas a source directory?
title.mark.source.directory=Mark Source Directory
action.mark=Mark
action.do.not.mark=Do Not Mark
error.source.directory.should.be.under.module.content.root.directory=Source directory should be under module content root directory
progress.searching.for.sources=Searching for sources in {0}. Please wait.
prompt.select.source.directory=Select Source Directory
prompt.new.project.file.name=Enter a file name to create a new {0} {1}
prompt.enter.project.file.location=Enter {0} file location
directory.project.file.directory=The {0} file directory\n
prompt.overwrite.project.file=The {1} file \n''{0}''\nalready exists.\nWould you like to overwrite it?
prompt.overwrite.project.folder={0} folder already exists in {1}.\nIts content may be overwritten.\nContinue?
warning.message.the.module.file.0.already.exist.and.will.be.overwritten=The module file ''{0}'' already exist.
warning.text.0.do.you.want.to.overwrite.these.files={0}\nWould you like to overwrite {1,choice,1#it|2#these files}?
title.select.jdk=Select JDK
button.configure.e=Configure...
label.scope.pattern=&Pattern:
action.add=Add
action.remove=Remove
label.scope.editor.caret.position=pos:{0}
button.include=Include
button.include.recursively=Include Recursively
button.exclude=Exclude
button.exclude.recursively=Exclude Recursively
label.scope.contains.files=Scope contains {0} of total {1} files
error.correct.pattern.syntax.errors.first=Correct pattern syntax errors first
action.show.files=Show Files
action.description.show.files=Show/Hide Files
action.group.by.scope.type=Group by Scope Type
action.description.group.by.scope=Group by Scope Type (production, test, libraries)
action.show.included.only=Show Included Only
action.description.show.included.only=Show only files included to the current scope selected
scope.current.file=Current File
scope.selection=Selection
scope.files.in.previous.search.result=Files in Previous Search Result
scope.previous.search.results=Previous Search Results
scope.class.hierarchy=Class Hierarchy
scope.hierarchy=Hierarchy of {0}
scope.modified.files=Changed Files
prompt.choose.base.class.of.the.hierarchy=Choose Base Class of the Hierarchy to Search In
progress.searching= searching...
title.tip.of.the.day=Tip of the Day
action.previous.tip=&Previous Tip
action.next.tip=&Next Tip
error.unable.to.read.tip.of.the.day=<html><body>Unable to read Tip Of The Day ({0}). Make sure {1} is installed properly.</body></html>
label.did.you.know=Did you know ... ?
checkbox.show.tips.on.startup=Show Tips on Startup
error.tips.not.found=Tips not found.  Make sure you installed {0} correctly.
title.go.to.line=Go to Line
editbox.line.number=Line number:
tooltip.syntax.linenumber.columnnumber=Syntax: [<lineNumber>][:<columnNumber>] or [<lineNumber>][,<columnNumber]
error.text.file.already.exists=File {0} already exists\nDo you want overwrite it or to append?
action.overwrite=Overwrite
action.append=Append
error.writing.to.file=Error writing to file: {0}
title.export.preview=Export Preview
button.save=Save
editbox.export.to.file=Export to file:
button.copy=&Copy
description.copy.text.to.clipboard=Copy text to clipboard
checkbox.copy.javadoc=Copy &JavaDoc
checkbox.insert.at.override=Insert @&Override
node.memberchooser.all.classes=All classes
action.select.none=Select &None
action.show.classes=Show Classes
action.expand.all=Expand All
action.collapse.all=Collapse All
checkbox.narrow.down.the.list.on.typing=&Narrow &&down the list on typing
checkbox.narrow.down.on.typing=&Narrow &&down on typing
node.default=<default>
node.default.package=<Default Package>
prompt.enter.a.new.package.name=Enter a new package name:
command.create.new.package=Create new package
action.new.package=New Package...
action.description.create.new.package=Create new package
tab.chooser.project=Project
tab.chooser.search.by.name=Search by Name
prompt.filechooser.enter.file.name=Enter file name:
prompt.create.non.existing.package=Package {0} does not exist.\nDo you want to create it?
title.package.not.found=Package Not Found
command.create.new.subdirectory=Create New Subdirectory
title.choose.destination.directory=Choose Destination Directory
title.delete=Delete
prompt.delete.it.anyway= Delete it anyway?
prompt.directory.contains.read.only.files=Directory {0} contains read-only file(s). Delete it anyway?
warning.delete.all.files.and.subdirectories.in.the.selected.directory=\nAll files and subdirectories in the selected directory(s) will be deleted.\nYou might not be able to fully undo this operation!
warning.delete.all.files.and.subdirectories=\nAll files and subdirectories in \"{0}\" will be deleted.\nYou might not be able to fully undo this operation!
# Components of the prompt to delete elements
prompt.delete.elements=Delete {0}?
search.for.usages.and.delete.elements=Search for usages and delete {0}?
prompt.delete.and=and
prompt.delete.directory={0,choice,1#directory|2#directories}
prompt.delete.file={0,choice,1#file|2#files}
prompt.delete.symlink={0,choice,1#symlink|2#symlinks}
prompt.delete.class={0,choice,1#class|2#classes}
prompt.delete.interface={0,choice,1#interface|2#interfaces}
prompt.delete.method={0,choice,1#method|2#methods}
prompt.delete.field={0,choice,1#field|2#fields}
prompt.delete.package={0,choice,1#package|2#packages}
prompt.delete.directory.paren=({0} {0,choice,1#directory|2#directories})
prompt.delete.property={0,choice,1#property|2#properties}
prompt.delete.type.parameter={0,choice,1#type parameter|2#type parameters}
checkbox.safe.delete.with.usage.search=Sa&fe delete (with usage search)
checkbox.search.in.comments.and.strings=&Search in comments and strings
checkbox.search.in.non.java.files=S&earch for non-code usages
#
label.method=Method {0}
label.overrides.method.of_class_or_interface.name=overrides {0} {1} {2}.
label.implements.method.of_class_or_interface.name=implements {0} {1} {2}.
label.implements.method.of_interfaces=implements methods of the following classes/interfaces:
element.method=method
element.of.interface=of interface
element.of.class=of class
prompt.do.you.want.to.action_verb.the.method.from_class=Do you want {0} the base {1,choice,1#method|2#methods}?

help.topic.not.found.error=Help topic \"{0}\" not found

unscramble.use.unscrambler.checkbox=&Unscramble stacktrace
unscramble.log.path.label=&Log file:
unscramble.unscrambler.combobox=Un&scrambler:
unscramble.stacktrace.caption=Put a stack trace or a complete thread dump here:
unscramble.dialog.title=Analyze Stacktrace
unscramble.no.unscrambler.item=<Do not unscramble>
unscramble.normalize.button=&Normalize
unscramble.unscrambled.stacktrace.tab=<Stacktrace>
unscramble.unscrambled.threaddump.tab=<Threads>
unscramble.unscrambled.deadlock.tab=<Deadlock>

updates.checking.progress=Checking for updates
updates.error.connection.title=Connection Error
updates.error.connection.failed=Connection failed. Please check your network connection and try again.
updates.error.plugin.description.failed=Failed to load plugin descriptions from: \"{0}\"
updates.info.dialog.title=Update Info
updates.channel.name.message=<b>{0}</b>: {1}
updates.channel.key.needed=You can evaluate the new version for {0} days or buy a license key or an upgrade online.
updates.channel.existing.key=The new version can be used with your existing license key.
updates.channel.bundled.key=The new version has an expiration date and does not require a license key.
updates.ready.message={0} is ready to <a href=\"update\">update</a>.
updates.plugins.ready.message=The following plugin{0,choice,1# is|2#s are} ready to <a href=\"update\">update</a>: {1}
updates.no.updates.message=You already have the latest version of {0} installed.
updates.plugins.ready.header=<html><b>Plugins from configured hosts are ready to update.</b><br> \
  Uncheck plugins you do not want to update.</html>
updates.configure.label=To configure automatic update settings, see the <b><a href=\"updates\">Updates</a></b> dialog of your IDE {0}.
updates.timeout.error=Connection timed out
updates.download.and.install.button=&Download Patch and Shutdown
updates.download.and.restart.button=Up&date and Restart
updates.more.info.button=&More Info...
updates.ignore.update.button=&Ignore This Update
updates.remind.later.button=&Remind Me Later
updates.buy.online.button=&Buy Upgrade Online
updates.new.version.available=<b>A new version of {0} is available!</b>
updates.current.version=Current version:
updates.available.version=New version:
updates.patch.label=Patch size:
updates.version.info={0} (build {1})
updates.write.protected={0} does not have write access to {1}. Please run it by a privileged user to update.
updates.settings.title=Updates
updates.last.check.never=Never
updates.settings.caption.1=<html>$FULLNAME$ can automatically check for new and updated versions of itself, \
  using your internet connection (when active).<html>
updates.settings.check.now.button=&Check Now
updates.settings.checkbox=Check for updates in channel
updates.settings.build.number=     Build number:
updates.settings.current.version=Current $FULLNAME$ version\:
updates.settings.last.check=Last checked for updates:

hierarchy.method.next.occurence.name=Go to next method
hierarchy.method.prev.occurence.name=Go to previous method
hierarchy.type.next.occurence.name=Go to next type
hierarchy.type.prev.occurence.name=Go to previous type
hierarchy.call.next.occurence.name=Go to next call
hierarchy.call.prev.occurence.name=Go to previous call

error.file.not.found.message=File ''{0}'' not found
predefined.scope.tests.name=Tests
scope.editor.legend.recursively.included.label=Recursively included
scope.editor.legend.partly.included.label=Partially included
toolwindow.palette=Palette
jar.build.on.make=Build jars on &make
jar.build.modules.to.jar=Choose Modules to Jar
jar.build.module.0.jar.settings=Module ''{0}'' Jar Settings
jar.build.include.in.jar.file=Include in jar file:
search.textfield.title=&Search:
select.in.scope=Scope
scope.view.title=Scopes
select.in.title.project.view=Project View
several.plugins.depend.on.0.continue.to.remove=Several plugins depend on {0}. Continue to remove?
child.tag.0.should.be.defined=''{0}'' child tag should be defined
attribute.0.should.be.defined=''{0}'' attribute should be defined
value.must.not.be.empty=Value must not be empty
value.must.be.identifier=Value must be identifier

model.highlighting.identity={0} with such name already exists
model.highlighting.identity.in.other.file={0} with such name already exists in file ''{1}''
predefined.scope.problems.name=Problems

dom.elements.tree.childs.contain.errors=Children contain errors

team.server.license.not.found=This IDEA distribution is only licensed to be used with JetBrains TeamCity.
unknown.error=Unknown error
value.should.be.integer=Value should be integer

shared.scopes.node.text=Shared Scopes
local.scopes.node.text=Local Scopes
scopes.display.name=Scopes
scopes.no.scoped=No scopes
add.local.scope.action.text=Local
add.shared.scope.action.text=Shared
add.scope.popup.title=Add scope
add.scope.name.label=Name
add.scope.dialog.title=Add New Scope
scope.banner.text=Scope ''{0}''
prompt.please.select.module.jdk=Please select the {0} to be set for this module
scopes.save.dialog.title.shared=Save as shared scope
scopes.save.dialog.title.local=Save as local scope
plugin.version.label=Version
plugin.size.label=Size:
plugin.status.available=Available
detach.library.from.module=Detach library ''{0}'' from module ''{1}''?\nNo file on disk will be hurt.
detach.library=Detach Library
scope.unable.to.save.scope.message=Do you want to save scope as shared?
scope.unable.to.save.scope.title=Unable to use local scope
predefined.scope.production.name=Production
plugin.manager.dependencies.detected.title=Plugin Dependencies Detected
plugin.manager.dependencies.detected.message=The plugin you want to install requires other plugin{0, choice, 1#|2#s} ({1}) which have to be installed as well. Proceed?
plugin.manager.optional.dependencies.detected.message=The plugin you want to install optionally requires other plugin{0, choice, 1#|2#s} ({1}). Should those be installed as well?
message.server.no.licenses=No suitable licenses left on the license server
title.server.no.licenses=No Licenses on Server
message.server.not.available=Unable to contact license server
title.server.not.available=License Server Connection Error
message.server.protocol.hijacked=License Server response haven''t passed data integrity check. Server hijacked?
title.server.protocol.hijacked=Problem with License Server Response

text.not.applicable=<N/A>
error.message.unable.to.create.file=Unable to create file ''{0}''
message.text.error.creating.deployment.descriptor=Error Creating Deployment Item: {0}
message.text.creating.deployment.descriptor=Creating Deployment Descriptor

button.facet.quickfix.text=&Fix

progress.download.0.title=Downloading {0}
progress.download.file.text=Downloading ''{0}'' from ''{1}''...
progress.connecting.to.download.file.text=Connecting to ''{0}''...
progress.locate.file.text=Locating ''{0}''...
progress.downloading.0.files.text=Downloading {0} {0, choice, 1#file|2#files}...
dialog.directory.for.downloaded.files.title=Downloaded files will be copied to selected directory
error.file.download.failed=Failed to download ''{0}'': {1}

maven.repository.presentable.name=Maven repository
label.missed.libraries.prefix=The following libraries are missing:
label.missed.libraries.text=''{0}'' library not found in the module dependencies list
button.fix=Fix\u2026
setup.library.dialog.title=Setup Library
label.library.will.be.created.description.text={0} level library <b>{1}</b> with {2} {2, choice, 1#file|2#files} will be created
new.library.file.chooser.title=New Library Files
new.library.file.chooser.description=Select jar files in which library classes are located

create.default.library.type.action.name=Java
popup.title.select.library.type=Select Library Type

file.chooser.show.path=Show path
file.chooser.hide.path=Hide path
file.chooser.hide.path.tooltip.text=Show/Hide path text field
file.chooser.completion.path.variables.text=Path Variables
file.chooser.completion.no.suggestions=No suggestions
file.chooser.completion.ad.text=Use {0} to keep tail of the path

progress.text.clickToViewProgressWindow=Click to open tasks window
progress.window.title=Background Tasks
progress.window.empty.text=There are no active background tasks

project.import.wizard.title=Import from {0}
project.import.default.name=ImportedFrom{0}
project.import.default.name.dotIdea=Imported From {0}
project.import.select.title=Select {0} projects to import
project.import.show.settings.after=&Open Project Structure after import
project.import.open.existing=There is {0} in ''{1}''.\nDo you want to open the existing project or delete it and import ''{2}''?
project.import.open.existing.openExisting=Open Existing Project
project.import.open.existing.reimport=Delete Existing Project and Import

general.settings=General Settings
code.folding.settings=Code Folding Settings
ui.settings=UI Settings
share.scope.checkbox.title=Share scope
bean.property=Bean Property
plugin.manager.enable.column.title=Enable
plugin.manager.tooltip.warning=Required plugin ''{0}'' is not included
plugin.manager.incompatible.tooltip.warning=Plugin is incompatible with current {0} installation
#new wizard components
project.new.wizard.project.identification=project
project.new.wizard.module.identification=module
changelist.todo.title={0} Changelist
hierarchy.scope.test=Test
update.plugin.host.url.message=Repository URL:
update.no.update.hosts=No plugin repositories configured
update.edit.plugin.host.title=Edit Repository
update.add.new.plugin.host.title=Add Repository
update.plugin.hosts.title=Plugin Repositories
update.uploading.plugin.progress.title=Updating Plugins
update.downloading.patch.progress.title=Downloading Patch file
file.structure.toggle.show.inherited=&Show inherited members
plugin.deleted.status.tooltip=Plugin will be deleted on next startup
plugin.outdated.version.status.tooltip=Plugin has newer version
plugin.download.status.tooltip=Plugin will be activated on next startup
plugin.is.already.installed.status.tooltip=Plugin is installed
update.plugins.update.action=&Update
fail.open.project.message=Unable to open project from ''{0}''
disabled.plugins.warning.message=<li>Plugin <b>\"{0}\"</b> won''t be able to load because required {2, choice, 1#plugin|2#plugins} {1} {2, choice, 1#is|2#are} disabled.</li>
plugin.updated.status.tooltip=Updated plugin will be activated on next startup
checkbox.show.icons.in.menu.items=Display icons in menu items
custom.icon.validation.message=Icon is too big to appear in menu
custom.icon.validation.title=Icon size is invalid

# Moved from ExecutionBundle
run.canceled.by.user.message=Run canceled by user
run.configuration.error.executable.not.specified=Executable is not specified
run.configuration.error.working.directory.does.not.exist=Cannot start process, the working directory {0} does not exist
run.configuration.error.working.directory.not.directory=Cannot start process, the path specified for working directory is not a directory
finished.with.exit.code.text.message=Process finished with exit code {0}

# Encodings
file.encodings.configurable=File Encodings
file.encodings.not.configured=Encodings are not configured
encodings.dialog.caption=<html>To change encoding $productName uses for a file or directory, click an item and then select encoding from the Default Encoding list.<br><br>\
  Built-in file encoding (e.g. JSP, HTML or XML) overrides encoding you specify here.<br>\
  If not specified, files and directories inherit encoding settings from the parent directory or from the Project Encoding.</html>
encoding.name.system.default=<System Default>
quick.lists.presentable.name=Quick lists

error.saving.statistics=Error saving system information: {0}
error.saving.statistic.failed.to.create.folder=Cannot create folder {0} to save system information.
FileChooser.viewMenuLabelText=View
FileChooser.newFolderActionLabelText=New Folder
FileChooser.listViewActionLabelText=List
FileChooser.detailsViewActionLabelText=Details
FileChooser.refreshActionLabelText=Refresh
browsers.settings=Web Browsers
updates.check.period.on.exit=On every exit

unsupported.jvm.openjdk.message=OpenJDK 6 is not supported. Please use Oracle Java or newer OpenJDK.
unsupported.jvm.ea.message=Early Access Java versions may cause compatibility issues. Please use stable release.
unsupported.jvm.link=<br/><a href="#">Do not show again</a>.

low.disk.space.message=Low disk space on a {0} system directory partition

prompt.goto.inspection.enter.name=Enter inspection name:
goto.inspection.action.text=&Run Inspection by Name...
label.no.inspections.found=No inspections found

#Scripting library management
scripting.lib.name=&Name:
scripting.lib.file.title=Files
scripting.lib.file.name=Name
scripting.lib.file.location=Location
scripting.lib.file.type=Type
scripting.lib.select.root=Select Library Files or Directories
scripting.lib.invalid.name=Invalid library name
scripting.lib.attach=&Attach...
scripting.lib.detach=&Detach
scripting.lib.add=&Add...
scripting.lib.edit=&Edit...
scripting.lib.remove=&Remove
scripting.lib.docUrl.specify=&Specify...
scripting.lib.docUrl.remove=&Remove
scripting.lib.docUrl.title=Documentation URLs
scripting.lib.usageScope=Usage Scope
scripting.lib.usageScope.caption=<html>Specify which libraries are used in specific files and/or directories</html>
scripting.lib.usageScope.tableTitle=Library
scripting.lib.usageScope.override.question=Override library settings for child directories and files?
scripting.lib.usageScope.override.title=Override Library Settings
open.url.in.browser.tooltip=Open in browser

whatsnew.action.custom.text=What''s _New in {0}
whatsnew.action.custom.description=Find out about the new features in this version of {0}
diff.dialog.title=Diff Between ''{0}'' and ''{1}''

goto.custom.region.command=Go to Custom Region
goto.custom.region.message.dumb.mode=Go to Custom Region action is not available until indices are built.
goto.custom.region.message.unavailable=There are no custom folding regions in the current file.
alphabetical.mode.is.on.warning=Alphabetical order for tabs is ON. Switch it OFF?

file.changed.externally.message=File was changed on disk.
file.changed.externally.reload=Reload
group.presentation.mode=Presentation Mode
checkbox.allow.status.bar=Allow Status Bar
checkbox.allow.line.numbers=Allow Line Numbers
checkbox.allow.vcs.annotations=Allow VCS Annotations
presentation.mode.fon.size=Font size\:
update.available.group=Update Checker
javascript.filetype.description=JavaScript files
actionscript.filetype.description=ActionScript files
typescript.filetype.description=TypeScript files

# Language terms
javascript.language.term.function=function
javascript.language.term.class=class
javascript.language.term.interface=interface
javascript.language.term.namespace=namespace
javascript.language.term.parameter=parameter
javascript.language.term.property=property
javascript.language.term.variable=variable
javascript.language.term.value=value
javascript.language.term.tag=tag
javascript.language.term.label=label
javascript.language.term.prototype=prototype
javascript.language.term.attribute.value=Attribute value
javascript.language.term.package=package
javascript.language.term.module=module

# Parser error messages
javascript.parser.message.expected.expression=expression expected
javascript.parser.message.expected.xml.element=xml element expected
javascript.parser.property.expected=property expected
javascript.parser.message.expected.lbrace={ expected
javascript.parser.message.expected.rbrace=} expected
javascript.parser.message.expected.identifier.string.literal.or.numeric.literal=identifier or string literal or numeric literal expected
javascript.parser.message.expected.colon=: expected
javascript.parser.message.expected.semicolon=; expected
javascript.parser.message.expected.lbrace.or.semicolon={ or ; expected
javascript.parser.message.expected.rbracket=] expected
javascript.parser.message.expected.lparen=( expected
javascript.parser.message.expected.rparen=) expected
javascript.parser.message.expected.name=name expected
javascript.parser.message.expected.comma.or.rparen=, or ) expected
javascript.parser.message.expected.function.name=function name expected
javascript.parser.message.expected.requires.or.function.name='requires' or function name expected
javascript.parser.message.expected.formal.parameter.name=formal parameter name expected
javascript.parser.message.expected.statement=statement expected
javascript.parser.message.expected.parameter.name=parameter name expected
javascript.parser.message.expected.property.name=property name expected
javascript.parser.message.expected.catch.or.default=catch or default expected
javascript.parser.message.expected.forloop.left.hand.side.expression.or.variable.declaration=left hand side expression or variable declaration expected before 'in'
javascript.parser.message.expected.forloop.in.or.semicolon='in' or ; expected
javascript.parser.message.expected.while.keyword=while expected
javascript.parser.message.expected.comma=, expected
javascript.parser.message.expected.comma.or.rbrace=, or } expected
javascript.parser.message.expected.variable.name=variable name expected
javascript.parser.message.missing.rbrace=missing }
javascript.parser.message.missing.backquote=missing `
javascript.parser.message.unexpected.end.of.file=unexpected end of file
javascript.parser.message.expected.type.name=type name expected
javascript.parser.message.unclosed.string.literal=Unclosed string literal
javascript.parser.message.are.not.supported.by.dialect={0} are not supported by current JavaScript version
javascript.parser.message.expected.from='from' expected
javascript.parser.message.expected.typename=* or type name expected
javascript.parser.message.expected.name.or.lbrace=package name or { expected
javascript.parser.message.expected.module.reference=module reference expected
javascript.parser.message.expected.function.var.class.interface.namespace=Expected function, variable, class, interface or namespace declaration
javascript.parser.message.expected.namespace='namespace' expected
javascript.parser.message.expected.string.literal=string literal expected
javascript.parser.message.expected.xml=xml context keyword expected
javascript.parser.message.expected.equal=expected =
javascript.parser.message.expected.lbrace.or.lbracket={ or [ expected
javascript.parser.message.expected.identifier.lbrace.or.lbracket=identifier, { or [ expected
javascript.parser.message.expected.eof=end of file expected
javascript.parser.message.expected.eqgt=expected =>
javascript.parser.message.expected.identifier=identifier expected
javascript.parser.message.expected.instanceof='instanceof' expected
javascript.parser.message.expected.value=value expected
javascript.parser.message.expected.identifer.or.value=identifier or value expected
javascript.parser.message.expected.identifier.or.string.literal=identifier or string literal expected
javascript.parser.message.expected.as='as' expected
javascript.parser.message.expected.identifier.string.literal.or.lbrace=identifier, string literal or { expected

# Validation messages
javascript.validation.message.conflicting.definition.was.found.with.the.same.name=Conflicting inherited declaration {0} was found in namespace {1}
javascript.validation.message.duplicate.declaration=Duplicate declaration
javascript.validation.message.assignment.to.const=Attempt to assign to const variable
javascript.validation.message.arguments.out.of.function=Using function arguments object outside function
javascript.validation.message.must.be.lvalue=Must be lvalue
javascript.validation.message.const.variable.without.initializer.=const variable without initializer. It won't be possible to assign meaningful value later.
javascript.validation.message.embed.annotation.used.with.var.of.wrong.type=Embed annotation should be used with variable of Class or String type
javascript.validation.message.continue.without.target=Cannot determine target for 'continue'
javascript.validation.message.break.without.target=Cannot determine target for 'break'
javascript.validation.message.return.outside.function.definition='return' outside function definition
javascript.validation.message.duplicate.label=Duplicate label
javascript.validation.message.extend.multiple.classes=Class cannot extend multiple classes
javascript.validation.message.extend.final.class=Cannot extend final class ''{0}''
javasctipt.validation.message.identifier.not.allowed.in.strict.mode={0} is not allowed as identifier in strict mode
typescript.validation.message.invalid.type.reference=Type reference cannot refer to {0}
typescript.validation.module.reference.with.extension=External module reference cannot end with extension

# Surround with names
javascript.surround.with.do.while=do / while
javascript.surround.with.for=for
javascript.surround.with.if=if
javascript.surround.with.if.else=if / else
javascript.surround.with.parenthesis=(expr)
javascript.surround.with.not.parenthesis=!(expr)
javascript.surround.with.cast=Type(expr)
javascript.surround.with.try.catch=try / catch
javascript.surround.with.try.finally=try / finally
javascript.surround.with.try.catch.finally=try / catch / finally
javascript.surround.with.while=while
javascript.surround.with.with=with
javascript.surround.with.function=function
javascript.surround.with.function.expression=function expression
javascript.surround.with.object.literal=object literal

javascript.introduce.variable.title=Extract Variable
javascript.introduce.variable.error.no.expression.selected=Cannot introduce variable.\nSelection does not form an expression.
javascript.introduce.variable.error.expression.has.void.type=Cannot introduce variable.\nSelected expression type is void.
javascript.introduce.variable.name.prompt=&Name:
javascript.introduce.variable.replace.all.occurrences=Replace &all occurrences ({0} occurrences found)
javascript.introduce.variable.invalid.name=Please enter a valid name.
javascript.introduce.variable.variable.already.exists=Variable with name {0} already exists in the scope.
javascript.introduce.variable.function.already.exists=Function with name {0} already exists in the scope.
javascript.introduce.variable.arrow.function.parameter.referenced=Cannot introduce variable.\nSelection contains reference to arrow function parameter.

javascript.introduce.field.title=Introduce Field
javascript.introduce.field.error.no.expression.selected=Cannot introduce field.\nSelection does not form an expression.
javascript.introduce.field.error.expression.has.void.type=Cannot introduce field.\nSelected expression type is void.
javascript.introduce.field.error.no.enclosing.class=Cannot introduce field.\nNo enclosing class.
javascript.introduce.constant.title=Introduce Constant
javascript.introduce.constant.error.no.expression.selected=Cannot introduce constant.\nSelection does not form an expression.
javascript.introduce.constant.error.expression.has.void.type=Cannot introduce constant.\nSelected expression type is void.
javascript.introduce.constant.error.not.constant.expression.selected=Cannot introduce constant.\nSelection is not constant expression.

javascript.introduce.parameter.title=Extract Parameter
javascript.introduce.parameter.error.no.expression.selected=Cannot introduce parameter.\nSelection does not form an expression.
javascript.introduce.parameter.error.expression.has.void.type=Cannot introduce parameter.\nSelected expression type is void.

# Highlighting categories
javascript.keyword=Keyword
javascript.string=String
javascript.number=Number
javascript.linecomment=Line comment
javascript.doccomment=Doc comment
javascript.blockcomment=Block comment
javascript.regexp=Regular expression
javascript.operation=Operation
javascript.parens=Parenthesis
javascript.brackets=Brackets
javascript.braces=Braces
javascript.semicolon=Semicolon
javascript.badcharacter=Bad character
javascript.docmarkup=Documentation markup
javascript.doctag=Documentation tag
javascript.valid.string.escape=Valid string escape
javascript.invalid.string.escape=Invalid string escape
javascript.comma=Comma
javascript.dot=Dot

# Errors with intentions
javascript.unresolved.function.name.message=Unresolved function or method {0}() #loc
javascript.unresolved.variable.name.message=Unresolved variable {0} #loc
javascript.unresolved.type.name.message=Unresolved type {0} #loc
javascript.missing.read.property=Unresolved read property #loc
javascript.missing.write.property=Unresolved write property #loc
javascript.unresolved.variable.or.type.name.message=Unresolved variable or type {0} #loc
javascript.unresolved.variable.or.type.name.message2=Unresolved variable or type {0}
javascript.unresolved.file=File {0} not found
javascript.undeclared.variable.name.message=Variable {0} implicitly declared #loc
javascript.create.function.intention.name=Create Function ''{0}''
javascript.create.variable.intention.name=Create Variable ''{0}''
javascript.create.constant.intention.name=Create Constant ''{0}''
javascript.declare.variable.intention.name=Insert Var Declaration for ''{0}''
javascript.declare.variable.in.previous.var.statement.intention.name=Insert Var Declaration for ''{0}'' into previous var statement
javascript.create.namespace.intention.name=Create Namespace ''{0}''
javascript.create.property.intention.name=Create Field ''{0}''
javascript.create.constant.field.intention.name=Create Constant Field ''{0}''
javascript.create.method.intention.name=Create Method ''{0}''
javascript.create.constructor.intention.name=Create Constructor ''{0}''
javascript.create.get.property.intention.name=Create Get Property ''{0}''
javascript.create.set.property.intention.name=Create Set Property ''{0}''
javascript.create.function.intention.family=Create JavaScript Function or Method
javascript.create.variable.intention.family=Create JavaScript Variable Or Property
create.mobile.view=Create View ''{0}''
invalid.package=Invalid package: {0}
javascript.rename.reference.intention.name=Rename Reference
js.anonymous.to.named.function=Convert anonymous function to named function
js.convert.to.named.function=Convert to named function
js.split.into.multiple.declarations=Split into multiple declarations
js.split.declarations=Split declarations
js.swap.$0.and.$1=Swap ''{0}'' and ''{1}''
js.swap.arguments=Swap method call arguments

# Inspections
js.inspection.group.name=General
js.inspection.bitwise.group.name=Bitwise operation issues
js.code.style.issues.group.name=Code style issues
js.probable.bugs.group.name=Probable bugs
js.potentially.invalid.usage.of.this.inspection.name=Potentially invalid reference to 'this' from closure
js.potentially.invalid.target.of.indexed.property.access.inspection.name=Possibly incorrect target of indexed property access
javascript.potentially.invalid.usage.of.this=Potentially invalid usage of this
javascript.potentially.invalid.target.of.indexed.property.access=Potentially invalid target of indexed property access
js.unfiltered.for.in.loop.inspection.name=Unfiltered for..in loop
javascript.unfiltered.for.in.loop=Possible iteration over unexpected (custom / inherited) members, probably missing hasOwnProperty check
js.unfiltered.for.in.loop.skip.primitives=Skip iterations over reference with array or object initializer
js.unfiltered.for.in.loop.skip.primitives.tooltip=Enable it when Object.prototype and Array.prototype are unmodified
js.referencing.mutable.variable.from.closure.inspection.name=Referencing mutable variable from closure
javascript.mutable.variable.accessible.from.closure=Mutable variable is accessible from closure
js.unresolved.variable.inspection.name=Unresolved JavaScript variable
js.undeclared.variable.inspection.name=Implicitly declared global JavaScript variable
js.duplicate.declaration.inspection.name=Duplicate JavaScript declaration
# WI-11522 only the first word should start with uppercase letter
js.linters.inspection.group.name=Code quality tools
js.unused.local.symbol.inspection.name=Unused JavaScript / ActionScript local symbol
js.unused.assignment.inspection.name=Unused JavaScript / ActionScript assignment
js.unused.global.symbol.inspection.name=Unused JavaScript / ActionScript global symbol
js.unresolved.function.inspection.name=Unresolved JavaScript function
js.deprecated.symbols.inspection.name=Deprecated JavaScript symbol
js.suspicious.name.combination.inspection.name=Suspicious name combination
js.bitwise.operator.usage.name=Bitwise operator usage
js.bitwise.operator.usage.popup=Bitwise operator used
js.bitwise.operator.usage.quickfix=Replace with {0}
js.potentially.invalid.constructor.usages.inspection.name=Potentially invalid constructor usage
js.mismatched.update.collection.inspection.name=Mismatched query and update of collection
js.closure.compiler.syntax.inspection.name=Closure compiler syntax
js.closure.compiler.syntax.implements.not.interface={0} is not annotated with @interface
js.closure.compiler.syntax.cyclic.inheritance=Cyclic inheritance involving {0}
js.closure.compiler.syntax.empty.type=Empty type is not available
js.closure.compiler.syntax.invalid.type=Invalid type syntax
collection.updated.but.not.queried=Contents of collection <code>#ref</code> are updated, but never queried
collection.queried.but.not.update=Contents of collection <code>#ref</code> are queried, but never updated
javascript.constructor.with.lower.case.name.used.message=Constructor with lower case name used, possibly typo or conceptual error
interface.function.declaration.should.have.no.body=Interface functions declaration should have no body
javascript.ambient.declaration.should.have.no.body=Ambient declaration should have no body
javascript.ambient.declaration.should.have.no.initializer=Ambient declaration should have no initializer
javascript.deprecated.symbol.used.name.message=Deprecated symbol used, consult docs for better alternative #loc
javascript.deprecated.symbol.used.name.message2=Since version {0} symbol is marked as deprecated, use {1} as replacement #loc
js.classname.macro.description=jsClassName()
js.qualified.classname.macro.description=jsQualifiedClassName()
js.methodname.macro.description=jsMethodName()
js.unused.symbol=Unused {0} #ref
js.unused.symbol.remove=Remove unused {0} ''{1}''
js.suspicious.name.assignment=''{0}'' should probably not be assigned to ''{1}''
js.suspicious.name.parameter=''{0}'' should probably not be passed as parameter ''{1}''
js.suspicious.name.return=''{0}'' should probably not be returned from method ''{1}''
js.show.overriding.markers.inspection.name=Shows function overriding markers in JavaScript
js.constructor.cant.have.return.type=Constructor can''t have return type
invalid.identifier.value=invalid identifier value
class.0.does.not.have.default.constructor=Class {0} doesn''t have default constructor
invalid.identifier.value.0=Invalid identifier: ''{0}''
javascript.validation.message.this.referenced.from.static.context='this' referenced in static context
javascript.validation.message.super.referenced.without.class.instance.context='super' referenced without class instance context
javascript.validation.message.super.referenced.from.static.context='super' referenced in static context
javascript.validation.message.function.override.without.override.modifier=Method overrides method in superclass {0} without override keyword
javascript.validation.message.class.should.be.in.file=Class ''{0}'' should be defined in file ''{1}''
javascript.validation.message.function.should.be.in.file=Function ''{0}'' should be defined in file ''{1}''
javascript.validation.message.namespace.should.be.in.file=Namespace ''{0}'' should be defined in file ''{1}''
javascript.validation.message.variable.should.be.in.file=Variable ''{0}'' should be defined in file ''{1}''
javascript.validation.message.incorrect.package.name=Package name ''{0}'' does not correspond to file path ''{1}''
javascript.fix.package.name=Set package name to ''{0}''
javascript.fix.add.override.modifier=Add override modifier
js.code.style.tab.name=JavaScript
typescript.code.style.tab.name=TypeScript
to.indent.package.statement.children=&Indent package statement children
javascript.formatting.options.panel.title=Formatting options
javascript.formatting.options.panel.coding.style=Coding style
javascript.formatting.options.panel.naming.conventions=Naming conventions
js.convert.parameters.to.object.intention.name=Convert parameters to object
js.convert.parameters.to.object.unavailable.for.arrow.function=Cannot apply on arrow function parameters
js.undefined.property.assignment.inspection.name=Undefined property assignment
js.undefined.property.assignment.inspection.message=Property {0} is not defined in type {1}
js.jquery.efficiency.inspection.name=jQuery usage efficiency
js.jquery.efficiency.inspection.message=Inefficient jQuery usage
js.jquery.efficiency.inspection.preface.with.id.selector=Preface with ID selector
js.jquery.efficiency.inspection.allow.attribute.and.pseudo.selectors=Allow attribute and pseudo-selectors
js.jquery.efficiency.inspection.attribute.used.message=jQuery attribute selectors may be inefficient
js.jquery.efficiency.inspection.pseudoselector.used.message=jQuery pseudo-selectors may be inefficient
js.jquery.efficiency.inspection.duplicated.selector=Duplicated jQuery selector
js.accessibility.check.inspection.name=@private and @protected members accessibility
js.convert.to.foreach.intention.name=Convert to forEach call on array
js.consecutive.commas.in.array.literal.inspection.name=Consecutive commas in array literal
js.consecutive.commas.in.array.literal.inspection.message=Consecutive commas in array literal
js.consecutive.commas.in.array.literal.inspection.insert.undefined=Insert 'undefined'
js.check.function.signature.guess.optionality=Guess optionality of parameters
js.check.function.signature.guess.optionality.hint=If disabled, all untyped parameters are considered optional

javascript.validation.message.interface.members.cannot.have.access.modifiers=Interface members cannot have access modifiers
javascript.validation.message.interface.members.cannot.have.namespace.attributes=Interface members cannot have namespace attributes
javascript.validation.message.interface.members.cannot.be.final.modifiers=Interface members cannot be final
javascript.validation.message.static.modifier.is.allowed.only.for.class.members=Static modifier is allowed only for class members
javascript.validation.message.interface.cannot.be.final.modifiers=Interface cannot be final
javascript.template.context.type=JavaSc&ript
actionscript.template.context.type=Act&ionScript
interface.should.have.no.variable.declarations=Interface should have no variable declarations
javascript.validation.message.implements.for.interface.not.allowed=Implements list is not allowed for interface
javascript.validation.message.interface.name.expected.here=Interface name expected here
javascript.validation.message.class.name.expected.here=Class name expected here
javascript.validation.message.circular.dependency=Circular dependency
javascript.fix.remove.circular.dependency=Remove circular dependency
javascript.validation.message.more.than.one.externally.visible.symbol=More than one externally visible symbol defined in file
javascript.validation.message.interface.method.not.implemented=Method {0} from interface {1} is not implemented
javascript.validation.message.interface.property.not.implemented=Property {0} from interface {1} is not implemented
javascript.validation.message.interface.method.not.implemented2=Property get accessor {0} from interface {1} is not implemented
javascript.validation.message.interface.method.not.implemented3=Property set accessor {0} from interface {1} is not implemented
javascript.validation.message.interface.call.signature.not.implemented=Call signature from interface {0} is not implemented
javascript.validation.message.interface.index.signature.not.implemented=Index signature from interface {0} is not implemented
javascript.fix.remove.externally.visible.symbol=Remove externally visible symbol
javascript.fix.implement.methods=Implement Methods
javascript.implement.all.interfaces=Implement all interfaces
javascript.parameter=Parameter
javascript.local.variable=Local variable
javascript.global.variable=Global variable
javascript.global.function=Global function
javascript.static.member.function=Static member function
javascript.static.member.variable=Static member variable
javascript.instance.member.variable=Instance member variable
javascript.instance.member.function=Instance member function
javascript.create.class.intention.name=Create Class ''{0}''
javascript.create.interface.intention.name=Create Interface ''{0}''
choose.class.to.import.title=Class to Import
javascript.fix.remove.override.modifier=Remove override modifier
javascript.fix.remove.virtual.modifier=Remove virtual modifier
javascript.validation.message.attribute.was.specified.multiple.times=Modifier {0} was specified multiple times
javascript.fix.remove.dynamic.modifier=Remove dynamic modifier
javascript.validation.message.function.override.for.object.method=Method inherited from Object does not need override
javascript.validation.message.function.override.without.parent.method=Method does not override method from super class
javascript.parser.message.expected.gt=Expected >
javascript.parser.message.expected.lbracket=Expected [

generate.constructor.fields.chooser.title=Choose Fields to Initialize by Constructor
generate.getter.setter.chooser.title=Select Fields to Generate Getters and Setters
generate.to.string.chooser.title=Select Fields to Use in toString function
generate.getter.fields.chooser.title=Select Fields to Generate Getters
generate.setter.fields.chooser.title=Select Fields to Generate Setters
methods.to.implement.chooser.title=Select Methods to Implement
methods.to.override.chooser.title=Select Methods to Override
no.candidates=No candidates
no.methods.to.implement=No methods to implement have been found
no.methods.to.override=No methods to override have been found
no.variables.for.getter=No fields without getter have been found
no.variables.for.setter=No fields without setter have been found
no.variables.for.getter.setter=No fields without getter and setter have been found
javascript.validation.unused.import=Unused import
javascript.validation.fqn.to.replace.with.import=Qualified name may be replaced with import statement
javascript.fix.optimize.imports=Optimize imports
javascript.parser.message.expected.doc.tag.value=Tag value expected
javascript.validation.message.incorrect.tag.value=Incorrect Tag Value
javascript.validation.message.incorrect.parameter.name=Incorrect parameter name
javascript.parser.message.expected.doc.tag.name=Doc tag name expected
javascript.invalid.number.of.parameters=Invalid number of arguments, expected {0}
javascript.invalid.e4x.filter.query.receiver=Invalid e4x filter query argument, should be of XML or XMLList type
javascript.expression.type.implicitly.coerced.to.unrelated.type=Expression type {1} is implicitly coerced to unrelated type {0}
javascript.argument.type.mismatch=Argument type {1} is not assignable to parameter type {0}
javascript.initializer.type.mismatch=Initializer type {1} is not assignable to variable type {0}
javascript.binary.operand.type.mismatch=Binary operation argument type {1} is not assignable to type {0}
javascript.incorrect.variable.type.mismatch=Variable type {1} is not assignable to type {0}
javascript.term.does.not.evaluate.to.function=Method expression is not of Function type
javascript.term.does.not.evaluate.to.function2=Property can not be invoked as function
javascript.term.does.not.evaluate.to.function2.fix=Remove argument list
javascript.assigned.expression.type.mismatch=Assigned expression type {1} is not assignable to type {0}
javascript.vector.literal.element.type.mismatch=Vector literal element type {1} is not assignable to type {0}
javascript.returned.expression.type.mismatch=Returned expression type {1} is not assignable to type {0}
javascript.insert.cast.fix=Insert cast
error.not.available.in.javascript.code={0} is not available in JavaScript code
cannot.modify.library.code=Cannot modify library or SDK code
javascript.extract.method.title=Extract Function
javascript.validation.message.function.override.incompatible.access.modifier=Incompatible override, should have ''{0}'' access modifier
javascript.validation.message.function.override.incompatible.signature=Incompatible override, should have signature ''{0}''
javascript.validation.message.function.override.incompatible.signature2=Incompatible override, should have return type ''{0}''
javascript.validation.message.function.override.incompatible.signature3=Incompatible override, should have kind ''{0}''
javascript.validation.message.interface.method.invalid.access.modifier=Incompatible implementation, should have 'public' access modifier
javascript.validation.message.interface.method.invalid.signature=Incompatible implementation, should have signature ''{0}''
javascript.validation.message.interface.method.invalid.signature2=Incompatible implementation, should have return type ''{0}''
javascript.validation.message.interface.method.invalid.signature3=Incompatible implementation, should have get / set ''{0}''
javascript.validation.message.duplicate.catch.block=Duplicate catch block #loc
javascript.validation.message.duplicate.catch.block.fix=Remove duplicate catch block
javascript.validation.message.return.value.of.type.is.required=Return value of type {0} is required
javascript.validation.message.return.statement.required=Return statement is required for non-void return type
typescript.validation.message.invalid.module.member.modifier=''{0}'' is not valid modifier for module member
javascript.validation.message.no.return.value.required.for.constructor=No return value is required for return out of constructor
javascript.validation.message.constructor.in.mxml.is.not.allowed=Constructor is not allowed for MXML class
javascript.validation.message.super.constructor.call.should.be.in.constructor=Superclass constructor invocation should be in constructor body
javascript.fix.remove.constructor=Remove constructor
javascript.validation.message.package.shouldbe.first.statement=Package should be first statement in file
javascript.metadata=Metadata
javascript.class=Class
javascript.interface=Interface
javascript.validation.message.file.should.be.under.source.root=Object is located in file out of source root, certain functionality will not be available
javascript.validation.message.more.than.one.named.object.in.package=Nonunique object in package
javascript.validation.message.unneeded.comma=Unneeded comma
javascript.validation.message.remove.unneeded.comma.fix=Remove unneeded comma
javascript.validation.message.constructor.cannot.be.static=Constructor can not be static
javascript.create.event.handler.intention.name=Create Event Handler ''{0}''
javascript.validation.message.missed.super.constructor.call=Missed superclass's constructor invocation
javascript.fix.create.constructor.invoke.super=Create constructor matching super
javascript.fix.create.invoke.super=Insert super class constructor invocation
javascript.interface.can.not.be.instantiated.message=Interface can not be instantiated
javascript.validation.message.set.method.should.be.void.or.without.type=Return type of a setter definition must be unspecified or void
javascript.validation.message.set.method.should.have.one.parameter=A setter definition must have exactly one parameter
javascript.validation.message.get.method.should.have.no.parameter=A getter definition must have no parameters
javascript.validation.message.get.method.should.be.valid.type=Return type of a getter definition should not be {0}
javascript.validation.message.access.modifier.allowed.only.for.class.members=Access modifier allowed for class members only
javascript.validation.message.namespace.allowed.only.for.class.members=Namespace allowed for class members only
javascript.validation.message.access.modifier.allowed.only.for.package.members=Only public / internal modifiers allowed for package members
javascript.validation.message.use.namespace.reference.or.access.modifier=Use namespace OR access modifier
javascript.validation.message.one.visibility.modifier.allowed=Only one visibility modifier (public, protected, internal, private) is allowed
javascript.fix.remove.access.modifier=Remove access modifier
javascript.fix.remove.final.modifier=Remove final modifier
javascript.validation.message.final.modifier.allowed.only.for.methods=Final modifier can be applied only to classes and class methods
javascript.fix.remove.namespace.reference=Remove namespace reference
javascript.fix.remove.visibility.modifier=Remove visibility modifier
javascript.incorrect.array.type.in.for-in=Array key type should be String
javascript.validation.message.unexpected.type.for.rest.parameter=Rest parameter should have no type
typescript.validation.message.unexpected.type.for.rest.parameter=Rest parameter must be an array type
typescript.validation.message.unexpected.type.for.rest.parameter.fix=Make an array type
typescript.validation.message.class.invalid.context={0} must be in a file or module context
javascript.fix.remove.type.reference=Remove type reference
javascript.validation.message.parameter.is.not.allowed.after.rest.parameter=No parameter is allowed after rest parameter
javascript.fix.remove.parameter=Remove parameter
javascript.fix.remove.parameters=Remove parameters
javascript.fix.remove.initializer=Remove initializer
javascript.validation.message.parameter.should.be.initialized=Parameter should be initialized
javascript.fix.initialize.parameter=Initialize parameter
javascript.validation.message.rest.parameter.should.not.be.initialized=Rest parameter should not be initialized
javascript.validation.message.nested.classes.are.not.allowed=Nested classes are not allowed
javascript.validation.message.nested.packages.are.not.allowed=Nested packages are not allowed
generate.getter.fields.bindable.properties=&Bindable properties
javascript.validation.message.arguments.with.rest.parameter='arguments' object is not available when using rest parameter
js.validate.types.inspection.name=Type mismatch
js.validate.signature.inspection.name=Signature mismatch
find.usages.of.base.interface=Method {0} of class {1}\nimplements method of interface {2}.\nDo you want {3} the base method?
find.usages.of.base.class=Method {0} of class {1}\noverrides method of class {2}.\nDo you want {3} the base method?
javascript.validation.empty.component.type=Component tag should not be empty
javascript.fix.set.element.visibility=Make {0} {1}
javascript.fix.set.method.return.type=Make ''{0}'' return ''{1}''
javascript.deprecated.symbol.replace.fix=Replace deprecated code with {0}
javascript.deprecated.symbol.replace.fix.family=Replace deprecated code with suggested replacement
javascript.label.visibility.public=Pu&blic
javascript.label.visibility.package_local=&Internal
javascript.label.visibility.private=Pri&vate
javascript.label.visibility.protected=Pr&otected
move.members.refactoring.name=Move members
move.members.dialog.title=Move Members
class.0.cannot.be.created=Destination class {0} cannot be created because qualified element with the same name exists
javascript.visibility.public=public
javascript.visibility.internal=internal
javascript.visibility.private=private
javascript.visibility.protected=protected
field.description=field {0}
constant.description=constant {0}
inner.constant.description=inner constant {0}
variable.description=variable {0}
inner.variable.description=inner variable {0}
parameter.description=parameter {0}
variable.in.class.description=variable {0} in class {1}
constant.in.class.description=constant {0} in class {1}
method.description=method {0}
constructor.description=constructor {0}
function.description=function {0}
inner.function.description=inner function {0}
function.in.class.description=function {0} in class {1}
property.description=property {0}
class.description=class {0}
inner.class.description=inner class {0}
interface.description=interface {0}
inner.interface.description=inner interface {0}
package.description=package {0}
0.with.1.visibility.in.the.target.class.is.not.accessible.from.2={0} with {1} visibility in the target class is not accessible from {2}
0.with.1.visibility.is.not.accessible.from.2={0} with {1} visibility won''t be accessible from {2}

# Refactoring
javascript.refactoring.variable.used.as.lvalue=Variable to be inlined is used as lvalue
javascript.refactoring.variable.value.is.changed.when.accessed.from.closure=Variable value is changed when accessed from closure
javascript.refactoring.cannot.inline.nonlocal.variable=Cannot inline nonlocal variable
javascript.refactoring.inline.variable.title=Inline Variable
javascript.refactoring.inline.function.title=Inline Function
javascript.refactoring.cannot.find.usages.of.definition.to.inline=Cannot find usages of definition to be inlined
javascript.refactoring.searching.usages=Find Usages
javascript.refactoring.cannot.find.definition.to.inline=Cannot find definition to be inlined
javascript.refactoring.cannot.not.inline.noninitialized.definition=Cannot find inline noninitialized variable
javascript.inline.element.is.not.used={0} ''{1}'' is never used
inline.0.dialog.title=Inline {0}
javascript.refactoring.cannot.inline.function.defined.in.library=Can not inline function defined in external library
javascript.refactoring.cannot.inline.function.referencing.arguments=Can not inline function referencing arguments
javascript.refactoring.cannot.inline.interface.method=Can not inline interface method
javascript.refactoring.cannot.inline.function.referencing.rest.parameter=Can not inline function referencing rest parameter
javascript.refactoring.cannot.inline.overrided.or.overridden.method=Can not inline method that participates in hierarchy
javascript.refactoring.cannot.inline.recursive.function=Can not inline recursive function
javascript.refactoring.cannot.inline.function.with.multiple.returns=Can not inline function with multiple exit points
javascript.refactoring.cannot.inline.complex.expression.evaluation=Can not inline complex expression evaluation
javascript.refactoring.cannot.inline.non.call.usage=Can not inline non call usage
javascript.refactoring.cannot.inline.constructor=Can not inline constructor


javascript.uml.visibility.public=public
javascript.uml.visibility.protected=protected
javascript.uml.visibility.package_local=protected \\&\\& internal
javascript.uml.visibility.private=all
javascript.uml.show.supers.header=Superclasses for {0}
javascript.uml.show.implementations.header=Implementations of {0}
javascript.refactoring.asdoc.for.abstracts=ASDoc for abstracts
0.is.not.allowed.in.interface={0} is not allowed in interface
javascript.validation.message.static.method.in.interface=Static method is not allowed in interface
javascript.fix.remove.static.modifier=Remove static modifier
javascript.validation.message.override.can.be.applied.to.method=Override can be applied only to function declaration
javascript.validation.message.dynamic.can.be.applied.to.class=Dynamic attribute can be applied only to class declaration
0.is.static.it.cannot.be.moved.to.the.interface={0} is static. It cannot be moved to the interface
linemarker.overrides.method.in=overrides method in {0}
linemarker.implements.method.in=implements method in {0}
javascript.illegal.variable.type.void=Illegal variable type: 'void'
javascript.cannot.return.expression.from.function.with.void.result.type=Cannot return a value from a function with result type void
javascript.cannot.return.expression.from.function.with.void.result.type.fix=Remove return value
javascript.validation.message.function.override.for.interface=Incompatible override for method from {0}
javascript.validation.message.incompatible.override=Incompatible override for member from {0}
class.does.not.have.inheritors.in.current.project={0} does not have inheritors in the current project
javascript.local.variable.kind=Local variable
javascript.variable.kind=Variable
javascript.parameter.kind=Parameter
javascript.constant.kind=Constant
javascript.field.kind=Field
javascript.method.kind=Method
javascript.function.kind=Function
javascript.class.kind=Class
javascript.interface.kind=Interface
javascript.namespace.kind=Namespace
javascript.property.kind=Property
javascript.definition.kind=Definition
javascript.module.kind=Module
js.unnecessary.semicolon.inspection.name=Unnecessary semicolon
js.unnecessary.semicolon.problem=Unnecessary semicolon #loc
js.unnecessary.semicolon.fix.name=Remove unnecessary semicolon
javascript.refactoring.extract.function.title=Extract Function
javascript.refactoring.extract.function.bad.selection=Selected block should represent set of statements or an expression
javascript.validation.message.constructor.cannot.have.custom.visibility=Constructor should be public or have no visibility specified
javascript.validation.message.can.not.override.final.method=Cannot override final method from {0}
top.level.package=top level package
top.level=top level
javascript.parser.message.expected.dot=Expecting .
js.comparison.with.nan.inspection.name=Comparison with NaN
js.comparison.with.nan.inspection.problem=Equality comparison with NaN always evaluates to false
js.comparison.with.nan.inspection.problem2=Inequality comparison with NaN always evaluates to true
js.comparison.with.nan.inspection.quickfix=Replace with {0}isNaN(...)
js.add.double.quotes.quickfix=Wrap with double quotes
js.constructor.returns.primitive.inspection.name=Constructor returns primitive value
js.constructor.returns.primitive.inspection.problem=Primitive value returned from constructor will be lost when called with 'new'
js.constructor.returns.primitive.inspection.quickfix=Explicitly set return type to {0}
js.comment.matches.signature.inspection.name=JSDoc comment matches function signature
js.comment.matches.signature.inspection.problem1=Parameter {0} is not described in JSDoc
js.comment.matches.signature.inspection.problem2=Parameter {0} described in JSDoc does not appear in function signature
js.comment.matches.signature.inspection.quickfix=Update JSDoc comment

livetemplate.description.iter=Iterate (for each..in) - JavaScript 1.6+
livetemplate.description.itin=Iterate (for..in)
livetemplate.description.itar=Iterate elements of array
livetemplate.description.ritar=Iterate elements of array in reverse order
livetemplate.description.us=Inserts 'use strict' statement
macro.js.suggest.variable.name=jsSuggestVariableName()
macro.js.suggest.index.name=jsSuggestIndexName()
macro.js.array.variable=jsArrayVariable()
macro.js.component.type.of=jsComponentTypeOf(Array)

javascript.validation.tag.must.be.last.child.of.root.tag=The <{0}> tag must be the last child of the root document tag
javascript.validation.tag.must.be.first.child.of.root.tag=The <{0}> tag must be the first child of the root document tag
javascript.validation.tag.must.be.direct.child.of.fx.library.tag=The <{0}> tag must be the direct child of the <{1}> tag
javascript.validation.tag.must.have.exactly.one.child.tag=The <{0}> tag must have exactly one child tag
javascript.validation.tag.must.have.attribute.includein.or.excludefrom=The <{0}> tag must have attribute ''includeIn'' or ''excludeFrom''
javascript.validation.only.this.tag.is.allowed.here=Only <{0}> tag is allowed here
linemarker.implements.invalid=<invalid>
linemarker.implements.text=Implementation of {0} in {1}
linemarker.implements.several=Implementation of multiple interfaces methods
js.validate.json.inspection.name=Validate JSON
json.warn.about.comments.name=Warn about comments in JSON
js.validate.jsdoc.inspection.name=Validate JSDoc / ASDoc
json.comment.problem.description=JSON standard does not allow comments. Use JSMin or similar tool to remove comments before parsing.
incompatible.json.element=JSON standard does not allow this element type
javascript.expected.class.or.descendant=Expected class {0} or descendant
javascript.qualified.class.name.expected=Qualified class name expected
javascript.validation.message.unknown.metadata.annotation.used=Unknown metadata attribute used
javascript.validation.message.static.method.with.override=Static function can not have override modifier
javascript.validation.message.set.method.type.is.different.from.getter=Set accessor method has type that is not compatible with get accessor type, expecting ''{0}''
javascript.validation.message.get.method.type.is.different.from.setter=Get accessor method has type that is not compatible with set accessor type, expecting ''{0}''
javascript.validation.message.set.method.access.type.is.different.from.getter=Flash compiler bug 174646: Set accessor method access type is different from get accessor access type, expecting ''{0}''
javascript.validation.message.get.method.access.type.is.different.from.setter=Flash compiler bug 174646: Get accessor method access type is different from set accessor access type, expecting ''{0}''
javascript.validation.message.static.method.cannot.be.final=Static method can not be final
javascript.validation.message.vector.without.parameters=Vector without type
javascript.validation.message.vector.without.parameters2=Vector without type can not be instantiated
javascript.parser.message.expected.declaration=Declaration expected
javascript.assign.parameter.to.field.intention.name=Assign parameter ''{0}'' to field
javascript.fix.create.parameter=Create Parameter
javascript.introduce.parameter.introduced.variable.value=&Value:
action.JSExtractInterface.text=Extract _Interface...
action.JSExtractInterface.description=Extract interface from the selected class
0.is.not.a.legal.name=''{0}'' is not a legal classifier name
asdoc=ASDoc
item.already.exists={0} {1} already exists
directory.already.contains.file=Directory ''{0}'' already contains file ''{1}''
turn.refs.to.super=Turn refs to super
extract.subclass.command.name=Extracting subclass {0} from {1}
new.actionscript.class.action.title=Create ActionScript Class
new.actionscript.class.command.name=Create ActionScript Class
new.actionscript.class.dialog.title=New ActionScript Class
new.actionscript.interface.dialog.title=New ActionScript Interface
new.actionscript.class.action.description=Create new ActionScript class
class.template.title=Class
class.with.supers.template.title=Class with Supers
interface.template.title=Interface
extract.0.turn.refs=Ex&tract {0} and use it where possible
superclass.cannot.be.extracted.from.mxml.component=Superclass cannot be extracted from MXML component.
javascript.fix.message.change.parameters.to.expected=Change parameters to expected
javascript.fix.message.change.return.type.to.expected=Change return type to expected
js.last.comma.in.array.literal.inspection.name=Last comma in array literal
js.last.comma.in.object.literal.inspection.name=Last comma in object literal
error.wrong.caret.position.method.name=The caret should be positioned at the name of the method to be refactored.
changeSignature.vararg.not.last=Rest parameter should be the last in method signature
parameter.type.is.not.specified=Type for parameter ''{0}'' is not specified.\nContinue?
return.type.is.not.resolved=Return type ''{0}'' is not resolved.\nContinue?
javascript.refactoring.extract.function.code.contain.conditional.return=Can not extract code with conditional return
javascript.refactoring.extract.function.code.contain.continue.statement=Can not extract code with continue statement
javascript.refactoring.extract.function.code.contain.break.statement=Can not extract code with break statement
change.signature.column.name.initializer=Initializer
required.parameters.are.not.permitted.after.optional.parameters=Required parameters are not permitted after optional parameters
javascript.fix.remove.setter.parameter.initializer=Remove parameter default value
javascript.validation.message.setter.parameter.cannot.have.initializer=Setter definition cannot have optional parameters
changeSignature.no.default.value=New required parameter ''{0}'' has been added.\nSpecify a default value to be used in all existing calls of this method.
changeSignature.default.value.not.allowed=Default value is not allowed for parameter ''{0}'', since it was not specified for preceding parameter(s).
change.signature.usage.view.declarations.header=Methods to be refactored
0.should.be.1=''{0}'' should be {1}
{0}.visibility.will.break.methods.hierarchy={0} with {1} visibility won''t be able to participate in hierarchy
generate.delegate.method.chooser.title=Select Methods to Generate Delegates for
new.actionscript.class.uml.action.text=ActionScript Class
invalid.return.type.expression=Return type ''{0}'' is invalid
invalid.parameter.type.expression=Parameter type ''{0}'' is invalid
type.is.not.resolved=Type ''{0}'' is not resolved.\nContinue?
invalid.field.type.expression=Invalid field type: ''{0}''
choose.field.type=Choose Field Type
new.field.action.text=Field
new.field.action.description=Create new field in class
create.field.dialog.title=Create Field
create.field.command.name=Create field ''{0}''
field.initializer.is.not.specified=Field initializer is not specified
new.method.action.text=Method
new.method.action.description=Create new method in class
create.method.dialog.title=Create Method
create.button.text=&Create
create.method.command.name=Create method ''{0}()''
class.already.contains.method.warning=Class ''{0}'' already {1, choice, 1#contains|2#inherits} method ''{2}()''.\nContinue?
class.already.contains.field.warning=Class ''{0}'' already contains field ''{1}''.\nContinue?
declare.static=Declare &static
new.constructor.action.text=Constructor
new.constructor.action.description=Create class constructor
create.constructor.dialog.title=Create Constructor
getter.description=getter {0}
setter.description=setter {0}
change.method.signature.fix.text=Change {0} signature
javascript.callback.signature.mismatch=Callback should have single parameter with event type
javascript.callback.signature.mismatch.event.class=Callback should have single parameter with {0} type
json.filetype.description=JSON files
js.uml.presentable.name=ActionScript/Flex

# Settings dialog root JavaScript item
settings.javascript.root.configurable.name=JavaScript
settings.javascript.linters.configurable.name=Code Quality Tools
settings.javascript.linters.jslint.configurable.name=JSLint
settings.javascript.linters.jshint.configurable.name=JSHint
settings.javascript.linters.gjslint.configurable.name=Closure Linter
settings.javascript.prefer.strict=Prefer &Strict mode
settings.javascript.weaker.completion.type.guess=Weaker type guess for &completion
settings.javascript.weaker.completion.type.guess.tooptip=More completion options will be shown in complex cases if selected

# Bower
settings.javascript.bower.configurable.name=Bower

# JS language version management
js.language.version.combo.js15=JavaScript 1.5
js.language.version.combo.es5=ECMAScript 5.1
js.language.version.combo.js16=JavaScript 1.6
js.language.version.combo.js17=JavaScript 1.7
js.language.version.combo.js18=JavaScript 1.8
js.language.version.combo.js185=JavaScript 1.8.5
js.language.version.combo.es6=ECMAScript 6
js.language.version.label=JavaScript language version
js.language.version.not.supported.by.browsers=Use special to-javascript compiler with this version

# JS library management
js.library.attach.debug=Attach &Debug Version(s)...
js.library.attach.release=Attach &Release Version(s)...
js.library.select.debug=Select a file or directory with debug version(s)
js.library.select.release=Select a file or directory with release version(s)
js.library.unresolved.url.inspection.name=There is no locally stored library for the HTTP link.
js.library.download.fix=Download library
js.library.documentation=Documentation
js.library.configurable.name=Libraries

choose.super.method=<html><body>Choose Super Method of <b>{0}</b> ({1} found)</body></html>
choose.super.function=<html><body>Choose Super Function of <b>{0}</b> ({1} found)</body></html>
choose.super.classifier=<html><body>Choose Superclass or Interface of <b>{0}</b> ({1} found)</body></html>
choose.subclass=<html><body>Choose Subclass of <b>{0}</b> ({1} found)</body></html>
choose.implementing.class=<html><body>Choose Implementation of <b>{0}</b> ({1} found)</body></html>
choose.overridden.method=<html><body>Choose Overridden Method of <b>{0}</b> ({1} found)</body></html>
choose.overridden.function=<html><body>Choose Overridden Function of <b>{0}</b> ({1} found)</body></html>
choose.implementing.method=<html><body>Choose Implementation of <b>{0}</b> ({1} found)</body></html>
choose.implementing.function=<html><body>Choose Implementation of <b>{0}</b> ({1} found)</body></html>
javascript.parser.message.expected.newline.or.semicolon=Expecting newline or semicolon
javascript.invalid.delete.target.message=Invalid delete operator target, reference to field expected
javascript.with.statement.is.not.allowed.in.strict.mode.message=With statement is not allowed in strict mode
javascript.validation.message.redefining.is.not.allowed=Redefining of {0} is not allowed
javascript.validation.message.referencing.arguments.caller.callee.is.not.allowed=Referencing 'caller' and 'callee' from arguments is not allowed
javascript.validation.message.referencing.other.funcions.arguments.is.not.allowed=Referencing 'arguments' of other functions are not allowed
javascript.validation.message.arguments.is.readonly='arguments' is read only
javascript.validation.message.referencing.eval.outside.call.is.not.allowed=Referencing 'eval' outside function call is not allowed
javascript.octal.literals.are.not.allowed.message=Octal literals are not allowed
javascript.octal.sequences.are.not.allowed.message=Octal escape sequences are not allowed
javascript.validation.message.only.one.default.is.allowed=Only one default clause is allowed in switch
javascript.fix.remove.default=Remove default clause
javascript.namespace.initializer.should.be.string.or.another.namespace.reference=Namespace initializer should be string literal or another namespace reference
javascript.validation.message.accessor.could.not.be.nested.under.other.function=Accessor methods can not be nested inside other functions
javascript.validation.message.es5.function.declarations.allowed.on.top.level.or.function=Function statement not at top level of a program or function is prohibited
class.chooser.not.available.in.dumb.mode=Chooser is not available when index update is in progress.
choose.super.class.title=Choose Superclass
choose.base.component.title=Choose Superclass
choose.super.interface.title=Choose Super Interface
0.is.not.accessible.from.1={0} won''t be accessible from {1}
javascript.constructor.call.without.new.message=Constructor call without new
javascript.qualified.name.is.not.imported.message=Qualified name is not imported #loc
javascript.element.is.not.accessible.message=Element is not accessible #loc
javascript.protected.member.is.not.accessible.message=Protected member is not accessible #loc
javascript.private.member.is.not.accessible.message=Private member is not accessible #loc
javascript.jsdoc.protected.member.is.not.accessible.message=Protected member is not accessible #loc
javascript.jsdoc.private.member.is.not.accessible.message=Private member is not accessible #loc
javascript.static.member.is.not.accessible.message=Static member is not accessible #loc
javascript.instance.member.is.not.accessible.message=Instance member is not accessible #loc
javascript.element.need.to.be.exported=Element need to be exported
javascript.argument.types.mismatch=Argument types do not match parameters
javascript.member.from.unopened.namespace.message=Member from unopened namespace #loc
javascript.property.is.read.only.message=Property is read-only #loc
javascript.property.is.write.only.message=Property is write-only #loc
javascript.assume.uppercase.functions.to.be.constructors=Assume only functions in uppercase are constructors
javascript.not.a.constructor.call.message=Not a constructor call
cannot.refactor.anonymous.function=Call sites analysis is prevented by existing non-call usage.
change.signature.method.references.arguments=Function references arguments, code may break after changing signature
change.signature.conflict.incompatible.override=Overriding {0} has different number of parameters than refactored {1}. {2} will be ignored during refactoring.
change.signature.conflict.incompatible.implementation=Implementing {0} has different number of parameters than refactored {1}. {2} will be ignored during refactoring.
javascript.missed.argument.for.parameter=Argument for parameter {0} is missed

# Code folding settings
checkbox.collapse.object.literals=<html>Object literals</html>
checkbox.collapse.array.literals=<html>Array literals</html>
checkbox.collapse.xml.literals=<html>XML literals</html>
change.signature.value.column.title=Value
change.signature.column.name.optional.flag=Optional

# Code style settings
use.semicolon.to.terminate.statement=Use &semicolon to terminate statements
space.before.name.value.separator=Before property name-value separator ':'
space.after.name.value.separator=After property name-value separator ':'
space.before.function.left.parenth=In function expression
space.after.dots.in.rest.parameter=After '...' in rest parameter
space.before.type.colon=Before type reference colon ':'
space.after.type.colon=After type reference colon ':'
space.before.class.interface.module.lbrace=class/interface/module left brace
js.align.properties=Align object properties:
js.align.properties.none=Do not align
js.align.properties.on.colon=On colon
js.align.properties.on.value=On value
js.function.call.parentheses=Function call parentheses
js.function.declaration.parentheses=Function declaration parentheses
js.function.brace.style=In function declaration
js.function.parameters.wrap=Function declaration parameters
js.function.call.wrap=Function call arguments
js.space.before.function.left.brace=Function left brace
js.format.cstyle.comments=Align C-style comments /*...*/

js.method.can.be.static.inspection.name=Method can be static
js.method.can.be.static=Method can be static
js.array.new.line.after.left.bracket=New line after '['
js.array.new.line.before.right.bracket=Place ']' on new line
make.method.static=Make 'static'
declare.event.0=Declare Event ''{0}''
js.variable.might.not.been.initialized=Variable might not have been initialized #loc
js.variable.initializer.is.redundant=Variable initializer is redundant #loc
js.value.assigned.is.never.used=The value assigned is never used #loc
javascript.fix.change.type=Change ''{0}'' type to ''{1}''
javascript.fix.change.parameter.type=Change parameter ''{0}'' type to ''{1}''
change.signature.dialog.title=Change Signature of {0}
javascript.fix.create.implements=Make ''{0}'' implement ''{1}''
javascript.fix.create.extends=Make ''{0}'' extend ''{1}''
javascript.report.unused.properties=Report unused properties
javascript.report.unused.definitions=Report unused definitions
javascript.check.global.definitions=Check assignments in global scope
javascript.strictly.check.global.vars=Report undeclared global variables as error
javascript.strictly.check.object.properties=Report undeclared properties as error
javascript.strictly.check.global.functions=Report undeclared global functions as error
inspection.edit.options.inspection.text=Edit validation options
change.signature.column.type=Type
change.signature.column.name=Name
javascript.invalid.invokation.target=Invalid call target
js.declarations.at.scope.start.inspection=Variable declarations are at the scope start
js.make.single.var.statement=Make single var statement
js.declaration.is.not.at.scope.start=Var statement is not at the scope start
js.move.to.scope.start=Move var statement to the scope start
js.primitive.type.wrapper.usage.inspection=Primitive type object wrapper used
js.replace.with.type.cast.to.primitive=Replace with type cast to {0}
js.assigning.to.primitive.type.property=Value assigned to primitive will be lost
js.primitive.type.improper.instantiation.inspection={0} instantiation can be simplified
js.replace.with.literal=Replace with {0} literal

class.name.invalid=<invalid>
duplicate.parameter.name=Duplicate parameter name: {0}
rename.accessors.dialog.title=Rename Field
rename.accessors.dialog.text=Would you like to replace property functions to ''{0}'' as well?
insert.new.keyword.fix.name=Insert new keyword
superclass.label.text=&Superclass:
varible.name.column.title=Name
varible.value.column.title=Value
custom.variables.step.title.label.text=&Custom variables in template ''{0}''\:
create.class.ok.button.text=Create
create.class.name.label=&Name\:
create.class.package.label=Package\:
create.class.template.label=&Template\:
create.class.superclass.label=&Superclass\:
create.class.interfaces.label=&Interfaces\:
action.structureview.show.object.inherited=Inherited from Object
predefined.libraries.converter.description=Bundled JavaScript libraries have been changed so library mappings in your project need to be updated
libraries.roots.converter.description=JavaScript libraries storage format will be updated
custom.jshint.path.description=<html><body>\
When validating a JavaScript file IDE will look for .jshintrc file in the file's folder or above, up to the project's root.\
<div style="padding-top:6px; padding-bottom:1px">If no file is found, the following default file will be used:</div>\
</body></html>
select.jshint.config.dialog.title=Select JSHint Configuration File
invalid.jshint.config=JSHint config is invalid
failed.to.read.jshint.config=Failed to read JSHint config
action.structureview.show.locals=Show Local

# Frameworks
js.frameworks.sencha.xtype.not.found=Ext JS class for xtype ''{0}'' not found

# Actions
es6.compilation.progressbar.message=ECMAScript 6 file compilation
es6.compilation.original.file.title=ECMAScript 6 file {0}
es6.compilation.generated.file.title=Generated JavaScript file
es6.compilation.title=ECMAScript 6 file compilation
es6.compilation.error.message=Traceur compiler internal error
js.show.type.info.action.name=Evaluate expression type
js.show.type.info.action.message=type: {0}
javascript.ignore.unused.function.parameters=Ignore unused function parameters
javascript.ignore.unused.catch.parameters=Ignore unused catch parameters

# Other
javascript.completion.several.definitions=(several definitions)

# File watchers
js.file.watcher.traceur.name=Traceur compiler
js.file.watcher.traceur.description=Transpiles ECMAScript 6 code to ECMAScript 5
js.format.align.multiline.var=Align multiline variable declaration

# Annotator
javascript.change.language.level.message=Change JavaScript Version to {0}
javascript.change.language.level.family=Change JavaScript Language Level

#
# Copyright 2000-2007 JetBrains s.r.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

deployment.status.name.deployed=Deployed
deployment.status.name.not.deployed=Not deployed
deployment.status.name.failed=Failed
deployment.status.name.deactivating=Deactivating...
deployment.status.name.preparing=Preparing...
deployment.status.name.prepared=Prepared
deployment.status.name.activating=Activating...
deployment.status.name.unprepared=Unprepared
deployment.status.name.unpreparing=Unpreparing...
deployment.status.name.unknown=Unknown
deployment.status.name.disconnected=Disconnected
deployment.status.name.excluded.from.deployment=Excluded from deployment
deployment.status.description.deployed=Artifact is deployed successfully
deployment.status.description.not.deployed=Artifact is not deployed. Press 'Deploy' to start deployment
deployment.status.description.failed=Error during artifact deployment. See server log for details.
deployment.status.description.deactivating=Artifact is being undeployed, please wait...
deployment.status.description.preparing=Artifact is being deployed, please wait...
deployment.status.description.prepared=Artifact is being deployed, please wait...
deployment.status.description.activating=Artifact is being deployed, please wait...
deployment.status.description.unprepared=Artifact is being undeployed, please wait...
deployment.status.description.unpreparing=Artifact is being undeployed, please wait...
deployment.status.description.unknown=Status is unknown. Press 'Refresh' to reload deployment status from server.
deployment.status.description.desconnected=Server is not connected. Deploy is not available.
deployment.status.description.excluded.from.deployment=Artifact is excluded from deployment. To include, go to Run | Edit Configuration | Deployment and select artifact
runtime.configuration.error.something.not.specified={0} is not specified.
runtime.configuration.error.description.file.does.not.exist={0} ''{1}'' does not exist.
run.configuration.remote=Remote
run.configuration.local=Local
message.text.error.while.creating.temp.file=Error while creating temp file: {0}
button.add.appserver.descriptor=Add Application &Server specific descriptor...
warning.delete.deployment.descriptor.title=Delete Deployment Descriptor
additional.deployment.descriptor.file.description.additional.resource=Additional Resource
button.delete=&Delete
button.help=&Help
button.edit=&Edit...
button.remove=&Remove...
button.new=&New...
deployment.descriptor.title.application.module=Application Module Deployment Descriptor
deployment.descriptor.title.ejb.module=EJB Module Deployment Descriptor
deployment.descriptor.title.web.module=Web Module Deployment Descriptor
not.configured=Not configured
label.text.no.application.server.selected=No Application Server Selected
action.description.remove.application.server=Remove application server
action.description.add.application.server=Add application server
label.application.server.containing.libraries=Libraries
label.application.server.name=&Name:
message.text.warning=Warning
application.servers.configurable.display.name=Application\nServers
message.text.class.not.found.in.application.server=Class ''{0}'' not found in application server
message.text.application.server.already.exists=Application Server ''{0}'' already exists
message.text.application.server.name.cannot.be.empty=Application Server name cannot be empty
generic.application.server.default.name=Generic
border.deployment.settings.deployment.source=Deployment Source:
button.configure=Con&figure...
label.deployment.settings.deployment.method=Deployment method:
checkbox.deployment.settings.deploy.ejb.at.server.startup=&Deploy 'EJB' at server startup
checkbox.deployment.settings.deploy.facet=Deploy {0}
action.name.deploy.all=Deploy All
action.name.deploy.selected=Deploy
action.name.refresh.deployment.status=Refresh Deployment Status
action.name.undeploy=Undeploy
ejb.interface.type.base.interface=base interface
ejb.interface.type.local.home.interface=local home interface
ejb.interface.type.local.interface=local interface
ejb.interface.type.remote.interface=remote interface
#operation - rename or refactor
confirmation.text.method.implements.method.of.interfacetype.classname.do.you.want.to.operation.the.method.from.interfacetype=Method {0}\nimplements method {1} of {2} {3}.\nDo you want {4} the method from the {5}?
message.title.warning=Warning
message.text.method.name.is.role.do.you.want.to.rename.fieldtitle=Method ''{0}'' is {1}.\nDo you want to rename {2} ?
#field description: field.presentation.name.cmr.field or field.presentation.name.cmp.field
message.title.fielddescription.found={0} Found
message.text.class.name.is.ejb.class.for.ejb.name.do.you.want.to.rename.ejb.name.instead=Class ''{0}'' is EJB class for EJB ''{1}''.\nDo you want to rename EJB ''{2}'' instead?
message.text.class.name.is.ejb.class.for.several.ejbs.choose.ejb.to.rename.instead=Class ''{0}'' is EJB class for several EJBs.\nChoose the EJB to rename if you want to rename one of the EJBs instead.
message.title.related.ejb.to.class.found=EJB class found
model.object.type.cmp.field=CMP field
model.object.type.cmr.field=CMR field
model.object.type.ejb.environment.entry=Environment Entry
model.object.type.ejb.reference=EJB reference
model.object.type.ejb.local.reference=EJB local reference
model.object.type.ejb.relation=EJB relation
model.object.type.ejb.resource.environment.reference=EJB resource environment reference
model.object.type.service.reference=Web Service reference
model.object.type.ejb.message.destination.reference=Message destination reference
model.object.type.ejb.resource.reference=EJB resource reference
message.text.class.not.fount.in.project=Class ''{0}'' not fount in the project
message.title.class.not.found={0} not found
confirmation.text.regenerate.equals.and.hashcode.for.class=Regenerate equals and hashCode methods for class ''{0}''?
message.title.primary.key.class.changed=Primary Key Class Has Been Changed
model.object.type.entity.bean=Entity Bean
model.object.type.message.driven.bean=Message Driven Bean
model.object.type.security.role=Security Role
model.object.type.session.bean=Session Bean
model.object.type.interceptor=Interceptor
model.object.type.managed.bean=Managed Bean
class.role.ejb.class=EJB class
class.role.home.interface=Home Interface
class.role.local.home.interface=Local Home Interface
class.role.local.interface=Local Interface
class.role.remote.interface=Remote Interface
class.role.business.local.interface=Local Business Interface
class.role.business.remote.interface=Remote Business Interface
class.role.unknown.ejb.class=Unknown EJB class
role.for.ejb.name.string.representation={0} for EJB ''{1}''
role.for.interceptor.name.string.representation={0} for ''{1}''
method.role.finder.method.declaration=Finder Method Declaration
method.role.create.method.declaration=Create Method Declaration
method.role.business.method.declaration=Business Method Declaration
method.role.cmp.field.getter.declaration=CMP Field Getter Declaration
method.role.cmp.field.setter.declaration=CMP Field Setter Declaration
method.role.cmr.field.getter.declaration=CMR Field Getter Declaration
method.role.cmr.field.setter.declaration=CMR Field Setter Declaration
method.role.home.business.method.declaration=Home Business Method Declaration
method.role.unknown.method.declaration=Unknown Method Declaration
method.role.home.business.method.implementation=Home Business Method Implementation
method.role.finder.method.implementation=Finder Method Implementation
method.role.selector.method.implementation=Selector Method Implementation
method.role.create.method.implementation=Create Method Implementation
method.role.post.create.method.implementation=Post Create Method Implementation
method.role.business.method.implementation=Business Method Implementation
method.role.cmp.field.getter.implementation=CMP Field Getter Implementation
method.role.cmp.field.setter.implementation=CMP Field Setter Implementation
method.role.cmr.field.getter.implementation=CMR Field Getter Implementation
method.role.cmr.field.setter.implementation=CMR Field Setter Implementation
method.role.method.implementation=Method Implementation
button.add=&Add...
label.ejb.roots.text=Source roots for EJB classes
command.name.rename.ejb=Rename Ejb
label.web.source.roots.text=Source Roots
label.j2ee.element.general.settings.description=&Description:
label.j2ee.element.general.settings.display.name=Display &name:
action.name.edit.deployment.descriptor=Edit Deployment Descriptor...
project.view.pane.title.j2ee=Java EE
select.in.j2ee=Framework Views

dialog.title.packaging.choose.facets=Choose Facets
message.text.0.facet.1.module=''{0}'' facet (''{1}'' module)
message.text.0.facet.from.1.module=(''{0}'' facet from ''{1}'' module)
link.display.text.configure.j2ee.names=Java EE Names
label.configure.j2ee.names.prefix.and.suffix.are.taken.from=prefix and suffix are taken from

title.appserver.specific.validators=Application Server specific validators
appserver.validator.presentable.text={0} for {1}
button.appserver.validator.add.text=&Add
button.appserver.validator.delete.text=De&lete

#application module editors
application.module.properties.general.tab=General
application.module.properties.security.roles=Security Roles
border.application.module.editor.general.properties.group=General Properties
dialog.title.deployment.descriptor.location=Deployment Descriptor Location
dialog.title.resource.location=Resource Location
javaee.facet.settings.display.name={0} Settings
action.name.configure.j2ee.names=_Java EE Names...
j2ee.facet.fake.file.type=Java EE facet fake file type
column.name.module.editor.security.roles.role.name=Role Name
label.text.module.edutor.no.security.roles.configured=No security roles configured


command.name.create.directory=Create directory
message.title.error=Error
#typename - ejb, session bean, message bean etc
dialog.title.new.typename=New {0}
ejb.type.bmp.entity.bean=BMP Entity Bean
ejb.type.cmp.entity.bean=CMP Entity Bean
ejb.type.entity.bean=Entity Bean
ejb.type.session.bean=Session Bean
ejb.type.stateful.bean=Stateful Session Bean
ejb.type.stateless.bean=Stateless Session Bean
ejb.type.singleton.bean=Singleton Session Bean
ejb.type.message.bean=Message Bean
ejb.interceptor.type=Interceptor
data.source.type=Data Source

#Create transfer object
dialog.title.select.accessors.of.fields.to.include.in.transfer.object=Select Accessors of Fields to Include in Transfer Object
message.text.recommended.transfer.object.class.agrees.with.pattern=It is recommended that Transfer Object class name\nagrees with following pattern: {0}
label.create.transfer.object.transfer.object.class.name=Transfer Object class name:
checkbox.create.transfer.object.generate.getter.in.interface=Generate &getter in {0} interface
checkbox.create.transfer.object.generate.setter.in.interface=Generate &setter in {0} interface
message.text.select.field.to.include.in.transfer.object=Please select at least one field to include in Transfer Object.
message.title.no.fields.selected=No Fields Selected

#Delete ejb
checkbox.delete.ejb.delete.following.classes=&Delete following classes:
command.name.delete.ejb.class=Delete EJB Class
local.vcs.label.name.deleting.ejb.class=Deleting ejb class {0}
dialog,title.remove.ejb.remote.interface=Remove EJB Remote Interface
dialog.title.remove.ejb.local.interface=Remove EJB Local Interface


dialog.title.create.new.cmp.field=Create CMP Field
dialog.title.edit.cmp.field=Edit CMP Field

facet.holder.node.text={0} Facets

#Creating ejb
label.text.creating.ejb=Creating EJB ''{0}''
dialog.title.create.new.ejb.0=Create New EJB ''{0}''

#actions
action.name.create.bmp.entity.bean=Create BMP Entity Bean
action.name.create.cmp.entity.bean=Create CMP Entity Bean
action.name.new.cmp.field=New CMP Field
action.description.create.new.cmp.field=Create new CMP field
action.name.new.ejb.relationship=New EJB Relationship
action.description.create.new.ejb.relationship=Create new EJB relationship
message.text.must.be.cmp.entity.bean.with.local.interface=There must be at least one CMP Entity Bean with local interface
message.title.cannot.create.relationship=Cannot Create Relationship
action.name.create.message.bean=Create Message Bean
action.name.create.stateless.bean=Create Stateless Session Bean
action.name.create.stateful.bean=Create Stateful Session Bean
action.name.create.singleton.bean=Create Singleton Session Bean
action.name.create.new.transfer.object=Transfer Object
command.name.create.transfer.object=Create Transfer Object

apply.javaee.style.command=Apply EJB 3.0 Style
apply.javaee.style.title=Apply EJB 3.0 Style
apply.javaee.style.title.migrate=Migrate to EJB 3.0
apply.javaee.style.ejb.classes.to.process=Enterprise JavaBean classes to be processed
apply.javaee.style.method.exists=There already is a method {0}
apply.javaee.style.field.exists=There already is a field {0}
apply.javaee.style.prefer.injection=Prefer resource injection
apply.javaee.style.prefer.lookup=Prefer lookup
apply.javaee.style.prefer.default=Leave as is if possible
apply.javaee.style.prefer.replace.jndi.lookups=Replace JNDI lookup with EJB context lookup
apply.javaee.style.prefer.inline.injected.fields=Inline injected fields
apply.javaee.style.copy.metadata.from.xml=Copy metadata from XML descriptor
apply.javaee.style.drop.copied.tags=Delete copied XML tags
apply.javaee.style.environment.access.border.title=Environment access
apply.javaee.style.metadata.border.title=EnterpriseBean XML descriptor
apply.javaee.style.ejb.table.border.title=EnterpriseBeans to apply EJB 3.0 style to
apply.javaee.style.code.to.be.changed=Code to be changed {0}
apply.javaee.style.ejb.column.title=Object
apply.javaee.style.home.column.title=Retain Home interfaces

apply.javaee.style.usage.tooltip=<html><body>{0}</body></html>
apply.javaee.style.usage.tooltip.newline=<br>
apply.javaee.style.usage.delete=Delete
apply.javaee.style.usage.replace=Replace with: <code>{0}</code>
apply.javaee.style.usage.add=Add: <code>{0}</code>
apply.javaee.style.usage.add.after=Append with: <code>{0}</code>
apply.javaee.style.usage.add.before=Prepend with: <code>{0}</code>
apply.javaee.style.usage.set.tag.attribute=Set tag attribute: <code>{0}="{1}"</code>
apply.javaee.style.processing.ejbs=Processing Enterprise JavaBeans
apply.javaee.style.processing.ejb=Calculating required changes for ''{0}''
apply.javaee.style.processing.interceptor=Calculating required changes for ''{0}''
apply.javaee.style.processing.home=Calculating required changes for ''{0}'' home interface removal
apply.javaee.style.processing.clients=Processing Enterprise JavaBeans clients

command.name.ejb.editing=EJB Editing
ejb.type.message.driven.bean=Message Driven Bean
ejb.fake.file.type=EJB fake file type

#ejb module editors
label.edit.cmp.field.description=&Description:
checkbox.edit.cmp.field.primary.key=&Primary Key
label.edit.cmp.field.name=&Name:
message.text.cmp.field.exists=CMP field ''{0}'' already exists.
message.text.cmp.field.name.not.valid=CMP field name ''{0}'' is not a valid identifier.
message.text.cmp.field.name.should.begin.with.a.lower.case.letter=CMP field name should begin with a lower case letter.
message.text.type.not.found=Type ''{0}'' not found.
label.edit.cmp.field.type=&Type:
dialog.title.choose.cmp.field.class=Choose CMP Field Class
column.name.edit.cmp.field.name=Name
column.name.edit.cmp.field.type=Type
column.name.edit.cmp.field.pk=PK
column.tooltip.edit.cmp.field.pk=Is part of primary key
button.rename.ejb.and.classes=&Rename EJB and Classes...
button.change.ejb.classes=&Change EJB Classes...
warning.text.class.does.not.exist=Class ''{0}'' does not exist
dialog.title.change.ejb.classes=Change EJB Classes
confirmation.text.class.does.not.exist.create.it=Class {0} does not exist. Do you want to create it?
confirmation.text.classes.do.not.exist.create.them=Classes\n{0}\ndo not exist. Do you want to create them?
message.title.change.ejb.classes=Change EJB Classes
dialog.title.choose.ejb.class=Choose EJB Class
label.ejb.class.properties.package=&Package:
dialog.title.choose.ejb.classes.package=Choose EJB Classes Package
label.ejb.class.properties.ejb.class=EJB &Class:
dialog.title.choose.ejb.home.interface=Choose EJB Home Interface
label.ejb.class.properties.remote.interface=&Home:
label.ejb.class.properties.local.home=L&ocal Home:
label.ejb.class.properties.remote=R&emote:
label.ejb.class.properties.local=Loc&al:
dialog.title.choose.ejb.remote.interface=Choose EJB Remote Interface
dialog.title.choose.ejb.local.home.interface=Choose EJB Local Home Interface
dialog.title.choose.ejb.local.interface=Choose EJB Local Interface
label.ejb.class.properties.primary.key.class=Primary &Key Class:
dialog.title.choose.ejb.primary.key.class=Choose EJB Primary Key Class
message.text.ejb.exists.in.ejb.facet=EJB ''{0}'' already exists in this EJB facet.
checkbox.edit.ejb.class.enable.local.interface=&Local Interface
checkbox.edit.ejb.class.enable.remote.interface=&Remote Interface
label.edit.ejb.class.cmp.version=CMP &Version
entity.bean.general.tab.description.bean.persistence=Bean-managed persistence
entity.bean.general.tab.description.container.persistence=Container-managed persistence, CMP version {0}
entity.bean.general.tab.description.container.persistence.cmp.undefined=Container-managed persistence
ejb.relationship.editor.general.tab=General
ejb.module.properties.general.tab=General
ejb.module.properties.assembly.descriptor.tab=Assembly Descriptor
ejb.module.properties.method.permissions.tab=Method Permissions
ejb.module.properties.ejb.relations.tab=EJB Relationships
ejb.module.properties.transaction.attributes.tab=Transaction Attributes
dialog.title.choose.entity.bean.primary.key.class=Choose Entity Bean Primary Key Class
label.entity.bean.properties.primary.key.class=&Primary Key Class:
border.entity.bean.properties.cmp.fields=CMP Fields
label.entity.bean.properties.abstract.schema.name=&Abstract Schema Name:
label.message.bean.properties.transaction.type=&Transaction type:
label.message.bean.properties.acknowledge.mode=&Acknowledge Mode:
label.message.bean.properties.durability=D&urability:
label.message.bean.properties.destination.type=D&estination type:
label.message.bean.properties.message.selector=&Message Selector:
label.message.bean.properties.activation.config=Activation Config
dialog.title.primary.key.class=Primary Key Class
label.pk.class.dialog.pk.class.cant.contain.compound.primary.key=<html>PK Class ''{0}'' can''t contain compound Primary Key.<br>Please either:<ul><li>Specify primary key class which can hold all CMP fields, or</li><li>Provide package and class names to create new Primary Key Class for you</li></html>
border.pk.class.dialog.primary.key.class.package=Primary Key Class Package:
dialog.title.choose.primary.key.class.package=Choose Primary Key Class Package
border.pk.class.dialog.primary.key.class.name=Primary Key Class Name:
label.session.bean.properties.transaction.type=Transaction type:
label.session.bean.properties.session.type=Session type:
checkbox.entity.bean.properties.reentrant=Reentrant
title.module.ejb.local.references=EJB Local References
title.module.ejb.remote.references=EJB Remote References
title.module.ejb.resource.environment.references=Resource Environment References
title.module.ejb.resource.references=Resource References
title.module.service.references=Web Service References
title.module.message.destination.references=Message Destination References
title.module.security.roles=Security Roles
title.module.ejb.environment.entries=Environment Entries
title.module.properties.general=General
title.module.properties.ejb.classes=EJB Classes
title.module.properties.specifics=Specifics
title.module.properties.entity.bean.specifics=Entity Bean Specifics
title.module.properties.session.bean.specifics=Session Bean Specifics
title.module.properties.message.driven.bean.specifics=Message Driven Bean Specifics
column.name.message.bean.activation.config.name=Name
column.name.message.bean.activation.config.value=Value
column.name.ejb.environment.entries.type=Type
column.name.ejb.environment.entries.value=Value
dialog.title.ejb.relationship.properties=EJB Relationship Properties
message.text.name.is.not.valid.identifier={0} is not a valid identifier
message.text.duplicate.role.names=Duplicate role names
message.text.cmr.field.0.already.defined=CMR field ''{0}'' already defined in {1}.
message.text.cmr.field.name.should.begin.with.a.lower.case.letter=CMR field name should begin with a lower case letter.
message.text.entity.bean.not.specified.for.cmr.field=Existing Entity EJB name should be specified

#relationships editor
checkbox.edit.relationship.enable.cmr.field=CMR Field
checkbox.edit.relationship.getter=Getter
checkbox.edit.relationship.setter=Setter
checkbox.edit.relationship.cascade.delete=Cascade Delete
label.edit.relationship.field.type=Field Type:
label.edit.relationship.field.name=Field Name:
label.edit.relationship.role.name=Role name:
label.edit.relationship.multiplicity=Multiplicity:
label.edit.relationship.ejb=EJB:
label.edit.relationship.description=&Description:
label.edit.relationship.relationship.name=Relationship &Name:
title.edit.module.configured.ejbs=Configured EJBs
title.edit.module.general.properties=General Properties
button.configure.application.server=Configure...
border.edit.nodule.modules.and.libraries.to.package=Modules and Libraries to Package
tooltip.text.primary.key.class=Primary Key Class
column.name.method.permissions.name=Name
column.name.method.permissions.excluded=Excluded
column.name.method.permissions.unchecked=Unchecked
message.text.no.ejbs.in.this.module=There are no EJBs and security roles in this module.<br>Method permissions are only available for existing EJBs.
dialog.title.create.new.0=Create {0}
dialog.title.edit.0=Edit {0}
label.text.choose.component.interface=Select EJB Component Interface to create reference to:
label.edit.ejb.reference.name=&Name:
label.edit.ejb.reference.type=&Type:
label.edit.ejb.reference.home.interface.class.name=&Home interface:
label.edit.ejb.reference.component.interface.class.name=&Remote interface:
label.edit.ejb.reference.link=&Link:
label.edit.ejb.reference.description=&Description:
column.name.message.destination.type=Type
column.name.message.destination.usage=Usage
column.name.message.destination.link=Link
column.name.ejb.reference.name=Name
column.name.ejb.reference.type=Type
column.name.ejb.reference.home=Home
column.name.ejb.reference.component=Component
column.name.ejb.reference.link=Link
column.name.description=Description
message.text.no.ejb.references.configured=No EJB references configured
column.name.service.reference.type=Type
column.name.service.reference.interface=Service Interface
column.name.service.reference.wsdl.file=WSDL file
column.name.ejb.resource.reference.type=Type
column.name.ejb.resource.reference.authentication=Authentication
column.name.ejb.resource.reference.scope=Scope
column.name.resource.environment.reference.type=Type
column.transaction.attributes.name=Name
column.transaction.attributes.transaction.attribute=Transaction Attribute
message.text.no.ejbs.in.this.module.no.transaction.attributes=There are no EJBs in this module.<br>Transaction attributes are only available for existing EJBs.
message.text.no.ejbs.in.this.module.no.interceptors=There are no EJBs in this module.
dialog.title.web.resource.directory.path=Web Resource Directory Path
dialog.title.web.resource.directory=Web Resource Directory
dialog.description.web.resource.directory=Choose web resource directory where web files will be stored.
label.new.web.root.web.resource.directory.path=Web resource directory &path:
confirmation.text.create.directory=Create the directory ''{0}'' ?
message.title.directory.not.found=Directory Not Found
command.name.creating.web.root.dir=creating dir
message.text.error.creating.directory=Error creating directory.\n{0}
message.text.web.resource.directory.should.be.located.under.module.root=Web resource directory should be located under module root.\nPlease press ''...'' (ellipsis) button to browse module root directories.
message.title.directory.not.in.module=Directory Not in Module
message.text.existing.web.resource.directory.configured.in.dir.which.includes.dir=<html><body>There is existing web resource directory configured in ''<b>{0}''</b>,\nwhich already includes current directory ''<b>{1}''</b>.</body></html>
message.title.conflicting.directory.found=Conflicting Directory Found
message.text.existing.web.resource.directory.configured.in.dir.which.will.be.included.in.dir=<html><body>There is existing web resource directory configured in ''<b>{0}''</b>,\nwhich will be included in current directory ''<b>{1}''</b>.</body></html>
message.text.cannot.find.file=Cannot find file ''{0}''
message.title.file.not.found=File Not Found
label.web.root.dialog.relative.path.in.deployment.directory=&Relative path in deployment directory:
jasper.validator.description=Jasper Validator

# validation
action.name.validate=Validate
action.description.validate=Run validation on all files in the selected items
action.text.validate.facet=Validate all files in facet ''{0}''
action.name.validate.location=Validate {0}
location.to.validate.jsp=file ''{0}''
location.to.validate.selected.jsps=selected files
location.to.validate.all.jsps.in.directory=all files in directory ''{0}''
location.to.validate.all.jsps.in.selected.directories=all files in selected directories

checkboxweb.module.editor.distributable=Distributable
message.text.cannot.find.jdk.for.module.set.jdk.for.the.module.or.project=Cannot find JDK for module ''{0}''. Please set JDK for the module or project.
message.text.remove.web.resource.directory=Remove web resource directory ''{0}''?
message.text.remove.selected.web.resource.directories=Remove selected web resource directories?
message.title.remove.web.resource.directory=Remove Web Resource Directory
column.name.edit.web.roots.web.resource.directory=Web Resource Directory
column.name.edit.web.roots..relative.to.deployment.root=Path Relative to Deployment Root
warning.duplicate.relative.deployment.path.text=Duplicate relative deployment path ''{0}''
message.title.unmark.web.resource.directory=Unmark Web Resource Directory
message.text.unmark.web.resource.directory=Unmark Web resource directory ''{0}''
column.name.edit.parameters.param.name=Param Name
column.name.edit.parameters.param.value=Param Value
message.text.no.parameters.configured=No parameters configured
j2ee.filter.string.representation=Filter ''{0}''
servlet.string.representation=Servlet ''{0}''
servlet.fake.file.type.description=Servlet fake file type
action.name.create.new.filter=Create New Filter
dialog.title.new.filter=New Filter
dialog.title.edit.filter=Edit Filter
message.title.choose.filter.class=Choose Filter Class
label.filter.properties.package=Packa&ge:
dialog.title.choose.filter.package=Choose Filter Package
label.filter.peoperties.filter.class=Filter &Class:
message.text.filter.exists=Filter ''{0}'' already exists in this Web facet.
message.title.filter.exists=Filter Already Exists
action.name.create.filter.mapping=Create Filter Mapping
column.name.filter.mapping.properties.filter=Filter
column.name.filter.mapping.properties.url.pattern=URL Pattern
column.name.filter.mapping.properties.servlet=Servlet
message.text.no.filters.configured=No filters configured in this web facet.<br>Please create filter first.
message.text.no.filter.mappings.configured=No filter mappings configured
action.name.create.new.listener=Create New Listener
dialog.title.new.listener=New Listener
label.listener.properties.package=&Package:
dialog.title.choose.listener.package=Choose Listener Package
label.edit.listener.listener.class=Listener &Class:
message.text.listener.exists=Listener ''{0}'' already exists in this Web facet.
message.title.listener.exists=Listener Already Exists
tooltip.text.filter.class=Filter ''{0}'' Class
tooltip.text.listener.class=Listener ''{0}'' Class
tooltip.text.servlet.class=Servlet ''{0}'' Class
tooltip.text.web.resource.directory=Web resource directory ({0})
action.name.create.new.servlet=Create New Servlet
action.description.create.new.servlet=Create new servlet
dialog.title.new.servlet=New Servlet
button.change.class=Change Class...
button.rename.servlet=Rename Servlet...
label.edit.servlet.class.name=Class name:
dialog.title.rename.servlet=Rename Servlet
label.rename.servlet.name=Servlet name:
servlet.class.name.unknown=Unknown
dialog.title.choose.class=Choose {0} Class
label.edit.servlet.load.order=Load &order:
checkbox.edit.servlet.load.on.startup=&Load on startup
button.change.servlet.jsp.file=Change Class...
dialog.title.jsp.file=JSP File
dialog.description.jsp.file=Choose JSP file for servlet ''{0}''.
servlet.jsp.file.name.unknown=Unknown
label.servlet.properties.package=&Package:

dialog.title.choose.package=Choose {0} Package
label.properties.class=&Class:
message.text.exists={0} ''{1}'' already exists in this Web facet.
column.name.servlet.mapping.properties.servlet=Servlet
column.name.servlet.mapping.properties.url.pattern=URL Pattern
message.text.no.servlets.configured=No servlets configured in this web facet.<br>Please create servlets first.
message.text.no.servlet.mappings.configured=No servlet mappings configured
border.edit.web.module.web.resource.directories=Web Resource Directories
title.servlet.properties.general=General
title.servlet.properties.servlet.class=Servlet Class
title.servlet.properties.servlet.initialization.params=Servlet Initialization Params
border.web.module.assembly.properties.filter.mappings=Filter Mappings
border.web.module.assembly.properties.servlet.mappings=Servlet Mappings
border.web.module.assembly.properties.context.parameters=Context Parameters
border.web.module.properties.servlets.configured=Servlets Configured
border.web.module.properties.filters.configured=Filters Configured
border.web.module.properties.general.settings=General Settings
border.web.module.properties.display.name.description=DISPLAY_NAME_DESCRIPTION
border.web.module.properties.general.properties=GENERAL_PROPERTIES
web.module.properties.assembly.descriptor.tab=Assembly Descriptor
default.run.configuration.name.unnamed=Unnamed
title.run.configuration.editor.server=Server
title.run.configuration.editor.deployment=Deployment
tooltip.facet.excluded.from.deployment.text=Facet is excluded from deployment
exception.text.application.server.not.specified=Application Server not specified
exception.text.application.server.0.not.configured=Application Server ''{0}'' is not configured
directory.description.working.directory=Working directory
exception.text.malformed.url=Malformed URL: ''{0}''
exception.text.no.facets.to.deploy=There are no facets to deploy
quickfix.popup.title.select.a.facet.to.deploy=Select a facet to deploy
quickfix.popup.title.select.an.artifact.to.deploy=Select an artifact to deploy
error.deployment.source.for.module.is.not.specified.message=Deployment source (archive or exploded directory) for ''{0}'' is not specified
exception.text.descriptor.not.defined=''{0}'' is not defined
exception.text.alternative.jre.not.specified=Alternative JRE is not specified

browser.launcher.name.system=System
label.run.configuration.properties.application.server=Application &server:
button.configure.acclication.server=&Configure...
dialog.title.vm.parameters=VM Options
border.run.configuration.editor.remote.connection.settings.group=Remote Connection Settings
exception.text.invalid.port.value=Invalid port value: {0}
label.run.configuration.editor.port=&Port:
label.run.configuration.editor.host=&Host:
border.run.configuration.editor.environment.variables=Environment Variables
checkbox.run.configuration.editor.pass.environment.variables=Pass environment variables
label.run.configuration.editor.shutdown.script=Shutdown script:
label.run.configuration.editor.startup.script=Startup script:
#0th parameter - action name (run, debug, profile etc)
label.run.configuration.editor.add.vm.parameters=<html><body>To {0} remote server JVM, it should be started with the following<br/>command line arguments (you may copy and paste them):</body></html>
message.text.run.configuration.editor.no.specific.parameters.needed=No specific parameters needed

action.name.build.on.frame.deactivation=Update Resources On Frame Deactivation
action.description.build.on.frame.deactivation=Update resources related to this process on frame deactivation
updating.policy.hot.swap.classes=&Hot Swap classes
updating.policy.redeploy=&Redeploy
updating.policy.update.classes.and.resources=Update &classes and resources
updating.policy.update.resources=&Update resources
updating.policy.restart.server=Restart &server
exception.text.address.is.in.use=Address {0} is already in use
dialog.title.restart.server=Restart Server
message.text.run.configuration.already.run.do.you.want.to.restart.in.1=Run configuration ''{0}'' is running. Do you want to restart the server in ''{1}'' mode?
message.text.run.configuration.already.run=Run configuration ''{0}'' is running.
confirmation.text.server.is.being.connected.disconnect=It seems you already have connected to ''{0}'' .\nDo you want to disconnect from server first?
message.title.server.connected=Server Already Connected
message.text.connected.to.server=Connected to server
message.text.disconnected.from.server=Disconnected from server
message.text.cannot.open.url=Cannot open URL. Please check this URL is correct:
message.title.open.url=Open URL
message.text.unable.to.connect=Unable to connect to the {0}
message.text.connected.to.the.server=Connected to the server
exception.text.error.connecting.exception.occured.with.message=Error Connecting to {0}.\nException occurred : {1}\nException message : {2}
action.name.delete=Delete
dialog.title.configure.vm.and.program.parameters=Configure VM and Program Parameters
label.edit.parameters.program.parameters=&Program Arguments:
checkbox.edit.script.properties.use.default=Use default
dialog.title.select.startup.script=Select Startup Script
dialog.title.select.shutduwn.script=Select Shutduwn Script
dialog.title.default.startup.script=Default Startup Script
dialog.title.default.shutdown.script=Default Shutdown Script
tooltip.text.script.parameters=Parameters...
column.name.edit.deployment.descriptors.type=Type
column.name.edit.deployment.descriptors.path=Path
border.edit.deployment.descriptors.deployment.descriptors.group=Deployment Descriptors
model.object.type.filter=Filter
model.object.type.listener=Listener
model.object.type.servlet=Servlet
dialog.title.cant.create.class=Can''t Create Class
message.text.error.running.configuration.exception.occured.with.message=Error running {0}.\nException occurred : {1}\nException message : {2}
exception.text.startup.script.is.not.specified=startup script is not specified
progress.text.jasper.validation.validating.path=Validating {0}
checkbox.cmp.field.properties.generate.setter.in.remote.interface=R&emote Interface
checkbox.cmp.field.properties.generate.setter.in.local.interface=Local &Interface
checkbox.cmp.field.properties.generate.getter.in.remote.interface=&Remote Interface
checkbox.cmp.field.properties.generate.getter.in.local.interface=&Local Interface
label.cmp.field.properties.generate.setter.in=Generate setter in:
label.cmp.field.properties.generate.getter.in=Generate getter in:
edit.servlet.jsp.file.add.library.button=Add Library...
ScriptInfo.error.startup.script.not.found=Startup script file not found
ScriptInfo.error.shutdown.script.not.found=Shutdown script file not found

# edit deployment descriptor dialog
combobox.deployment.descriptor.version=Deployment descriptor &version
error.deployment.descriptor.already.exists=Deployment descriptor on file ''{0}'' already exists
error.deployment.descriptor.target.in.use=Deployment descriptor target file ''{0}'' is in use
error.cannot.create.deployment.descriptor=Cannot create {0}\n{1}
title.edit.deployment.descriptor=Edit Deployment Descriptor
error.please.specify.path.to.deployment.descriptor=Please specify path to {0}
label.choose.or.create.deployment.descriptor.file=Choose existing XML file for {0} or specify directory to create new file.
deployment.descriptor.panel.directory.path.relative.to.deployment.root.label=Directory &path relative to deployment root:

# create appserver-specific deployment descriptor dialog
dialog.title.create.appserver.specific.descriptor=Create Application Server Specific Descriptor
label.appserver.text=&Application Server:
label.descriptor.type.text=&Descriptor:
label.descriptor.version.text=&Version:

intention.add.javaee.jar.text=Add {0} jars to module dependencies
dialog.title.choose.ejb.message.listener.interface=Choose EJB Message Listener Interface
dialog.title.choose.ejb.service.endpoint.interface=Choose EJB Service Endpoint Interface
label.ejb.class.properties.message.listener.interface=&Message Listener:
label.ejb.class.properties.service.endpoint.interface=&Service Endpoint:
class.role.service.endpoint.interface=Service Endpoint Interface
class.role.interceptor.class=Interceptor
property.message.driven.bean.activation.config.other=Other...
message.text.error.name.cannot.be.empty=Name cannot be empty
message.text.error.component.interface.name.should.be.not.empty=Component interface name should not be empty
message.text.error.home.interface.name.should.be.not.empty=Home interface name should not be empty
action.text.add.security.role=Add Security Role...
action.text.edit.security.role=Edit Security Role...
action.text.edit.security.role.0=Edit Security Role ''{0}''
action.text.remove.security.role=Remove Security Role...
action.text.remove.security.role.0=Remove Security Role ''{0}''
label.edit.security.role.name=&Name:
label.edit.security.role.description=&Description:
column.name.edit.cmp.field.local.getter=LG
column.tooltip.edit.cmp.field.local.getter=Has local getter
column.name.edit.cmp.field.local.setter=LS
column.tooltip.edit.cmp.field.local.setter=Has local setter
column.name.edit.cmp.field.remote.getter=RG
column.tooltip.edit.cmp.field.remote.getter=Has remote getter
column.name.edit.cmp.field.remote.setter=RS
column.tooltip.edit.cmp.field.remote.setter=Has remote setter
border.relationship.editor.role.1=Role 1
border.relationship.editor.role.2=Role 2
action.name.create.interceptor=Create Interceptor
border.interceptor.binding=Interceptor Bindings
column.name.ejb.business.tree.name=Name
column.name.ejb.business.tree.intercept=Intercept

migrate.entity.beans.to.persistence.module=Replace Entity Beans with CMP to Persistence Unit (Project may not compile)

ejb.validator.decription=EJB Validator
progress.validating.ejbs.text=Validating EJBs...

ejb.facet.display.name=EJB

javaeeapp.facet.display.name=JavaEE Application

javaee.facet.name.with.type={0} Facet ''{1}''

label.description.edit.resource.environment.reference.dialog=&Description:
label.type.edit.resource.environment.reference.dialog=&Type:
label.name.edit.resource.environment.reference.dialog=&Name:
label.name.edit.environment.entries.dialog=&Name:
label.value.edit.environment.entries.dialog=&Value:
label.type.edit.environment.entries.dialog=&Type:
label.description.edit.environment.entries.dialog=&Description:
label.name.edit.service.reference.dialog=&Name:
label.type.edit.service.reference.dialog=&Type:
label.service.interface.edit.service.reference.dialog=Service &interface:
label.jaxrpc.mapping.file.edit.service.reference.dialog=JAX-RPC &mapping file:
label.wsdl.file.edit.service.reference.dialog=&WSDL file:
label.service.qname.edit.service.reference.dialog=Service &QName:
label.description.edit.service.reference.dialog=&Description:
section.table.view.add=&Add...
section.table.view.add.0=&Add {0}...
section.table.view.edit=&Edit...
section.table.view.edit.0=&Edit {0}...
section.table.view.delete=&Delete...
section.table.view.delete.0=&Delete {0}...
label.name.edit.message.destination.reference.dialog=&Name:
label.type.edit.message.destination.reference.dialog=&Type:
label.usage.edit.message.destination.reference.dialog=Message Destination &Usage:
label.link.edit.message.destination.reference.dialog=Message Destination &Link:
label.description.edit.message.destination.reference.dialog=&Description:
label.name.edit.resource.reference.dialog=&Name:
label.type.edit.resource.reference.dialog=&Type:
label.authentification.edit.resource.reference.dialog=&Authentification:
label.description.edit.resource.reference.dialog=&Description:

title.choose.interceptor.method.types=Select Interceptor Methods to Implement
command.apply.interceptor.bindings.command=Modify Interceptor Bindings
dialog.title.edit.interceptor.bindings=Edit Interceptor ''{0}'' bindings
interceptor.method.container.node.title=Interceptor methods

dialog.title.error.no.deployment.descriptor=No deployment descriptor
dialog.message.error.no.web.xml=There is no web.xml file in this Web facet, so this operation cannot be performed.

label.select.server.to.open.text=Select server instance to open file:
title.open.file.in.browser.text=Open File in Browser
presentable.server.instance.to.open.text={0}: ''{1}''
action.open.jsp.file.in.browser.description=An application server instance must be run in order to open JSP file in browser

error.message.name.should.be.identifier=Name should be identifier
error.message.0.name.should.be.unique={0} name should be unique


checkbox.default.interceptor=&Default Interceptor
dialog.title.edit.ejb.ql.query=Edit EJB QL Query
usages.of.ejb.class=Usages of EJB &class
usages.of.servlet.class=Usages of Servlet &class
dialog.title.rename.0=Rename {0}
model.object.type.abstract.schema.name=Abstract Schema Name
command.name.create.0.1=Create {0} ''{1}''

wizard.javaee.app.included.facet.tab.name=Include Web and EJB Facets
wizard.web.exploded.dir.tab.name=Exploded Directory
wizard.web.roots.tab.name=Web Roots
wizard.descriptors.tab.name=Descriptors
label.deployment.descriptors.wizard.step.text=<html><body>Configure descriptors that will be used to deploy this facet.<br>You may add standard, proprietary and application server specific descriptors here.</body></html>
label.delete.deployment.descriptor.text=Delete selected deployment descriptor?
checkbox.also.delete.file.from.disk.text=&Also delete file from disk

action.name.edit.ejb.relationship=Edit EJB Relationship
action.name.delete.ejb.relationships=Delete EJB Relationships
action.name.delete.ejb.relationship=Delete EJB Relationship

wizard.ejb.step.tab.name=EJB Specification
wizard.step.ejb.version.top.label.text=Please specify Enterprise JavaBeans specification version.\nNote: existing descriptors if found will override these settings.
wizard.step.ejb.version.button.text1=Enterprise JavaBeans 1.&x
wizard.step.ejb.version.button.text2=Enterprise JavaBeans &2.0
wizard.step.ejb.version.button.text21=Enterprise JavaBeans 2.&1
wizard.step.ejb.version.button.text3=Enterprise JavaBeans &3.0
wizard.step.ejb.version.button.text.annos.only=Java @&Annotations Only (no ejb-jar.xml)
wizard.step.ejb.version.button.add.persistence=Add Java EE P&ersistence Support
value.should.either.0.or.1=Value should either {0} or {1}
inspection.group.display.name.application.server.inspections=Application Server Specific Inspections

template.node.ejb=EJB
template.node.java.code.templates=Java code templates
template.node.deployment.descriptors=Deployment descriptors
template.node.application=Application
template.node.web=Web

servlet.reference.canonical.text=Cannot resolve servlet ''{0}''.

appserver.library.display.name=Application Server {0, choice, 1#Library|2#Libraries}
libraries.node.text.application.server=Libraries contain classes that add up various functionality to your applications. \
  Libraries also include source files and JavaDocs that can help you develop your projects.<br><br> \
  \
  IntelliJ IDEA uses libraries to assist you with code completion, validation, error highlighting, etc.<br><br>\
  \
  Application server libraries are the part of an application server (WebSphere, WebLogic, Tomcat etc.) and are available to \
  your Web and Java EE applications that are configured with these servers.<br><br>\
  \
  Expand the node and select child items to manage Application server libraries that are installed in your system. <br><br> \
  \
  To attach a library to a module, select that module, click the Dependencies tab, click Add and specify the library location.
library.configure.appserver.title=Configure Application Server Libraries

#code style settings
title.j2ee.names=Java EE Names
title.entity.bean=Entity Bean
editbox.default.pk.class=Default PK Class:
label.prefix=Prefix:
label.suffix=Suffix:
editbox.j2eenames.ejb.class=EJB Class
editbox.j2eenames.home.interface=Home Interface
editbox.j2eenames.remote.interface=Remote Interface
editbox.j2eenames.local.home.interface=Local Home Interface
editbox.j2eenames.local.interface=Local Interface
editbox.j2eenames.ejb.name.tag=<ejb-name> tag
editbox.j2eenames.transfer.object=Transfer Object
editbox.j2eenames.servlet.class=Servlet Class
editbox.j2eenames.servlet.name.tag=<servlet-name> tag
editbox.j2eenames.filter.class=Filter Class
editbox.j2eenames.filter.name.tag=<filter-name> tag
editbox.j2eenames.listener.class=Listener Class
editbox.j2eenames.service.endpoint.interface=Service Endpoint Interface
label.j2eenames.session.bean=Session Bean
label.j2eenames.message.driven.bean=Message Driven Bean
label.j2eenames.servlet=Servlet
label.j2eenames.filter=Filter
label.j2eenames.listener=Listener

#intentions
intention.add.method.to.ejb.class.family=Add Method to EJB Class
intention.add.method.to.ejb.class.text=Add ''{0}'' to bean implementation class {1}
intention.add.method.to.ejb.class.error.no.impl.class.message=Bean implementation class was not found. No methods were generated.
intention.add.method.to.ejb.interface.family=Add Method to EJB Interface
intention.add.method.to.ejb.interface.text=Add ''{0}'' to bean interface
intention.add.method.to.ejb.interface.error.no.home.interface=Bean home interface class was not found. No methods were generated.
intention.add.method.to.ejb.interface.error.no.interface=Bean interface class was not found. No methods were generated.
intention.add.method.to.ejb.interface.command.name=Adding methods
intention.add.method.to.ejb.interface.chooser.title=Select interfaces
intention.add.method.to.ejb.interface.chooser.label=Add ''{0}'' to

#inspections
group.names.javaee.issues=Java EE issues
inspection.ejb.display.name=EJB Classes Errors
inspection.ejb.warning.display.name=EJB Classes Warnings
inspection.ejb.xml.display.name=EJB Descriptor Inspection
inspection.javaee.ejb.ql.display.name=EJB QL Problems
inspection.javaee.xml.display.name=Java EE Application Descriptor Inspection
inspection.javaee.web.xml.name=Web.xml errors
inspection.javaee.web.warnings.name=Web.xml warnings
inspection.javaee.web.xml.mime.type=MIME type
inspection.javaee.web.xml.mime.type.message=''{0}'' is not a valid MIME type
add.web.root=Setup {0} as Web Root
web.root.family=Setup Web Root

#build
generated.ant.build.build.j2ee.data.for.facet.description=Build configured Java EE directories and archives for facet ''{0}''
generated.ant.build.build.j2ee.archive.for.facet.description=Build Java EE archive for facet ''{0}''
generated.ant.build.build.exploded.dir.for.facet.description=Build exploded directory for facet ''{0}''
generated.ant.build.exploded.target.comment=Call the target to build exploded directory for facet ''{0}''.\n       Path to the exploded directory is specified by parameter ''{1}''
generated.ant.build.jar.target.comment=Call the target to build {0} archive for facet ''{1}''.\n       Path to the archive file is specified by parameter ''{2}''

#lang
terms.web.directory=web directory
terms.web.directory.element=web directory element

#actions
action.CreateStatelessBean.text=State_less Session Bean
action.CreateStatefulBean.text=State_ful Session Bean
action.CreateSingletonBean.text=Sin_gleton Session Bean
action.CreateContainerManagedEntityBeanAction.text=_CMP Entity Bean
action.CreateBeanManagedEntityBeanAction.text=_BMP Entity Bean
action.CreateMessageBean.text=_Message Bean
action.CreateTransferObject.text=_Transfer Object
action.CreateCMPField.text=_CMP Field
action.CreateEJBRelationship.text=EJB _Relationship
action.CreateEJBInterceptor.text=_Interceptor
action.CreateJSPAction.text=_Jsp
action.CreateJSPAction.description=Create new JSP file in this directory
action.CreateJSPXAction.text=Jsp_x
action.CreateJSPXAction.description=Create new JSPX file in this directory
action.CreateServletAction.text=_Servlet
action.CreateServletAction.description=Create new servlet
action.CreateFilterAction.text=_Filter
action.CreateFilterAction.description=Create new filter
action.CreateListenerAction.text=_Listener
action.CreateListenerAction.description=Create new listener
group.GeneratePersistenceMapping.text=Generate Persistence Mapping
action.GenerateEJBReference.text=@EJB Reference
action.GenerateResourceReference.text=@Resource Reference
action.GeneratePersistenceContextReference.text=@PersistenceContext/Unit Reference
action.GenerateInterceptorMethods.text=Interceptor Methods...
action.GenerateEntityListenerMethods.text=Entity Listener Methods...
action.GenerateEJBFinderOrSelectorMethod.text=EJB Finder/Selector Method...
action.jpa.AddJpaProviderSupport.text=Add JPA Provider Properties

action.OpenPersistenceERDiagramAction.text=ER Dia_gram
action.EditEntityListenerBindingsAction.text=Edit Entity Listener _Bindings...
action.EditInterceptorBindingsAction.text=Edit Interceptor _Bindings...
action.ValidateJsp.text=_Validate JSP
action.ValidateJsp.description=Validate selected JSP files
action.PackageFile.text=_Package file
action.PackageFile.description=Add selected file into exploded deployment directory or Java EE archive

facet.0.in.module.1.text={0} (in {1})
facet.0.in.module.1.text.detailed=''{0}'' facet (in module ''{1}'')
security.role.name.should.accord.to.nmtoken.pattern=Security role name should accord to NMTOKEN pattern
action.text.select.all=Select All
action.text.unselect.all=Unselect All
error.message.cyclic.dependency.between.facets=Cyclic dependency between {0} and {1}
plugin.com.intellij.javaee.description=Provides support for Servlets, EJB, JPA and other Java EE technologies.
group.JspActions.text=JSP Actions
group.JavaeeMigrationGroup.text=Migration Actions
group.NewGroupPersistence.text=New Group Persistence
browser.web.faced.not.configured=Please, configure Web Facet first!
browser.no.suitable.configuration.running=There is no configured/running web-servers found! Please, run any web-configuration and hit the Refresh button!

web.context.family=Web Context Family
web.context.fix=Set context folder to ''/'' for {0}
web.context.fix.for.directory=Set context folder to ''/'' for all files in {0} directory

action.ApplyJavaeeStyle.text=Apply EJB 3.0 Style
run.tab.title.output=Output
run.tab.title.deployment=Deployment
run.tab.title.server=Server
generate.context.param.action=Init Context Param

#transport
Form.TransportManagerConfigurable.type=Type:
Form.TransportManagerConfigurable.host=Host:
LocalTransportHost.name=Same file system

message.text.able.to.bind.yet.able.to.connect.too=It is possible to bind and connect to {0} at the same time - application server will probably compete with some other software on the port

readonly.occurences.found=Occurrences found in read-only files
progress.text=Looking for Usages
usageView.tabText=Refactoring Preview
usageView.usagesText=usages
usageView.need.reRun=Cannot perform refactoring operation.\nThere were changes in code after usages have been found.\nPlease perform usage search again.
usageView.doAction=&Do Refactor
statusBar.refactoring.result={0, choice, 1#1 occurrence|2#{0,number} occurrences} changed
statusBar.noUsages=No occurrences found
anonymousToInner.refactoring.name=Convert Anonymous to Inner
anonymousToInner.no.inner.class.name=Class name should be specified
inner.class.exists=Inner class named ''{0}'' is already defined\nin class ''{1}''
anonymousToInner.class.name.label.text=Class name:
anonymousToInner.make.class.static.checkbox.text=Make class &static
anonymousToInner.parameters.panel.border.title=Constructor Parameters
error.wrong.caret.position.method=Caret should be positioned inside method to be refactored
error.wrong.caret.position.constructor=Caret should be positioned inside constructor to be refactored
error.wrong.caret.position.method.or.class.name=Caret should be positioned at the name of method or class to be refactored
error.wrong.caret.position.method.or.variable.name=Caret should be positioned at the name of method or variable to be refactored
error.wrong.caret.position.anonymous=Caret should be positioned inside anonymous class to be refactored
error.wrong.caret.position.class=Caret should be positioned inside class to be refactored
error.wrong.caret.position.method.or.local.name=Caret should be positioned at the name of element to be refactored
error.wrong.caret.position.local.name=Caret should be positioned at the name of local variable to be refactored
error.wrong.caret.position.local.or.expression.name=Caret should be positioned at the name of local variable or expression to be refactored
error.wrong.caret.position.symbol.to.rename=Caret should be positioned at symbol to be renamed
error.wrong.caret.position.symbol.to.refactor=Caret should be positioned at symbol to be refactored
error.out.of.project.element=Selected {0} is not located inside project.
error.in.injected.lang.prefix.suffix=Selected {0} is located in the read-only part of injected language document
error.cannot.be.renamed=This element cannot be renamed
to.refactor=to refactor
error.cannot.resolve=Cannot resolve {0}
error.incorrect.data=Incorrect Data
error.wrong.name.input=Wrong name: {0}
error.not.supported.for.jsp={0} refactoring is not supported for JSP
changeClassSignature.refactoring.name=Change Class Signature
changeClassSignature.no.type.parameters=Class cannot have type parameters
changeClassSignature.parameters.panel.border.title=Parameters
changeClassSignature.bad.default.value=Wrong default value: ''{0}'' for parameter ''{1}''
changeClassSignature.class.label.text=Change signature of {0}
changeSignature.no.type.for.parameter=Specify type for parameter ''{0}''
changeSignature.no.type.for.exception=Specify type for exception
changeSignature.refactoring.name=Change Signature
column.name.name=Name:
changeSignature.default.value.column=Default Value
parameters.border.title=Parameters
changeSignature.exceptions.panel.border.title=Exceptions
changeSignature.propagate.parameters.title=Propa&gate Parameters...
changeSignature.propagate.exceptions.title=Propagate E&xceptions...
changeSignature.parameter.caller.chooser=Select Methods To Propagate New Parameters
changeSignature.exception.caller.chooser=Select Methods To Propagate New Exceptions
changeSignature.return.type.prompt=Return &type:
changeSignature.name.prompt=&Name:
name.prompt=&Name
signature.preview.border.title=Signature Preview
changeSignature.parameters.wont.propagate=Recursive propagation of parameter changes won't be performed
changeSignature.exceptions.wont.propagate=Recursive propagation of exception changes won't be performed
changeSignature.wrong.return.type=Wrong return type: ''{0}''
changeSignature.no.return.type=Return type is not specified
changeSignature.cannot.resolve.return.type=Return type ''{0}'' cannot be resolved.\nContinue?
changeSignature.wrong.type.for.parameter=Wrong type: ''{0}'' for parameter ''{1}''
changeSignature.wrong.type.for.exception=Wrong type: ''{0}'' for exception
changeSignature.vararg.not.last=Vararg parameter should be the last in method signature
changeSignature.no.default.value=New parameter ''{0}'' has been added.\nSpecify default value to be used in all existing calls of this method.
changeSignature.not.throwable.type=Wrong type ''{0}'' for exception, should extend java.lang.Throwable
changeSignature.cannot.resolve.parameter.type=Type ''{0}'' for parameter ''{1}'' cannot be resolved.\nContinue?
search.in.comments.and.strings=Search in &comments and strings
search.for.text.occurrences=Search for &text occurrences
visibility.as.is=&As is
visibility.escalate=&Escalate
visibility.public=Pu&blic
visibility.protected=Pr&otected
visibility.private=Pri&vate
visibility.package.local=Pac&kage local
visibility.border.title=Visibility
visibility.combo.title=&Visibility:
moveInstanceMethod.select.an.instance.parameter=Select an &instance parameter:
destination.package=Destination &package:
choose.destination.package=Choose Destination Package
interface.name.prompt=&Interface name:
package.for.new.interface=&Package for new interface:
turnRefsToSuper.change.usages.to=&Change usages of {0} to:
turnRefsToSuper.use.superclass.in.instanceof=&Use interface/superclass in instanceof
class.name.prompt=Class &name:
parameter.name.prompt=Parameter na&me\:
no.class.name.specified=No class name specified
no.parameter.name.specified=No parameter name specified
pass.outer.class.instance.as.parameter=Pass &outer class' instance as a parameter
pull.up.members.to=P&ull up members of {0} to:
members.to.be.pulled.up=Mem&bers to be pulled up
make.abstract=Make abstract
javadoc.for.abstracts=JavaDoc for abstracts
extractIncludeFile.name=Extract Include File
file.already.exist=File {0} already exists
file.already.exist.title=Extract Include File
name.for.extracted.include.file=&Name for extracted include file (default extension: {0})
extract.to.directory=Extract to &directory:
select.target.directory=Select target directory
select.target.directory.description=The file will be created in this directory
create.directory=Create directory
replace.inheritance.from=&Replace with delegation inheritance from:
field.name=&Field name:
inner.class.name=&Inner class name:
superclass.name=&Super class name:
delegate.members=Delegate mem&bers
generate.getter.for.delegated.component=Generate &getter for delegated component
package.for.new.superclass=&Package for new superclass:
package.for.original.class=&Package for original class:
package.for.original.interface=&Package for original interface:
ExtractSuperClass.superclass=Superclass
members.to.form.superclass=Mem&bers to form superclass
no.superclass.name.specified=No superclass name specified
extract.superclass.from=Extract superclass from:
extractSuper.extract=E&xtract {0}
extractSuper.rename.original.class=R&ename original class and use {0} where possible
extractSuper.rename.original.class.to=&Rename original class to:
extractSuperInterface.interface=Interface
members.to.form.interface=Mem&bers to form interface
extract.interface.from=Extract interface from:
rename.implementation.class.to=Rename implementation class to:
rename.original.interface.to=Rename original interface to:
extractSuperInterface.javadoc=JavaDoc
no.interface.name.specified=No interface name specified
replace.all.occurences=Replace &all occurrences ({0} occurrences)
declare.final=Declare &final
introduce.parameter.title=Extract Parameter
parameter.of.type=Parameter of &type:
use.variable.initializer.to.initialize.parameter=Use variable &initializer to initialize parameter
replace.fields.used.in.expressions.with.their.getters=Replace fields used in expressions with their getters
do.not.replace=Do &not replace
replace.fields.inaccessible.in.usage.context=Replace fields &inaccessible in usage context
replace.all.fields=&Replace all fields
class.does.not.exist.in.the.project=Class does not exist in project. Do you want to create it?
no.field.name.specified=No field name specified
field.exists=Field with name {0}\nalready exists in class ''{1}''.\nContinue?
choose.destination.class=Choose Destination Class
replace.write.access.occurrences=Rep&lace write access occurrences

# introduce variable
introduce.variable.title=Extract Variable
refactoring.introduce.context.error=Cannot perform refactoring in this context
refactoring.introduceVariable=Extract Variable refactoring
refactoring.introduce.selection.error=Cannot perform refactoring using selected element(s)
refactoring.introduce.name.error=Incorrect name
refactoring.introduce.name.used.error=This name is already used
refactoring.introduce.variable.scope.error=Name clashes with existing variable
refactoring.introduce.placing.error=Cannot extract {0} variable

variable.of.type=Variable of &type:
convert.to.instance.method.title=Convert To Instance Method
convertToInstanceMethod.method.is.not.static=Cannot perform the refactoring\nMethod {0} is not static
convertToInstanceMethod.no.parameters.with.reference.type=There are no parameters that have reference type
convertToInstanceMethod.all.reference.type.parametres.have.unknown.types=All reference type parameters have unknown types
convertToInstanceMethod.all.reference.type.parameters.are.not.in.project=All reference type parameters have types that are not in project
cannot.perform.refactoring=Cannot perform refactoring.
move.instance.method.title=Move Instance Method
move.method.is.not.supported.for.constructors=Move method is not supported for constructors
move.method.is.not.supported.for.generic.classes=Move method is not supported for generic classes
move.method.is.not.supported.when.method.is.part.of.inheritance.hierarchy=Move method is not supported when method is a part of inheritance hierarchy
synthetic.jsp.class.is.referenced.in.the.method=Synthetic jsp class is referenced in method
there.are.no.variables.that.have.reference.type=There are no variables that have reference type
all.candidate.variables.have.unknown.types=All candidate variables have unknown types
all.candidate.variables.have.types.not.in.project=All candidate variables have types that are not in project
use.interface.where.possible.title=Use Interface Where Possible
interface.does.not.have.base.interfaces=Interface {0} does not have base interfaces
the.field.should.be.declared.in.a.class=The field should be declared in a class
encapsulate.fields.title=Encapsulate Fields
fields.to.be.refactored.should.belong.to.the.same.class=Fields to be refactored should belong to the same class
encapsulate.fields.refactoring.cannot.be.applied.to.interface=Encapsulate fields refactoring cannot be applied to interface
extract.interface.title=Extract Interface
extract.interface.command.name=Extracting interface {0} from {1}
extract.method.title=Extract Method
selected.block.contains.invocation.of.another.class.constructor=Selected block contains invocation of another class constructor
selected.block.should.represent.a.set.of.statements.or.an.expression=Selected block should represent a set of statements or an expression
press.escape.to.remove.the.highlighting=Press Escape to remove the highlighting
extract.superclass.title=Extract Superclass
extract.superclass.command.name=Extracting superclass {0} from {1}
superclass.cannot.be.extracted.from.an.interface=Superclass cannot be extracted from interface
superclass.cannot.be.extracted.from.an.enum=Superclass cannot be extracted from enum
replace.inheritance.with.delegation.title=Replace Inheritance With Delegation
class.is.interface={0} is an interface.
class.does.not.have.base.classes.or.interfaces=Class {0} does not have base classes or interfaces
inline.title=Inline
introduce.constant.title=Extract Constant
introduce.selection.error=Cannot perform refactoring using selected element(s)
selected.expression.cannot.be.a.constant.initializer=Selected expression cannot be a constant initializer
variable.does.not.have.an.initializer=Variable {0} does not have an initializer.
initializer.for.variable.cannot.be.a.constant.initializer=Initializer for variable {0} cannot be a constant initializer
cannot.introduce.field.in.interface=Cannot extract field in the interface
introduce.field.title=Extract Field
selected.block.should.represent.an.expression=Selected block should represent an expression
is.not.supported.in.the.current.context={0} is not supported in current context
type.of.the.selected.expression.cannot.be.determined=Type of selected expression cannot be determined.
selected.expression.has.void.type=Selected expression has void type.
to.rename=to rename
to.delete.with.usage.search=to delete (with usage search)
unknown.expression.type=Unknown expression type.
invalid.expression.context=Invalid expression context.
refactoring.is.not.supported.in.the.current.context={0} refactoring is not supported in the current context
cannot.introduce.variable.in.super.constructor.call=Cannot extract variable in super constructor call
is.modified.in.loop.body={0} is modified in loop body
introducing.variable.may.break.code.logic=Introducing variable may break code logic
no.selection=No selection.
selection.does.not.form.a.fragment.for.extraction=Selection does not form a fragment for extraction
cannot.extract.selected.elements.into.include.file=Cannot extract selected elements into include file
the.language.for.selected.elements.has.no.associated.file.type=The language for selected elements has no associated file type
extract.include.file.title=Extract include file
replace.fragment=Replace Fragment
idea.has.found.fragments.that.can.be.replaced.with.include.directive={0} has found fragments that can be replaced with include directive\nDo you want to review them?
remove.duplicates.command=Remove Duplicates
make.method.static.title=Make Method Static
constructor.cannot.be.made.static=Constructor cannot be made static
this.member.does.not.seem.to.belong.to.any.class=This member does not seem to belong to any class
member.is.already.static=Member is already static
cannot.make.abstract.method.static=Cannot make abstract method static
inner.classes.cannot.have.static.members=Inner classes cannot have static members
pull.members.up.title=Pull Members Up
the.caret.should.be.positioned.inside.a.class.to.pull.members.from=Caret should be positioned inside a class to pull members from
class.does.not.have.base.classes.interfaces.in.current.project={0} does not have base classes/interfaces in current project
pullUp.command=Pulling members up from {0}
push.members.down.title=Push Members Down
the.caret.should.be.positioned.inside.a.class.to.push.members.from=Caret should be positioned inside a class to push members from
move.title=Move
the.caret.should.be.positioned.at.the.class.method.or.field.to.be.refactored=Caret should be positioned at the class, method or field to be refactored
select.refactoring.title=Select Refactoring
what.would.you.like.to.do=What would you like to do?
move.packages.to.another.package=Move {0} &packages to another package
move.package.to.another.package=Move &package ''{0}'' to another package
move.directories.to.another.source.root=Move {0} directories to &another source root
move.directory.to.another.source.root=Move directory {0} to &another source root
move.inner.class.to.upper.level=Move &inner class {0} to upper level
move.inner.class.to.another.class=&Move inner class {0} to another class
move.nonstatic.class.from.jsp.not.supported = Moving non-static classes from JSP page is not supported
package.occurs.in.package.prefixes.of.the.following.source.folders.n=Package {0} occurs in package prefixes of the following source folders:\n
these.package.prefixes.will.be.changed=These package prefixes will be changed.
rename.title=Rename
rename.not.supported=Operation is not supported
multiple.directories.correspond.to.package=Multiple directories correspond to package\n
directories.and.all.references.to.package.will.be.renamed=\n\nDo you want to rename the whole package or directory \n{0} only?
rename.package.button.text=Rename &package
rename.directory.button.text=Rename &directory
rename.directories= Rename &all
rename.current.directory= Rename &current
move.current.directory= Move &current
move.directories= Move &all
warning.title=Warning
replace.constructor.with.factory.method.title=Replace Constructor With Factory Method
class.does.not.have.implicit.default.constructor=Class {0} does not have implicit default constructor
would.you.like.to.replace.default.constructor.of.0.with.factory.method=Would you like to replace default constructor of {0} with factory method?
refactoring.is.not.supported.for.local.and.jsp.classes=Refactoring is not supported for local and JSP classes
refactoring.is.not.supported.for.jsp.classes=Refactoring is not supported for JSP classes
class.is.abstract={0} is abstract.
method.is.not.a.constructor=Method is not a constructor
safe.delete.title=Safe Delete
replace.temp.with.query.title=Replace Temp with Query
cannot.replace.temp.with.query.in.interface=Cannot replace temp with query in interface
variable.has.no.initializer=Variable {0} has no initializer
variable.has.no.dominating.definition=Cannot find a single definition to inline
variable.is.never.used=Variable {0} is never used
variable.is.accessed.for.writing=Variable ''{0}'' is accessed for writing
variable.is.accessed.for.writing.and.used.with.inlined=Another variable ''{0}'' definition is used together with inlined one
only.fields.variables.of.methods.of.valid.type.can.be.considered=Only fields, variables, method parameters\u00A0or methods of valid type can be considered.
unable.to.start.type.migration=Unable to start type migration
replace.method.code.duplicates.title=Replace Code Duplicates
locate.caret.inside.a.method=Locate caret inside a member
replace.with.method.call.does.not.work.for.constructors=Replace With Method Call does not work for constructors
method.does.not.have.a.body=Method {0} does not have a body
method.has.an.empty.body=Method {0} has an empty body.
idea.has.not.found.any.code.that.can.be.replaced.with.method.call={0} has not found any duplicates
method.duplicates.found.message={0, choice, 1#1 code fragment|2#{0,number} code fragments} found
0.with.1.visibility.is.not.accessible.from.2={0} with {1} visibility won''t be accessible from {2}
0.contains.call.with.null.argument.for.parameter.1={0} contains call with null argument for parameter {1}
no.members.selected=No members selected
0.already.exists.in.the.target.class={0} already exists in the target class.
0.is.1.and.will.not.be.accessible.from.2.in.the.target.class={0} is {1} and will not be accessible from {2}.
renamed.class.will.hide.0.in.1=Renamed class will hide {0} in {1}
there.is.already.a.0.it.will.conflict.with.the.renamed.1=There is already a {0}. It will conflict with the renamed {1}
0.will.override.renamed.1={0} will override renamed {1}
0.will.hide.renamed.1={0} will hide renamed {1}
there.is.already.a.0.in.the.1.it.will.conflict.with.the.renamed.parameter=There is already a {0} in the {1}. It will conflict with the renamed parameter.
do.you.want.to.process.overriding.methods.with.covariant.return.type=Do you want to process overriding methods\nwith covariant return type?
changing.signature.of.0=Changing signature of {0}
there.is.already.a.0.in.1.it.will.conflict.with.the.new.parameter=There is already a {0} in {1}. It will conflict with the new parameter.
0.to.change.signature={0} to change signature
New.name.of.method.is.not.java.identifier=New name of method is not Java identifier
references.to.be.changed=References to be changed {0}
source.folder.0.has.package.prefix.1=Source folder {0} has package prefix ''{1}''\nPackage ''{2}'' cannot be created there.
javadoc.as.is=&As is
javadoc.copy=&Copy
javadoc.move=&Move
replace.instance.qualifiers.with.class.references=Replace instance qualifiers with class references
make.0.static=Make {0} Static
0.already.has.parameter.named.1.use.this.name.anyway={0} already has a parameter named ''{1}''.\nUse this name anyway?
this.method=This method
add.object.as.a.parameter.with.name=Add &object as a parameter with name:
add.object.as.a.parameter.to.constructors.with.name=Add &object as a parameter to constructors with name:
add.parameters.for.fields=Add parameters for &fields:
add.parameters.for.fields.to.constructors=Add parameters for &fields to constructors:
0.already.contains.field.1={0} already contains field {1}
0.is.already.overridden.in.1={0} is already overridden in {1}. Method will not be pushed down to that class.
0.already.contains.inner.class.named.1={0} already contains inner class named {1}
0.uses.1.which.is.pushed.down={0} uses {1}, which is pushed down
refactoring.cannot.be.performed=Refactoring cannot be performed
there.is.already.a.0.it.will.conflict.with.an.introduced.parameter=There is already a {0}. It will conflict with the introduced parameter
introduce.parameter.command=Extracting parameter to {0}
parameter.initializer.contains.0.but.not.all.calls.to.method.are.in.its.class=Parameter initializer contains {0}, but not all calls to method are in its class
0.is.not.accessible.from.1.value.for.introduced.parameter.in.that.method.call.will.be.incorrect={0} is not accessible from {1}. Value for introduced parameter in that method call will be incorrect.
use.interface.superclass.in.instanceof=Use interface/superclass in instanceof
introduce.parameter.to.method=Extract parameter to method:
introduced.variable.will.conflict.with.0=Introduced variable will conflict with {0}
column.name.type=Type:
column.name.any.var=Any var
column.name.default.value=Default value
caller.chooser.caller.method=Caller Method
caller.chooser.callee.method=Callee Method
caller.chooser.looking.for.callers=Looking For Callers...
copy.class.clone.0.1=Clone {0} {1}
copy.class.copy.0.1=Copy {0} {1}
invalid.target.package.name.specified=Invalid target package name specified
invalid.target.package.name.default.package=Cannot move classes to default package
error.title=Error
cannot.create.directory=Cannot create directory
no.target.directory.specified=No target directory specified
copy.files.new.name.label=&New name:
no.new.name.specified=No new name specified
copy.files.copy.specified.files.label=Copy specified files
copy.files.copy.specified.directories.label=Copy specified directories
copy.files.copy.specified.mixed.label=Copy specified files and directories
copy.files.to.directory.label=To &directory:
the.file.will.be.copied.to.this.directory=File will be copied to this directory
copy.files.clone.title=Clone
copy.files.copy.title=Copy
copy.files.clone.file.0=Clone file {0}
copy.files.copy.file.0=Copy file {0}
copy.files.clone.directory.0=Clone directory {0}
copy.files.copy.directory.0=Copy directory {0}
copy.handler.copy.class=Copy Class
copy.handler.clone.class=Clone Class
copy,handler.clone.files.directories=Clone files/directories
copy.handler.copy.files.directories=Copy files/directories
encapsulate.fields.get.access.checkbox=&Get access
encapsulate.fields.set.access.checkbox=&Set access
encapsulate.fields.use.accessors.even.when.field.is.accessible.checkbox=&Use accessors even when field is accessible
encapsulate.fields.private.radio=Pr&ivate
encapsulate.fields.protected.radio=Pro&tected
encapsulate.fields..package.local.radio=Package lo&cal
encapsulate.fields.encapsulate.border.title=Encapsulate
encapsulate.fields.options.border.title=Options
encapsulate.fields..encapsulated.fields.visibility.border.title=Encapsulated Fields' Visibility
encapsulate.fields.accessors.visibility.border.title=Accessors' Visibility
encapsulate.fields.fields.to.encapsulate.border.title=Fields to Encapsulate
encapsulate.fields.field.column.name=Field
encapsulate.fields.getter.column.name=Getter
encapsulate.fields.setter.column.name=Setter
encapsulate.fields.no.fields.selected=No fields selected
encapsulate.fields.command.name=Encapsulating fields in {0}
encapsulate.fields.getter.exists=There is already method {0} which differs from getter {1} by return type only
encapsulate.fields.setter.exists=There is already method {0} which differs from setter {1} by return type only
encapsulate.fields.fields.to.be.encapsulated=Fields to be encapsulated
invocations.to.be.inlined=Invocations to be inlined {0}
classes.to.push.down.members.to=Classes to push down members to {0}
references.in.code.to.elements.from.migration.map=References in code to elements from migration map "{0}" {1}
press.the.do.migrate.button=Press the "Do Migrate" button at the bottom of the search results panel\nto migrate using the migration map "{0}"\n
declaration.s.to.be.generified=Declaration(s) to be generified {0}
occurences.to.be.migrated=Occurrences to be migrated {0}
references.in.code=References in code {0}
safe.delete.comment.occurences.header=Occurrences found in comments, strings and non-code files {0}. Those occurrences will not be changed
move.single.element.elements.header={0} to be moved to {1}
references.in.code.to.0.1=References in code to {0} {1}
move.classes.elements.header=Classes to be moved to {0}
move.packages.elements.header=Packages to be moved to {0}
references.found.in.code=References found in code
references.found.in.generated.code=References found in generated code
comments.elements.header=Occurrences found in comments, strings and non-code files {0}
move.files.elements.header=Files to be moved to {0}
move.directories.elements.header=Directories to be moved to {0}
make.static.description.label=Make {0} {1} static
there.is.already.a.0.in.1=There is already a {0} in {1}
0.uses.non.static.1.which.is.not.passed.as.a.parameter={0} uses non-static {1}, which is not passed as a parameter
0.uses.1.which.needs.class.instance={0} uses {1}, which needs class instance
method.0.is.overridden.by.1=Method {0} is overridden by {1}
make.static.command=Making {0} static
introduce.parameter.elements.header=Adding parameter to a method
annotate.field.as.nonnls.checkbox=Annotate &field as @NonNls
replace.all.occurences.checkbox=Replace &all occurrences
introduce.constant.introduce.to.class=Extract to &class (fully qualified name)\:
introduce.field.static.field.of.type=Static field of &type:
introduce.field.field.of.type=Field of &type:
replace.all.occurrences.of.expression.0.occurrences=Replace &all occurrences ({0})
delete.variable.declaration=&Delete variable declaration
initialize.in.border.title=Initialize in
setup.method.radio=&setUp method
current.method.radio=Current &method
field.declaration.radio=Field &declaration
class.constructors.radio=Class &constructor(s)
convert.local.to.field.title=Convert Local to Field
introduce.constant.field.of.type=Constant (static final field) of &type:
extract.subclass.command=Extract Subclass
extract.superclass.elements.header=Extract superclass with members to directory
declare.static.checkbox=Declare &static
declare.varargs.checkbox=Declare v&arargs
declare.folded.parameters=&Fold parameters
extract.method.method.panel.border=Method
there.are.multiple.exit.points.in.the.selected.code.fragment=There are multiple exit points in the selected code fragment
move.members.elements.header=Members to be moved
move.members.move.members.from.label=Move members from:
move.members.to.fully.qualified.name.label=To (fully qualified name):
move.members.members.to.be.moved.border.title=Mem&bers to be moved (static only)
no.destination.class.specified=No destination class specified
0.is.not.a.legal.fq.name=''{0}'' is not a legal FQ-name
create.class.command=Create class {0}
source.and.destination.classes.should.be.different=Source and destination classes should be different
cannot.move.inner.class.0.into.itself=Cannot move inner class {0} into itself
class.0.does.not.exist=Class {0} does not exist.\nDo you want to create it?
move.members.title=Move Members
members.to.be.moved.should.belong.to.the.same.class=Members to be moved should belong to the same class
field.0.is.not.static=Field {0} is not static.\n{1} refactoring is supported for static members only.
0.refactoring.cannot.be.applied.to.constructors={0} refactoring cannot be applied to constructors
method.0.is.not.static=Method {0} is not static.\n{1} refactoring is supported for static members only.
inner.class.0.is.not.static=Inner class {0} is not static.\n{1} refactoring is supported for static members only.
inline.field.title=Inline Field
0.refactoring.is.supported.only.for.final.fields={0} refactoring is supported only for final fields
no.initializer.present.for.the.field=No initializer present for the field
field.0.is.never.used=Field {0} is never used
inline.field.command=Inline field {0}
0.is.used.for.writing.in.1={0} is used for writing in {1}
0.will.not.be.accessible.from.1.after.inlining={0} will not be accessible from {1} after inlining
inline.field.field.name.label=Field {0}
inline.field.border.title=Inline
all.references.and.remove.the.field=Inline &all references and remove the field
this.reference.only.and.keep.the.field=Inline this reference only and &keep the field
all.references.and.remove.super.class=Inline &all references and remove the class
this.reference.only.and.keep.super.class=Inline this reference only and &keep the super class
inline.variable.title=Inline Variable
variable.is.referenced.in.multiple.files=Variable {0} is referenced in multiple files
variable.is.never.used.before.modification=Variable {0} is never used before modification
inline.command=Inline {0}
inline.local.variable.prompt=Inline local variable ''{0}''?
inline.local.variable.definition.prompt=Inline local variable ''{0}'' definition?
occurences.string=({0,choice,1#1 occurrence|2#{0,number} occurrences})
inline.method.title=Inline Method
inline.method.method.label=Method {0}
inline.method.border.title=Inline
all.invocations.and.remove.the.method=Inline &all invocations and remove the method
all.invocations.in.project=&All invocations in project
this.invocation.only.and.keep.the.method=Inline this invocation only and &keep the method
refactoring.cannot.be.applied.to.abstract.methods={0} refactoring cannot be applied to abstract methods
refactoring.cannot.be.applied.no.sources.attached={0} refactoring cannot be applied: no sources attached
refactoring.is.not.supported.when.return.statement.interrupts.the.execution.flow={0} refactoring is not supported when return statement interrupts the execution flow
refactoring.is.not.supported.for.recursive.methods={0} refactoring may not be applied to remove recursive methods.\nYou can inline only individual method calls.
refactoring.cannot.be.applied.to.vararg.constructors={0} refactoring cannot be applied to vararg constructors
refactoring.cannot.be.applied.to.inline.non.chaining.constructors={0} refactoring cannot be applied to inline non-chaining constructors
inline.method.command=Inlining method {0}
inlined.method.implements.method.from.0=Inlined method implements method from {0}
inlined.method.overrides.method.from.0=Inlined method overrides method from {0}
0.that.is.used.in.inlined.method.is.not.accessible.from.call.site.s.in.1={0} that is used in inlined method is not accessible from call site(s) in {1}
inline.method.elements.header=Method to inline
inline.field.elements.header=Field to inline
inline.class.elements.header=Class to inline
inline.vars.elements.header=Variable to inline
interface.has.been.successfully.created=Interface {0} has been successfully created
class.has.been.successfully.created=Class {0} has been successfully created
use.super.references.prompt=At this stage {0} can analyze usages of {1} \nand replace them with usages of {2} where possible.\nDo you want to proceed?
analyze.and.replace.usages=Analyze and Replace Usages
there.are.multiple.output.values.for.the.selected.code.fragment=There are multiple output values for the selected code fragment:
expression.result=expression result
boolean.method.result=boolean method result
instances.of.0.upcasted.to.1.were.found=Instances of {0} upcasted to {1} were found. If you continue, they will be shown in a separate Find tab.
0.uses.1.of.an.instance.of.a.2={0} uses {1} of an instance of a {2}
0.upcasts.an.instance.of.1.to.2={0} upcasts an instance of {1} to {2}
0.will.no.longer.override.1={0} will no longer override {1}
replacing.inheritance.with.delegation=Replacing inheritance with delegation
instances.casted.to.java.lang.object=Instances casted to java.lang.Object
instances.upcasted.to.object=Instances upcasted to Object
instances.upcasted.to.java.lang.object.found=Instances upcasted to java.lang.Object found
replace.inheritance.with.delegation.command=Replacing inheritance with delegation in {0}
replace.inheritance.with.delegation.elements.header=Replace inheritance with delegation
# Inline included file
inline.included.file.title=Inline included file
the.caret.should.be.positioned.on.the.included.file.to.inline=Caret should be positioned on the included file reference to inline

inline.the.contents.include.prompt=Inline the contents of ''{0}''?
remove.include.prompt=Included file is no longer used. Remove it?
delete.include.command=Delete {0}
make.static.elements.header={0} to be made static
field.0.is.not.accessible=Field {0} is not accessible from {1}
fields.0.are.not.accessible=Fields {0} are not accessible from {1}
0.is.not.static.it.cannot.be.moved.to.the.interface={0} is not static. It cannot be moved to the interface
0.is.not.initialized.in.declaration.such.fields.are.not.allowed.in.interfaces={0} is not initialized in declaration. Such fields are not allowed in interfaces.
0.already.contains.a.1={0} already contains a {1}
0.uses.1.which.is.not.accessible.from.the.superclass={0} uses {1}, which is not accessible from the superclass
0.uses.1.which.is.not.moved.to.the.superclass={0} uses {1}, which is not moved to the superclass
push.members.from.0.down.label=Push members from {0} down
members.to.be.pushed.down.panel.title=Mem&bers to be pushed down
keep.abstract.column.header=Keep abstract
push.down.javadoc.panel.title=JavaDoc for abstracts
push.down.members.elements.header=Push down members from
interface.0.does.not.have.inheritors=Interface {0} does not have inheritors
class.0.does.not.have.inheritors=Class {0} does not have inheritors
push.down.will.delete.members=Pushing members down will result in them being deleted. Would you like to create a new subclass?
edit.migration.map.title=Edit Migration Map
migration.map.name.prompt=Map name:
migration.map.description.label=Map description:
migration.add.button=Add...
migration.edit.button=Edit...
migration.remove.button=Remove
migration.move.up.button=Move Up
migration.move.down.button=Move Down
migration.type.column.header=Type
migration.old.name.column.header=Old name
migration.new.name.column.header=New name
migration.package.with.subpackages=Package with subpackages
migration.package=Package
migration.class=Class
edit.migration.entry.title=Edit Class/Package Migration Description
migration.entry.package=Package
migration.entry.class=Class
migration.entry.old.name=Old name:
migration.entry.new.name=New name:
select.migration.map=Select migration map:
migration.new.button=New...
migration.dialog.title=Package and Class Migration
migration.dialog.ok.button.text=Run
migration.map.set.migration.maps=Migration maps
migration.no.usages.found.in.the.project=No Usages Found in the Project
migration.title=Migration
move.classes.move.to.another.source.folder=Move to another source &folder
move.specified.classes=Move specified classes
move.specified.packages=Move specified packages
move.single.class.or.package.name.label=Move {0} {1}
please.enter.a.valid.target.package.name=Please enter a valid target package name
package.does.not.exist=Package {0} does not exist.\nDo you want to create it?
move.package.refactoring.cannot.be.applied.to.default.package=Move Package refactoring cannot be applied to default package
move.class.refactoring.cannot.be.applied.to.anonymous.classes=Move Class refactoring cannot be applied to anonymous classes
moving.local.classes.is.not.supported=Moving local classes is not supported
there.are.going.to.be.multiple.destination.files.with.the.same.name=There are going to be multiple destination files with the same name
do.you.wish.to.continue=Do you wish to continue?
all.these.directories.will.be.moved.and.all.references.to.0.will.be.changed=All these directories will be moved, and all references to {0} \nwill be changed.
select.source.root.chooser.title=Select Source Root
moving.directories.command=Moving directories
0.uses.a.package.local.1={0} uses package-local {1}
a.package.local.class.0.will.no.longer.be.accessible.from.1=Package-local class {0} will no longer be accessible from {1}
element.will.no.longer.be.accessible={0} will no longer be accessible from {1}
move.instance.method.command=Move Instance method
move.instance.method.elements.header=Move instance method
move.method.this.parameter.label=Select a name for ''{0}.this'' parameter
move.method.enter.a.valid.name.for.parameter=Please Enter a Valid name for Parameter
0.is.an.interface.that.has.no.implementing.classes={0} is an interface that has no implementing classes
0.is.an.interface.method.implementation.will.be.added.to.all.directly.implementing.classes={0} is an interface. \nMethod implementation will be added to all directly implementing classes.\n Proceed?
move.inner.to.upper.level.title=Move Inner to Upper Level
move.inner.class.command=Moving inner class {0}
0.will.become.inaccessible.from.1={0} will become inaccessible from {1}
move.specified.files=Move specified files
move.specified.directories=Move specified directories
move.file.0=Move file {0}
move.directory.0=Move directory {0}
move.files.to.directory.label=To directory:
the.file.will.be.moved.to.this.directory=File will be moved to this directory
searching.for.variables=Searching for variables
no.usages.can.be.replaced=No usages of {0} \ncan be replaced with usages of {1}
turn.refs.to.super.command=Replacing usages of {0} with {1}
references.to.0.to.be.replaced.with.references.to.1=References to ''{0}'' to be replaced with references to ''{1}''
factory.method.name.label=Factory method name:
replace.constructor.with.factory.target.fq.name=In (fully qualified name):
class.0.not.found=Class {0} not found.
class.0.is.not.accessible.from.target.1=Class {0} is not accessible from target {1}
target.0.is.not.accessible.from.1=Target {0} is not accessible from {1}
constructor.being.refactored.is.used.in.initializer.of.0=Constructor being refactored is used in initializer of {0}. Non-static factory of inner class{1} cannot be used in this context. Resulting code will not compile.
replace.constructor.0.with.a.factory.method=Replace constructor {0} with a factory method
replace.default.constructor.of.0.with.a.factory.method=Replace default constructor of {0} with a factory method
replace.constructor.with.factory.method=Replace constructor with factory method
replace.default.constructor.with.factory.method=Replace default constructor with factory method
occurrences.found.in.comments.strings.and.non.java.files=Occurrences found in comments, strings and non-code files
occurrences.found.in.comments.strings.non.java.files.and.generated.code=Occurrences found in comments, strings, non-code files and generated code
0.referenced.in.1.will.not.be.accessible.in.module.2={0}, referenced in {1}, will not be accessible in module {2}
0.referenced.in.1.will.not.be.accessible.from.module.2={0}, referenced in {1}, will not be accessible from module {2}
0.referenced.in.1.will.not.be.accessible.from.production.of.module.2={0}, referenced in {1}, will not be accessible from the production sources of module {2}
choose.destination.directory=Choose Destination Directory
directory.chooser.hide.non.existent.checkBox.text=&Hide non-existent
0.will.be.inaccessible.from.1={0} will be inaccessible from {1}
move.classes.command=Moving {0} to package {1}
safe.delete.command=Deleting {0}
select.all.button=Select &all
unselect.all.button=&Unselect all
automatic.renamer.enity.name.column={0} name
automatic.renamer.rename.to.column=Rename To
rename.0.and.its.usages.to=Rename {0} and its usages to:
rename.variables=Rename &variables
rename.inheritors=Rename &inheritors
rename.tests=Rename t&ests
rename.parameters.hierarchy=Rename parameters in hier&archy
rename.bound.forms=Rename bound &forms
inner.class.0.is.already.defined.in.class.1=Inner class {0} is already defined in class {1}.\nContinue anyway?
class.0.already.exists=Class {0} already exists
renaming.something=Renaming something
renaming.0.1.to.2=Renaming {0} {1} to {2}
renaming.command.name=Renaming {0}
0.to.be.renamed.to.1.2={0} to be renamed to {1}{2}
references.in.code.to.0=References in code to {0}
rename.variables.title=Rename Variables
rename.variables.with.the.following.names.to=Rename variables with the following names to:
entity.name.variable=Variable
rename.bound.forms.title=Rename bound forms
rename.forms.with.the.following.names.to=Rename forms with the following names to:
entity.name.form=Form
rename.inheritors.title=Rename Inheritors
rename.tests.title=Rename Tests
rename.inheritors.with.the.following.names.to=Rename inheritors with the following names to:
rename.tests.with.the.following.names.to=Rename tests with the following names to:
entity.name.inheritor=Inheritor
entity.name.test=Test
unused.overriding.methods.title=Unused Overriding Methods
there.are.unused.methods.that.override.methods.you.delete=There are unused methods that override methods you delete
choose.the.ones.you.want.to.be.deleted=Choose the ones you want to be deleted
method.column=Method
0.implements.1={0} implements {1}.
attempting.to.delete.targets.node.text=Attempting to delete
retry.command=Retry
rerun.safe.delete=&Rerun Safe Delete
delete.title=Delete
items.to.be.deleted=Items to be deleted
usages.detected=Usages Detected
delete.anyway.button=&Delete Anyway
ignore.button=Ignore
the.following.problems.were.found=The following problems were found:
cancel.button=Ca&ncel
view.usages=&View usages
anonymous.class.text=Anonymous class
problems.detected.title=Problems Detected
continue.button=&Continue
do.you.wish.to.ignore.them.and.continue=Do you wish to ignore them and continue?
delegation.panel.method.calls.label=Method calls:
delegation.panel.modify.radio=&Modify
delegation.panel.delegate.via.overloading.method=De&legate via overloading method
information.title=Information
ok.button=OK
do.not.show.this.message.in.the.future=&Do not show this message in the future
member.column=Member
refactor.button=&Refactor
preview.button=&Preview
yes.button=&Yes
no.button=&No
preview.usages.to.be.changed=&Preview usages to be changed
replace.this.code.fragment=Replace this code fragment?
replace.this.code.fragment.and.make.method.static= (Method will be made static)
replace.this.code.fragment.and.make.method.static.visible= (Method will be made static and {0})
replace.this.code.fragment.and.make.method.visible= (Method will be made {0})
replace.this.code.fragment.and.change.signature=\nMethod signature will be changed to \n{0}
process.duplicates.title=Process Duplicate {0} of {1}
process.methods.duplicates.title=Process Method {2} Duplicate ({0} of {1})
0.has.detected.1.code.fragments.in.this.file.that.can.be.replaced.with.a.call.to.extracted.method={0} has detected {1} code {1,choice,1#fragment|2#fragments} in this file that can be replaced with a call to extracted method. Would you like to review and replace {1,choice,1#it|2#them}?
replace.button=Replace
method.duplicates.method.label=Method {0}
usages.detected.title=Usages Detected
generify.title=Generify
interface.member.dependency.required.by.interfaces=required by {0,choice,1#interface|2#interfaces}
member.info.implements.0=implements {0}
member.info.extends.0=extends {0}
used.by.0=used by {0}
uses.0=uses {0}
field.description=field {0}
constructor.description=constructor {0}
method.description=method {0}
parameter.description=parameter {0}
local.variable.description=local variable {0}
package.description=package {0}
class.description=class {0}
static.initializer.description=static initializer of class {0}
instance.initializer.description=instance initializer of class {0}
file.description=File {0}
directory.description=Directory {0}
0.is.located.in.a.jar.file={0} is located in a jar file.\n
0.is.read.only={0} is read-only.\n
0.is.not.a.legal.java.identifier=''{0}'' is not a legal java identifier
method.0.is.already.defined.in.the.1=Method {0} is already defined in the {1}
method.0.will.hide.method.of.the.base.class=Method {0} will hide \nthe method of the base class {1}
method.0.will.implement.method.of.the.base.class=Method {0} will implement \na method of the base class {1}
method.0.will.override.a.method.of.the.base.class=Method {0} will override \na method of the base class {1}
current.class=current class
field.0.is.already.defined.in.the.1=Field {0} is already defined in the {1}
field.0.will.hide.field.1.of.the.base.class=Field {0} will hide \na field {1} of the base class {2}
directory.0.already.contains.1.named.2=Directory {0} \nalready contains {1} named ''{2}''
directory.0.already.contains.a.file.named.1=Directory {0} \nalready contains a file named ''{1}''
getter.and.setter.methods.found.for.the.field.0=Getter and setter methods found for the field {0}. \n{1} them as well?
getter.method.found.for.the.field.0=Getter method found for the field {0}. \n{1} the getter as well?
setter.method.found.for.the.field.0=Setter method found for the field {0}. \n{1} the setter as well?
0.has.1.usages.that.are.not.safe.to.delete={0} has {1,choice,1#1 usage that is|2#{1,number} usages that are} not safe to delete.
safe.delete.of.those.0.in.comments.strings.non.code=Of those {0,choice,1#1 usage is|2#{0,number} usages are} in strings, comments, non-code files or generated code.
type.cook.drop.obsolete.casts=&Drop obsolete casts
type.cook.preserve.raw.arrays=Preserve raw &arrays
type.cook.leave.object.parameterized.types.raw=&Leave Object-parameterized types raw
type.cook.perform.exhaustive.search=Perform &exhaustive search
type.cook.generify.objects=Generify &Objects
type.cook.produce.wildcard.types=Produce &wildcard types
type.cook.command=Generify
type.cook.elements.header=Scope(s) to generify
type.cook.report=Items generified: {0}, casts removed: {1}
type.cook.ratio.generified={0,choice,-1#not calculated|0#{0,number} of {1}}
extract.method.control.flow.analysis.failed=Code contains syntax errors. Cannot perform necessary analysis.
pushed.members.will.not.be.visible.from.certain.call.sites=Pushed members will not be visible from certain call sites
invert.boolean.title=Invert Boolean
invert.boolean.wrong.type=Return type of the method or type of the variable to be refactored should be boolean
invert.boolean.refs.to.invert=References to be inverted {0}
invert.boolean.elements.header={0} to invert
please.enter.a.valid.name.for.inverted.element=Please enter a valid name for inverted {0}
invert.boolean.name.of.inverted.element=&Name of inverted {0}:
invert.0.1=Invert {0} {1} and its usages
0.is.a.part.of.method.hierarchy.do.you.want.to.delete.multiple.parameters={0} is a part of method hierarchy. Do you want to delete multiple parameters?
move.inner.class.to.be.moved=Class to be moved
move.specified.classes.to=Move specified classes to:
destination.directory.does.not.correspond.to.any.package=The destination directory does not correspond to any package
cannot.find.or.create.destination.directory=Cannot find or create destination directory
cannot.move=Cannot Move
cannot.move.package.into.itself=Cannot move package into itself
rename.constructor.parameters.title=Rename Constructor Parameters
rename.constructor.parameters.with.the.following.names.to=Rename parameters with the following names to:
entity.name.constructor.parameter=Parameter
replace.method.duplicates.scope.chooser.title=Specify {0} Scope
replace.method.duplicates.scope.chooser.message=Analysis scope
remove.parameter.0.no.longer.used=Remove parameter ''{0}'' no longer used
inline.to.anonymous.refactoring=Inline to Anonymous Class
inline.to.anonymous.no.abstract=Abstract classes cannot be inlined
inline.to.anonymous.no.inheritors=Classes which have subclasses cannot be inlined
inline.to.anonymous.no.multiple.interfaces=Classes which implement multiple interfaces cannot be inlined
inline.to.anonymous.no.superclass.and.interface=Classes which have a superclass and implement an interface cannot be inlined
move.class.to.inner.command.name=Move {0} to {1}
move.classes.destination.to.package=To packa&ge
move.classes.destination.make.inner=&Make inner class of
move.to.inner.duplicate.inner.class=Class {0} already contains an inner class named {1}
inline.to.anonymous.command.name=Inline class {0}
class.is.never.used=Class is never used
all.references.and.remove.the.class=Inline &all references and remove the class
this.reference.only.and.keep.the.class=Inline this reference only and &keep the class
inline.to.anonymous.name.label=Class {0}
inline.to.anonymous.border.title=Inline
move.class.to.inner.nonstatic.error=It is not allowed to move a class into a non-static inner class
move.class.to.inner.move.to.self.error=It is not allowed to move a class into itself
unsupported.refs.found=Unsupported references found in {0} files
inline.method.checking.tail.calls.progress=Checking tail call usages
extract.chained.constructor.checkbox=Extract &chained constructor
inline.parameter.refactoring=Inline Parameter
inline.parameter.confirmation=Inline parameter ''{0}'' with initializer ''{1}''?
inline.parameter.command.name=Inline Parameter {0}
inline.parameter.error.hierarchy=Inline parameter is not supported when method is a part of inheritance hierarchy
inline.parameter.error.varargs=Inline for varargs parameters is not supported
inline.parameter.replace.with.local.checkbox=R&eplace with local variable
type.migration.rerun.button.text=&Rerun Type Migration
type.migration.migrate.button.text=&Migrate
type.migration.exclude.action.text=&Exclude
type.migration.include.action.text=&Include
introduce.constant.enum.cb=Extract as &enum constant
move.enum.constant.cb=Move as &enum constants if possible
move.to.different.language=Target class {2} has different language than {0} {1}
dont.support.inner.classes=Refactoring ''Make inner class of'' is not available in {0}
move.specified.elements=Move specified elements
rename.directory.title=Rename &Directory
rename.module.title=Rename &Module

# extract method
refactoring.extract.method.dialog.title=Extract Method
refactoring.extract.method.dialog.method.name=Method name:
refactoring.extract.method.dialog.parameters=Parameters
refactoring.extract.method.dialog.output.variables=Output variables
refactoring.extract.method.dialog.signature.preview=Signature preview
refactoring.extract.method.dialog.empty=Empty
change.signature.leave.blank.default.value=Leave &blank
change.signature.feel.lucky=Feel &lucky
change.signature.use.selected.value=Use selected &value

search.for.references=Search for re&ferences
0.is.not.an.identifier=<b><code>{0}</code></b> is not a correct identifier to use in <b><code>{1}</code></b>
refactoring.is.not.supported.for.language={0} is not supported for {1}
rename.directory.command.name=Rename directory
rename.directories.command.name=Rename directories
target.destination.folder=Target &destination directory:
move.method.is.not.supported.for.0=Move instance method is not supported for {0}
detecting.possible.conflicts=Detecting possible conflicts...
path.completion.shortcut=Use {0} for path completion

rename.project.action.title=Rename Project...
rename.project.handler.title=Rename &project
enter.new.project.name=Enter new project name:
rename.project=Rename Project
renames.project=Renames project
inspection.diff.format.error=Required parameters: <old_file> <new_file> [<delta_file_name>]
inspection.command.line.explanation=Expected parameters: <project_file_path> <inspection_profile> <output_path> \
  <inspections_profile> -- use here profile name configured in the project or locally or path to the inspection profile; can be stabbed when one of the -e|-profileName|-profilePath is used\n\
  [<options>]\n \
  Available options are:\n \
  -d <directory_path>  --  directory to be inspected. Optional. Whole project is inspected by default.\n \
  -e                   --  skip  \n\
  -v[0|1|2]            --  verbose level. 0 - silent, 1 - verbose, 2 - most verbose. \n\
  -profileName         --  name of a profile defined in project \n \
  -profilePath         --  absolute path to the profile file

inspection.action.title=Inspection
inspection.action.noun=Inspection
inspection.action.profile.label=Inspection profile

inspection.disabled.title=Inspection disabled
inspection.disabled.wrong.id=Inspection ''{0}'' is disabled: ID ''{1}'' not matches ''{2}'' pattern.
inspection.disabled.error=Inspection ''{0}'' is disabled: {1}.

inspection.problem.synopsis=Problem synopsis

#export results view
inspection.export.results.description.tag=description
inspection.export.results.problem.element.tag=problem_class
inspection.export.results.can.be.final.description=Declaration can have final modifier

inspection.export.results.package=package
inspection.export.results.default=<default>
inspection.export.results.class=class
inspection.export.results.constructor=constructor
inspection.export.results.method=method
inspection.export.results.field=field
inspection.export.results.file=file
inspection.export.results.interface=interface

#can be final
inspection.can.be.final.display.name=Declaration can have final modifier
inspection.can.be.final.accept.quickfix=Make final
inspection.can.be.final.option=Report classes
inspection.can.be.final.option1=Report methods
inspection.can.be.final.option2=Report fields

#can be static
inspection.annotate.method.quickfix.name=Annotate method as ''@{0}''

#dataflow
inspection.data.flow.display.name=Constant conditions \\& exceptions
inspection.data.flow.nullable.quickfix.option=<html><body>Suggest @Nullable annotation for methods that may possibly return null and <br>report nullable values passed to non-annotated parameters</body></html>
inspection.data.flow.true.asserts.option=<html><body>Don't report assertions with condition statically proven to be always <code>true</code></body></html>
inspection.data.flow.redundant.instanceof.quickfix=Replace with != null
inspection.data.flow.simplify.boolean.expression.quickfix=Simplify Boolean Expression
inspection.data.flow.simplify.to.assignment.quickfix.name=Simplify to normal assignment
configure.annotations.option=Configure annotations
configure.checker.option.button=Configure Assert/Check Methods
configure.checker.option.main.dialog.title=Assert/Check Method Configuration
configure.checker.option.overlap.error.title=Overlapping Check
configure.checker.option.overlap.error.msg=Configuration conflicts with
configure.checker.option.isNull.add.method.checker.dialog.title=Add IsNull Check Method
configure.checker.option.isNotNull.add.method.checker.dialog.title=Add IsNotNull Check Method
configure.checker.option.assert.isNull.add.method.checker.dialog.title=Add Assert IsNull Method
configure.checker.option.assert.isNotNull.add.method.checker.dialog.title=Add Assert IsNotNull Method
configure.checker.option.assert.true.add.method.checker.dialog.title=Add Assert True Method
configure.checker.option.assert.false.add.method.checker.dialog.title=Add Assert False Method
configure.checker.option.assert.isNull.method.panel.title=Assert IsNull Methods
configure.checker.option.assert.isNotNull.method.panel.title=Assert IsNotNull Methods
configure.checker.option.isNull.method.panel.title=IsNull Check Methods
configure.checker.option.isNotNull.method.panel.title=IsNotNull Check Methods
configure.checker.option.assert.true.method.panel.title=Assert True Methods
configure.checker.option.assert.false.method.panel.title=Assert False Methods

#messages from dataflow inspection
dataflow.message.npe.method.invocation=Method invocation <code>#ref</code> #loc may produce <code>java.lang.NullPointerException</code>
dataflow.message.npe.array.access=Array access <code>#ref</code> #loc may produce <code>java.lang.NullPointerException</code>
dataflow.message.npe.field.access=Dereference of <code>#ref</code> #loc may produce <code>java.lang.NullPointerException</code>
dataflow.message.cce=Casting <code>{0}</code> to <code>#ref</code> #loc may produce <code>java.lang.ClassCastException</code>
dataflow.message.redundant.instanceof=Condition <code>#ref</code> #loc is redundant and can be replaced with <code>!= null</code>
dataflow.message.constant.condition=Condition <code>#ref</code> #loc is always <code>{0}</code>
dataflow.message.constant.condition.when.reached=Condition <code>#ref</code> #loc is always <code>{0}</code> when reached
dataflow.message.unreachable.switch.label=Switch label<code>#ref</code> #loc is unreachable
dataflow.message.pointless.assignment.expression=Condition <code>#ref</code> #loc at the left side of assignment expression is always <code>{0}</code>. Can be simplified
dataflow.message.passing.null.argument=Passing <code>null</code> argument to parameter annotated as @NotNull
dataflow.message.initializing.field.with.null=Field annotated as @NotNull is implicitly initialized with <code>null</code>
dataflow.message.passing.nullable.argument=Argument <code>#ref</code> #loc might be null
dataflow.message.assigning.null=<code>null</code> is assigned to a variable that is annotated with @NotNull
dataflow.message.assigning.nullable=Expression <code>#ref</code> might evaluate to null but is assigned to a variable that is annotated with @NotNull
dataflow.message.return.null.from.notnull=<code>null</code> is returned by the method declared as @NotNull
dataflow.message.return.nullable.from.notnull=Expression <code>#ref</code> might evaluate to null but is returned by the method declared as @NotNull
dataflow.message.return.null.from.notnullable=<code>null</code> is returned by the method which is not declared as @{0}
dataflow.message.return.nullable.from.notnullable=Expression <code>#ref</code> might evaluate to null but is returned by the method which is not declared as @{0}
dataflow.message.unboxing=Unboxing of <code>#ref</code> #loc may produce <code>java.lang.NullPointerException</code>
dataflow.too.complex=Method <code>#ref</code> is too complex to analyze by data flow algorithm

#deprecated
inspection.deprecated.display.name=Deprecated API usage
#empty method
inspection.empty.method.display.name=Empty method
inspection.empty.method.delete.quickfix=Delete Unnecessary Method(s)
inspection.empty.method.problem.descriptor=Method only calls its super
inspection.empty.method.problem.descriptor1=Empty method overrides empty method
inspection.empty.method.problem.descriptor2=The method is empty
inspection.empty.method.problem.descriptor3=The method and all it's derivables are empty
inspection.empty.method.problem.descriptor4=All implementations of this method are empty

#redundant cast
inspection.redundant.cast.display.name=Redundant type cast
inspection.redundant.cast.remove.quickfix=Remove Redundant Cast(s)
inspection.redundant.cast.problem.descriptor=Casting {0} to {1} is redundant

#redundant throws
inspection.redundant.throws.display.name=Redundant throws clause
inspection.redundant.throws.remove.quickfix=Remove unnecessary throws declarations
inspection.redundant.throws.problem.descriptor=The declared exception {0} is never thrown in method implementations
inspection.redundant.throws.problem.descriptor1=The declared exception {0} is never thrown in this method, nor in its derivables
inspection.redundant.throws.problem.descriptor2=The declared exception {0} is never thrown

inspection.equals.hashcode.display.name=equals() and hashCode() not paired
inspection.equals.hashcode.only.one.defined.problem.descriptor=Class has {0} defined but does not define {1}

inspection.1.5.display.name=Usages of API documented as @since 1.5 (1.6|1.7)
inspection.1.5.problem.descriptor=Usage of API documented as @since {0}+
inspection.1.7.problem.descriptor=Usage of generified after 1.6 API which would cause compilation problems with JDK {0}

inspection.local.can.be.final.display.name=Local variable or parameter can be final
inspection.local.can.be.final.option=Report local variables
inspection.local.can.be.final.option1=Report method parameters
inspection.local.can.be.final.option2=Report catch parameters
inspection.local.can.be.final.option3=Report foreach parameters
inspection.can.be.local.parameter.problem.descriptor=Parameter <code>#ref</code> can have <code>final</code> modifier
inspection.can.be.local.variable.problem.descriptor=Variable <code>#ref</code> can have <code>final</code> modifier

inspection.nullable.problems.display.name=@NotNull/@Nullable problems
#check box options
inspection.nullable.problems.method.overrides.notnull.option=<html>Report @NotNull &parameter overrides @Nullable and <br>@Nullable method overrides @NotNull</html>
inspection.nullable.problems.method.overrides.option=Report non-&annotated parameter or method overrides @NotNull
inspection.nullable.problems.not.annotated.getters.for.annotated.fields=Report non-annotated &setter parameter or getter of annotated fields

#problem descriptor messages
inspection.nullable.problems.Nullable.NotNull.conflict=Cannot annotate with both @{0} and @{1}
inspection.nullable.problems.Nullable.method.overrides.NotNull=Method annotated with @{0} must not override @{1} method
inspection.nullable.problems.method.overrides.NotNull=Not annotated method overrides method annotated with @{0}
inspection.nullable.problems.annotated.field.getter.not.annotated=Getter for @{0} field might be annotated @{0} itself
inspection.nullable.problems.annotated.field.getter.conflict=Getter for @{0} field is annotated @{1}
inspection.nullable.problems.annotated.field.setter.parameter.not.annotated=Setter parameter for @{0} field might be annotated @{0} itself
inspection.nullable.problems.annotated.field.setter.parameter.conflict=Setter parameter for @{0} field is annotated @{1}
inspection.nullable.problems.annotated.field.constructor.parameter.not.annotated=Constructor parameter for @{0} field might be annotated @{0} itself
inspection.nullable.problems.annotated.field.constructor.parameter.conflict=Constructor parameter for @{0} field is annotated @{1}
inspection.nullable.problems.NotNull.parameter.overrides.Nullable=Parameter annotated @{0} must not override @{1} parameter
inspection.nullable.problems.parameter.overrides.NotNull=Not annotated parameter overrides @{0} parameter
inspection.nullable.problems.primitive.type.annotation=Primitive type members cannot be annotated

inspection.test.only.problems.display.name=Test-only method call in production code
inspection.test.only.problems.test.only.method.call=Test-only method is called in production code

inspection.visibility.display.name=Declaration access can be weaker
inspection.visibility.option=Suggest package local visibility level for class members
inspection.visibility.option1=Suggest package local visibility level for top-level classes
inspection.visibility.option2=<html>Suggest private for inner class members when referenced from outer class only</html>

#can be private|package local|protected|public
inspection.visibility.compose.suggestion=Can be {0}

inspection.visibility.accept.quickfix=Accept Suggested Access Level
inspection.field.can.be.local.display.name=Field can be local
inspection.field.can.be.local.problem.descriptor=Field can be converted to a local variable
inspection.parameter.can.be.local.display.name=Parameter can be local
inspection.parameter.can.be.local.problem.descriptor=Parameter can be converted to a local variable
inspection.convert.to.local.quickfix=Convert to local

inspection.unused.return.value.display.name=Unused method return value
inspection.unused.return.value.problem.descriptor=Return value of the method is never used
inspection.unused.return.value.make.void.quickfix=Make Method void

inspection.same.return.value.display.name=Method returns the same value
inspection.same.return.value.problem.descriptor=Method always returns {0}
inspection.same.return.value.problem.descriptor1=Method and all its derivables always return {0}
inspection.same.return.value.problem.descriptor2=All implementations of this method always return {0}

inspection.dependency.violator.problem.descriptor=Dependency rule ''{0}.'' is violated

inspection.same.parameter.display.name=Actual method parameter is the same constant
inspection.same.parameter.problem.descriptor=Actual value of parameter ''{0}'' is always ''{1}''

inspection.unused.assignment.display.name=Unused assignment
inspection.unused.assignment.option=Report ++i when may be replaced with (i + 1)
inspection.unused.assignment.option1=Report i++ when changed value is not used afterwards
inspection.unused.assignment.option2=Report redundant initializers
inspection.unused.assignment.remove.quickfix=Remove Redundant Initializer
inspection.unused.assignment.remove.assignment.quickfix=Remove redundant assignment
inspection.unused.assignment.problem.descriptor1=Variable {0} is never used
inspection.unused.assignment.problem.descriptor2=Variable {0} initializer {1} is redundant
inspection.unused.assignment.problem.descriptor3=The value {0} assigned to {1} is never used
inspection.unused.assignment.problem.descriptor4=The value changed at {0} is never used
inspection.unused.assignment.problem.descriptor5=Variable {0} is never used
inspection.unused.assignment.problem.descriptor6=The variable is assigned to itself in {0}

inspection.unused.parameter.composer=Parameter <code>#ref</code> is not used in any implementation
inspection.unused.parameter.composer1=Parameter <code>#ref</code> is not used  in either this method or any of its derived methods
inspection.unused.parameter.display.name=Unused method parameters
inspection.unused.parameter.delete.quickfix=Delete Unused Parameter(s)
inspection.redundant.type.display.name=Redundant type arguments
inspection.redundant.type.remove.quickfix=Remove explicit type arguments
inspection.redundant.type.problem.descriptor=Explicit type arguments can be inferred

inspection.redundant.array.creation.display.name=Redundant array creation
inspection.redundant.array.creation.quickfix=Remove explicit array creation
inspection.redundant.array.creation.for.varargs.call.descriptor=Redundant array creation for calling varargs method

inspection.suspicious.collections.method.calls.display.name=Suspicious collections method calls
inspection.suspicious.collections.method.calls.problem.descriptor=''{0}'' may not contain objects of type ''{1}''
inspection.suspicious.collections.method.calls.problem.descriptor1=Suspicious call to ''{0}''

inspection.reference.invalid=invalid
inspection.reference.default.package=default package
inspection.reference.implicit.constructor.name=implicit constructor of {0}
inspection.reference.noname=noname
inspection.reference.anonymous.name=anonymous ({0})
inspection.reference.jsp.holder.method.anonymous.name=<% page content %>
inspection.reference.anonymous=anonymous
inspection.export.save.button=Save
inspection.export.dialog.title=Export
inspection.export.options.panel.title=Options
inspection.export.open.option=Open generated HTML in &browser
inspection.export.title=Code Inspection results
inspection.export.generating.html.for=Generating HTML:{0}
inspection.export.error.writing.to=Error writing to {0}

inspection.export.results.error.title=Inspection Results Export
inspection.export.inspections.link.text=Inspections
inspection.export.open.source.link.text=Open source
inspection.offline.view.empty.browser.text=<HTML><BODY>Select inspection result on the left to see details</BODY></HTML>
inspection.offline.view.tool.display.name.title=Name
inspection.generating.html.progress.title=Generating HTML...
inspection.generating.xml.progress.title=Dumping XML...
inspection.action.export.html=Export
inspection.action.export.popup.title=Export To
inspection.tool.description.under.construction.text=Under construction
inspection.tool.in.browser.id.title=ID
inspection.tool.in.browser.description.title=Description
inspection.action.edit.settings=Edit Settings
inspection.action.apply.quickfix=Apply a quickfix
inspection.action.apply.quickfix.description=Apply an inspection quickfix
inspection.tree.popup.title=Accept Resolution
inspection.action.rerun=Rerun Inspection
inspection.general.tools.group.name=General
inspection.empty.root.node.text=Nothing left to show
inspection.invalid.node.text=(INVALID)
inspection.problem.descriptor.count={0, choice, 0#|1#(1 item)|2#({0,number,integer} items)}
inspection.action.go.next=Go Next Problem
inspection.actiongo.prev=Go Prev Problem

inspection.javadoc.display.name=Declaration has Javadoc problems
inspection.javadoc.ref.display.name=Declaration has problems in Javadoc references
inspection.javadoc.option.tab.title.package=Package
inspection.javadoc.option.tab.title=Class
inspection.javadoc.option.tab.title.method=Method
inspection.javadoc.option.tab.title.field=Field
inspection.javadoc.option.tab.title.inner.class=Inner class
inspection.javadoc.option.ignore.deprecated=Ignore elements marked as @deprecated
inspection.javadoc.option.ignore.period=Ignore period problems

inspection.scope.for.title=Scope

inspection.javadoc.required.tags.option.title=Required Tags
inspection.javadoc.problem.descriptor=Required Javadoc is absent
inspection.javadoc.problem.descriptor1=Period in the documentation is missing. The period is used by the Javadoc tool to generate the comment for the overview page
inspection.javadoc.problem.missing.tag=Required tag {0} is missing
inspection.javadoc.problem.missing.author.description=Author is missing after @author tag
inspection.javadoc.problem.missing.version.description=Version is missing after @version tag
inspection.javadoc.problem.missing.since.description=Since is missing after @since tag
inspection.javadoc.problem.cannot.resolve=Cannot resolve symbol {0}
inspection.javadoc.problem.name.expected=Name expected
inspection.javadoc.problem.wrong.tag=Wrong tag {0}
inspection.javadoc.problem.disallowed.tag=Tag ''{0}'' is not allowed here
inspection.javadoc.method.problem.descriptor=Description is missing in {0} tag for parameter {1}
inspection.javadoc.method.problem.missing.tag.description={0} tag description is missing
inspection.javadoc.method.problem.missing.param.tag=Required tag {0} is missing for parameter {1}
inspection.javadoc.problem.duplicate.param=Duplicate @param tag for parameter ''{0}''
inspection.javadoc.problem.duplicate.throws=Duplicate @throws or @exception tag for exception ''{0}''
inspection.javadoc.problem.duplicate.tag=Duplicate @{0} tag
inspection.javadoc.problem.add.tag=Add tag @{0} {1}
inspection.javadoc.problem.add.tag.family=Add missing Javadoc tag
inspection.javadoc.problem.add.param.tag=Add tag @param for parameter ''{0}''

inspection.export.results.abstract=abstract
inspection.export.results.static=static
inspection.export.results.capitalized.class=Class
inspection.export.results.initializer=initializer
inspection.export.results.capitalized.interface=Interface
inspection.export.results.capitalized.abstract.class=Abstract\\&nbsp;class
inspection.export.results.abstract.class=abstract\\&nbsp;class
inspection.export.results.implicit.constructor=implicit constructor of

inspection.problem.resolution=Problem resolution
inspection.quickfix.assert.family=Assert
inspection.assert.quickfix=Assert ''{0}''
inspection.surround.if.quickfix=Surround with ''if ({0} != null)''
inspection.replace.ternary.quickfix=Replace with ''{0} != null ?:''
inspection.surround.if.family=Surround with if
inspection.dependency.configure.button.text=Configure dependency rules

inspection.javadoc.label.text=Additional Javadoc Tags:
inspection.javadoc.dialog.title=Edit Additional Javadoc Tags
inspection.javadoc.html.not.required.label.text=Additional Not Required Html Attributes:
inspection.javadoc.html.not.required.dialog.title=Edit Additional Not Required Html Attributes
inspection.required.attributes.display.name=Missing required attribute

inspection.unused.symbol.check.localvars=Check &Local Variables
inspection.unused.symbol.check.fields=Check &Fields
inspection.unused.symbol.check.methods=Check &Methods
inspection.unused.symbol.check.classes=Check &Classes
inspection.unused.symbol.check.parameters=Check &Parameters

inspection.results.for.profile.toolwindow.title=Results for Inspection Profile ''{0}''
inspection.export.results.invalidated.item=invalidated item
inspection.export.results.at.line=at line
inspection.descriptor.provider.apply.fix=Apply Fix {0}

inspection.export.results.capitalized.location=Location
inspection.export.results.extends.implements=Extends/implements
inspection.export.results.extended.implemented=Extended/implemented by
inspection.export.results.extended=Extended by
inspection.export.results.overrides.library.methods=Overrides library methods
inspection.export.results.overrides.implements=Overrides/implements
inspection.export.results.derived.methods=Derived methods
inspection.export.results.type.references=The following uses this type
inspection.export.results.used.from=Used from
inspection.export.results.uses=Uses the following
inspection.export.results.no.problems.found=No problems found
inspection.export.results.suppress=Suppress
inspection.export.results.callees=Call chain
inspection.export.results.anonymous.ref.in.owner=in

inspection.processing.job.descriptor=Processing project usages in
inspection.processing.job.descriptor1=Processing external usages of
inspection.processing.job.descriptor2=Analyzing code in

inspection.display.name=Analyzing code ...

inspection.action.group.by.severity=Group by Severity
inspection.action.group.by.severity.description=Group Inspections By Severity
inspection.no.jdk.error.message=The JDK is not configured properly for this project. Inspection cannot proceed.
inspection.progress.title=Inspecting Code...
inspection.no.problems.dialog.title=Code Inspection
inspection.no.problems.message=No suspicious code found
inspection.problems=problems
inspection.error.loading.message=Error reading inspection profile {0, choice, 0#from {1}|1#}
inspection.errors.occurred.dialog.title=Errors Occurred
inspection.profiles.presentable.name=Inspection profiles
inspection.severity=Se&verity:
inspection.description.title=Description
inspection.as=As {0}
inspection.new.profile.dialog.title=Create new profile
inspection.unable.to.create.profile.dialog.title=Unable to Create Profile.
inspection.unable.to.create.profile.message=Inspection profile with name ''{0}'' already exists.
inspection.profile.unnamed=Unnamed
inspection.tool.availability.in.tree.node=(available for editor highlighting)
inspection.tool.availability.in.tree.node1=(available for Analyze|Inspect Code)
inspection.error.level.popup.menu.title=Choose Error Level

inspection.application.starting.up=Starting up {0} ...
inspection.done=done.
inspection.capitalized.done=Done.
inspection.application.file.cannot.be.found=File {0} cannot be found
inspection.application.opening.project=Opening project...
inspection.application.initializing.project=Initializing project...
inspection.application.directory.cannot.be.found=Directory {0} cannot be found
inspection.application.project.has.older.format.and.will.be.converted=Project has an older format and will be converted.
inspection.application.project.was.succesfully.converted.old.project.files.were.saved.to.0=Project was succesfully converted. Old project files were saved to {0}
inspection.application.cannot.convert.project.0=Cannot convert project: {0}
inspection.application.cannot.convert.the.project.the.following.files.are.read.only.0=Cannot convert the project. The following files are read only: {0}

inspection.comparing.references.display.name=== used instead of equals()
inspection.comparing.references.use.quickfix=Use equals()
inspection.comparing.references.problem.descriptor=Suspicious comparison #ref #loc

inspection.dead.code.display.name=Unused declaration
inspection.dead.code.option=<html><code>void main(String args[])</code> methods</html>
inspection.dead.code.option2=JUnit testcases
inspection.dead.code.option3=Applets
inspection.dead.code.option4=Servlets
inspection.dead.code.option5=Classes that have usages in non-java files
inspection.export.results.dead.code=unused declaration
inspection.dead.code.comment=// --Commented out by Inspection
inspection.dead.code.date.comment=// --Commented out by Inspection ({0}):
inspection.dead.code.stop.comment=// --Commented out by Inspection STOP ({0})\n
inspection.dead.code.start.comment=// --Commented out by Inspection START ({0}):\n
inspection.dead.code.safe.delete.quickfix=Safe Delete
inspection.dead.code.comment.quickfix=Comment Out
inspection.dead.code.entry.point.quickfix=Add as Entry Point
inspection.dead.code.remove.from.entry.point.quickfix=Remove from Entry Points
inspection.dead.code.entry.points.display.name=Entry Points
inspection.dead.code.export.results.no.instantiations.found=No instantiations found.
inspection.dead.code.export.results.instantiated.from.heading=Instantiated from
inspection.dead.code.problem.synopsis=Field is never assigned.
inspection.dead.code.problem.synopsis1=Field has no usages.
inspection.dead.code.problem.synopsis2=Field is assigned but never accessed.
inspection.dead.code.problem.synopsis3=Field has one usage but it is not reachable from entry points.
inspection.dead.code.problem.synopsis4=Field has {0, choice, 1#1 usage|2#{0,number} usages} but they are not reachable from entry points.
inspection.dead.code.problem.synopsis6=Reachable. {0, choice, 1#1 usage|2#{0, number} usages} found in the project code.
inspection.dead.code.problem.synopsis6.suspicious=Not Reachable. {0, choice, 1#1 usage|2#{0, number} usages} found in the project code.
inspection.dead.code.problem.synopsis7.suspicious=Has no reachable instantiations. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis8.suspicious=Has no reachable implementation instantiations. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis9.suspicious=Anonymous class context is not reachable. Class is not instantiated. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis7=Has reachable instantiations. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis8=Has reachable implementation instantiations. {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis9=Instantiated {0, choice, 1#1 instantiation|2#{0, number} instantiations} found in the project code.
inspection.dead.code.problem.synopsis10=Anonymous class declaration context is not reachable from entry points. Class is never instantiated.
inspection.dead.code.problem.synopsis11=No class references has been found. Class static initializer is not reachable.
inspection.dead.code.problem.synopsis12=Class has one instantiation but it is not reachable from entry points.
inspection.dead.code.problem.synopsis13=Class is not instantiated.
inspection.dead.code.problem.synopsis14=<ul><li>Abstract method is not implemented OR</li><li>Implementation class is never instantiated OR</li><li>An instantiation is not reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis15=<ul><li>Method owner class is never instantiated OR</li><li>An instantiation is not reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis16=Method is never used.
inspection.dead.code.problem.synopsis17=Method has usage(s) but they all belong to recursive calls chain that has no members reachable from entry points.
inspection.dead.code.problem.synopsis18=Method is not reachable from entry points.
inspection.dead.code.problem.synopsis19=Neither the class nor {0, choice, 1#its implementation|2#{0,number} its implementations} are ever instantiated.
inspection.dead.code.problem.synopsis20=Class has {0, choice, 1#instantiation|2#{0,number} instantiations} but they are not reachable from entry points.

#{0} is class or interface (translated)
inspection.dead.code.problem.synopsis21=Method is never used as a member of this {0}, but only as a member of the implementation class(es). The project will stay compilable if the method is removed from the {0}.
inspection.dead.code.problem.synopsis22=Method overrides a library method but<ul><li>its {0} is never instantiated OR</li><li>its {0} instantiation is not reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis23={0} is not implemented.
inspection.dead.code.problem.synopsis24={0} has an implementation but <ul><li>it is never instantiated OR</li><li>no instantiations are reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis25={0} has {1, choice, 1#direct or indirect implementation|2#{1,number} direct or indirect implementations} but <ul><li>they are never instantiated OR</li><li>no instantiations are reachable from entry points.</li></ul>
inspection.dead.code.problem.synopsis26.constructor=Constructor is never used.
inspection.dead.code.problem.synopsis27.constructor=Constructor has usage(s) but they all belong to recursive calls chain that has no members reachable from entry points.
inspection.dead.code.problem.synopsis28.constructor=Constructor has one usage but it is not reachable from entry points.
inspection.dead.code.problem.synopsis29.constructor=Constructor has {0, choice, 1#usage|2#{0,number} usages} but they are not reachable from entry points.

inspection.dead.code.problem.synopsis26.method=Method is never used.
inspection.dead.code.problem.synopsis27.method=Method has usage(s) but they all belong to recursive calls chain that has no members reachable from entry points.
inspection.dead.code.problem.synopsis28.method=Method has one usage but it is not reachable from entry points.
inspection.dead.code.problem.synopsis29.method=Method has {0, choice, 1#usage|2#{0,number} usages} but they are not reachable from entry points.
inspections.dead.code.entry.points.annotations.list.title=Additional entry points annotations

inspection.duplicates.display.name=Duplicate String Literal
inspection.duplicates.replace.family.quickfix=Replace
inspection.duplicates.replace.quickfix=Replace with ''{0}''
inspection.duplicates.option=&Min string length:

inspection.duplicates.message.in.this.file=(in this file)
inspection.duplicates.message.more=... ({0} more)
inspection.duplicates.message=<html><body>Duplicate string literal found in<br>{0}</body></html>

inspection.compiler.javac.quirks.name=Javac quirks
inspection.compiler.javac.quirks.anno.array.comma.problem=Trailing comma in annotation array initializer may cause compilation error in some Javac versions (e.g. JDK 5 and JDK 6).
inspection.compiler.javac.quirks.anno.array.comma.fix=Remove trailing comma
inspection.compiler.javac.quirks.qualifier.type.args.problem=Generics in qualifier reference may cause compilation error in some Javac versions (e.g. JDK 5 and JDK 6).
inspection.compiler.javac.quirks.qualifier.type.args.fix=Remove generic parameter

inspection.root.node.title=Inspections

# inspection tools list actions:
inspection.tools.action.show.global.inspections.text=Hide Global Inspections
inspection.tools.action.show.global.inspections.description=Hide Global Inspections Settings
# hardcoded inspection tools
deprecated.symbol=Deprecated symbol
unused.import=Unused import (editor light)
unused.import.statement=Unused import statement
unused.symbol=Unused symbol
redundant.throws.declaration=Redundant throws declaration
access.static.via.instance=Access static member via instance reference
wrong.package.statement=Wrong package statement
illegal.package.dependencies=Illegal package dependencies
unchecked.warning=Unchecked warning

# suppression stuff
suppress.all.for.class=Suppress all inspections for class
suppress.inspection.family=Suppress inspection
suppress.inspection.statement=Suppress for statement
suppress.inspection.class=Suppress for class
suppress.inspection.field=Suppress for field
suppress.inspection.method=Suppress for method
inspection.options.action.text=Inspection ''{0}'' options
edit.dependency.rules.family=Edit dependency rules
edit.dependency.rules.text=Edit dependency rule \"{0} \"
error.analysis.is.in.progress=Error analysis is in progress
no.errors.found.in.this.file=No errors found in this file
edit.options.of.reporter.inspection.family=Edit options of reporter inspection
edit.options.of.reporter.inspection.text=Edit inspection profile setting

#Inspection group names
group.names.abstraction.issues=Abstraction issues
group.names.assignment.issues=Assignment issues
group.names.probable.bugs=Probable bugs
group.names.bitwise.operation.issues=Bitwise operation issues
group.names.class.structure=Class structure
group.names.class.metrics=Class metrics
group.names.compiler.issues=Compiler issues
group.names.potentially.confusing.code.constructs=Potentially confusing code constructs
group.names.encapsulation.issues=Encapsulation issues
group.names.error.handling=Error handling
group.names.finalization.issues=Finalization issues
group.names.imports=Imports
group.names.initialization.issues=Initialization issues
group.names.internationalization.issues=Internationalization issues
group.names.junit.issues=JUnit issues
group.names.logging.issues=Logging issues
group.names.code.maturity.issues=Code maturity issues
group.names.method.metrics=Method metrics
group.names.naming.conventions=Naming conventions
group.names.performance.issues=Performance issues
group.names.memory.issues=Memory issues
group.names.java.language.level.issues=Java language level issues
group.names.portability.issues=Portability issues
group.names.security.issues=Security issues
group.names.serialization.issues=Serialization issues
group.names.code.style.issues=Code style issues
group.names.threading.issues=Threading issues
group.names.verbose.or.redundant.code.constructs=Verbose or redundant code constructs
group.names.visibility.issues=Visibility issues
group.names.cloning.issues=Cloning issues
group.names.resource.management.issues=Resource management issues
group.names.j2me.issues=J2ME issues
group.names.control.flow.issues=Control flow issues
group.names.numeric.issues=Numeric issues
group.names.language.level.specific.issues.and.migration.aids=Java language level migration aids
group.names.javabeans.issues=JavaBeans issues
group.names.inheritance.issues=Inheritance issues
group.names.data.flow.issues=Data flow issues
group.names.declaration.redundancy=Declaration redundancy
group.names.javadoc.issues=Javadoc issues
group.names.concurrency.annotation.issues=Concurrency annotation issues
group.names.javaee.issues=Java EE issues
group.names.properties.files=Properties Files


duplicate.property.display.name=Duplicate Property
duplicate.property.diff.key.problem.descriptor=Duplicate Property Key ''{0}'' With Different Values #end :<br>
duplicate.property.diff.key.progress.indicator.text=Processing duplicate property key: {0}
duplicate.property.key.problem.descriptor=Duplicate Property Key ''{0}'' #end With Values:<br>
duplicate.property.key.progress.indicator.text=Processing duplicate property key:{0}
duplicate.property.value.problem.descriptor=Duplicate Property Value ''{0}'' #end With Keys:<br>
duplicate.property.value.progress.indicator.text=Processing duplicate property value: {0}
duplicate.property.diff.key.option=&Duplicate keys with different values
duplicate.property.value.option=Duplicate &values
duplicate.property.key.option=Duplicate &keys
duplicate.property.file.scope.option=&File scope
duplicate.property.module.scope.option=&Module Scope
duplicate.property.project.scope.option=&Project Scope
inspection.javadoc.throws.or.exception.option=@throws or @exception

suppress.inspection.annotation.syntax.error=Incorrect annotation syntax: {0}

default.file.template.report.file.header=Report Default file header
default.file.template.report.method.body=Report default created/overridden/implemented method body
default.file.template.report.catch.section=Report default catch section
default.file.template.description=Default File template
default.file.template.display.name=Default File Template Usage
default.file.template.edit.template=Edit template...
default.file.template.replace.with.actual.file.template=Replace with actual file template

#profile stuff
profile.assignments.display.name=Errors
profile.mapping.inspection.profile.column.title=inspection profile
profile.mapping.scope.column.title=scope
boolean.method.is.always.inverted.display.name=Boolean method is always inverted
boolean.method.is.always.inverted.problem.descriptor=Boolean method <code>#ref</code> is always inverted
inspection.results.title=Results By Editor Settings
unnecessary.module.dependency.display.name=Unnecessary module dependency
unnecessary.module.dependency.problem.descriptor=Module ''{0}'' sources do not depend on module ''{1}'' sources, the dependency between modules could be removed
suspected.module.dependency.problem.descriptor=Dependency from module ''{0}'' on module ''{1}'' could be probably be removed when complementary scope to ''{2}'' also does not contain references on module ''{3}''
run.with.editor.settings.dialog.option=Run with &editor settings
inspection.new.profile.text=New Profile Name
profile.save.as.project.checkbox.title=Save as project profile
profile.save.as.ide.checkbox.title=Save as IDE profile
profile.assignment.repeatable.scope.warning=Repeatable scope. Correct assignments.
profile.ide.profile.radiobutton.title=IDE Profile
profile.project.radiobutton.title=Project Profile
profile.default.profile.title=Default Project Profile
profile.assignments.table.title=Project Inspection Profile Assignments
profile.assignments.browse.scope.button.title=&Browse ...
profile.assignments.browse.profile.scopes.dialog.title=Profiles Scopes
profile.quick.change.suggestion.message=<html>There are a few scopes configured for the project. Do you want to edit profile assignments on them?</html>
profile.quick.change.suggestion.dialog.title=Unable to switch profile
unhandled.exception.in.jsp.name=Unhandled Exception in JSP
inspection.no.modules.error.message=This project contains no modules. Inspection cannot proceed.
inspection.redundant.suppression.name=Redundant suppression
inspection.redundant.suppression.description=Redundant suppression
run.with.choosen.profile.dialog.option=Run with &chosen profile
disable.inspection.action.name=Disable inspection
group.names.packaging.issues=Packaging issues
group.names.dependency.issues=Dependency issues
group.names.modularization.issues=Modularization issues
run.inspection.on.file.intention.text=Run inspection on ...
severities.editor.dialog.title=Severities Editor
highlight.severity.create.dialog.title=New Highlight Severity
highlight.severity.create.dialog.name.label=Name
suspicious.name.combination.display.name=Suspicious variable/parameter name combination
suspicious.name.combination.options.title=Groups of names
suspicious.name.combination.options.prompt=Enter a comma-separated list of names:
suspicious.name.combination.add.titile=Add Group of Names
suspicious.name.combination.edit.title=Edit Group of Names

special.annotations.list.add.annotation.class=Add Annotation Class
special.annotations.list.annotation.class=Annotation Class
special.annotations.list.remove.annotation.class=Remove Annotation Class
dependency.injection.annotations.list=Additional Dependency Injection Annotations
special.annotations.annotations.list=Additional Special Annotations

inspection.filter.resolved.action.text=Filter resolved items
inspection.filter.show.diff.action.text=Show diff
inspection.duplicate.throws.display.name=Duplicate throws
inspection.duplicate.throws.problem=Duplicate throws
inspection.duplicate.throws.more.general.problem=There is a more general exception, ''{0}'', in the throws list already.
inspection.duplicate.throws.ignore.subclassing.option=Ignore exceptions subclassing others
inspection.filter.show.diff.only.action.text=Show diff only
inspection.new.profile.ide.to.project.warning.message=Do you want to save selected IDE profile as project profile?
inspection.new.profile.ide.to.project.warning.title=Unable to set up IDE profile for scope
profile.project.settings.banner=Project Profiles Settings
profile.project.display.name=Project Profiles
profile.banner.text=Inspection profile: {0} {1, choice, 0#(inactive)|1#}
profile.ide.tree.text=IDE Profiles
profile.ide.settings.banner=IDE Profiles Settings
profile.project.settings.disable.text=< Use IDE Profile >
errors.single.profile.title=Errors: ''{0}'' inspection profile
rename.inspection.profile=Rename inspection profile
rename.message.prefix.inspection.profile=Inspection profile
default.ide.profile.label.text=Default IDE profile:
profile.lock.action.text=Lock
profile.unlock.action.text=Unlock
profile.activate.action.text=Set as project default
profile.project.activate.action.text=Set as IDE default
inspection.annotate.quickfix.overridden.method.messages=Method {0} {1} method {2}.\nAnnotate the base method as well?
inspection.annotate.quickfix.overridden.method.warning=Overridden Method Warning
inspection.annotate.quickfix.implements=implements
inspection.annotate.quickfix.overrides=overrides
offline.inspections.jdk.not.found={0} not found
offline.inspections.module.jdk.not.found=Please, specify sdk ''{0}'' for module ''{1}''
inconsistent.resource.bundle.display.name=Inconsistent Resource Bundle
inconsistent.bundle.property.error=Inconsistent property ''{0}''. Must be defined in the parent file ''{1}''.
inconsistent.bundle.untranslated.property.error=Untranslated property ''{0}''. Should be overridden in the ''{1}''.
inconsistent.bundle.report.missing.translations=Report &missing translations
inconsistent.bundle.report.inconsistent.properties=Report &inconsistent properties
inconsistent.bundle.report.duplicate.properties.values=Report properties &overridden with the same value
inconsistent.bundle.property.inherited.with.the.same.value=Property inherited from the ''{0}'' file with the same value
edit.inspection.options=Edit ''{0}'' Options
offline.view.title=Offline View
offline.view.editor.settings.title=Editor Settings
offline.view.parse.exception.title=Nothing found to display
parsing.inspections.dump.progress.title=Parsing inspections XML dump

suppress.inspection.problem=Suppress
inspections.view.options.title=Inspection {0} options
inspections.result.view.exclude.action.text=Exclude
inspections.result.view.include.action.text=Include
xml.suppressable.for.tag.title=Suppress for tag
xml.suppressable.for.file.title=Suppress for file
xml.suppressable.all.for.file.title=Suppress all for file
annotate.overridden.methods.as.notnull=Annotate overridden methods as ''@{0}''
nullable.stuff.problems.overridden.methods.are.not.annotated=Overridden methods are not annotated
nullable.stuff.problems.overridden.method.parameters.are.not.annotated=Overridden method parameters are not annotated
annotate.overridden.methods.parameters=Annotate overridden method parameters as ''@{0}''
offline.inspections.library.was.not.resolved=Please configure library ''{0}'' which is used in module ''{1}''
report.suspicious.but.possibly.correct.method.calls=&Report suspicious but possibly correct method calls
unused.library.display.name=Unused library
unused.library.problem.descriptor=Unused library ''{0}''
unused.library.roots.problem.descriptor=Unused roots {0} from library ''{1}''
unused.library.backward.analysis.job.description=Perform backward analysis
inspection.duplicates.option.report.propertykey.expressions=&Ignore @PropertyKey expressions
inspection.same.parameter.fix.name=Inline value ''{1}'' for parameter ''{0}''
fix.all.inspection.problems.in.file=Fix all ''{0}'' problems
severities.default.settings.message=Edit Settings|Colors \\& Fonts
unsupported.character.for.the.charset=Unsupported characters for the charset ''{0}''
lossy.encoding=Lossy encoding
inspection.duplicated.code.display.name=Duplicated Code
inconsistent.line.separators=Inconsistent line separators
inspection.unused.symbol.public.method.parameters=Check parameters in &Non-private methods
introduce.constant.across.the.project=Introduce Constant Across the Project
inspection.application.chosen.profile.log\ message=Inspecting with profile ''{0}''
detach.library.quickfix.name=Detach library
detach.library.roots.quickfix.name=Detach unused library roots
inspection.javadoc.problem.pointing.to.itself=Javadoc pointing to itself

inspection.redirect.template=<html><body>Injected element has problem: {0} (in <a href=\"#navigation/{1}:{2}\">{3}</a>). </body></html>
nothing.found=Nothing found
special.annotations.list.annotation.pattern=Add Annotations Pattern

inspection.variable.assigned.to.itself.display.name=Variable is assigned to itself
assignment.to.itself.problem.descriptor=Variable ''{0}'' is assigned to itself
assignment.to.declared.variable.problem.descriptor=Variable ''{0}'' is initialized with self assignment
command.0.execution.failed.with.exit.code.1=Command \"{0}\" execution failed with exit code {1}
aidl.filetype.description=Android IDL files
add.string.resource.intention.text=Extract string resource
extract.dimension.intention.text=Extract dimension resource
resource.name=Resource name
intention.family=Android
package.not.found.error=Package is not specified in the manifest file
cannot.resolve.flag.error=Cannot resolve flag
cannot.resolve.format.error=Cannot resolve format
create.value.resource.quickfix.name=Create value resource ''{0}'' in ''{1}''
create.value.resource.intention.name=Create {0} value resource ''{1}''
create.file.resource.quickfix.name=Create resource file ''{0}'' in {1}
create.file.resource.intention.name=Create {0} resource file ''{1}''
quick.fixes.family=Android Quick Fixes
not.resource.file.error=File {0} is not resource file
check.resource.dir.error=Cannot find resource directory for module {0}
choose.device.dialog.title=Choose Device
replace.avd.question=AVD {0} already exists. Replace?
create.avd.dialog.title=Create Android Virtual Device
rename.alternate.resources.question=Rename alternative resources for other configurations?
rename.dialog.title=Rename
specify.avd.name.error=Please specify AVD name
select.platform.error=Please select Android SDK
avd.dialog.title=Select Android Virtual Device
select.compatible.avd.error=Please select compatible AVD
cant.remove.avd.error=Cannot remove AVD. Please close the emulator
cant.load.avds.error=Cannot reload AVD list. Please check SDK
build.android.module.process.title=Create Android main package
package.name.must.contain.2.ids.error=A package name must contain 2 segments (i.e. com.example)
specify.platform.error=Please specify Android SDK
cannot.connect.to.adb.error=Cannot connect to ADB. Possibly Android SDK is not specified.
specify.main.package.error=Android main package in module {0} not specified
android.module.type.name=Application Module
android.module.type.description=Android application modules are used for developing mobile applications targeting the Android OS.
not.valid.acvitiy.name.error=Not a valid Activity name "{0}"
specify.package.name.error=A package name must be specified
not.valid.package.name.error=Not a valid package name "{0}"
cant.find.activity.class.error=Cannot find android.app.Activity class
cant.find.class.error=Cannot find {0} class
activity.class.not.specified.error=Activity class not specified
not.activity.subclass.error={0} is not an Activity subclass or alias
no.facet.error=No Android facet found for {0}
android.logcat.tab.title=Logcat
android.adb.logs.tab.title=ADB logs
android.logcat.title=Android
android.logcat.error.dialog.title=Android Logcat Error
android.logcat.color.page.name=Android Logcat
warning.level.title=Warning
verbose.level.title=Verbose
info.level.title=Info
debug.level.title=Debug
error.level.title=Error
assert.level.title=Assert
rename.resource.question=Rename resource "{0}"?
rename.resource.dialog.text=Rename resource {0} to
create.project.library=Create &Project library ''{0}''
create.global.library=Create Glob&al library ''{0}''
create.library.dialog.title=Create Android library
select.target.dialog.text=Please select Android Target
default.activity.not.found.error=Default Activity not found
activity.not.launchable.error=The intent-filter of the activity must contain {0} action
activity.not.declared.in.manifest=The activity ''{0}'' is not declared in AndroidManifest.xml
activity.declared.but.manifest.merging.disabled=The activity ''{0}'' is declared in library module ''{1}'', but manifest merging is disabled for app module ''{2}''
new.typed.resource.command.name=New {0} resource file
new.typed.resource.dialog.title=New {0} Resource File
new.file.dialog.text=Enter a new file name
new.typed.resource.action.description=Create a new {0} resource file
new.typed.resource.action.title={0} resource file
new.resource.action.title=Android resource file
new.resource.dir.action.title=Android resource directory
new.resource.action.description=Create new resource file
new.resource.command.name=New resource file
new.resource.dialog.title=New Resource File
new.resource.dir.command.name=New resource directory
new.resource.dir.dialog.title=New Resource Directory
no.android.targets.error=Cannot find any Android targets in this SDK
android.choose.color=Choose color
android.run.configuration.type.name=Android Application
android.run.configuration.type.description=Android launch/debug configuration
android.test.run.configuration.type.name=Android Tests
android.test.run.configuration.type.description=Android unit testing configuration
android.run.configuration.package.label=Pac&kage
android.run.configuration.class.label=C&lass
android.run.configuration.method.label=Me&thod
android.run.configuration.all.in.module.radio=&All in Module
android.run.configuration.all.in.package.radio=All &in Package
android.run.configuration.class.radio=Cla&ss
android.browse.test.class.dialog.title=Select Test class
android.run.configuration.method.radio=M&ethod
android.test.run.configuration.instrumentation.label=Specific instrumentation &runner (optional)
android.browse.instrumentation.class.dialog.title=Select Instrumentation class
instrumentation.runner.class.not.specified.error=Instrumentation runner class not specified
cannot.find.testcase.error=Cannot find junit.framework.TestCase class
android.run.configuration.do.nothing.label=&Do not launch Activity
target.package.not.specified.error=Target package is not specified in AndroidManifest.xml
android.run.configuration.network.spped.label=&Network Speed:
android.run.configuration.network.latency.label=N&etwork Latency:
android.run.configuration.wipe.user.data.label=&Wipe user data
android.run.configuration.disable.boot.animation.label=Disable &boot animation
android.run.configuration.command.line.label=Additional &command line options
android.run.configuration.logcat.skip.content.label=&Clear log before launch
android.avd.error.title=AVD error
cant.load.avds.error.prefix=Cannot reload AVD list:
android.export.signed.package.action.text=Export Signed Application Package
android.generate.signed.apk.action.text=Generate Signed APK...
android.generate.signed.apk.use.gradle.message=<html>For Gradle-based projects, the signing configuration should be specified in the \
  Gradle build scripts.<p>\n\
  Configure your signing configurations as described in the user guide:\n\n\
  <a href=\"http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations\">http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations</a><br>\n\n\
  Then, run "gradle assembleRelease", and you will find your APK in the build/apk/ directory.</html>"
android.unable.to.get.output.directory.error=Unable to get the output folder of the project
android.file.not.exist.error=File {0} doesn't exist
android.project.contains.errors.error=The project contains errors
android.export.package.existing.keystore.label=&Use existing keystore
android.export.package.new.keystore.label=&Create new keystore
android.export.package.keystore.location.label=&Location:
android.password.label=Pa&ssword:
android.confirm.password.label=&Confirm:
android.export.package.passwords.not.match.error=Passwords do not match
android.export.package.specify.keystore.location.error=Please specify keystore location
android.export.package.specify.key.password.error=Please specify password for key
android.export.package.specify.key.store.password.error=Please specify password for key store
android.export.package.specify.password.error=Please specify password
android.export.package.incorrect.password.length=Password must be at least 6 characters
android.cannot.find.directory.error=Cannot find directory {0}
android.cannot.find.file.error=Cannot find file {0}
android.export.package.new.key.label=&Create a new key
export.android.package.existing.key.label=&Use an existing key
android.export.package.key.alias.label=&Alias:
android.export.package.keystore.error.title=Keystore loading error
android.extract.package.select.key.alias.error=Please select alias
android.export.package.key.validity.label=&Validity (years):
android.export.package.key.certificate.name.label=&First and Last Name:
android.export.package.organization.unit.label=&Organizational Unit:
android.export.package.city.label=City or &Locality:
android.export.package.state.label=S&tate or Province:
android.export.package.country.code.label=Country Code (&XX):
android.export.package.specify.key.alias.error=Please specify key alias
android.export.package.specify.certificate.field.error=At least one Certificate issuer field is required to be non-empty
android.export.package.organization.label=O&rganization:
android.cannot.create.new.key.error=Cannot create new key or keystore
android.create.new.key.error.prefix=Key was created with errors:
android.cannot.find.parent.directory.error=Cannot find parent directory for file {0}
android.extract.package.choose.keystore.title=Choose keystore file
android.export.package.destination.akp.label=&Destination APK path:
android.extract.package.cannot.find.key.error=Cannot find key {0}
android.extract.package.specify.apk.path.error=Please specify destination APK path
android.extract.package.task.title=Generating APK file
android.export.package.wizard.title=Generate Signed APK Wizard
android.export.package.success.message=File {0} was successfully created
avd.not.found.error=AVD {0} not found
android.no.facet.error=No Android facet found in the module
avd.not.valid.error=AVD {0} is not valid
avd.not.compatible.error=Build target of AVD {0} is not compatible with your build target
avd.cannot.be.loaded.error=Cannot load virtual devices
navigate.to.android.resource.action=Navigate to Android resource definition
android.identifier.expected={0} is not an identifier
android.directory.cannot.be.found.error="{0}" directory cannot be found
create.run.configuration.question=Do you want to create run configuration for module {0}?
create.run.configuration.title=Create Android Run Configuration
file.must.be.under.module.error=Cannot compute relative path for {0}
android.extract.package.choose.dest.apk=Choose destination APK file
android.cannot.create.file.error=Cannot create file {0}
android.cannot.create.dir.error=Cannot create directory {0}
android.manifest.not.found.error=AndroidManifest.xml doesn't exist or has incorrect root tag
android.apt.settings.title=R.java and Manifest.java files
android.aidl.settings.title=AIDL Compiler
android.generate.r.java.checkbox=Re&generate R.java file when resources are changed
android.dest.directory.title=Director&y for generated files\:
android.generate.r.java.by.res.dir=Use res&ource directory specified at "Structure" section
android.use.custom.r.java.source.dir=Use custo&m resource directory\:
android.regenerate.idl.when.changed.checkbox=Regenerate &Java files when AIDL files are changed
android.wizard.application.project.button=&Application
android.wizard.lib.project.button=&Library
android.wizard.test.project.button=&Test
android.wizard.tested.project.label=Tested &module:
android.wizard.specify.tested.module.error=Please specify tested module
android.wizard.tested.module.without.facet.error=Tested module must contain Android facet
android.wizard.cannot.find.module.parent.dir.error=Cannot find module parent directory: {0}
android.wizard.invalid.sdk.error=Android SDK is invalid
android.facet.editor.is.library.checkbox=Li&brary module
android.run.sdk.manager.action.text=SDK Manager
android.run.avd.manager.action.text=AVD Manager
android.choose.sdk.label=Please choose Android SDK location
android.choose.sdk.title=Choose SDK
copy.resources.from.artifacts.setting=R&un "process-resources" Maven task before Make
android.apk.settings.title=Resources Packaging
android.create.avd.dialog.sdcard.size=S&ize:
android.create.avd.dialog.sdcard.file=&File:
android.create.avd.dialog.sdcard.title=SDCard
android.create.avd.dialog.sdcard.file.browser.title=Select SDCard file
android.facet.settings.res.overlay.panel.title=Res-overlay directories
android.facet.setting.res.overlay.add=A&dd
android.facet.settings.res.overlay.remove=Rem&ove
android.inspections.group.name=Android
android.lint.inspections.subgroup.name=Lint
android.lint.inspections.group.name=Android Lint
android.inspections.dom.name=Android Resources Validation
android.inspections.unknown.attribute.name=Unknown Android XML attribute
android.inspections.unknown.attribute.message=Unknown attribute {0}
android.facet.settings.generate.unsigned.apk=Generate unsigned AP&K
android.compile.messages.generating.r.java=Generating R.java...
android.compile.messages.generating.r.java.content.name=Generating sources
android.compile.messages.copying.sources.from.libraries=Copying sources from libraries...
android.new.component.action.title=Android (Other)
android.new.component.action.title.non.gradle=Android Component
android.new.component.action.description=Create a new Android object from the Other category
android.new.component.action.command.name=New Android Component
android.new.component.dialog.activity.item=Activity
android.new.component.dialog.fragment.item=Fragment
android.new.component.dialog.service.item=Service
android.new.component.dialog.broadcast.receiver.item=Broadcast Receiver
android.new.component.dialog.broadcast.remote.interface=Remote Interface
android.enable.adb.service.action.title=Enable ADB Integration
android.enable.adb.service.action.description=Enable/disable integration with Android debug bridge
android.ddms.disabled.error=You have to enable ADB integration to launch debugging. Do you want to do that?
android.ddms.disabled.dialog.title=ADB Integration Disabled
android.dex.compiler.vm.options.title=Android DX Compiler VM Options
android.proguard.vm.options.title=Android ProGuard VM Options
android.dex.compiler.configurable.display.name=Android Compilers
android.run.configuration.general.tab.title=General
android.run.configuration.emulator.tab.title=Emulator
android.run.configuration.logcat.tab.title=Logcat
android.facet.settings.apk.path.label=A&PK path:
android.run.confguration.deploy.and.install.check.box=D&eploy application
android.logcat.no.android.facets.error=There is no Android facets in the project
android.facet.settings.compile.resources.by.ide=&Generate by IDE
android.keystore.password.label=Pa&ssword:
android.keystore.confirm.password.label=C&onfirm:
android.export.package.new.key.alias.label=&Alias:
android.key.password.label=Pa&ssword:
android.cannot.run.library.project.error=The module cannot be Android library
android.cannot.run.library.project.in.this.buildtype=The currently selected Gradle build type does not support instrumentation tests
android.compilation.error.specify.platform=[{0}] Android SDK is not specified or cannot be parsed
android.compilation.error.manifest.not.found=[{0}] AndroidManifest.xml file not found. Please, check Android facet settings.
android.compilation.error.apt.gen.not.specified=AAPT destination directory not specified for module {0}
android.compilation.error.apk.path.not.specified=Final APK path not specified for module {0}
android.restart.logcat.action.text=Restart
android.restart.logcat.action.description=Restart logging
android.new.component.dialog.application.item=Application
android.sdk.presentable.name=Android SDK
android.sdk.configure.jdk.error=Please configure internal JDK
no.jdk.for.android.found.error=No Java SDK of appropriate version found. In addition to the Android SDK, you need to define a JDK 1.5, 1.6 or 1.7
no.jdk.error=You need to create at least one JDK of versions 1.5, 1.6 or 1.7
cannot.parse.sdk.error=Cannot parse Android SDK
android.add.sdk.tooltip=Add SDK
android.console.tool.window.title=Android Console
ddms.corrupted.error=Warning: debug info can be unavailable. Please close other application using ADB: Monitor, DDMS, Eclipse
android.import.dependencies.error.message.header=Importing finished with errors:
android.import.dependencies.add.module.dependency.task.title=Add dependency {0} --> {1}
android.import.dependencies.new.module.task.title=Create library module {0} in {1}
android.import.dependencies.import.module.task.title=Import library module {0} from {1}
android.import.dependencies.dialog.title=Import Android Dependencies From Property Files
android.import.dependencies.source.roots.dialog.title=Import Source Roots
android.import.dependencies.source.roots.dialog.label=Choose source roots to add to your project
sdk.broken.error=Cannot parse Android SDK. Please reconfigure it in Android facet settings
android.layout.preview.cannot.load.library.error=Failed to load platform rendering library
android.layout.preview.tool.window.title=Preview
android.layout.preview.default.error.message=Cannot perform rendering
android.layout.preview.zoom.in.action.text=Zoom In
android.layout.preview.zoom.out.action.text=Zoom Out
android.layout.preview.zoom.actual.action.text=Zoom to actual size
android.layout.preview.zoom.to.fit.action.text=Zoom to Fit
android.layout.preview.refresh.action.text=Refresh
restart.adb.fix.text=Restart ADB integration and try again
android.layout.preview.edit.configuration.available.qualifiers.label=A&vailable qualifiers:
android.layout.preview.edit.configuration.choosen.qualifiers.label=C&hosen qualifiers:
new.resource.dir.action.name=Creating resource directory "{0}"
new.resource.action.name=Creating resource file "{0}"
android.renderscript.file.type.description=Android renderscript files
android.renderscript.compiler.description=Android Renderscript Compiler
android.extended.device.chooser.running.device.radio=&Choose a running device
android.extended.device.chooser.launch.emulator.radio=&Launch emulator
android.extended.device.chooser.avd.label=&Android virtual device:
deployment.target.settings.show.dialog=Show &chooser dialog
deployment.target.settings.usb.device=&USB device
deployment.target.settings.emulator=Emulato&r
deployment.target.settings.prefer.avd.label=&Prefer Android Virtual Device:
deployment.target.settings.title=Target Device
deployment.target.settings.wizard.configure.later=Do not create run configuration
deployment.target.settings.wizard.show.dialog=Show device chooser dialog
deployment.target.settings.wizard.usb.device=USB device
deployment.target.settings.wizard.emulator=Emulator
deployment.failed.uninstall.prompt.text=Installation failed since the device already has an application with the same package but a different signature.\n\
  In order to proceed, you have to uninstall the existing application.\n\n\
  WARNING: Uninstalling will remove the application data!\n\n\
  Do you want to uninstall the existing application?
deployment.failed.title=Application Installation Failed
deployment.failed.no.certificates.explanation=Installation failed since the APK was either not signed, or signed incorrectly.\n\
  If this is a Gradle-based project, then make sure the signing configuration is specified in the Gradle build script.
android.compilation.error.cannot.create.png.cache.directory=Cannot create PNG cache directory for module {0}
android.inspections.non.constant.res.ids.in.switch.name=Non-constant resource ID in a switch statement
android.inspections.non.constant.res.ids.in.switch.message=Resource IDs cannot be used in a switch statement in Android library modules
android.logcat.clear.log.action.title=Clear logcat
android.logcat.clear.log.action.tooltip=Clears logcat buffer on device
android.logcat.filters.none=No Filters
android.logcat.filters.edit=Edit Filter Configuration
android.logcat.new.filter.dialog.name.label=&Name\:
android.logcat.new.filter.dialog.tag.label=by Log &Tag (regex)\:
android.logcat.new.filter.dialog.message.label=by Log &Message (regex)\:
android.logcat.new.filter.dialog.pid.label=by &PID\:
android.logcat.new.filter.dialog.package.name.label=by P&ackage Name\:
android.logcat.new.filter.dialog.log.level.label=by Log &Level\:
android.logcat.new.filter.dialog.name.not.specified.error=Filter name is not specified
android.logcat.new.filter.dialog.incorrect.log.tag.pattern.error=Invalid log tag regex pattern
android.logcat.new.filter.dialog.incorrect.message.pattern.error=Invalid log message regex pattern
android.logcat.new.filter.dialog.incorrect.application.name.pattern.error=Invalid application name regex pattern
android.logcat.new.filter.dialog.incorrect.pid.error=PID must be a positive integer
android.logcat.new.filter.dialog.title=Create New Logcat Filter
android.logcat.edit.filter.dialog.title=Edit Logcat Filter
android.logcat.edit.logcat.filter.button=Edit selected logcat filter
android.logcat.remove.logcat.filter.button=Remove selected logcat filter
android.logcat.add.logcat.filter.button=Add a new logcat filter
android.logcat.new.logcat.dialog.label=<html>Filter logcat messages by different parameters.<br>Empty fields will match all messages.</html>
android.logcat.new.filter.dialog.name.busy.error=Filter {0} already exists
android.logcat.edit.filter.dialog.no.filters=Click on the add icon to add a filter

android.emulator=Emulator
android.ddms.devicepanel.title=Devices
android.ddms.nodevices=[none]

android.ddms.actions.terminate.vm=Terminate Application
android.ddms.actions.terminate.vm.description=Terminates selected Android Application
android.ddms.actions.initiate.gc=Initiate GC
android.ddms.actions.initiate.gc.description=Initiates garbage collection on selected VM
android.ddms.actions.dump.hprof=Dump Java Heap
android.ddms.actions.dump.hprof.description=Dump Java Heap for selected client
android.ddms.actions.dump.hprof.error.unsupported=Heap dump; Older devices aren't supported yet. Please manually retrieve the file from the device using\n\
  $ adb pull {0}
android.ddms.actions.dump.hprof.saved=Heap dump saved as: {0}
android.ddms.actions.dump.hprof.savedialog.title=Save Heap Dump
android.ddms.actions.screenshot=Screen Capture
android.ddms.actions.screenshot.description=Obtain a screenshot from the device
android.ddms.actions.screenrecord=Screen Record
android.ddms.actions.screenrecord.description=Record a video of the device display
android.ddms.actions.methodprofile.start=Start Method Tracing
android.ddms.actions.methodprofile.stop=Stop Method Tracing
android.ddms.screenshot.task.step.obtain=Obtaining screenshot from device...
android.ddms.screenshot.task.step.load=Loading screenshot into memory...
android.ddms.screenshot.task.error1=Unexpected error while obtaining screenshot from device: {0}
android.ddms.screenshot.task.error.invalid.bpp=Unsupported image (bits per pixel = {0}) received from device
android.ddms.screenshot.save.error=Unexpected error while saving screenshot: {0}
android.ddms.screenshot.generic.error=Unexpected error while obtaining screenshot: {0}
android.ddms.screenshot.save.title=Save as PNG
android.ddms.screenshot.save.ok.button.text=Save
android.ddms.screenshot.image.processor.task.title=Updating Image
android.ddms.screenrecord.options.ok.button.text=Start Recording
android.ddms.screenrecorder.info=<html>Screen Recorder can record the device's display for a maximum of 3 minutes.<br>\
  By default, it records at the device's native resolution or at 720p at a 4 Mbps bitrate.<br>\
  You can customize these options below. Leave empty to use defaults.</html>
android.compile.messages.processing.external.apklib.dependencies=Processing external apklib dependencies
android.maven.cannot.parse.android.sdk.error=Cannot parse Android SDK for module {0}. Try to force reimport from Maven model
android.facet.settings.custom.debug.keystore.label=C&ustom debug keystore\:
android.export.package.run.proguard.label=Run &ProGuard
android.export.package.proguad.config.label=C&onfig file path\:
android.extract.package.specify.proguard.cfg.path.error=Please specify ProGuard config file path
android.facet.settings.pack.test.sources=Include test code and resources into APK
android.inspections.lint.name=Android Lint Validation
android.lint.quickfixes.family=Android Lint Quick Fixes
android.lint.inspections.aapt.crash=Potential AAPT crash
android.lint.inspections.adapter.view.children=AdapterViews cannot have children in XML
android.lint.inspections.allow.backup=Missing allowBackup attribute
android.lint.inspections.always.show.action=Usage of showAsAction\=always
android.lint.inspections.assert=Assertions
android.lint.inspections.back.button=Back button
android.lint.inspections.button.case=Cancel/OK dialog button capitalization
android.lint.inspections.button.order=Button order
android.lint.inspections.button.style=Button should be borderless
android.lint.inspections.byte.order.mark=Byte order mark inside files
android.lint.inspections.commit.pref.edits=Missing commit() on SharedPreference editor
android.lint.inspections.content.description=Image without contentDescription
android.lint.inspections.cut.paste.id=Likely cut & paste mistakes
android.lint.inspections.device.admin=Device Admin cannot be deactivated
android.lint.inspections.disable.baseline.alignment=Missing baselineAligned attribute
android.lint.inspections.draw.allocation=Memory allocations within drawing code
android.lint.inspections.duplicate.activity=Activity registered more than once
android.lint.inspections.duplicate.definition=Duplicate definitions of resources
android.lint.inspections.duplicate.ids=Duplicate ids within a single layout
android.lint.inspections.duplicate.included.ids=Duplicate ids across layouts combined with include tags
android.lint.inspections.duplicate.uses.feature=Feature declared more than once
android.lint.inspections.easter.egg=Code contains easter egg
android.lint.inspections.enforce.utf8=Encoding used in resource files is not UTF-8
android.lint.inspections.exported.content.provider=Content provider does not require permission
android.lint.inspections.exported.receiver=Receiver does not require permission
android.lint.inspections.exported.service=Exported service does not require permission
android.lint.inspections.extra.text=Extraneous text in resource files
android.lint.inspections.extra.translation=Extra translation
android.lint.inspections.gif.usage=Using .gif format for bitmaps is discouraged
android.lint.inspections.gradle.compatible=Incompatible Gradle Versions
android.lint.inspections.gradle.dependency=Obsolete Gradle Dependency
android.lint.inspections.gradle.dynamic.version=Gradle Dynamic Version
android.lint.inspections.gradle.getter=Gradle Implicit Getter Call
android.lint.inspections.gradle.ide.error=Gradle IDE Support Issues
android.lint.inspections.gradle.overrides=Value overridden by Gradle build script
android.lint.inspections.gradle.path=Gradle Path Issues
android.lint.inspections.grant.all.uris=Content provider shares everything
android.lint.inspections.grid.layout=GridLayout validation
android.lint.inspections.hardcoded.debug.mode=Hardcoded value of android\:debuggable in the manifest
android.lint.inspections.hardcoded.text=Hardcoded text
android.lint.inspections.icon.colors=Icon colors do not follow the recommended visual style
android.lint.inspections.icon.densities=Icon densities validation
android.lint.inspections.icon.dip.size=Icon density-independent size validation
android.lint.inspections.icon.duplicates=Duplicated icons under different names
android.lint.inspections.icon.duplicates.config=Identical bitmaps across various configurations
android.lint.inspections.icon.expected.size=Icon has incorrect size
android.lint.inspections.icon.extension=Icon format does not match the file extension
android.lint.inspections.icon.launcher.shape=The launcher icon shape should use a distinct silhouette
android.lint.inspections.icon.location=Image defined in density-independent drawable folder
android.lint.inspections.icon.missing.density.folder=Missing density folder
android.lint.inspections.icon.mixed.nine.patch=Clashing PNG and 9-PNG files
android.lint.inspections.icon.no.dpi=Icon appears in both -nodpi and dpi folders
android.lint.inspections.icon.xml.and.png=Icon is specified both as .xml file and as a bitmap
android.lint.inspections.illegal.resource.ref=Name and version must be integer or string, not resource
android.lint.inspections.inflate.params=Layout Inflation without a Parent
android.lint.inspections.in.or.mm.usage=Using mm or in dimensions
android.lint.inspections.inconsistent.arrays=Inconsistencies in array element counts
android.lint.inspections.inconsistent.layout=Inconsistent Layouts
android.lint.inspections.inefficient.weight=Inefficient layout weight
android.lint.inspections.inlined.api=Using inlined constants on older versions
android.lint.inspections.innerclass.separator=Inner classes should use $ rather than .
android.lint.inspections.invalid.id=Invalid ID declaration
android.lint.inspections.label.for=Missing labelFor attribute
android.lint.inspections.library.custom.view=Custom views in libraries should use res-auto-namespace
android.lint.inspections.local.suppress=@SuppressLint on invalid element
android.lint.inspections.mangled.crlf=Mangled file line endings
android.lint.inspections.manifest.order=Incorrect order of elements in manifest
android.lint.inspections.menu.title=Missing menu title
android.lint.inspections.merge.root.frame=FrameLayout can be replaced with <merge> tag
android.lint.inspections.missing.application.icon=Missing application icon
android.lint.inspections.missing.id=Fragments should specify an id or tag
android.lint.inspections.missing.prefix=Missing Android XML namespace
android.lint.inspections.missing.quantity=Missing quantity translation
android.lint.inspections.missing.super.call=Missing Super Call
android.lint.inspections.missing.translation=Incomplete translation
android.lint.inspections.missing.version=Missing application name/version
android.lint.inspections.mock.location=Using mock location provider in production
android.lint.inspections.multiple.uses.sdk=Multiple <uses-sdk> elements in the manifest
android.lint.inspections.nested.scrolling=Nested scrolling widgets
android.lint.inspections.nested.weights=Nested layout weights
android.lint.inspections.new.api=Calling new methods on older versions
android.lint.inspections.nfc.tech.whitespace=Whitespace in NFC tech lists
android.lint.inspections.not.sibling=RelativeLayout Invalid Constraints
android.lint.inspections.obsolete.layout.param=Obsolete layout params
android.lint.inspections.old.target.api=Target SDK attribute is not targeting latest version
android.lint.inspections.orientation=Missing explicit orientation
android.lint.inspections.overdraw=Overdraw\: Painting regions more than once
android.lint.inspections.override=Method conflicts with new inherited method
android.lint.inspections.packaged.private.key=Packaged private key
android.lint.inspections.private.resource=Using private resources
android.lint.inspections.proguard=Using obsolete ProGuard configuration
android.lint.inspections.proguard.split=Proguard.cfg file contains generic Android rules
android.lint.inspections.property.escape=Incorrect property escapes
android.lint.inspections.protected.permissions=Using system app permission
android.lint.inspections.px.usage=Using 'px' dimension
android.lint.inspections.reference.type=Incorrect reference types
android.lint.inspections.registered=Class is not registered in the manifest
android.lint.inspections.required.size=Missing layout_width or layout_height attributes
android.lint.inspections.res.auto=Hardcoded Package in Namespace
android.lint.inspections.resource.as.color=Should pass resolved color instead of resource id
android.lint.inspections.resource.cycle=Cycle in resource definitions
android.lint.inspections.rtl.compat=Right-to-left text compatibility issues
android.lint.inspections.rtl.enabled=Using RTL attributes without enabling RTL support
android.lint.inspections.rtl.hardcoded=Using left/right instead of start/end attributes
android.lint.inspections.rtl.symmetry=Padding and margin symmetry
android.lint.inspections.scroll.view.count=ScrollViews can have only one child
android.lint.inspections.scroll.view.size=ScrollView size validation
android.lint.inspections.sd.card.path=Hardcoded reference to /sdcard
android.lint.inspections.selectable.text=Dynamic text should probably be selectable
android.lint.inspections.service.cast=Wrong system service casts
android.lint.inspections.set.java.script.enabled=Using setJavaScriptEnabled
android.lint.inspections.show.toast=Toast created but not shown
android.lint.inspections.small.sp=Text size is too small
android.lint.inspections.sp.usage=Using dp instead of sp for text sizes
android.lint.inspections.state.list.reachable=Unreachable state in a <selector>
android.lint.inspections.stop.ship=Code contains STOPSHIP marker
android.lint.inspections.string.format.count=Formatting argument types inconsistent across translations
android.lint.inspections.string.format.invalid=Invalid format string
android.lint.inspections.string.format.matches=String.format string doesn't match the XML format string
android.lint.inspections.suspicious0dp=Suspicious 0dp dimension
android.lint.inspections.suspicious.import='import android.R' statement
android.lint.inspections.text.fields=Missing inputType or hint
android.lint.inspections.text.view.edits=TextView should probably be an EditText instead
android.lint.inspections.too.deep.layout=Layout hierarchy is too deep
android.lint.inspections.too.many.views=Layout has too many views
android.lint.inspections.typography.dashes=Hyphen can be replaced with dash
android.lint.inspections.typography.ellipsis=Ellipsis string can be replaced with ellipsis character
android.lint.inspections.typography.fractions=Fraction string can be replaced with fraction character
android.lint.inspections.typography.other=Other typographical problems
android.lint.inspections.typography.quotes=Straight quotes can be replaced with curvy quotes
android.lint.inspections.typos=Spelling error
android.lint.inspections.unique.permission=Permission names are not unique
android.lint.inspections.unknown.id=Reference to an unknown id
android.lint.inspections.unknown.id.in.layout=Reference to an id that is not in the current layout
android.lint.inspections.unlocalized.sms=SMS phone number missing country code
android.lint.inspections.unused.attribute=Attribute unused on older versions
android.lint.inspections.unused.ids=Unused id
android.lint.inspections.unused.quantity=Unused quantity translations
android.lint.inspections.unused.resources=Unused resources
android.lint.inspections.use.check.permission=Using the result of check permission calls
android.lint.inspections.use.compound.drawables=Node can be replaced by a TextView with compound drawables
android.lint.inspections.use.sparse.arrays=HashMap can be replaced with SparseArray
android.lint.inspections.use.value.of=Should use valueOf instead of new
android.lint.inspections.useless.leaf=Useless leaf layout
android.lint.inspections.useless.parent=Useless parent layout
android.lint.inspections.uses.min.sdk.attributes=Minimum SDK and target SDK attributes not defined
android.lint.inspections.view.holder=View Holder Candidates
android.lint.inspections.web.view.layout=WebViews in wrap_content parents
android.lint.inspections.world.readable.files=openFileOutput() call passing MODE_WORLD_READABLE
android.lint.inspections.world.writeable.files=openFileOutput() call passing MODE_WORLD_WRITEABLE
android.lint.inspections.wrong.case=Wrong case for view tag
android.lint.inspections.wrong.folder=Resource file in the wrong res folder
android.lint.inspections.wrong.view.cast=Mismatched view type

android.lint.fix.add.content.description=Add 'contentDescription' attribute
android.lint.fix.add.android.prefix=Add Android prefix
android.lint.fix.replace.with.zero.dp=Replace size attribute with 0dp
android.lint.fix.set.baseline.attribute=Set 'baselineAligned' attribute
android.lint.fix.remove.attribute=Remove attribute
android.lint.fix.convert.to.dp=Convert to \"dp\"...
android.lint.fix.set.to.wrap.content=Replace size attribute with 'wrap_content'
android.lint.fix.add.permission.attribute=Add 'permission' attribute
android.lint.fix.add.input.type.attribute=Add 'inputType' attribute
android.lint.fix.remove.unnecessary.view=Remove unnecessary view
android.lint.fix.replace.with.suggested.characters=Replace with suggested characters
android.lint.fix.add.target.api=Add @TargetApi({0}) Annotation
android.lint.fix.suppress.lint.api.annotation=Suppress: Add @SuppressLint("{0}") annotation
android.lint.fix.suppress.lint.api.attr=Suppress: Add tools:ignore="{0}" attribute
android.lint.fix.replace.namespace=Replace with an auto resource namespace

android.export.unsigned.package.action.text=Export Unsigned Application Package
android.inspections.element.not.allowed.name=Android XML element is not allowed
android.facet.settings.run.proguard=Run ProGuard
android.facet.settings.proguard.cfg.label=Config file:
android.debug.sessions.will.be.closed=Following debug sessions will be closed\:\n{0}
android.launch.ddms.title=Monitor (DDMS included)
android.launch.ddms.already.launched.error=Monitor is already launched
android.disable.adb.service.title=Disable ADB Integration
android.launch.hierarchy.viewer.action=Hierarchy Viewer
android.facet.settings.include.system.proguard=Include system proguard file
file.already.exists.error=File {0} already exists
deployment.target.settings.min.sdk.info.message=Only compatible AVDs are shown. See 'uses-sdk' tag in AndroidManifest.xml
android.compilation.warning.circular.app.dependency=Generated fields in {0}.R class in module ''{1}'' won''t be final, because of circular dependency on module ''{2}''
file.name.not.specified.error=File name is not specified
root.element.not.specified.error=Root element is not specified
directory.not.specified.error=Directory is not specified
android.manifest.merger.not.supported.error=Manifest merging is not supported. Please, reconfigure your manifest files
invalid.resource.name.error=Invalid resource name ''{0}''
android.extract.style.title=Extract Android Style
android.inline.style.title=Inline Android Style
android.inline.style.command.name=Inline Style ''{0}''
android.inline.style.inline.all.text=Inline &all references and remove the style
android.inline.style.inline.this.text=Inline &this usage and keep the style
android.extract.as.include.title=Extract Android Layout
android.inline.layout.command.name=Inline Layout File ''{0}''
android.inline.file.inline.all.text=Inline &all references and remove the file
android.inline.file.inline.this.text=Inline &this usage and keep the file
android.inline.layout.title=Inline Android Layout
android.facet.importing.notification.group=Importing Error
android.autogeneration.notification.group=Android Autogeneration
android.facet.importing.title=Error when importing module ''{0}''
android.find.style.applications.title=Use Style Where Possible
android.aapt.use.custom.package.name=Rename manifest pac&kage\:
android.wizard.cannot.find.main.content.root.error=Cannot find content root containing AndroidManifest.xml file in module {0}
android.9patch.file.type.description=Android 9-Patch Files
android.9patch.creator.title=Create 9-Patch file...
android.9patch.creator.save.title=Save As .9.png
android.9patch.creator.error=Unexpected error while creating 9-Patch file: {0}
android.9patch.creator.error.title=Create 9-Patch File
android.update.project.properties.dialog.text=The structure of following Android modules was changed:<br>{0}<br>Would you like to update related project.properties files?<br>\
  <a href="once">Only once</a><br><a href="always">Always for these modules</a><br><a href="never">Never for these modules</a>
android.update.project.properties.dialog.title=Update Property Files
error.report.at.b.android=<html>Error Submitting Feedback: {0}<br>\
  Consider creating an issue at \
  <a href="https://code.google.com/p/android/issues/list">Android Issue Tracker</a></html>
error.report.to.google.action=&Report to Google
android.startup.missing.jdk=<html>A Java Development Kit (JDK) installation is required.  We could not locate a JDK installation on this machine.<br>\
  If you have one, provide its location below.  Otherwise, please download and install <a href\="http\://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK 6</a>.</html>
android.startup.missing.sdk=<html>Please provide the path to the Android SDK.<br>If you do not have the Android SDK, you can obtain it from <a href="http://d.android.com">d.android.com</a>.</html>
android.startup.missing.both=<html>A Java Development Kit (JDK) installation is required.  We could not locate a JDK installation on this machine.<br>\
  If you have one, provide its location below.  Otherwise, please download and install <a href\="http\://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK 6</a>.\
  <br>If you do not have the Android SDK, you can obtain it from <a href="http://d.android.com">d.android.com</a>.</html>
android.navigation.file.type.description=Android navigation Files
android.version.check.too.old=<html>This version of Android Studio requires Android SDK Tools revision {0} or above.<br>Current revision is {1}.<br>Please update your SDK Tools to the latest version.</html>
android.refactoring.rtl.addsupport.title=Add Right-To-Left (RTL) Support
android.refactoring.rtl.addsupport.dialog.title=Add Right-To-Left (RTL) Support...
android.refactoring.rtl.addsupport.dialog.ok.button.text=Run
android.refactoring.rtl.addsupport.dialog.apply.button.text=Press the "Do RTL Refactor" button at the bottom of the search results panel to proceed with the right-to-left (RTL) refactoring\n
android.refactoring.rtl.addsupport.dialog.label.text=This refactoring will add RTL support to your Android App.\n\nPlease check the following options:\n
android.refactoring.rtl.addsupport.dialog.option.label.update.manifest.text=update AndroidManifest.xml
android.refactoring.rtl.addsupport.dialog.option.label.update.layouts.text=update layouts files
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.txt=Layout options
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.replace.leftright.txt=replace left/right properties with start/end properties
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.generate.v17.txt=generate v17 versions
create.on.click.handler.intention.text=Create onClick event handler
android.inspections.on.click.missing.name=onClick handler is missing in the related activity
android.inspections.on.click.missing.problem=Method ''{0}'' is missing in ''{1}'' or has incorrect signature
android.inspections.on.click.missing.incorrect.signature=Method ''{0}'' in ''{1}'' has incorrect signature
android.db.downloading.progress.title=Downloading Android SQLite Databases
android.db.uploading.progress.title=Uploading Android SQLite Databases

subversion.name=Subversion

subversion.executable.notification.title=Can't use Subversion command line client
subversion.executable.notification.description=Probably the path to Subversion executable is wrong.
subversion.executable.too.old=Subversion command line client version is too old ({0}).

subversion.roots.detection.errors.found.description=Errors found while svn working copies detection. <a href="FIX">Fix it</a>.

#Actions&Plugin info
group.SubversionFileGroup.text=SVN
action.Subversion.BrowseSVNRepository.text=Bro_wse Subversion Repository...
action.Subversion.BrowseSVNRepository.description=Browse a Subversion repository
group.SubversionFilePopupGroup.text=_Subversion
action.Subversion.Add.text=_Add
action.Subversion.Add.description=Add the file to Subversion
group.IgnoreChoicesGroup.text=Ignore
group.RevertIgnoreChoicesGroup.text=Remove from ignore list
action.Subversion.UndoIgnore.text=Selected file names
action.Subversion.UndoIgnore.description=Remove file name/mask from folder ignore list
action.Subversion.Ignore.ExactMatch.text=Selected file names
action.Subversion.Ignore.ExactMatch.description=Adds names of all selected files into folder ignore list
action.Subversion.Ignore.MatchExtension.text=Extension mask
action.Subversion.Ignore.MatchExtension.description=Adds {0} mask into folder ignore list
action.Subversion.SetProperty.text=Set Proper_ty...
action.Subversion.SetProperty.description=Set versioned property on file or directory
action.Subversion.Revert.text=_Revert...
action.Subversion.Revert.description=Revert file to pristine state
action.Subversion.Resolve.text=Re_solve Text Conflict...
action.Subversion.Resolve.description=Resolve text conflict on file
action.Subversion.MarkResolved.text=_Mark Resolved...
action.Subversion.MarkResolved.description=Mark text and properties conflicts as resolved
action.Subversion.Clenaup.text=Cl_eanup
action.Subversion.Clenaup.description=Unlock locked directories and run all remaining incompleted operations
action.Subversion.Copy.text=_Branch or Tag...
action.Subversion.Copy.description=Copy selected file or directory to the new repository location
action.Subversion.Lock.text=_Lock...
action.Subversion.Lock.description=Lock files
action.Subversion.Unlock.text=Unl_ock
action.Subversion.Unlock.description=Unlock files
action.SvnChangesBrowser.text=Bro_wse Changes...
plugin.Subversion.description=Provides integration with Subversion version control system
action.name.refresh=Refresh
action.Subversion.ImportToSVNRepository.text=I_mport into Subversion...
action.Subversion.Share.text=_Share Directory...
action.Subversion.ShowProperties.text=Edit _Properties
action.Subversion.ConfigureBranches.text=Configure Branches...
action.Subversion.CompareWithBranch.text=Compare with Branch...
action.Subversion.Relocate.text=Relocate...
action.Subversion.Relocate.description=Relocate working copy to a different URL
action.Subversion.CleanupProject.text=Cleanup Project
action.Subversion.CleanupProject.description=Perform cleanup for all working copy directories in the project

#Copy dialog
dialog.title.branch=Create Branch or Tag
label.copy.from=&From:
label.copy.to=&To:
label.copy.from.revision=Copy from revision:
radio.copy.working.copy=&Working copy
radio.copy.head=&HEAD revision
radio.copy.specific=Specific &revision:
label.copy.comment=&Comment
label.copy.select.location.dialog.copy.as=Copy &as:

#Locl dialog
dialog.title.lock.files=Lock Files
dialog.title.lock.file=Lock File
label.lock.comment=&Lock comment:
label.locl.steal.existing=&Steal existing lock

#SSHCredentialsDialog
label.ssh.authentication.realm=Authentication realm: ''{0}''
dialog.title.openssh.v2.private.key=OpenSSH v2 Private Key
dialog.description.openssh.v2.private.key=Select private key file for SSH authentication
checkbox.ssh.keep.for.current.session=&Save Credentials
radio.ssh.authentication.with.agent=SS&H Agent
label.ssh.user.name=&User name:
radio.ssh.authentication.with.password=Authentication &with password
label.ssh.password=&Password:
radio.ssh.authentication.private.key=Authentication with private &key
label.ssh.key.file=Key &File:
label.ssh.passphrase=Passph&rase:
label.ssh.port=Port &Number:

label.ssl.certificate.path=Path to certificate:
label.ssl.certificate.password=Certificate passphrase:
checkbox.ssl.keep.for.current.session=&Save Credentials

progress.text.create.remote.folder=Create Remote Folder
message.text.error=Error

# GNOME keyring dialog
gnome.keyring.prompt.nameless=Please provide GNOME Keyring password
gnome.keyring.prompt.named=Please provide ''{0}'' GNOME Keyring password

#Repository Browser
dialog.title.browser.copy.or.move=Copy or Move
dialog.title.browser.delete=Delete
dialog.title.browser.new.folder=New Folder
label.browser.url1.delete=Delete
label.browser.url1.create=Create
label.browser.url1.from=From
label.browser.to=To
label.browser.name.copy.as=Copy &as:
label.browser.name.name=&Name:
checkbox.browser.move.source.to.target=&Move source to target
label.browser.comment=&Comment:
label.browser.select.location=&Select location in repository:
node.text.browser.type.valid.url=Type valid URL and click 'Refresh' to select location
dialog.title.browser.browse.repository=Browse Subversion Repository
label.text.browser.repository.url=Repository &URL:
button.text.new.folder=&New Folder...
button.text.delete=&Delete...
button.text.copy=&Copy
button.text.paste=&Paste...
progres.text.deleting=Deleting {0}
progress.title.browser.delete=Delete
progress.text.browser.creating=Creating {0}
progress.text.browser.moving=Moving {0}
progress.text.browser.copying=Copying {0}
progress.text.browser.remote.destination=To {0}
progress.title.browser.move=Move
progress.title.browser.copy=Copy
node.text.browser.cannot.access.repository=Cannot access repository at ''{0}''
progress.text.browser.establishing.connection=Establishing connection to Subversion repository
progress.title.browser.establishing.connection=Establishing Connection...
node.text.browser.cannot.establish.connection=Cannot establish connection to ''{0}''

#authentication
label.auth.authentication.realm=Authentication realm: ''{0}''
label.auth.user.name=&User name:
label.auth.password=&Password:
checkbox.auth.keep.for.current.session=&Save credentials
label.credentials.user.name.required=User name is required for ''{0}''
label.credentials.user.name=User name:
checkbox.credentials.save.for.future=Save for future use
dialog.title.authentication.required=Authentication Required
dialog.title.authentication.required.was.failed=Authentication Required (Authentication Failed)

#history
progress.title.revisions.history=Revisions History
progress.text2.collecting.history=Collecting revisions history for ''{0}''
checkbox.changes.filter.filter.by.author=A&uthor:
progress.text2.processing.revision=Processing revision ''{0}''
progress.text.changes.collecting.changes=Collecting information on changes
progress.text2.changes.establishing.connection=Establishing connection to ''{0}''
progress.text2.revision.processed=Revision ''{0}'' processed

#status
status.configurable.display.name=Status
status.configurable.get.out.of.date.information=Check status against se&rver
progress.text.status.analyzing.local=Analyzing status of ''{0}''
progress.text.status.analizyng.remote=Discovering remote status of ''{0}''
status.group.name.missing=Missing
status.group.name.replaced=Replaced
status.group.name.obstructed=Obstructed
status.group.name.externals=Externals
status.group.name.switched=Switched
status.group.name.locked=Locked

#Configuration
checkbox.configure.use.system.default.configuration.directory=&Use system default Subversion configuration directory
label.configuration.configuration.directory=Subversion configuration &directory:
dialog.title.select.configuration.directory=Select Configuration Directory
action.title.select.configuration.directory=Change Configuration Directory
dialog.description.select.configuration.directory=Select Subversion configuration directory or create new one
button.text.clear.authentication.cache=&Clear Auth Cache
label.text.delete.stored.credentials=Delete all stored credentials for 'http', 'svn' and 'svn+ssh' protocols
button.text.edit.proxies=Edit Network &Options...
label.text.edit.proxies=Edit 'servers' Subversion runtime configuration file
dialog.title.edit.http.proxies.settings = Edit Subversion options related to the network layers
dialog.edit.http.proxies.settings.error.same.group.names.text=Groups with identical names detected: ''{0}''
dialog.edit.http.proxies.settings.error.ambiguous.group.patterns.text=Found repository urls that match to several groups: {0}
dialog.edit.http.proxies.settings.error.ambiguous.group.patterns.to.text=url {0} matches to {1}\n
dialog.edit.http.proxies.settings.tab.edit.user.file.title=User file
dialog.edit.http.proxies.settings.tab.edit.system.file.title=System file
dialog.edit.http.proxies.settings.port.must.be.number.error=Port must be a number (group ''{0}'')
dialog.edit.http.proxies.settings.timeout.must.be.number.error=HTTP timeout must be a number (group ''{0}'')
dialog.edit.http.proxies.settings.dialog.select.ssl.client.certificate.path.title=Select path to your certificate
dialog.edit.http.proxies.settings.dialog.select.ssl.client.certificate.path.text=Select path to your certificate
dialog.edit.http.proxies.settings.panel.proxy.title=HTTP proxy settings
dialog.edit.http.proxies.settings.panel.ssl.title=SSL settings
dialog.edit.http.proxies.settings.panel.repositories.title=Repositories
dialog.edit.http.proxies.settings.patterns.text=U&RL patterns:
dialog.edit.http.proxies.settings.exceptions.text=E&xceptions:
dialog.edit.http.proxies.settings.server.text=&Server:
dialog.edit.http.proxies.settings.user.text=&User:
dialog.edit.http.proxies.settings.port.text=P&ort:
dialog.edit.http.proxies.settings.password.text=Pass&word:
dialog.edit.http.proxies.settings.connection.timeout.text=Connection t&imeout:
dialog.edit.http.proxies.settings.seconds.text=seconds
dialog.edit.http.proxies.settings.paths.to.authority.certificates.text=Comma separated &paths to CAs certificate files:
dialog.edit.http.proxies.settings.ssl.client.certificate.file.text=SSL &client certificate file:
dialog.edit.http.proxies.settings.client.certificate.passphrase.text=SSL client certificate passp&hrase:
dialog.edit.http.proxies.settings.trust.default.cas.text=Trust default C&As
dialog.edit.http.proxies.settings.test.connection.button.text=&Test connection
dialog.edit.http.proxies.settings.test.connection.settings.will.be.stored.title=Warning
dialog.edit.http.proxies.settings.test.connection.settings.will.be.stored.text=Settings will be saved
dialog.edit.http.proxies.settings.test.connection.error.title=Connection test failed
dialog.edit.http.proxies.settings.test.connection.succes.title=Connection test successful
  dialog.edit.http.proxies.settings.test.connection.succes.text=Connection test successful      
confirmation.text.delete.stored.authentication.information=You are about to delete all stored Subversion authentication information.\nWould you like to proceed with deletion?
confirmation.title.clear.authentication.cache=Clear Authentication Cache

label.configure.upgrade.label=Working Copy upgrade strategy:
radio.configure.upgrade.ask=As&k me on attempt to upgrade
radio.configure.upgrade.none=&Never upgrade (keep Subversion 1.3)
radio.configure.upgrade.auto=Upgrade &automatically (use Subversion 1.4)
radio.configure.upgrade.auto.15format=Upgrade automatically (use Subversion 1.&5)
radio.configure.upgrade.auto.16format=Upgrade automatically (use Subversion 1.&6)
radio.configure.upgrade.auto.17format=Upgrade automatically (use Subversion 1.&7)
radio.configure.upgrade.auto.18format=Upgrade automatically (use Subversion 1.&8)

label.configure.create.label={0} is about to create new Subversion working copy,\n\
please, select desired working copy format:
label.configure.create.strategy=Create working copy directory in:
radio.configure.create.none=1.&3 format
radio.configure.create.auto=1.&4 format
radio.configure.create.auto.15format=1.&5 format
radio.configure.create.auto.16format=1.&6 format
radio.configure.create.auto.17format=1.&7 format
radio.configure.create.auto.18format=1.&8 format

label.configure.change.label=Change working copy ''{0}'' format to:
radio.configure.change.auto.16format=1.&6 format
radio.configure.change.auto.17format=1.&7 format
radio.configure.change.auto.18format=1.&8 format

dialog.upgrade.wcopy.format.title=Subversion Working Copy Format

label.working.copy.root.outside.text=Working copy root is outside the directory specified in Project Settings.\nThe whole working copy will be converted.

progress.text.loading.contents=Loading contents of ''{0}''
progress.text2.revision.information=Revision {0}
progress.title.loading.file.content=Loading Remote File Content
progress.title.loading.file.properties=Loading Remote File Properties
exception.text.file.miss.svn=File ''{0}'' is readonly, but miss svn:needs-lock property
confirmation.text.edit.file=File(s) you're are going to edit needs to be locked before editing

#File statuses
file.status.external=External (svn)
file.status.obstructed=Obstructed (svn)
file.status.replaced=Replaced (svn)
file.status.switched=Switched (svn)

#Adding
confirmation.text.add.file=Do you want to schedule the following file for addition to Subversion?\n{0}
confirmation.text.add.dir=Do you want to schedule the following directory for addition to Subversion?\n{0}
confirmation.title.add.file=Schedule for Addition
confirmation.title.add.multiple.files=Select Files to Add to Subversion
action.name.add.files=Adding files to {0}

#Ignore
action.name.ignore.files=Adding ignore file(s) mask to {0}
action.name.undo.ignore.files=Removing file names(or mask) from ignore list from {0}

# Delete
confirmation.text.delete.file=Do you want to schedule the following file for deletion from Subversion?\n{0}
confirmation.text.delete.dir=Do you want to schedule the following directory for deletion from Subversion?\n{0}\nNOTE: The directory will be deleted from disk when the change is committed.
confirmation.text.delete.dir.17=Do you want to schedule the following directory for deletion from Subversion?\n{0}
confirmation.title.delete.file=Schedule for Deletion
confirmation.title.delete.multiple.files=Select Files to Delete from Subversion

progress.text.discovering.location=Discovering location for ''{0}''

#Lock/Unlock
progress.text.locking.files=Locking files in repository...
progress.text2.processing.file=Processing file {0}
progress.title.lock.files=Lock Files
exception.text.locking.file.failed=Failed to lock file: {0}
message.title.lock.failures=Lock Failures
message.text.files.lock.failed={0,choice, 0#Failed to lock file.|1#Failed to lock files.}
message.text.files.locked={0,choice, 0#Failed to lock files.|1#1 file locked|2#{0,number} files locked}
progress.text.unlocking.files=Unlocking files in repository...
progress.title.unlock.files=Unlock Files
exception.text.failed.to.unlock.file=Failed to unlock file: {0}
message.title.unlock.failures=Unlock Failures
message.text.files.unlocked={0,choice, 0#Failed to unlock files.|1#1 file unlocked|2#{0,number} files unlocked}


progress.text.collection.locations=Collection Subversion Repository Locations
message.text.no.working.copies.found=No subversion working copies found in project
message.title.no.working.copies.found=Not working copies found
progress.text.collecting.roots.in.module=Collecting working copy roots in module ''{0}''
dialog.title.select.location=Select Location
border.select.location.repository.location=Repository Location
radio.select.location.use.project=Use project location:
radio.select.location.use.custom=Use custom location:
exception.text.cleanupaction.batchperform.not.implemented=CleanupAction.batchPerform not implemented
progress.text2.adding=Adding ''{0}''
progress.text2.deleting=Deleting ''{0}''
progress.text2.sending=Sending ''{0}''
progress.text2.replacing=Replacing ''{0}''
progress.text2.transmitting.delta=Transmitting delta for  ''{0}''
progress.title.copy=Subversion Copy
status.text.comitted.revision=Committed revision {0}.
progress.text.copy.to=Copy to ''{0}''
message.text.no.conflicts.found=No conflicts found
message.title.no.conflicts.found=No Conflicts
label.select.files.and.directories.to.mark.resolved=Select files and directories to mark resolved:
dialog.title.mark.resolved=Mark Resolved
action.name.mark.resolved=Mark Resolved
action.name.resolve.conflict=Resolve Conflict
message.text.revert.no.modifications.found=No modifications to revert found
label.select.files.and.directories.to.revert=Select files and directories to revert:
dialog.title.revert.files=Revert Files
action.name.revert=&Revert
message.title.revert.no.modifications.found=No Modifications
action.name.revert.files=Revert files
action.name.set.property=Set Property
action.name.show.all.paths.affected=Show all paths affected in selected transaction
dialog.title.affected.paths=Paths Affected in Transaction ''{0}''
progress.text.loading.log=Loading revision log...
exception.text.cannot.load.version=Cannot load repository version {0}
progress.text.processing.changes=Processing changes...
message.text.cannot.load.version=Cannot load repository version {0} :{1}
message.title.error.fetching.affected.paths=Error Fetching Affected Paths
exception.text.cannot.annotate.directory=Annotation operation only makes sence for files
progress.text.computing.annotation=Computing annotation for ''{0}''
action.text.annotate=Annotate
checkbox.chckin.keep.files.locked=&Keep files locked
progress.title.commit=Commit
progress.text.committing.changes.below=Creating commit packets...
status.text.committed.revision=Committed revision {0}.
checkin.operation.name=Comm_it
checkin.different.formats.involved=Selected changes for {0,choice,0#repository|1#repositories} {1}\nbelong to both before- 1.7 format and 1.7 format \
Subversion working copies.\nCommit will split into several commits.\n\n\
You can convert all working copies into 1.7 format in Changes | Subversion Working Copies Information.\nDo you wish to continue with commit?
progress.text.collecting.commitables=Collecting commitables at ''{0}''
progress.text2.fetching.external.location=Fetching external location to ''{0}''
progress.text2.checked.out=Checked out {1} files, checking out {0}
progress.text2.exported=Exported {1} files, exporting {0}
progress.text2.checked.out.revision=Checked out revision {0}.
progress.text2.exported.revision=Exported revision {0}.
status.text.checked.out.revision=Checked out revision {0}.
message.text.cannot.load.supported.formats=Cannot load supported formats: {0}
message.text.cannot.checkout=Cannot checkout from svn: {0}
message.text.cannot.export=Cannot export from svn: {0}
message.title.check.out=Check Out from Subversion
message.title.export=Export from Subversion
progress.text.checking.out=Checking out files to ''{0}''
progress.text.export=Exporting files to ''{0}''
dialog.text.check.out=Check Out from Repository
label.text.checkout.repository.url=Repository &URL:
label.text.checkout.checkout.from=Checkout From:
label.checkout.checkout.to=Checkout &To:
dialof.title.select.checkout.destination=Select Checkout Destination
dialog.description.select.checkout.destination=Select directory to checkout remote directory into or create new one
button.text.select.all=Select &All
button.text.deselect.all=&Deselect All
dialog.title.select.repository.location=Select Repository Location
button.text.ssl.accept=_Accept
button.text.ssl.reject=_Reject
button.text.ssh.accept=_Yes
button.text.ssh.reject=_No
dialog.title.ssl.examine.server.crertificate=Examine Server Certificate
dialog.title.ssh.examine.server.fingerprints=Verify Server Key Fingerprint
label.ssl.server.provided.certificate=Server provided the following certificate:
label.ssh.server.provided.fingerprints=The authenticity of host {0} can''t be established.
label.ssh.server.provided.fingerprints2={0} key fingerprint is
label.ssh.server.provided.fingerprints3=Are you sure you want to continue connecting?
checkbox.svn.ssh.cache.fingerprint=&Add key to Subversion cache
dialog.title.set.property=Set Property
label.set.property.property.name=Property &name:
radio.set.property.set.property.value=&Set property value:
radio.set.property.delete.property=&Delete property
checkbox.set.property.update.properties.recursively=Update properties &recursively
exception.text.invalid.revision=Invalid revision ''{0}''

#update
update.configurable.name=Update
checkbox.update.configurable.descend.into.child.directories=&Descend into child directories
checkbox.update.configurable.run.status=Run &status after update
update.switch.configurable.name=Update/Switch
radio.update.switch.configurable.update.or.switch=U&pdate or Switch
label.update.switch.configurable.url=&URL:
checkbox.update.switch.configurable.to.specific.revision=Update/Switch to specific &revision:
radio.update.switch.configurable.merge=&Merge
label.update.switch.configurable.url1=URL &1:
label.update.switch.configurable.revision1=Re&vision:
lable.update.switch.configurable.url2=URL &2:
update.switch.configurable.revision2=R&evision:
checkbox.update.switch.configurable.try.merge.without.changes=&Try merge, but make no changes
checkbox.update.switch.configurable.descend.into.child.directories=&Descend into child directories
checkbox.update.switch.configurable.run.status=Run &status after update
progress.text.merging.dry.run.changes=Merging (dry run) changes into ''{0}''
progress.text.merging.changes=Merging changes into ''{0}''
progress.text.updating=Updating ''{0}''
exception.text.root.was.not.properly.updated=svn: {0} was not properly updated; may be it is already removed from the repository along with its parent.
progress.text.update.computing.post.update.status=Computing post-update status of ''{0}''
message.text.update.no.directories.found=No versioned directories to update was found
messate.text.update.error=SVN: Update Error

progress.text2.added=Added {0}
progress.text2.deleted=Deleted {0}
progress.text2.conflicted=Conflicted {0}
progress.text2.treeconflicted=Conflicted {0} (tree conflict)
progres.text2.merged=Merged {0}
progres.text2.updated=Updated {0}
progress.text2.restored.file=Restored {0}
progres.text2.updated.to.revision=Updated to revision {0}.
status.text.updated.to.revision=Updated to revision {0}.
progress.text2.skipped.file=Skipped {0}
update.group.name.skipped=Skipped
progress.text.updating.external.location=Updating external location at ''{0}''
exception.text.update.operation.cancelled=Operation cancelled
server.ssl.accept.temporary.action.name=Accept _Temporary
changes.browser.change.column.name=Change
changes.browser.author.column.name=Author
changes.browser.date.column.name=Date
cannot.mark.file.as.resolved.error.message=Cannot mark file as resolved: {0}
mark.resolved.dialog.title=Mark Resolved
mark.resolved.action.description=Mark resolved
commit.dialog.setings.show.unresolved.checkbox=Show &unresolved
unresolved.difference.type.name=Unresolved
integrate.display.name=Integrate
invalid.svn.revision.error.message=Invalid svn revision: {0}
nulty.roots.update.configuration.affected.roots.label=Affected roots:
nulty.roots.update.configuration.selected.root.setting.group.title=Selected Root Setting:
integrate.configuration.revision1.label=re&vision
integrate.configuration.source2.label=Source 2:
integrate.configuration.revision2.label=&revision
integrate.configuration.source1.label=Source 1:
integrate.configuration.description.label=Integrate differences between sources into working copy (compare Source 2 to Source 1)
source.url.could.not.be.empty.error.message=Source url could not be empty
no.differences.between.sources.error.message=There are no differences between source and the same source
configure.revision.specified.radio=Specified
configure.revision.head.radio=HEAD
update.configuration.specific.url=Update/Switch to specific &url:
progress.text.import=Importing {0}
message.text.cannot.import=Cannot import to svn: {0}
message.title.import=Import to Subversion
revision.title=Revision
checkout.dialog.title=Checkout from Subversion
checkout.dialog.button=Checkout
checkout.directory.chooser.title=Checkout Directory
checkout.directory.chooser.prompt=Select directory to checkout from Subversion
checkout.options.dialog.title=SVN Checkout Options
checkout.options.checkout.label=Checkout:
checkout.options.destination.label=Destination:
checkout.options.recursive.label=Checkout directories recursively
checkout.options.externals.label=Include externals locations
configure.branches.title=Configure Subversion Branches
configure.branches.error.no.connection.title=Repository root was not found
configure.branches.error.wrong.url=Trunk location must be under repository root\n''{0}''
configure.branches.trunk.location=Trunk location:
configure.branches.branch.locations=Branch locations:
configure.branches.item=Configure Branches...
refresh.branches.item=Refresh Branches...
copy.column.title=Copy
copy.column.tooltip=Copied from {0}
compare.with.branch.progress.loading.branches=Loading Branches
compare.with.branch.progress.loading.content=Loading Content
compare.with.branch.diff.title=Compare with Branch
compare.with.branch.error.title=Compare with Branch
compare.with.branch.popup.title=Compare with Branch
getting.branch.configuration.error=Error retrieving branch configuration: {0}
compare.with.branch.location.error=Couldn''t find repository location for file ''{0}'' under branch ''{1}''\nPlease check your branch configuration.
compare.with.branch.list.error=Error Loading Branches
create.branch.invalid.revision.error=Invalid revision ''{0}''
create.branch.no.working.copy.error=No working copy found at {0}
create.branch.no.base.location.error=No branch base location selected
create.branch.switch.on.create.title=Switch after create
action.name.switch=Switch
import.dialog.title=Import into Subversion
import.dialog.button=Import
repository.browser.add.location.action=Add Repository Location
repository.browser.add.location.prompt=Repository URL:
repository.browser.add.location.title=New Repository Location
repository.browser.details.action=Show/Hide Details
repository.browser.refresh.action=Refresh selected tree node
repository.browser.add.location.menu.item=_Repository Location...
repository.browser.edit.location.menu.item= Edit Location _Url...
repository.browser.discard.location.action=Discard _Location
repository.browser.discard.location.prompt=Would you like to discard the location ''{0}''?
repository.browser.discard.location.title=Discard Location
repository.browser.new.folder.action=Remote _Folder...
repository.browser.history.action=Show History
repository.browser.import.action=_Import...
diff.options.title=Compare With Branch or Tag
diff.options.no.url.error=Please select an URL to compare with
diff.options.same.url.error=Please select different URLs to compare
diff.options.no.patch.file.error=Please specify the path to save the patch file
repository.browser.browse.changes.action=_Browse Changes...
repository.browser.browse.changes.description=View history of changes in the selected node
repository.browser.compare.title=Compare of ''{0} and ''{1}''
repository.browser.compare.no.difference.message=No textual difference found between ''{0} and ''{1}''
repository.browser.compare.no.difference.title=No Difference Found
cleanup.action.name=Cleanup
changes.browser.revision.term=Revision
progress.computing.difference=Computing Difference
progress.searching.for.files.with.conflicts=Searching for files with conflicts
add.files.errors.title=Errors Adding Files
move.files.errors.title=Errors Moving Files
remove.ignore.patterns.errors.title=Errors Removing 'svn:ignore' patterns
gather.ignore.patterns.info.progress.title=Gathering not used 'svn:ignore' patterns
delete.files.errors.title=Errors Deleting Files
copy.dialog.title=Branch or Tag
move.dialog.title=Move or Rename
select.location.invalid.url.message=Invalid Subversion repository URL: ''{0}''
share.directory.action=Share Directory...
share.directory.commit.message={2}\nDirectory ''{0}'' created by {1}
share.directory.title=Share Directory
share.directory.info.message=To complete share operation commit ''{0}''.
share.directory.create.dir.progress.text=Creating remote folder {0}
share.directory.checkout.back.progress.text=Checking out {0}
share.or.import.add.progress.text=Scheduling {0} for addition
action.share.whole.project.text=Share Project (Subversion)...
action.Subversion.integrate.changes.open.in.changelist.text=Open in changelist:
action.Subversion.integrate.changes.select.working.copy.text=Integrate into working copy:
action.Subversion.integrate.changes.dialog.title=Integrate To Branch
action.Subversion.integrate.changes.message.not.under.control.text=Selected destination is not under Subversion control. Continue anyway?
action.Subversion.integrate.changes.message.another.wc.text=Selected destination is inside working copy of another repository. Continue anyway?
action.Subversion.integrate.changes.branch.info.source.label.text=Source branch URL: {0}
action.Subversion.integrate.changes.branch.info.target.label.text=Target branch URL: {0}
action.Subversion.integrate.changes.actionname=Integrate To Branch...
action.Subversion.integrate.changes.description=Integrates selected changelist(s)/changeset into selected branch
action.Subversion.integrate.changes.messages.title=Integrate To Branch
action.Subversion.integrate.changes.error.no.available.files.text=No files available for integration
action.Subversion.integrate.changes.warning.failed.list.text=Changelist {0} ({1}) integration faced problems
action.Subversion.integrate.changes.warning.skipped.lists.text=Skipped change lists: {0}
action.Subversion.integrate.changes.select.branch.text=Select branch to integrate to...
action.Subversion.integrate.changes.error.source.and.target.same.text=Can not start integration: Target and source branches are the same.
action.Subversion.integrate.changes.error.target.not.dir.text=Can not start integration: target directory does not exist or is not a directory.
action.Subversion.integrate.changes.error.not.versioned.text=Can not start integration: target directory is not under Subversion control or does not belong to the selected branch.
action.Subversion.integrate.changes.alien.commit.changelist.title=Integrated
action.Subversion.integrate.changes.dialog.add.wc.text=Add
action.Subversion.integrate.changes.dialog.remove.wc.text=Remove
action.Subversion.integrate.changes.message.files.up.to.date.text=All files are up to date
action.Subversion.integrate.changes.error.unable.to.collect.changes.text=Error while collecting changes to commit: {0}
error.cannot.load.revisions=Can not load revision list
action.Subversion.integrate.changes.message.canceled.text=Integration was canceled
action.Subversion.integrate.changes.progress.integrating.text=Merging changes
action.Subversion.integrate.changes.progress.integrating.details.text=Merging changelist {0}
update.switch.to.branch.text=Use branch:
select.branch.popup.general.title=Select branch
progress.live.provider.loading.revisions.text=Loading revisions from server
progress.live.provider.loading.revisions.details.text=Loading revisions from server...
action.show.svn.map.text=Show Working Copies...
action.show.svn.map.text.reference=Show Working Copies
action.show.svn.map.description=Shows working copies information: working copy formats and URLs
dialog.show.svn.map.title=Subversion Working Copies Information
dialog.show.svn.map.label.table.header=Detected working copies
dialog.show.svn.map.change.format.button.text=&Change Working Copy Format
dialog.show.svn.map.table.header.column.wcpath.title=Root path
dialog.show.svn.map.table.header.column.wcurl.title=URL
dialog.show.svn.map.table.header.column.wcroot.title=Working copy root
dialog.show.svn.map.table.header.column.format.title=Format
dialog.show.svn.map.table.version13.text=1.3
dialog.show.svn.map.table.version14.text=1.4
dialog.show.svn.map.table.version15.text=1.5
dialog.show.svn.map.table.version16.text=1.6
dialog.show.svn.map.table.version17.text=1.7
dialog.show.svn.map.table.version18.text=1.8
action.change.wcopy.format.task.title=Convert working copy format
action.change.wcopy.format.task.progress.text=Converting working copy at {0} format from {1} to {2}
action.change.wcopy.format.after.change.settings=Selected working copy format ({0}) is older than upgrade mode selected in Project Settings ({1}).\
\nChange Project Settings upgrade mode to {0}?
committed.changes.action.enable.merge.highlighting=Highlight integrated
committed.changes.action.enable.merge.highlighting.description.text=Option is available for SVN repositories and working copies with 1.5 version only
committed.changes.action.merge.highlighting.select.root=from:
committed.changes.action.merge.highlighting.select.branch=to:
committed.changes.action.merge.highlighting.refresh.text=Refresh
committed.changes.action.merge.highlighting.refresh.description=Refresh merged revisions info
committed.changes.merge.status.refreshing.text=?
committed.changes.merge.status.integrated.text=+
committed.changes.merge.status.not.integrated.text=-
committed.changes.action.merge.highlighting.select.wcopy=working copy:
dialog.Subversion.select.working.copy.title=Configure working copy paths
dialog.Subversion.select.working.copy.wcopy.list.title=Known working copies
upgrade.format.to15.question.title=Upgrade working copies format
upgrade.format.to15.question.text=Do you want to upgrade Subversion working copies format to 1.5?\n\
Note: Working copy formats can be changed through {0}
upgrade.format.clarify.for.outside.copies.text=Working copy root ''{0}'' is outside the directory specified in Project Settings.\nConvert anyway?
upgrade.format.to16.question.title=Upgrade Subversion working copies format
upgrade.format.to16.question.text=Do you want to upgrade Subversion working copies format to 1.6?\n\
Note: Working copy formats can be changed through {0}
action.Subversion.cleanup.progress.title=Subversion cleanup
action.Subversion.cleanup.progress.text=Performing ''{0}'' cleanup...
action.Subversion.cleanup.project.title=Cleanup Project
action.Subversion.cleanup.error.message=Error performing cleanup for ''{0}'': {1}
action.working.copies.map.correct.roots.button.text=Correct &Roots
action.working.copies.map.correct.warning.text=Some folders marked in 'Project Settings | Version Control' as under Subversion control,\n\
are unversioned (Versioned folders may be under them).\n\
You can use 'Correct Roots' button to perform auto correction.
action.Subversion.properties.diff.with.local.name=Properties Diff with Local
action.Subversion.properties.diff.name=Properties Diff
action.Subversion.properties.difference.diff.title=Subversion properties difference: {0}
action.Subversion.properties.difference.diff.for.move.title=Subversion properties difference: {0} -> {1}
message.Subversion.files.can.not.be.added.to.subversion.are.not.under.working.copy.text=File(s) {0} can not be added to Subversion control since they are not under working copy.
action.Subversion.integrate.difference.option.use.ancestry.text=&Use ancestry
fatal.Subversion.javasvn.jar.library.version.test=javasvn.jar library is old;\nPlease make sure installation was made properly.
subversion.problem.text=Subversion problem
use.idea.proxy.as.default=Use {0} general proxy settings as default for Subversion
use.idea.proxy.as.default.label.text=Only HTTP proxy can be used from Settings | Plugins | Proxy Settings as default
action.Subversion.update.use.locks.on.demand.text.configurable=Updat&e administrative information only in changed subtrees
action.Subversion.update.use.locks.on.demand.text=Update administrative information only in &changed subtrees
action.Subversion.update.use.locks.on.demand.description=When enabled, update only locks those parts of working copy that is about to be updated.\n\
As a result administrative information will only be updated for working copy subtrees that has been modified during update.\n\
Enabling this option may improve update operation performance.\n\
Note that under some circumstances, you might have to perform "normal" update.
switch.target.not.copy.current=Switch target URL is not a copy of current.\n Do you want to continue?
switch.target.problem.title=Switch target problem
tab.repository.merge.panel.title=Subversion
tab.repository.merge.panel.root.panel.to=To:
tab.repository.merge.panel.root.panel.from=From:
tab.repository.merge.panel.root.panel.branch=Branch:
tab.repository.merge.panel.root.panel.url=Url:
tab.repository.merge.panel.root.panel.local=Local Path:
tab.repository.merge.panel.root.panel.select.local=Select path to the target working copy
tab.repository.merge.panel.filter.plus=Filter out integrated
tab.repository.merge.panel.filter.minus=Filter out not integrated
tab.repository.merge.panel.filter.others=Filter out others
browse.changes.settings.stop.on.copy=&Stop On Copy
action.mark.list.as.merged.text=Mark As Merged
action.mark.list.as.merged.description=Mark selected revision as merged, but do not actually merge
action.mark.list.as.not.merged.title=Mark As Not Merged
action.mark.list.as.not.merged.descrition=Mark selected revision as not merged, but do not change anything besides svn:mergeinfo
label.depth.text=&Depth:
label.depth.description=Replaces old "recursive" option. "Recursive"=false is equivalent to "immediates", "recursive"=true is equivalent to "infinity"
undo.integrate.to.branch=Undo Integrate To Branch...
undo.integrate.to.branch.description=Removes changes done in revision from branch
undo.integrate.to.branch.dialog.title=Undo Integrate To Branch
merge.source.details.title=Merge source details for {0} [{1}]
repository.browser.edit.location.dialog.title= Edit Location Url
loading.default.branches.configuration.text=Loading default branches configuration...
loading.data.for.root.text=Loading data for {0}
action.PropertiesDiff.text=Compare Subversion Properties
action.AlienPropertiesLocalDiff.text=Compare Subversion Properties with Branch
action.IntegrateChangeSetAction.text=Integrate to Branch
dialog.map.working.copies.button.refresh.text=Re&fresh
refreshing.working.copies.roots.progress.text=Refreshing working copies roots...
retrieving.subversion.status.text=Retrieving Subversion status...
fetching.properties.contents.progress.title=Fetching properties contents...
show.properties.diff.progress.text.revision.information=Revision {0}
show.properties.diff.progress.text2.property.information=Property {0}
svn.checkout.destination.directory.title=Destination Directory
svn.checkout.destination.directory.description=Select checkout destination directory
checkbox.ignore.whitespace.when.merge.text=&Ignore whitespaces
svn.dialog.select.ignore.patterns.to.remove.title=Select svn:ignore patterns to remove
svn.dialog.select.ignore.patterns.to.remove.prompt=Files being deleted are ignored by Subversion.\n\
Some of 'svn:ignore' patterns may become outdated.\n\
Select 'svn:ignore' patterns to be deleted.
detect.nested.working.copies=Detect nested working copies
svn.changeview.item.in.conflict.text=File has {0} conflict(s) and can not be committed
svn.changeview.locally.deleted.item.in.conflict.text=File has {0} conflict(s)
action.mark.tree.conflict.resolved.text=Mark Tree Conflict Resolved...
action.mark.tree.conflict.resolved.confirmation.text=Do you want to mark tree conflict as resolved?
action.mark.tree.conflict.resolved.confirmation.title=Mark Tree Conflict Resolved
svn.integrate.changelist.warning.unresolved.conflicts.text=Integration interrupted. There are unresolved conflicts or skipped items.
svn.option.ignore.whitespace.in.annotate=Ignore whitespace differences in annotations
annotation.show.merge.sources.default.text=Show merge source in history and annotations
svn.cannot.save.credentials.store-auth-creds=Cannot store credentials: forbidden by "store-auth-creds = no"
annotation.original.revision=Original revision
confirmation.resolve.tree.conflict.merge.moved=Apply theirs changes to {0} moved to {1}?
confirmation.resolve.tree.conflict.merge.renamed=Apply theirs changes to {0} renamed to {1}?
svn.create.external.below.action=Create External...
svn.create.external.below.description=Select URL, add svn\:external property, and optionally checkout it
svn.edit.commit.message.title=Edit Revision #{0} Comment
svn.edit.commit.message.attention=Attention! Previous message will be lost!
svn.edit.commit.message.prompt=New revision comment:
quick.merge.variants.merge.all.explanation=All not merged revisions will be merged.\n\
Subversion will find not merged revisions using svn\:mergeinfo property recorded in local copy.
quick.merge.variants.quick.select.explanation=Shows all revisions from target branch, merged and not merged.\n\
For manual selection. Very quick.
quick.merge.variants.pre.select.explanation=Finds where one of involved branches was copied from another.\n\
Loads only not yet merged revisions for selection. Can take long time for execution.
dialog.create.branch.or.tag.from.working.copy.warning=<html>Use this variant to create branch <b>with local changes</b>.\
<br/>In general, several items will be "added-with-history", not only target directory.\
<br/><br/>Each file that have revision different than root will be copied separately.\
<br/>It's recommended to update working copy before branch creation therefore.</html>
flash.module.type.name=Flash Module
flash.module.type.description=Flash modules are intended for developing <b>Adobe Flash</b> platform-targeted content.<br>\
                             Build configurations provided by the module will let you create <b>Flex</b> or pure <b>ActionScript</b> applications and libraries for web (Flash Player), desktop (Adobe AIR) and the AIR mobile platform.

debugger.waiting.player=Waiting for AIR or Flash player to connect
remote.flash.debug.computer=<html>Debugger is waiting for Flash application to connect:<br>\
  <ul>\
  <li>launch a Flash or AIR application on this computer. It will connect to the debugger automatically.</li>\
  <li>or right-click a running Flash player on this computer or a remote one, and select Debugger from the context menu.</li>\
  </ul>\
  IP address of this computer: {0}\
  </html>
remote.flash.debug.mobile.network=<html>Launch a mobile AIR application on the {0} device to start debugging.<br>\
  (Application must be packaged for debugging over network).<br><br>\
  IP address of this computer: {1}\
  </html>
remote.flash.debug.mobile.usb=<html>Launch a mobile AIR application on the {0} device to start debugging.<br>\
  (Application must be packaged for debugging over USB, port {1}).
initializing.flex.debugger=Initializing Flex debugger
flex.debugger.startup.error=Flex Debugger Startup Error
flex.debugger.unexpected.communication.error=Unexpected debugged player communication problem

must.accompany.includein.or.excludefrom.attribute={0} must accompany either the includeIn or excludeFrom attribute.
flex.invalid.enumeration.value={0} is not within acceptable enumeration values
flex.break.point.title=Flex Breakpoints
flex.invalid.integer.value=invalid integer value
flex.invalid.number.value=invalid number value

no.file.to.run=No HTML wrapper or SWF file found to start running/debugging
remote.url.is.not.accessible.title=Remote URL is not accessible
remote.url.is.not.accessible.message=Following IO exception was encountered while trying to fetch ''{0}'':\n{1}\nWould you like to proceed?
flex.run.config.url.can.not.be.run.with.flash.player=URL can not be launched with Flash Player
html.wrapper.can.not.be.run.with.flash.player=HTML wrapper can not be launched with Flash Player
path.to.flash.player.not.set=Path to Flash Player is not set ('Launch with' option)
flash.player.not.found=Flash Player executable not found: {0}
run.trusted=Plac&e output folder in the local-trusted sandbox
flex.run.config.incorrect.url=Incorrect URL
flex.run.config.url.not.set=URL or file to launch is not set
debugger.sdk.not.found=SDK not found: {0}
file.not.found=File not found: {0}
main.class.not.set=Main class is not specified
main.class.not.found=Main class ''{0}'' is not found
rlm.main.class.not.set=Main class of runtime-loaded module is not specified
rlm.main.class.not.found=Main class of runtime-loaded module is not found: {0}
rlm.main.class.equal.to.bc.main.class=Main class of runtime-loaded module is equal to main application class: ''{0}'''
rlm.output.equal.to.bc.output=Output file of runtime-loaded module is equal to the output file of the main application: ''{0}''
output.file.name.not.specified=Output file name is not specified.
rlm.output.file.name.not.specified=Output file of runtime-loaded module is not specified.
output.file.must.have.swf.extension=Output file must have swf extension.
rlm.output.file.must.have.swf.extension=Output file of runtime-loaded module must have swf extension.
flex.sdk.version.unknown=unknown version
popup.title.step.into.function=Step Into Function
sdk.can.not.be.selected=SDK ''{0}'' can not be selected here.\nPlease select Flex/AIR SDK.
select.flex.sdk=Select Flex/AIR SDK
cannot.resolve.state=Invalid state reference
configuration.not.valid=Run configuration error: {0}
module.not.specified=Module not specified
module.not.found=Module ''{0}'' not found
flexunit.not.found.for.bc=Dependencies of build configuration ''{0}'' do not include a FlexUnit library
no.test.method.specified=No test method specified
method.not.valid=Method ''{0}'' doesn''t exist or is not suitable to run in test
package.not.valid=Package ''{0}'' is missing or empty
class.not.public=Class ''{0}'' is not public
class.not.specified=Class not specified
test.class.not.specified=No test class specified
class.not.found=Class ''{0}'' not found
class.contains.no.tests=Class ''{0}'' doesn''t contain tests
tests.in=Tests in ''{0}''
no.free.port=Could not find free port
flexunit.startup.error=Failed to start FlexUnit session: {0}
port.is.busy=Port {0} is busy

flexunit.inspections.group=FlexUnit inspections
flexunit.inspection.testclassvisibility.displayname=Test class is not public
flexunit.inspection.testmethodvisibility.displayname=Test method is not public
flexunit.inspection.testclassvisibility.message=Test class should be public
flexunit.inspection.testmethodvisibility.message=Test method should be public
flexunit.inspection.testmethodisstatic.displayname=Test method is static
flexunit.inspection.testmethodisstatic.message=Test method should not be static
flexunit.fix.remove.static.modifier=Remove static modifier
flexunit.inspection.testmethodisproperty.displayname=Test method is getter/setter
flexunit.inspection.testmethodisproperty.message=Test method should not be getter or setter
flexunit.inspection.testmethodhasparameters.displayname=Test method has required parameters
flexunit.inspection.testmethodhasparameters.message=Test method should not have required parameters
flexunit.inspection.testmethodreturntype.displayname=Test method should return void
flexunit.inspection.testmethodreturntype.message=Test method should return void
flexunit.inspection.mixedapi.displayname=FlexUnit 4 test method in class extending FlexUnit 1 or Flunit TestCase
flexunit.inspection.mixedapi.message=FlexUnit 4 test method in class extending FlexUnit 1 or Flunit TestCase
flexunit.inspection.testclassinproductsource.displayname=Test class in product source
flexunit.inspection.testclassinproductsource.message=Test class in product source
flexunit.inspection.testclasswithnotests.displayname=Test class has no tests
flexunit.inspection.testclasswithnotests.message=Test class has no tests
flexunit.inspection.runnerclass.displayname=Custom runner class implements IRunner interface
flexunit.inspection.runnerclass.message=Class does not implement IRunner interface
flexunit.inspection.testmethodinsuite.message=Test method in suite
flexunit.inspection.testmethodinsuite.displayname=Test method in suite
flexunit.inspection.emptysuite.message=Test suite is empty
flexunit.inspection.emptysuite.displayname=Test suite is empty
flexunit.inspection.suitewithnorunner.displayname=Test suite has no runner class specified
flexunit.inspection.suitewithnorunner.message=Test suite has no runner class specified
flexunit.test.runner.caption=FlexUnit Test Runner
invalid.flex.compiler.heap.size=Invalid Flex compiler heap size
fcsh.out.of.memory.and.restarted=Flex compiler shell is out of memory and will be restarted. You may increase its heap size at {0} | Compiler | Flex Compiler page
compiling.module=Compiling module ''{0}''...
unnamed=unnamed
js.actionscript.specific.group.name=ActionScript specific
js.implicitly.internal.declaration.inspection.name=Declaration with implicit access type
js.implicitly.internal.declaration.problem=Declaration has implicit package internal scope #loc
js.implicitly.internal.declaration.problem.add.internal.fix=Add explicit internal modifier
js.untyped.declaration.inspection.name=Declaration with no type
js.untyped.variable.problem=Variable {0} has no type #loc
js.untyped.function.problem=Function {0} has no return type #loc
js.untyped.declaration.problem.addtype.fix=Add Type to Declaration
js.field.can.be.local.name=Field can be local
js.field.can.be.converted.to.local=Field can be converted to a local variable
js.convert.to.local.quick.fix=Convert to local

flash.builder=Flash Builder
flash.builder.project.import.title=Flash Builder Project Import
sdk.for.imported.projects=SDK for imported Flash Builder {0, choice, 1#project|2#projects}:
flash.builder.workspace.or.project.dir=&Flash Builder workspace or project, *.fxp, *.fxpl or *.zip file
select.flash.builder.workspace.or.project=Select *.fxp, *.fxpl or *.zip file, Flash Builder workspace or project
specify.flash.builder.workspace.or.project.dir=File or folder path is not set
folder.not.empty=Folder is not empty:\n{0}\nSome files may be overwritten.\n\nContinue?
folder.does.not.exist=Folder does not exist: ''{0}''
file.or.folder.not.found=File or folder not found: {0}
flash.builder.projects.not.found.in=Flash Builder projects are not found in selected folder
not.flash.builder.project=Selected file is not a Flash Builder project
does.not.contain.flash.builder.projects=Selected archive does not contain Flash Builder projects
incorrect.file.format=Selected archive has incorrect format
folder.to.unzip.one.FB.project=Extract project to
folder.to.unzip.several.FB.projects=Multiple projects found. Extract them to corresponding subfolders of
note.multiple.projects.extract.to.subfolders=Note: multiple projects found. They will be extracted to corresponding subfolders.
extract.single.to.subfolder.0=Create subfolder ''{0}'' for extracted project
project.location=Project location
project.files.location=Project files location
open.project.0=Open Project ''{0}''
failed.to.extract.project=Failed to extract project:\n{0}
project.name.empty=Project name can not be empty
project.path.empty=Project files location can not be empty
looking.for.flash.builder.projects=Looking for Flash Builder projects

adl.not.set.check.sdk.settings=AIR Debug Launcher is not set. Check configuration of SDK ''{0}''
adl.not.found.check.sdk.settings=AIR Debug Launcher is not found at ''{0}''. Check configuration of SDK ''{1}''
adl.not.found.check.sdk.installation=AIR Debug Launcher is not found at ''{0}''. Check installation of SDK ''{1}''
air.runtime.not.set.check.sdk.settings=AIR Runtime is not set. Check configuration of SDK ''{0}''
air.runtime.not.found.check.sdk.settings=AIR Runtime is not found at ''{0}''. Check configuration of SDK ''{1}''
checking.url=Checking URL ''{0}''
bad.url=Bad URL: {0}
no.response.from.server=No response from server in {0} seconds
choose.event.class.title=Choose Event Class
compilation.skipped.because.nothing.changed.in=Nothing has changed in module ''{0}'' since the last compile. Skip...\nClick ''Rebuild Project'' on the ''Build'' menu to force compilation.
compilation.skipped.because.nothing.changed=Nothing has changed since the last compile. Skip...\nClick 'Rebuild Project' on the 'Build' menu to force compilation.
compilation.skipped=Compilation skipped
dumb.mode.flex.unit.warning=Cannot run FlexUnit tests while updating indices. Please execute this run configuration again after indices are built.
debugger.show.full.value=view
breakpoint.condition.error=Breakpoint Condition Error
failed.to.evaluate.breakpoint.condition=Failed to evaluate breakpoint condition: {0}\n\nWould you like to stop at the breakpoint?
not.boolean.breakpoint.condition=Failed to evaluate breakpoint condition: {0}\nResult value is not boolean: {1}\n\nWould you like to stop at the breakpoint?

error.creating.flash.player.trust.folder=SWF file was not added to local-trusted sandbox\nCouldn''t create FlashPlayerTrust folder: {0}
flash.player.trust.folder.does.not.exist=SWF file was not added to local-trusted sandbox\nFlashPlayerTrust folder does not exist
error.creating.idea.trust.cfg.file=SWF file was not added to local-trusted sandbox\nCouldn''t create {0} file in FlashPlayerTrust folder: {1}
could.not.find.swf.to.trust=Could not find SWF file to add to local-trusted sandbox
failed.to.update.idea.trust.cfg.file=Couldn''t update {0} file in FlashPlayerTrust folder: {1}

file.created=<a href="">{0}</a> created
html.wrapper.creation.failed=Failed to create HTML wrapper\n{0}
error.title=Error

root.tag.must.contain.language.namespace=Root tag must contain language namespace declaration
different.language.namespaces=Different language namespaces are declared in MXML file
remove.namespace.declaration=Remove Namespace Declaration
declare.namespace=Declare Namespace {0}
flex.choose.color.dialog.title=Choose Color
system.default.application=System default application
launch.with.title=Launch With
cant.launch=Can''t open {0}\nwith {1}\nError: {2}
css.files.title=CSS files to compile to SWFs

livetemplate.description.iter=Iterate (for each..in)
livetemplate.description.itin=Iterate (for..in)
livetemplate.description.itar=Iterate elements of array
livetemplate.description.ritar=Iterate elements of array in reverse order
flex.compiler.vm.options.title=Flex Compiler VM Options

create.skin=Create Skin ''{0}''
invalid.element.name=Invalid {0} name: {1}
element.name.empty={0} name is empty
choose.host.component=Choose Host Component
css.inspections.stray.brace=Stray brace in Flex CSS
css.inspections.stray.closing.brace=Closing brace without corresponding opening brace
css.inspections.stray.opening.brace=Opening brace without corresponding closing brace
choose.parent.component.dialog.title=Choose Parent Component
intention.create.subclass.or.implement.interface=Create Subclass or Implement Interface
intention.create.event.handler=Create Event Handler
intention.create.getter.setter=Create Getter and Setter for ''{0}''
intention.create.setter=Create Setter for ''{0}''
intention.create.getter=Create Getter for ''{0}''

threads=threads
processes=processes
using.builtin.compiler=Using built-in compiler shell, up to {0} parallel threads
using.mxmlc.compc=Using mxmlc/compc tools from Flex SDK, up to {0} parallel processes
or.asc.2.0=, or ASC 2.0 (if available) for pure ActionScript build configurations
see.flex.compiler.page=See compiler settings at {0} | Compiler | Flex Compiler page
can.not.use.built.in.compiler.shell=Can't use built-in compiler shell because different Flex SDKs are configured for different build configurations.

add.doc.url.button=Add Documentation URL

generating.flex.configs=Generating Flex compiler configuration files
generating.flex.config.for=Generating Flex compiler configuration file for {0}
flexmojos.warning.short=<html>Failed to generate Flex compiler configuration file.<br><a href="">Details...</a></html>
flexmojos.warning.detailed=<html><p>IntelliJ IDEA failed to generate <b>Flex compiler configuration file</b> and other auxiliary files<br>\
(target/[project_name]-config-report.xml and target/classes/config-[version]/*.*)</p><br>\
<p>These files are required for proper code highlighting, completion and compilation of Flexmojos projects.<br>\
To make sure that required files are up-to-date please run the following Maven command from the command line:</p>\
<pre><b>mvn compile -DconfigurationReport=true</b></pre></html>

flexmojos4.details.start=Full information is available in logs (Help | Reveal Log)\n\n{0}
flexmojos4.warning=Failed to generate Flex compiler configuration file.\n{0}
flexmojos4.warning.with.link=<html>Failed to generate Flex compiler configuration file.<br><a href="">Details...</a></html>
flexmojos.maven.plugin.outdated.warning=Please remove outdated idea-flexmojos-maven-plugin from your POM ({0})

flexmojos.project.import=Flexmojos Project Import
run.when.ide.builder.turned.off=<html>''Skip compilation'' flag is set for the <a href="BuildConfiguration">build configuration ''{0}''</a> (module ''{1}'').<br>Launched application may be missing or out of date.<br><br><a href="DisableWarning">Disable warning</a></html>
run.when.compile.before.run.turned.off=<html>'Make Before Launch' option is turned off for this <a href="RunConfiguration">run configuration</a>.<br>Launched application may be missing or out of date.<br><br><a href="DisableWarning">Disable warning</a></html>
flex.sdk.3.mac.debug.problem=<html>Debugger from Flex SDK {0} doesn''t work with Flash Player 11.x.<br/>It is recommended to select Flex SDK 4.x in the ''Use debugger from SDK'' field of the <a href="RunConfiguration">run configuration</a>.
edit.configuration.title=Edit Configuration
replace.base.component.prompt=Replace base component ''{0}'' with ''{1}''?
replace.base.class.prompt=Replace base class ''{0}'' with ''{1}''?
create.edge.title=Create Edge
create.extends.relationship.command.name={0} extends {1}
create.implements.relationship.command.name={0} implements {1}
base.component.needed.message=Cannot remove relation to base component
remove.edge.title=Remove Edge
remove.inheritance.link.prompt=Remove inheritance link between ''{0}'' and ''{1}''?
remove.relationship.command.name=Remove inheritance relation
move.0=Move {0} {1}
move.file.local.0=Move inner {0} {1}
move.elements=Move specified elements
moved.element.description={0} {1}
move.command.name=Move {0} to {1}
element.to.be.moved.to={0} to be moved to {1}
elements.to.be.moved.to=Elements to be moved to {0}
references.in.code.to.0=References in code to {0}
package.name.title=Package name:
to.package.title=To package:
element.to.be.moved.to.upper.level=Inner {0} to be moved to upper level ({1})
move.to.upper.level.command.name=Move inner {0} {1} to {2}
references.in.code.to.inner.0=References in code to inner {0}
element.name={0} &name:
android.application.launched=Android application launched on the device
ios.application.packaged.to.run=<html>The iOS application package <a href="">{0}</a> has been successfully created.<br>You can now install it on your device using iTunes.</html>
ios.application.packaged.to.debug=<html>The iOS application package <a href="">{0}</a> has been successfully created.<br>You can now install it on your device using iTunes.<br><br>Debugger is waiting for the application to be started on the device...</html>
ios.application.installed.to.run=The iOS application ''{0}'' has been successfully installed\nand you can now start it on your device.
ios.application.installed.to.debug=The iOS application ''{0}'' has been successfully installed.\nYou can now launch it on your device to start debugging.
ios.simulator.application.launched=Application launched on the iOS Simulator

css.flex.dialect.name=Flex
unexpected.empty.adt.output=No output from ADT tool
air.mobile.version.problem.title=AIR Version
air.ios.debug.via.usb.requires.3.4=To debug iOS application via USB <b>AIR 3.4 or later</b> is required.
air.ios.simulator.requires.3.3=To run application on the iOS simulator <b>AIR 3.3 or later</b> is required.
air.captive.packaging.requires.3.0=To create AIR package with captive runtime <b>AIR 3.0 or later</b> is required.
air.mobile.ios.fast.packaging.requires.2.7=To create iOS package in interpreter mode (fast packaging) <b>AIR 2.7 or later</b> is required.
air.mobile.packaging.requires.2.6=To create AIR mobile package <b>AIR 2.6 or later</b> is required.
air.mobile.packaging.version.problem=<html>{0}<br><br>\
  SDK ''{1}'' includes AIR {2}.<br>\
  You can do one of the following:\
  <ul>\
    <li>unpack AIR SDK {3} or later on top of currently used Flex SDK</li>\
    <li>use another version of Flex SDK that already includes AIR {3} or later</li>\
  </ul>\
  </html>
launch.android.application.title=Launch Android Application
launching.android.application=Launching Android application {0}
launch.ios.application.title=Launch iOS Application
launching.ios.application=Launching iOS application {0}
adb.forward.title=ADB Forward
check.ios.devices.title=Check iOS Device
checking.ios.devices=Checking iOS devices
more.than.one.ios.device=More than one iOS device is connected to the computer
idb.forward=IDB forward
idb.forward.title=IDB Forward
packaging.application=Packaging {0} application
air.application.created=<html>AIR {0, choice, 1#application|2#applications} created: <br>{1}</html>
dialog.edit.template.checkbox.mxml=&MXML
air.runtime.version.title=AIR Runtime Version
air.runtime.not.installed=AIR Runtime is not installed on the device.\nSDK ''{0}'' contains AIR Runtime {1}.\n\nWould you like to install it?
update.air.runtime.question=AIR Runtime {0} is installed on the device.\nSDK ''{1}'' contains AIR Runtime {2}.\n\nWould you like to install newer version?
check.air.version.title=Check AIR Version
checking.air.version=Checking AIR version
uninstall.air.runtime.title=Uninstall AIR Runtime
uninstalling.air.runtime=Uninstalling AIR Runtime
install.air.runtime.title=Install AIR Runtime
installing.air.runtime=Installing AIR Runtime {0}
create.android.package.title=Create Android Package
create.ios.package.title=Create iOS Package
creating.android.package=Creating Android package
creating.ios.package=Creating iOS package
install.android.application.title=Install Android Application
install.ipa.on.simulator.title=Install Application on iOS Simulator
install.ios.app.title=Install iOS Application
installing.0=Installing {0}
uninstall.android.application.title=Uninstall Android Application
uninstall.ios.simulator.application.title=Uninstall Application From iOS Simulator
uninstalling.0=Uninstalling {0}
clear.directive.state.specific.error='@Clear' directive may only be used for state-specific style properties
clear.directive.IStyleClient.error='@Clear()' directive is allowed only for style properties of classes that implement mx.styles.IStyleClient interface
unknown.color.error=Unknown color: ''{0}''
sdk.not.set=SDK is not set
output.file.name.not.set=Output file name is not set
output.file.wrong.extension=Output file name must have {0} extension
not.a.css.runtime.stylesheet=File ''{0}'' can''t be used as runtime style sheet, only CSS files allowed.
css.not.found=Runtime style sheets: file doesn''t exist: {0}
file.to.include.in.swc.not.found=Files to include in SWC: file ''{0}'' doesn''t exist
output.folder.not.set=Output folder is not set
flexunit.output.folder.not.set=Project output folder is not set or its path is not absolute (needed for FlexUnit)
output.folder.not.absolute=Path to output folder must be absolute: {0}
html.template.folder.not.set=Folder with HTML wrapper template is not set
html.template.folder.not.found=Folder with HTML wrapper template does not exist: ''{0}''
package.file.name.not.set={0} package file name is not set
packaging.options.empty.file.name={0} packaging options, files to package: empty path in the table
packaging.options.empty.relative.path={0} packaging options, files to package: empty relative path in the table
folder.to.package.includes.output={0} packaging options: folder to package includes output folder: {1}
packaging.options.bad.ios.sdk.path={0} packaging options: iOS SDK not found at {1}
ios.provisioning.profile.not.set=iOS provisioning profile is not set
ios.provisioning.profile.not.found=iOS provisioning profile not found: {0}
keystore.not.set={0} signing options: keystore is not set
keystore.not.found={0} signing options: keystore file not found: {1}
packaging.options.relative.path.not.matches={0} packaging options, files to package: relative folder path doesn''t match its full path: {1}
packaging.options.file.not.found={0} packaging options, file not found: {1}
additional.config.file.not.found=Additional compiler configuration file not found: {0}
bc.dependency.problem=Forbidden dependency found: \n\
  Build configuration ''{0}'' ({2}, module ''{1}'') \n\
  depends on build configuration ''{3}'' ({5}, module ''{4}''). \n\
  Dependency type: {6}
run.configuration.0=Run Configuration ''{0}''
project.setup.problem=Project setup problem: {0}
project.setup.problem.title=Project Setup Problem
bc.dependency.does.not.exist=Build configuration ''{0}'' (module ''{1}'') does not exist. \nIt is set as dependency for build configuration ''{2}'' (module ''{3}'')
bc.not.specified=Build configuration is not specified
module.does.not.contain.bc=Module ''{0}'' does not contain build configuration ''{1}''
bc.does.not.produce.app=Build configuration ''{0}'' (module ''{1}'') does not produce runnable application
android.disabled.in.bc=Android support is not enabled in build configuration ''{0}'' (module ''{1}'')
ios.disabled.in.bc=iOS support is not enabled in build configuration ''{0}'' (module ''{1}'')
bc.0.module.1.android.custom.descriptor.not.set=Build configuration ''{0}'' (module ''{1}''):\npath to custom Android app descriptor is not set
bc.0.module.1.ios.custom.descriptor.not.set=Build configuration ''{0}'' (module ''{1}''):\npath to custom iOS app descriptor is not set
bc.0.module.1.custom.descriptor.not.set=Build configuration ''{0}'' (module ''{1}''):\npath to custom app descriptor is not set
bc.0.module.1.android.custom.descriptor.not.found=Build configuration ''{0}'' (module ''{1}''):\ncustom Android app descriptor not found:\n{2}
bc.0.module.1.ios.custom.descriptor.not.found=Build configuration ''{0}'' (module ''{1}''):\ncustom iOS app descriptor not found:\n{2}
bc.0.module.1.custom.descriptor.not.found=Build configuration ''{0}'' (module ''{1}''):\ncustom app descriptor not found:\n{2}
bc.0.module.1.air.version.mismatch.warning=Build configuration ''{0}'' (module ''{1}''):<br>AIR version in the app descriptor ({2}) doesn''t match AIR SDK version: {3}.<br>{4}
custom.descriptor.not.set=Path to custom {0} app descriptor is not set
custom.descriptor.not.found=Custom {0} app descriptor not found: {1}
air.version.mismatch.warning=Warning: AIR version in the {0} app descriptor {1} ({2}) doesn''t match AIR SDK version: {3}
same.output.files=Output file is the same as in build configuration ''{0}'' (module ''{1}''): {2}
same.output.files.as.in.bcs=Output file is the same as in build {0, choice, 1#configuration|2#configurations} {1}: {2}
sdk.does.not.support.air.mobile=Flex SDK {0} does not support AIR mobile development
sample.app.name.empty=Sample application file name not specified
sample.app.incorrect.extension=Sample application must have either .mxml or .as file extension
failed.to.create.folder=Failed to create folder {0}: \n{1}
create.html.wrapper.template.title=Create HTML Wrapper Template
selected.path.not.folder=Selected path is not a folder: \n{0}
folder.not.empty.clear.or.overwrite=Selected folder is not empty.\nWould you like to remove its contents or to keep existing files (in the latter case certain files can be overwritten)?
folder.not.empty.clear.option=&Remove
folder.not.empty.keep.option=&Keep
folder.not.empty.cancel.option=&Cancel
failed.to.delete=Failed to remove files: \n{0}
html.wrapper.in.sdk.not.found=Folder with HTML wrapper template is not found in SDK installation: \n{0}
create.air.descriptor.template.title=Create AIR Descriptor Template
use.same.descriptor.for.android.and.ios=Would you like to use created AIR descriptor template for both Android and iOS packaging?
file.exists.replace.question=Would you like to replace existing file ({0})?
default.compiler.options.for.module.title=Default Compiler Options For Module ''{0}''
default.compiler.options.for.project.title=Default Compiler Options For Project ''{0}''
overridden.in.config.file={0} is overridden in additional compiler config file. Actual value: {1}
main.class.and.output.overridden.in.config.file=Main class and output path are overridden in additional compiler config file
actual.value.from.config.file.0=Actual value from config file: {0}
set.up.sdk.title=Set up Build Configuration SDK
choose.build.configuration.popup.title=Active Flash build configuration for module ''{0}''
active.bc.widget.tooltip=Flash build configuration ''{0}'' is used for source code highlighting and completion in module ''{1}''
active.bc.widget.empty.tooltip=<html>This pane shows active Flash build configuration for the module in context.<br>Active build configuration is used for source code highlighting and completion.</html>
active.bc.widget.empty.text=Flash build configuration
flex.sdk.presentable.name=Flex/AIR SDK
add.build.configuration.title=Add Build Configuration (module ''{0}'')
copy.build.configuration=Copy Build Configuration ''{0}'' (module ''{1}'')
build.configurations.popup.separator.text=Build Configurations
module.sdk.label=Module &SDK:
project.sdk.label=Project &SDK:
bc.0.module.1.problem.2=Build configuration ''{0}'' (module ''{1}''): {2}
bc.tab.general.display.name=General
bc.tab.dependencies.display.name=Dependencies
bc.tab.compiler.options.display.name=Compiler Options
bc.tab.air.desktop.display.name=AIR Package
bc.tab.android.display.name=Android
bc.tab.ios.packaging.display.name=iOS
bc.problem.no.sdk=No SDK defined.
bc.problem.sdk.not.found=Flex SDK ''{0}'' not found.
bc.problem.dependency.module.not.found=Dependency module ''{0}'' is missing.
bc.problem.dependency.bc.not.found=Dependency build configuration ''{0}'' is missing in module ''{1}''.
project.converter.description=Flex modules will be converted to Flash modules.<br/>Java modules with Flex facets will be converted to Flash modules.
bc.structure.element.type.name=Build configuration
can.not.package.bc=<html><b>{0}</b>: {1}</html>
package.bc.with.disabled.compilation=<html>Compilation is disabled for the following build {0, choice, 1#configuration|2#configurations}:<br><br>{1}<br>\
  Existing SWF {0, choice, 1#file|2#files} may be out of date.<br><br>Create {0, choice, 1#package|2#packages} based on existing SWF {0, choice, 1#file|2#files}?</html>
package.air.application.title=Package AIR Application
packaging.air.application=Packaging AIR application\: {0}
failed.to.create.air.package=<html>Failed to package AIR application {0}:<br><br>{1}<br><br>[<a href="">ADT command line</a>]</html>
copying.0=Copying {0}...
add.bc.dependency.dialog.title=Add Dependency
add.dependency.bc.dialog.label=Choose build configuration(s) to depend on:
no.applicable.bcs=No applicable build configurations found
choose.bc.dialog.title=Choose Flash Build Configurations
choose.bc.dialog.label=Library ''{0}'' will be added to the selected build configurations:
swc.libraries.root.detector.name=SWC or ANE library
docs.root.detector.name=Documentation
as.libraries.root.detector.name=Raw ActionScript library
sources.root.detector.name=Library sources
swc.folders.root.detector.name=Folder with SWCs or ANEs
add.module.library.action.text=New Library...
documentation.order.root.type.name=Documentation
items.to.include.in.swc.dialog.title=Files and Folders to Include in SWC
rlms.dialog.title=Runtime-Loaded Modules
choose.rlm.main.class.title=Choose Main Class of Runtime-Loaded Module
css.files.to.compile.dialog.title=CSS Files to Compile
different.debug.settings=Can''t create debuggable package for  {0, choice, 1#Android |2#iOS} and non-debuggable package for {0, choice, 1#iOS |2#Android} at once
compilation.is.switched.off=Compilation is switched off and output SWF doesn't exist
main.class.is.not.a.subclass.of=Main class ''{0}'' is not a public subclass of {1}.
change.bc.type.title=Change Build Configuration Type
bc.dialog.up.down.tooltip=Use up and down keys to change target platform, hold Shift to change output type
check.flash.app.compiled.before.launch.notification.group=Flash app not compiled before launch
0.module.1=''{0}'' (module ''{1}'')
open.project.structure=Project Structure...
autodetected.source.root.type=ActionScript/Flex
create.bc.action.text=Flash build configuration
create.bc.action.description=Create new Flash build configuration
library.editor.title.plural=Libraries
library.editor.title.singular=Library
make.before.launch.warning.disabled=Warning about skipped compilation is disabled.\nTo enable it again use the Settings button at the Event Log tool window.
sdk.version.unknown=Failed to read version of the SDK ''{0}''. Make sure that [SDK home]/flex-sdk-description.xml (or [SDK home]/air-sdk-description.xml) file is not corrupted and try to recreate the SDK
air.sdk.requires.pure.as=build configuration should be marked as ''Pure ActionScript'' because AIR SDK ''{0}'' doesn''t contain Flex components
html.wrapper.folder.clash=Folder with HTML wrapper template clashes with the {0}\: {1}
html.wrapper.folder.clash.for.dialog=Path clashes with the {0}\: {1}
take.wrapper.template.from.sdk=&Take HTML wrapper template from the following Flex/AIR SDK:
choose.library.files.description=<html>Select *.swc or *.ane files and/or folders containing *.swc, *.ane or raw ActionScript files.<br>{0} will analyze the contents of the selected folders and automatically assign the files contained therein to the appropriate categories (Classes, Sources and Documentation).</html>
add.shared.library.dependency.action.text=Project or Global Library...
add.dependency.popup.title=Add dependency on\:
add.dependency.action.name=Add dependency
add.library.components.action.name=Add &Library Components...
uml.calculating.dependencies.message=Calculating dependencies
uml.dependencies.settings.group.title=Dependencies
uml.dependencies.one.to.one=One To One
uml.dependencies.one.to.many=One To Many
uml.dependencies.usages=Usages
uml.dependencies.self=Self-links
uml.dependencies.create=Create
own.lib.used.as.3rd.party=dependency on the file {0} detected which is the output of the build configuration ''{1}'' (module ''{2}''). A more typical case is when one build configuration depends on another rather than on its output.
instead.setup.dependency.on.bc=Replace with dependency on build configuration ''{0}'' (module ''{1}'')
uml.create.relationship.label=<html>&laquo;create&raquo;</html>
ios.simulator.on.mac.only.warning=iOS Simulator is available on Mac OS only
ios.simulator.on.mac.only.button.text=iOS Simulator (Mac only)
ios.simulator.sdk.not.set=Path to iOS Simulator SDK is not set
ios.simulator.sdk.not.found=iOS Simulator SDK is not found: {0}
cant.execute.flexunit1.for.pure.as.bc=Can't execute FlexUnit 1 tests for pure ActionScript build configuration. Please use FlexUnit 4 or later.
locales.dialog.label=Locales supported by Flex SDK ''{0}''\:
new.flex.component.command.name=Create MXML Component
create.flex.component.intention.name=Create MXML Component ''{0}''
new.flex.component.action.description=Create new MXML component
new.flex.component.dialog.title=New MXML Component
new.flex.component.uml.action.text=MXML Component
parent.component.label.text=Parent &component\:
parallel.compilation.hint.title=Hint
parallel.compilation.hint=Parallel compilation of independent Flash build configurations <br/>may improve compilation performance.<br/><br/><a href="enable">Enable parallel compilation</a>\u00A0\u00A0\u00A0\u00A0<a href="open">Open compiler settings</a>
parallel.compilation.enabled=Parallel compilation enabled
see.settings.compiler=To configure compiler settings use the <a href="">Settings -> Compiler</a> page.
define.0=Declare conditional compiler definition ''{0}''
failed.to.read.app.id=Failed to read application id from the following file\:\n{0}
add.as.library.title=Add as Library
bc.output.file.source.item={0}: output file only ({1})
bc.output.file.and.wrapper.source.item={0}: output file and HTML wrapper
bc.output.folder.source.item={0}: entire output folder contents
f### Generic words ###
GNAME.function=function
GNAME.class=class
GNAME.var=variable
GNAME.item=item

### Actions: ACT ###
ACT.FAMILY.import=import

# Actions and associated commands
ACT.NAME.add.import=Add import
ACT.NAME.use.import=Import this name

ACT.CMD.use.import=Use an imported module
ACT.qualify.with.module=Qualify with an imported module
ACT.from.some.module.import=Import from ...

### Quick fixes ###
QFIX.add.parameter.self=Add parameter ''{0}''
QFIX.add.super=Add super class call

QFIX.add.encoding=Add encoding declaration

QFIX.NAME.parameters=Parameters of functions and methods
QFIX.rename.parameter.to.$0=Rename to ''{0}''

QFIX.NAME.add.field.$0.to.class.$1=Add field ''{0}'' to class {1}
QFIX.added.constructor.$0.for.field.$1=Added a __init__ to class <code>{0}</code><br/>to accommodate new field <code>{1}</code>
QFIX.failed.to.add.field=<br/>Failed to add a field!<br/><br/>

QFIX.NAME.add.method.$0.to.class.$1=Add method {0}() to class {1}
QFIX.failed.to.add.method=<br/>Failed to add a method!<br/><br/>

QFIX.NAME.add.function.$0.to.module.$1=Create function {0}() in module {1}
QFIX.failed.to.add.function=<br/>Failed to add a function!<br/><br/>

QFIX.action.failed=Action failed

QFIX.remove.trailing.semicolon=Remove trailing semicolon

QFIX.dict.creation=Replace dictionary creation
QFIX.list.creation=Replace list creation

QFIX.classic.class.transform=Inherit from object

QFIX.add.global=Add global statement

QFIX.simplify.$0=Replace boolean expression with ''{0}''

QFIX.move.from.future.import=Move 'from __future__ import' to a correct place

QFIX.replace.equality=Replace equality

QFIX.redundant.parentheses=Remove redundant parentheses

QFIX.augment.assignment=Replace assignment with augmented assignment

QFIX.chained.comparison=Simplify chained comparison

QFIX.statement.effect=Replace with function call
QFIX.statement.effect.move.docstring=Move docstring to the proper place

QFIX.statement.effect.introduce.variable=Introduce variable

QFIX.unresolved.reference=Replace ''{0}'' with ''{1}.{0}''

QFIX.unresolved.reference.add.param.$0=Create parameter ''{0}''
QFIX.unresolved.reference.add.param=Create parameter for reference

QFIX.unresolved.reference.create.function.$0=Create function ''{0}''

QFIX.introduce.variable=Introduce variable for statement

QFIX.unresolved.reference.add.future=Add 'from __future__ import with_statement''

# RemoveUnnecessaryBackslashQuickFix
QFIX.remove.unnecessary.backslash=Remove unnecessary backslash in expression

# ConvertDocstringQuickFix
QFIX.convert.single.quoted.docstring=Convert docstring to the triple double-quoted string form

#UnresolvedRefTrueFalseQuickFix
QFIX.unresolved.reference.replace.$0=Replace with {0}

#PyDefaultArgumentQuickFix
QFIX.default.argument=Replace mutable default argument

#RemoveArgumentEqualDefaultQuickFix
QFIX.remove.argument.equal.default=Remove arguments equal to default

# ReplaceFunctionWithSetLiteralQuickFix
QFIX.replace.function.set.with.literal=Replace function call with set literal

#DocstringQuickFix
QFIX.docstring.add.$0=Add docstring parameter ''{0}''
QFIX.docstring.remove.$0=Remove docstring parameter ''{0}''
QFIX.docstring.insert.stub=Insert docstring

#RemoveDecoratorQuickFix
QFIX.remove.decorator=Remove decorator

#PyRenameUnresolvedRefQuickFix
QFIX.rename.unresolved.reference=Rename reference

#PyMoveAttributeToInitQuickFix
QFIX.move.attribute=Move attribute to __init__ method

#PyMakeMethodStaticQuickFix
QFIX.NAME.make.static=Make method static

#PyMakeFunctionFromMethodQuickFix
QFIX.NAME.make.function=Make function from method

#PyImplementMethodsQuickFix
QFIX.NAME.implement.methods=Implement abstract methods

# Intentions: INTN
INTN.Family.convert.import.unqualify=Convert 'import module' to 'from module import'
INTN.Family.convert.import.qualify=Convert 'from module import' to 'import module'
INTN.Family.toggle.import.alias=Toggle import alias
INTN.Family.convert.except.part=Convert except part to supported form
INTN.Family.convert.set.literal=Convert set literal two supported forms
INTN.Family.convert.builtin=Convert builtin module import
INTN.Family.convert.dict.comp.expression=Convert dictionary comprehension expression
INTN.Family.convert.string=Convert single-quoted string to double-quoted

INTN.convert.to.from.$0.import.$1=Convert to ''from {0} import {1}''
INTN.convert.to.import.$0=Convert to ''import {0}''

INTN.alias.for.$0.dialog.title=Alias for ''{0}'':
INTN.add.alias.for.import.$0=Add alias to ''{0}''
INTN.remove.alias.for.import.$0=Remove alias ''{0}''

INTN.Family.migration.to.python3=Migration to Python 3

INTN.convert.except.to=Convert 'except exceptClass, Target' to 'except exceptClass as Target'

INTN.convert.set.literal.to=Convert set literal to 'set' method call

INTN.convert.builtin.import=Convert builtin module import to supported form

INTN.convert.dict.comp.to=Convert dictionary comprehension to 'dict' method call

INTN.replace.noteq.operator=Replace not equal operator

INTN.remove.leading.$0=Remove leading {0}
INTN.remove.leading.prefix=Remove prefix

INTN.remove.trailing.l=Remove trailing L

INTN.replace.list.comprehensions=Convert list comprehensions to supported form

INTN.replace.list.comprehensions.with.for=Convert list comprehensions to for loop

INTN.replace.octal.numeric.literal=Convert octal numeric literal to supported form

INTN.replace.raise.statement=Convert raise statement to supported form

INTN.replace.backquote.expression=Replace backquote expression

INTN.replace.method=Replace method which is not supported in current Python version

INTN.split.if=Split if
INTN.split.if.text=Split into 2 if's

INTN.negate.comparison=Negate comparison
INTN.negate.$0.to.$1=Negate ''{0}'' to ''{1}''

INTN.string.concatenation.to.format=Replace string concatenation with format operator
INTN.replace.plus.with.format.operator=Replace + with string formatting operator
INTN.replace.plus.with.str.format=Replace + with str.format method call

INTN.format.operator.to.method=Convert format operator usage to str.format method call
INTN.replace.with.method=Replace with str.format method call

INTN.flip.comparison=Flip comparison
INTN.flip.$0=Flip ''{0}''
INTN.flip.$0.to.$1=Flip ''{0}'' to ''{1}''

INTN.convert.string=Convert single-quoted string to double-quoted

INTN.join.if=Join if's
INTN.join.if.text=Join two if's

INTN.convert.dict.constructor.to.dict.literal=Convert dict constructor to dict literal form
INTN.convert.dict.literal.to.dict.constructor=Convert dict literal to dict constructor

INTN.quoted.string=Convert between single-quoted and double-quoted strings
INTN.quoted.string.single.to.double=Convert single-quoted string to double-quoted string
INTN.quoted.string.double.to.single=Convert double-quoted string to single-quoted string

INTN.convert.lambda.to.function=Convert lambda to function

INTN.convert.variadic.param=Convert from variadic to normal parameter(s)

# PyConvertTripleQuotedStringIntention
INTN.triple.quoted.string=Convert triple-quoted string to single-quoted string

# PyTransformConditionalExpressionIntention
INTN.transform.into.if.else.statement=Transform conditional expression into if/else statement

# PyConvertTripleQuotedStringIntention
INTN.doc.string.stub=Insert documentation string stub

#SpecifyTypeInDocstringIntention
INTN.specify.type=Specify type for reference in docstring
INTN.specify.return.type=Specify return type in docstring
INTN.add.parameters.to.docstring=Add parameters to docstring

#SpecifyTypeInPy3AnnotationsIntention
INTN.specify.type.in.annotation=Specify type for reference using annotation
INTN.specify.return.type.in.annotation=Specify return type using annotation

#TypeAssertionIntention
INTN.insert.assertion=Insert type assertion

#PyYieldFromIntention
INTN.yield.from=Transform explicit iteration with 'yield' into 'yield from' expression

#PyConvertStaticMethodToFunctionIntention
INTN.convert.static.method.to.function=Convert static method to function

#PyConvertMethodToPropertyIntention
INTN.convert.method.to.property=Convert method to property

# Conflict checker
CONFLICT.name.$0.obscured=Name ''{0}'' obscured by local definitions
CONFLICT.name.$0.obscured.cannot.convert=Name ''{0}'' obscured. Cannot convert.
CONFLICT.occurrence.sing=occurrence
CONFLICT.occurrence.pl=occurrences

### Surround with templates ###
surround.with.whileelse.template=while / else
surround.with.return.template=return
surround.with.try.except.template=try / except

##########################################################################################################################
# Unwrap
##########################################################################################################################
unwrap.if=Unwrap if...
unwrap.while=Unwrap while...
unwrap.for=Unwrap for...
unwrap.with=Unwrap with...
unwrap.try=Unwrap try...
unwrap.else=Unwrap else...
unwrap.elif=Unwrap elif...
remove.else=Remove else...
remove.elif=Remove elif...

### Inspections: INSP ###
INSP.GROUP.python=Python
INSP.GROUP.mako=Mako

# PyArgumentListInspection
INSP.NAME.incorrect.call.arguments=Incorrect call arguments
INSP.duplicate.argument=Duplicate argument
INSP.duplicate.star.arg=Duplicate *arg
INSP.duplicate.doublestar.arg=Duplicate **arg
INSP.cannot.appear.past.keyword.arg=Cannot appear past keyword arguments or *arg or **kwarg
INSP.unexpected.arg=Unexpected argument
INSP.parameter.$0.unfilled=Parameter ''{0}'' unfilled
INSP.func.$0.lacks.first.arg=Function ''{0}'' lacks a positional argument
INSP.expected.dict.got.$0=Expected a dictionary, got {0}
INSP.expected.iter.got.$0=Expected an iterable, got {0}
INSP.more.args.that.pos.params=Multiple values resolve to one positional parameter
INSP.multiple.values.resolve.to.positional.$0=Multiple values resolve to positional parameter ''{0}''
INSP.cannot.analyze=This argument list cannot be analyzed

# PyMethodParametersInspection
INSP.NAME.problematic.first.parameter=Methods having troubles with first parameter
INSP.must.have.first.parameter=Method must have a first parameter, usually called ''{0}''
INSP.probably.mistyped.self=Did not you mean 'self'?
INSP.usually.named.self=Usually first parameter of a method is named 'self'
INSP.usually.named.$0=Usually first parameter of such methods is named ''{0}''
INSP.first.param.must.not.be.tuple=First parameter of a non-static method must not be a tuple

# PyNestedDecoratorsInspection
INSP.NAME.nested.decorators=Problematic nesting of decorators
INSP.decorator.receives.unexpected.builtin=This decorator will not receive a callable it may expect; the built-in decorator returns a special object

# PyRedeclarationInspection
INSP.NAME.redeclaration=Redeclared names without usage
INSP.redeclared.name=Redeclared ''{0}'' defined above without usage

# PyUnresolvedReferencesInspection
INSP.NAME.unresolved.refs=Unresolved references
INSP.module.$0.not.found=Module ''{0}'' not found
INSP.unresolved.ref.$0=Unresolved reference ''{0}''
INSP.unresolved.ref.$0.for.class.$1=Unresolved attribute reference ''{0}'' for class ''{1}''
INSP.cannot.find.$0.in.$1=Cannot find reference ''{0}'' in ''{1}''
INSP.try.except.import.error=''{0}'' in try block with ''except ImportError'' should also be defined in except block
INSP.unresolved.operator.ref=Class ''{0}'' does not define ''{1}'', so the ''{2}'' operator cannot be used on its instances

# PyInterpreterInspection
INSP.NAME.invalid.interpreter=Invalid interpreter configured

# ReturnValueFromInitInspection
INSP.NAME.init.return=__init__ method that returns a value
INSP.cant.return.value.from.init=Cannot return a value from __init__

# PyUnreachableCodeInspection
INSP.NAME.unreachable.code=Unreachable code
INSP.unreachable.code=This code is unreachable

# PyMethodFirstArgAssignmentInspection
INSP.NAME.first.arg.assign=Reassignment of method's first argument
INSP.first.arg.$0.assigned=Method''s parameter ''{0}'' reassigned

# PyStringFormatInspection
INSP.NAME.str.format=Errors in string formatting operations
INSP.format.requires.no.mapping=Format doesn't require a mapping
INSP.key.$0.has.no.arg=Key ''{0}'' has no following argument
INSP.unexpected.type.$0=Unexpected type {0}
INSP.too.few.keys=Too few mapping keys
INSP.no.format.specifier.char=Format specifier character missing
INSP.format.requires.mapping=Format requires a mapping
INSP.too.many.args.for.fmt.string=Too many arguments for format string
INSP.too.few.args.for.fmt.string=Too few arguments for format string

# PyMethodOverridingInspection
INSP.NAME.method.over=Method signature does not match signature of overridden method
INSP.signature.mismatch=Signature of method ''{0}'' does not match signature of base method in class ''{1}''

# PyInitNewSignatureInspection
INSP.NAME.new.init.signature=Incompatible signatures of __new__ and __init__
INSP.new.incompatible.to.init=Signature is not compatible to __init__
INSP.init.incompatible.to.new=Signature is not compatible to __new__

# PyTrailingSemicolonInspection
INSP.NAME.trailing.semicolon=Trailing semicolon in statement

# PyUnusedLocalInspection
INSP.NAME.unused=Unused local
INSP.unused.locals.parameter.isnot.used=Parameter ''{0}'' value is not used
INSP.unused.locals.local.variable.isnot.used=Local variable ''{0}'' value is not used
INSP.unused.locals.replace.with.wildcard=Replace with _
INSP.unused.locals.local.function.isnot.used=Local function ''{0}'' is not used
INSP.unused.locals.local.class.isnot.used=Local class ''{0}'' is not used

# PyUnboundLocalVariableInspection
INSP.NAME.unbound=Unbound local variable
INSP.unbound.local.variable=Local variable ''{0}'' might be referenced before assignment
INSP.unbound.nonlocal.variable=Nonlocal variable ''{0}'' must be bound in an outer function scope
INSP.unbound.name.not.defined=Name ''{0}'' can be not defined
INSP.unbound.function.too.large=Function ''{0}'' is too large to analyse

# PyDictCreationInspection
INSP.NAME.dict.creation=Dictionary creation could be rewritten by dictionary literal

# PyListCreationInspection
INSP.NAME.list.creation=List creation could be rewritten by list literal

# PyExceptClausesOrderInspection
INSP.NAME.bad.except.clauses.order=Bad except clauses order
INSP.class.$0.already.caught=Exception class ''{0}'' has already been caught
INSP.class.$0.superclass.$1.already.caught=''{0}'', superclass of exception class ''{1}'', has already been caught

# PyTupleAssignmentBalanceInspection
INSP.NAME.incorrect.assignment=Tuple assignment balance is incorrect

# PyClassicStyleClassInspection
INSP.NAME.classic.class.usage=Classic style class usage

# PyExceptionInheritance
INSP.NAME.exception.not.inherit=Exception doesn't inherit from standard ''Exception'' class

# PyDefaultArgumentInspection
INSP.NAME.default.argument=Default argument is mutable

# PyRaisingNewStyleClassInspection
INSP.NAME.raising.new.style.class=Raising a new style class

# PyDocstringInspection
INSP.NAME.docstring=Missing, empty or incorrect docstring
INSP.no.docstring=Missing docstring
INSP.empty.docstring=Empty docstring

# PyDocstringTypesInspection
INSP.NAME.docstring.types=Type in docstring doesn't match inferred type

# PyStatementEffectInspection
INSP.NAME.statement.effect=Statement has no effect
INSP.NAME.statement.message=Statement seems to have no effect

# PySimplifyBooleanCheckInspection
INSP.NAME.check.can.be.simplified=Boolean variable check can be simplified
INSP.expression.can.be.simplified=Expression can be simplified

# PyFromFutureImportInspection
INSP.NAME.from.future.import=from __future__ import must be the first executable statement

# PyComparisonWithNoneInspection
INSP.NAME.comparison.with.none=Comparison with None performed with equality operators

# PyStringExceptionInspection
INSP.NAME.raising.string.exception=Raising a string exception

# PySuperArgumentsInspection
INSP.NAME.wrong.super.arguments=Wrong arguments to call super
INSP.$0.is.not.superclass.of.$1=''{0}'' is not an instance or a subclass of ''{1}''

# PyByteLiteralInspection
INSP.NAME.byte.literal=Byte literal contains characters > 255

# PynonAsciiCharInspection
INSP.NAME.non.ascii=File contains non-ASCII character

# PyMandatoryEncodingInspection
INSP.NAME.mandatory.encoding=No encoding specified for file

# PyTupleItemAssignmentInspection
INSP.NAME.tuple.item.assignment=Tuple item assignment
INSP.tuples.never.assign.items=Tuples don't support item assignment

# PyPropertyAccessInspection
INSP.NAME.property.access=Access to properties
INSP.property.$0.cant.be.set=Property ''{0}'' cannot be set
INSP.property.$0.cant.be.read=Property ''{0}'' cannot be read
INSP.property.$0.cant.be.deleted=Property ''{0}'' cannot be deleted

# PyPropertyDefinitionInspection
INSP.NAME.property.definition=Property definitions
INSP.doc.param.should.be.str=The doc parameter should be a string
INSP.strange.arg.want.callable=Strange argument; a callable is expected
INSP.func.property.name.mismatch=Names of function and decorator don't match; property accessor is not created
INSP.getter.return.smth=Getter should return or yield something
INSP.setter.should.not.return=Setter should not return a value
INSP.deleter.should.not.return=Deleter should not return a value
INSP.getter.signature.advice=Getter signature should be (self)
INSP.setter.signature.advice=Setter signature should be (self, value)
INSP.deleter.signature.advice=Deleter signature should be (self)
INSP.accessor.first.param.is.$0=First parameter of an accessor is usually called ''{0}''

# PyCallByClassInspection
INSP.NAME.different.class.call=Calling a method by class using an instance of a different class
INSP.instance.of.$0.excpected=An instance of {0} expected, not the class itself
INSP.passing.$0.instead.of.$1=Passing {0} instead of {1}. Is this intentional?

# PyBroadExceptionInspection
INSP.NAME.too.broad.exception.clauses=Too broad exception clauses

# PyDictDuplicateKeysInspection
INSP.NAME.duplicate.keys=Dictionary contains duplicate keys

# PyRedundantParenthesesInspection
INSP.NAME.redundant.parentheses=Redundant parentheses

# PyAugmentAssignmentInspection
INSP.NAME.augment.assignment=Assignment can be replaced with augmented assignment

# PyChainedComparsonsInspection
INSP.NAME.chained.comparisons=Chained comparisons can be simplified

# PyAttributeOutsideInitInspection
INSP.NAME.attribute.outside.init=Instance attribute defined outside __init__
INSP.attribute.$0.outside.init=Instance attribute {0} defined outside __init__

# PyProtectedMemberInspection
INSP.NAME.protected.member.access=Access to a protected member of a class
INSP.protected.member.$0.access=Access to a protected member {0} of a class
INSP.protected.member.$0.access.module=Access to a protected member {0} of a module

# PyArgumentEqualDefaultInspection
INSP.NAME.argument.equal.default=Argument passed to function is equal to default parameter value
INSP.argument.equals.to.default=Argument equals to default parameter value

# PyAbstractClassInspection
INSP.NAME.abstract.class=Class must implement all abstract methods
INSP.NAME.abstract.class.$0.must.implement=Class {0} must implement all abstract methods

# PyOldStyleClassesInspection
INSP.NAME.oldstyle.class=Old-style class contains new-style class features

# PyCompatibilityInspection
INSP.NAME.compatibility=Code compatibility inspection

# PyUnnecessaryBackslashInspection
INSP.NAME.unnecessary.backslash=Unnecessary backslash

# PySingleQuotedDocstringInspection
INSP.NAME.single.quoted.docstring=Single quoted docstring
INSP.message.single.quoted.docstring=Triple double-quoted strings should be used for docstrings.

# PyMissingConstructorInspection
INSP.NAME.missing.super.constructor=Missed call to __init__ of super class
INSP.missing.super.constructor.message=Call to __init__ of super class is missed

# PySetFunctionToLiteralInspection
INSP.NAME.set.function.to.literal=Function call can be replaced with set literal

# PyDecoratorInspection
INSP.NAME.decorator.outside.class=Class specific decorator on method outside class

# PyPackageRequirementsInspection
INSP.NAME.requirements=Package requirements

# PyMethodMayBeStaticInspection
INSP.NAME.method.may.be.static=Method may be static
INSP.method.may.be.static=Method <code>#ref</code> may be 'static'

# PyClassHasNoInitInspection
INSP.NAME.class.has.no.init=Class has no __init__ method
INSP.class.has.no.init=Class has no __init__ method
INSP.parent.$0.has.no.init=Parent ''{0}'' has no __init__ method

#PyNoneFunctionAssignmentInspection
INSP.NAME.none.function.assignment=Assigning function call that doesn't return anything (None)
INSP.none.function.assignment=Function ''{0}'' doesn''t return anything

#PyGlobalUndefinedInspection
INSP.NAME.global.undefined=Global variable is undefined at the module level
INSP.NAME.global.$0.undefined=Global variable ''{0}'' is undefined at the module level

#PyAssignmentToLoopOrWithParameterInspection
INSP.NAME.assignment.to.loop.or.with.parameter.display.name=Assignment to 'for' loop or 'with' statement parameter
INSP.NAME.assignment.to.loop.or.with.parameter.display.message=Variable ''{0}'' already declared in ''for'' loop or ''with'' statement above

# Refactoring
refactoring.will.not.be.accessible=Member, you are trying to move depends on ''{0}'' which will not be accessible after this refactoring


# introduce
refactoring.introduce.name.error=Incorrect name
refactoring.introduce.selection.error=Cannot perform refactoring using selected element(s)

# introduce variable
refactoring.introduce.variable.dialog.title=Extract Variable
refactoring.introduce.variable.scope.error=Name clashes with existing variable or parameter

# introduce constant
refactoring.introduce.constant.dialog.title=Extract Constant
refactoring.introduce.constant.scope.error=Name is already declared in scope

# introduce parameter
refactoring.introduce.parameter.dialog.title=Extract Parameter

# pull up
refactoring.pull.up.dialog.title=Pull members up to
refactoring.pull.up.dialog.move.members.to.class=Move members to class
refactoring.pull.up.dialog.members.to.be.moved=Following members would be moved
refactoring.pull.up.error.cannot.perform.refactoring.using.selected.elements=Cannot perform pull member up using selected element(s)
refactoring.pull.up.error.cannot.perform.refactoring.not.inside.class=Cannot perform pull member up: not inside the class
refactoring.pull.up.error.cannot.perform.refactoring.no.base.classes=Class {0} has no super classes or none of them could be used for refactoring

# push down
refactoring.push.down.dialog.title=Push members down from
refactoring.push.down.error.cannot.perform.refactoring.using.selected.elements=Cannot perform push member down using selected element(s)
refactoring.push.down.error.cannot.perform.refactoring.not.inside.class=Cannot perform pull member down: not inside the class

# inline
refactoring.inline.local.multiassignment=Definition is in multi-assign

# extract method
refactoring.extract.method.error.cannot.perform.refactoring.when.class.declaration.inside=Cannot perform refactoring with class declaration inside code block
refactoring.extract.method.error.cannot.perform.refactoring.when.function.declaration.inside=Cannot perform refactoring with function declaration inside code block
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.break=No corresponding loop for break statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.no.corresponding.loop.for.continue=No corresponding loop for continue statement inside code fragment
refactoring.extract.method.error.cannot.perform.refactoring.when.execution.flow.is.interrupted=Cannot perform refactoring when execution flow is interrupted
refactoring.extract.method.error.cannot.perform.refactoring.when.from.import.inside=Cannot perform refactoring with from import statement inside code block
refactoring.extract.method.error.cannot.perform.refactoring.using.selected.elements=Cannot perform extract method using selected element(s)
refactoring.extract.method.error.name.clash=Method name clashes with already existing name
refactoring.extract.method.error.cannot.perform.refactoring.with.local=Cannot perform refactoring from expression with local variables modifications and return instructions inside code fragment

# extract superclass
refactoring.extract.super.target.path.outside.roots=Target directory is outside the project. Must be within content roots
refactoring.extract.super.target.class.already.exists=Class ''{0}'' already exists in this module
refactoring.extract.super.name.0.must.be.ident=Name ''{0}'' is invalid. Must be a valid Python identifier
refactoring.extract.super.class.no.members.allowed=None of members could be extracted

# move
refactoring.move.class.or.function=Move class or function
refactoring.move.class.or.function.dialog.title=Move Class or Function
refactoring.move.class.$0=Move class {0} to file:
refactoring.move.function.$0=Move function {0}() to file:
refactoring.move.selected.elements=Move selected elements to file:
refactoring.move.class.or.function.choose.destination.file.title=Choose Destination File
refactoring.move.class.or.function.to.file=To file:
refactoring.move.class.or.function.error.cannot.place.elements.into.nonpython.file=Cannot place elements into a non-Python file
refactoring.move.class.or.function.error.destination.file.contains.class.$0=Destination file already contains class named ''{0}''
refactoring.move.class.or.function.error.destination.file.contains.function.$0=Destination file already contains function named ''{0}()''
refactoring.move.class.or.function.error.cannot.use.module.name.$0=Cannot use module name ''{0}'' in imports
refactoring.move.class.or.function.error.selection=Cannot perform refactoring using selected element(s)

#change signature
refactoring.change.signature.usage.view.declarations.header=Functions to be refactored
refactoring.change.signature.dialog.validation.name.defined=Name is already defined in scope
refactoring.change.signature.dialog.validation.function.name=Incorrect function name
refactoring.change.signature.dialog.validation.parameter.name=Incorrect parameter name
refactoring.change.signature.dialog.validation.multiple.star=Multiple * arguments are not allowed
refactoring.change.signature.dialog.validation.default.missing=Default value is missing
refactoring.change.signature.dialog.validation.parameter.missing=Parameter name is missing
refactoring.change.signature.dialog.default.value.checkbox=Use default value in signature:
refactoring.change.signature.dialog.default.value.label=Default value:
refactoring.change.signature.dialog.name.label=Name:
refactoring.change.signature.find.usages.of.base.class=Method {0} of class {1}\noverrides method of class {2}.\nDo you want to refactor the base method?
refactoring.change.signature.error.wrong.caret.position.method.name=The caret should be positioned at the name of the method to be refactored.

### Annotators ###
ANN.deleting.none=Deleting None
ANN.assign.to.none=Assignment to None
ANN.cant.assign.to.call=Can't assign to function call
ANN.cant.delete.call=Can't delete function call
ANN.cant.aug.assign.to.generator=Augmented assign to generator expression not possible
ANN.cant.aug.assign.to.tuple.or.generator=Augmented assign to tuple literal or generator expression not possible
ANN.cant.assign.to.generator=Assign to generator expression not possible
ANN.cant.assign.to.operator=Can't assign to operator
ANN.cant.assign.to.parens=Can't assign to ()
ANN.cant.assign.to.brackets=Can't assign to []
ANN.cant.aug.assign.to.list.or.comprh=Augmented assign to list literal or comprehension not possible
ANN.cant.assign.to.comprh=Can't assign to list comprehension
ANN.cant.assign.to.dict.comprh=Can't assign to dict comprehension
ANN.cant.assign.to.set.comprh=Can't assign to set comprehension
ANN.cant.aug.assign.to.comprh=Augmented assign to list comprehension not possible
ANN.cant.aug.assign.to.dict.comprh=Augmented assign to dict comprehension not possible
ANN.cant.aug.assign.to.set.comprh=Augmented assign to set comprehension not possible
ANN.cant.assign.to.literal=Can't assign to literal
ANN.cant.delete.literal=Can't delete literal
ANN.cant.assign.to.lambda=Can't assign to lambda

ANN.break.outside.loop='break' outside loop
ANN.continue.outside.loop='continue' outside loop
ANN.cant.continue.in.finally='continue' not supported inside 'finally' clause
ANN.default.except.must.be.last=default 'except:' must be last

ANN.$0.both.global.and.param=Name ''{0}'' used both as a parameter and as a global
ANN.$0.assigned.before.global.decl=Name ''{0}'' is assigned before global declaration

ANN.duplicate.param.name=duplicate parameter name
ANN.starred.param.after.kwparam=* parameter after ** parameter
ANN.regular.param.after.vararg=regular parameter after * parameter
ANN.regular.param.after.keyword=regular parameter after ** parameter
ANN.non.default.param.after.default=non-default parameter follows default parameter
ANN.named.arguments.after.star=named arguments must follow bare *
ANN.tuple.py3=tuple parameter unpacking is not supported in Python 3

ANN.star.import.at.top.only='import *' only allowed at module level

ANN.method.$0.removed.use.$1=Method ''{0}'' has been removed, use ''{1}'' instead
ANN.method.$0.removed=Method ''{0}'' removed

### parsing
PARSE.expected.expression=expression expected
PARSE.expected.rbracket=']' expected
PARSE.expected.expr.or.comma.or.bracket=expected expression, ',' or ']'
PARSE.expected.in='in' expected
PARSE.expected.for.or.bracket=']' or 'for' expected
PARSE.expected.comma=',' expected
PARSE.expected.colon=':' expected
PARSE.expected.rpar=')' expected
PARSE.expected.lpar='(' expected
PARSE.expected.rbrace='}' expected
PARSE.expected.tick='`' (backtick) expected
PARSE.expected.name=name expected
PARSE.expected.colon.or.rbracket=':' or ']' expected
PARSE.expected.comma.or.rpar=',' or ')' expected
PARSE.expected.else='else' expected

PARSE.expected.identifier=Identifier expected
PARSE.expected.comma.lpar.rpar=',' or '(' or ')' expected
PARSE.expected.statement.break=Statement break expected
PARSE.expected.@.or.def='@' or 'def' expected
PARSE.expected.formal.param.name=formal parameter name expected

### qiuck doc generator
QDOC.copied.from.$0.$1=<i>Documentation is missing.</i> The following is copied from <code>{0}.{1}</code>.
QDOC.copied.from.builtin=<small>(copied from built-in description)</small>
QDOC.copied.from.class.$0=<i>Documentation is missing.</i> The following is copied from class <code>{0}</code>.
QDOC.assigned.to.$0=Assigned to <code>{0}</code>
QDOC.wrapped.in.$0=Wrapped in <code>{0}</code>
QDOC.module.path.unknown=(Module path is unknown)

### doctest run conf
runcfg.doctest.display_name=Doctests
runcfg.doctest.description=Python's doctests run configuration

### nosetests run conf
runcfg.nosetests.display_name=Nosetests
runcfg.nosetests.description=Python's nosetests run configuration

### pytest run conf
runcfg.pytest.display_name=py.test
runcfg.pytest.description=py.test run configuration
runcfg.pytest.target=&Target:
runcfg.pytest.parameters=&Options:
runcfg.pytest.keywords=&Keywords:

### attest run conf
runcfg.attest.display_name=Attests
runcfg.attest.description=Python's attests run configuration

### test run configuration
runcfg.test.display_name=Python tests
runcfg.test.description=Python frameworks supported by PyCharm

### unittest run configuration
runcfg.unittest.display_name=Unittests
runcfg.unittest.description=Python's unittest run configuration
runcfg.unittest.no_script_name=Please specify script name
runcfg.unittest.no_class_name=Please specify class name
runcfg.unittest.no_method_name=Please specify method name
runcfg.unittest.no_folder_name=Please specify folder with tests
runcfg.unittest.incorrect.script=Test script name should start with "test" prefix
runcfg.unittest.dlg.tests_group_title=Tests:
runcfg.unittest.dlg.test_script_label=Script:
runcfg.unittest.dlg.class_label=Class:
runcfg.unittest.dlg.method_label=Method:
runcfg.unittest.dlg.function_label=Function:
runcfg.unittest.dlg.folder_path=Folder:
runcfg.unittest.dlg.test_type_title=Test:
runcfg.unittest.dlg.all_in_folder_title=All in folder
runcfg.unittest.dlg.all_in_script_title=Script
runcfg.unittest.dlg.test_class_title=Class
runcfg.unittest.dlg.test_method_title=Method
runcfg.unittest.dlg.folder_title=Tests folder:
runcfg.unittest.no_valid_sdk=Please select a valid Python interpeter
runcfg.unittest.no_module_sdk=Please select a module with a valid Python SDK
runcfg.unittest.no_sdk=Please specify a Python SDK
runcfg.unittest.dlg.select.folder.path=Select folder path:
runcfg.unittest.dlg.select.script.path=Select script path:
runcfg.unittest.dlg.interpreter_options_title=Interpreter options:
runcfg.unittest.dlg.messages.working.dir=Working directory:
runcfg.labels.script_parameters=Script &parameters:
runcfg.labels.script=&Script:
runcfg.labels.environment_variables=&Environment variables:
runcfg.labels.interpreter=&Use specified interpreter:
runcfg.labels.interpreter_options=Interpreter &options:
runcfg.labels.working_directory=&Working directory:
runcfg.captions.script_parameters_dialog=Enter script parameters
runcfg.captions.interpreter_options_dialog=Enter interpreter options
sdk.error.invalid.interpreter.name.$0=Invalid Python interpeter name '{0}'!
sdk.select.path=Select Python Interpreter
runcfg.unittest.dlg.pattern=Pattern:

runcfg.testing.no.test.framework=No {0} runner found in selected interpreter

# Consoles messages
python.console=Python Console
django.console=Django Console

# UI messages
MSG.title.bad.sdk=Invalid Python SDK
MSG.cant.setup.sdk.$0=Cannot set up a python SDK \nat {0}.\nThe SDK seems invalid.


#Buildout
buildout=Buildout
buildout.unresolved.part.inspection=Buildout config unresolved part inspection
buildout.unresolved.part.inspection.msg=Unresolved part reference
runcfg.unittest.dlg.test_function_title=Function
runcfg.unittest.dlg.keywords=Keywords:
run.configuration.remote.debug.name=Python Remote Debug
run.configuration.type.description=Starts server for remote debug

unable.to.stop=Currently running process can't be stopped. Kill it manually first.

#Debug

debug.popup.title.step.into.function=Step Into Function

remote.debug.info=Info
remote.debug.server.hint=Launch this debug configuration to start the debug server.
remote.debug.server.hint1.5=Update your script:
remote.debug.server.hint2=1. Add pycharm-debug.egg from the PyCharm installation to the Python path.
remote.debug.server.hint2.5=2. Add the following import statement:
remote.debug.server.hint3=3. Add the following command to connect to the debug server:
remote.debug.settings=Settings
remote.debug.remote.host=Remote host
remote.debug.port=Port:
remote.debug.use.path.mapping=Use path mapping
remote.debug.remote.root.folder=Remote paths prefix:
remote.debug.local.root.folder=Local paths prefix:
remote.debug.server.hint4=If you want to enable stdout and stderr redirection to PyCharm console, use following command in your script:
remote.debug.local.host=Local host name:
remote.debug.redirect.output=Redirect output to console
remote.debug.suspend.on.connect=Suspend after connect

# SDK / skeletons
sdk.errorlog.$0.mods.fail.in.$1.sdks={0,choice,|1#1 module|2#{0,number} modules} failed in {1,choice, |1#1 interpreter|2#{1,number} interpreters}. <a href=\"#\">Details...</a>
sdk.errorlog.$0.mods.fail.in.$1.sdks.$2.completely={0,choice,|1#1 module|2#{0,number} modules} failed in {1,choice, |1#1 interpreter|2#{1,number} interpreters}, {2,choice, |1#1 interpreter|2#{2,number} interpreters} failed <i>completely</i>. <a href=\"#\">Details...</a>
sdk.some.skeletons.failed=Some skeletons failed to generate
sdk.error.dialog.problems=Skeleton Generation Problems
sdk.error.dialog.failed.sdks=Failed interpreters
sdk.error.dialog.failed.modules=Failed modules
sdk.error.dialog.were.blacklisted=Generation of skeletons for the modules above will be tried again when the modules are updated or a new version of generator is available.
sdk.gen.querying.$0=Querying skeleton generator for {0}...
sdk.gen.updating.builtins.$0=Updating skeletons of builtins for {0}...
sdk.gen.updating.$0=Updating skeletons for {0}...
sdk.gen.cleaning.$0=Cleaning up skeletons for {0}...
sdk.gen.reloading=Reloading generated skeletons...
sdk.gen.reading.versions.file=Reading versions file...
sdk.gen.notify.converting.old.skels=Converting old skeletons
sdk.gen.notify.converting.text=Skeletons of binary modules seem to be from an older version.<br/>These will be fully re-generated, which will take some time, but will happen <i>only once</i>.<br/>Next time you open the project, only skeletons of new or updated binary modules will be re-generated.
sdk.gen.updating.skels=Updating skeletons

# remote interpreters
remote.interpreter.configure.title=Configure Remote Python Interpreter
remote.interpreter.configure.path.title=Select Python Interpreter
remote.interpreter.configure.temp.files.path.title=Select Folder for PyCharm Helpers
remote.interpreter.default.interpreter.path=/usr/bin/python
remote.interpreter.unspecified.interpreter.path=Specify Python interpreter path
remote.interpreter.unspecified.temp.files.path=Specify path for PyCharm helpers
remote.interpreter.configure.path.label=Python interpreter path:
remote.interpreter.configure.temp.files.path.label=PyCharm helpers path:
error.invalid.installation.home=Unable to import settings. ''{0}'' doesn''t appear to be valid {1} installation home.
error.invalid.config.folder=Unable to import settings. ''{0}'' doesn''t appear to be valid {1} config folder.
error.no.settings.path=Unable to import settings. {0} does not exist.
title.settings.import.failed=Settings Import Failed
error.unable.to.import.settings=Unable to import settings. {0}
title.complete.installation=Complete Installation
title.installation.home.required=Config Folder or Installation Home Required
error.please.select.previous.installation.home=Please select previous {0} config folder or installation home
error.selected.current.installation.home=You have selected current {0} installation home.\nPlease select previous {1} installation home
error.does.not.appear.to.be.installation.home={0} does not appear to be {1} config folder or installation home
error.no.read.permissions=You do not have read permissions to {0}
radio.do.not.import=I do not have a previous version of {0} or I do not want to import my settings
radio.import.auto=I want to import my settings from a previous version ({0})
radio.import=I want to import my settings from a custom location
label.you.can.import=You can import your settings from a previous version of {0}.
button.ok=OK
editbox.installation.home=Specify config folder or installation home of the previous version of {0}:
title.code.completion=Code Completion
editbox.lookup.height=Lookup height (items):
editbox.autopopup.javadoc.in.ms=Autopopup documentation in (ms):
checkbox.show.signatures=Show signatures
checkbox.show.full.signatures=Show full signatures
editbox.autopopup.in.ms=Autopopup in (ms):
title.parameter.info=Parameter Info
radio.insert.both.parentheses=Insert '()'
checkbox.insert.both.parentheses.when.no.arguments=Insert '()' when no arguments
radio.insert.left.parenthesis=Insert '('
label.complete.brackets=Brackets:
label.complete.autopopup=Autopopup:
label.autocomplete.when.only.one.choice=Auto-insert when only one choice on\:
checkbox.show.static.members.after.instance.qualifier=Show static members after instance qualifier
checkbox.autocomplete.common.prefix=Autocomplete common prefix
checkbox.autocomplete.smart.type=Smart Type Completion
checkbox.autocomplete.basic=Basic Completion
combobox.case.sensitive.completion=Case sensitive completion:
combobox.autocomplete.case.sensitive.all=All
combobox.autocomplete.case.sensitive.none=None
combobox.autocomplete.case.sensitive.first.letter=First letter
editbox.blanklines.before.package.statement=Before package statement:
editbox.blanklines.after.package.statement=After package statement:
editbox.blanklines.before.imports=Before imports:
editbox.blanklines.after.imports=After imports:
editbox.blanklines.around.class=Around class:
editbox.blanklines.around.field=Around field:
editbox.blanklines.around.method=Around method:
editbox.blanklines.before.method.body=Before method body:
editbox.blanklines.after.class.header=After class header:
editbox.blanklines.after.anonymous.class.header=After anonymous class header:
title.blank.lines=Blank Lines
title.keep.blank.lines=Keep Maximum Blank Lines
title.minimum.blank.lines=Minimum Blank Lines
editbox.keep.blanklines.in.declarations=In declarations:
editbox.keep.blanklines.in.code=In code:
editbox.keep.blanklines.before.rbrace=Before '}':
title.preview=Preview
listbox.members.order.fields=Instance fields
listbox.members.order.static.fields=Static fields
listbox.members.order.methods=Instance methods
listbox.members.order.static.methods=Static methods
listbox.members.order.constructors=Constructors
listbox.members.order.inner.classes=Inner classes
listbox.members.order.inner.static.classes=Static inner classes
title.naming.final.modifier=Final Modifier
checkbox.make.generated.parameters.final=Make generated parameters final
checkbox.make.generated.local.variables.final=Make generated local variables final
title.naming.comment.code=Comment Code
checkbox.block.comment.at.first.column=Block comment at first column
checkbox.line.comment.at.first.column=Line comment at first column
title.order.of.members=Order of Members
button.move.down=Move &Down
button.move.up=Move &Up
title.naming=Naming
label.name.prefix=Name prefix:
label.name.suffix=Name suffix:
label.naming.local.variable=Local variable:
label.naming.field=Field:
label.naming.static.field=Static field:
label.naming.parameter=Parameter:
checkbox.prefer.longer.names=Prefer longer names
title.lookup.list=Lookup List
title.code.generation=Code Generation
title.insert.new.line.before.tags=Insert New Line Before Tags
title.remove.line.breaks.before.tags=Remove Line Breaks Before Tags
title.do.not.indent.children.of=Do not Indent Children Of
title.inline.elements=Inline Elements
title.keep.whitespaces.inside=Keep Whitespaces Inside
title.dont.wrap.if.inline.content=Dont Wrap If Inline Content Only
checkbox.wrap.text=Wrap text
checkbox.parentheses.around.method.arguments=Add parentheses around method arguments
checkbox.rename.local.variables.inplace=Enable in-place mode
checkbox.rename.local.variables.preselect=Preselect old name
editbox.keep.blank.lines=Keep blank lines:
checkbox.keep.white.spaces=Keep white spaces
checkbox.align.text=Align text
checkbox.align.attributes=Align attributes
title.spaces=Spaces
checkbox.spaces.in.empty.tag=In empty tag
checkbox.spaces.around.tag.name=After tag name
checkbox.spaces.around.equals.in.attribute=Around "=" in attribute
label.wrap.attributes=Wrap attributes:
label.keep.white.spaces.inside=Keep white spaces inside:
label.do.not.indent.children.of=Do not indent children of:
label.remove.new.line.before=Remove new line before:
label.insert.new.line.before=Insert new line before:
label.lines=lines
label.or.if.tag.size.more.than=or if tag size more than
checkbox.keep.line.breaks=Keep line breaks
checkbox.keep.line.breaks.in.text=Keep line breaks in text
title.imports=Imports
title.general=General
title.other.tabs.and.indents=Other
checkbox.use.single.class.import=Use single class import
checkbox.use.fully.qualified.class.names=Use fully qualified class names
checkbox.insert.imports.for.inner.classes=Insert imports for inner classes
checkbox.use.fully.qualified.class.names.in.javadoc=Use fully qualified class names in javadoc
editbox.class.count.to.use.import.with.star=Class count to use import with '*':
editbox.names.count.to.use.static.import.with.star=Names count to use static import with '*':
title.packages.to.use.import.with=Packages to Use Import with '*'
title.import.layout=Import Layout
button.add.package=Add Package
button.add.blank=Add Blank
button.remove=R&emove
listbox.import.package=Package
listbox.import.with.subpackages=With Subpackages
listbox.import.all.other.imports=<all other imports>
listbox.import.blank.line=<blank line>
radio.prefer.comma.separated.import.list=Prefer comma separated import list
radio.prefer.one.import.statement.per.page.directive=Prefer one import statement per page directive
title.jsp.imports.layout=JSP imports layout
button.add.package.p=Add &Package
button.remove.r=&Remove

wrapping.and.braces=Wrapping and Braces

wrapping.keep.when.reformatting=Keep when reformatting
wrapping.keep.line.breaks=Line breaks
wrapping.keep.comment.at.first.column=Comment at first column
wrapping.keep.simple.classes.in.one.line=Simple classes in one line
wrapping.keep.simple.methods.in.one.line=Simple methods in one line
wrapping.keep.multiple.expressions.in.one.line=Multiple expressions in one line
wrapping.keep.simple.blocks.in.one.line=Simple blocks in one line

wrapping.do.not.wrap=Do not wrap
wrapping.wrap.if.long=Wrap if long
wrapping.chop.down.if.long=Chop down if long
wrapping.wrap.always=Wrap always

wrapping.force.braces.do.not.force=Do not force
wrapping.force.braces.when.multiline=When multiline
wrapping.force.braces.always=Always

wrapping.brace.placement=Braces placement
wrapping.brace.placement.class.declaration=In class declaration
wrapping.brace.placement.method.declaration=In method declaration
wrapping.brace.placement.other=Other
wrapping.brace.placement.end.of.line=End of line
wrapping.brace.placement.next.line.if.wrapped=Next line if wrapped
wrapping.brace.placement.next.line=Next line
wrapping.brace.placement.next.line.shifted=Next line shifted
wrapping.brace.placement.next.line.each.shifted=Next line, each shifted

wrapping.align.when.multiline=Align when multiline
wrapping.align.parenthesised.when.multiline=Align parenthesised when multiline
wrapping.align.in.columns=Align in columns

wrapping.else.on.new.line='else' on new line
wrapping.while.on.new.line='while' on new line
wrapping.catch.on.new.line='catch' on new line
wrapping.finally.on.new.line='finally' on new line
wrapping.method.parentheses=Method parentheses
wrapping.special.else.if.braces.treatment=Special 'else if' treatment
wrapping.indent.case.from.switch=Indent 'case' branches
wrapping.force.braces=Force braces

wrapping.method.parameters=Method declaration parameters
wrapping.method.arguments=Method call arguments
wrapping.chained.method.calls=Chained method calls
wrapping.for.statement='for()' statement
wrapping.if.statement='if()' statement
wrapping.while.statement='while()' statement
wrapping.dowhile.statement='do ... while()' statement
wrapping.switch.statement='switch' statement
wrapping.try.statement='try' statement
wrapping.try.resources='try-with-resources'
wrapping.binary.operations=Binary expressions
wrapping.extends.implements.list=Extends/implements list
wrapping.extends.implements.keyword=Extends/implements keyword
wrapping.throws.list=Throws list
wrapping.throws.keyword=Throws keyword
wrapping.align.throws.keyword=Align 'throws' to method start
wrapping.ternary.operation=Ternary operation
wrapping.assignment.variables.groups=Fields/variables groups
wrapping.assignment.statement=Assignment statement
wrapping.array.initializer=Array initializer
wrapping.modifier.list=Modifier list
wrapping.assert.statement=Assert statement
wrapping.new.line.after.lpar=New line after '('
wrapping.rpar.on.new.line=Place ')' on new line
wrapping.take.priority.over.call.chain.wrapping=Take priority over call chain wrapping
wrapping.operation.sign.on.next.line=Operation sign on next line
wrapping.comma.on.next.line=',' on next line
wrapping.assignment.sign.on.next.line=Assignment sign on next line
wrapping.quest.and.colon.signs.on.next.line='?' and ':' signs on next line
wrapping.new.line.after.lbrace=New line after '{'
wrapping.rbrace.on.new.line=Place '}' on new line
wrapping.after.modifier.list=Wrap after modifier list
wrapping.colon.signs.on.next.line=':' signs on next line
wrapping.classes.annotation=Class annotations
wrapping.methods.annotation=Method annotations
wrapping.fields.annotation=Field annotations
wrapping.parameters.annotation=Parameter annotations
wrapping.local.variables.annotation=Local variable annotations
wrapping.enum.constants=Enum constants
wrapping.long.lines=Ensure right margin is not exceeded

checkbox.align.multiline.chained.methods=Chained methods
checkbox.align.multiline.method.parameters=Method parameters
checkbox.align.multiline.call.arguments=Call arguments
checkbox.align.multiline.extends.list=Extends list
checkbox.align.multiline.throws.list=Throws list
checkbox.align.multiline.fields.groups=Field groups
checkbox.align.multiline.parenthesized.expression=Parenthesized expression
checkbox.align.multiline.binary.operation=Binary operation
checkbox.align.multiline.ternary.operation=Ternary operation
checkbox.align.multiline.assignments=Assignments
checkbox.align.multiline.for.statement=For statement
checkbox.align.multiline.array.initializer=Array initializer
title.place.on.new.line=Place on New Line
checkbox.keep.when.reformatting.control.statement.in.one.line=Control statement in one line
title.braces.placement=Braces Placement
combobox.force.braces.if=if ():
combobox.force.braces.for=for ():
combobox.force.braces.while=while ():
combobox.force.braces.do.while=do ... while():
label.loading.page.please.wait=Loading...
button.save.as=Save As...
button.delete=Delete
editbox.scheme.name=Scheme\:
html.project.uses.own.code.style=<html><body>The current project is configured to use its own code style.<br>Changes made to global code style settings will not affect formatting in the current project.<br>See Project Settings | Code Style.<br>Press \\&quot;Edit Global Settings\\&quot; button below if you still want to edit global settings.</body></html>
title.edit.global.settings=Edit &Global Settings
title.settings=Settings
title.global.code.style=Global\nCode Style
title.save.code.style.scheme.as=Save Code Style Scheme As
group.spaces.around.operators=Around Operators
group.spaces.before.parentheses=Before Parentheses
group.spaces.before.left.brace=Before Left Brace
group.spaces.after.right.brace=Before Keywords
group.spaces.within=Within
group.spaces.in.ternary.operator=In Ternary Operator (?:)
group.spaces.in.type.arguments=Within Type Arguments
group.spaces.in.type.arguments.block=Type Arguments
group.spaces.in.type.parameters.block=Type Parameters
group.spaces.other=Other
checkbox.spaces.method.call.parentheses=Method call parentheses
checkbox.spaces.method.declaration.parentheses=Method declaration parentheses
checkbox.spaces.if.parentheses='if' parentheses
checkbox.spaces.while.parentheses='while' parentheses
checkbox.spaces.for.parentheses='for' parentheses
checkbox.spaces.try.parentheses='try' parentheses
checkbox.spaces.catch.parentheses='catch' parentheses
checkbox.spaces.switch.parentheses='switch' parentheses
checkbox.spaces.synchronized.parentheses='synchronized' parentheses
checkbox.spaces.annotation.parameters=Annotation parameters
checkbox.spaces.assignment.operators=Assignment operators (=, +=, ...)
checkbox.spaces.logical.operators=Logical operators (\\&\\&, ||)
checkbox.spaces.equality.operators=Equality operators (==, !=)
checkbox.spaces.relational.operators=Relational operators (<, >, <=, >=)
checkbox.spaces.bitwise.operators=Bitwise operators (\\&, |, ^)
checkbox.spaces.additive.operators=Additive operators (+, -)
checkbox.spaces.multiplicative.operators=Multiplicative operators (*, /, %)
checkbox.spaces.shift.operators=Shift operators (<<, >>, >>>)
checkbox.spaces.around.unary.operator=Unary operators (!, -, +, ++, --)
checkbox.spaces.class.left.brace=Class left brace
checkbox.spaces.method.left.brace=Method left brace
checkbox.spaces.if.left.brace='if' left brace
checkbox.spaces.else.left.brace='else' left brace
checkbox.spaces.while.left.brace='while' left brace
checkbox.spaces.for.left.brace='for' left brace
checkbox.spaces.do.left.brace='do' left brace
checkbox.spaces.switch.left.brace='switch' left brace
checkbox.spaces.try.left.brace='try' left brace
checkbox.spaces.catch.left.brace='catch' left brace
checkbox.spaces.finally.left.brace='finally' left brace
checkbox.spaces.synchronized.left.brace='synchronized' left brace
checkbox.spaces.array.initializer.left.brace=Array initializer left brace
checkbox.spaces.annotation.array.initializer.left.brace=Annotation array initializer left brace
checkbox.spaces.else.keyword='else' keyword
checkbox.spaces.while.keyword='while' keyword
checkbox.spaces.catch.keyword='catch' keyword
checkbox.spaces.finally.keyword='finally' keyword
checkbox.spaces.within.brackets=Brackets
checkbox.spaces.within.braces=Code braces
checkbox.spaces.within.array.initializer.braces=Array initializer braces
checkbox.spaces.within.parentheses=Grouping parentheses
checkbox.spaces.checkbox.spaces.method.call.parentheses=Method call parentheses
checkbox.spaces.checkbox.spaces.empty.method.call.parentheses=Empty method call parentheses
checkbox.spaces.checkbox.spaces.method.declaration.parentheses=Method declaration parentheses
checkbox.spaces.checkbox.spaces.empty.method.declaration.parentheses=Empty method declaration parentheses
checkbox.spaces.type.cast.parentheses=Type cast parentheses
checkbox.spaces.annotation.parentheses=Annotation parentheses
checkbox.spaces.before.question=Before '?'
checkbox.spaces.after.question=After '?'
checkbox.spaces.before.colon=Before ':'
checkbox.spaces.after.colon=After ':'
checkbox.spaces.after.colon.in.label.declaration=After ':' in label declaration
checkbox.spaces.after.comma=After comma
checkbox.spaces.before.comma=Before comma
checkbox.spaces.after.semicolon=After semicolon
checkbox.spaces.before.semicolon=Before semicolon
checkbox.spaces.after.type.cast=After type cast
title.warning=Warning
title.editor=Editor
combobox.strip.modified.lines=Modified Lines
combobox.strip.all=All
combobox.strip.none=None
combobox.insert.imports.all=All
combobox.insert.imports.ask=Ask
combobox.insert.imports.none=None
combobox.paste.reformat.none=None
combobox.paste.reformat.indent.block=Indent Block
combobox.paste.reformat.indent.each.line=Indent Each Line
combobox.paste.reformat.reformat.block=Reformat Block
combobox.tab.placement.none=None
combobox.tab.placement.top=Top
combobox.tab.placement.left=Left
combobox.tab.placement.bottom=Bottom
combobox.tab.placement.right=Right
tab.editor.settings.behavior=Behavior
tab.editor.settings.appearance=Appearance
groupbox.display=Display
checkbox.smooth.scrolling=Smooth scrolling
checkbox.show.whitespaces=Show whitespaces
checkbox.show.all.softwraps=Show all soft wraps
checkbox.show.method.separators=Show method separators
checkbox.show.small.icons.in.gutter=Show icons preview in gutter for small icons (Java)
checkbox.show.line.numbers=Show line numbers
checkbox.right.margin=Show right margin (configured in Code Style options)
checkbox.use.block.caret=Use block caret
checkbox.caret.blinking.ms=Caret blinking (ms):
checkbox.mark.modified.tabs.with.asterisk=Mark modified tabs with asterisk
checkbox.show.tabs.tooltips=Show tabs tooltips
group.code.folding=Code Folding
checkbox.collapse.xml.tags=XML tags
checkbox.collapse.html.style.attribute=HTML 'style' attribute
checkbox.collapse.anonymous.classes=<html>Anonymous classes</html>
checkbox.collapse.closures=<html>"Closures" (anonymous classes implementing one method)</html>
checkbox.collapse.generic.constructor.parameters=<html>Generic constructor and method parameters</html>
checkbox.collapse.i18n.messages=<html>I18n strings</html>
checkbox.collapse.annotations=<html>Annotations</html>
checkbox.collapse.inner.classes=Inner classes
checkbox.collapse.simple.property.accessors=<html>Simple property accessors<html>
checkbox.collapse.one.line.methods=<html>One-line methods<html>
checkbox.collapse.method.bodies=Method bodies
checkbox.collapse.javadoc.comments=Documentation comments
checkbox.collapse.title.imports=Imports
checkbox.collapse.file.header=File header
label.collapse.by.default=Collapse by default:
checkbox.show.code.folding.outline=Show code folding outline
group.tab.appearance=Tab Appearance
editbox.tab.limit=Tab limit:
combobox.editor.tab.placement=Placement:
checkbox.editor.tabs.in.single.row=Show tabs in single row
checkbox.editor.tabs.show.close.button=Show "close" button on editor tabs
checkbox.hide.file.extension.in.editor.tabs=Hide file extension in editor tabs
group.tab.closing.policy=Tab Closing Policy
radio.activate.most.recently.opened.tab=<html>Activate most recently opened tab</html>
radio.activate.left.neighbouring.tab=<html>Activate left neighbouring tab</html>
radio.activate.right.neighbouring.tab=<html>Activate right neighbouring tab</html>
label.when.closing.active.editor=When closing active editor:
radio.close.less.frequently.used.files=Close less frequently used files
radio.close.non.modified.files.first=Close non-modified files first
label.when.number.of.opened.editors.exceeds.tab.limit=<html>When number of opened editors exceeds tab limit:</html>
group.virtual.space=Virtual Space
checkbox.use.soft.wraps.at.editor=Use soft wraps in editor
checkbox.use.soft.wraps.at.console=Use soft wraps in console
checkbox.use.custom.soft.wraps.indent=Use custom soft wraps indent
checkbox.allow.placement.of.caret.after.end.of.line=Allow placement of caret after end of line
checkbox.allow.placement.of.caret.inside.tabs=Allow placement of caret inside tabs
checkbox.show.virtual.space.at.file.bottom=Show virtual space at file bottom
checkbox.optimize.imports.on.the.fly=Optimize imports on the fly
checkbox.add.unambiguous.imports.on.the.fly=Add unambiguous imports on the fly
combobox.strip.trailing.spaces.on.save=Strip trailing spaces on Save:
checkbox.show.quick.doc.on.mouse.over=Show quick doc on mouse over element (ms):
group.limits=Limits
editbox.recent.files.limit=Recent files limit:
editbox.console.history.limit=Console commands history size:
editbox.maximum.number.of.contents.to.keep.in.clipboard=<html>Maximum number of contents to keep  in clipboard:</html>
group.brace.highlighting=Highlight on Caret Movement
checkbox.highlight.matched.brace=Highlight matched brace
checkbox.highlight.current.scope=Highlight current scope
combobox.paste.insert.imports=&Insert imports on paste:
combobox.paste.reformat=Reformat on paste:
group.advanced.mouse.usages=Mouse
checkbox.enable.ctrl.mousewheel.changes.font.size=<html>Change font size (Zoom) with Ctrl+Mouse Wheel</html>
checkbox.enable.ctrl.mousewheel.changes.font.size.macos=<html>Change font size (Zoom) with Command+Mouse Wheel</html>
checkbox.enable.drag.n.drop.functionality.in.editor=<html>Enable Drag'n'Drop functionality in editor</html>
checkbox.honor.camelhumps.words.settings.on.double.click=<html>Honor "CamelHumps" words settings when selecting on<br/>double click</html>
group.smart.keys=Smart Keys
checkbox.use.camelhumps.words=Use "CamelHumps" words
checkbox.insert.pair.quote=Insert pair quote
checkbox.insert.pair.bracket=Insert pair bracket
checkbox.javadoc.stub.after.slash.star.star=Insert documentation comment stub
checkbox.insert.pair.percent.gt.in.jsp=Insert pair '%>' in JSP
checkbox.insert.pair.curly.brace=Insert pair '}'
checkbox.smart.indent=Smart indent
label.smart.enter=Smart Enter:
checkbox.smart.end.on.blank.line=End (on blank line)
checkbox.smart.home=Home
group.error.highlighting=Error highlighting
editbox.autoreparse.delay.ms=Autoreparse delay (ms):
editbox.error.stripe.mark.min.height.pixels=Error stripe mark min height (pixels):
checkbox.suppress.with.suppresswarnings=Suppress with @SuppressWarnings (for Java 5.0 only)
checkbox.next.error.action.goes.to.errors.first='Next Error' action goes to high priority problems only
checkbox.show.import.popup=Show import &popup
checkbox.indent.use.tab.character=Use tab character
checkbox.indent.smart.tabs=Smart tabs
editbox.indent.tab.size=Tab size:
editbox.indent.indent=Indent:
editbox.indent.continuation.indent=Continuation indent:
editbox.indent.label.indent=Label indent:
checkbox.indent.absolute.label.indent=Absolute label indent
checkbox.do.not.indent.top.level.class.members=Do not indent top level class members
checkbox.use.relative.indents=Use indents relative to expression start
tooltip.indent.must.be.multiple.of.tab.size.for.smart.tabs.to.operate=Indent must be multiple of tab size for smart tabs to operate
combobox.crlf.system.dependent=System-Dependent
combobox.crlf.unix=Unix and OS X (\\n)
combobox.crlf.windows=Windows (\\r\\n)
combobox.crlf.mac=Classic Mac (\\r)
group.tabs.and.indents=Tabs and Indents
checkbox.indent.use.same.settings.for.all.file.types=Use default indent options (General)
tab.indent.other=Other
combobox.line.separator.for.new.files=Line separator (for new files):
editbox.right.margin.columns=Right margin (columns):
checkbox.wrap.typing.on.right.margin=Wrap when typing reaches right margin
group.javadoc.other=Other
group.javadoc.invalid.tags=Invalid tags
group.javadoc.blank.lines=Blank lines
group.javadoc.alignment=Alignment
checkbox.enable.javadoc.formatting=Enable JavaDoc formatting
checkbox.align.parameter.descriptions=Align parameter descriptions
checkbox.align.thrown.exception.descriptions=Align thrown exception descriptions
checkbox.after.description=After description
checkbox.after.parameter.descriptions=After parameter descriptions
checkbox.after.return.tag=After return tag
checkbox.keep.invalid.tags=Keep invalid tags
checkbox.keep.empty.param.tags=Keep empty @param tags
checkbox.keep.empty.return.tags=Keep empty @return tags
checkbox.keep.empty.throws.tags=Keep empty @throws tags
checkbox.enable.leading.asterisks=Enable leading asterisks
checkbox.use.throws.rather.than.exception=Use @throws rather than @exception
checkbox.wrap.at.right.margin=Wrap at right margin
checkbox.generate.p.on.empty.lines=Generate "<p/>" on empty lines
checkbox.keep.empty.lines=Keep empty lines
checkbox.do.not.wrap.one.line.comments=Do not wrap one line comments
checkbox.preserve.line.feeds=Preserve line feeds
checkbox.param.description.on.new.line=Parameter descriptions on new line
title.javadoc=JavaDoc
option.table.sizing.text=Chop down if long.
title.choose.code.style.scheme=Choose Code Style Scheme
radio.use.per.project.code.style.scheme=Use per-project code style scheme
radio.use.global.code.style=Use global code style
button.import=Import...
button.export=Export...
button.edit.global.settings=Edit Global Settings...
label.edit.per.project.or.global.code.style=<html><body>Check option above on for per-project code style configuration<br>or use global code style. Global code style settings can be configured<br>in IDE Settings/Global Code Style</body></html>
title.project.code.style=Project\nCode Style
title.code.style.settings.import=Settings Import
title.import.scheme.from=Import From
title.import.scheme.chooser=Import Scheme
import.scheme.shared=Shared Scheme
message.code.style.scheme.already.exists=Scheme {0} already exists. Overwrite settings?
code.style.scheme.import.unnamed=Unnamed
message.code.style.scheme.import.success={0} settings were imported to {1} scheme.
message.code.style.scheme.import.failure={0} import failed with error message: {1}

label.name=Name:
error.scheme.must.have.a.name=Scheme must have a name
error.illegal.scheme.name=Illegal scheme name
error.a.scheme.with.this.name.already.exists.or.was.deleted.without.applying.the.changes=A scheme with this name already exists or was deleted without applying the changes
title.select.font=Select Font
checkbox.show.only.monospaced.fonts=Show only monospaced fonts
primary.font=Primary font:
secondary.font=Secondary font:
editbox.enter.tag.name=Enter tag name:
title.tag.name=Tag Name
title.xml=XML
title.html=HTML
action.add=Add
action.edit=Edit
action.remove=R&emove
checkbox.color.background=Background
checkbox.color.foreground=Foreground
checkbox.color.effects=Effects
checkbox.color.error.stripe.mark=Error Stripe Mark
combobox.effect.bordered=Bordered
combobox.effect.underscored=Underscored
combobox.effect.boldunderscored=Bold Underscored
combobox.effect.underwaved=Underwaved
combobox.effect.strikeout=Strikeout
combobox.effect.bold.dottedline=Dotted Line
checkbox.font.bold=Bold
checkbox.font.italic=Italic
label.font.type=Font type:
label.inherit.attributes=Inherit Attributes From:
title.diff=Diff
title.file.status=File Status
title.scope.based=Scope Based
title.colors.and.fonts=Colors \\& Fonts
progress.analysing.font=Analysing font: {0}
button.edit.scopes=Edit Scopes...
group.editor.font=Editor Font
label.fallback.fonts.list.description=If primary font fails, IDE tries to use the secondary one
quickdoc.tooltip.font.size.by.wheel=Slider or Ctrl+Wheel change font size
label.font.size=Font size:
label.font.name=Name:
editbox.font.size=Size:
editbox.line.spacing=Line spacing:
combobox.scheme.name=Scheme name:
progress.analyzing.fonts=Analyzing Fonts
error.readonly.scheme.cannot.be.modified=Read-only scheme cannot be modified. Please do "Save As..." first.
error.shared.scheme.cannot.be.modified=Shared scheme cannot be modified. Please do "Save As..." first.
title.cannot.modify.readonly.scheme=Cannot Modify Read-Only Scheme
title.save.color.scheme.as=Save Color Scheme As
title.path.variables=Path Variables
editbox.path.macro.value=Value:
editbox.path.macro.name=Name:
button.edit=&Edit
button.edit.dialog=&Edit...
button.add=&Add...
error.variable.already.exists=Variable with name {0} already exists
column.name=Name
column.value=Value
title.add.variable=Add Variable
title.edit.variable=Edit Variable
error.path.variable.is.undefined=Path variable "{0}" is undefined
text.no.path.variables=No path variables
config.import.invalid.directory.error={0} is not a directory!
command.exit=Exit
application.save.settings.error=Could not save application settings: {0}
exit.confirm.title=Confirm Exit
exit.confirm.prompt=Are you sure you want to exit {0}?
exit.confirm.prompt.tasks=You have background tasks running. Are you sure you want to stop them and exit {0}?
exclude.from.completion.group=Exclude from Import and Completion
exclude.from.completion.prompt=Enter the name of the package or class to exclude from auto-import and class name completion:
exclude.from.completion.title=Exclude Package
exclude.from.imports.add=A&dd
exclude.from.imports.no.exclusions=No exclude patterns
inline.elements=Inline elements:
don.t.break.if.inline.content=Don't break if inline content:
edit.code.folding.options=Open code folding options
button.new=&New...
building.include.indices=Building include indices...
loading.include.indices=Loading include indices...
use.external.annotations=Use &external annotations
insert.override.annotation=Insert @&Override annotation
auto.import=Auto Import
checkbox.collapse.suppress.warnings=<html>@SuppressWarnings</html>
checkbox.collapse.end.of.line.comments=<html>End of line comments sequence</html>
title.other.languages=Other Languages
launcher.script.overwrite=The file ''{0}'' already exists. Would you like to overwrite it?
launcher.script.sudo.prompt=Please enter your password to create a launcher script in a ''{0}''
desktop.entry.success=You may now exit {0} and start it from the system menu<br/> \
  (restart a session if a new entry seem not to appear).
desktop.entry.xdg.missing=Unfortunately, xdg-utils seem to be unavailable on your system.
desktop.entry.icon.missing=Unable to locate suitable application icon in ''{0}''.
desktop.entry.script.missing=Unable to locate suitable startup script in ''{0}''.
desktop.entry.checking=Checking...
desktop.entry.preparing=Preparing entry...
desktop.entry.installing=Installing entry...
desktop.entry.sudo.prompt=Please enter your password to create a desktop entry
title.tabs.and.indents=Tabs and Indents

watcher.slow.sync=External file changes sync may be slow
watcher.exe.not.found=Native file watcher executable not found
watcher.exe.not.exe=Native file watcher is not executable: <a href="{0}">{0}</a>
watcher.exe.outdated=Native file watcher executable is outdated
watcher.failed.to.start=File watcher failed to start
watcher.gave.up=File watcher gave up to operate
watcher.non.watchable.project=Project files cannot be watched (are they under network mount?)

arrangement.title.settings.tab=Arrangement
arrangement.text.empty.rule=<empty rule>
arrangement.text.type=Type
arrangement.text.modifier=Modifier
arrangement.text.name=Name
arrangement.order.name=Order
arrangement.action.rule.add.text=Add rule
arrangement.action.rule.add.description=Add new arrangement rule
arrangement.action.rule.remove.text=Remove rule(s)
arrangement.action.rule.remove.description=Remove selected arrangement rule(s)
arrangement.action.rule.edit.text=Edit rule
arrangement.action.rule.edit.description=Edit selected arrangement rule
arrangement.action.rule.move.up.text=Move up
arrangement.action.rule.move.up.description=Move selected arrangement rule(s) up
arrangement.action.rule.move.down.text=Move down
arrangement.action.rule.move.down.description=Move selected arrangement rule(s) down
arrangement.settings.section.groups=Grouping rules
arrangement.settings.section.match=Matching rules
arrangement.settings.groups.property.field=Group property field with corresponding getter/setter
arrangement.settings.groups.dependent.methods=Keep dependent methods together
arrangement.settings.groups.overridden.methods=Keep overridden methods together
arrangement.settings.groups.getters.and.setters.together=Keep getters and setters together
arrangement.settings.order.type.keep=keep order
arrangement.settings.order.type.by.name=order by name
arrangement.settings.order.type.depth.first=depth-first order
arrangement.settings.order.type.breadth.first=breadth-first order
arrangement.settings.text.general.type=Type:
arrangement.settings.text.general.modifier=Modifier:
arrangement.settings.text.general.name=Name:
arrangement.settings.text.general.order=Order:
arrangement.settings.text.general.xml.namespace=Namespace:
arrangement.settings.text.entry.type.xml.tag=tag
arrangement.settings.text.entry.type.xml.attribute=attribute
arrangement.settings.additional.force.combobox.name=Force rearrange:
arrangement.settings.additional.force.rearrange.always=Always
arrangement.settings.additional.force.rearrange.never=Never
arrangement.settings.additional.force.rearrange.according.to.dialog=Use current mode (toggled in the Reformat Code dialog)
arrangement.settings.additional.title=Additional settings



checkbox.spaces.around.lambda.arrow=Lambda arrow
checkbox.spaces.around.method.ref.dbl.colon.arrow=Method reference double colon
settings.code.style.general.formatter.control=Formatter Control
settings.code.style.general.enable.formatter.tags=Enable formatter markers in comments
settings.code.style.general.formatter.off.tag=Formatter off\:
settings.code.style.general.formatter.on.tag=Formatter on\:
settings.code.style.general.formatter.marker.regexp=Regular expressions
settings.code.style.general.formatter.marker.invalid.regexp=Invalid regular expression
settings.code.style.general.formatter.marker.title=Markers
settings.code.style.general.formatter.marker.options.title=Options
import.scheme.chooser.source=From\:
import.scheme.chooser.destination=To\:
checkbox.reformat.on.typing.rbrace=Reformat block on typing '}'
file.status.name.up.to.date=Up to date
file.status.name.deleted=Deleted
file.status.name.modified=Modified
file.status.name.added=Added
file.status.name.merged=Merged
file.status.name.unknown=Unknown
file.status.name.ignored=Ignored
file.status.name.hijacked=Hijacked
file.status.name.switched=Switched
file.status.name.obsolete=Obsolete
file.status.name.merged.with.conflicts=Merged with conflicts
file.status.name.merged.with.both.conflicts=Merged with text and property conflicts
file.status.name.merged.with.property.conflicts=Merged with property conflicts
file.status.name.deleted.from.file.system=Deleted from file system
none.vcs.presentation=<none>
vcs.command.name.add=Add
vcs.command.name.remove=Remove
vcs.command.name.checkin=Check_in
vcs.command.name.checkin.no.mnemonics=Checkin
vcs.command.name.edit=Edit
vcs.command.name.checkout=Checkout
vcs.command.name.status=Status
vcs.command.name.update=Update
history.empty=History is empty
exception.text.unknown.error=Unknown error
exception.text.internal.error.method.should.not.be.called=Should not be called
vcs.revision.name.current=Current
message.text.could.not.load.file.content=Could Not Load File Content
confirmation.text.check.in.with.empty.comment=Check in with empty comment?
confirmation.title.check.in.with.empty.comment=Comment Is Empty
label.commit.comment=&Commit Message
dialog.title.choose.commit.message.from.history=Commit Message History
border.standard.checkin.options.group=Before {0}
border.standard.after.checkin.options.group=After {0}
checkbox.checkin.options.check.files.up.to.date=Check remote status
checkbox.checkin.options.optimize.imports=&Optimize imports
checkbox.checkin.options.reformat.code=&Reformat code
checkbox.checkin.options.rearrange.code=Rearra&nge code
progress.text.searching.for.modified.files=Searching for modified files
button.text.overwrite.modified.file=&Overwrite Modified File
button.text.overwrite.modified.files=&Overwrite Modified Files
message.text.file.locally.modified=File {0} has been locally modified.
message.text.several.files.locally.modified=Some files were locally modified.
update.group.name.updated.from.server=Updated from server
update.group.name.updated=Updated
update.group.name.created=Created
update.group.name.deleted=Deleted
update.group.name.restored=Restored
update.group.name.modified=Modified
update.group.name.skipped=Skipped
update.group.name.merged.with.property.conflicts=Merged with property conflicts
update.group.name.merged.with.tree.conflicts=Merged with tree conflicts
update.group.name.merged.with.conflicts=Merged with conflicts
update.group.name.merged=Merged
update.group.name.not.in.repository=Not in repository
update.group.name.locally.added=Locally added
update.group.name.locally.removed=Locally removed
update.group.name.switched=Switched
status.group.name.changed.on.server=Changed on server
status.group.name.changed=Changed
status.group.name.created=Created
status.group.name.deleted=Deleted
status.group.name.modified=Modified
status.group.name.skipped=Skipped
status.group.name.will.be.restored=Will be restored
status.group.name.will.be.merged.with.property.conflicts=Will be merged with property conflicts
status.group.name.will.be.merged.with.tree.conflicts=Will be merged with tree conflicts
status.group.name.will.be.merged.with.conflicts=Will be merged with conflicts
status.group.name.will.be.merged=Will be merged
status.group.name.not.in.repository=Not in repository
status.group.name.locally.added=Locally added
status.group.name.locally.removed=Locally removed
status.group.name.switched=Switched
border.changes.filter.change.number.filter=Change
border.changes.filter.date.filter=Date
checkbox.show.changes.after.num=&From
checkbox.show.changes.before.num=&To:
checkbox.show.changes.before.date=&Before
checkbox.show.changes.after.date=&After
exception.text.internal.errror.could.not.implement.method=Could not implement
message.text.could.not.load.virtual.file.content=Could not load content for file {0}: {1}
message.title.could.not.load.content=Could Not Load Content
message.text.commit.failed.with.errors.and.warnings=Commit failed with errors and warnings
message.title.commit=Commit
message.text.commit.failed.with.errors=Commit failed with errors
message.text.commit.finished.with.warnings=Commit finished with warnings
message.text.binary.versions.are.identical=Binary versions are identical
message.title.diff=Diff
message.text.binary.versions.are.different=Binary versions are different
diff.title.local=Local
diff.title.local.with.number=Local ({0})
message.title.annotate=Annotate
action.name.checkin.directory={0} Directory
action.name.checkin.file={0} File
action.name.checkin.directories={0} Directories
action.name.checkin.files={0} Files
action.name.commit.project=Comm&it Changes
column.name.revision.list.author=Author
column.name.revisions.list.filter=Date
column.name.revisions.list.branch=Branch
column.name.revision.list.revision=Revision
lookup.title.vcs.file.revisions=File Revisions
border.selected.revision.commit.message=Commit message
loading.file.history.progress=Loading file history
message.title.could.not.load.file.history=Problems while loading file history
diff.content.title.repository.version={0} ( Repository Version )
action.name.file.history=File {0} History
action.name.file.history.dir=Folder {0} History
group.name.version.control=&VCS
message.text.cannot.open.editor=Cannot open text editor for file {0}
message.title.cannot.open.editor=Cannot Open Editor

#configuration
column.info.configure.vcses.directory=Directory
column.name.configure.vcses.vcs=VCS
dialog.title.version.control.configurations=Version Control Configurations
message.text.unable.to.save.settings=Unable to save settings. {0}
message.title.unable.to.save.settings=Unable To Save Settings
label.configure.vcses.available.vcses=Configure available version controls:
border.display.dialog.when.commands.invoked=Display options dialog when these commands are invoked
border.display.dialog.for.files.creation.deletion=Files Creation/Deletion
checkbox.show.clear.read.only.status.dialog=Show "&Clear Read-only Status" Dialog
radio.after.deletion.do.not.remove=Do &not remove
radio.after.deletion.show.options=<html>Show &options before removing<br>from version control</html>
radio.after.deletion.remove.silently=Re&move silently
label.after.deletion.group=When files are deleted with IDEA:
radio.after.creation.do.not.add=&Do not add
radio.after.creation.add.silently=&Add silently
radio.after.creation.show.options=<html>Show options before adding<br>to version control</html>
label.after.creation.=When files are created with IDEA:
checkbox.force.non.empty.messages=Force non-&empty checkin comments
tooltip.text.action.applicable.to.vcses=Applicable to: {0}
version.control.main.configurable.name=Version Control
configuration.tab.name.general.settings=General Settings
configuration.commit.message.margin.title=Commit message right margin
configuration.commit.message.margin.prompt=Commit message right margin (columns):
button.configure=&Configure VCS...
action.name.rollback=Rollback
command.name.rollback.change=Rollback Change
action.name.show.difference=Show Difference
tooltip.text.line.changed=Line {0} changed
tooltip.text.lines.changed=Lines {0}-{1} changed
dialog.title.diff.for.range=Diff for Range
diff.content.title.up.to.date=Base revision
diff.content.title.current.range=Current
settings.filter.update.project.info.by.scope = Filter Update Project information by scope

#file view
action.name.show.files.as.tree=Show as Tree
label.selected.revision.commit.message=Commit Message
column.name.revision.version=Version
column.name.revision.date=Date

#history
action.name.compare=Compare
action.description.compare=Compare versions
message.text.cannot.show.differences=Cannot show differences: {0}
message.title.show.differences=Show Differences
action.name.refresh=Refresh
action.desctiption.refresh=Refresh file history
message.text.cannot.refresh.file.history=Cannot refresh: {0}
message.title.refresh.file.history=Refresh
action.name.compare.with.local=Compare with Local
action.description.compare.with.local=Compare with local version
action.name.get.file.content.from.repository=Get
action.description.get.file.content.from.repository=Get version from repository
acton.name.get.revision=Get Revision
action.name.create.patch.for.selected.revisions=Create Patch...
action.description.create.patch.for.selected.revisions=Creates Patch for selected revision(s)
message.text.cannot.load.version=Cannot load version: {0}
message.title.get.version=Get Version
message.text.cannot.load.revision=Cannot load revision: {0}
message.text.cannot.save.content=Cannot save content: {0}
message.title.get.revision.content=Get Revision Content
action.name.for.file.get.version={0}: Get Version {1}
column.name.revision.list.message=Message
column.name.revision.list.date=Date
checkbox.show.changed.revisions.only=Changes only
dialog.title.history.for.file=History for File {0}
progress.text2.loading.revision=Loading revision {0}
message.text.cannot.load.version.because.of.error=Cannot load version {0}:{1}
message.title.load.version=Load Version
progress.title.loading.contents=Loading Contents
diff.content.title.revision.number=Revision {0}
command.name.open.error.message.view=Open message view
message.text.versions.are.identical=Versions are identical
message.text.binary.versions.differ=Binary versions differ
message.text.cannot.edit.file=Cannot edit file(s): {0}
message.title.edit.files=Edit Files
diff.type.name.modified=Modified
diff.type.name.deleted=Deleted
diff.type.name.added=Added
label.text.when.files.created.with.idea=When files are created with {0}:
label.text.when.files.are.deleted.with.idea=When files are deleted with {0}:
vcs.console.toolwindow.display.name=Console
merge.version.title.local.changes=Local Changes
merge.version.title.merge.result=Merge Result
merge.version.title.last.version=Changes from Server
merge.version.title.last.version.number=Changes from Server (revision {0})
dialog.title.clear.read.only.file.status=Clear Read-Only Status
handle.ro.file.status.type.using.file.system=using file system
handle.ro.file.status.type.using.vcs=using {0}
message.text.file.is.up.to.date=File is up-to-date
message.text.all.files.are.up.to.date=All files are up-to-date
progress.text.synchronizing.files=Synchronizing files...
progress.text.updating.done=Updating done
progress.text.updating.canceled=Update canceled
message.title.vcs.update.errors={0} Errors
toolwindow.title.update.action.info={0} Info
toolwindow.title.update.action.canceled.info={0} Info (Canceled)
update.tree.node.size.statistics={0,choice, 0#no items|1#1 item|2#{0, number} items}
toolwindow.title.update.project=Update Project ({0})
action.name.group.by.packages=Group by Packages
messge.text.cannot.save.settings=Cannot perform operation: {0}
action.name.check.status=Chec_k Status
action.name.check.scope.status=Chec_k {0} Status
action.display.name.check.scope.status=Check {0} Status
action.name.update=_Update
action.display.name.update=Update
action.name.update.scope=_Update {0}
action.display.name.update.scope=Update {0}
action.name.integrate=Inte_grate
action.name.integrate.scope=Inte_grate {0}
action.display.name.integrate.scope=Integrate {0}
update.files.scope.name=Files
update.directory.scope.name=Directory
update.file.scope.name=File
update.directories.scope.name=Directories
update.project.scope.name=Project
dialog.title.changes.browser=Changes Browser
code.smells.error.messages.tab.name=Code Analysis
searching.for.code.smells.processing.file.progress.text=Processing {0}
checking.code.smells.progress.title=Performing Code Analysis
before.commit.files.contain.code.smells.edit.them.confirm.text=Some files contain problems.\n\
   {0,choice, 0#No errors|1#One error|2#{0} errors} and {1,choice, 0#no warnings|1#one warning|2#{1} warnings} found.\n\
   Would you like to review them?
code.smells.review.button=&Review
todo.in.new.review.button=&Review
before.checkin.standard.options.check.smells=Perform code analy&sis
before.checkin.new.todo.check=Check TODO ({0})
before.checkin.new.todo.check.title=Check TODO
history.copy.revision.number=Copy Revision Number

# Changes view
changes.nodetitle.unversioned.files=Unversioned Files
changes.nodetitle.locally.deleted.files=Locally Deleted Files
changes.nodetitle.modified.without.editing=Modified without Checkout
changes.nodetitle.ignored.files=Ignored Files
changes.nodetitle.locked.folders=Locked working copy folders
changes.nodetitle.locked.folders.tooltip=Some folders are locked; VCS operations are not allowed for them. Cleanup should be performed.
changes.nodetitle.logicallt.locked.folders=Explicitly locked files
changes.nodetitle.switched.files=Switched Files
changes.nodetitle.switched.roots=Roots Switches
changes.nodetitle.updating=(updating...)
changes.nodetitle.have.outdated.files=Some files are changed on server
change.nodetitle.change.is.outdated=File is changed on server
changes.nodetitle.changecount=({0,choice, 0#No files|1#1 file|2#{0} files})
changes.nodetitle.directory.changecount=({0,choice, 0#No directories|1#1 directory|2#{0} directories})
changes.nodetitle.directory.file.changecount=({0,choice, 0#No directories|1#1 directory|2#{0} directories} and {1,choice, 0#no files|1#1 file|2#{1} files})
changes.toolwindow.name=Changes
changes.default.changelist.name=Default
changes.update.progress.message=Updating: {0}
changes.action.show.directories.text=Group by Directory
changes.action.show.directories.description=Group changes by directories and modules
changes.action.show.ignored.text=Show Ignored Files
changes.action.show.ignored.description=Show ignored files
changes.dialog.newchangelist.title=New Changelist
changes.dialog.editchangelist.title=Edit Changelist
changes.removechangelist.warning.text=Are you sure want to remove changelist ''{0}''?\nAll changes will be moved to the active changelist.
changes.removechangelist.multiple.warning.text=Are you sure want to remove {0} changelists?\nAll changes will be moved to the active changelist.
changes.removechangelist.warning.title=Delete Changelist
changes.changelist.chooser.existing.changelist=E&xisting Changelist
changes.changelist.chooser.new.changelist=Ne&w Changelist
changes.changelist.chooser.title=Choose Changelist
changes.newchangelist.warning.already.exists.text=Changelist ''{0}'' already exists.
changes.newchangelist.warning.already.exists.title=Wrong Changelist Name
commit.dialog.no.changes.detected.text=No changes detected
commit.dialog.no.changes.detected.title=Nothing to Commit
commit.dialog.title=Commit Changes
commit.dialog.default.commit.operation.name=Comm&it
commit.dialog.include.action.name=Include into commit
commit.dialog.failed.commit.template=Failed commit: {0}
commit.dialog.completed.successfully=Completed successfully
commit.dialog.refresh.files=Synchronizing files...
commit.dialog.rejected.commit.template=Rejected commit: {0}
commit.dialog.changelist.label=Change lis&t:
commit.dialog.changed.files.label=Changed &Files
commit.wait.util.synced.message=Please wait until VCS synchronization is finished.
commit.wait.util.synced.title=Finishing VCS refresh
change.list.manager.wait.lists.synchronization={0}: Local Changes Refresh
commit.wait.util.synched.text=Performing VCS refresh...
edit.changelist.name=&Name:
edit.changelist.description=&Comment:
changes.commit.partial.offer.to.move.text=You have excluded some files from the active changelist when committing.\nWould you like remaining changes to be moved to another changelist?
changes.commit.partial.offer.to.move.title=Partial Commit of Active Changelist
checkbox.changelist.move.offer=Suggest to move uncommitted changes &to another changelist

commit.legend.modified=Modified:
commit.legend.new=New:
commit.legend.deleted=Deleted:

changes.view.dnd.label={0} file(s)
error.executing.commit=Error executing ''{0}'': {1}
changes.action.rollback.title={0} Changes
changes.action.rollback.custom.title={0} Changes
changes.action.rollback.nothing=Nothing to {0}
changes.dialog.editchangelist.error.already.exists=A changelist named ''{0}'' already exists
error.adding.files.prompt=The following problems have occurred when adding the files:
error.adding.files.title=Error adding files
column.name.revision.list.committer=User
column.name.revision.list.number=Number
column.name.revision.list.description=Description
diff.unknown.file.type.prompt=The file ''{0}'' is not of a known file type. Would you like to associate it with a file type?
diff.unknown.file.type.title=Cannot Show Diff
diff.unknown.file.type.associate=Associate
browse.changes.nothing.found=No changes matching criteria found
browse.changes.nothing.found.title=No Changes Found
browse.changes.progress.title=Searching for changes
browse.changes.error.title=Can't Show Changes
browse.changes.error.message=Problem accessing VCS: {0}
button.search.again=Search Again
browse.changes.filter.title=Specify Search Criteria
changes.checkbox.delete.locally.added.files=&Delete local copies of added files
perform.update.from.vcs.in.background=Perform &update from VCS in background
perform.commit.in.bacground=&Perform commit to VCS in background
changes.action.rollback.text=Rollback
changes.action.rollback.description=Rollback changes
changes.action.setdefaultchangelist.text=Set Active Changelist
changes.action.setdefaultchangelist.description=Set changelist to which new changes are placed by default
patch.apply.file.name.field=&Patch file name:
create.patch.commit.action.title=Create Patch
create.patch.error.title=Error creating patch: {0}
patch.apply.dialog.title=Apply Patch
patch.file.type.description=Patch files
patch.summary.changed.files={0} changed {0,choice,1#file|2#files}
patch.summary.new.files={0} new {0,choice,1#file|2#files}
patch.summary.deleted.files={0} deleted {0,choice,1#file|2#files}
patch.load.progress=Loading...
patch.apply.base.directory.field=&Base directory:
patch.apply.strip.leading.directories.field=&Strip leading directories
patch.apply.no.patches.found=Failed to find any patches in the specified file
patch.apply.load.error=Error loading patch file: {0}
patch.apply.load.error.line=Error loading patch file: {0} at line {1}
patch.apply.open.error=Error opening patch file: {0}
patch.apply.conflict.title=Patch Conflict for {0}
patch.apply.conflict.local.version=Local Version
patch.apply.conflict.merged.version=Merge Result
patch.apply.conflict.patched.version=Patched Version
patch.apply.select.title=Select Patch File
patch.apply.select.base.directory.title=Select Base Directory
shelve.changes.action=Shelve Changes
patch.apply.already.applied=All of the changes in the specified patch are already contained in the code
patch.apply.partially.applied=Some of the changes in the specified patch were skipped because they are already contained in the code
patch.apply.success.applied.text=Patch successfully applied
patch.apply.command=apply patch
shelve.changes.delete.confirm=Are you sure you want to delete the shelved changelist named ''{0}''? You will not be able to undo this operation.
shelve.changes.delete.multiple.confirm=Are you sure you want to delete {0} shelved changelists? You will not be able to undo this operation.
shelve.changes.delete.files.from.list=You are going to remove {0} file(s) from shelved changelist. Are you sure?
shelve.changes.delete.files.from.list.title=Remove Files from Shelved Changelist
shelvedChanges.delete.title=Delete Shelved Changelist
create.patch.success.confirmation=Successfully created patch {0}
create.patch.partial.success.confirmation=Successfully created patch {0}. {1} of the selected files {1,choice,1#is|2#are} binary and {1,choice,1#was|2#were} not included in the patch.
patch.apply.error=Failed to apply patch for file {0}: {1}
patch.load.base.revision.error=Failed to load patch base revision for file {0}: {1}
shelve.changes.only.directories=The selected changes affect only directories and no files, so they cannot be shelved
edit.errors=Edit Errors
rollback.modified.without.editing.confirm.single=Would you like to {0} the changes to {1}?
rollback.modified.without.editing.confirm.multiple=Would you like to {0} the changes to {1} selected files?
error.updating.changes=Error updating changes: {0}
ignored.configure.title=Configure Ignored Files
ignored.configure.item.directory=Directory: {0}
ignored.configure.item.file=File: {0}
ignored.configure.item.mask=Mask: {0}
no.ignored.files=No ignored files
ignored.edit.title=Ignore Unversioned Files
ignored.edit.multiple.files=Selected {0} files
ignored.edit.radio.file=Ignore specified &file
ignored.edit.radio.directory=Ignore all files &under
ignored.edit.radio.mask=Ignore all files &matching
browse.changes.content.title=Changes under {0}
browse.changes.no.filter.prompt=You have not specified any filtering criteria. Are you sure you would like to view the entire history of the project?
browse.changes.title=Browse Changes
browse.changes.show.all.button=Show All Changes
browse.changes.show.recent.button=Show Recent Changes
diff.unknown.path.title=Unknown diff
new.changelist.make.active.checkbox=Make this changelist &active
composite.change.provider.include.vcs.checkbox=Include changes from {0}
shelf.tab=Shelf
directory.mapping.remove.title=Edit VCS Directory Mapping
button.configure.ignored.files=Configure &Ignored Files...
directory.mapping.add.title=Add VCS Directory Mapping
unshelve.changelist.chooser.title=Unshelve Changes to Changelist
retrieving.annotations=Loading Annotations
create.patch.all.binary=All of the selected files are binary. Binary files cannot be included in patches. No patch has been created.
multiple.file.merge.title=Files Merged with Conflicts
multiple.file.merge.properties.title=Files Merged with Property Conflicts
multiple.file.merge.accept.yours=Accept &Yours
multiple.file.merge.accept.theirs=Accept &Theirs
multiple.file.merge.merge=&Merge
multiple.file.merge.column.name=Name
multiple.file.merge.request.title=Merge Revisions for {0}
multiple.file.merge.column.type=Type
multiple.file.merge.type.binary=Binary
multiple.file.merge.type.text=Text
multiple.file.merge.loading.progress.title=Loading merge revisions...
unknown.vcs.presentation=<Unknown VCS> ({0})
show.diff.progress.title=Loading content...
show.diff.progress.title.detailed=Loading content for {0}
checkout.open.project.prompt=You have checked out {0} project file:\n{1}\nWould you like to open it?
checkout.open.project.dir.prompt=You have checked out {0} project:\n{1}\nWould you like to open it?
checkout.title=Checkout From Version Control
checkout.create.project.prompt=Would you like to create {0} project for the sources you have checked out to {1}?
checkout.open.directory.prompt=Would you like to open the directory {0}?
new.changelist.duplicate.name.error=A changelist with that name already exists
perform.edit.in.background=Perform Edit/Checkout in background
browse.changes.action=Browse Changes
browse.changes.scope=Changes affecting {0}
rollback.modified.without.checkout.error.tab={0} Modified without Checkout
annotate.action.name=Annotate
annotate.action.description=Annotate file
operation.name.annotate=Annotate
perform.add.remove.in.background=Perform Add/Remove in background
shelve.changes.rename.prompt=Please enter a name for the changelist:
shelve.changes.rename.title=Rename Shelved Changelist
changes.remove.active.prompt=Select the changelist to which the changes should be moved:
changes.remove.active.empty.prompt=Select the changelist to make active:
changes.remove.active.title=Delete Active Changelist
create.patch.loading.content.progress=Loading content revisions
create.patch.reverse.checkbox=&Reverse patch
create.patch.base.revision=&Include base revision text(s) into patch file
create.patch.file.path=&Patch file:
create.patch.encoding=Encoding:
committed.changes.refresh.progress=Refreshing VCS history
cache.settings.dialog.title=VCS History Cache Settings
diff.commit.message.title=Commit Message
button.configure.history.cache=Configure &History Cache...
background.operations.title=Background Operations
changes.browser.details.marker=more...
changelist.details.title=Changelist Details
date.group.title=Date
date.group.today=Today
date.group.last.week=Last Week
user.group.title=User
filter.structure.name=Structure
get.committed.changes.intersecting.prompt=The files in the selected {1, choice, 1#changelist|2#changelists} are also modified in {0} other {0,choice, 1#changelist|2#changelists}.\nChanges to selected files in these changelists will also be downloaded.
get.committed.changes.title=Get Changelist
issue.link.issue.column=Issue
issue.link.link.column=Link
issue.link.add.title=Add Issue Navigation Link
issue.link.edit.title=Edit Issue Navigation Link
issue.link.delete.prompt=Delete selected navigation link?
issue.link.delete.title=Delete Issue Navigation Link
issue.link.no.patterns=No patterns configured
committed.changes.empty.comment=<no comment>
committed.changes.filter.all=All
committed.changes.filter.none=<none>
committed.changes.partial.list=[partial]
update.info.loading.changelists=Loading changelists...
update.info.group.by.changelist=Group by Changelist
incoming.changes.loading.progress=Loading incoming changes
incoming.changes.refresh.progress=Refreshing incoming changes
outdated.version.show.diff.action=Show Diff
outdated.version.update.project.action=Update Project
outdated.version.text=Outdated version. Modified by {0} on {1}: {2}
outdated.version.pretty.date.text=Outdated version. Modified by {0} {1}: {2}
outdated.version.text.deleted=Outdated version. Deleted by {0} {1}: {2}
current.version.text={4}<br/><br/>Current version is {3}.<br/>Modified by {0}<br/>{1}<br/>{2}
committed.changes.filter.title=Filter by
committed.changes.group.title=Group by
committed.changes.regex.title=Regex
changelist.details.committed.format=Committed by {0} {1}
incoming.changes.indicator.tooltip={0} incoming changelists available
column.name.type=Type
change.type.new=New
change.type.deleted=Deleted
change.type.modified=Modified
apply.patch.create.dirs.prompt.header=The patch contains files in the following non-existing directories:\r\n
apply.patch.create.dirs.prompt.footer=Would you like to create the directories?
apply.patch.progress.verifying=Verifying...
apply.patch.summary.title=Summary:
committed.changes.incorrect.regex.message=Regular expression used in the filter is invalid
committed.changes.empty.message=There are no committed changes in the repository
committed.changes.not.loaded.message=Press Refresh button to load repository changes
incoming.changes.not.loaded.message=Press Refresh button to load incoming changes
incoming.changes.empty.message=There are no incoming changes

show.history.action.name.template=Show History _for {0}
show.history.dialog.title.template=History for {0}
action.name.show.history.for.selection=Selection
action.name.show.history.for.class=Class
action.name.show.history.for.field=Field
action.name.show.history.for.method=Method
action.name.show.history.for.function=Function
action.name.show.history.for.tag=Tag
action.name.show.history.for.text=Text
action.name.show.history.for.code.block=Code Block
action.name.show.history.for.statement=Statement
exception.text.file.should.be.directory={0} isn't a directory
vcs.root.remove.prompt=Would you like to remove the VCS root ''{0}'' for the removed module ''{1}''?
vcs.root.remove.title=Remove VCS Root
open.repository.version.text=Open Repository Version
open.repository.version.description=Open editor with selected revision of the file
local.history.update.from.vcs=Update from VCS
action.name.copy.old.text=Copy Old Text
create.changelist.on.failed.commit=Create changelist on failed commit:
commit.failed.confirm.prompt=Would you like to move the files that failed to commit to a separate changelist?
commit.failed.confirm.title=Commit Failed
progress.loading.diff.revisions=Getting revisions content
show.diff.with.local.action.text=Show Diff with Local
show.diff.with.local.action.description=Compare selected revision with the local version of the file
unshelve.changes.dialog.title=Unshelve Changes
ignored.edit.multiple.directories=Selected {0} directories
close.tab.action.name=Close
revert.changes.title=Revert Changes
action.revert.selected.changes.text=Revert Selected Changes
revert.changes.default.name=Revert: {0}
shelved.version.name=Shelved version
local.version.title=Local version
change.file.renamed.from.text=- renamed from {0}
change.file.moved.from.text=- moved from {0}
change.file.copied.from.text=- copied from {0}
change.file.replaced.text=- replaced
change.file.renamed.to.text=- renamed to {0}
change.file.moved.to.text=- moved to {0}
cannot.find.file.to.patch=Cannot find file to patch: {0}
cannot.apply.file.already.exists=Cannot apply patch to file {0}: it already exists.
change.lists.manager.add.unversioned=Add unversioned files
change.lists.manager.move.changes.to.list=Move Changes to List
vcs.shelf.action.restore.text=Restore
vcs.shelf.action.restore.description=Makes selected already unshelved changelist(s) available for unshelve again
delete.all.already.unshelved=Delete All Already Unshelved
delete.all.already.unshelved.confirmation=Do you want to delete all already unshelved changelists?\nThis operation cannot be undone.
highlight.annotation.before.not.selected.text=Show before...
highlight.annotation.before.selected.text=Show before ({0})
highlight.annotation.after.not.selected.text=Show after...
highlight.annotation.after.selected.text=Show after ({0})
highlight.annotation.before.description=Highlights revisions before or equal to selected
highlight.annotation.after.description=Highlights revisions after or equal to selected
action.enable.version.control.integration.text=_Enable Version Control Integration...
dialog.enable.version.control.integration.title=Enable Version Control Integration
dialog.enable.version.control.integration.select.vcs.label.text=Please select version control system\nto make your <Project Root> be under:
dialog.enable.version.control.integration.hint.text=Version Control configuration is available at: 'Settings | Version Control'
confirmation.text.add.file=Do you want to schedule the following file for addition to VCS?\n{0}
confirmation.title.add.file=Schedule for Addition
confirmation.title.add.multiple.files=Select Files to Add to VCS
waiting.changelists.update.for.show.commit.dialog.message=Commit dialog
add.confirmation.label.text=When files are created with {0}:
remove.confirmation.label.text=When files are deleted with {0}:
rolling.back.file=Rolling back {0}
perform.rollback.in.background.option=Perform revert in background
annotation.original.revision.text=Revision: {0}
annotation.switch.to.original.text=Hide merge sources
annotation.switch.to.merged.text=Show merge sources
all.vcs.init.message.text=Initializing VCS...
switch.to.changelist=Switch &to changelist (''{0}'')
move.to.changelist=&Move changes to active changelist (''{0}'')
vcs.config.track.changed.on.server=Check every
vcs.quicklist.popup.title=VCS Operations
vcs.quicklist.pupup.section.local.history=Local History
options.background.processes.title=Background processes
options.background.processes.enable=Enable background processes
options.check.changed.on.server.title="Changed on server" conflicts
revision.changes.not.supported=Current VCS does not support viewing changes by revision
line.annotation.aspect.author=Author
line.annotation.aspect.date=Date
line.annotation.aspect.revision=Revision
annotation.commit.number=Commit number
todo.handler.only.skipped=<html><body>TODO check has skipped {0,choice, 0#|1#one file|2#{0} files}.<br/>\n\
No new, edited, or located in changed fragments TODO items found.</body></html>
todo.handler.only.added=<html><body><b>There {0,choice, 0#|1#was one|2#were {0}} added or edited TODO {0,choice, 0#|1#item|2#items} found.</b><br/>\
{1,choice, 0#|1#One file was skipped.|2#{1} files were skipped.}Would you like to review {0,choice,1#it|2#them}?</body></html>
todo.handler.only.in.changed=<html><body>There {0,choice, 1#was one|2#were {0}} located in changed {0,choice, 1#fragment|2#fragments} TODO {0,choice, 1#item|2#items} found.<br/>\
{1,choice, 0#|1#One file was skipped.|2#{1} files were skipped.}Would you like to review {0,choice,1#it|2#them}?</body></html>
todo.handler.only.both=<html><body><b>There were {0, choice, 1#one|2#{0}} added or edited,</b><br/>\
and {1, choice, 1#one|2#{1}} located in changed {1,choice, 1#fragment|2#fragments} TODO items found.<br/>\
{2,choice, 0#|1#One file was skipped.|2#{2} files were skipped.}Would you like to review them?</body></html>
paths.affected.in.revision=Paths Affected in Revision {0}

#Dir diff
refresh.failed.message=Refresh failed: {0}
file.status.name.up.to.date.immediate.children=Have immediate changed children
file.status.name.up.to.date.recursive.children=Have changed descendants
file.status.name.up.to.date=Up to date
file.status.name.deleted=Deleted
file.status.name.modified=Modified
file.status.name.added=Added
file.status.name.merged=Merged
file.status.name.unknown=Unknown
file.status.name.ignored=Ignored
file.status.name.hijacked=Hijacked
file.status.name.switched=Switched
file.status.name.obsolete=Obsolete
file.status.name.merged.with.conflicts=Merged with conflicts
file.status.name.merged.with.both.conflicts=Merged with text and property conflicts
file.status.name.merged.with.property.conflicts=Merged with property conflicts
file.status.name.deleted.from.file.system=Deleted from file system
none.vcs.presentation=<none>
vcs.command.name.add=Add
vcs.command.name.remove=Remove
vcs.command.name.checkin=Check_in
vcs.command.name.checkin.no.mnemonics=Checkin
vcs.command.name.edit=Edit
vcs.command.name.checkout=Checkout
vcs.command.name.status=Status
vcs.command.name.update=Update
history.empty=History is empty
exception.text.unknown.error=Unknown error
exception.text.internal.error.method.should.not.be.called=Should not be called
vcs.revision.name.current=Current
message.text.could.not.load.file.content=Could Not Load File Content
confirmation.text.check.in.with.empty.comment=Check in with empty comment?
confirmation.title.check.in.with.empty.comment=Comment Is Empty
label.commit.comment=&Commit Message
dialog.title.choose.commit.message.from.history=Commit Message History
border.standard.checkin.options.group=Before {0}
border.standard.after.checkin.options.group=After {0}
checkbox.checkin.options.check.files.up.to.date=Check remote status
checkbox.checkin.options.optimize.imports=&Optimize imports
checkbox.checkin.options.reformat.code=&Reformat code
checkbox.checkin.options.rearrange.code=Rearra&nge code
progress.text.searching.for.modified.files=Searching for modified files
button.text.overwrite.modified.file=&Overwrite Modified File
button.text.overwrite.modified.files=&Overwrite Modified Files
message.text.file.locally.modified=File {0} has been locally modified.
message.text.several.files.locally.modified=Some files were locally modified.
update.group.name.updated.from.server=Updated from server
update.group.name.updated=Updated
update.group.name.created=Created
update.group.name.deleted=Deleted
update.group.name.restored=Restored
update.group.name.modified=Modified
update.group.name.skipped=Skipped
update.group.name.merged.with.property.conflicts=Merged with property conflicts
update.group.name.merged.with.tree.conflicts=Merged with tree conflicts
update.group.name.merged.with.conflicts=Merged with conflicts
update.group.name.merged=Merged
update.group.name.not.in.repository=Not in repository
update.group.name.locally.added=Locally added
update.group.name.locally.removed=Locally removed
update.group.name.switched=Switched
status.group.name.changed.on.server=Changed on server
status.group.name.changed=Changed
status.group.name.created=Created
status.group.name.deleted=Deleted
status.group.name.modified=Modified
status.group.name.skipped=Skipped
status.group.name.will.be.restored=Will be restored
status.group.name.will.be.merged.with.property.conflicts=Will be merged with property conflicts
status.group.name.will.be.merged.with.tree.conflicts=Will be merged with tree conflicts
status.group.name.will.be.merged.with.conflicts=Will be merged with conflicts
status.group.name.will.be.merged=Will be merged
status.group.name.not.in.repository=Not in repository
status.group.name.locally.added=Locally added
status.group.name.locally.removed=Locally removed
status.group.name.switched=Switched
border.changes.filter.change.number.filter=Change
border.changes.filter.date.filter=Date
checkbox.show.changes.after.num=&From
checkbox.show.changes.before.num=&To:
checkbox.show.changes.before.date=&Before
checkbox.show.changes.after.date=&After
exception.text.internal.errror.could.not.implement.method=Could not implement
message.text.could.not.load.virtual.file.content=Could not load content for file {0}: {1}
message.title.could.not.load.content=Could Not Load Content
message.text.commit.failed.with.errors.and.warnings=Commit failed with errors and warnings
message.title.commit=Commit
message.text.commit.failed.with.errors=Commit failed with errors
message.text.commit.finished.with.warnings=Commit finished with warnings
message.text.binary.versions.are.identical=Binary versions are identical
message.title.diff=Diff
message.text.binary.versions.are.different=Binary versions are different
diff.title.local=Local
diff.title.local.with.number=Local ({0})
message.title.annotate=Annotate
action.name.checkin.directory={0} Directory
action.name.checkin.file={0} File
action.name.checkin.directories={0} Directories
action.name.checkin.files={0} Files
action.name.commit.project=Comm&it Changes
column.name.revision.list.author=Author
column.name.revisions.list.filter=Date
column.name.revisions.list.branch=Branch
column.name.revision.list.revision=Revision
lookup.title.vcs.file.revisions=File Revisions
border.selected.revision.commit.message=Commit message
loading.file.history.progress=Loading file history
message.title.could.not.load.file.history=Problems while loading file history
diff.content.title.repository.version={0} ( Repository Version )
action.name.file.history=File {0} History
action.name.file.history.dir=Folder {0} History
group.name.version.control=&VCS
message.text.cannot.open.editor=Cannot open text editor for file {0}
message.title.cannot.open.editor=Cannot Open Editor

#configuration
column.info.configure.vcses.directory=Directory
column.name.configure.vcses.vcs=VCS
dialog.title.version.control.configurations=Version Control Configurations
message.text.unable.to.save.settings=Unable to save settings. {0}
message.title.unable.to.save.settings=Unable To Save Settings
label.configure.vcses.available.vcses=Configure available version controls:
border.display.dialog.when.commands.invoked=Display options dialog when these commands are invoked
border.display.dialog.for.files.creation.deletion=Files Creation/Deletion
checkbox.show.clear.read.only.status.dialog=Show "&Clear Read-only Status" Dialog
radio.after.deletion.do.not.remove=Do &not remove
radio.after.deletion.show.options=<html>Show &options before removing<br>from version control</html>
radio.after.deletion.remove.silently=Re&move silently
label.after.deletion.group=When files are deleted with IDEA:
radio.after.creation.do.not.add=&Do not add
radio.after.creation.add.silently=&Add silently
radio.after.creation.show.options=<html>Show options before adding<br>to version control</html>
label.after.creation.=When files are created with IDEA:
checkbox.force.non.empty.messages=Force non-&empty checkin comments
tooltip.text.action.applicable.to.vcses=Applicable to: {0}
version.control.main.configurable.name=Version Control
configuration.tab.name.general.settings=General Settings
configuration.commit.message.margin.title=Commit message right margin
configuration.commit.message.margin.prompt=Commit message right margin (columns):
button.configure=&Configure VCS...
action.name.rollback=Rollback
command.name.rollback.change=Rollback Change
action.name.show.difference=Show Difference
tooltip.text.line.changed=Line {0} changed
tooltip.text.lines.changed=Lines {0}-{1} changed
dialog.title.diff.for.range=Diff for Range
diff.content.title.up.to.date=Base revision
diff.content.title.current.range=Current
settings.filter.update.project.info.by.scope = Filter Update Project information by scope

#file view
action.name.show.files.as.tree=Show as Tree
label.selected.revision.commit.message=Commit Message
column.name.revision.version=Version
column.name.revision.date=Date

#history
action.name.compare=Compare
action.description.compare=Compare versions
message.text.cannot.show.differences=Cannot show differences: {0}
message.title.show.differences=Show Differences
action.name.refresh=Refresh
action.desctiption.refresh=Refresh file history
message.text.cannot.refresh.file.history=Cannot refresh: {0}
message.title.refresh.file.history=Refresh
action.name.compare.with.local=Compare with Local
action.description.compare.with.local=Compare with local version
action.name.get.file.content.from.repository=Get
action.description.get.file.content.from.repository=Get version from repository
acton.name.get.revision=Get Revision
action.name.create.patch.for.selected.revisions=Create Patch...
action.description.create.patch.for.selected.revisions=Creates Patch for selected revision(s)
message.text.cannot.load.version=Cannot load version: {0}
message.title.get.version=Get Version
message.text.cannot.load.revision=Cannot load revision: {0}
message.text.cannot.save.content=Cannot save content: {0}
message.title.get.revision.content=Get Revision Content
action.name.for.file.get.version={0}: Get Version {1}
column.name.revision.list.message=Message
column.name.revision.list.date=Date
checkbox.show.changed.revisions.only=Changes only
dialog.title.history.for.file=History for File {0}
progress.text2.loading.revision=Loading revision {0}
message.text.cannot.load.version.because.of.error=Cannot load version {0}:{1}
message.title.load.version=Load Version
progress.title.loading.contents=Loading Contents
diff.content.title.revision.number=Revision {0}
command.name.open.error.message.view=Open message view
message.text.versions.are.identical=Versions are identical
message.text.binary.versions.differ=Binary versions differ
message.text.cannot.edit.file=Cannot edit file(s): {0}
message.title.edit.files=Edit Files
diff.type.name.modified=Modified
diff.type.name.deleted=Deleted
diff.type.name.added=Added
label.text.when.files.created.with.idea=When files are created with {0}:
label.text.when.files.are.deleted.with.idea=When files are deleted with {0}:
vcs.console.toolwindow.display.name=Console
merge.version.title.local.changes=Local Changes
merge.version.title.merge.result=Merge Result
merge.version.title.last.version=Changes from Server
merge.version.title.last.version.number=Changes from Server (revision {0})
dialog.title.clear.read.only.file.status=Clear Read-Only Status
handle.ro.file.status.type.using.file.system=using file system
handle.ro.file.status.type.using.vcs=using {0}
message.text.file.is.up.to.date=File is up-to-date
message.text.all.files.are.up.to.date=All files are up-to-date
progress.text.synchronizing.files=Synchronizing files...
progress.text.updating.done=Updating done
progress.text.updating.canceled=Update canceled
message.title.vcs.update.errors={0} Errors
toolwindow.title.update.action.info={0} Info
toolwindow.title.update.action.canceled.info={0} Info (Canceled)
update.tree.node.size.statistics={0,choice, 0#no items|1#1 item|2#{0, number} items}
toolwindow.title.update.project=Update Project ({0})
action.name.group.by.packages=Group by Packages
messge.text.cannot.save.settings=Cannot perform operation: {0}
action.name.check.status=Chec_k Status
action.name.check.scope.status=Chec_k {0} Status
action.display.name.check.scope.status=Check {0} Status
action.name.update=_Update
action.display.name.update=Update
action.name.update.scope=_Update {0}
action.display.name.update.scope=Update {0}
action.name.integrate=Inte_grate
action.name.integrate.scope=Inte_grate {0}
action.display.name.integrate.scope=Integrate {0}
update.files.scope.name=Files
update.directory.scope.name=Directory
update.file.scope.name=File
update.directories.scope.name=Directories
update.project.scope.name=Project
dialog.title.changes.browser=Changes Browser
code.smells.error.messages.tab.name=Code Analysis
searching.for.code.smells.processing.file.progress.text=Processing {0}
checking.code.smells.progress.title=Performing Code Analysis
before.commit.files.contain.code.smells.edit.them.confirm.text=Some files contain problems.\n\
   {0,choice, 0#No errors|1#One error|2#{0} errors} and {1,choice, 0#no warnings|1#one warning|2#{1} warnings} found.\n\
   Would you like to review them?
code.smells.review.button=&Review
todo.in.new.review.button=&Review
before.checkin.standard.options.check.smells=Perform code analy&sis
before.checkin.new.todo.check=Check TODO ({0})
before.checkin.new.todo.check.title=Check TODO
history.copy.revision.number=Copy Revision Number

# Changes view
changes.nodetitle.unversioned.files=Unversioned Files
changes.nodetitle.locally.deleted.files=Locally Deleted Files
changes.nodetitle.modified.without.editing=Modified without Checkout
changes.nodetitle.ignored.files=Ignored Files
changes.nodetitle.locked.folders=Locked working copy folders
changes.nodetitle.locked.folders.tooltip=Some folders are locked; VCS operations are not allowed for them. Cleanup should be performed.
changes.nodetitle.logicallt.locked.folders=Explicitly locked files
changes.nodetitle.switched.files=Switched Files
changes.nodetitle.switched.roots=Roots Switches
changes.nodetitle.updating=(updating...)
changes.nodetitle.have.outdated.files=Some files are changed on server
change.nodetitle.change.is.outdated=File is changed on server
changes.nodetitle.changecount=({0,choice, 0#No files|1#1 file|2#{0} files})
changes.nodetitle.directory.changecount=({0,choice, 0#No directories|1#1 directory|2#{0} directories})
changes.nodetitle.directory.file.changecount=({0,choice, 0#No directories|1#1 directory|2#{0} directories} and {1,choice, 0#no files|1#1 file|2#{1} files})
changes.toolwindow.name=Changes
changes.default.changelist.name=Default
changes.update.progress.message=Updating: {0}
changes.action.show.directories.text=Group by Directory
changes.action.show.directories.description=Group changes by directories and modules
changes.action.show.ignored.text=Show Ignored Files
changes.action.show.ignored.description=Show ignored files
changes.dialog.newchangelist.title=New Changelist
changes.dialog.editchangelist.title=Edit Changelist
changes.removechangelist.warning.text=Are you sure want to remove changelist ''{0}''?\nAll changes will be moved to the active changelist.
changes.removechangelist.multiple.warning.text=Are you sure want to remove {0} changelists?\nAll changes will be moved to the active changelist.
changes.removechangelist.warning.title=Delete Changelist
changes.changelist.chooser.existing.changelist=E&xisting Changelist
changes.changelist.chooser.new.changelist=Ne&w Changelist
changes.changelist.chooser.title=Choose Changelist
changes.newchangelist.warning.already.exists.text=Changelist ''{0}'' already exists.
changes.newchangelist.warning.already.exists.title=Wrong Changelist Name
commit.dialog.no.changes.detected.text=No changes detected
commit.dialog.no.changes.detected.title=Nothing to Commit
commit.dialog.title=Commit Changes
commit.dialog.default.commit.operation.name=Comm&it
commit.dialog.include.action.name=Include into commit
commit.dialog.failed.commit.template=Failed commit: {0}
commit.dialog.completed.successfully=Completed successfully
commit.dialog.refresh.files=Synchronizing files...
commit.dialog.rejected.commit.template=Rejected commit: {0}
commit.dialog.changelist.label=Change lis&t:
commit.dialog.changed.files.label=Changed &Files
commit.wait.util.synced.message=Please wait until VCS synchronization is finished.
commit.wait.util.synced.title=Finishing VCS refresh
change.list.manager.wait.lists.synchronization={0}: Local Changes Refresh
commit.wait.util.synched.text=Performing VCS refresh...
edit.changelist.name=&Name:
edit.changelist.description=&Comment:
changes.commit.partial.offer.to.move.text=You have excluded some files from the active changelist when committing.\nWould you like remaining changes to be moved to another changelist?
changes.commit.partial.offer.to.move.title=Partial Commit of Active Changelist
checkbox.changelist.move.offer=Suggest to move uncommitted changes &to another changelist

commit.legend.modified=Modified:
commit.legend.new=New:
commit.legend.deleted=Deleted:

changes.view.dnd.label={0} file(s)
error.executing.commit=Error executing ''{0}'': {1}
changes.action.rollback.title={0} Changes
changes.action.rollback.custom.title={0} Changes
changes.action.rollback.nothing=Nothing to {0}
changes.dialog.editchangelist.error.already.exists=A changelist named ''{0}'' already exists
error.adding.files.prompt=The following problems have occurred when adding the files:
error.adding.files.title=Error adding files
column.name.revision.list.committer=User
column.name.revision.list.number=Number
column.name.revision.list.description=Description
diff.unknown.file.type.prompt=The file ''{0}'' is not of a known file type. Would you like to associate it with a file type?
diff.unknown.file.type.title=Cannot Show Diff
diff.unknown.file.type.associate=Associate
browse.changes.nothing.found=No changes matching criteria found
browse.changes.nothing.found.title=No Changes Found
browse.changes.progress.title=Searching for changes
browse.changes.error.title=Can't Show Changes
browse.changes.error.message=Problem accessing VCS: {0}
button.search.again=Search Again
browse.changes.filter.title=Specify Search Criteria
changes.checkbox.delete.locally.added.files=&Delete local copies of added files
perform.update.from.vcs.in.background=Perform &update from VCS in background
perform.commit.in.bacground=&Perform commit to VCS in background
changes.action.rollback.text=Rollback
changes.action.rollback.description=Rollback changes
changes.action.setdefaultchangelist.text=Set Active Changelist
changes.action.setdefaultchangelist.description=Set changelist to which new changes are placed by default
patch.apply.file.name.field=&Patch file name:
create.patch.commit.action.title=Create Patch
create.patch.error.title=Error creating patch: {0}
patch.apply.dialog.title=Apply Patch
patch.file.type.description=Patch files
patch.summary.changed.files={0} changed {0,choice,1#file|2#files}
patch.summary.new.files={0} new {0,choice,1#file|2#files}
patch.summary.deleted.files={0} deleted {0,choice,1#file|2#files}
patch.load.progress=Loading...
patch.apply.base.directory.field=&Base directory:
patch.apply.strip.leading.directories.field=&Strip leading directories
patch.apply.no.patches.found=Failed to find any patches in the specified file
patch.apply.load.error=Error loading patch file: {0}
patch.apply.load.error.line=Error loading patch file: {0} at line {1}
patch.apply.open.error=Error opening patch file: {0}
patch.apply.conflict.title=Patch Conflict for {0}
patch.apply.conflict.local.version=Local Version
patch.apply.conflict.merged.version=Merge Result
patch.apply.conflict.patched.version=Patched Version
patch.apply.select.title=Select Patch File
patch.apply.select.base.directory.title=Select Base Directory
shelve.changes.action=Shelve Changes
patch.apply.already.applied=All of the changes in the specified patch are already contained in the code
patch.apply.partially.applied=Some of the changes in the specified patch were skipped because they are already contained in the code
patch.apply.success.applied.text=Patch successfully applied
patch.apply.command=apply patch
shelve.changes.delete.confirm=Are you sure you want to delete the shelved changelist named ''{0}''? You will not be able to undo this operation.
shelve.changes.delete.multiple.confirm=Are you sure you want to delete {0} shelved changelists? You will not be able to undo this operation.
shelve.changes.delete.files.from.list=You are going to remove {0} file(s) from shelved changelist. Are you sure?
shelve.changes.delete.files.from.list.title=Remove Files from Shelved Changelist
shelvedChanges.delete.title=Delete Shelved Changelist
create.patch.success.confirmation=Successfully created patch {0}
create.patch.partial.success.confirmation=Successfully created patch {0}. {1} of the selected files {1,choice,1#is|2#are} binary and {1,choice,1#was|2#were} not included in the patch.
patch.apply.error=Failed to apply patch for file {0}: {1}
patch.load.base.revision.error=Failed to load patch base revision for file {0}: {1}
shelve.changes.only.directories=The selected changes affect only directories and no files, so they cannot be shelved
edit.errors=Edit Errors
rollback.modified.without.editing.confirm.single=Would you like to {0} the changes to {1}?
rollback.modified.without.editing.confirm.multiple=Would you like to {0} the changes to {1} selected files?
error.updating.changes=Error updating changes: {0}
ignored.configure.title=Configure Ignored Files
ignored.configure.item.directory=Directory: {0}
ignored.configure.item.file=File: {0}
ignored.configure.item.mask=Mask: {0}
no.ignored.files=No ignored files
ignored.edit.title=Ignore Unversioned Files
ignored.edit.multiple.files=Selected {0} files
ignored.edit.radio.file=Ignore specified &file
ignored.edit.radio.directory=Ignore all files &under
ignored.edit.radio.mask=Ignore all files &matching
browse.changes.content.title=Changes under {0}
browse.changes.no.filter.prompt=You have not specified any filtering criteria. Are you sure you would like to view the entire history of the project?
browse.changes.title=Browse Changes
browse.changes.show.all.button=Show All Changes
browse.changes.show.recent.button=Show Recent Changes
diff.unknown.path.title=Unknown diff
new.changelist.make.active.checkbox=Make this changelist &active
composite.change.provider.include.vcs.checkbox=Include changes from {0}
shelf.tab=Shelf
directory.mapping.remove.title=Edit VCS Directory Mapping
button.configure.ignored.files=Configure &Ignored Files...
directory.mapping.add.title=Add VCS Directory Mapping
unshelve.changelist.chooser.title=Unshelve Changes to Changelist
retrieving.annotations=Loading Annotations
create.patch.all.binary=All of the selected files are binary. Binary files cannot be included in patches. No patch has been created.
multiple.file.merge.title=Files Merged with Conflicts
multiple.file.merge.properties.title=Files Merged with Property Conflicts
multiple.file.merge.accept.yours=Accept &Yours
multiple.file.merge.accept.theirs=Accept &Theirs
multiple.file.merge.merge=&Merge
multiple.file.merge.column.name=Name
multiple.file.merge.request.title=Merge Revisions for {0}
multiple.file.merge.column.type=Type
multiple.file.merge.type.binary=Binary
multiple.file.merge.type.text=Text
multiple.file.merge.loading.progress.title=Loading merge revisions...
unknown.vcs.presentation=<Unknown VCS> ({0})
show.diff.progress.title=Loading content...
show.diff.progress.title.detailed=Loading content for {0}
checkout.open.project.prompt=You have checked out {0} project file:\n{1}\nWould you like to open it?
checkout.open.project.dir.prompt=You have checked out {0} project:\n{1}\nWould you like to open it?
checkout.title=Checkout From Version Control
checkout.create.project.prompt=Would you like to create {0} project for the sources you have checked out to {1}?
checkout.open.directory.prompt=Would you like to open the directory {0}?
new.changelist.duplicate.name.error=A changelist with that name already exists
perform.edit.in.background=Perform Edit/Checkout in background
browse.changes.action=Browse Changes
browse.changes.scope=Changes affecting {0}
rollback.modified.without.checkout.error.tab={0} Modified without Checkout
annotate.action.name=Annotate
annotate.action.description=Annotate file
operation.name.annotate=Annotate
perform.add.remove.in.background=Perform Add/Remove in background
shelve.changes.rename.prompt=Please enter a name for the changelist:
shelve.changes.rename.title=Rename Shelved Changelist
changes.remove.active.prompt=Select the changelist to which the changes should be moved:
changes.remove.active.empty.prompt=Select the changelist to make active:
changes.remove.active.title=Delete Active Changelist
create.patch.loading.content.progress=Loading content revisions
create.patch.reverse.checkbox=&Reverse patch
create.patch.base.revision=&Include base revision text(s) into patch file
create.patch.file.path=&Patch file:
create.patch.encoding=Encoding:
committed.changes.refresh.progress=Refreshing VCS history
cache.settings.dialog.title=VCS History Cache Settings
diff.commit.message.title=Commit Message
button.configure.history.cache=Configure &History Cache...
background.operations.title=Background Operations
changes.browser.details.marker=more...
changelist.details.title=Changelist Details
date.group.title=Date
date.group.today=Today
date.group.last.week=Last Week
user.group.title=User
filter.structure.name=Structure
get.committed.changes.intersecting.prompt=The files in the selected {1, choice, 1#changelist|2#changelists} are also modified in {0} other {0,choice, 1#changelist|2#changelists}.\nChanges to selected files in these changelists will also be downloaded.
get.committed.changes.title=Get Changelist
issue.link.issue.column=Issue
issue.link.link.column=Link
issue.link.add.title=Add Issue Navigation Link
issue.link.edit.title=Edit Issue Navigation Link
issue.link.delete.prompt=Delete selected navigation link?
issue.link.delete.title=Delete Issue Navigation Link
issue.link.no.patterns=No patterns configured
committed.changes.empty.comment=<no comment>
committed.changes.filter.all=All
committed.changes.filter.none=<none>
committed.changes.partial.list=[partial]
update.info.loading.changelists=Loading changelists...
update.info.group.by.changelist=Group by Changelist
incoming.changes.loading.progress=Loading incoming changes
incoming.changes.refresh.progress=Refreshing incoming changes
outdated.version.show.diff.action=Show Diff
outdated.version.update.project.action=Update Project
outdated.version.text=Outdated version. Modified by {0} on {1}: {2}
outdated.version.pretty.date.text=Outdated version. Modified by {0} {1}: {2}
outdated.version.text.deleted=Outdated version. Deleted by {0} {1}: {2}
current.version.text={4}<br/><br/>Current version is {3}.<br/>Modified by {0}<br/>{1}<br/>{2}
committed.changes.filter.title=Filter by
committed.changes.group.title=Group by
committed.changes.regex.title=Regex
changelist.details.committed.format=Committed by {0} {1}
incoming.changes.indicator.tooltip={0} incoming changelists available
column.name.type=Type
change.type.new=New
change.type.deleted=Deleted
change.type.modified=Modified
apply.patch.create.dirs.prompt.header=The patch contains files in the following non-existing directories:\r\n
apply.patch.create.dirs.prompt.footer=Would you like to create the directories?
apply.patch.progress.verifying=Verifying...
apply.patch.summary.title=Summary:
committed.changes.incorrect.regex.message=Regular expression used in the filter is invalid
committed.changes.empty.message=There are no committed changes in the repository
committed.changes.not.loaded.message=Press Refresh button to load repository changes
incoming.changes.not.loaded.message=Press Refresh button to load incoming changes
incoming.changes.empty.message=There are no incoming changes

show.history.action.name.template=Show History _for {0}
show.history.dialog.title.template=History for {0}
action.name.show.history.for.selection=Selection
action.name.show.history.for.class=Class
action.name.show.history.for.field=Field
action.name.show.history.for.method=Method
action.name.show.history.for.function=Function
action.name.show.history.for.tag=Tag
action.name.show.history.for.text=Text
action.name.show.history.for.code.block=Code Block
action.name.show.history.for.statement=Statement
exception.text.file.should.be.directory={0} isn't a directory
vcs.root.remove.prompt=Would you like to remove the VCS root ''{0}'' for the removed module ''{1}''?
vcs.root.remove.title=Remove VCS Root
open.repository.version.text=Open Repository Version
open.repository.version.description=Open editor with selected revision of the file
local.history.update.from.vcs=Update from VCS
action.name.copy.old.text=Copy Old Text
create.changelist.on.failed.commit=Create changelist on failed commit:
commit.failed.confirm.prompt=Would you like to move the files that failed to commit to a separate changelist?
commit.failed.confirm.title=Commit Failed
progress.loading.diff.revisions=Getting revisions content
show.diff.with.local.action.text=Show Diff with Local
show.diff.with.local.action.description=Compare selected revision with the local version of the file
unshelve.changes.dialog.title=Unshelve Changes
ignored.edit.multiple.directories=Selected {0} directories
close.tab.action.name=Close
revert.changes.title=Revert Changes
action.revert.selected.changes.text=Revert Selected Changes
revert.changes.default.name=Revert: {0}
shelved.version.name=Shelved version
local.version.title=Local version
change.file.renamed.from.text=- renamed from {0}
change.file.moved.from.text=- moved from {0}
change.file.copied.from.text=- copied from {0}
change.file.replaced.text=- replaced
change.file.renamed.to.text=- renamed to {0}
change.file.moved.to.text=- moved to {0}
cannot.find.file.to.patch=Cannot find file to patch: {0}
cannot.apply.file.already.exists=Cannot apply patch to file {0}: it already exists.
change.lists.manager.add.unversioned=Add unversioned files
change.lists.manager.move.changes.to.list=Move Changes to List
vcs.shelf.action.restore.text=Restore
vcs.shelf.action.restore.description=Makes selected already unshelved changelist(s) available for unshelve again
delete.all.already.unshelved=Delete All Already Unshelved
delete.all.already.unshelved.confirmation=Do you want to delete all already unshelved changelists?\nThis operation cannot be undone.
highlight.annotation.before.not.selected.text=Show before...
highlight.annotation.before.selected.text=Show before ({0})
highlight.annotation.after.not.selected.text=Show after...
highlight.annotation.after.selected.text=Show after ({0})
highlight.annotation.before.description=Highlights revisions before or equal to selected
highlight.annotation.after.description=Highlights revisions after or equal to selected
action.enable.version.control.integration.text=_Enable Version Control Integration...
dialog.enable.version.control.integration.title=Enable Version Control Integration
dialog.enable.version.control.integration.select.vcs.label.text=Please select version control system\nto make your <Project Root> be under:
dialog.enable.version.control.integration.hint.text=Version Control configuration is available at: 'Settings | Version Control'
confirmation.text.add.file=Do you want to schedule the following file for addition to VCS?\n{0}
confirmation.title.add.file=Schedule for Addition
confirmation.title.add.multiple.files=Select Files to Add to VCS
waiting.changelists.update.for.show.commit.dialog.message=Commit dialog
add.confirmation.label.text=When files are created with {0}:
remove.confirmation.label.text=When files are deleted with {0}:
rolling.back.file=Rolling back {0}
perform.rollback.in.background.option=Perform revert in background
annotation.original.revision.text=Revision: {0}
annotation.switch.to.original.text=Hide merge sources
annotation.switch.to.merged.text=Show merge sources
all.vcs.init.message.text=Initializing VCS...
switch.to.changelist=Switch &to changelist (''{0}'')
move.to.changelist=&Move changes to active changelist (''{0}'')
vcs.config.track.changed.on.server=Check every
vcs.quicklist.popup.title=VCS Operations
vcs.quicklist.pupup.section.local.history=Local History
options.background.processes.title=Background processes
options.background.processes.enable=Enable background processes
options.check.changed.on.server.title="Changed on server" conflicts
revision.changes.not.supported=Current VCS does not support viewing changes by revision
line.annotation.aspect.author=Author
line.annotation.aspect.date=Date
line.annotation.aspect.revision=Revision
annotation.commit.number=Commit number
todo.handler.only.skipped=<html><body>TODO check has skipped {0,choice, 0#|1#one file|2#{0} files}.<br/>\n\
No new, edited, or located in changed fragments TODO items found.</body></html>
todo.handler.only.added=<html><body><b>There {0,choice, 0#|1#was one|2#were {0}} added or edited TODO {0,choice, 0#|1#item|2#items} found.</b><br/>\
{1,choice, 0#|1#One file was skipped.|2#{1} files were skipped.}Would you like to review {0,choice,1#it|2#them}?</body></html>
todo.handler.only.in.changed=<html><body>There {0,choice, 1#was one|2#were {0}} located in changed {0,choice, 1#fragment|2#fragments} TODO {0,choice, 1#item|2#items} found.<br/>\
{1,choice, 0#|1#One file was skipped.|2#{1} files were skipped.}Would you like to review {0,choice,1#it|2#them}?</body></html>                                                                                      
todo.handler.only.both=<html><body><b>There were {0, choice, 1#one|2#{0}} added or edited,</b><br/>\
and {1, choice, 1#one|2#{1}} located in changed {1,choice, 1#fragment|2#fragments} TODO items found.<br/>\
{2,choice, 0#|1#One file was skipped.|2#{2} files were skipped.}Would you like to review them?</body></html>
paths.affected.in.revision=Paths Affected in Revision {0}

#Dir diff
refresh.failed.message=Refresh failed: {0}
file.status.name.up.to.date.immediate.children=Have immediate changed children
file.status.name.up.to.date.recursive.children=Have changed descendants

