#
# Default JavaScript messages file.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# This is replaced during jar assembly from property string
# and should not be translated
implementation.version = @IMPLEMENTATION.VERSION@

#
# To add JavaScript error messages for a particular locale, create a
# new Messages_[locale].properties file, where [locale] is the Java
# string abbreviation for that locale.  For example, JavaScript
# messages for the Polish locale should be located in
# Messages_pl.properties, and messages for the Italian Swiss locale
# should be located in Messages_it_CH.properties.  Message properties
# files should be accessible through the classpath under
# org.mozilla.javascript.resources
#
# See:
# java.util.ResourceBundle
# java.text.MessageFormat
#

# SomeJavaClassWhereUsed

params.omit.non.js.object.warning = true

msg.non.js.object.warning =\
    Rhino用法警告：缺少 Context.javaToJS() 转换：Rhino 运行时检测到类 “{1}” 的对象 “{0}”，它需要字符串、数字、布尔值或可编写脚本的实例。请检查您的代码是否缺少 Context.javaToJS() 调用。

# Codegen
msg.dup.parms =\
    参数名称 “{0}” 已存在。

msg.too.big.jump =\
    程序太复杂：跳转偏移量太大。

msg.too.big.index =\
    程序太复杂：内部索引超过 64KB 限制。

msg.while.compiling.fn =\
    编译函数 “{0}” 时遇到代码生成错误：{1}

msg.while.compiling.script =\
    编译脚本时遇到代码生成错误：{0}

# Context
msg.ctor.not.found =\
    未找到 “{0}” 的构造函数。

msg.not.ctor =\
    “{0}” 不是构造函数。

# FunctionObject
msg.varargs.ctor =\
    方法或构造函数 “{0}” 必须是带有签名的静态 \
    “(Context cx, Object[] args, Function ctorObj, boolean inNewExpr)” \
    以定义可变参数的构造函数。

msg.varargs.fun =\
    方法 “{0}” 必须是带有签名的静态 \
    “(Context cx, Scriptable thisObj, Object[] args, Function funObj)” \
    以定义可变参数的函数。

msg.incompat.call =\
    在不兼容的对象中调用了方法 “{0}”。

msg.incompat.call.details =\
    对不兼容对象调用的方法 “{0}”（{1} 不是 {2} 的实例）。

msg.bad.parms =\
    方法 “{1}” 中不支持参数类型 “{0}”。

msg.bad.method.return =\
    方法 “{1}” 中不支持返回类型 “{0}”。

msg.bad.ctor.return =\
    无法构造 “{0}” 类型的对象。

msg.no.overload =\
    方法 “{0}” 在类 “{1}” 中出现多次。

msg.method.not.found =\
    在 “{1}” 中找不到方法 “{0}” 。

msg.method.missing.parameter =\
    {0}：至少需要 {1} 个参数，但仅通过了 {2} 个

# IRFactory

msg.bad.for.in.lhs =\
    for..in 循环的左边部分不正确。

msg.mult.index =\
    for..in 循环中只允许有一个变量

msg.bad.for.in.destruct =\
    for..in 循环的左侧必须是一个长度为 2 的数组才能接受一个键值对。

msg.cant.convert =\
    无法转换为类型 “{0}”。

msg.bad.assign.left =\
    左侧分配无效。

msg.bad.decr =\
    递减的操作数无效。

msg.bad.incr =\
    递增的操作数无效。

msg.bad.yield =\
    yield 必须在函数内部。

msg.yield.parenthesized =\
    yield 后面的表达式必须放在括号中。

# NativeGlobal
msg.cant.call.indirect =\
    必须直接调用函数 “{0}”，而不是通过具有其他名称的函数。

msg.eval.nonstring =\
    如果您使用不是原始字符串的值调用 eval() 函数，\
    则返回有问题的值。那是你的意图吗？

msg.eval.nonstring.strict =\
    在严格模式下，不能使用原始字符串以外的值调用 eval() 函数。

msg.bad.destruct.op =\
    无效的解构赋值运算符

# NativeCall
msg.only.from.new =\
    “构造函数 {0}”只能从 “new” 表达式调用。

msg.deprec.ctor =\
    “{0}” 构造函数已弃用。

# NativeFunction
msg.no.function.ref.found =\
    未找到反编译函数引用 {0} 的源

msg.arg.isnt.array =\
    Function.prototype.apply 方法的第二个参数必须是一个数组

# NativeGlobal
msg.bad.esc.mask =\
    字符串转义掩码不正确

# NativeJavaClass
msg.cant.instantiate =\
    实例化错误 ({0})：类 {1} 是接口或抽象类

msg.bad.ctor.sig =\
    检测到具有不正确签名的构造函数：\
    {0} 调用带有签名 {2} 的 {1}

msg.not.java.obj =\
    getClass() 函数的预期参数必须是 Java 对象。

msg.no.java.ctor =\
    未找到带有参数 “{1}” 的 “{0}” 的 Java 构造函数。

# NativeJavaMethod
msg.method.ambiguous =\
    对应于 JavaScript 参数类型 ({2}) 的 Java 方法 {0}.{1} 的选择不明确。 \
    建议的方法是：{3}

msg.constructor.ambiguous =\
    对应于 JavaScript 参数类型 ({1}) 的 Java 构造函数 {0} 的选择不明确。 \
    建议的构造函数是：{2}

# NativeJavaObject
msg.conversion.not.allowed =\
    无法将 {0} 转换为 {1}

msg.no.empty.interface.conversion =\
    无法在没有任何方法的情况下将函数转换为接口 {0}

msg.no.function.interface.conversion =\
    无法将函数 {0} 转换为接口，因为它包含具有不同名称的方法

msg.undefined.function.interface =\
    接口适配器中未设置属性“{0}”

msg.not.function.interface =\
    属性 “{0}” 不是接口适配器中的函数

# NativeJavaPackage
msg.not.classloader =\
    “Packages” 的构造函数需要 java.lang.Classloader 类型的参数

# NativeRegExp
msg.bad.quant =\
    量词 {0} 不正确

msg.overlarge.backref =\
    过大的反向引用 {0}

msg.overlarge.min =\
    最小值 {0} 太大

msg.overlarge.max =\
    最大值 {0} 太大

msg.zero.quant =\
    量词 {0} 为空

msg.max.lt.min =\
    最大值 {0} 小于最小值

msg.unterm.quant =\
    量词 {0} 没有限制

msg.unterm.paren =\
    {0} 括号没有限制

msg.unterm.class =\
    字符类 {0} 没有限制

msg.bad.range =\
    字符类包含不正确的值范围。

msg.trail.backslash =\
    “\\” 在正则表达式的末尾。

msg.re.unmatched.right.paren =\
    只有一个 “)” 在正则表达式中。

msg.no.regexp =\
    正则表达式不可用。

msg.bad.backref =\
    反向引用超过了捕获括号的数量。

msg.bad.regexp.compile =\
    如果 RegExp.prototype.compile 的第一个参数是 RegExp 类型的对象，则只能指定一个参数。

msg.arg.not.object =\
    预期参数的类型是 “object” 而不是 “{0}”

# NativeDate
msg.invalid.date =\
    日期不正确。

msg.toisostring.must.return.primitive =\
    toISOString 应该返回一个原始值，而不是返回 “{0}”

# NativeJSON
msg.json.cant.serialize =\
    不知道如何序列化 {0}

# Parser
msg.got.syntax.errors = \
    编译产生 {0} 个语法错误。

msg.var.redecl =\
    类型错误：变量 {0} 被重新声明。

msg.const.redecl =\
    类型错误：重新声明了常量 {0}。

msg.let.redecl =\
    类型错误：变量 {0} 被重新声明。

msg.parm.redecl =\
    类型错误：重新声明了形式参数 {0} 。

msg.fn.redecl =\
    类型错误：重新声明了函数 {0}。

msg.let.decl.not.in.block =\
    语法错误：let 语句不能直接在块中

msg.bad.object.init =\
    语法错误：无效的对象初始化程序

# NodeTransformer
msg.dup.label =\
    标签 {0} 已存在

msg.undef.label =\
    标签 {0} 未定义

msg.bad.break =\
    未标记的 break 必须在 loop 或 switch 内

msg.continue.outside =\
    只能在循环语句中使用 continue

msg.continue.nonloop =\
    只能在迭代语句中使用 continue

msg.bad.throw.eol =\
    在关键字 throw 与 throw 表达式之间不允许使用换行符表示。

msg.no.paren.parms =\
    在函数参数前面缺少 “(”。

msg.no.parm =\
    缺少形式参数

msg.no.paren.after.parms =\
    在形式参数后面缺少 “)”

msg.no.brace.body =\
    在函数体前面缺少 “{”

msg.no.brace.after.body =\
    在函数体后面缺少 “}”

msg.no.paren.cond =\
    在条件前面缺少 “(”

msg.no.paren.after.cond =\
    在字符 “)” 后面缺少条件

msg.no.semi.stmt =\
    在语句前面缺少 “;”

msg.missing.semi =\
    在语句后面缺少 “;”

msg.no.name.after.dot =\
    在运算符 “.” 后面缺少名称

msg.no.name.after.coloncolon =\
    在运算符 “::” 后面缺少名称

msg.no.name.after.dotdot =\
    在运算符 “..” 后面缺少名称

msg.no.name.after.xmlAttr =\
    在 “.@” 后面缺少名称

msg.no.bracket.index =\
    在索引表达式中缺少 “]”

msg.no.paren.switch =\
    在 switch 表达式的前面缺少 “(”

msg.no.paren.after.switch =\
    在 switch 表达式的后面缺少 “)”

msg.no.brace.switch =\
    在 switch 正文的前面缺少 “{”

msg.bad.switch =\
    switch 语句不正确

msg.no.colon.case =\
    在 case 表达式的后面缺少 “:”

msg.double.switch.default =\
    default 标签在 switch 语句中重复出现

msg.no.while.do =\
    在 do-loop 的后面缺少 while

msg.no.paren.for =\
    在 for 之后缺少 “(”

msg.no.semi.for =\
    在 for-loop 初始化程序的后面缺少 “;”

msg.no.semi.for.cond =\
    在 for-loop 条件的后面缺少 “;”

msg.in.after.for.name =\
    在 for 的后面缺少 “in”

msg.no.paren.for.ctrl =\
    在 for-loop 控件的后面缺少 “)”

msg.no.paren.with =\
    在 With-Statement 对象的前面缺少 “(”

msg.no.paren.after.with =\
    在 With-Statement 对象的后面面缺少 “(”

msg.no.with.strict =\
    严格模式下不允许使用 with 语句

msg.no.paren.after.let =\
    在 let 的后面缺少 “(”

msg.no.paren.let =\
    在变量列表后面缺少 “)”

msg.no.curly.let =\
    在 let 语句的后面缺少 “}”

msg.bad.return =\
    返回的值无效

msg.no.brace.block =\
    复合语句中缺少 “}”

msg.bad.label =\
    无效标签

msg.bad.var =\
    缺少变量名

msg.bad.var.init =\
    变量初始化不正确

msg.no.colon.cond =\
    在条件表达式中缺少 “:”

msg.no.paren.arg =\
    在参数列表的后面缺少 “)”

msg.no.bracket.arg =\
    在元素列表的后面缺少 “]”

msg.bad.prop =\
    属性 ID 不正确

msg.no.colon.prop =\
    在属性 ID 的后面缺少 “:”

msg.no.brace.prop =\
    在属性列表的后面缺少 “}”

msg.no.paren =\
    在括号中缺少 “)”

msg.reserved.id =\
    标识符是保留字: {0}

msg.no.paren.catch =\
    在 catch-block 条件的前面缺少 “(”

msg.bad.catchcond =\
    无效的 catch-block 条件

msg.catch.unreachable =\
    不合格的 catch 后面的任何 catch 子句都是到达不了的

msg.no.brace.try =\
    在 try 的前面缺少 “{”

msg.no.brace.catchblock =\
    在 catch-block 主体的前面缺少 “{”

msg.try.no.catchfinally =\
    try 被检测到没有 catch 或 finally

msg.no.return.value =\
    函数 {0} 并不总是返回值

msg.anon.no.return.value =\
    匿名函数并不总是返回值

msg.return.inconsistent =\
    return 语句与之前的用法不一致

msg.generator.returns =\
    类型错误：生成器函数 {0} 返回一个值

msg.anon.generator.returns =\
    类型错误：匿名生成器函数返回一个值

msg.syntax =\
    语法错误

msg.unexpected.eof =\
    文件意外结束

msg.XML.bad.form =\
    XML 语法格式错误

msg.XML.not.available =\
    XML 解析不可用

msg.too.deep.parser.recursion =\
    解析期间递归太深

msg.too.many.constructor.args =\
    构造函数的参数太多

msg.too.many.function.args =\
    函数的参数太多

msg.no.side.effects =\
    代码没有返回值

msg.extra.trailing.semi =\
    末尾有多余的分号

msg.extra.trailing.comma =\
    按照 ECMA-262 的标准不允许对象初始值设定项末尾的逗号

msg.trailing.array.comma =\
    数组文字末尾的逗号根据所使用的浏览器表现不同

msg.equal.as.assign =\
    判断相等性 “==” 错误地输入成为赋值 “=” ？

msg.var.hides.arg =\
    变量 {0} 隐藏了一个参数

msg.destruct.assign.no.init =\
    解构赋值中缺少 “=”

msg.destruct.default.vals =\
    解构声明中的默认值不支持

msg.no.old.octal.strict =\
    严格模式下不允许使用旧的八进制数。

msg.no.old.octal.bigint =\
    BigInt 中不允许使用旧的八进制数。

msg.dup.obj.lit.prop.strict =\
    此对象文字中已定义属性 “{0}”。

msg.dup.param.strict =\
    此函数中已声明参数 “{0}”。

msg.bad.id.strict =\
    “{0}” 不是严格模式下此用途的有效标识符。

msg.no.unary.expr.on.left.exp =\
    “{0}” 不允许出现在 “**” 的左侧。

# 脚本运行时(ScriptRuntime)

# is there a better message for this?
# it's currently only used as a poison pill for caller, caller and arguments properties
msg.op.not.allowed =\
    不允许此操作。

msg.no.properties =\
    {0} 没有属性。

msg.invalid.iterator =\
    值不是有效的迭代器

msg.iterator.primitive =\
    __iterator__ 返回一个原始值

msg.not.iterable = \
    {0} 不可迭代

msg.invalid.for.each = \
    对每个循环无效

msg.assn.create.strict =\
    未声明变量的赋值 {0}

msg.ref.undefined.prop =\
    对未定义属性 “{0}” 的引用

msg.prop.not.found =\
    未找到属性 {0}。

msg.set.prop.no.setter =\
    无法将只有 getter 的属性 {0} 的值设置为 “{1}”。

msg.invalid.type =\
    {0} 类型的 JavaScript 值无效

msg.primitive.expected =\
    需要使用原始类型，而不是使用 {0}

msg.namespace.expected =\
    命名空间对象应该位于 “::” 左侧（找到 {0} 代替）

msg.null.to.object =\
    无法将 null 转换为对象。

msg.undef.to.object =\
    无法将未定义的值转换为对象。

msg.cant.convert.to.bigint =\
    无法将 {0} 转换为 BigInt。

msg.cant.convert.to.bigint.isnt.integer =\
    无法将 {0} 转换为 BigInt，它不是整数。

msg.bigint.bad.form =\
    不允许形成的 BigInt 语法

msg.cyclic.value =\
    不允许使用循环 “{0}” 值。

msg.is.not.defined =\
    “{0}” 未定义。

msg.undef.prop.read =\
    无法读取 {0} 的属性 “{1}”

msg.undef.prop.write =\
    无法将 {0} 的属性 “{1}” 设置为 “{2}”

msg.undef.prop.delete =\
    无法删除 {0} 的属性 “{1}”

msg.undef.method.call =\
    无法调用 {0} 的方法 “{1}”

msg.undef.with =\
    无法将 “with” 应用于 {0}

msg.isnt.function =\
    {0} 不是函数，它是 {1}。

msg.isnt.function.in =\
    无法调用对象 {1} 中的属性 {0}。它不是一个函数，而是 “{2}”。

msg.function.not.found =\
    找不到函数 {0}。

msg.function.not.found.in =\
    在对象 {1} 中找不到函数 {0} 。

msg.isnt.xml.object =\
    {0} 不是 XML 对象。

msg.no.ref.to.get =\
    {0} 不是对读取参考值的引用。

msg.no.ref.to.set =\
    {0} 不是将引用值设置为 {1} 的引用。

msg.no.ref.from.function =\
    函数 {0} 不能用作赋值的左侧部分，也不能用作 “++” 或 “--” 运算符的操作数。

msg.bad.default.value =\
    Object 的 getDefaultValue() 方法返回了一个对象。

msg.instanceof.not.object = \
    不能在非对象上使用 “instanceof”。

msg.instanceof.bad.prototype = \
    {0} 的 “prototype” 属性不是对象。

msg.in.not.object = \
    不能在非对象上使用 “in”。

msg.bad.radix = \
    不允许的基数 {0}。

msg.division.zero = \
    除以零。

msg.bigint.negative.exponent = \
    BigInt 负指数。

msg.bigint.out.of.range.arithmetic = \
    BigInt 的数过大。

# ScriptableObject
msg.default.value =\
    未找到对象默认值。

msg.zero.arg.ctor =\
    无法加载没有零参数构造函数的类 “{0}”。

duplicate.defineClass.name =\
    方法 “{0}” 无效：名称 “{1}” 已在使用中。

msg.ctor.multiple.parms =\
    无法定义构造函数或类 {0}，因为多个构造函数具有多个参数。

msg.extend.scriptable =\
    {0} 必须扩展 ScriptableObject 才能定义属性 {1}。

msg.bad.getter.parms =\
    为了定义一个属性，getter {0} 必须有零个参数或一个 ScriptableObject 参数。

msg.obj.getter.parms =\
    静态或委托 getter 方法 {0} 必须使用 ScriptableObject 参数。

msg.getter.static =\
    getter 方法和 setter 方法必须具有相同的状态（静态或非静态）。

msg.setter.return =\
    setter 方法的返回类型必须为空：{0}

msg.setter2.parms =\
    双参数 setter 方法必须使用 ScriptableObject 参数作为第一个参数。

msg.setter1.parms =\
    {0} 需要一个参数 getter 方法

msg.setter2.expected =\
    静态或委托设置方法 {0} 必须采用两个参数。

msg.setter.parms =\
    setter 方法需要一个或两个参数。

msg.setter.bad.type =\
    setter 方法 “{1}” 中的参数类型 “{0}” 不正确。

msg.add.sealed =\
    无法将属性添加到密封对象: {0}。

msg.remove.sealed =\
    无法从密封对象中删除属性: {0}。

msg.modify.sealed =\
    无法修改密封对象的属性: {0}。

msg.modify.readonly =\
    无法修改只读属性: {0}。

msg.both.data.and.accessor.desc =\
    描述符不能同时定义访问器和数据。

msg.change.configurable.false.to.true =\
    无法将 “{0}” 的可配置属性从 false 更改为 true。

msg.change.enumerable.with.configurable.false =\
    无法更改 “{0}” 的可枚举属性，因为 configurable 为 false。

msg.change.writable.false.to.true.with.configurable.false =\
    无法将 “{0}” 的可写属性从 false 更改为 true，因为 configurable 为 false。

msg.change.value.with.writable.false =\
    无法更改属性 “{0}” 的值，因为 writable 为 false。

msg.change.getter.with.configurable.false =\
    无法更改 “{0}” 的获取属性，因为 configurable 为 false。

msg.change.setter.with.configurable.false =\
    无法更改 “{0}” 的设置属性，因为 configurable 为 false。

msg.change.property.data.to.accessor.with.configurable.false =\
    无法将数据 “{0}” 的属性更改为访问者的属性，因为 configurable 为 false。

msg.change.property.accessor.to.data.with.configurable.false =\
    无法将访问器 “{0}” 的属性更改为数据的属性，因为 configurable 为 false。

msg.not.extensible =\
    无法向此对象添加属性，因为 extensible 为 false。

msg.delete.property.with.configurable.false =\
    无法删除 “{0}” 属性，因为可配置为 false。

# TokenStream
msg.missing.exponent =\
    缺少一个指数

msg.caught.nfe =\
    数字格式错误 {0}

msg.unterminated.string.lit =\
    字符串文字没有限制

msg.unterminated.comment =\
    注释没有限制

msg.unterminated.re.lit =\
    正则表达式文字没有限制

msg.invalid.re.flag =\
    正则表达式后的标志 “{0}” 无效

msg.no.re.input.for =\
    {0} 没有输入

msg.illegal.character =\
    不允许的字符：“{0}”

msg.invalid.escape =\
    Unicode 转义序列不正确

msg.bad.namespace =\
    不是有效的默认命名空间语句。 \
    语法是：默认 xml 命名空间 = EXPRESSION;

# TokensStream warnings
msg.bad.octal.literal =\
    字面量 {0} 的八进制数字是不允许的，将被解释为十进制数字

msg.reserved.keyword =\
    不允许使用将来的保留关键字 {0}，这将被解释为普通标识符

# LiveConnect errors
msg.java.internal.field.type =\
    内部错误：将 {1} 分配给 {2} 的 {0} 类型转换失败。

msg.java.conversion.implicit_method =\
    在类 {1} 中找不到转换方法 “{0}”。

msg.java.method.assign =\
    无法分配 Java 方法 “{0}”。

msg.java.internal.private =\
    内部错误：检测到尝试访问受保护的私有字段 “{0}”。

msg.java.no_such_method =\
    找不到方法 “{0}”。

msg.script.is.not.constructor =\
    脚本对象不是构造函数。

msg.nonjava.method =\
    Java 方法 “{0}” 被调用，{1} 作为“this”值，无法转换为 Java 类型 {2}。

msg.java.member.not.found =\
    Java 类 “{0}” 没有名为 “{1}” 的公共实例字段或方法。

msg.java.array.index.out.of.bounds =\
    数组索引 {0} 超出范围 [0..{1}]。

msg.java.array.member.not.found =\
    Java 数组没有名为 “{0}” 的公共实例字段或方法。

msg.pkg.int =\
    Java 中的包名不能以数字开头。

msg.access.prohibited =\
    禁止访问 Java 类 “{0}”。

# ImporterTopLevel
msg.ambig.import =\
    不明确的导入：“{0}” 和 “{1}”。

msg.not.pkg =\
    调用 importPackage 函数必须使用包而不是 “{0}”。

msg.not.class =\
    调用 importClass 函数必须使用类而不是 “{0}”。

msg.not.class.not.pkg =\
    “{0}” 既不是类也不是包。

msg.prop.defined =\
    无法导入 “{0}”，因为该名称的属性已定义。

#JavaAdapter
msg.adapter.zero.args =\
    JavaAdapter 至少需要一个参数。

msg.not.java.class.arg = \
    参数 {0} 不是 Java 类：{1}。

#JavaAdapter
msg.only.one.super = \
    JavaAdapter 只能扩展一个类。已给出类 {0} 和 {1}。

# Arrays
msg.arraylength.bad =\
    数组长度不合适。

# Arrays
msg.arraylength.too.big =\
    数组 {0} 的长度超出了支持的容量限制。

msg.empty.array.reduce =\
    “reduce” 方法在空数组上没有初始值时不起作用

# URI
msg.bad.uri =\
    URI 序列的格式不正确。

# Number
msg.bad.precision =\
    精度 {0} 超出范围。

# NativeGenerator
msg.send.newborn =\
    在第一次调用 next() 之前不能调用生成器的 send() 方法

msg.already.exec.gen =\
    生成器已经在运行

msg.StopIteration.invalid =\
    StopIteration 异常不能更改为任意对象。

msg.generator.executing =\
    生成器仍在执行先前的调用。