AddGlobalJsHint_Description=\u4e3a\u53d8\u91cf {0} \u751f\u6210 JsHint \u5168\u5c40\u6307\u4ee4
ArrayTrailingCommaDescription=\u5982\u679c\u5728\u6570\u7ec4\u7c7b\u578b\u4e2d\u7684\u6700\u540e\u4e00\u9879\u540e\u9762\u5b58\u5728 ',' \u5219\u53d1\u51fa\u8b66\u544a\u3002
ArrayTrailingCommaDisplayName=\u6570\u7ec4\u7c7b\u578b\u4e2d\u7684\u7ed3\u5c3e\u9017\u53f7
AssignmentCondition=\u5e94\u4e3a\u6761\u4ef6\u8868\u8fbe\u5f0f, \u4f46\u5b9e\u9645\u53d1\u73b0\u4e86\u8d4b\u503c\u3002
AssignmentInConditionDescription=\u5982\u679c\u5b58\u5728\u8d4b\u503c\u800c\u975e\u6761\u4ef6\u5219\u53d1\u51fa\u8b66\u544a\u3002
AssignmentInConditionDisplayName=\u6761\u4ef6\u4e2d\u8d4b\u503c
BetterConditionDescription=\u62a5\u544a\u5728\u6761\u4ef6\u4e2d\u4f7f\u7528\u4e86 == \u6216 != \u800c\u975e === \u6216 !== \u7684\u60c5\u51b5\u3002
BetterConditionDisplayName=\u4f7f\u7528 === \u6216 !== \u800c\u975e == \u6216 !=
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
# Copyright 2012 Oracle and/or its affiliates. All rights reserved.
#
# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
# Other names may be trademarks of their respective owners.
#
# The contents of this file are subject to the terms of either the GNU
# General Public License Version 2 only ("GPL") or the Common
# Development and Distribution License("CDDL") (collectively, the
# "License"). You may not use this file except in compliance with the
# License. You can obtain a copy of the License at
# http://www.netbeans.org/cddl-gplv2.html
# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
# specific language governing permissions and limitations under the
# License.  When distributing the software, include this License Header
# Notice in each file and include the License file at
# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the GPL Version 2 section of the License file that
# accompanied this code. If applicable, add the following below the
# License Header, with the fields enclosed by brackets [] replaced by
# your own identifying information:
# "Portions Copyrighted [year] [name of copyright owner]"
#
# If you wish your version of this file to be governed by only the CDDL
# or only the GPL Version 2, indicate your decision by adding
# "[Contributor] elects to include this software in this distribution
# under the [CDDL or GPL Version 2] license." If you do not indicate a
# single choice of license, a recipient has the option to distribute
# your version of this file under either the CDDL, the GPL Version 2 or
# to extend the choice of license to its licensees as provided above.
# However, if you add GPL Version 2 code and therefore, elected the GPL
# Version 2 license, then the option applies only if the new code is
# made subject to such option by the copyright holder.
#
# Contributor(s):
#
# Portions Copyrighted 2012 Sun Microsystems, Inc.
csl-hints/text/javascript/hints/convention=JS \u7ea6\u5b9a
csl-hints/text/javascript/hints/documentation=JS \u6587\u6863
csl-hints/text/javascript/hints/other=\u5176\u4ed6
CTL_Hints_DisplayName=\u63d0\u793a
CTL_Hints_ToolTip=JavaScript \u9759\u6001\u4ee3\u7801\u9a8c\u8bc1
# {0} - name of the duplicated property
DuplicateName=\u5c5e\u6027 "{0}" \u7684\u540d\u79f0\u91cd\u590d\u3002
DuplicatePropertyNameDescription=\u5982\u679c\u5728\u5bf9\u8c61\u7c7b\u578b\u4e2d\u5b9a\u4e49\u4e86\u5177\u6709\u76f8\u540c\u540d\u79f0\u7684\u591a\u4e2a\u5c5e\u6027\u5219\u53d1\u51fa\u8b66\u544a\u3002
DuplicatePropertyNameDisplayName=\u91cd\u590d\u7684\u5c5e\u6027\u540d
Ecma6Desc=\u5728 ECMA6 \u4e4b\u524d\u7684\u6e90\u4e2d\u4f7f\u7528\u4e86 ECMA6 \u529f\u80fd
Ecma6DisplayName=\u4f7f\u7528\u4e86 ECMA6 \u529f\u80fd
Ecma7Desc=\u5728 ECMA7 \u4e4b\u524d\u7684\u6e90\u4e2d\u4f7f\u7528\u4e86 ECMA7 \u529f\u80fd
Ecma7DisplayName=\u4f7f\u7528\u4e86 ECMA7 \u529f\u80fd
# {0} - expected char or string
# {1} - usually text, where is expected the first parameter
ExpectedInstead=\u5e94\u4e3a "{0}", \u5b9e\u9645\u4e3a "{1}"\u3002
IncorrectDocumentationRuleDesc=\u201c\u8bb0\u5f55\u7684\u53c2\u6570\u4e0d\u6b63\u786e\u201d\u63d0\u793a\u544a\u77e5\u60a8\u5728\u51fd\u6570\u53d8\u91cf\u4e2d\u672a\u4f7f\u7528\u5b9a\u4e49\u7684\u53c2\u6570\u3002
# {0} - parameter name which is incorectly specified
IncorrectDocumentationRuleDisplayDescription=\u9519\u8bef\u6587\u6863: {0}
IncorrectDocumentationRuleDN=\u8bb0\u5f55\u7684\u53c2\u6570\u4e0d\u6b63\u786e
JsConventionHintDesc=JavaScript \u4ee3\u7801\u7ea6\u5b9a\u63d0\u793a
JsConventionHintDisplayName=JavaScript \u4ee3\u7801\u7ea6\u5b9a
JsDocumentationHintDesc=JavaScript \u6587\u6863\u63d0\u793a
JsDocumentationHintDisplayName=JavaScript \u6587\u6863
JsErrorRule.displayName=JavaScript \u9519\u8bef
JsGlobalIsNotDefinedDesc=\u5168\u5c40\u53d8\u91cf\u672a\u58f0\u660e\u3002
JsGlobalIsNotDefinedDN=\u5168\u5c40\u53d8\u91cf\u672a\u58f0\u660e
# {0} - name of global variable
JsGlobalIsNotDefinedHintDesc=\u5168\u5c40\u53d8\u91cf "{0}" \u672a\u58f0\u660e\u3002
JsIncorrectReturnStatementDesc=\u4e0d\u6b63\u786e\u7684 return \u8bed\u53e5\u3002
JsIncorrectReturnStatementHintDesc=\u4e0d\u6b63\u786e\u7684 return \u8bed\u53e5
JsSwitchRule.displayName=\u9519\u8bef\u68c0\u67e5
JsWeirdAssignmentDesc=\u201c\u610f\u5916\u7684\u8d4b\u503c\u201d\u63d0\u793a\u544a\u77e5\u60a8\u7c7b\u4f3c\u4e8e x = x \u8fd9\u6837\u7684\u8d4b\u503c\u3002
JsWeirdAssignmentDN=\u610f\u5916\u7684\u8d4b\u503c
# {0} - char where is expected the semicolon
MissingSemicolon="{0}" \u4e4b\u540e\u5e94\u4e3a\u5206\u53f7\u201c;\u201d\u3002
MissingSemicolonDescription=\u5efa\u8bae\u5728\u8bed\u53e5\u4e4b\u540e\u6dfb\u52a0\u5206\u53f7\u3002
MissingSemicolonDisplayName=\u7f3a\u5c11\u5206\u53f7
MSG_HINT_DISABLE_ERROR_CHECKS_FILE=\u7981\u6b62\u5bf9\u6b64\u6587\u4ef6\u6267\u884c JavaScript \u9519\u8bef\u68c0\u67e5
# {0} - file mime type
MSG_HINT_DISABLE_ERROR_CHECKS_MIMETYPE=\u7981\u6b62\u5bf9 Mime \u7c7b\u578b\u4e3a{0}\u7684\u6240\u6709\u6587\u4ef6\u6267\u884c JavaScript \u9519\u8bef\u68c0\u67e5
MSG_HINT_ENABLE_ERROR_CHECKS_FILE=\u5141\u8bb8\u5bf9\u6b64\u6587\u4ef6\u6267\u884c JavaScript \u9519\u8bef\u68c0\u67e5
MSG_HINT_ENABLE_ERROR_CHECKS_FILE_DESCR=\u5df2\u7981\u6b62\u5bf9\u6b64\u6587\u4ef6\u6267\u884c JavaScript \u9519\u8bef\u68c0\u67e5, \u60a8\u53ef\u4ee5\u901a\u8fc7\u6b64\u63d0\u793a\u542f\u7528\u8be5\u529f\u80fd
# {0} - file mime type
MSG_HINT_ENABLE_ERROR_CHECKS_MIMETYPE=\u5141\u8bb8\u5bf9 Mime \u7c7b\u578b\u4e3a{0}\u7684\u6240\u6709\u6587\u4ef6\u6267\u884c JavaScript \u9519\u8bef\u68c0\u67e5
MSG_SwitchToEcma6=\u5c06\u9879\u76ee\u5207\u6362\u5230 ECMA6
MSG_SwitchToEcma7=\u5c06\u9879\u76ee\u5207\u6362\u5230 ECMA7
ObjectTrailingCommaDescription=\u5982\u679c\u5728\u5bf9\u8c61\u7c7b\u578b\u5b9a\u4e49\u4e2d\u7684\u6700\u540e\u4e00\u4e2a\u5c5e\u6027\u5b9a\u4e49\u4e4b\u540e\u5b58\u5728 ',' \u5219\u53d1\u51fa\u8b66\u544a\u3002
ObjectTrailingCommaDisplayName=\u5bf9\u8c61\u7c7b\u578b\u4e2d\u7684\u7ed3\u5c3e\u9017\u53f7
UndocumentedParameterRuleDesc=\u201c\u672a\u8bb0\u5f55\u53c2\u6570\u201d\u63d0\u793a\u544a\u77e5\u60a8\u7f3a\u5c11\u5173\u4e8e\u51fd\u6570\u53c2\u6570\u7684\u6587\u6863\u3002
# {0} - parameter name which is undocumented
UndocumentedParameterRuleDisplayDescription=\u672a\u8bb0\u5f55\u7684\u53c2\u6570: {0}
UndocumentedParameterRuleDN=\u672a\u8bb0\u5f55\u7684\u53c2\u6570
# {0} - the eunexpected token
UnexpectedArrayTrailing=\u610f\u5916\u7684 "{0}"\u3002
# {0} - the eunexpected token
UnexpectedObjectTrailing=\u610f\u5916\u7684 "{0}"\u3002

