New in 2018.3
+ + \ No newline at end of file diff --git a/resources_en/inspectionDescriptions/RedundantSuppression.html b/resources_en/inspectionDescriptions/RedundantSuppression.html new file mode 100644 index 0000000..8a5136b --- /dev/null +++ b/resources_en/inspectionDescriptions/RedundantSuppression.html @@ -0,0 +1,27 @@ + + +Reports usages of +@SuppressWarning
annotation, or// noinspection
line comment, or/** noinspection */
JavaDoc comment
+ For example:
+
+
+
+
diff --git a/resources_en/inspectionDescriptions/RequiredAttributes.html b/resources_en/inspectionDescriptions/RequiredAttributes.html
index 105f71c..9c5af5d 100644
--- a/resources_en/inspectionDescriptions/RequiredAttributes.html
+++ b/resources_en/inspectionDescriptions/RequiredAttributes.html
@@ -1,6 +1,6 @@
+public class C {
+ // symbol is already private,
+ // but annotation is still around
+ @SuppressWarnings({"WeakerAccess"})
+ private boolean CONST = true;
+ void f() {
+ CONST = false;
+ }
+}
+
+
The elements can be marked by XML comment or documentation tag with text "deprecated".
+
+
\ No newline at end of file
diff --git a/resources_en/intentionDescriptions/CDataToTextIntention/after.xml.template b/resources_en/intentionDescriptions/CDataToTextIntention/after.xml.template
new file mode 100644
index 0000000..8259928
--- /dev/null
+++ b/resources_en/intentionDescriptions/CDataToTextIntention/after.xml.template
@@ -0,0 +1 @@
+
Configuring paths to API docs in project settings might help
-inlay.hints.show.settings=Add Method ''{0}'' to Blacklist...
+inlay.hints.show.settings=Disable Hints for Method ''{0}''
inlay.hints.show.settings.description=Open parameter name hints settings
inlay.hints.blacklist.method=Do not show hints for current method
inlay.hints.blacklist.method.description=Adds current method to parameter name hints blacklist
diff --git a/resources_en/messages/CodeInsightBundle_zh_CN.properties b/resources_en/messages/CodeInsightBundle_zh_CN.properties
index 9e23b1e..a162f1b 100644
--- a/resources_en/messages/CodeInsightBundle_zh_CN.properties
+++ b/resources_en/messages/CodeInsightBundle_zh_CN.properties
@@ -14,6 +14,7 @@ reformat.option.selected.text=\u6240\u9009\u6587\u672c(&S)
reformat.option.all.files.in.directory=\u76ee\u5f55 {0} \u4e2d\u7684\u6240\u6709\u6587\u4ef6(&A)
reformat.option.include.subdirectories=\u5305\u542b\u5b50\u76ee\u5f55(&I)
reformat.option.optimize.imports=\u4f18\u5316\u5bfc\u5165(&O)
+reformat.option.code.cleanup=\u6e05\u7406\u4ee3\u7801(&C)
reformat.option.rearrange.entries=\u91cd\u65b0\u6392\u5e8f\u6761\u76ee(&R)
reformat.option.vcs.changed.region=\u4ec5 VCS \u6539\u53d8\u7684\u6587\u672c(&V)
reformat.progress.file.with.known.name.text=\u91cd\u65b0\u683c\u5f0f\u5316 {0}
@@ -31,6 +32,7 @@ progress.reformat.stage.wrapping.blocks=\u51c6\u5907\u4e2d...
progress.reformat.stage.processing.blocks=\u8ba1\u7b97\u66f4\u6539...
progress.reformat.stage.applying.changes=\u5b58\u50a8\u66f4\u6539...
progress.reformat.stage.expanding.children.indents=\u6269\u5927\u5fc5\u8981\u7684\u5b50\u9879\u7f29\u8fdb
+process.cleanup.code=\u6e05\u7406\u4ee3\u7801...
process.rearrange.code=\u91cd\u65b0\u6392\u5217\u4ee3\u7801...
process.reformat.code=\u91cd\u65b0\u683c\u5f0f\u5316\u4ee3\u7801
process.reformat.code.before.commit=\u63d0\u4ea4\u524d\u91cd\u65b0\u683c\u5f0f\u5316\u4ee3\u7801
@@ -163,9 +165,7 @@ i18nize.dialog.template.link.label=\u7f16\u8f91\u56fd\u9645\u5316\u6a21\u677f
i18nize.dialog.error.property.already.defined.message=\u6587\u4ef6 ''{1}'' \u4e2d\u5df2\u5b58\u5728\u5c5e\u6027 ''{0}''\u3002\u8986\u76d6\u5b83\u7684\u503c\uff1f
i18nize.dialog.error.property.already.defined.title=\u5c5e\u6027\u5df2\u7ecf\u5b58\u5728
intention.split.declaration.family=\u62c6\u5206\u58f0\u660e
-intention.join.declaration.family=\u8fde\u63a5\u58f0\u660e\u548c\u8d4b\u503c
intention.split.declaration.text=\u62c6\u5206\u4e3a\u5206\u5f00\u7684\u58f0\u660e
-intention.join.declaration.text=\u8fde\u63a5\u58f0\u660e\u548c\u8d4b\u503c
intention.split.declaration.assignment.text=\u62c6\u5206\u4e3a\u58f0\u660e\u548c\u8d4b\u503c
intention.split.if.family=\u62c6\u5206 If
intention.split.if.text=\u62c6\u5206\u4e3a2\u4e2a If
@@ -366,6 +366,7 @@ macro.current.package=currentPackage()
macro.decapitalize.string=decapitalize(\u5b57\u7b26\u4e32)
macro.firstWord.string=firstWord(\u5b57\u7b26\u4e32)
macro.undescoresToSpaces.string=underscoresToSpaces(\u5b57\u7b26\u4e32)
+macro.spacesToUnderscores.string=spacesToUnderscores(String)
macro.undescoresToCamelCase.string=underscoresToCamelCase(\u5b57\u7b26\u4e32)
macro.capitalizeAndUnderscore.string=capitalizeAndUnderscore(\u5b57\u7b26\u4e32)
macro.descendant.classes.enum=descendantClassesEnum(\u5b57\u7b26\u4e32)
@@ -426,7 +427,6 @@ livetemplate.description.thr=throw new
livetemplate.description.surround.braces=\u7528{}\u5305\u56f4
livetemplate.description.surround.parens=\u7528 () \u5305\u56f4
livetemplate.description.surround.tag=\u7528
\u5728project settings \u4e2d\u914d\u7f6e API \u6587\u6863\u53ef\u80fd\u4f1a\u6709\u5e2e\u52a9\u3002
-inlay.hints.show.settings=\u5c06\u65b9\u6cd5 ''{0}'' \u6dfb\u52a0\u5230\u9ed1\u540d\u5355...
+inlay.hints.show.settings=Disable Hints for Method ''{0}''
inlay.hints.show.settings.description=\u6253\u5f00\u53c2\u6570\u540d\u79f0\u63d0\u793a\u8bbe\u7f6e
inlay.hints.blacklist.method=\u4e0d\u663e\u793a\u5f53\u524d\u65b9\u6cd5\u7684\u63d0\u793a
inlay.hints.blacklist.method.description=\u5c06\u5f53\u524d\u65b9\u6cd5\u6dfb\u52a0\u5230\u53c2\u6570\u540d\u79f0\u63d0\u793a\u9ed1\u540d\u5355
diff --git a/resources_en/messages/CodeInsightBundle_zh_TW.properties b/resources_en/messages/CodeInsightBundle_zh_TW.properties
index 73dad55..ba70394 100644
--- a/resources_en/messages/CodeInsightBundle_zh_TW.properties
+++ b/resources_en/messages/CodeInsightBundle_zh_TW.properties
@@ -14,6 +14,7 @@ reformat.option.selected.text=\u6240\u9078\u6587\u5b57(&S)
reformat.option.all.files.in.directory=\u76ee\u9304 {0} \u4e2d\u7684\u6240\u6709\u6a94\u6848(&A)
reformat.option.include.subdirectories=\u5305\u542b\u5b50\u76ee\u9304(&I)
reformat.option.optimize.imports=\u6700\u4f73\u5316\u532f\u5165(&O)
+reformat.option.code.cleanup=\u6e05\u7406\u4ee3\u78bc(&C)
reformat.option.rearrange.entries=\u91cd\u65b0\u6392\u5e8f\u9805\u76ee(&R)
reformat.option.vcs.changed.region=\u50c5 VCS \u6539\u8b8a\u7684\u6587\u5b57(&V)
reformat.progress.file.with.known.name.text=\u91cd\u65b0\u683c\u5f0f\u5316 {0}
@@ -31,6 +32,7 @@ progress.reformat.stage.wrapping.blocks=\u6e96\u5099\u4e2d...
progress.reformat.stage.processing.blocks=\u8a08\u7b97\u8b8a\u66f4...
progress.reformat.stage.applying.changes=\u5b58\u5132\u8b8a\u66f4...
progress.reformat.stage.expanding.children.indents=\u64f4\u5927\u5fc5\u8981\u7684\u5b50\u9805\u7e2e\u9032
+process.cleanup.code=\u6e05\u7406\u4ee3\u78bc...
process.rearrange.code=\u91cd\u65b0\u6392\u5217\u4ee3\u78bc...
process.reformat.code=\u91cd\u65b0\u683c\u5f0f\u5316\u4ee3\u78bc
process.reformat.code.before.commit=\u63d0\u4ea4\u524d\u91cd\u65b0\u683c\u5f0f\u5316\u4ee3\u78bc
@@ -163,9 +165,7 @@ i18nize.dialog.template.link.label=\u7de8\u8f2f\u570b\u969b\u5316\u7bc4\u672c
i18nize.dialog.error.property.already.defined.message=\u6a94\u6848 ''{1}'' \u4e2d\u5df2\u5b58\u5728\u5c6c\u6027 ''{0}''\u3002\u8986\u5beb\u5b83\u7684\u503c\uff1f
i18nize.dialog.error.property.already.defined.title=\u5c6c\u6027\u5df2\u7d93\u5b58\u5728
intention.split.declaration.family=\u5206\u5272\u5ba3\u544a
-intention.join.declaration.family=\u9023\u63a5\u5ba3\u544a\u548c\u8ce6\u503c
intention.split.declaration.text=\u5206\u5272\u70ba\u5206\u958b\u7684\u5ba3\u544a
-intention.join.declaration.text=\u9023\u63a5\u5ba3\u544a\u548c\u8ce6\u503c
intention.split.declaration.assignment.text=\u5206\u5272\u70ba\u5ba3\u544a\u548c\u8ce6\u503c
intention.split.if.family=\u5206\u5272 If
intention.split.if.text=\u5206\u5272\u70ba2\u500b If
@@ -366,6 +366,7 @@ macro.current.package=currentPackage()
macro.decapitalize.string=decapitalize(\u5b57\u4e32)
macro.firstWord.string=firstWord(\u5b57\u4e32)
macro.undescoresToSpaces.string=underscoresToSpaces(\u5b57\u4e32)
+macro.spacesToUnderscores.string=spacesToUnderscores(String)
macro.undescoresToCamelCase.string=underscoresToCamelCase(\u5b57\u4e32)
macro.capitalizeAndUnderscore.string=capitalizeAndUnderscore(\u5b57\u4e32)
macro.descendant.classes.enum=descendantClassesEnum(\u5b57\u4e32)
@@ -426,7 +427,6 @@ livetemplate.description.thr=throw new
livetemplate.description.surround.braces=\u7528{}\u5305\u570d
livetemplate.description.surround.parens=\u7528 () \u5305\u570d
livetemplate.description.surround.tag=\u7528
\u5728project settings \u4e2d\u8a2d\u5b9a API \u6587\u4ef6\u53ef\u80fd\u6703\u6709\u8aaa\u660e\u3002
-inlay.hints.show.settings=\u5c07\u65b9\u6cd5 ''{0}'' \u65b0\u589e\u5230\u9ed1\u540d\u55ae...
+inlay.hints.show.settings=Disable Hints for Method ''{0}''
inlay.hints.show.settings.description=\u958b\u555f\u53c3\u6578\u540d\u7a31\u63d0\u793a\u8a2d\u5b9a
inlay.hints.blacklist.method=\u4e0d\u986f\u793a\u76ee\u524d\u65b9\u6cd5\u7684\u63d0\u793a
inlay.hints.blacklist.method.description=\u5c07\u76ee\u524d\u65b9\u6cd5\u65b0\u589e\u5230\u53c3\u6578\u540d\u7a31\u63d0\u793a\u9ed1\u540d\u55ae
diff --git a/resources_en/messages/CommonProfilerBundle.properties b/resources_en/messages/CommonProfilerBundle.properties
new file mode 100644
index 0000000..21268b4
--- /dev/null
+++ b/resources_en/messages/CommonProfilerBundle.properties
@@ -0,0 +1,45 @@
+attach.profiler.action.name=Attach Profiler
+attach.profiler.by.pid.action.name=Attach by PID
+import.profiler.result.action.name=Import Profiler Result
+export.profiler.result.action.name=Export Profiler Result
+stop.profiler.action.name=Stop Profiler
+
+import.profiler.dump.dialog.title=Import Dump As
+
+collecting.processes.task.title=Collecting Processes...
+attach.popup.emptyText=No processes to attach to
+attach.popup.list.title=Attach to
+
+profiler.valid.password.required=Valid sudo password required to start profiler
+profiler.cant.grub.pid=Can't attach profiler. Does the process with pid ''{0}'' exist?
+profiler.is.running.dialog.title=Profiler Is Running
+terminate.profiler.confirmation.text=Do you want to terminate profiler for process ''{0}''?
+
+ui.flamechart.tab=Flame Chart
+ui.calltree.tab=Call Tree
+ui.methods.tab=Methods List
+ui.focus.error=Can't focus on method in {0}
+
+ui.flamechart.help=- To scroll, use the arrow keys or drag with the mouse.\
+
- Navigate to an item with double-click. To go to a parent frame, double-click the bottom grey item.\
+
- To search items, start typing.
+ui.flamechart.help.hide=Hide Notification
+ui.focus.action=Focus on method in {0}
+
+action.copy.frame.text=Copy Frame
+action.copy.frame.description=Copy selected frame name
+action.copy.stack.text=Copy Stack up to Frame
+action.copy.stack.description=Copy stack up to selected frame
+
+sudo.dialog.title=Access Required
+sudo.dialog.note.row=Profiler requires access to the kernel-level API.\nEnter the sudo password to allow this.
+sudo.dialog.remember.tooltip=The password will be stored in keychain between application sessions.
+sudo.dialog.password.label=Sudo password:
+sudo.dialog.invalid.password=Incorrect password
+sudo.dialog.validation.canceled=Validation canceled
+
+sudo.validate.task.title=Validating Sudo Password
+
+attach.task.title=Attaching profiler to process {0}...
+
+cant.start.profiler.kernel.variables.not.configured=Can't start profiler: kernel variables not configured
\ No newline at end of file
diff --git a/resources_en/messages/CommonQuickFixBundle.properties b/resources_en/messages/CommonQuickFixBundle.properties
new file mode 100644
index 0000000..8fdc65c
--- /dev/null
+++ b/resources_en/messages/CommonQuickFixBundle.properties
@@ -0,0 +1,16 @@
+# This bundle contains messages for quick-fixes and intention actions which can be reused across languages.
+# Only abstract messages are allowed here; no language-specific keywords or constructs should be mentioned.
+# E.g. mentioning 'statement' or 'expression' is ok, but mentioning 'while statement' or 'instanceof expression' is not.
+#
+# Every fix name constant in this file should start with "fix.", then verb in infinitive which describes the action.
+# Constants should be grouped by this verb.
+fix.unwrap.statement=Unwrap ''{0}'' statement
+
+fix.remove=Remove ''{0}''
+fix.remove.redundant=Remove redundant ''{0}''
+fix.remove.statement=Remove ''{0}'' statement
+
+fix.replace.with.x=Replace with ''{0}''
+fix.replace.x.with.y=Replace ''{0}'' with ''{1}''
+
+fix.simplify=Simplify
\ No newline at end of file
diff --git a/resources_en/messages/DebuggerBundle.properties b/resources_en/messages/DebuggerBundle.properties
index f3aceaa..69e8e61 100644
--- a/resources_en/messages/DebuggerBundle.properties
+++ b/resources_en/messages/DebuggerBundle.properties
@@ -47,7 +47,7 @@ progress.set.value=Setting value...
action.add.field.watchpoint.text=Add Field Watchpoint
status.process.started=Process started
status.process.terminated=Process terminated
-status.disconnected=Disconnected from the target VM, address: ''{0}'', transport: ''{1}''
+status.disconnected=Disconnected from the target VM, address: {0}
status.stopped.at.cursor=Stopped at cursor
status.line.breakpoint.reached=Breakpoint reached at {0}({1}:{2,number,#})
status.line.breakpoint.reached.full.trace=Breakpoint reached
@@ -66,8 +66,8 @@ status.field.watchpoint.reached.access='{'{0}@{5}'}'.{1} will be accessed at {2}
status.static.field.watchpoint.reached.access={0}.{1} will be accessed at {2}({3}:{4,number,#})
status.field.watchpoint.reached.modification='{'{0}@{7}'}'.{1} will be modified at {4}({5}:{6,number,#}). Current value = ''{2}''. New value = ''{3}''
status.static.field.watchpoint.reached.modification={0}.{1} will be modified at {4}({5}:{6,number,#}). Current value = ''{2}''. New value = ''{3}''
-status.connected=Connected to the target VM, address: ''{0}'', transport: ''{1}''
-status.connect.failed=Failed to establish connection to the target VM, address: ''{0}'', transport: ''{1}''
+status.connected=Connected to the target VM, address: {0}
+status.connect.failed=Failed to establish connection to the target VM, address: {0}
error.debugger.already.listening=Debugger is already listening
transport.name.shared.memory=shared memory
transport.name.socket=socket
@@ -75,6 +75,7 @@ error.debug.connector.not.found=Required connector ''{0}'' not found. Check your
error.no.debug.listen.port=The port to listen at unspecified
error.no.debug.attach.port=The port to attach to unspecified
error.no.shmem.address=Shared memory address unspecified
+error.no.pid=Pid is not specified
debugger.jdi.bootstrap.error={0}. Check your JDK installation.
warning.jdk140.unstable=The debuggee VM version is "1.4.0".\nJ2SDK 1.4.0 documented bugs may cause unstable debugger behavior.\nWe recommend using J2SDK 1.4.0_01 or higher.
title.jdk140.unstable=VM Version Warning
@@ -85,9 +86,9 @@ error.vm.disconnected=VM disconnected. Target virtual machine closed connection
error.unknown.host=Cannot connect to remote process, host is unknown
error.cannot.open.debugger.port=Unable to open debugger port
error.exception.while.connecting=Error connecting to remote process.\nException occurred: {0}\nException message: {1}
-status.waiting.attach=Debugger is waiting for application to start; debug address: ''{0}''; transport: ''{1}''
-status.listening=Listening to the connection, address: ''{0}'', transport: ''{1}''
-status.connecting=Connecting to the target VM, address: ''{0}'', transport: ''{1}''
+status.waiting.attach=Debugger is waiting for application to start; debug address: {0}
+status.listening=Listening to the connection, address: {0}
+status.connecting=Connecting to the target VM, address: {0}
status.app.running=The application is running
status.debug.stopped=Debug stopped
status.waiting.evaluation.result=Waiting until last debugger command completes
@@ -97,6 +98,7 @@ status.step.over=Stepping over
status.run.to.cursor=Run to cursor
status.process.resumed=Process resumed
status.paused.in.another.thread=Paused in another thread
+string.connection=''{0}'', transport: ''{1}''
error.pop.bottom.stackframe=Cannot pop bottom frame
error.pop.stackframe=An error occurred while popping stack frame: {0}
error.class.not.loaded=Class not loaded : {0}
@@ -243,6 +245,7 @@ label.debugger.launching.configurable.socket=&Socket
label.debugger.launching.configurable.shmem=Shared &memory
label.debugger.general.configurable.show.alternative.source=Show alternative source switcher
label.debugger.general.configurable.kill.immediately=Kill the debug process immediately
+label.debugger.general.configurable.always.debug=Start run configurations with the debug agent
label.debugger.general.configurable.skip.synthetic.methods=Ski&p synthetic methods
label.debugger.general.configurable.skip.constructors=Skip &constructors
label.debugger.general.configurable.skip.classLoaders=Skip class l&oaders
@@ -262,6 +265,7 @@ label.threads.view.configurable.show.stack.frames.for.synthetic.methods=Show sta
label.threads.view.configurable.show.thread.groups=Show thread &groups
label.capture.configurable.capture.variables=Capture local variables (may greatly slow down the execution)
label.capture.configurable.debugger.agent=Instrumenting agent (requires debugger restart)
+label.capture.configurable.annotations.configure=Configure annotations...
threads.view.configurable.display.name=Customize Threads View
user.renderers.configurable.display.name=Java Type Renderers
async.stacktraces.configurable.display.name=Async Stack Traces
diff --git a/resources_en/messages/DebuggerBundle_zh_CN.properties b/resources_en/messages/DebuggerBundle_zh_CN.properties
index bea061c..14925a0 100644
--- a/resources_en/messages/DebuggerBundle_zh_CN.properties
+++ b/resources_en/messages/DebuggerBundle_zh_CN.properties
@@ -47,10 +47,10 @@ progress.set.value=\u8bbe\u7f6e\u503c...
action.add.field.watchpoint.text=\u6dfb\u52a0\u5b57\u6bb5\u89c2\u5bdf\u70b9
status.process.started=\u8fdb\u7a0b\u5df2\u542f\u52a8
status.process.terminated=\u8fdb\u7a0b\u5df2\u7ec8\u6b62
-status.disconnected=\u4e0e\u76ee\u6807\u865a\u62df\u673a\u65ad\u5f00\u8fde\u63a5\uff0c\u5730\u5740\uff1a''{0}''\uff0c\u4f20\u8f93\uff1a''{1}''
+status.disconnected=\u4e0e\u76ee\u6807\u865a\u62df\u673a\u65ad\u5f00\u8fde\u63a5\uff0c\u5730\u5740\uff1a {0}
status.stopped.at.cursor=\u505c\u6b62\u5728\u5149\u6807\u4f4d\u7f6e
status.line.breakpoint.reached=\u65ad\u70b9\u5230\u8fbe {0}({1}:{2,number,#})
-status.line.breakpoint.reached.full.trace=Breakpoint reached
+status.line.breakpoint.reached.full.trace=\u5230\u8fbe\u65ad\u70b9
export.threads.stackframe.format=\u5728 {0}({1}:{2,number,#})
status.generic.breakpoint.reached=\u65ad\u70b9\u5230\u8fbe
status.thread.blocked.by=\u8fdb\u884c\u7684\u7ebf\u7a0b {0} \u88ab\u7ebf\u7a0b {1} \u963b\u585e
@@ -66,15 +66,16 @@ status.field.watchpoint.reached.access='{'{0}@{5}'}' .{1} \u5c06\u5728 {2}({3}:{
status.static.field.watchpoint.reached.access={0}.{1} \u5c06\u5728 {2}({3}:{4,number,#}) \u8bbf\u95ee
status.field.watchpoint.reached.modification='{'{0}@{7}'}' .{1} \u5c06\u5728 {4}({5}:{6,number,#}) \u4fee\u6539\u3002\u5f53\u524d\u503c =''{2}''. \u65b0\u7684\u503c =''{3}''
status.static.field.watchpoint.reached.modification={0}.{1} \u5c06\u5728 {4}({5}:{6,number,#}) \u4fee\u6539\u3002\u5f53\u524d\u503c =''{2}''. \u65b0\u7684\u503c =''{3}''
-status.connected=\u8fde\u63a5\u5230\u76ee\u6807\u865a\u62df\u673a\uff0c\u5730\u5740:''{0}''\uff0c\u4f20\u8f93:''{1}''
-status.connect.failed=\u672a\u80fd\u4e0e\u76ee\u6807\u865a\u62df\u673a\u5efa\u7acb\u8fde\u63a5\uff0c\u5730\u5740:''{0}''\uff0c\u4f20\u8f93:''{1}''
+status.connected=\u8fde\u63a5\u5230\u76ee\u6807\u865a\u62df\u673a\uff0c\u5730\u5740: {0}
+status.connect.failed=\u672a\u80fd\u4e0e\u76ee\u6807\u865a\u62df\u673a\u5efa\u7acb\u8fde\u63a5\uff0c\u5730\u5740: {0}
error.debugger.already.listening=\u8c03\u8bd5\u5668\u5df2\u7ecf\u5728\u76d1\u542c
transport.name.shared.memory=\u5171\u4eab\u5185\u5b58
transport.name.socket=socket
-error.debug.connector.not.found=Required connector ''{0}'' not found. Check your JDK installation.
+error.debug.connector.not.found=\u672a\u627e\u5230\u6240\u9700\u7684\u8fde\u63a5\u5668 ''{0}'' \u3002\u68c0\u67e5\u4f60\u7684 JDK \u5b89\u88c5\u3002
error.no.debug.listen.port=\u672a\u6307\u5b9a\u76d1\u542c\u7aef\u53e3
error.no.debug.attach.port=\u672a\u6307\u5b9a\u9644\u52a0\u7aef\u53e3
error.no.shmem.address=\u672a\u6307\u5b9a\u5171\u4eab\u5185\u5b58\u5730\u5740
+error.no.pid=Pid is not specified
debugger.jdi.bootstrap.error={0}\u3002\u68c0\u67e5\u4f60\u7684 JDK \u5b89\u88c5\u3002
warning.jdk140.unstable=\u8c03\u8bd5\u7a0b\u5e8f\u7684\u865a\u62df\u673a\u7248\u672c\u662f \"1.4.0\"\u3002\nJ2SDK 1.4.0\u8bb0\u5f55\u7684\u9519\u8bef\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e0d\u7a33\u5b9a\u7684\u8c03\u8bd5\u5668\u7684\u884c\u4e3a\u3002\n\u6211\u4eec\u5efa\u8bae\u4f7f\u7528 J2SDK 1.4.001\u6216\u66f4\u9ad8\u7684\u7248\u672c\u3002(_0)
title.jdk140.unstable=\u865a\u62df\u673a\u7248\u672c\u8b66\u544a
@@ -85,9 +86,9 @@ error.vm.disconnected=\u865a\u62df\u673a\u65ad\u5f00\u3002\u76ee\u6807\u865a\u62
error.unknown.host=\u4e0d\u80fd\u8fde\u63a5\u8fdc\u7a0b\u8fdb\u7a0b\uff0c\u4e3b\u673a\u672a\u77e5
error.cannot.open.debugger.port=\u65e0\u6cd5\u6253\u5f00\u8c03\u8bd5\u5668\u7aef\u53e3
error.exception.while.connecting=\u8fde\u63a5\u5230\u8fdc\u7a0b\u8fdb\u7a0b\u7684\u9519\u8bef\u3002\n\u5f02\u5e38\u53d1\u751f: {0}\n\u5f02\u5e38\u6d88\u606f: {1}
-status.waiting.attach=\u8c03\u8bd5\u5668\u6b63\u5728\u7b49\u5f85\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8; \u8c03\u8bd5\u5730\u5740\uff1a''{0}''; \u4f20\u8f93\uff1a''{1}''
-status.listening=\u76d1\u542c\u8fde\u63a5\uff0c\u5730\u5740\uff1a''{0}''\uff0c\u4f20\u8f93:''{1}''
-status.connecting=\u8fde\u63a5\u5230\u76ee\u6807\u865a\u62df\u673a\uff0c\u5730\u5740\uff1a''{0}''\uff0c\u4f20\u8f93:''{1}''
+status.waiting.attach=\u8c03\u8bd5\u5668\u6b63\u5728\u7b49\u5f85\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8; \u8c03\u8bd5\u5730\u5740\uff1a {0}
+status.listening=Listening to the connection, address: {0}
+status.connecting=\u8fde\u63a5\u5230\u76ee\u6807\u865a\u62df\u673a\uff0c\u5730\u5740\uff1a {0}
status.app.running=\u5e94\u7528\u6b63\u5728\u8fd0\u884c
status.debug.stopped=\u8c03\u8bd5\u505c\u6b62
status.waiting.evaluation.result=\u7b49\u5f85\u6700\u540e\u4e00\u4e2a\u8c03\u8bd5\u5668\u547d\u4ee4\u5b8c\u6210
@@ -97,6 +98,7 @@ status.step.over=\u6b65\u8fc7
status.run.to.cursor=\u8fd0\u884c\u81f3\u5149\u6807\u5904
status.process.resumed=\u8fdb\u7a0b\u7ee7\u7eed
status.paused.in.another.thread=\u5728\u53e6\u4e00\u4e2a\u7ebf\u7a0b\u4e2d\u6682\u505c
+string.connection=''{0}'', transport: ''{1}''
error.pop.bottom.stackframe=\u4e0d\u80fd\u5f39\u51fa\u5e95\u90e8\u6862
error.pop.stackframe=\u5f39\u51fa\u6862\u65f6\u53d1\u751f\u9519\u8bef\uff1a{0}
error.class.not.loaded=\u7c7b\u672a\u52a0\u8f7d\uff1a{0}
@@ -243,6 +245,7 @@ label.debugger.launching.configurable.socket=Socket(&S)
label.debugger.launching.configurable.shmem=\u5171\u4eab\u5185\u5b58(&m)
label.debugger.general.configurable.show.alternative.source=\u663e\u793a\u53ef\u9009\u8d44\u6e90\u5207\u6362\u5668
label.debugger.general.configurable.kill.immediately=\u7acb\u5373\u505c\u6b62\u8c03\u8bd5\u8fc7\u7a0b
+label.debugger.general.configurable.always.debug=Start run configurations with the debug agent
label.debugger.general.configurable.skip.synthetic.methods=\u8df3\u8fc7 synthetic \u65b9\u6cd5(&p)
label.debugger.general.configurable.skip.constructors=\u8df3\u8fc7\u6784\u9020\u5668(&c)
label.debugger.general.configurable.skip.classLoaders=\u8df3\u8fc7\u7c7b\u52a0\u8f7d\u5668(&o)
@@ -262,6 +265,7 @@ label.threads.view.configurable.show.stack.frames.for.synthetic.methods=\u4e3a s
label.threads.view.configurable.show.thread.groups=\u663e\u793a\u7ebf\u7a0b\u7ec4(&g)
label.capture.configurable.capture.variables=\u6355\u83b7\u5c40\u90e8\u53d8\u91cf(\u53ef\u80fd\u4f1a\u5927\u5927\u51cf\u6162\u6267\u884c\u901f\u5ea6)
label.capture.configurable.debugger.agent=Instrumenting agent(\u9700\u8981\u8c03\u8bd5\u5668\u542f\u52a8)
+label.capture.configurable.annotations.configure=Configure annotations...
threads.view.configurable.display.name=\u81ea\u5b9a\u4e49\u7ebf\u7a0b\u89c6\u56fe
user.renderers.configurable.display.name=Java \u7c7b\u578b\u6e32\u67d3\u5668
async.stacktraces.configurable.display.name=Async Stack Traces
@@ -345,8 +349,8 @@ breakpoint.table.header.column.enabled=\u542f\u7528
breakpoint.table.header.column.name=\u540d\u79f0
default.package.name=
How would you like to open the project?
+prompt.open.project.or.attach=Projects can either be opened in a new window or replace the project in the existing window or be attached to the already opened projects.
How would you like to open the project?
title.new.project=New Project
button.new.frame=New &Window
button.existing.frame=&This Window
@@ -357,6 +362,10 @@ 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.close.all.editors.to.the.right=Close All to the Right
+action.close.all.editors.to.the.left=Close All to the Left
+action.close.all.editors.above=Close All Above
+action.close.all.editors.below=Close All Below
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.
@@ -670,14 +679,16 @@ button.add.d=A&dd...
title.add.todo.filter=Add Filter
button.edit.t=Edi&t...
button.remove.m=Re&move
+label.todo.multiline=Treat indented text on the following lines as part of the same TODO
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.group={0} {0,choice,0#items|1#item|2#items}
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})
+node.todo.items={0} {0, choice, 0#items|1#item|2#items}
+node.todo.more.items=...more...
title.appearance=Appearance
group.window.options=Window Options
checkbox.show.memory.indicator=Show memory indicator
@@ -696,7 +707,7 @@ 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):
+checkbox.override.default.laf.fonts=Use custom font:
label.override.laf.font=Font:
label.font.name=Name:
label.font.size=Size:
@@ -718,12 +729,13 @@ 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
+label.icon.path=&Icon:
+button.edit.action.icon=Edit &Icon...
button.move.up.u=Move &Up
button.move.down.d=Move &Down
-button.add.action.after=Add A&fter...
+button.add.action=Add &Action...
+button.add.group=Add &Group...
+button.add.separator=Add &Separator
title.customizations=Menus and Toolbars
label.choosebyname.no.matches.found=No matches found
label.choosebyname.searching=Searching...
@@ -740,7 +752,7 @@ 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-&&{0} symbols
-checkbox.include.non.project.items=Include non-{0} items
+checkbox.include.non.project.items=Include &non-&&{0} items
prompt.project.wizard.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}\"
@@ -851,6 +863,7 @@ 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.open.tip=&Open...
action.previous.tip=&Previous Tip
action.next.tip=&Next Tip
error.unable.to.read.tip.of.the.day=Unable to read Tip Of The Day ({0}). Make sure {1} is installed properly.
@@ -990,7 +1003,7 @@ 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.downloading.patch.progress=Downloading Patch File
+update.downloading.patch.progress=Downloading Patch Files
update.preparing.patch.progress=Preparing Patch Files
update.cleaning.patch.progress=Cleaning Patch Files
update.downloading.plugins.progress=Downloading Plugin Updates
@@ -1144,7 +1157,6 @@ plugin.manager.incompatible.tooltip=Plugin is incompatible with current {0} inst
#new wizard components
project.new.wizard.project.identification=project
project.new.wizard.module.identification=module
-changelist.todo.title={0} Changelist
hierarchy.scope.test=Test
file.structure.toggle.show.inherited=&Show inherited members
@@ -1153,11 +1165,12 @@ 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 working directory ''{0}'' is not a directory
+run.configuration.invalid.env.name=Illegal environment variable: {0}
+run.configuration.invalid.env.value=Illegal value of environment variable value {0}: {1}
finished.with.exit.code.text.message=Process finished with exit code {0}
# Encodings
@@ -1280,16 +1293,21 @@ warning.use.rest.api=''{0}'' API is requested. Do you trust ''{1}''?
title.use.rest.api=Using REST API
searcheverywhere.allelements.tab.name=All
-searcheverywhere.switch.scope.hint=Tab to switch scope
+searcheverywhere.commands.tab.name=Commands
+searcheverywhere.run.configs.tab.name=Run Configurations
+searcheverywhere.textfield.hint=Type {0} to see commands
searcheverywhere.show.in.find.window.button.name=Open in Find Window
searcheverywhere.found.matches.title=Found matches for pattern ''{0}'' in [{1}]
searcheverywhere.found.targets.title=Unsorted results
searcheverywhere.found.matches.generated.code.title=Found matches for pattern ''{0}'' in [{1}] in generated code
searcheverywhere.history.shortcuts.hint=Press {0} or {1} to navigate through the search history
searcheverywhere.nothing.found.for.contributor=No {0} found.
-searcheverywhere.nothing.found.for.contributor.anywhere=No {0} found anywhere.
+searcheverywhere.nothing.found.for.contributor.anywhere=No {0} found.
searcheverywhere.nothing.found.for.all=Nothing found.
-searcheverywhere.nothing.found.for.all.anywhere=Nothing found anywhere.
+searcheverywhere.nothing.found.for.all.anywhere=Nothing found.
+searcheverywhere.indexing.mode.not.supported=Search in ''{0}'' is not available while {1} is updating indices
+searcheverywhere.runconfigurations.command.run.description=Start Run Configuration in 'Run' mode
+searcheverywhere.runconfigurations.command.debug.description=Start Run Configuration in 'Debug' mode
run.anything.command.empty.list.title=Press ENTER to execute input command
run.anything.console.process.finished=\nProcess finished with exit code {0}.
@@ -1298,7 +1316,7 @@ run.anything.console.error.title=Cannot Run Command
run.anything.run.debug.title=Debug:
run.anything.run.in.context.title=Run in Context:
run.anything.run.in.context.debug.title=Run in Context with Debug:
-run.anything.run.anything.title=Run anything:
+run.anything.run.anything.title=Run Anything
run.anything.group.title.commands=Recent commands
run.anything.group.title.temporary=Temporary configurations
run.anything.group.title.permanent=Permanent configurations
@@ -1321,6 +1339,9 @@ run.anything.run.configurations.group.title=Run configurations
run.anything.help.list.empty.secondary.text=Select command
run.anything.main.list.empty.primary.text=Run command or configuration
run.anything.main.list.empty.secondary.text=Type "?" to see all commands
+run.anything.action.tooltip.text=Run Anything ({0})
+run.anything.hint.initial.text=Press {0} or {1} to navigate through the suggestion list
+run.anything.indexing.mode.not.supported=Run anything is not available while indices are updating
third.party.plugins.privacy.note.title=Third-party Plugins Privacy Note
third.party.plugins.privacy.note.message=Using third-party plugins may involve a plugin vendor processing your personal data.
Please check the plugin vendor\u2019s documentation for details concerning personal data processing.
JetBrains is not responsible for any processing of your personal data by any third-party plugin vendors.
@@ -1338,3 +1359,12 @@ change.memory.usage=High memory usage detected (free {0} of {1} MB)
low.memory.notification.action=Configure
low.memory.notification.title=Low Memory
low.memory.notification.content=The IDE is running low on memory and this might affect performance. Please consider increasing available heap.
+
+plugins.changed.notification.title=Restart needed
+plugins.changed.notification.content=Plugins list changed. Please restart IntelliJ IDEA to activate changes.
+
+plugins.auto.enabled.notification.title=Required plugins are enabled
+plugins.auto.enabled.notification.content={0} and {1} plugins are enabled.
+plugins.auto.disabled.notification.title=Dependent plugins are disabled
+plugins.auto.disabled.notification.content={0} and {1} plugins are disabled.
+plugins.auto.switch.action.name=Undo
\ No newline at end of file
diff --git a/resources_en/messages/IdeBundle_zh_CN.properties b/resources_en/messages/IdeBundle_zh_CN.properties
index 0d6866d..8b21f17 100644
--- a/resources_en/messages/IdeBundle_zh_CN.properties
+++ b/resources_en/messages/IdeBundle_zh_CN.properties
@@ -38,6 +38,7 @@ checkbox.save.files.automatically=\u5982\u679c\u5e94\u7528\u5904\u4e8e\u7a7a\u95
checkbox.save.files.on.frame.deactivation=\u5728\u6846\u67b6\u505c\u7528\u65f6\u4fdd\u5b58\u6587\u4ef6
checkbox.synchronize.files.on.frame.activation=\u5728\u6846\u67b6\u6216\u7f16\u8f91\u5668\u9009\u9879\u5361\u6fc0\u6d3b\u65f6\u540c\u6b65\u6587\u4ef6
checkbox.reopen.last.project.on.startup=Reopen last {0} on startup
+title.accessibility=\u65e0\u969c\u788d
checkbox.support.screen.readers=\u652f\u6301\u5c4f\u5e55\u9605\u8bfb\u5668 (\u9700\u8981\u91cd\u65b0\u542f\u52a8)
group.settings.process.tab.close=\u5173\u95ed\u6b63\u5728\u8fd0\u884c\u8fdb\u7a0b\u7684\u5de5\u5177\u7a97\u53e3
radio.process.close.terminate=\u7ec8\u6b62\u8fdb\u7a0b
@@ -71,6 +72,9 @@ button.remove=\u79fb\u9664(&R)
button.remove.all=\u5168\u90e8\u79fb\u9664(&A)
button.move.up=\u4e0a\u79fb(&U)
button.move.down=\u4e0b\u79fb(&D)
+button.restore.selection=\u6062\u590d {0}
+button.restore.selected.groups=\u6062\u590d\u9009\u5b9a\u7684\u7ec4
+button.restore.all=\u6062\u590d\u6240\u6709\u9ed8\u8ba4\u503c(&l)
column.description=\u63cf\u8ff0
bookmark.file.X.line.Y={0}, \u884c {1}
button.view.source=\u67e5\u770b\u6e90\u4ee3\u7801(&V)
@@ -89,7 +93,7 @@ errortree.information=\u4fe1\u606f:
errortree.error=\u9519\u8bef:
errortree.warning=\u8b66\u544a:
errortree.note=\u5907\u6ce8:
-action.hide.warnings=\u9690\u85cf\u8b66\u544a
+action.show.warnings=\u663e\u793a\u8b66\u544a
action.next.message=\u4e0b\u4e00\u6761\u4fe1\u606f
action.previous.message=\u4e0a\u4e00\u6761\u4fe1\u606f
action.stop=\u505c\u6b62
@@ -246,6 +250,7 @@ select.in.nav.bar = \u5bfc\u822a\u680f
error.adding.module.to.project=\u5c06\u6a21\u5757\u6dfb\u52a0\u5230\u9879\u76ee\u4e2d\u65f6\u51fa\u9519: {0}
title.add.module=\u65b0\u5efa\u6a21\u5757
prompt.open.project.in.new.frame=\u65b0\u9879\u76ee\u53ef\u4ee5\u5728\u65b0\u7a97\u53e3\u4e2d\u6253\u5f00\uff0c\u4e5f\u53ef\u4ee5\u66ff\u6362\u73b0\u6709\u7a97\u53e3\u4e2d\u7684\u9879\u76ee\u3002
\u4f60\u60f3\u5982\u4f55\u6253\u5f00\u9879\u76ee\uff1f
+prompt.open.project.or.attach=Projects can either be opened in a new window or replace the project in the existing window or be attached to the already opened projects.
How would you like to open the project?
title.new.project=\u65b0\u5efa\u9879\u76ee
button.new.frame=\u65b0\u7a97\u53e3(&W)
button.existing.frame=\u5f53\u524d\u7a97\u53e3(&T)
@@ -356,6 +361,10 @@ action.close.all.unmodified.editors.in.tab.group=\u5173\u95ed\u7ec4\u5185\u672a\
action.close.all.unmodified.editors=\u5173\u95ed\u672a\u4fee\u6539\u7684(_U)
action.close.all.unpinned.editors.in.tab.group=\u5173\u95ed\u7ec4\u5185\u6240\u6709\u672a\u56fa\u5b9a\u6807\u7b7e\u9875
action.close.all.unpinned.editors=\u5173\u95ed\u6240\u6709\u672a\u56fa\u5b9a\u7684
+action.close.all.editors.to.the.right=\u53f3\u4fa7\u7684\u5168\u90e8\u5173\u95ed
+action.close.all.editors.to.the.left=\u5de6\u4fa7\u7684\u5168\u90e8\u5173\u95ed
+action.close.all.editors.above=\u4e0a\u9762\u7684\u5168\u90e8\u5173\u95ed
+action.close.all.editors.below=\u4e0b\u9762\u7684\u5168\u90e8\u5173\u95ed
action.copy.path=\u590d\u5236\u8def\u5f84(_O)
action.copy.paths=\u590d\u5236\u8def\u5f84(_O)
message.reference.to.fqn.has.been.copied=''{0}'' \u7684\u5f15\u7528\u5df2\u590d\u5236\u3002
@@ -669,14 +678,16 @@ button.add.d=\u6dfb\u52a0...(&D)
title.add.todo.filter=\u6dfb\u52a0\u7b5b\u9009\u5668
button.edit.t=\u7f16\u8f91...(&T)
button.remove.m=\u79fb\u9664(&M)
+label.todo.multiline=Treat indented text on the following lines as part of the same TODO
label.todo.patterns=\u6a21\u5f0f
text.todo.no.patterns=\u6ca1\u6709\u914d\u7f6e\u6a21\u5f0f
text.todo.no.filters=\u6ca1\u6709\u914d\u7f6e\u8fc7\u6ee4\u5668
-node.todo.group={0}({1} \u4e2a\u9879, \u4f4d\u4e8e {2} \u4e2a\u6587\u4ef6)
+node.todo.group={0} {0,choice,0#items|1#item|2#items}
node.todo.summary=\u627e\u5230 {0} \u6761 TODO \u9879, \u4f4d\u4e8e {1} \u4e2a\u6587\u4ef6
node.todo.no.items.found={0}(\u6ca1\u627e\u5230\u9879)
node.todo.found.items={0}(\u627e\u5230 {1} \u4e2a\u9879)
-node.todo.items={0}({1} \u4e2a\u9879)
+node.todo.items={0} {0, choice, 0#items|1#item|2#items}
+node.todo.more.items=...more...
title.appearance=\u5916\u89c2
group.window.options=\u7a97\u53e3\u9009\u9879
checkbox.show.memory.indicator=\u663e\u793a\u5185\u5b58\u6307\u793a
@@ -695,13 +706,13 @@ label.transparency.ratio=\u6bd4\u4f8b:
label.transparency.delay.ms=\u5ef6\u8fdf (ms):
group.ui.options=UI \u9009\u9879
checkbox.show.icons.in.quick.navigation=\u5728\u5feb\u901f\u5bfc\u822a\u4e2d\u663e\u793a\u56fe\u6807
-checkbox.override.default.laf.fonts=\u8986\u76d6\u9ed8\u8ba4\u5b57\u4f53(\u4e0d\u63a8\u8350):
+checkbox.override.default.laf.fonts=\u4f7f\u7528\u81ea\u5b9a\u4e49\u5b57\u4f53:
label.override.laf.font=\u5b57\u4f53:
label.font.name=\u540d\u79f0:
label.font.size=\u5927\u5c0f:
combobox.look.and.feel=\u4e3b\u9898:
checkboox.cyclic.scrolling.in.lists=\u5728\u5217\u8868\u5faa\u73af\u6eda\u52a8
-checkboox.dark.window.headers=Use dark window headers
+checkboox.dark.window.headers=\u4f7f\u7528\u6df1\u8272\u7a97\u53e3\u6807\u9898
checkbox.position.cursor.on.default.button=\u81ea\u52a8\u5c06\u9f20\u6807\u5149\u6807\u7f6e\u4e8e\u9ed8\u8ba4\u6309\u94ae\u4e0a
checkbox.use.antialiased.font.in.editor=\u4f7f\u7528\u6297\u952f\u9f7f\u5b57\u4f53
checkbox.use.lcd.rendered.font.in.editor=LCD \u6e32\u67d3
@@ -717,12 +728,13 @@ prompt.browse.icon.for.selected.action=\u4e3a\u9009\u4e2d\u7684\u64cd\u4f5c\u630
title.choose.action.icon=\u9009\u62e9\u64cd\u4f5c\u56fe\u6807
action.choose.actions.to.add=\u9009\u62e9\u8981\u6dfb\u52a0\u7684\u64cd\u4f5c
button.set.icon=\u8bbe\u7f6e\u56fe\u6807(&S)
-label.icon.path=\u56fe\u6807\u8def\u5f84:(&I)
-button.edit.action.icon=\u7f16\u8f91\u64cd\u4f5c\u56fe\u6807...(&I)
-button.add.separator=\u6dfb\u52a0\u5206\u9694\u7b26(&S)
+label.icon.path=&Icon:
+button.edit.action.icon=Edit &Icon...
button.move.up.u=\u4e0a\u79fb(&U)
button.move.down.d=\u4e0b\u79fb(&D)
-button.add.action.after=\u5728...\u540e\u6dfb\u52a0...(&F)
+button.add.action=\u6dfb\u52a0\u64cd\u4f5c(&A)...
+button.add.group=\u6dfb\u52a0\u7ec4(&G)...
+button.add.separator=\u6dfb\u52a0\u5206\u9694\u7b26(&S)
title.customizations=\u83dc\u5355\u548c\u5de5\u5177\u680f
label.choosebyname.no.matches.found=\u627e\u4e0d\u5230\u5339\u914d\u9879
label.choosebyname.searching=\u641c\u7d22\u4e2d...
@@ -739,7 +751,7 @@ label.no.files.found=\u627e\u4e0d\u5230\u6587\u4ef6
label.no.actions.found=\u672a\u627e\u5230\u64cd\u4f5c
prompt.gotosymbol.enter.symbol.name=\u8f93\u5165\u7b26\u53f7\u540d\u79f0:
checkbox.include.non.project.symbols=Include &non-&&{0} symbols
-checkbox.include.non.project.items=Include non-{0} items
+checkbox.include.non.project.items=Include &non-&&{0} items
prompt.project.wizard.directory.does.not.exist={0}\"{1}\"\n\u4e0d\u5b58\u5728\u3002\u5b83\u5c06\u7531 {2} \u521b\u5efa\u3002
title.directory.does.not.exist=\u76ee\u5f55\u4e0d\u5b58\u5728
error.failed.to.create.directory=\u65e0\u6cd5\u521b\u5efa\u76ee\u5f55 \"{0}\"
@@ -849,6 +861,7 @@ scope.modified.files=\u66f4\u6539\u7684\u6587\u4ef6
prompt.choose.base.class.of.the.hierarchy=\u9009\u62e9\u5c42\u6b21\u7ed3\u6784\u7684\u57fa\u7c7b\u8fdb\u884c\u641c\u7d22
progress.searching= \u641c\u7d22\u4e2d...
title.tip.of.the.day=\u6bcf\u65e5\u63d0\u793a
+action.open.tip=\u6253\u5f00(&O)...
action.previous.tip=\u4e0a\u4e00\u63d0\u793a(&P)
action.next.tip=\u4e0b\u4e00\u63d0\u793a(&N)
error.unable.to.read.tip.of.the.day=\u65e0\u6cd5\u8bfb\u53d6\u6bcf\u65e5\u63d0\u793a ({0})\u3002\u8bf7\u786e\u4fdd {1} \u5df2\u6b63\u786e\u5b89\u88c5\u3002
@@ -982,7 +995,7 @@ update.plugin.host.url.message=\u4ed3\u5e93 URL:
update.no.update.hosts=\u6ca1\u6709\u914d\u7f6e\u63d2\u4ef6\u5e93
update.edit.plugin.host.title=\u7f16\u8f91\u4ed3\u5e93
update.add.new.plugin.host.title=\u6dfb\u52a0\u4ed3\u5e93
-update.downloading.patch.progress=\u4e0b\u8f7d\u8865\u4e01\u6587\u4ef6
+update.downloading.patch.progress=Downloading Patch Files
update.preparing.patch.progress=\u51c6\u5907\u8865\u4e01\u6587\u4ef6
update.cleaning.patch.progress=\u6e05\u7406\u8865\u4e01\u6587\u4ef6
update.downloading.plugins.progress=\u4e0b\u8f7d\u63d2\u4ef6\u66f4\u65b0
@@ -1133,7 +1146,6 @@ plugin.manager.incompatible.tooltip=\u63d2\u4ef6\u4e0e\u5f53\u524d\u7684 {0} \u5
#new wizard components
project.new.wizard.project.identification=\u9879\u76ee
project.new.wizard.module.identification=\u6a21\u5757
-changelist.todo.title={0} \u66f4\u6539\u5217\u8868
hierarchy.scope.test=\u6d4b\u8bd5
file.structure.toggle.show.inherited=\u663e\u793a\u7ee7\u627f\u7684\u6210\u5458(&S)
@@ -1142,11 +1154,12 @@ checkbox.show.icons.in.menu.items=\u5728\u83dc\u5355\u9879\u4e2d\u663e\u793a\u56
custom.icon.validation.message=\u56fe\u6807\u592a\u5927\uff0c\u65e0\u6cd5\u663e\u793a\u5728\u83dc\u5355\u4e2d
custom.icon.validation.title=\u56fe\u6807\u5927\u5c0f\u65e0\u6548
-# Moved from ExecutionBundle
run.canceled.by.user.message=\u8fd0\u884c\u88ab\u7528\u6237\u53d6\u6d88
run.configuration.error.executable.not.specified=\u53ef\u6267\u884c\u6587\u4ef6\u672a\u6307\u5b9a
run.configuration.error.working.directory.does.not.exist=\u65e0\u6cd5\u542f\u52a8\u8fdb\u7a0b\uff0c\u5de5\u4f5c\u76ee\u5f55 ''{0}'' \u4e0d\u5b58\u5728
run.configuration.error.working.directory.not.directory=\u65e0\u6cd5\u542f\u52a8\u8fdb\u7a0b\uff0c\u5de5\u4f5c\u76ee\u5f55 ''{0}'' \u4e0d\u662f\u76ee\u5f55
+run.configuration.invalid.env.name=Illegal environment variable: {0}
+run.configuration.invalid.env.value=Illegal value of environment variable value {0}: {1}
finished.with.exit.code.text.message=\u8fdb\u7a0b\u5b8c\u6210\uff0c\u9000\u51fa\u7801 {0}
# Encodings
@@ -1262,16 +1275,21 @@ warning.use.rest.api=\u8bf7\u6c42 ''{0}'' API \u3002\u4f60\u4fe1\u4efb ''{1}'' \
title.use.rest.api=\u4f7f\u7528 REST API
searcheverywhere.allelements.tab.name=All
-searcheverywhere.switch.scope.hint=Tab to switch scope
+searcheverywhere.commands.tab.name=Commands
+searcheverywhere.run.configs.tab.name=\u8fd0\u884c\u914d\u7f6e
+searcheverywhere.textfield.hint=Type {0} to see commands
searcheverywhere.show.in.find.window.button.name=Open in Find Window
searcheverywhere.found.matches.title=Found matches for pattern ''{0}'' in [{1}]
searcheverywhere.found.targets.title=Unsorted results
searcheverywhere.found.matches.generated.code.title=Found matches for pattern ''{0}'' in [{1}] in generated code
searcheverywhere.history.shortcuts.hint=Press {0} or {1} to navigate through the search history
searcheverywhere.nothing.found.for.contributor=No {0} found.
-searcheverywhere.nothing.found.for.contributor.anywhere=No {0} found anywhere.
+searcheverywhere.nothing.found.for.contributor.anywhere=No {0} found.
searcheverywhere.nothing.found.for.all=Nothing found.
-searcheverywhere.nothing.found.for.all.anywhere=Nothing found anywhere.
+searcheverywhere.nothing.found.for.all.anywhere=Nothing found.
+searcheverywhere.indexing.mode.not.supported=Search in ''{0}'' is not available while {1} is updating indices
+searcheverywhere.runconfigurations.command.run.description=Start Run Configuration in 'Run' mode
+searcheverywhere.runconfigurations.command.debug.description=Start Run Configuration in 'Debug' mode
run.anything.command.empty.list.title=Press ENTER to execute input command
run.anything.console.process.finished=\nProcess finished with exit code {0}.
@@ -1280,7 +1298,7 @@ run.anything.console.error.title=Cannot Run Command
run.anything.run.debug.title=Debug:
run.anything.run.in.context.title=Run in Context:
run.anything.run.in.context.debug.title=Run in Context with Debug:
-run.anything.run.anything.title=Run anything:
+run.anything.run.anything.title=Run Anything
run.anything.group.title.commands=Recent commands
run.anything.group.title.temporary=Temporary configurations
run.anything.group.title.permanent=Permanent configurations
@@ -1296,13 +1314,16 @@ run.anything.recent.group.title=\u6700\u8fd1\u7684
run.anything.recent.project.help.group.title=\u6700\u8fd1\u7684\u9879\u76ee
run.anything.recent.project.completion.group.title=\u6700\u8fd1\u7684\u9879\u76ee
run.anything.recent.project.command.placeholder=\u6253\u5f00
Please check the plugin vendor\u2019s documentation for details concerning personal data processing.
JetBrains is not responsible for any processing of your personal data by any third-party plugin vendors.
@@ -1320,3 +1341,12 @@ change.memory.usage=High memory usage detected (free {0} of {1} MB)
low.memory.notification.action=\u914d\u7f6e
low.memory.notification.title=\u5185\u5b58\u4e0d\u8db3
low.memory.notification.content=IDE\u5185\u5b58\u4e0d\u8db3\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5f71\u54cd\u6027\u80fd\u3002\u8bf7\u8003\u8651\u589e\u52a0\u53ef\u7528\u5806\u3002
+
+plugins.changed.notification.title=\u9700\u8981\u91cd\u65b0\u542f\u52a8
+plugins.changed.notification.content=\u63d2\u4ef6\u5217\u8868\u5df2\u66f4\u65b0\uff0c\u8bf7\u91cd\u542fIntelliJ IDEA\u6fc0\u6d3b\u4fee\u6539\u3002
+
+plugins.auto.enabled.notification.title=\u542f\u7528\u4e86\u6240\u9700\u7684\u63d2\u4ef6
+plugins.auto.enabled.notification.content={0} and {1} plugins are enabled.
+plugins.auto.disabled.notification.title=Dependent plugins are disabled
+plugins.auto.disabled.notification.content={0} and {1} plugins are disabled.
+plugins.auto.switch.action.name=\u64a4\u6d88
\ No newline at end of file
diff --git a/resources_en/messages/IdeBundle_zh_TW.properties b/resources_en/messages/IdeBundle_zh_TW.properties
index efaac9a..df41d72 100644
--- a/resources_en/messages/IdeBundle_zh_TW.properties
+++ b/resources_en/messages/IdeBundle_zh_TW.properties
@@ -38,6 +38,7 @@ checkbox.save.files.automatically=\u5982\u679c\u5957\u7528\u8655\u65bc\u7a7a\u95
checkbox.save.files.on.frame.deactivation=\u5728\u65b9\u584a\u67b6\u505c\u7528\u6642\u5132\u5b58\u6a94\u6848
checkbox.synchronize.files.on.frame.activation=\u5728\u65b9\u584a\u67b6\u6216\u7de8\u8f2f\u5668\u9078\u9805\u5361\u555f\u7528\u6642\u540c\u6b65\u6a94\u6848
checkbox.reopen.last.project.on.startup=\u5728\u555f\u52d5\u6642\u91cd\u65b0\u958b\u555f\u6700\u5f8c\u7684{0}
+title.accessibility=\u7121\u969c\u7919
checkbox.support.screen.readers=\u652f\u63f4\u5c4f\u5e55\u95b1\u8b80\u5668 (\u9700\u8981\u91cd\u65b0\u555f\u52d5)
group.settings.process.tab.close=\u95dc\u9589\u6b63\u5728\u57f7\u884c\u9032\u7a0b\u7684\u5de5\u5177\u8996\u7a97
radio.process.close.terminate=\u7d42\u6b62\u9032\u7a0b
@@ -71,6 +72,9 @@ button.remove=\u79fb\u9664(&R)
button.remove.all=\u5168\u90e8\u79fb\u9664(&A)
button.move.up=\u4e0a\u79fb(&U)
button.move.down=\u4e0b\u79fb(&D)
+button.restore.selection=\u6062\u5fa9 {0}
+button.restore.selected.groups=\u6062\u5fa9\u9078\u64c7\u7684\u7d44
+button.restore.all=\u6062\u5fa9\u6240\u6709\u9810\u8a2d\u503c(&l)
column.description=\u63cf\u8ff0
bookmark.file.X.line.Y={0}, \u884c {1}
button.view.source=\u6aa2\u8996\u6e90\u4ee3\u78bc(&V)
@@ -89,7 +93,7 @@ errortree.information=\u8a0a\u606f:
errortree.error=\u932f\u8aa4:
errortree.warning=\u8b66\u544a:
errortree.note=\u5099\u8a3b:
-action.hide.warnings=\u96b1\u85cf\u8b66\u544a
+action.show.warnings=\u986f\u793a\u8b66\u544a
action.next.message=\u4e0b\u4e00\u689d\u8a0a\u606f
action.previous.message=\u4e0a\u4e00\u689d\u8a0a\u606f
action.stop=\u505c\u6b62
@@ -246,6 +250,7 @@ select.in.nav.bar = \u5c0e\u822a\u5217
error.adding.module.to.project=\u5c07\u6a21\u7d44\u65b0\u589e\u5230\u9805\u76ee\u4e2d\u6642\u932f\u8aa4: {0}
title.add.module=\u65b0\u589e\u6a21\u7d44
prompt.open.project.in.new.frame=\u65b0\u9805\u76ee\u53ef\u4ee5\u5728\u65b0\u8996\u7a97\u4e2d\u958b\u555f\uff0c\u4e5f\u53ef\u4ee5\u53d6\u4ee3\u73fe\u6709\u8996\u7a97\u4e2d\u7684\u9805\u76ee\u3002
\u4f60\u60f3\u5982\u4f55\u958b\u555f\u9805\u76ee\uff1f
+prompt.open.project.or.attach=Projects can either be opened in a new window or replace the project in the existing window or be attached to the already opened projects.
How would you like to open the project?
title.new.project=\u65b0\u589e\u9805\u76ee
button.new.frame=\u65b0\u8996\u7a97(&W)
button.existing.frame=\u76ee\u524d\u8996\u7a97(&T)
@@ -356,6 +361,10 @@ action.close.all.unmodified.editors.in.tab.group=\u95dc\u9589\u7d44\u5167\u672a\
action.close.all.unmodified.editors=\u95dc\u9589\u672a\u4fee\u6539\u7684(_U)
action.close.all.unpinned.editors.in.tab.group=\u95dc\u9589\u7d44\u5167\u6240\u6709\u672a\u56fa\u5b9a\u6a19\u7c64\u9801
action.close.all.unpinned.editors=\u95dc\u9589\u6240\u6709\u672a\u56fa\u5b9a\u7684
+action.close.all.editors.to.the.right=\u53f3\u5074\u7684\u5168\u90e8\u95dc\u9589
+action.close.all.editors.to.the.left=\u5de6\u5074\u7684\u5168\u90e8\u95dc\u9589
+action.close.all.editors.above=\u4e0a\u9762\u7684\u5168\u90e8\u95dc\u9589
+action.close.all.editors.below=\u4e0b\u9762\u7684\u5168\u90e8\u95dc\u9589
action.copy.path=\u8907\u88fd\u8def\u5f91(_O)
action.copy.paths=\u8907\u88fd\u8def\u5f91(_O)
message.reference.to.fqn.has.been.copied=''{0}'' \u7684\u53c3\u7167\u5df2\u8907\u88fd\u3002
@@ -669,14 +678,16 @@ button.add.d=\u65b0\u589e...(&D)
title.add.todo.filter=\u65b0\u589e\u7be9\u9078\u5668
button.edit.t=\u7de8\u8f2f...(&T)
button.remove.m=\u79fb\u9664(&M)
+label.todo.multiline=Treat indented text on the following lines as part of the same TODO
label.todo.patterns=\u6a21\u5f0f
text.todo.no.patterns=\u6c92\u6709\u8a2d\u5b9a\u6a21\u5f0f
text.todo.no.filters=\u6c92\u6709\u8a2d\u5b9a\u904e\u6ffe\u5668
-node.todo.group={0}({1} \u500b\u9805, \u4f4d\u65bc {2} \u500b\u6a94\u6848)
+node.todo.group={0} {0,choice,0#items|1#item|2#items}
node.todo.summary=\u627e\u5230 {0} \u689d TODO \u9805, \u4f4d\u65bc {1} \u500b\u6a94\u6848
node.todo.no.items.found={0}(\u6c92\u627e\u5230\u9805)
node.todo.found.items={0}(\u627e\u5230 {1} \u500b\u9805)
-node.todo.items={0}({1} \u500b\u9805)
+node.todo.items={0} {0, choice, 0#items|1#item|2#items}
+node.todo.more.items=...more...
title.appearance=\u5916\u89c0
group.window.options=\u8996\u7a97\u9078\u9805
checkbox.show.memory.indicator=\u986f\u793a\u8a18\u61b6\u9ad4\u6307\u793a
@@ -695,13 +706,13 @@ label.transparency.ratio=\u6bd4\u4f8b:
label.transparency.delay.ms=\u5ef6\u9072 (ms):
group.ui.options=UI \u9078\u9805
checkbox.show.icons.in.quick.navigation=\u5728\u5feb\u901f\u5c0e\u822a\u4e2d\u986f\u793a\u5716\u793a
-checkbox.override.default.laf.fonts=\u8986\u5beb\u9810\u8a2d\u5b57\u9ad4(\u4e0d\u63a8\u85a6):
+checkbox.override.default.laf.fonts=\u4f7f\u7528\u81ea\u8a02\u5b57\u9ad4:
label.override.laf.font=\u5b57\u9ad4:
label.font.name=\u540d\u7a31:
label.font.size=\u5927\u5c0f:
combobox.look.and.feel=\u4e3b\u984c:
checkboox.cyclic.scrolling.in.lists=\u5728\u6e05\u55ae\u5faa\u74b0\u6372\u52d5
-checkboox.dark.window.headers=Use dark window headers
+checkboox.dark.window.headers=\u4f7f\u7528\u6df1\u8272\u8996\u7a97\u6a19\u984c
checkbox.position.cursor.on.default.button=\u81ea\u52d5\u5c07\u6ed1\u9f20\u6e38\u6a19\u7f6e\u65bc\u9810\u8a2d\u6309\u9215\u4e0a
checkbox.use.antialiased.font.in.editor=\u4f7f\u7528\u6297\u92f8\u9f52\u5b57\u9ad4
checkbox.use.lcd.rendered.font.in.editor=LCD \u6e32\u67d3
@@ -717,12 +728,13 @@ prompt.browse.icon.for.selected.action=\u70ba\u9078\u53d6\u7684\u64cd\u4f5c\u630
title.choose.action.icon=\u9078\u53d6\u64cd\u4f5c\u5716\u793a
action.choose.actions.to.add=\u9078\u53d6\u8981\u65b0\u589e\u7684\u64cd\u4f5c
button.set.icon=\u8a2d\u5b9a\u5716\u793a(&S)
-label.icon.path=\u5716\u793a\u8def\u5f91:(&I)
-button.edit.action.icon=\u7de8\u8f2f\u64cd\u4f5c\u5716\u793a...(&I)
-button.add.separator=\u65b0\u589e\u5206\u9694\u7b26\u865f(&S)
+label.icon.path=&Icon:
+button.edit.action.icon=Edit &Icon...
button.move.up.u=\u4e0a\u79fb(&U)
button.move.down.d=\u4e0b\u79fb(&D)
-button.add.action.after=\u5728...\u5f8c\u65b0\u589e...(&F)
+button.add.action=\u65b0\u589e\u64cd\u4f5c(&A)...
+button.add.group=\u65b0\u589e\u7d44(&G)...
+button.add.separator=\u65b0\u589e\u5206\u9694\u7b26\u865f(&S)
title.customizations=\u529f\u80fd\u8868\u548c\u5de5\u5177\u5217
label.choosebyname.no.matches.found=\u627e\u4e0d\u5230\u7b26\u5408\u9805
label.choosebyname.searching=\u641c\u7d22\u4e2d...
@@ -739,7 +751,7 @@ label.no.files.found=\u627e\u4e0d\u5230\u6a94\u6848
label.no.actions.found=\u672a\u627e\u5230\u64cd\u4f5c
prompt.gotosymbol.enter.symbol.name=\u8f38\u5165\u7b26\u865f\u540d\u7a31:
checkbox.include.non.project.symbols=\u5305\u62ec\u975e{0}\u7b26\u865f(&N)
-checkbox.include.non.project.items=\u5305\u62ec\u975e{0}\u9805
+checkbox.include.non.project.items=Include &non-&&{0} items
prompt.project.wizard.directory.does.not.exist={0}\"{1}\"\n\u4e0d\u5b58\u5728\u3002\u5b83\u5c07\u7531 {2} \u5efa\u7acb\u3002
title.directory.does.not.exist=\u76ee\u9304\u4e0d\u5b58\u5728
error.failed.to.create.directory=\u7121\u6cd5\u5efa\u7acb\u76ee\u9304 \"{0}\"
@@ -849,6 +861,7 @@ scope.modified.files=\u8b8a\u66f4\u7684\u6a94\u6848
prompt.choose.base.class.of.the.hierarchy=\u9078\u53d6\u5c64\u6b21\u7d50\u69cb\u7684\u57fa\u985e\u5225\u9032\u884c\u641c\u7d22
progress.searching= \u641c\u7d22\u4e2d...
title.tip.of.the.day=\u6bcf\u65e5\u63d0\u793a
+action.open.tip=\u958b\u555f(&O)...
action.previous.tip=\u4e0a\u4e00\u63d0\u793a(&P)
action.next.tip=\u4e0b\u4e00\u63d0\u793a(&N)
error.unable.to.read.tip.of.the.day=\u7121\u6cd5\u8b80\u53d6\u6bcf\u65e5\u63d0\u793a ({0})\u3002\u8acb\u78ba\u4fdd {1} \u5df2\u6b63\u78ba\u5b89\u88dd\u3002
@@ -982,7 +995,7 @@ update.plugin.host.url.message=\u5009\u5eab URL:
update.no.update.hosts=\u6c92\u6709\u8a2d\u5b9a\u589e\u76ca\u96c6\u5eab
update.edit.plugin.host.title=\u7de8\u8f2f\u5009\u5eab
update.add.new.plugin.host.title=\u65b0\u589e\u5009\u5eab
-update.downloading.patch.progress=\u4e0b\u8f09\u88dc\u4e01\u6a94\u6848
+update.downloading.patch.progress=Downloading Patch Files
update.preparing.patch.progress=\u6e96\u5099\u88dc\u4e01\u6a94\u6848
update.cleaning.patch.progress=\u6e05\u7406\u88dc\u4e01\u6a94\u6848
update.downloading.plugins.progress=\u4e0b\u8f09\u589e\u76ca\u96c6\u66f4\u65b0
@@ -1133,7 +1146,6 @@ plugin.manager.incompatible.tooltip=\u589e\u76ca\u96c6\u8207\u76ee\u524d\u7684 {
#new wizard components
project.new.wizard.project.identification=\u9805\u76ee
project.new.wizard.module.identification=\u6a21\u7d44
-changelist.todo.title={0} \u8b8a\u66f4\u6e05\u55ae
hierarchy.scope.test=\u6e2c\u8a66
file.structure.toggle.show.inherited=\u986f\u793a\u7e7c\u627f\u7684\u6210\u54e1(&S)
@@ -1142,11 +1154,12 @@ checkbox.show.icons.in.menu.items=\u5728\u529f\u80fd\u8868\u9805\u4e2d\u986f\u79
custom.icon.validation.message=\u5716\u793a\u592a\u5927\uff0c\u7121\u6cd5\u986f\u793a\u5728\u529f\u80fd\u8868\u4e2d
custom.icon.validation.title=\u5716\u793a\u5927\u5c0f\u7121\u6548
-# Moved from ExecutionBundle
run.canceled.by.user.message=\u57f7\u884c\u88ab\u4f7f\u7528\u8005\u53d6\u6d88
run.configuration.error.executable.not.specified=\u53ef\u57f7\u884c\u6a94\u6848\u672a\u6307\u5b9a
run.configuration.error.working.directory.does.not.exist=\u7121\u6cd5\u555f\u52d5\u9032\u7a0b\uff0c\u5de5\u4f5c\u76ee\u9304 ''{0}'' \u4e0d\u5b58\u5728
run.configuration.error.working.directory.not.directory=\u7121\u6cd5\u555f\u52d5\u9032\u7a0b\uff0c\u5de5\u4f5c\u76ee\u9304 ''{0}'' \u4e0d\u662f\u76ee\u9304
+run.configuration.invalid.env.name=Illegal environment variable: {0}
+run.configuration.invalid.env.value=Illegal value of environment variable value {0}: {1}
finished.with.exit.code.text.message=\u9032\u7a0b\u5b8c\u6210\uff0c\u7d50\u675f\u78bc {0}
# Encodings
@@ -1262,16 +1275,21 @@ warning.use.rest.api=\u8981\u6c42 ''{0}'' API \u3002\u4f60\u4fe1\u4efb ''{1}'' \
title.use.rest.api=\u4f7f\u7528 REST API
searcheverywhere.allelements.tab.name=All
-searcheverywhere.switch.scope.hint=Tab to switch scope
+searcheverywhere.commands.tab.name=Commands
+searcheverywhere.run.configs.tab.name=\u57f7\u884c\u8a2d\u5b9a
+searcheverywhere.textfield.hint=Type {0} to see commands
searcheverywhere.show.in.find.window.button.name=Open in Find Window
searcheverywhere.found.matches.title=Found matches for pattern ''{0}'' in [{1}]
searcheverywhere.found.targets.title=Unsorted results
searcheverywhere.found.matches.generated.code.title=Found matches for pattern ''{0}'' in [{1}] in generated code
searcheverywhere.history.shortcuts.hint=Press {0} or {1} to navigate through the search history
searcheverywhere.nothing.found.for.contributor=No {0} found.
-searcheverywhere.nothing.found.for.contributor.anywhere=No {0} found anywhere.
+searcheverywhere.nothing.found.for.contributor.anywhere=No {0} found.
searcheverywhere.nothing.found.for.all=Nothing found.
-searcheverywhere.nothing.found.for.all.anywhere=Nothing found anywhere.
+searcheverywhere.nothing.found.for.all.anywhere=Nothing found.
+searcheverywhere.indexing.mode.not.supported=Search in ''{0}'' is not available while {1} is updating indices
+searcheverywhere.runconfigurations.command.run.description=Start Run Configuration in 'Run' mode
+searcheverywhere.runconfigurations.command.debug.description=Start Run Configuration in 'Debug' mode
run.anything.command.empty.list.title=Press ENTER to execute input command
run.anything.console.process.finished=\nProcess finished with exit code {0}.
@@ -1280,7 +1298,7 @@ run.anything.console.error.title=Cannot Run Command
run.anything.run.debug.title=Debug:
run.anything.run.in.context.title=Run in Context:
run.anything.run.in.context.debug.title=Run in Context with Debug:
-run.anything.run.anything.title=Run anything:
+run.anything.run.anything.title=Run Anything
run.anything.group.title.commands=Recent commands
run.anything.group.title.temporary=Temporary configurations
run.anything.group.title.permanent=Permanent configurations
@@ -1296,13 +1314,16 @@ run.anything.recent.group.title=\u6700\u8fd1\u7684
run.anything.recent.project.help.group.title=\u6700\u8fd1\u7684\u9805\u76ee
run.anything.recent.project.completion.group.title=\u6700\u8fd1\u7684\u9805\u76ee
run.anything.recent.project.command.placeholder=\u958b\u555f
Please check the plugin vendor\u300fs documentation for details concerning personal data processing.
JetBrains is not responsible for any processing of your personal data by any third-party plugin vendors.
@@ -1320,3 +1341,12 @@ change.memory.usage=High memory usage detected (free {0} of {1} MB)
low.memory.notification.action=\u8a2d\u5b9a
low.memory.notification.title=\u8a18\u61b6\u9ad4\u4e0d\u8db3
low.memory.notification.content=IDE\u8a18\u61b6\u9ad4\u4e0d\u8db3\uff0c\u9019\u53ef\u80fd\u6703\u5f71\u97ff\u6027\u80fd\u3002\u8acb\u8003\u616e\u589e\u52a0\u53ef\u7528\u5806\u3002
+
+plugins.changed.notification.title=\u9700\u8981\u91cd\u65b0\u555f\u52d5
+plugins.changed.notification.content=\u589e\u76ca\u96c6\u6e05\u55ae\u5df2\u66f4\u65b0\uff0c\u8acb\u91cd\u555fIntelliJ IDEA\u555f\u7528\u4fee\u6539\u3002
+
+plugins.auto.enabled.notification.title=\u555f\u7528\u4e86\u6240\u9700\u7684\u589e\u76ca\u96c6
+plugins.auto.enabled.notification.content={0} and {1} plugins are enabled.
+plugins.auto.disabled.notification.title=Dependent plugins are disabled
+plugins.auto.disabled.notification.content={0} and {1} plugins are disabled.
+plugins.auto.switch.action.name=\u9084\u539f
\ No newline at end of file
diff --git a/resources_en/messages/InspectionsBundle.properties b/resources_en/messages/InspectionsBundle.properties
index 81ce2c5..159260c 100644
--- a/resources_en/messages/InspectionsBundle.properties
+++ b/resources_en/messages/InspectionsBundle.properties
@@ -51,17 +51,21 @@ inspection.data.flow.redundant.instanceof.quickfix=Replace with a null check
inspection.data.flow.simplify.boolean.expression.quickfix=Simplify boolean expression
inspection.data.flow.simplify.to.assignment.quickfix.name=Simplify to normal assignment
inspection.data.flow.filter.notnull.quickfix=Insert 'filter(Objects::nonNull)' step
+inspection.data.flow.use.computeifpresent.quickfix=Replace 'compute' with 'computeIfPresent'
configure.annotations.option=Configure annotations
#messages from dataflow inspection
-dataflow.message.npe.method.invocation=Method invocation #ref
#loc may produce java.lang.NullPointerException
-dataflow.message.npe.inner.class.construction=Inner class construction may produce java.lang.NullPointerException
-dataflow.message.npe.methodref.invocation=Method reference invocation #ref
#loc may produce java.lang.NullPointerException
-dataflow.message.npe.array.access=Array access #ref
#loc may produce java.lang.NullPointerException
-dataflow.message.npe.field.access.sure=Dereference of #ref
#loc will produce java.lang.NullPointerException
-dataflow.message.npe.field.access=Dereference of #ref
#loc may produce java.lang.NullPointerException
-dataflow.message.cce=Casting {0}
to #ref
#loc may produce java.lang.ClassCastException
-dataflow.message.arraystore=Storing element of type {0}
to array of {1}
elements may produce java.lang.ArrayStoreException
+dataflow.message.npe.method.invocation=Method invocation #ref
#loc may produce NullPointerException
+dataflow.message.npe.method.invocation.sure=Method invocation #ref
#loc will produce NullPointerException
+dataflow.message.npe.inner.class.construction=Inner class construction may produce NullPointerException
+dataflow.message.npe.inner.class.construction.sure=Inner class construction will produce NullPointerException
+dataflow.message.npe.methodref.invocation=Method reference invocation #ref
#loc may produce NullPointerException
+dataflow.message.npe.array.access=Array access #ref
#loc may produce NullPointerException
+dataflow.message.npe.array.access.sure=Array access #ref
#loc will produce NullPointerException
+dataflow.message.npe.field.access.sure=Dereference of #ref
#loc will produce NullPointerException
+dataflow.message.npe.field.access=Dereference of #ref
#loc may produce NullPointerException
+dataflow.message.cce=Casting {0}
to #ref
#loc may produce ClassCastException
+dataflow.message.arraystore=Storing element of type {0}
to array of {1}
elements may produce ArrayStoreException
dataflow.message.redundant.instanceof=Condition #ref
#loc is redundant and can be replaced with a null check
dataflow.message.contract.fail=The call to '#ref' always fails, according to its method contracts
dataflow.message.contract.fail.index=The call to '#ref' always fails as index is out of bounds
@@ -83,16 +87,17 @@ dataflow.message.return.nullable.from.notnull=Expression #ref
might
dataflow.message.return.null.from.notnullable=null
is returned by the method which is not declared as @{0}
dataflow.message.return.nullable.from.notnullable=Expression #ref
might evaluate to null but is returned by the method which is not declared as @{0}
dataflow.message.return.nullable.from.notnull.function=Function may return null, but it's not allowed here
-dataflow.message.unboxing=Unboxing of #ref
#loc may produce java.lang.NullPointerException
-dataflow.message.unboxing.method.reference=Use of #ref
#loc would need unboxing which may produce java.lang.NullPointerException
-dataflow.too.complex=Method #ref
is too complex to analyze by data flow algorithm
-dataflow.too.complex.class=Class initializer is too complex to analyze by data flow algorithm
+dataflow.message.unboxing=Unboxing of #ref
#loc may produce NullPointerException
+dataflow.message.unboxing.method.reference=Use of #ref
#loc would need unboxing which may produce NullPointerException
+dataflow.too.complex={0} is too complex to analyze by data flow algorithm
+dataflow.not.precise={0} is complex: data flow results could be imprecise
dataflow.method.fails.with.null.argument=Method will throw an exception when parameter is null
dataflow.message.constant.method.reference=Method reference result is always ''{0}''
dataflow.message.array.index.out.of.bounds=Array index is out of bounds
dataflow.message.immutable.modified=Immutable object is modified
dataflow.message.immutable.passed=Immutable object is passed where mutable is expected
dataflow.message.redundant.assignment=Variable is already assigned to this value
+dataflow.message.pointless.same.arguments=Arguments of '#ref' are the same. Calling this method with the same arguments is meaningless.
inspection.optional.get.without.is.present.message={0}.#ref()
without ''isPresent()'' check
@@ -114,13 +119,13 @@ 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.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.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.equals.hashcode.generate.equals.quickfix=Generate 'equals()'
inspection.equals.hashcode.generate.hashcode.quickfix=Generate 'hashCode()'
@@ -140,7 +145,7 @@ inspection.local.can.be.final.option4=Report variables which are implicit final
inspection.can.be.local.parameter.problem.descriptor=Parameter #ref
can have final
modifier
inspection.can.be.local.variable.problem.descriptor=Variable #ref
can have final
modifier
-inspection.return.separated.from.computation.name=Return separated from computation of result
+inspection.return.separated.from.computation.name='return' separated from the result computation
inspection.return.separated.from.computation.descriptor=Return separated from computation of value of ''{0}''
inspection.return.separated.from.computation.quickfix=Move ''return'' closer to computation of the value of ''{0}''
inspection.return.separated.from.computation.family.quickfix=Move 'return' closer to computation of the result
@@ -311,6 +316,7 @@ inspection.javadoc.problem.missing.tag=Required tag {0} is missing
inspection.javadoc.problem.missing.tag.description={0} is missing after @{1} tag
inspection.javadoc.problem.see.tag.expecting.ref=Class/method reference, quoted text, or HTML link are expected after @see tag
inspection.javadoc.problem.cannot.resolve=Cannot resolve symbol {0}
+inspection.javadoc.problem.inaccessible=Symbol {0} is inaccessible from here
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
@@ -391,7 +397,6 @@ inspection.progress.title=Inspecting Code...
inspection.no.problems.dialog.title=Code Inspection
inspection.no.problems.message=No suspicious code found. {0} files processed in ''{1}''.
inspection.view.invalid.scope.message=Inspection scope is invalid.
-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.severity=Se&verity:
@@ -578,6 +583,7 @@ group.names.language.level.specific.issues.and.migration.aids8=Java 8
group.names.language.level.specific.issues.and.migration.aids9=Java 9
group.names.language.level.specific.issues.and.migration.aids5=Java 5
group.names.language.level.specific.issues.and.migration.aids10=Java 10
+group.names.language.level.specific.issues.and.migration.aids11=Java 11
group.names.language.level.specific.issues.and.migration.aids12=Java 12
group.names.javabeans.issues=JavaBeans issues
group.names.inheritance.issues=Inheritance issues
@@ -591,7 +597,6 @@ group.names.xml=XML
group.names.toString.issues=toString() issues
group.names.reflective.access.issues=Reflective access
-
duplicate.property.display.name=Duplicate Property
duplicate.property.diff.key.problem.descriptor=Duplicate Property Key ''{0}'' With Different Values #treeend :
duplicate.property.diff.key.progress.indicator.text=Processing duplicate property key: {0}
@@ -866,6 +871,8 @@ inspection.handle.signature.field.type=The type of field ''{0}'' is ''{1}''
inspection.handle.signature.field.cannot.resolve=Cannot resolve field ''{0}''
inspection.handle.signature.method.static=Method ''{0}'' is static
inspection.handle.signature.method.not.static=Method ''{0}'' is not static
+inspection.handle.signature.method.abstract=Method ''{0}'' is abstract in ''{1}''
+inspection.handle.signature.not.subclass=Caller class ''{0}'' must be a subclass of ''{1}''
inspection.handle.signature.change.type.fix.name=Change type to ''{0}''
inspection.handle.signature.replace.with.fix.name=Replace with ''{0}''
@@ -919,6 +926,7 @@ inspection.replace.with.trivial.lambda.fix.name=Replace with lambda returning ''
inspection.redundant.null.check.message=Redundant null-check: {0} is never null
inspection.redundant.null.check.always.fail.message=Null-check will always fail: {0} is never null
inspection.redundant.null.check.fix.family.name=Remove redundant null-check
+inspection.redundant.null.check.fix.notnull.family.name=Remove erroneous '!= null'
inspection.comparator.result.comparison.display.name=Suspicious usage of compare method
inspection.comparator.result.comparison.problem.display.name=Comparison of compare method result with specific constant
@@ -942,7 +950,7 @@ navigate.to.duplicate.fix=Navigate to duplicate
inspection.idempotent.loop.body=Idempotent loop body
-inspection.undeclared.service.usage.name=Usage of service not declared in module-info
+inspection.undeclared.service.usage.name=Usage of service not declared in 'module-info'
inspection.undeclared.service.usage.message=Usage of service ''{0}'' is not declared in module-info
inspection.conditional.break.in.infinite.loop=Move condition to loop
@@ -951,21 +959,24 @@ inspection.conditional.break.in.infinite.loop.description=Conditional break insi
inspection.endless.stream.description=Non-short-circuit operation consumes the infinite stream
-inspection.redundant.comparator.comparing.display.name=Redundant Comparator.comparing
-inspection.redundant.comparator.comparing.message=Unnecessary ''{0}()'' call
-inspection.redundant.comparator.comparing.fix.remove.name=Remove ''{0}()'' call
-inspection.redundant.comparator.comparing.fix.replace.name=Remove ''{0}()'' call and use ''{1}()''
-inspection.redundant.comparator.comparing.fix.family.name=Remove redundant call
+inspection.simplifiable.comparator.display.name=Comparator can be simplified
+inspection.simplifiable.comparator.comparing.message=Unnecessary ''{0}()'' call
+inspection.simplifiable.comparator.reversed.message=Comparator can be simplified if ''{0}()'' call is replaced with ''{1}()''
+inspection.simplifiable.comparator.fix.comparing.family.name=Remove redundant call
+inspection.simplifiable.comparator.fix.remove.name=Remove ''{0}()'' call
+inspection.simplifiable.comparator.fix.replace.name=Remove ''{0}()'' call and use ''{1}()''
+inspection.simplifiable.comparator.fix.reversed.family.name=Simplify comparator replacing 'max' with 'min'
+inspection.simplifiable.comparator.fix.reversed.name=Replace with ''{0}'' simplifying the comparator
inspection.capturing.cleaner=Runnable passed to Cleaner.register() captures ''{0}'' reference
inspection.capturing.cleaner.description=Cleaner captures object reference
-inspection.redundant.explicit.close=Redundant close
-inspection.redundant.explicit.close.fix.name=Remove redundant close
+inspection.redundant.explicit.close=Redundant 'close()'
inspection.fold.expression.into.stream.display.name=Expression can be folded into Stream chain
inspection.fold.expression.into.stream.fix.name=Fold expression into Stream chain
inspection.fold.expression.into.string.display.name=Expression can be folded into 'String.join'
inspection.fold.expression.into.string.fix.name=Fold expression into 'String.join'
+inspection.fold.expression.fix.family.name=Fold expression
inspection.charset.object.can.be.used.display.name=Standard Charset object can be used
inspection.charset.object.can.be.used.message={0} can be used instead
@@ -987,3 +998,23 @@ inspection.class.getclass.message='getClass()' is called on Class instance
inspection.class.getclass.fix.remove.name=Remove 'getClass()' call
inspection.class.getclass.fix.replace.name=Replace with 'Class.class'
redundant.backticks.around.raw.string.literal.display.name=Redundant backticks around raw string literal
+inspection.objects.equals.can.be.simplified.display.name=Objects.equals() can be replaced with equals()
+inspection.objects.equals.can.be.simplified.message=Can be replaced with ''{0}''
+
+inspection.duplicate.expressions.display.name=Multiple occurrences of the same expression
+inspection.duplicate.expressions.message=Multiple occurrences of #ref
#loc
+inspection.duplicate.expressions.complexity.threshold=Expression complexity threshold
+inspection.duplicate.expressions.introduce.variable.fix.family.name=Introduce variable
+inspection.duplicate.expressions.introduce.variable.fix.name=Introduce variable for ''{0}''
+inspection.duplicate.expressions.reuse.variable.fix.family.name=Reuse variable
+inspection.duplicate.expressions.reuse.variable.fix.name=Reuse variable ''{0}'' for ''{1}''
+inspection.duplicate.expressions.replace.other.occurrences.fix.family.name=Replace with variable other occurrences of expression
+inspection.duplicate.expressions.replace.other.occurrences.fix.name=Replace with ''{0}'' other occurrences of ''{1}''
+
+inspection.sorted.collection.with.non.comparable.keys.display.name=Sorted collection with non-comparable elements
+inspection.sorted.collection.with.non.comparable.keys.message=Construction of sorted collection with non-comparable elements
+inspection.sorted.collection.with.non.comparable.keys.option.type.parameters=Don't report non-comparable type parameters
+
+inspection.join.declaration.and.assignment.display.name=Assignment can be joined with declaration
+inspection.join.declaration.and.assignment.message=Assignment can be joined with declaration of ''{0}''
+inspection.join.declaration.and.assignment.fix.family.name=Join declaration and assignment
\ No newline at end of file
diff --git a/resources_en/messages/InspectionsBundle_zh_CN.properties b/resources_en/messages/InspectionsBundle_zh_CN.properties
index cff72b0..ba17bfe 100644
--- a/resources_en/messages/InspectionsBundle_zh_CN.properties
+++ b/resources_en/messages/InspectionsBundle_zh_CN.properties
@@ -43,17 +43,21 @@ inspection.data.flow.redundant.instanceof.quickfix=\u66ff\u6362\u4e3a null \u68c
inspection.data.flow.simplify.boolean.expression.quickfix=\u7b80\u5316\u5e03\u5c14\u8868\u8fbe\u5f0f
inspection.data.flow.simplify.to.assignment.quickfix.name=\u7b80\u5316\u4e3a\u6b63\u5e38\u8d4b\u503c
inspection.data.flow.filter.notnull.quickfix=\u63d2\u5165 'filter(Objects::nonNull)' \u6b65\u9aa4
+inspection.data.flow.use.computeifpresent.quickfix=Replace 'compute' with 'computeIfPresent'
configure.annotations.option=\u914d\u7f6e\u6ce8\u89e3
#messages from dataflow inspection
-dataflow.message.npe.method.invocation=\u65b9\u6cd5\u8c03\u7528 #ref
#loc \u53ef\u80fd\u4ea7\u751f java.lang.NullPointerException
-dataflow.message.npe.inner.class.construction=\u5185\u90e8\u7c7b\u6784\u544a\u53ef\u80fd\u4ea7\u751f java.lang.NullPointerException
-dataflow.message.npe.methodref.invocation=\u65b9\u6cd5\u5f15\u7528\u8c03\u7528 #ref
#loc \u53ef\u80fd\u4ea7\u751f java.lang.NullPointerException
-dataflow.message.npe.array.access=\u6570\u7ec4\u8bbf\u95ee #ref
#loc \u53ef\u80fd\u4ea7\u751f java.lang.NullPointerException
-dataflow.message.npe.field.access.sure=\u5f15\u7528 #ref
#loc \u5c06\u4ea7\u751f java.lang.NullPointerException
-dataflow.message.npe.field.access=\u5f15\u7528 #ref
#loc \u53ef\u80fd\u4ea7\u751f java.lang.NullPointerException
-dataflow.message.cce=\u8f6c\u6362 {0}
\u4e3a #ref
#loc \u53ef\u80fd\u751f\u4ea7 java.lang.ClassCastException
-dataflow.message.arraystore=Storing element of type {0}
to array of {1}
elements may produce java.lang.ArrayStoreException
+dataflow.message.npe.method.invocation=Method invocation #ref
#loc may produce NullPointerException
+dataflow.message.npe.method.invocation.sure=Method invocation #ref
#loc will produce NullPointerException
+dataflow.message.npe.inner.class.construction=Inner class construction may produce NullPointerException
+dataflow.message.npe.inner.class.construction.sure=Inner class construction will produce NullPointerException
+dataflow.message.npe.methodref.invocation=Method reference invocation #ref
#loc may produce NullPointerException
+dataflow.message.npe.array.access=Array access #ref
#loc may produce NullPointerException
+dataflow.message.npe.array.access.sure=Array access #ref
#loc will produce NullPointerException
+dataflow.message.npe.field.access.sure=Dereference of #ref
#loc will produce NullPointerException
+dataflow.message.npe.field.access=Dereference of #ref
#loc may produce NullPointerException
+dataflow.message.cce=Casting {0}
to #ref
#loc may produce ClassCastException
+dataflow.message.arraystore=Storing element of type {0}
to array of {1}
elements may produce ArrayStoreException
dataflow.message.redundant.instanceof=\u6761\u4ef6 #ref
#loc \u662f\u591a\u4f59\u7684\uff0c\u53ef\u4ee5\u66ff\u6362\u4e3a null\u6821\u9a8c
dataflow.message.contract.fail=\u6839\u636e\u65b9\u6cd5\u5408\u7ea6\uff0c '#ref' \u8c03\u7528\u603b\u662f\u5931\u8d25
dataflow.message.contract.fail.index=\u6839\u636e\u7d22\u5f15\u8d8a\u754c\uff0c '#ref' \u8c03\u7528\u603b\u662f\u5931\u8d25
@@ -75,16 +79,17 @@ dataflow.message.return.nullable.from.notnull=\u8868\u8fbe\u5f0f #refnull
\u7531\u672a\u7533\u660e\u4e3a @{0} \u7684\u65b9\u6cd5\u8fd4\u56de
dataflow.message.return.nullable.from.notnullable=\u8868\u8fbe\u5f0f #ref
\u53ef\u4ee5\u8ba1\u7b97\u4e3a null \uff0c\u4f46\u5b83\u7531\u672a\u7533\u660e\u4e3a @{0} \u7684\u65b9\u6cd5\u8fd4\u56de
dataflow.message.return.nullable.from.notnull.function=\u51fd\u6570\u53ef\u80fd\u8fd4\u56de null \uff0c\u4f46\u8fd9\u91cc\u4e0d\u5141\u8bb8
-dataflow.message.unboxing=#ref
#loc \u7684\u62c6\u7bb1\u53ef\u80fd\u4ea7\u751f java.lang.NullPointerException
-dataflow.message.unboxing.method.reference=#ref
#loc \u7684\u4f7f\u7528\u9700\u8981\u62c6\u7bb1\uff0c\u53ef\u80fd\u4ea7\u751f java.lang.NullPointerException
-dataflow.too.complex=\u65b9\u6cd5 #ref
\u592a\u590d\u6742\uff0c\u65e0\u6cd5\u901a\u8fc7\u6570\u636e\u6d41\u7b97\u6cd5\u8fdb\u884c\u5206\u6790
-dataflow.too.complex.class=\u7c7b\u521d\u59cb\u5316\u5668\u8fc7\u4e8e\u590d\u6742\uff0c\u65e0\u6cd5\u901a\u8fc7\u6570\u636e\u6d41\u7b97\u6cd5\u8fdb\u884c\u5206\u6790
+dataflow.message.unboxing=Unboxing of #ref
#loc may produce NullPointerException
+dataflow.message.unboxing.method.reference=Use of #ref
#loc would need unboxing which may produce NullPointerException
+dataflow.too.complex={0} is too complex to analyze by data flow algorithm
+dataflow.not.precise={0} is complex: data flow results could be imprecise
dataflow.method.fails.with.null.argument=\u5f53\u53c2\u6570\u4e3a null \u65f6\uff0c\u65b9\u6cd5\u5c06\u629b\u51fa\u5f02\u5e38
dataflow.message.constant.method.reference=\u65b9\u6cd5\u5f15\u7528\u7ed3\u679c\u603b\u662f ''{0}''
dataflow.message.array.index.out.of.bounds=\u6570\u7ec4\u7d22\u5f15\u8d8a\u754c
dataflow.message.immutable.modified=\u4e0d\u53ef\u53d8\u5bf9\u8c61\u88ab\u4fee\u6539
dataflow.message.immutable.passed=\u4e0d\u53ef\u53d8\u5bf9\u8c61\u5728\u53ef\u53d8\u7684\u5730\u65b9\u88ab\u4f20\u9012
dataflow.message.redundant.assignment=\u53d8\u91cf\u5df2\u7ecf\u5206\u914d\u7ed9\u8fd9\u4e2a\u503c
+dataflow.message.pointless.same.arguments=Arguments of '#ref' are the same. Calling this method with the same arguments is meaningless.
inspection.optional.get.without.is.present.message={0}.#ref()
without ''isPresent()'' check
@@ -106,13 +111,13 @@ inspection.redundant.cast.remove.quickfix=\u79fb\u9664\u591a\u4f59\u7684\u8f6c\u
inspection.redundant.cast.problem.descriptor=\u8f6c\u6362 {0} \u4e3a {1} \u662f\u591a\u4f59\u7684
#redundant throws
-inspection.redundant.throws.display.name=\u591a\u4f59\u7684 throws \u8bed\u53e5
-inspection.redundant.throws.remove.quickfix=\u79fb\u9664\u4e0d\u5fc5\u8981\u7684 throws \u58f0\u660e
+inspection.redundant.throws.display.name=Redundant 'throws' clause
+inspection.redundant.throws.remove.quickfix=Remove unnecessary 'throws' declarations
inspection.redundant.throws.problem.descriptor=\u58f0\u660e\u7684\u5f02\u5e38 {0} \u4ece\u672a\u5728\u65b9\u6cd5\u5b9e\u73b0\u4e2d\u629b\u51fa
inspection.redundant.throws.problem.descriptor1=\u58f0\u660e\u7684\u5f02\u5e38 {0} \u4e0d\u4f1a\u5728\u6b64\u65b9\u6cd5\u4e2d\u5f15\u7528\uff0c\u4e5f\u4e0d\u4f1a\u5728\u5176\u6d3e\u751f\u4e2d\u629b\u51fa
inspection.redundant.throws.problem.descriptor2=\u58f0\u660e\u7684\u5f02\u5e38 {0} \u4ece\u672a\u629b\u51fa
-inspection.equals.hashcode.display.name=equals() \u548c hashCode() \u672a\u5339\u914d
+inspection.equals.hashcode.display.name='equals()' and 'hashCode()' not paired
inspection.equals.hashcode.only.one.defined.problem.descriptor=\u7c7b\u5b9a\u4e49\u4e86 {0} \uff0c\u4f46\u6ca1\u6709\u5b9a\u4e49 {1}
inspection.equals.hashcode.generate.equals.quickfix=\u751f\u6210 'equals()'
inspection.equals.hashcode.generate.hashcode.quickfix=\u751f\u6210 'hashCode()'
@@ -132,7 +137,7 @@ inspection.local.can.be.final.option4=\u62a5\u544a\u9690\u5f0f final \u7684\u53d
inspection.can.be.local.parameter.problem.descriptor=\u53c2\u6570 #ref
\u53ef\u4ee5\u6709 final
\u4fee\u9970\u7b26
inspection.can.be.local.variable.problem.descriptor=\u53d8\u91cf #ref
\u53ef\u4ee5\u6709 final
\u4fee\u9970\u7b26
-inspection.return.separated.from.computation.name=\u8fd4\u56de\u4e0e\u7ed3\u679c\u8ba1\u7b97\u5206\u79bb
+inspection.return.separated.from.computation.name='return' separated from the result computation
inspection.return.separated.from.computation.descriptor=\u8fd4\u56de\u4e0e ''{0}'' \u7684\u8ba1\u7b97\u7ed3\u679c\u5206\u79bb
inspection.return.separated.from.computation.quickfix=\u5c06 ''return'' \u79fb\u8fd1 ''{0}'' \u7684\u503c\u7684\u8ba1\u7b97
inspection.return.separated.from.computation.family.quickfix=\u5c06 'return' \u79fb\u8fd1\u7ed3\u679c\u8ba1\u7b97
@@ -209,7 +214,7 @@ inspection.unused.parameter.composer1=\u53c2\u6570 #ref
\u672a\u752
inspection.unused.parameter.display.name=\u672a\u4f7f\u7528\u7684\u65b9\u6cd5\u53c2\u6570
inspection.unused.parameter.delete.quickfix=\u5220\u9664\u672a\u4f7f\u7528\u7684\u53c2\u6570
inspection.redundant.type.display.name=\u591a\u4f59\u7684\u7c7b\u578b\u53c2\u6570
-inspection.redundant.type.remove.quickfix=Remove type arguments
+inspection.redundant.type.remove.quickfix=\u79fb\u9664\u7c7b\u578b\u53c2\u6570
inspection.redundant.type.problem.descriptor=\u53ef\u4ee5\u63a8\u65ad\u663e\u5f0f\u7c7b\u578b\u53c2\u6570
inspection.redundant.type.no.generics.problem.descriptor=Type arguments are redundant for the non-generic method call
inspection.redundant.type.no.generics.method.reference.problem.descriptor=Type arguments are redundant for the non-generic method reference
@@ -303,6 +308,7 @@ inspection.javadoc.problem.missing.tag=\u7f3a\u5c11\u5fc5\u9700\u7684\u6807\u7b7
inspection.javadoc.problem.missing.tag.description=@{1} \u6807\u7b7e\u540e\u7f3a\u5c11 {0}
inspection.javadoc.problem.see.tag.expecting.ref=\u5728@see \u6807\u7b7e\u4e4b\u540e\uff0c\u9884\u671f\u7c7b/\u65b9\u6cd5\u5f15\u7528\uff0c\u5f15\u7528\u6587\u672c\u6216 HTML \u94fe\u63a5
inspection.javadoc.problem.cannot.resolve=\u65e0\u6cd5\u89e3\u6790\u7b26\u53f7 {0}
+inspection.javadoc.problem.inaccessible=Symbol {0} is inaccessible from here
inspection.javadoc.problem.name.expected=\u9884\u671f\u540d\u79f0
inspection.javadoc.problem.wrong.tag=\u9519\u8bef\u7684\u6807\u7b7e {0}
inspection.javadoc.problem.disallowed.tag=\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528\u6807\u7b7e {0}
@@ -383,7 +389,6 @@ inspection.progress.title=\u68c0\u67e5\u4ee3\u7801...
inspection.no.problems.dialog.title=\u4ee3\u7801\u68c0\u67e5
inspection.no.problems.message=\u627e\u4e0d\u5230\u53ef\u7591\u7684\u4ee3\u7801\u3002{0} \u5904\u7406\u4e8e ''{1}''\u3002
inspection.view.invalid.scope.message=\u68c0\u67e5\u8303\u56f4\u65e0\u6548\u3002
-inspection.problems=\u95ee\u9898
inspection.error.loading.message=\u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6 {0, choice, 0#from {1}|1#} \u9519\u8bef
inspection.errors.occurred.dialog.title=\u9519\u8bef\u51fa\u73b0
inspection.severity=\u4e25\u91cd\u6027\uff1a(&V)
@@ -570,6 +575,7 @@ group.names.language.level.specific.issues.and.migration.aids8=Java 8
group.names.language.level.specific.issues.and.migration.aids9=Java 9
group.names.language.level.specific.issues.and.migration.aids5=Java 5
group.names.language.level.specific.issues.and.migration.aids10=Java 10
+group.names.language.level.specific.issues.and.migration.aids11=Java 11
group.names.language.level.specific.issues.and.migration.aids12=Java 12
group.names.javabeans.issues=JavaBeans \u95ee\u9898
group.names.inheritance.issues=\u7ee7\u627f\u95ee\u9898
@@ -583,7 +589,6 @@ group.names.xml=XML
group.names.toString.issues=toString() \u95ee\u9898
group.names.reflective.access.issues=\u53cd\u5c04\u8bbf\u95ee
-
duplicate.property.display.name=\u91cd\u590d\u5c5e\u6027
duplicate.property.diff.key.problem.descriptor=\u91cd\u590d\u7684\u5c5e\u6027\u952e ''{0}'' \u6709\u4e0d\u540c\u7684\u503c #treeend :
duplicate.property.diff.key.progress.indicator.text=\u5904\u7406\u91cd\u590d\u7684\u5c5e\u6027\u952e:{0}
@@ -819,7 +824,7 @@ inspection.require.non.null.option.min.size=\u5f53\u68c0\u67e5\u53d1\u51fa\u8b66
inspection.redundant.stream.optional.call.message=\u5197\u4f59\u7684 ''{0}'' \u8c03\u7528
inspection.redundant.stream.optional.call.explanation.filter=\u8c13\u8bcd\u4e00\u76f4\u662f true
-inspection.redundant.stream.optional.call.explanation.sorted=subsequent ''{0}'' call doesn''t depend on the sort order
+inspection.redundant.stream.optional.call.explanation.sorted=\u968f\u540e\u7684 ''{0}'' \u8c03\u7528\u4e0d\u4f9d\u8d56\u4e8e\u6392\u5e8f\u987a\u5e8f
inspection.redundant.stream.optional.call.explanation.sorted.twice=stream content is sorted again after that
inspection.redundant.stream.optional.call.explanation.distinct=\u94fe\u4e2d\u5df2\u7ecf\u6709\u4e00\u4e2a 'distinct' \u8c03\u7528
inspection.redundant.stream.optional.call.explanation.distinct.set=elements will be distinct anyways when collected to the Set
@@ -830,7 +835,7 @@ inspection.redundant.stream.optional.call.explanation.parallel.single=stream cre
inspection.redundant.stream.optional.call.fix.family.name=\u79fb\u9664\u5197\u4f59\u94fe\u5f0f\u8c03\u7528
inspection.redundant.stream.optional.call.fix.name=\u79fb\u9664 ''{0}'' \u8c03\u7528
inspection.redundant.stream.optional.call.fix.collect.to.ordered.family.name=Collect to 'LinkedHashSet'
-inspection.redundant.stream.optional.call.option.streamboxing=Report redundant boxing in Stream.map
+inspection.redundant.stream.optional.call.option.streamboxing=\u5728 Stream.map \u4e2d\u62a5\u544a\u5197\u4f59
inspection.map.foreach.message=\u53ef\u4ee5\u66ff\u6362\u4e3a 'Map.forEach'
inspection.map.foreach.fix.name=\u66ff\u6362\u4e3a Map.forEach
@@ -858,6 +863,8 @@ inspection.handle.signature.field.type=\u5b57\u6bb5 ''{0}'' \u7684\u7c7b\u578b\u
inspection.handle.signature.field.cannot.resolve=\u65e0\u6cd5\u89e3\u6790\u5b57\u6bb5 ''{0}''
inspection.handle.signature.method.static=\u65b9\u6cd5 ''{0}'' \u662f\u9759\u6001\u7684
inspection.handle.signature.method.not.static=\u65b9\u6cd5 ''{0}'' \u662f\u975e\u9759\u6001\u7684
+inspection.handle.signature.method.abstract=Method ''{0}'' is abstract in ''{1}''
+inspection.handle.signature.not.subclass=Caller class ''{0}'' must be a subclass of ''{1}''
inspection.handle.signature.change.type.fix.name=\u66f4\u6539\u7c7b\u578b\u4e3a ''{0}''
inspection.handle.signature.replace.with.fix.name=\u66ff\u6362\u4e3a ''{0}''
@@ -911,6 +918,7 @@ inspection.replace.with.trivial.lambda.fix.name=\u7528\u8fd4\u56de ''{0}'' \u768
inspection.redundant.null.check.message=Redundant null-check: {0} is never null
inspection.redundant.null.check.always.fail.message=Null-check will always fail: {0} is never null
inspection.redundant.null.check.fix.family.name=Remove redundant null-check
+inspection.redundant.null.check.fix.notnull.family.name=Remove erroneous '!= null'
inspection.comparator.result.comparison.display.name=\u6bd4\u8f83\u65b9\u6cd5\u7684\u53ef\u7591\u7528\u6cd5
inspection.comparator.result.comparison.problem.display.name=\u6bd4\u8f83\u65b9\u6cd5\u7684\u7ed3\u679c\u662f\u7279\u5b9a\u5e38\u6570
@@ -934,7 +942,7 @@ navigate.to.duplicate.fix=\u5bfc\u822a\u5230\u91cd\u590d
inspection.idempotent.loop.body=Idempotent loop body
-inspection.undeclared.service.usage.name=Usage of service not declared in module-info
+inspection.undeclared.service.usage.name=Usage of service not declared in 'module-info'
inspection.undeclared.service.usage.message=Usage of service ''{0}'' is not declared in module-info
inspection.conditional.break.in.infinite.loop=Move condition to loop
@@ -943,21 +951,24 @@ inspection.conditional.break.in.infinite.loop.description=Conditional break insi
inspection.endless.stream.description=Non-short-circuit operation consumes the infinite stream
-inspection.redundant.comparator.comparing.display.name=Redundant Comparator.comparing
-inspection.redundant.comparator.comparing.message=\u65e0\u7528\u7684 ''{0}()'' \u8c03\u7528
-inspection.redundant.comparator.comparing.fix.remove.name=\u5220\u9664 ''{0}()'' \u8c03\u7528
-inspection.redundant.comparator.comparing.fix.replace.name=\u5220\u9664 ''{0}()'' \u8c03\u7528\u5e76\u4f7f\u7528 ''{1}()''
-inspection.redundant.comparator.comparing.fix.family.name=\u5220\u9664\u591a\u4f59\u7684\u8c03\u7528
+inspection.simplifiable.comparator.display.name=\u53ef\u7b80\u5316\u6bd4\u8f83\u5668
+inspection.simplifiable.comparator.comparing.message=Unnecessary ''{0}()'' call
+inspection.simplifiable.comparator.reversed.message=Comparator can be simplified if ''{0}()'' call is replaced with ''{1}()''
+inspection.simplifiable.comparator.fix.comparing.family.name=\u5220\u9664\u591a\u4f59\u7684\u8c03\u7528
+inspection.simplifiable.comparator.fix.remove.name=\u5220\u9664 ''{0}()'' \u8c03\u7528
+inspection.simplifiable.comparator.fix.replace.name=\u5220\u9664 ''{0}()'' \u8c03\u7528\uff0c\u5e76\u4f7f\u7528 ''{1}()''
+inspection.simplifiable.comparator.fix.reversed.family.name=Simplify comparator replacing 'max' with 'min'
+inspection.simplifiable.comparator.fix.reversed.name=Replace with ''{0}'' simplifying the comparator
inspection.capturing.cleaner=Runnable passed to Cleaner.register() captures ''{0}'' reference
inspection.capturing.cleaner.description=\u6e05\u7406\u6355\u83b7\u7684\u5bf9\u8c61\u5f15\u7528
-inspection.redundant.explicit.close=Redundant close
-inspection.redundant.explicit.close.fix.name=Remove redundant close
+inspection.redundant.explicit.close=Redundant 'close()'
inspection.fold.expression.into.stream.display.name=Expression can be folded into Stream chain
inspection.fold.expression.into.stream.fix.name=Fold expression into Stream chain
inspection.fold.expression.into.string.display.name=Expression can be folded into 'String.join'
inspection.fold.expression.into.string.fix.name=Fold expression into 'String.join'
+inspection.fold.expression.fix.family.name=\u6298\u53e0\u8868\u8fbe\u5f0f
inspection.charset.object.can.be.used.display.name=Standard Charset object can be used
inspection.charset.object.can.be.used.message={0} can be used instead
@@ -979,3 +990,23 @@ inspection.class.getclass.message='getClass()' is called on Class instance
inspection.class.getclass.fix.remove.name=Remove 'getClass()' call
inspection.class.getclass.fix.replace.name=Replace with 'Class.class'
redundant.backticks.around.raw.string.literal.display.name=Redundant backticks around raw string literal
+inspection.objects.equals.can.be.simplified.display.name=Objects.equals() can be replaced with equals()
+inspection.objects.equals.can.be.simplified.message=Can be replaced with ''{0}''
+
+inspection.duplicate.expressions.display.name=Multiple occurrences of the same expression
+inspection.duplicate.expressions.message=Multiple occurrences of #ref
#loc
+inspection.duplicate.expressions.complexity.threshold=Expression complexity threshold
+inspection.duplicate.expressions.introduce.variable.fix.family.name=Introduce variable
+inspection.duplicate.expressions.introduce.variable.fix.name=Introduce variable for ''{0}''
+inspection.duplicate.expressions.reuse.variable.fix.family.name=\u91cd\u590d\u4f7f\u7528\u53d8\u91cf
+inspection.duplicate.expressions.reuse.variable.fix.name=\u91cd\u590d\u4f7f\u7528\u53d8\u91cf ''{0}'' for ''{1}''
+inspection.duplicate.expressions.replace.other.occurrences.fix.family.name=Replace with variable other occurrences of expression
+inspection.duplicate.expressions.replace.other.occurrences.fix.name=Replace with ''{0}'' other occurrences of ''{1}''
+
+inspection.sorted.collection.with.non.comparable.keys.display.name=Sorted collection with non-comparable elements
+inspection.sorted.collection.with.non.comparable.keys.message=Construction of sorted collection with non-comparable elements
+inspection.sorted.collection.with.non.comparable.keys.option.type.parameters=Don't report non-comparable type parameters
+
+inspection.join.declaration.and.assignment.display.name=Assignment can be joined with declaration
+inspection.join.declaration.and.assignment.message=Assignment can be joined with declaration of ''{0}''
+inspection.join.declaration.and.assignment.fix.family.name=\u52a0\u5165\u58f0\u660e\u548c\u5206\u914d
\ No newline at end of file
diff --git a/resources_en/messages/InspectionsBundle_zh_TW.properties b/resources_en/messages/InspectionsBundle_zh_TW.properties
index 0b1bebc..98e2ab4 100644
--- a/resources_en/messages/InspectionsBundle_zh_TW.properties
+++ b/resources_en/messages/InspectionsBundle_zh_TW.properties
@@ -43,17 +43,21 @@ inspection.data.flow.redundant.instanceof.quickfix=\u53d6\u4ee3\u70ba null \u6aa
inspection.data.flow.simplify.boolean.expression.quickfix=\u7c21\u5316\u5e03\u6797\u904b\u7b97\u5f0f
inspection.data.flow.simplify.to.assignment.quickfix.name=\u7c21\u5316\u70ba\u6b63\u5e38\u8ce6\u503c
inspection.data.flow.filter.notnull.quickfix=\u63d2\u5165 'filter(Objects::nonNull)' \u6b65\u9a5f
+inspection.data.flow.use.computeifpresent.quickfix=Replace 'compute' with 'computeIfPresent'
configure.annotations.option=\u8a2d\u5b9a\u8a3b\u89e3
#messages from dataflow inspection
-dataflow.message.npe.method.invocation=\u65b9\u6cd5\u8abf\u7528 #ref
#loc \u53ef\u80fd\u7522\u751f java.lang.NullPointerException
-dataflow.message.npe.inner.class.construction=\u5167\u90e8\u985e\u5225\u69cb\u544a\u53ef\u80fd\u7522\u751f java.lang.NullPointerException
-dataflow.message.npe.methodref.invocation=\u65b9\u6cd5\u53c3\u7167\u8abf\u7528 #ref
#loc \u53ef\u80fd\u7522\u751f java.lang.NullPointerException
-dataflow.message.npe.array.access=\u9663\u5217\u5b58\u53d6 #ref
#loc \u53ef\u80fd\u7522\u751f java.lang.NullPointerException
-dataflow.message.npe.field.access.sure=\u53c3\u7167 #ref
#loc \u5c07\u7522\u751f java.lang.NullPointerException
-dataflow.message.npe.field.access=\u53c3\u7167 #ref
#loc \u53ef\u80fd\u7522\u751f java.lang.NullPointerException
-dataflow.message.cce=\u8f49\u63db {0}
\u70ba #ref
#loc \u53ef\u80fd\u751f\u7522 java.lang.ClassCastException
-dataflow.message.arraystore=Storing element of type {0}
to array of {1}
elements may produce java.lang.ArrayStoreException
+dataflow.message.npe.method.invocation=Method invocation #ref
#loc may produce NullPointerException
+dataflow.message.npe.method.invocation.sure=Method invocation #ref
#loc will produce NullPointerException
+dataflow.message.npe.inner.class.construction=Inner class construction may produce NullPointerException
+dataflow.message.npe.inner.class.construction.sure=Inner class construction will produce NullPointerException
+dataflow.message.npe.methodref.invocation=Method reference invocation #ref
#loc may produce NullPointerException
+dataflow.message.npe.array.access=Array access #ref
#loc may produce NullPointerException
+dataflow.message.npe.array.access.sure=Array access #ref
#loc will produce NullPointerException
+dataflow.message.npe.field.access.sure=Dereference of #ref
#loc will produce NullPointerException
+dataflow.message.npe.field.access=Dereference of #ref
#loc may produce NullPointerException
+dataflow.message.cce=Casting {0}
to #ref
#loc may produce ClassCastException
+dataflow.message.arraystore=Storing element of type {0}
to array of {1}
elements may produce ArrayStoreException
dataflow.message.redundant.instanceof=\u689d\u4ef6 #ref
#loc \u662f\u591a\u9918\u7684\uff0c\u53ef\u4ee5\u53d6\u4ee3\u70ba null\u6aa2\u67e5
dataflow.message.contract.fail=\u6839\u64da\u65b9\u6cd5\u5408\u7d04\uff0c '#ref' \u8abf\u7528\u7e3d\u662f\u5931\u6557
dataflow.message.contract.fail.index=\u6839\u64da\u7d22\u5f15\u8d8a\u754c\uff0c '#ref' \u8abf\u7528\u7e3d\u662f\u5931\u6557
@@ -75,16 +79,17 @@ dataflow.message.return.nullable.from.notnull=\u904b\u7b97\u5f0f #refnull
\u7531\u672a\u7533\u660e\u70ba @{0} \u7684\u65b9\u6cd5\u8fd4\u56de
dataflow.message.return.nullable.from.notnullable=\u904b\u7b97\u5f0f #ref
\u53ef\u4ee5\u8a08\u7b97\u70ba null \uff0c\u4f46\u5b83\u7531\u672a\u7533\u660e\u70ba @{0} \u7684\u65b9\u6cd5\u8fd4\u56de
dataflow.message.return.nullable.from.notnull.function=\u51fd\u6578\u53ef\u80fd\u8fd4\u56de null \uff0c\u4f46\u9019\u88e1\u4e0d\u5141\u8a31
-dataflow.message.unboxing=#ref
#loc \u7684\u62c6\u7bb1\u53ef\u80fd\u7522\u751f java.lang.NullPointerException
-dataflow.message.unboxing.method.reference=#ref
#loc \u7684\u4f7f\u7528\u9700\u8981\u62c6\u7bb1\uff0c\u53ef\u80fd\u7522\u751f java.lang.NullPointerException
-dataflow.too.complex=\u65b9\u6cd5 #ref
\u592a\u8907\u96dc\uff0c\u7121\u6cd5\u900f\u904e\u8cc7\u6599\u8cc7\u6599\u6d41\u7b97\u6cd5\u9032\u884c\u5206\u6790
-dataflow.too.complex.class=\u985e\u5225\u521d\u59cb\u5316\u5668\u904e\u65bc\u8907\u96dc\uff0c\u7121\u6cd5\u900f\u904e\u8cc7\u6599\u8cc7\u6599\u6d41\u7b97\u6cd5\u9032\u884c\u5206\u6790
+dataflow.message.unboxing=Unboxing of #ref
#loc may produce NullPointerException
+dataflow.message.unboxing.method.reference=Use of #ref
#loc would need unboxing which may produce NullPointerException
+dataflow.too.complex={0} is too complex to analyze by data flow algorithm
+dataflow.not.precise={0} is complex: data flow results could be imprecise
dataflow.method.fails.with.null.argument=\u7576\u53c3\u6578\u70ba null \u6642\uff0c\u65b9\u6cd5\u5c07\u62cb\u51fa\u7570\u5e38
dataflow.message.constant.method.reference=\u65b9\u6cd5\u53c3\u7167\u7d50\u679c\u7e3d\u662f ''{0}''
dataflow.message.array.index.out.of.bounds=\u9663\u5217\u7d22\u5f15\u8d8a\u754c
dataflow.message.immutable.modified=\u4e0d\u53ef\u8b8a\u7269\u4ef6\u88ab\u4fee\u6539
dataflow.message.immutable.passed=\u4e0d\u53ef\u8b8a\u7269\u4ef6\u5728\u53ef\u8b8a\u7684\u5730\u65b9\u88ab\u50b3\u905e
dataflow.message.redundant.assignment=\u8b8a\u6578\u5df2\u7d93\u5206\u914d\u7d66\u9019\u500b\u503c
+dataflow.message.pointless.same.arguments=Arguments of '#ref' are the same. Calling this method with the same arguments is meaningless.
inspection.optional.get.without.is.present.message={0}.#ref()
without ''isPresent()'' check
@@ -106,13 +111,13 @@ inspection.redundant.cast.remove.quickfix=\u79fb\u9664\u591a\u9918\u7684\u8f49\u
inspection.redundant.cast.problem.descriptor=\u8f49\u63db {0} \u70ba {1} \u662f\u591a\u9918\u7684
#redundant throws
-inspection.redundant.throws.display.name=\u591a\u9918\u7684 throws \u8a9e\u53e5
-inspection.redundant.throws.remove.quickfix=\u79fb\u9664\u4e0d\u5fc5\u8981\u7684 throws \u5ba3\u544a
+inspection.redundant.throws.display.name=Redundant 'throws' clause
+inspection.redundant.throws.remove.quickfix=Remove unnecessary 'throws' declarations
inspection.redundant.throws.problem.descriptor=\u5ba3\u544a\u7684\u7570\u5e38 {0} \u5f9e\u672a\u5728\u65b9\u6cd5\u5be6\u73fe\u4e2d\u62cb\u51fa
inspection.redundant.throws.problem.descriptor1=\u5ba3\u544a\u7684\u7570\u5e38 {0} \u4e0d\u6703\u5728\u6b64\u65b9\u6cd5\u4e2d\u53c3\u7167\uff0c\u4e5f\u4e0d\u6703\u5728\u5176\u6d3e\u751f\u4e2d\u62cb\u51fa
inspection.redundant.throws.problem.descriptor2=\u5ba3\u544a\u7684\u7570\u5e38 {0} \u5f9e\u672a\u62cb\u51fa
-inspection.equals.hashcode.display.name=equals() \u548c hashCode() \u672a\u7b26\u5408
+inspection.equals.hashcode.display.name='equals()' and 'hashCode()' not paired
inspection.equals.hashcode.only.one.defined.problem.descriptor=\u985e\u5225\u5b9a\u7fa9\u4e86 {0} \uff0c\u4f46\u6c92\u6709\u5b9a\u7fa9 {1}
inspection.equals.hashcode.generate.equals.quickfix=\u7522\u751f 'equals()'
inspection.equals.hashcode.generate.hashcode.quickfix=\u7522\u751f 'hashCode()'
@@ -132,7 +137,7 @@ inspection.local.can.be.final.option4=\u5831\u544a\u96b1\u5f0f final \u7684\u8b8
inspection.can.be.local.parameter.problem.descriptor=\u53c3\u6578 #ref
\u53ef\u4ee5\u6709 final
\u4fee\u98fe\u7b26
inspection.can.be.local.variable.problem.descriptor=\u8b8a\u6578 #ref
\u53ef\u4ee5\u6709 final
\u4fee\u98fe\u7b26
-inspection.return.separated.from.computation.name=\u8fd4\u56de\u8207\u7d50\u679c\u8a08\u7b97\u5206\u96e2
+inspection.return.separated.from.computation.name='return' separated from the result computation
inspection.return.separated.from.computation.descriptor=\u8fd4\u56de\u8207 ''{0}'' \u7684\u8a08\u7b97\u7d50\u679c\u5206\u96e2
inspection.return.separated.from.computation.quickfix=\u5c07 ''return'' \u79fb\u8fd1 ''{0}'' \u7684\u503c\u7684\u8a08\u7b97
inspection.return.separated.from.computation.family.quickfix=\u5c07 'return' \u79fb\u8fd1\u7d50\u679c\u8a08\u7b97
@@ -219,7 +224,7 @@ inspection.redundant.array.creation.quickfix=\u79fb\u9664\u986f\u5f0f\u9663\u521
inspection.redundant.array.creation.for.varargs.call.descriptor=\u7528\u65bc\u8abf\u7528 varargs \u65b9\u6cd5\u7684\u591a\u9918\u9663\u5217\u5efa\u7acb
inspection.suspicious.collections.method.calls.display.name=\u53ef\u7591\u96c6\u5408\u65b9\u6cd5\u8abf\u7528
-inspection.suspicious.collections.method.calls.problem.descriptor=''{0}'' \u53ef\u80fd\u4e0d\u5305\u542b ''{1}'' \u985e\u578b
+inspection.suspicious.collections.method.calls.problem.descriptor=''{0}'' may not contain {2} of type ''{1}''
inspection.suspicious.collections.method.calls.problem.descriptor1=''{0}'' \u7684\u53ef\u7591\u8abf\u7528
inspection.suspicious.array.method.call.display.name=\u53ef\u7591\u9663\u5217\u65b9\u6cd5\u8abf\u7528
@@ -303,6 +308,7 @@ inspection.javadoc.problem.missing.tag=\u7f3a\u5c11\u5fc5\u9700\u7684\u6a19\u7c6
inspection.javadoc.problem.missing.tag.description=@{1} \u6a19\u7c64\u5f8c\u7f3a\u5c11 {0}
inspection.javadoc.problem.see.tag.expecting.ref=\u5728@see \u6a19\u7c64\u4e4b\u5f8c\uff0c\u9810\u671f\u985e\u5225/\u65b9\u6cd5\u53c3\u7167\uff0c\u53c3\u7167\u6587\u5b57\u6216 HTML \u9023\u7d50
inspection.javadoc.problem.cannot.resolve=\u7121\u6cd5\u5256\u6790\u7b26\u865f {0}
+inspection.javadoc.problem.inaccessible=Symbol {0} is inaccessible from here
inspection.javadoc.problem.name.expected=\u9810\u671f\u540d\u7a31
inspection.javadoc.problem.wrong.tag=\u932f\u8aa4\u7684\u6a19\u7c64 {0}
inspection.javadoc.problem.disallowed.tag=\u6b64\u8655\u4e0d\u5141\u8a31\u4f7f\u7528\u6a19\u7c64 {0}
@@ -383,7 +389,6 @@ inspection.progress.title=\u6aa2\u67e5\u4ee3\u78bc...
inspection.no.problems.dialog.title=\u4ee3\u78bc\u6aa2\u67e5
inspection.no.problems.message=\u627e\u4e0d\u5230\u53ef\u7591\u7684\u4ee3\u78bc\u3002{0} \u8655\u7406\u65bc ''{1}''\u3002
inspection.view.invalid.scope.message=\u6aa2\u67e5\u7bc4\u570d\u7121\u6548\u3002
-inspection.problems=\u554f\u984c
inspection.error.loading.message=\u8b80\u53d6\u8a2d\u5b9a\u6a94\u6848 {0, choice, 0#from {1}|1#} \u932f\u8aa4
inspection.errors.occurred.dialog.title=\u932f\u8aa4\u51fa\u73fe
inspection.severity=\u56b4\u91cd\u6027\uff1a(&V)
@@ -570,6 +575,7 @@ group.names.language.level.specific.issues.and.migration.aids8=Java 8
group.names.language.level.specific.issues.and.migration.aids9=Java 9
group.names.language.level.specific.issues.and.migration.aids5=Java 5
group.names.language.level.specific.issues.and.migration.aids10=Java 10
+group.names.language.level.specific.issues.and.migration.aids11=Java 11
group.names.language.level.specific.issues.and.migration.aids12=Java 12
group.names.javabeans.issues=JavaBeans \u554f\u984c
group.names.inheritance.issues=\u7e7c\u627f\u554f\u984c
@@ -583,7 +589,6 @@ group.names.xml=XML
group.names.toString.issues=toString() \u554f\u984c
group.names.reflective.access.issues=\u53cd\u5c04\u5b58\u53d6
-
duplicate.property.display.name=\u91cd\u8907\u5c6c\u6027
duplicate.property.diff.key.problem.descriptor=\u91cd\u8907\u7684\u5c6c\u6027\u9375 ''{0}'' \u6709\u4e0d\u540c\u7684\u503c #treeend :
duplicate.property.diff.key.progress.indicator.text=\u8655\u7406\u91cd\u8907\u7684\u5c6c\u6027\u9375:{0}
@@ -858,6 +863,8 @@ inspection.handle.signature.field.type=\u6b04\u4f4d ''{0}'' \u7684\u985e\u578b\u
inspection.handle.signature.field.cannot.resolve=\u7121\u6cd5\u5256\u6790\u6b04\u4f4d ''{0}''
inspection.handle.signature.method.static=\u65b9\u6cd5 ''{0}'' \u662f\u975c\u614b\u7684
inspection.handle.signature.method.not.static=\u65b9\u6cd5 ''{0}'' \u662f\u975e\u975c\u614b\u7684
+inspection.handle.signature.method.abstract=Method ''{0}'' is abstract in ''{1}''
+inspection.handle.signature.not.subclass=Caller class ''{0}'' must be a subclass of ''{1}''
inspection.handle.signature.change.type.fix.name=\u8b8a\u66f4\u985e\u578b\u70ba ''{0}''
inspection.handle.signature.replace.with.fix.name=\u53d6\u4ee3\u70ba ''{0}''
@@ -911,6 +918,7 @@ inspection.replace.with.trivial.lambda.fix.name=\u7528\u8fd4\u56de ''{0}'' \u768
inspection.redundant.null.check.message=Redundant null-check: {0} is never null
inspection.redundant.null.check.always.fail.message=Null-check will always fail: {0} is never null
inspection.redundant.null.check.fix.family.name=Remove redundant null-check
+inspection.redundant.null.check.fix.notnull.family.name=Remove erroneous '!= null'
inspection.comparator.result.comparison.display.name=\u6bd4\u8f03\u65b9\u6cd5\u7684\u53ef\u7591\u7528\u6cd5
inspection.comparator.result.comparison.problem.display.name=\u6bd4\u8f03\u65b9\u6cd5\u7684\u7d50\u679c\u662f\u7279\u5b9a\u5e38\u6578
@@ -934,7 +942,7 @@ navigate.to.duplicate.fix=\u5c0e\u822a\u5230\u91cd\u8907
inspection.idempotent.loop.body=Idempotent loop body
-inspection.undeclared.service.usage.name=Usage of service not declared in module-info
+inspection.undeclared.service.usage.name=Usage of service not declared in 'module-info'
inspection.undeclared.service.usage.message=Usage of service ''{0}'' is not declared in module-info
inspection.conditional.break.in.infinite.loop=Move condition to loop
@@ -943,21 +951,24 @@ inspection.conditional.break.in.infinite.loop.description=Conditional break insi
inspection.endless.stream.description=Non-short-circuit operation consumes the infinite stream
-inspection.redundant.comparator.comparing.display.name=Redundant Comparator.comparing
-inspection.redundant.comparator.comparing.message=\u7121\u7528\u7684 ''{0}()'' \u8abf\u7528
-inspection.redundant.comparator.comparing.fix.remove.name=\u522a\u9664 ''{0}()'' \u8abf\u7528
-inspection.redundant.comparator.comparing.fix.replace.name=\u522a\u9664 ''{0}()'' \u8abf\u7528\u4e26\u4f7f\u7528 ''{1}()''
-inspection.redundant.comparator.comparing.fix.family.name=\u522a\u9664\u591a\u9918\u7684\u8abf\u7528
+inspection.simplifiable.comparator.display.name=\u53ef\u7c21\u5316\u6bd4\u8f03\u5668
+inspection.simplifiable.comparator.comparing.message=Unnecessary ''{0}()'' call
+inspection.simplifiable.comparator.reversed.message=Comparator can be simplified if ''{0}()'' call is replaced with ''{1}()''
+inspection.simplifiable.comparator.fix.comparing.family.name=\u522a\u9664\u591a\u9918\u7684\u8abf\u7528
+inspection.simplifiable.comparator.fix.remove.name=\u522a\u9664 ''{0}()'' \u8abf\u7528
+inspection.simplifiable.comparator.fix.replace.name=\u522a\u9664 ''{0}()'' \u8abf\u7528\uff0c\u4e26\u4f7f\u7528 ''{1}()''
+inspection.simplifiable.comparator.fix.reversed.family.name=Simplify comparator replacing 'max' with 'min'
+inspection.simplifiable.comparator.fix.reversed.name=Replace with ''{0}'' simplifying the comparator
inspection.capturing.cleaner=Runnable passed to Cleaner.register() captures ''{0}'' reference
inspection.capturing.cleaner.description=\u6e05\u7406\u6355\u7372\u7684\u7269\u4ef6\u53c3\u7167
-inspection.redundant.explicit.close=Redundant close
-inspection.redundant.explicit.close.fix.name=Remove redundant close
+inspection.redundant.explicit.close=Redundant 'close()'
inspection.fold.expression.into.stream.display.name=Expression can be folded into Stream chain
inspection.fold.expression.into.stream.fix.name=Fold expression into Stream chain
inspection.fold.expression.into.string.display.name=Expression can be folded into 'String.join'
inspection.fold.expression.into.string.fix.name=Fold expression into 'String.join'
+inspection.fold.expression.fix.family.name=\u6298\u758a\u904b\u7b97\u5f0f
inspection.charset.object.can.be.used.display.name=Standard Charset object can be used
inspection.charset.object.can.be.used.message={0} can be used instead
@@ -979,3 +990,23 @@ inspection.class.getclass.message='getClass()' is called on Class instance
inspection.class.getclass.fix.remove.name=Remove 'getClass()' call
inspection.class.getclass.fix.replace.name=Replace with 'Class.class'
redundant.backticks.around.raw.string.literal.display.name=Redundant backticks around raw string literal
+inspection.objects.equals.can.be.simplified.display.name=Objects.equals() can be replaced with equals()
+inspection.objects.equals.can.be.simplified.message=Can be replaced with ''{0}''
+
+inspection.duplicate.expressions.display.name=Multiple occurrences of the same expression
+inspection.duplicate.expressions.message=Multiple occurrences of #ref
#loc
+inspection.duplicate.expressions.complexity.threshold=Expression complexity threshold
+inspection.duplicate.expressions.introduce.variable.fix.family.name=Introduce variable
+inspection.duplicate.expressions.introduce.variable.fix.name=Introduce variable for ''{0}''
+inspection.duplicate.expressions.reuse.variable.fix.family.name=\u91cd\u8907\u4f7f\u7528\u8b8a\u6578
+inspection.duplicate.expressions.reuse.variable.fix.name=\u91cd\u8907\u4f7f\u7528\u8b8a\u6578 ''{0}'' for ''{1}''
+inspection.duplicate.expressions.replace.other.occurrences.fix.family.name=Replace with variable other occurrences of expression
+inspection.duplicate.expressions.replace.other.occurrences.fix.name=Replace with ''{0}'' other occurrences of ''{1}''
+
+inspection.sorted.collection.with.non.comparable.keys.display.name=Sorted collection with non-comparable elements
+inspection.sorted.collection.with.non.comparable.keys.message=Construction of sorted collection with non-comparable elements
+inspection.sorted.collection.with.non.comparable.keys.option.type.parameters=Don't report non-comparable type parameters
+
+inspection.join.declaration.and.assignment.display.name=Assignment can be joined with declaration
+inspection.join.declaration.and.assignment.message=Assignment can be joined with declaration of ''{0}''
+inspection.join.declaration.and.assignment.fix.family.name=\u52a0\u5165\u5ba3\u544a\u548c\u5206\u914d
\ No newline at end of file
diff --git a/resources_en/messages/JVMProfilerBundle.properties b/resources_en/messages/JVMProfilerBundle.properties
deleted file mode 100644
index fce8aa6..0000000
--- a/resources_en/messages/JVMProfilerBundle.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-attach.profiler.action.name=Attach Profiler
-attach.profiler.by.pid.action.name=Attach by PID
-open.profiler.dump.action.name=Open Profiler Dump
-
-stop.profiler.action.name=Stop Profiler
-export.profiler.result.action.name=Export Profiler Result
-
-collecting.processes.task.title=Collecting Processes...
-attach.popup.emptyText=No processes to attach to
-attach.popup.list.title=Attach to
-
-close.toolwindow.description=Close Profiler Window
-
-profiler.is.running.dialog.title=Profiler Is Running
-terminate.profiler.confirmation.text=Do you want to terminate profiler for process ''{0}''?
-
-sudo.dialog.title=Access Required
-sudo.dialog.note.row=Profiler requires access to the kernel-level API.\nEnter the sudo password to allow this.
-sudo.dialog.remember.tooltip="The password will be stored in keychain between application sessions."
-sudo.dialog.password.label=Sudo password:
-sudo.dialog.invalid.password=Incorrect password
-sudo.dialog.validation.canceled=Validation canceled
-
-sudo.validate.task.title=Validating Sudo Password
-
-attach.task.title=Attaching profiler to process {0}...
\ No newline at end of file
diff --git a/resources_en/messages/OptionsBundle.properties b/resources_en/messages/OptionsBundle.properties
index 7d11e31..f6a6c1a 100644
--- a/resources_en/messages/OptionsBundle.properties
+++ b/resources_en/messages/OptionsBundle.properties
@@ -141,6 +141,7 @@ options.general.color.descriptor.whitespaces=Text//Whitespaces
options.general.color.descriptor.indent.guide=Editor//Guides//Indent guide
options.general.color.descriptor.indent.guide.selected=Editor//Guides//Indent guide selected
options.general.color.descriptor.line.number=Code//Line number
+options.general.color.descriptor.line.number.on.caret.row=Code//Line number on caret row
options.general.color.descriptor.vcs.annotations=VCS Annotations//Foreground
options.general.color.descriptor.vcs.annotations.color.n=VCS Annotations//Background color #{0}
options.general.color.descriptor.vcs.diff.type.tag.prefix=Changed lines//
@@ -287,6 +288,9 @@ configurable.group.other.settings.display.name=Other Settings
configurable.group.other.settings.description=\
Settings that are related to non-bundled custom plugins and are not assigned to any other category.
+# for com.intellij.psi.css.codeStyle.CssLanguageCodeStyleSettingsProvider.STYLESHEET_GROUP
+stylesheet.code.style.group.settings.description=Configure the code style used in the style sheet languages.
+
configurable.default.project.tooltip=For new {0}s
configurable.current.project.tooltip=For current {0}
@@ -386,5 +390,6 @@ exportable.XPathView.XPathViewPlugin.presentable.name=XPath Viewer
exportable.ExternalResourceManagerImpl.presentable.name=Java EE External Resources
exportable.JavaCodeFoldingSettings.presentable.name=Code Folding Settings
exportable.PostfixTemplatesSettings.presentable.name=Postfix Completion
-
+exportable.UpdatesConfigurable.presentable.name=Updates
+
title.for.new.projects={0} for New {1}s
\ No newline at end of file
diff --git a/resources_en/messages/OptionsBundle_zh_CN.properties b/resources_en/messages/OptionsBundle_zh_CN.properties
index 743dad6..9bb3c44 100644
--- a/resources_en/messages/OptionsBundle_zh_CN.properties
+++ b/resources_en/messages/OptionsBundle_zh_CN.properties
@@ -141,6 +141,7 @@ options.general.color.descriptor.whitespaces=\u6587\u672c//\u7a7a\u683c
options.general.color.descriptor.indent.guide=\u7f16\u8f91\u5668//\u6307\u5bfc//\u7f29\u8fdb\u6307\u5bfc
options.general.color.descriptor.indent.guide.selected=\u7f16\u8f91\u5668//\u6307\u5bfc//\u6240\u9009\u7f29\u8fdb\u6307\u5bfc
options.general.color.descriptor.line.number=\u4ee3\u7801//\u884c\u53f7
+options.general.color.descriptor.line.number.on.caret.row=Code//Line number on caret row
options.general.color.descriptor.vcs.annotations=VCS \u6ce8\u91ca//\u524d\u666f
options.general.color.descriptor.vcs.annotations.color.n=VCS \u6ce8\u91ca//\u80cc\u666f\u8272 #{0}
options.general.color.descriptor.vcs.diff.type.tag.prefix=\u66f4\u6539\u7684\u884c//
@@ -257,7 +258,7 @@ configurable.group.project.settings.display.name=\u5f53\u524d\u9879\u76ee
configurable.group.project.settings.description= \u9879\u76ee\u8bbe\u7f6e
configurable.group.build.settings.weight=30
configurable.group.build.settings.help.topic=configurable.group.build.help.topic
-configurable.group.build.settings.display.name=\u6784\u5efa \u6267\u884c \u90e8\u7f72
+configurable.group.build.settings.display.name=\u6784\u5efa\uff0c\u6267\u884c\uff0c\u90e8\u7f72
configurable.group.build.settings.description=\u914d\u7f6e\u9879\u76ee\u6267\u884c\u8bbe\u7f6e\uff0c\u8bbe\u7f6e\u90e8\u7f72\u9009\u9879\u53ca\u81ea\u5b9a\u4e49\u8c03\u8bd5\u5668\u884c\u4e3a\u3002
configurable.group.build.tools.settings.parent=build
configurable.group.build.tools.settings.weight=1000
@@ -275,6 +276,9 @@ configurable.group.other.settings.weight=-10
configurable.group.other.settings.display.name=\u5176\u4ed6\u8bbe\u7f6e
configurable.group.other.settings.description=\u975e\u7ed1\u5b9a\u7684\u81ea\u5b9a\u4e49\u63d2\u4ef6\u76f8\u5173\u7684\u8bbe\u7f6e\uff0c\u4e0d\u5206\u914d\u7ed9\u4efb\u4f55\u5176\u4ed6\u7c7b\u522b\u3002
+# for com.intellij.psi.css.codeStyle.CssLanguageCodeStyleSettingsProvider.STYLESHEET_GROUP
+stylesheet.code.style.group.settings.description=\u914d\u7f6e\u6837\u5f0f\u8868\u8bed\u8a00\u4e2d\u4f7f\u7528\u7684\u4ee3\u7801\u6837\u5f0f\u3002
+
configurable.default.project.tooltip=For new {0}s
configurable.current.project.tooltip=For current {0}
@@ -374,5 +378,6 @@ exportable.XPathView.XPathViewPlugin.presentable.name=XPath \u67e5\u770b\u5668
exportable.ExternalResourceManagerImpl.presentable.name=Java EE \u7684\u5916\u90e8\u8d44\u6e90
exportable.JavaCodeFoldingSettings.presentable.name=\u4ee3\u7801\u6298\u53e0\u8bbe\u7f6e
exportable.PostfixTemplatesSettings.presentable.name=\u540e\u7f00\u8865\u5168
-
+exportable.UpdatesConfigurable.presentable.name=\u66f4\u65b0
+
title.for.new.projects={0} for New {1}s
\ No newline at end of file
diff --git a/resources_en/messages/OptionsBundle_zh_TW.properties b/resources_en/messages/OptionsBundle_zh_TW.properties
index 1bc55ac..6fdaae9 100644
--- a/resources_en/messages/OptionsBundle_zh_TW.properties
+++ b/resources_en/messages/OptionsBundle_zh_TW.properties
@@ -141,6 +141,7 @@ options.general.color.descriptor.whitespaces=\u6587\u5b57//\u7a7a\u683c
options.general.color.descriptor.indent.guide=\u7de8\u8f2f\u5668//\u6307\u5c0e//\u7e2e\u9032\u6307\u5c0e
options.general.color.descriptor.indent.guide.selected=\u7de8\u8f2f\u5668//\u6307\u5c0e//\u6240\u9078\u7e2e\u9032\u6307\u5c0e
options.general.color.descriptor.line.number=\u4ee3\u78bc//\u884c\u865f
+options.general.color.descriptor.line.number.on.caret.row=Code//Line number on caret row
options.general.color.descriptor.vcs.annotations=VCS \u8a3b\u89e3//\u524d\u666f
options.general.color.descriptor.vcs.annotations.color.n=VCS \u8a3b\u89e3//\u80cc\u666f\u8272 #{0}
options.general.color.descriptor.vcs.diff.type.tag.prefix=\u8b8a\u66f4\u7684\u884c//
@@ -257,7 +258,7 @@ configurable.group.project.settings.display.name=\u76ee\u524d\u9805\u76ee
configurable.group.project.settings.description= \u9805\u76ee\u8a2d\u5b9a
configurable.group.build.settings.weight=30
configurable.group.build.settings.help.topic=configurable.group.build.help.topic
-configurable.group.build.settings.display.name=\u69cb\u5efa \u57f7\u884c \u90e8\u7f72
+configurable.group.build.settings.display.name=\u69cb\u5efa\uff0c\u57f7\u884c\uff0c\u90e8\u7f72
configurable.group.build.settings.description=\u8a2d\u5b9a\u9805\u76ee\u57f7\u884c\u8a2d\u5b9a\uff0c\u8a2d\u5b9a\u90e8\u7f72\u9078\u9805\u53ca\u81ea\u8a02\u8a3a\u65b7\u5668\u884c\u70ba\u3002
configurable.group.build.tools.settings.parent=build
configurable.group.build.tools.settings.weight=1000
@@ -275,6 +276,9 @@ configurable.group.other.settings.weight=-10
configurable.group.other.settings.display.name=\u5176\u4ed6\u8a2d\u5b9a
configurable.group.other.settings.description=\u975e\u7d81\u5b9a\u7684\u81ea\u8a02\u589e\u76ca\u96c6\u76f8\u95dc\u7684\u8a2d\u5b9a\uff0c\u4e0d\u5206\u914d\u7d66\u4efb\u4f55\u5176\u4ed6\u985e\u5225\u3002
+# for com.intellij.psi.css.codeStyle.CssLanguageCodeStyleSettingsProvider.STYLESHEET_GROUP
+stylesheet.code.style.group.settings.description=\u8a2d\u5b9a\u6a23\u5f0f\u8868\u8a9e\u8a00\u4e2d\u4f7f\u7528\u7684\u4ee3\u78bc\u6a23\u5f0f\u3002
+
configurable.default.project.tooltip=For new {0}s
configurable.current.project.tooltip=For current {0}
@@ -374,5 +378,6 @@ exportable.XPathView.XPathViewPlugin.presentable.name=XPath \u6aa2\u8996\u5668
exportable.ExternalResourceManagerImpl.presentable.name=Java EE \u7684\u5916\u90e8\u8cc7\u6e90
exportable.JavaCodeFoldingSettings.presentable.name=\u4ee3\u78bc\u6298\u758a\u8a2d\u5b9a
exportable.PostfixTemplatesSettings.presentable.name=\u5f8c\u7f6e\u5b57\u5143\u88dc\u5168
-
+exportable.UpdatesConfigurable.presentable.name=\u66f4\u65b0
+
title.for.new.projects={0} for New {1}s
\ No newline at end of file
diff --git a/resources_en/messages/RefactoringBundle.properties b/resources_en/messages/RefactoringBundle.properties
index a9de6e1..bdf89ec 100644
--- a/resources_en/messages/RefactoringBundle.properties
+++ b/resources_en/messages/RefactoringBundle.properties
@@ -32,6 +32,7 @@ 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
+error.not.supported.for.local={0} refactoring is not supported for local classes
error.not.supported.for.package.info={0} refactoring is not supported for package-info.java
changeClassSignature.refactoring.name=Change Class Signature
changeClassSignature.no.type.parameters=Class cannot have type parameters
@@ -801,6 +802,9 @@ refactoring.extract.method.preview.group.original=Original code fragment
refactoring.extract.method.preview.group.duplicates=Duplicate code fragments
refactoring.extract.method.preview.button.refactor=&Do Refactor
refactoring.extract.method.preview.button.rerun=R&erun Refactoring
+refactoring.extract.method.preview.preparing=Preparing Diff
+refactoring.extract.method.preview.updating=Updating Diff
+refactoring.extract.method.preview.failed=Failed to extract method
search.for.references=Search for re&ferences
0.is.not.an.identifier={0}
is not a correct identifier to use in {1}
diff --git a/resources_en/messages/RefactoringBundle_zh_CN.properties b/resources_en/messages/RefactoringBundle_zh_CN.properties
index 67221e7..a56ff85 100644
--- a/resources_en/messages/RefactoringBundle_zh_CN.properties
+++ b/resources_en/messages/RefactoringBundle_zh_CN.properties
@@ -32,6 +32,7 @@ error.cannot.resolve=\u65e0\u6cd5\u89e3\u6790 {0}
error.incorrect.data=\u4e0d\u6b63\u786e\u7684\u6570\u636e
error.wrong.name.input=\u9519\u8bef\u7684\u540d\u79f0:{0}
error.not.supported.for.jsp={0} \u91cd\u6784\u4e0d\u652f\u6301 JSP
+error.not.supported.for.local={0} \u672c\u5730\u7c7b\u4e0d\u652f\u6301\u91cd\u6784
error.not.supported.for.package.info=package -info.java \u4e0d\u652f\u6301 {0} \u91cd\u6784
changeClassSignature.refactoring.name=\u66f4\u6539\u7c7b\u7b7e\u540d
changeClassSignature.no.type.parameters=\u8be5\u7c7b\u4e0d\u80fd\u6709\u7c7b\u578b\u53c2\u6570
@@ -573,7 +574,7 @@ move.file.0=\u79fb\u52a8\u6587\u4ef6 {0}
move.directory.0=\u79fb\u52a8\u76ee\u5f55 {0}
move.files.to.directory.label=\u5230\u76ee\u5f55\uff1a
the.file.will.be.moved.to.this.directory=\u6587\u4ef6\u5c06\u88ab\u79fb\u5230\u6b64\u76ee\u5f55
-searching.for.variables=Searching for Variables
+searching.for.variables=\u641c\u7d22\u53d8\u91cf\u4e2d
searching.for.duplicates=\u641c\u7d22\u91cd\u590d\u4e2d...
no.usages.can.be.replaced=\u6ca1\u6709 {0} \u7684\u7528\u6cd5\n\u53ef\u4ee5\u66ff\u6362\u4e3a {1} \u7684\u7528\u6cd5
turn.refs.to.super.command=\u7528 {1} \u66ff\u6362 {0} \u7684\u4f7f\u7528
@@ -801,6 +802,9 @@ refactoring.extract.method.preview.group.original=Original code fragment
refactoring.extract.method.preview.group.duplicates=Duplicate code fragments
refactoring.extract.method.preview.button.refactor=&Do Refactor
refactoring.extract.method.preview.button.rerun=R&erun Refactoring
+refactoring.extract.method.preview.preparing=\u51c6\u5907\u5dee\u5f02
+refactoring.extract.method.preview.updating=\u66f4\u65b0\u5dee\u5f02
+refactoring.extract.method.preview.failed=\u63d0\u53d6\u65b9\u6cd5\u5931\u8d25
search.for.references=\u641c\u7d22\u5f15\u7528(&F)
0.is.not.an.identifier={0}
\u4e0d\u662f\u4e00\u4e2a\u6b63\u786e\u7684\u6807\u8bc6\u7b26\uff0c\u4f7f\u7528\u4e8e {1}
diff --git a/resources_en/messages/RefactoringBundle_zh_TW.properties b/resources_en/messages/RefactoringBundle_zh_TW.properties
index e68307f..1af238a 100644
--- a/resources_en/messages/RefactoringBundle_zh_TW.properties
+++ b/resources_en/messages/RefactoringBundle_zh_TW.properties
@@ -32,6 +32,7 @@ error.cannot.resolve=\u7121\u6cd5\u5256\u6790 {0}
error.incorrect.data=\u4e0d\u6b63\u78ba\u7684\u8cc7\u6599
error.wrong.name.input=\u932f\u8aa4\u7684\u540d\u7a31:{0}
error.not.supported.for.jsp={0} \u91cd\u69cb\u4e0d\u652f\u63f4 JSP
+error.not.supported.for.local={0} \u672c\u6a5f\u985e\u5225\u4e0d\u652f\u63f4\u91cd\u69cb
error.not.supported.for.package.info=package -info.java \u4e0d\u652f\u63f4 {0} \u91cd\u69cb
changeClassSignature.refactoring.name=\u8b8a\u66f4\u985e\u5225\u7c3d\u540d
changeClassSignature.no.type.parameters=\u8a72\u985e\u5225\u4e0d\u80fd\u6709\u985e\u578b\u53c3\u6578
@@ -801,6 +802,9 @@ refactoring.extract.method.preview.group.original=Original code fragment
refactoring.extract.method.preview.group.duplicates=Duplicate code fragments
refactoring.extract.method.preview.button.refactor=&Do Refactor
refactoring.extract.method.preview.button.rerun=R&erun Refactoring
+refactoring.extract.method.preview.preparing=\u6e96\u5099\u5dee\u7570
+refactoring.extract.method.preview.updating=\u66f4\u65b0\u5dee\u7570
+refactoring.extract.method.preview.failed=\u64f7\u53d6\u65b9\u6cd5\u5931\u6557
search.for.references=\u641c\u7d22\u53c3\u7167(&F)
0.is.not.an.identifier={0}
\u4e0d\u662f\u4e00\u500b\u6b63\u78ba\u7684\u8b58\u5225\u78bc\uff0c\u4f7f\u7528\u65bc {1}
diff --git a/resources_en/messages/SMTestsRunnerBundle.properties b/resources_en/messages/SMTestsRunnerBundle.properties
index 55c648c..cd2fd79 100644
--- a/resources_en/messages/SMTestsRunnerBundle.properties
+++ b/resources_en/messages/SMTestsRunnerBundle.properties
@@ -15,7 +15,6 @@ sm.test.runner.ui.tests.tree.presentation.labels.was.terminated=Terminated
sm.test.runner.ui.tests.tree.presentation.labels.no.tests.were.found=No tests were found
sm.test.runner.ui.tests.tree.presentation.labels.test.reporter.not.attached=Test framework quit unexpectedly
sm.test.runner.ui.tests.tree.presentation.labels.no.tests.were.found.with.errors=No tests were found. Errors occurred
-sm.test.runner.ui.tests.tree.presentation.labels.empty.test.suite=Empty test suite
sm.test.runner.ui.tests.tree.presentation.labels.all.tests.passed=All Tests Passed
sm.test.runner.ui.tests.tree.presentation.labels.all.but.ignored.passed=All Tests Passed (except ignored)
sm.test.runner.ui.tests.tree.presentation.labels.test.noname=
from version control
radio.after.deletion.remove.silently=Re&move silently
@@ -201,7 +202,7 @@ 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}
+message.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
@@ -219,10 +220,13 @@ update.directories.scope.name=Directories
update.project.scope.name=Project
dialog.title.changes.browser=Changes Browser
code.smells.error.messages.tab.name=Code Analysis
-code.smells.error.indexing=Code analysis is not possible right now
+code.smells.error.indexing=Code Analysis Is not Possible Right Now
code.smells.error.indexing.message=Code analysis can''t be performed while {0} updates the indices in background.\n\
You can commit the changes without running inspections, or you can wait until indices are built.
searching.for.code.smells.processing.file.progress.text=Processing {0}
+searching.for.code.smells.shelving=Shelving {0}
+searching.for.code.smells.unshelving=Unshelving to {0}
+searching.for.code.smells.freezing.process=Before Checkin Code Analysis
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\
@@ -260,6 +264,7 @@ 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.removechangelist.all.lists.warning.text=Are you sure want to remove {0} changelists?\nAll changes will be moved to the new default changelist.
changes.changelist.chooser.existing.changelist=E&xisting Changelist
changes.changelist.chooser.new.changelist=Ne&w Changelist
changes.changelist.chooser.title=Choose Changelist
@@ -387,7 +392,7 @@ 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
-multiple.file.merge.title=Files Merged with Conflicts
+multiple.file.merge.title=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
diff --git a/resources_en/messages/VcsBundle_zh_CN.properties b/resources_en/messages/VcsBundle_zh_CN.properties
index 7766f78..777b697 100644
--- a/resources_en/messages/VcsBundle_zh_CN.properties
+++ b/resources_en/messages/VcsBundle_zh_CN.properties
@@ -114,6 +114,7 @@ column.name.configure.vcses.vcs=VCS
border.display.dialog.when.commands.invoked=\u8c03\u7528\u4ee5\u4e0b\u547d\u4ee4\u65f6\u663e\u793a\u9009\u9879\u5bf9\u8bdd\u6846
border.display.dialog.for.files.creation.deletion=\u6587\u4ef6\u521b\u5efa/\u5220\u9664
checkbox.show.clear.read.only.status.dialog=\u663e\u793a "\u6e05\u695a\u53ea\u8bfb\u72b6\u6001" \u5bf9\u8bdd\u6846(&C)
+combobox.show.patch.in.explorer.after.creation=Show patch in {0} after creation:
radio.after.deletion.do.not.remove=\u4e0d\u8981\u79fb\u9664(&N)
radio.after.deletion.show.options=\u4ece\u7248\u672c\u63a7\u5236\u4e2d\u5220\u9664\u524d
\u663e\u793a\u9009\u9879(&O)
radio.after.deletion.remove.silently=\u9759\u9ed8\u79fb\u9664(&M)
@@ -201,7 +202,7 @@ toolwindow.title.update.action.canceled.info={0} \u4fe1\u606f(\u5df2\u53d6\u6d88
update.tree.node.size.statistics={0, number} \u9879
toolwindow.title.update.project=\u66f4\u65b0\u9879\u76ee ({0})
action.name.group.by.packages=\u6309\u5305\u5206\u7ec4
-messge.text.cannot.save.settings=\u65e0\u6cd5\u6267\u884c\u64cd\u4f5c:{0}
+message.text.cannot.save.settings=\u4e0d\u80fd\u6267\u884c\u64cd\u4f5c: {0}
action.name.check.status=\u68c0\u67e5\u72b6\u6001(_K)
action.name.check.scope.status=\u68c0\u67e5 {0} \u72b6\u6001(_K)
action.display.name.check.scope.status=\u68c0\u67e5 {0} \u72b6\u6001
@@ -219,9 +220,12 @@ update.directories.scope.name=\u76ee\u5f55
update.project.scope.name=Project
dialog.title.changes.browser=\u66f4\u6539\u6d4f\u89c8\u5668
code.smells.error.messages.tab.name=\u4ee3\u7801\u5206\u6790
-code.smells.error.indexing=\u73b0\u5728\u4e0d\u80fd\u8fdb\u884c\u4ee3\u7801\u5206\u6790
+code.smells.error.indexing=Code Analysis Is not Possible Right Now
code.smells.error.indexing.message=\u5f53 {0} \u66f4\u65b0\u540e\u53f0\u7684\u7d22\u5f15\u65f6\uff0c\u4e0d\u80fd\u6267\u884c\u4ee3\u7801\u5206\u6790\u3002\n\u60a8\u53ef\u4ee5\u5728\u4e0d\u8fdb\u884c\u68c0\u67e5\u7684\u60c5\u51b5\u4e0b\u63d0\u4ea4\u66f4\u6539\uff0c\u4e5f\u53ef\u4ee5\u7b49\u5f85\u5efa\u7acb\u7d22\u5f15\u5b8c\u6210\u3002
searching.for.code.smells.processing.file.progress.text=\u5904\u7406 {0}
+searching.for.code.smells.shelving=\u6401\u7f6e {0}
+searching.for.code.smells.unshelving=\u89e3\u9664\u6401\u7f6e {0}
+searching.for.code.smells.freezing.process=Before Checkin Code Analysis
checking.code.smells.progress.title=\u6267\u884c\u4ee3\u7801\u5206\u6790
before.commit.files.contain.code.smells.edit.them.confirm.text=\u67d0\u4e9b\u6587\u4ef6\u5305\u542b\u95ee\u9898\u3002\n\u627e\u5230 {0} \u4e2a\u9519\u8bef\u548c {1} \u4e2a\u8b66\u544a\u3002\n\u4f60\u60f3\u56de\u987e\u5b83\u4eec\u5417\uff1f
code.smells.review.button=\u56de\u987e(&R)
@@ -257,6 +261,7 @@ changes.dialog.editchangelist.title=\u7f16\u8f91\u66f4\u6539\u5217\u8868
changes.removechangelist.warning.text=\u4f60\u786e\u5b9a\u8981\u79fb\u9664\u66f4\u6539\u5217\u8868 ''{0}'' \u5417\uff1f\n\u6240\u6709\u66f4\u6539\u5c06\u88ab\u79fb\u52a8\u5230\u6d3b\u52a8\u66f4\u6539\u5217\u8868\u3002
changes.removechangelist.multiple.warning.text=\u4f60\u786e\u5b9a\u8981\u79fb\u9664\u66f4\u6539\u5217\u8868 {0} \u5417\uff1f\n\u6240\u6709\u66f4\u6539\u5c06\u88ab\u79fb\u52a8\u5230\u6d3b\u52a8\u66f4\u6539\u5217\u8868\u3002
changes.removechangelist.warning.title=\u5220\u9664\u66f4\u6539\u5217\u8868
+changes.removechangelist.all.lists.warning.text=Are you sure want to remove {0} changelists?\nAll changes will be moved to the new default changelist.
changes.changelist.chooser.existing.changelist=\u73b0\u6709\u7684\u66f4\u6539\u5217\u8868(&X)
changes.changelist.chooser.new.changelist=\u65b0\u5efa\u66f4\u6539\u5217\u8868(&W)
changes.changelist.chooser.title=\u9009\u62e9\u66f4\u6539\u5217\u8868
@@ -285,9 +290,9 @@ changes.commit.partial.offer.to.move.text=\u5728\u63d0\u4ea4\u65f6\uff0c\u60a8\u
changes.commit.partial.offer.to.move.title=\u6d3b\u52a8\u66f4\u6539\u5217\u8868\u7684\u90e8\u5206\u63d0\u4ea4
checkbox.changelist.move.offer=\u5efa\u8bae\u5c06\u672a\u63d0\u4ea4\u7684\u66f4\u6539\u5230\u53e6\u4e00\u4e2a\u66f4\u6539\u5217\u8868(&T)
-commit.legend.modified=modified
-commit.legend.new=added
-commit.legend.deleted=deleted
+commit.legend.modified=\u5df2\u4fee\u6539\u7684
+commit.legend.new=\u65b0\u52a0\u7684
+commit.legend.deleted=\u5df2\u5220\u9664\u7684
changes.view.dnd.label={0} \u6587\u4ef6
error.executing.commit=\u6267\u884c\u9519\u8bef ''{0}'':{1}
@@ -324,7 +329,7 @@ create.patch.to.clipboard.title=\u4f5c\u4e3a\u8865\u4e01\u590d\u5236\u5230\u526a
create.patch.to.clipboard.description=\u4ece\u66f4\u6539\u521b\u5efa\u8865\u4e01\u5e76\u5c06\u5176\u590d\u5236\u5230\u526a\u8d34\u677f
create.patch.error.title=\u521b\u5efa\u8865\u4e01\u9519\u8bef:{0}
patch.apply.dialog.title=\u5e94\u7528\u8865\u4e01
-patch.file.type.description=Patch
+patch.file.type.description=\u8865\u4e01
patch.summary.changed.files={0} \u4e2a\u66f4\u6539\u7684\u6587\u4ef6
patch.summary.new.files={0} \u4e2a\u65b0\u6587\u4ef6
patch.summary.deleted.files={0} \u4e2a\u5220\u9664\u6587\u4ef6
@@ -384,7 +389,7 @@ button.configure.ignored.files=\u914d\u7f6e\u5ffd\u7565\u7684\u6587\u4ef6...(&I)
directory.mapping.add.title=\u6dfb\u52a0 VCS \u76ee\u5f55\u6620\u5c04
unshelve.changelist.chooser.title=\u4e0d\u6258\u7ba1\u66f4\u6539\u5230\u66f4\u6539\u5217\u8868
retrieving.annotations=\u52a0\u8f7d\u6ce8\u91ca
-multiple.file.merge.title=\u6587\u4ef6\u5408\u5e76\u51b2\u7a81
+multiple.file.merge.title=Conflicts
multiple.file.merge.properties.title=\u6587\u4ef6\u5408\u5e76\u4e0e\u5c5e\u6027\u51b2\u7a81
multiple.file.merge.accept.yours=\u63a5\u53d7\u4f60\u7684(&Y)
multiple.file.merge.accept.theirs=\u63a5\u53d7\u4ed6\u4eec\u7684(&T)
diff --git a/resources_en/messages/VcsBundle_zh_TW.properties b/resources_en/messages/VcsBundle_zh_TW.properties
index 6572ea5..c4c48ee 100644
--- a/resources_en/messages/VcsBundle_zh_TW.properties
+++ b/resources_en/messages/VcsBundle_zh_TW.properties
@@ -114,6 +114,7 @@ column.name.configure.vcses.vcs=VCS
border.display.dialog.when.commands.invoked=\u8abf\u7528\u4ee5\u4e0b\u547d\u4ee4\u6642\u986f\u793a\u9078\u9805\u5c0d\u8a71\u65b9\u584a
border.display.dialog.for.files.creation.deletion=\u6a94\u6848\u5efa\u7acb/\u522a\u9664
checkbox.show.clear.read.only.status.dialog=\u986f\u793a "\u6e05\u695a\u552f\u8b80\u72c0\u614b" \u5c0d\u8a71\u65b9\u584a(&C)
+combobox.show.patch.in.explorer.after.creation=Show patch in {0} after creation:
radio.after.deletion.do.not.remove=\u4e0d\u8981\u79fb\u9664(&N)
radio.after.deletion.show.options=\u5f9e\u7248\u672c\u63a7\u5236\u4e2d\u522a\u9664\u524d
\u986f\u793a\u9078\u9805(&O)
radio.after.deletion.remove.silently=\u975c\u9ed8\u79fb\u9664(&M)
@@ -201,7 +202,7 @@ toolwindow.title.update.action.canceled.info={0} \u8a0a\u606f(\u5df2\u53d6\u6d88
update.tree.node.size.statistics={0, number} \u9805
toolwindow.title.update.project=\u66f4\u65b0\u9805\u76ee ({0})
action.name.group.by.packages=\u6309\u5305\u7fa4\u7d44
-messge.text.cannot.save.settings=\u7121\u6cd5\u57f7\u884c\u64cd\u4f5c:{0}
+message.text.cannot.save.settings=\u4e0d\u80fd\u57f7\u884c\u64cd\u4f5c: {0}
action.name.check.status=\u6aa2\u67e5\u72c0\u614b(_K)
action.name.check.scope.status=\u6aa2\u67e5 {0} \u72c0\u614b(_K)
action.display.name.check.scope.status=\u6aa2\u67e5 {0} \u72c0\u614b
@@ -219,9 +220,12 @@ update.directories.scope.name=\u76ee\u9304
update.project.scope.name=Project
dialog.title.changes.browser=\u8b8a\u66f4\u700f\u89bd\u5668
code.smells.error.messages.tab.name=\u4ee3\u78bc\u5206\u6790
-code.smells.error.indexing=\u73fe\u5728\u4e0d\u80fd\u9032\u884c\u4ee3\u78bc\u5206\u6790
+code.smells.error.indexing=Code Analysis Is not Possible Right Now
code.smells.error.indexing.message=\u7576 {0} \u66f4\u65b0\u5f8c\u53f0\u7684\u7d22\u5f15\u6642\uff0c\u4e0d\u80fd\u57f7\u884c\u4ee3\u78bc\u5206\u6790\u3002\n\u60a8\u53ef\u4ee5\u5728\u4e0d\u9032\u884c\u6aa2\u67e5\u7684\u60c5\u6cc1\u4e0b\u63d0\u4ea4\u8b8a\u66f4\uff0c\u4e5f\u53ef\u4ee5\u7b49\u5f85\u5efa\u7acb\u7d22\u5f15\u5b8c\u6210\u3002
searching.for.code.smells.processing.file.progress.text=\u8655\u7406 {0}
+searching.for.code.smells.shelving=\u64f1\u7f6e {0}
+searching.for.code.smells.unshelving=\u89e3\u9664\u64f1\u7f6e {0}
+searching.for.code.smells.freezing.process=Before Checkin Code Analysis
checking.code.smells.progress.title=\u57f7\u884c\u4ee3\u78bc\u5206\u6790
before.commit.files.contain.code.smells.edit.them.confirm.text=\u67d0\u4e9b\u6a94\u6848\u5305\u542b\u554f\u984c\u3002\n\u627e\u5230 {0} \u500b\u932f\u8aa4\u548c {1} \u500b\u8b66\u544a\u3002\n\u4f60\u60f3\u56de\u9867\u5b83\u5011\u55ce\uff1f
code.smells.review.button=\u56de\u9867(&R)
@@ -257,6 +261,7 @@ changes.dialog.editchangelist.title=\u7de8\u8f2f\u8b8a\u66f4\u6e05\u55ae
changes.removechangelist.warning.text=\u4f60\u78ba\u5b9a\u8981\u79fb\u9664\u8b8a\u66f4\u6e05\u55ae ''{0}'' \u55ce\uff1f\n\u6240\u6709\u8b8a\u66f4\u5c07\u88ab\u79fb\u52d5\u5230\u6d3b\u52d5\u8b8a\u66f4\u6e05\u55ae\u3002
changes.removechangelist.multiple.warning.text=\u4f60\u78ba\u5b9a\u8981\u79fb\u9664\u8b8a\u66f4\u6e05\u55ae {0} \u55ce\uff1f\n\u6240\u6709\u8b8a\u66f4\u5c07\u88ab\u79fb\u52d5\u5230\u6d3b\u52d5\u8b8a\u66f4\u6e05\u55ae\u3002
changes.removechangelist.warning.title=\u522a\u9664\u8b8a\u66f4\u6e05\u55ae
+changes.removechangelist.all.lists.warning.text=Are you sure want to remove {0} changelists?\nAll changes will be moved to the new default changelist.
changes.changelist.chooser.existing.changelist=\u73fe\u6709\u7684\u8b8a\u66f4\u6e05\u55ae(&X)
changes.changelist.chooser.new.changelist=\u65b0\u589e\u8b8a\u66f4\u6e05\u55ae(&W)
changes.changelist.chooser.title=\u9078\u53d6\u8b8a\u66f4\u6e05\u55ae
@@ -285,9 +290,9 @@ changes.commit.partial.offer.to.move.text=\u5728\u63d0\u4ea4\u6642\uff0c\u60a8\u
changes.commit.partial.offer.to.move.title=\u6d3b\u52d5\u8b8a\u66f4\u6e05\u55ae\u7684\u90e8\u4efd\u63d0\u4ea4
checkbox.changelist.move.offer=\u5efa\u8b70\u5c07\u672a\u63d0\u4ea4\u7684\u8b8a\u66f4\u70ba\u53e6\u4e00\u500b\u8b8a\u66f4\u6e05\u55ae(&T)
-commit.legend.modified=\u5df2\u4fee\u6539\u7684:
-commit.legend.new=\u65b0\u52a0\u7684:
-commit.legend.deleted=\u5df2\u522a\u9664\u7684:
+commit.legend.modified=\u5df2\u4fee\u6539\u7684
+commit.legend.new=\u65b0\u52a0\u7684
+commit.legend.deleted=\u5df2\u522a\u9664\u7684
changes.view.dnd.label={0} \u6a94\u6848
error.executing.commit=\u57f7\u884c\u932f\u8aa4 ''{0}'':{1}
@@ -384,7 +389,7 @@ button.configure.ignored.files=\u8a2d\u5b9a\u5ffd\u7565\u7684\u6a94\u6848...(&I)
directory.mapping.add.title=\u65b0\u589e VCS \u76ee\u9304\u6620\u5c04
unshelve.changelist.chooser.title=\u4e0d\u6258\u7ba1\u8b8a\u66f4\u70ba\u8b8a\u66f4\u6e05\u55ae
retrieving.annotations=\u8f09\u5165\u8a3b\u89e3
-multiple.file.merge.title=\u6a94\u6848\u5408\u4f75\u885d\u7a81
+multiple.file.merge.title=Conflicts
multiple.file.merge.properties.title=\u6a94\u6848\u5408\u4f75\u8207\u5c6c\u6027\u885d\u7a81
multiple.file.merge.accept.yours=\u63a5\u53d7\u4f60\u7684(&Y)
multiple.file.merge.accept.theirs=\u63a5\u53d7\u4ed6\u5011\u7684(&T)
diff --git a/resources_en/messages/XDebuggerBundle_zh_CN.properties b/resources_en/messages/XDebuggerBundle_zh_CN.properties
index b4a41cc..43b4298 100644
--- a/resources_en/messages/XDebuggerBundle_zh_CN.properties
+++ b/resources_en/messages/XDebuggerBundle_zh_CN.properties
@@ -16,7 +16,7 @@ xdebugger.attach.toLocal.action=\u9644\u52a0\u5230\u672c\u5730\u8fdb\u7a0b...
xdebugger.attach.toLocal.action.description=\u4f7f\u7528\u53ef\u7528\u7684\u8c03\u8bd5\u5668\u8fde\u63a5\u5230\u672c\u5730\u8fd0\u884c\u7684\u8fdb\u7a0b
xdebugger.attach.toLocal.action.collectingProcesses=\u6536\u96c6\u8fdb\u7a0b...
xdebugger.attach.popup.emptyText=No processes to attach to
-xdebugger.attach.popup.title.default=Attach To
+xdebugger.attach.popup.title.default=\u9644\u5c5e\u4e8e
xdebugger.attach.toRemote.popup.title=Show {0} processes
xdebugger.attach.popup.selectDebugger.title=\u8c03\u8bd5\u5668
xdebugger.attach.popup.recent=\u6700\u8fd1\u7684
@@ -57,9 +57,9 @@ suspend.policy.panel.thread=\u7ebf\u7a0b(&T)
suspend.policy.panel.makeDefault=\u4f7f\u9ed8\u8ba4(&F)
xbreakpoints.properties.actions.group.title=\u64cd\u4f5c
-xbreakpoints.log.message.label=Log:
+xbreakpoints.log.message.label=\u65e5\u5fd7:
xbreakpoints.log.message.checkbox=\u201c\u65ad\u70b9\u201d\u6d88\u606f(&M)
-xbreakpoints.log.stack.checkbox=Stac&k trace
+xbreakpoints.log.stack.checkbox=\u5806\u6808\u8e2a\u8ff9(&t)
xbreakpoints.log.expression.checkbox=\u8ba1\u7b97\u548c\u65e5\u5fd7:(&E)
xbreakpoints.condition.checkbox=\u6761\u4ef6:(&C)
xbreakpoints.enabled.label=\u542f\u7528(&D)
@@ -167,10 +167,10 @@ settings.scroll.to.center=\u6eda\u52a8\u6267\u884c\u70b9\u5230\u4e2d\u5fc3
settings.enable.memory.view=\u542f\u7528\u5185\u5b58\u89c6\u56fe
settings.tooltip.label=\u5982\u679c\u7981\u7528\uff0c\u4f7f\u7528\u201c{0}\u201c\u663e\u793a/\u9690\u85cf\u63d0\u793a
-ad.extra.selection.shortcut=You can also choose an item with {0}
+ad.extra.selection.shortcut=\u4f60\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u9879\u76ee {0}
settings.drag.to.remove.breakpoint=\u79fb\u9664\u65ad\u70b9\uff1a
-settings.drag.to.remove.breakpoint.click=Click with left mouse button
-settings.drag.to.remove.breakpoint.drag=Drag to the editor or click with middle mouse button
+settings.drag.to.remove.breakpoint.click=\u70b9\u51fb\u9f20\u6807\u5de6\u952e
+settings.drag.to.remove.breakpoint.drag=\u62d6\u52a8\u5230\u7f16\u8f91\u5668\u533a\u57df\u6216\u70b9\u51fb\u9f20\u6807\u4e2d\u952e
settings.confirm.breakpoint.removal=\u786e\u8ba4\u5220\u9664\u6761\u4ef6\u6216\u65ad\u70b9\u65e5\u5fd7
message.confirm.breakpoint.removal.title=\u786e\u8ba4\u5220\u9664
diff --git a/resources_en/messages/XDebuggerBundle_zh_TW.properties b/resources_en/messages/XDebuggerBundle_zh_TW.properties
index 63396e6..12a2cc6 100644
--- a/resources_en/messages/XDebuggerBundle_zh_TW.properties
+++ b/resources_en/messages/XDebuggerBundle_zh_TW.properties
@@ -16,7 +16,7 @@ xdebugger.attach.toLocal.action=\u9644\u52a0\u5230\u672c\u6a5f\u9032\u7a0b...
xdebugger.attach.toLocal.action.description=\u4f7f\u7528\u53ef\u7528\u7684\u8a3a\u65b7\u5668\u9023\u63a5\u5230\u672c\u6a5f\u57f7\u884c\u7684\u9032\u7a0b
xdebugger.attach.toLocal.action.collectingProcesses=\u6536\u96c6\u9032\u7a0b...
xdebugger.attach.popup.emptyText=No processes to attach to
-xdebugger.attach.popup.title.default=Attach To
+xdebugger.attach.popup.title.default=\u9644\u5c6c\u65bc
xdebugger.attach.toRemote.popup.title=Show {0} processes
xdebugger.attach.popup.selectDebugger.title=\u8a3a\u65b7\u5668
xdebugger.attach.popup.recent=\u6700\u8fd1\u7684
@@ -57,9 +57,9 @@ suspend.policy.panel.thread=\u57f7\u884c\u7dd2(&T)
suspend.policy.panel.makeDefault=\u4f7f\u9810\u8a2d(&F)
xbreakpoints.properties.actions.group.title=\u64cd\u4f5c
-xbreakpoints.log.message.label=\u8a18\u9304:
+xbreakpoints.log.message.label=\u65e5\u8a8c:
xbreakpoints.log.message.checkbox=\u300c\u65b7\u9ede\u300d\u8a0a\u606f(&M)
-xbreakpoints.log.stack.checkbox=\u5806\u758a\u8e64\u8de1(&K)
+xbreakpoints.log.stack.checkbox=\u5806\u758a\u8e64\u8de1(&t)
xbreakpoints.log.expression.checkbox=\u8a08\u7b97\u548c\u65e5\u8a8c:(&E)
xbreakpoints.condition.checkbox=\u689d\u4ef6:(&C)
xbreakpoints.enabled.label=\u555f\u7528(&D)
@@ -125,55 +125,55 @@ debugger.session.tab.console.content.name=\u4e3b\u63a7\u53f0
debugger.session.tab.watches.title.with.size=\u89c0\u5bdf\u9ede ({0})
action.next.frame.text=\u4e0b\u4e00\u5e40
action.previous.frame.text=\u4e0a\u4e00\u5e40
-stack.frame.loading.text=Loading\u2026
-invalid.frame=
condition:{0}
-message.confirm.breakpoint.removal.message.log=
log expression:{0}
\ No newline at end of file
+stack.frame.loading.text=\u8f09\u5165\u4e2d\u2026
+invalid.frame=<\u7121\u6548\u5e40>
+xdebugger.drag.text.0.elements={0} \u5143\u7d20
+xdebugger.drop.text.add.to.watches=\u65b0\u589e\u5230\u89c0\u5bdf\u9ede
+
+debugger.frames.not.available=\u5e40\u4e0d\u53ef\u7528
+debugger.threads.not.available=\u57f7\u884c\u7dd2\u4e0d\u53ef\u7528
+debugger.variables.not.available=\u8b8a\u6578\u4e0d\u53ef\u7528
+debugger.no.watches=\u6c92\u6709\u89c0\u5bdf\u9ede
+debugger.no.breakpoints=\u6c92\u6709\u65b7\u9ede
+debugger.no.results=\u9375\u5165\u4e00\u500b\u904b\u7b97\u5f0f\u7136\u5f8c\u6309 'Enter'
+load.value.task.error=\u7121\u6cd5\u8f09\u5165\u503c: {0}
+load.value.task.text=\u8f09\u5165\u503c
+
+scope.global = \u5168\u5c40
+scope.local = \u672c\u6a5f
+scope.with = \u7528\u5340\u584a
+scope.closure = \u95dc\u9589
+scope.catch = \u6355\u6349
+scope.class = \u985e\u5225
+scope.instance = \u5be6\u4f8b
+scope.library = \u5eab
+scope.block = \u5340\u584a
+scope.script = \u6307\u4ee4\u78bc
+scope.unknown = \u672a\u77e5\u7684
+
+setting.value.tooltip.delay.label=\u503c\u5de5\u5177\u63d0\u793a\u5ef6\u9072(\u6beb\u79d2)\uff1a(&V)
+setting.enable.auto.expressions.label=\u5728\u8b8a\u6578\u6aa2\u8996\u4e2d\u555f\u7528\u81ea\u52d5\u904b\u7b97\u5f0f
+setting.sort.alphabetically.label=\u6309\u5b57\u5e55\u9806\u5e8f\u6392\u5e8f\u503c(&L)
+
+setting.hide.window.label=\u5728\u9032\u7a0b\u4e2d\u6b62\u6642\u96b1\u85cf\u8a3a\u65b7\u8996\u7a97(&W)
+setting.focus.app.on.breakpoint.label=\u5728\u65b7\u9ede\u6642\u805a\u7126\u5957\u7528
+settings.show.window.label=\u5728\u65b7\u9ede\u6642\u986f\u793a\u8a3a\u65b7\u8996\u7a97(&D)
+
+showReferring.dialog.title={0} \u7684\u53c3\u7167\u7269\u4ef6
+settings.show.values.inline=\u986f\u793a\u503c\u5167\u806f
+settings.show.value.tooltip=\u986f\u793a\u503c\u63d0\u793a\u3002
+settings.show.tooltip.on.selection=\u9078\u53d6\u4ee3\u78bc\u6642\u986f\u793a\u503c\u63d0\u793a
+settings.scroll.to.center=\u6372\u52d5\u57f7\u884c\u9ede\u5230\u4e2d\u5fc3
+settings.enable.memory.view=\u555f\u7528\u8a18\u61b6\u9ad4\u6aa2\u8996
+settings.tooltip.label=\u5982\u679c\u7981\u7528\uff0c\u4f7f\u7528\u300c{0}\u300c\u986f\u793a/\u96b1\u85cf\u63d0\u793a
+
+ad.extra.selection.shortcut=\u4f60\u4e5f\u53ef\u4ee5\u9078\u53d6\u4e00\u500b\u9805\u76ee {0}
+settings.drag.to.remove.breakpoint=\u79fb\u9664\u65b7\u9ede\uff1a
+settings.drag.to.remove.breakpoint.click=\u9ede\u64ca\u6ed1\u9f20\u5de6\u9375
+settings.drag.to.remove.breakpoint.drag=\u62d6\u52d5\u5230\u7de8\u8f2f\u5668\u5340\u57df\u6216\u9ede\u64ca\u6ed1\u9f20\u4e2d\u9375
+settings.confirm.breakpoint.removal=\u78ba\u8a8d\u522a\u9664\u689d\u4ef6\u6216\u65b7\u9ede\u65e5\u8a8c
+
+message.confirm.breakpoint.removal.title=\u78ba\u8a8d\u522a\u9664
+message.confirm.breakpoint.removal.message=\u5305\u542b\u65b7\u9ede
+message.confirm.breakpoint.removal.message.condition=
\u689d\u4ef6:{0}
+message.confirm.breakpoint.removal.message.log=
\u65e5\u8a8c\u904b\u7b97\u5f0f:{0}
\ No newline at end of file
diff --git a/resources_en/messages/XmlBundle.properties b/resources_en/messages/XmlBundle.properties
index 3f18e6e..75657f3 100644
--- a/resources_en/messages/XmlBundle.properties
+++ b/resources_en/messages/XmlBundle.properties
@@ -55,8 +55,7 @@ html.replace.tag.with.another.quickfix.text=Replace {0} tag with {1} tag
html.replace.tag.with.another.quickfix.family.name=Replace with another tag
html.inspections.check.presentational.tag=Presentational HTML tag
-#HtmlFormInputWithoutLabelInspection
-html.inspections.form.input.without.label=Form input without an associated label or title attribute
+#HtmlFormInputWithoutLabelInspection #HtmlTagWithouTagAttribute
html.inspections.create.label.from.text.before.action=Create a new label from the text before {0} element
html.inspections.create.label.from.text.after.action=Create a new label from the text after {0} element
html.inspections.create.new.label=Associate a new label with {0} element
@@ -173,6 +172,7 @@ xml.inspections.unused.schema.remove=Remove unused namespace declaration
xml.inspections.path.resolve=File path resolving in XML
xml.inspections.default.attribute.value=Redundant default attribute value assignment
+xml.inspections.deprecated=Deprecated elements
xml.inspections.global=XML highlighting
@@ -254,9 +254,16 @@ start.browser.checkbox.start.browser=After launch
start.browser.with.js.debugger=with &JavaScript debugger
javascript.debugger.settings.choose.file.title=Select
-javascript.debugger.settings.choose.file.subtitle=Select File to Debug JavaScript in
+javascript.debugger.settings.choose.file.subtitle=Select Web Page to Debug JavaScript in
setting.builtin.server.category.label=Built-in server
setting.value.builtin.server.port.label=&Port\:
setting.value.can.accept.external.connections=Can accept &external connections
setting.value.builtin.server.allow.unsigned.requests=&Allow unsigned requests
+
+html.inspections.check.required.alt=Missing required 'alt' attribute
+html.inspections.check.required.lang = Missing required 'lang' attribute
+html.inspections.check.required.summary=Missing required 'summary' attribute
+html.inspections.check.required.title=Missing required 'title' attribute
+html.inspections.check.required.title.element=Missing required 'title' element
+html.inspections.form.input.without.label=Missing associated label
diff --git a/resources_en/messages/XmlBundle_zh_CN.properties b/resources_en/messages/XmlBundle_zh_CN.properties
index 5a95c2b..8a21e67 100644
--- a/resources_en/messages/XmlBundle_zh_CN.properties
+++ b/resources_en/messages/XmlBundle_zh_CN.properties
@@ -55,8 +55,7 @@ html.replace.tag.with.another.quickfix.text=\u66ff\u6362\u6807\u7b7e {0} \u4e3a
html.replace.tag.with.another.quickfix.family.name=\u7528\u53e6\u4e00\u4e2a\u6807\u7b7e\u66ff\u6362
html.inspections.check.presentational.tag=\u663e\u793a\u7684 HTML \u6807\u7b7e
-#HtmlFormInputWithoutLabelInspection
-html.inspections.form.input.without.label=\u8868\u5355\u8f93\u5165\u6ca1\u6709\u76f8\u5173\u7684\u6807\u7b7e\u6216\u6807\u9898\u5c5e\u6027
+#HtmlFormInputWithoutLabelInspection #HtmlTagWithouTagAttribute
html.inspections.create.label.from.text.before.action=\u4ece {0} \u5143\u7d20\u4e4b\u524d\u7684\u6587\u5b57\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6807\u7b7e
html.inspections.create.label.from.text.after.action=\u4ece {0} \u5143\u7d20\u540e\u9762\u7684\u6587\u5b57\u521b\u5efa\u4e00\u4e2a\u65b0\u6807\u7b7e
html.inspections.create.new.label=\u5c06\u65b0\u6807\u7b7e\u4e0e {0} \u5143\u7d20\u76f8\u5173\u8054
@@ -173,6 +172,7 @@ xml.inspections.unused.schema.remove=\u79fb\u9664\u672a\u4f7f\u7528\u7684\u547d\
xml.inspections.path.resolve=XML \u4e2d\u7684\u6587\u4ef6\u8def\u5f84\u89e3\u6790
xml.inspections.default.attribute.value=\u591a\u4f59\u7684\u9ed8\u8ba4\u5c5e\u6027\u503c\u8d4b\u503c
+xml.inspections.deprecated=\u5f03\u7528\u5143\u7d20
xml.inspections.global=XML \u9ad8\u4eae
@@ -254,9 +254,16 @@ start.browser.checkbox.start.browser=\u5728\u542f\u52a8\u540e
start.browser.with.js.debugger=\u7528 JavaScript \u8c03\u8bd5\u5668(&J)
javascript.debugger.settings.choose.file.title=\u9009\u62e9
-javascript.debugger.settings.choose.file.subtitle=\u9009\u62e9\u6587\u4ef6\u4ee5\u8c03\u8bd5\u5176\u4e2d\u7684 JavaScript
+javascript.debugger.settings.choose.file.subtitle=Select Web Page to Debug JavaScript in
setting.builtin.server.category.label=\u5185\u7f6e\u670d\u52a1\u5668
setting.value.builtin.server.port.label=\u7aef\u53e3:(&P)
setting.value.can.accept.external.connections=\u53ef\u4ee5\u63a5\u53d7\u5916\u90e8\u8fde\u63a5(&E)
setting.value.builtin.server.allow.unsigned.requests=\u5141\u8bb8\u672a\u7b7e\u540d\u7684\u8bf7\u6c42(&A)
+
+html.inspections.check.required.alt=\u7f3a\u5c11\u5fc5\u9700\u7684 'alt' \u5c5e\u6027
+html.inspections.check.required.lang = \u7f3a\u5c11\u5fc5\u9700\u7684 'lang' \u5c5e\u6027
+html.inspections.check.required.summary=\u7f3a\u5c11\u5fc5\u9700\u7684 'summary' \u5c5e\u6027
+html.inspections.check.required.title=\u7f3a\u5c11\u5fc5\u9700\u7684 'title' \u5c5e\u6027
+html.inspections.check.required.title.element=\u7f3a\u5c11\u5fc5\u9700\u7684 'title' \u5143\u7d20
+html.inspections.form.input.without.label=Missing associated label
diff --git a/resources_en/messages/XmlBundle_zh_TW.properties b/resources_en/messages/XmlBundle_zh_TW.properties
index 727e1f8..d181c68 100644
--- a/resources_en/messages/XmlBundle_zh_TW.properties
+++ b/resources_en/messages/XmlBundle_zh_TW.properties
@@ -55,8 +55,7 @@ html.replace.tag.with.another.quickfix.text=\u53d6\u4ee3\u6a19\u7c64 {0} \u70ba
html.replace.tag.with.another.quickfix.family.name=\u7528\u53e6\u4e00\u500b\u6a19\u7c64\u53d6\u4ee3
html.inspections.check.presentational.tag=\u986f\u793a\u7684 HTML \u6a19\u7c64
-#HtmlFormInputWithoutLabelInspection
-html.inspections.form.input.without.label=\u8868\u55ae\u8f38\u5165\u6c92\u6709\u76f8\u95dc\u7684\u6a19\u7c64\u6216\u6a19\u984c\u5c6c\u6027
+#HtmlFormInputWithoutLabelInspection #HtmlTagWithouTagAttribute
html.inspections.create.label.from.text.before.action=\u5f9e {0} \u5143\u7d20\u4e4b\u524d\u7684\u6587\u5b57\u5efa\u7acb\u4e00\u500b\u65b0\u7684\u6a19\u7c64
html.inspections.create.label.from.text.after.action=\u5f9e {0} \u5143\u7d20\u5f8c\u9762\u7684\u6587\u5b57\u5efa\u7acb\u4e00\u500b\u65b0\u6a19\u7c64
html.inspections.create.new.label=\u5c07\u65b0\u6a19\u7c64\u8207 {0} \u5143\u7d20\u76f8\u95dc\u806f
@@ -173,6 +172,7 @@ xml.inspections.unused.schema.remove=\u79fb\u9664\u672a\u4f7f\u7528\u7684\u547d\
xml.inspections.path.resolve=XML \u4e2d\u7684\u6a94\u6848\u8def\u5f91\u5256\u6790
xml.inspections.default.attribute.value=\u591a\u9918\u7684\u9810\u8a2d\u5c6c\u6027\u503c\u8ce6\u503c
+xml.inspections.deprecated=\u68c4\u7528\u5143\u7d20
xml.inspections.global=XML \u9ad8\u4eae
@@ -254,9 +254,16 @@ start.browser.checkbox.start.browser=\u5728\u555f\u52d5\u5f8c
start.browser.with.js.debugger=\u7528 JavaScript \u8a3a\u65b7\u5668(&J)
javascript.debugger.settings.choose.file.title=\u9078\u53d6
-javascript.debugger.settings.choose.file.subtitle=\u9078\u53d6\u6a94\u6848\u4ee5\u8a3a\u65b7\u5176\u4e2d\u7684 JavaScript
+javascript.debugger.settings.choose.file.subtitle=Select Web Page to Debug JavaScript in
setting.builtin.server.category.label=\u5167\u7f6e\u4f3a\u670d\u5668
setting.value.builtin.server.port.label=\u901a\u8a0a\u57e0:(&P)
setting.value.can.accept.external.connections=\u53ef\u4ee5\u63a5\u53d7\u5916\u90e8\u9023\u63a5(&E)
setting.value.builtin.server.allow.unsigned.requests=\u5141\u8a31\u672a\u7c3d\u540d\u7684\u8981\u6c42(&A)
+
+html.inspections.check.required.alt=\u7f3a\u5c11\u5fc5\u9700\u7684 'alt' \u5c6c\u6027
+html.inspections.check.required.lang = \u7f3a\u5c11\u5fc5\u9700\u7684 'lang' \u5c6c\u6027
+html.inspections.check.required.summary=\u7f3a\u5c11\u5fc5\u9700\u7684 'summary' \u5c6c\u6027
+html.inspections.check.required.title=\u7f3a\u5c11\u5fc5\u9700\u7684 'title' \u5c6c\u6027
+html.inspections.check.required.title.element=\u7f3a\u5c11\u5fc5\u9700\u7684 'title' \u5143\u7d20
+html.inspections.form.input.without.label=Missing associated label
diff --git a/resources_en/org/intellij/images/ImagesBundle_zh_TW.properties b/resources_en/org/intellij/images/ImagesBundle_zh_TW.properties
index ade8093..4161007 100644
--- a/resources_en/org/intellij/images/ImagesBundle_zh_TW.properties
+++ b/resources_en/org/intellij/images/ImagesBundle_zh_TW.properties
@@ -6,7 +6,7 @@ select.external.executable.title=\u9078\u53d6\u7de8\u8f2f\u5668
select.external.executable.message=\u9078\u53d6\u5916\u90e8\u5716\u5f62\u7de8\u8f2f\u5668
error.broken.image.file.format=\u5716\u7247\u4e0d\u80fd\u8f09\u5165
\u5617\u8a66\u5f9e\u5916\u90e8\u958b\u555f\u5b83\u4f86\u89e3\u6c7a\u683c\u5f0f\u554f\u984c
-images.filetype.description=\u5716\u50cf\u6a94\u6848
+images.filetype.description=Image
settings.page.name=\u5716\u7247
thumbnails.toolwindow.name=\u9810\u89bd\u7e2e\u5716
diff --git a/resources_en/search/searchableOptions.xml b/resources_en/search/searchableOptions.xml
index aea8bdd..e1c1b8a 100644
--- a/resources_en/search/searchableOptions.xml
+++ b/resources_en/search/searchableOptions.xml
@@ -26,6 +26,7 @@
+
@@ -83,18 +84,11 @@
-
-
-
-
-
-
-
@@ -132,6 +126,11 @@
+
+
+
+
+
@@ -139,6 +138,9 @@
+
+
+
@@ -151,29 +153,11 @@