/* * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package sun.security.tools.keytool; /** *

This class represents the ResourceBundle * for the keytool. * */ public class Resources_zh_CN extends java.util.ListResourceBundle { private static final Object[][] contents = { {"NEWLINE", "\n"}, {"STAR", "*******************************************"}, {"STARNN", "*******************************************\n\n"}, // keytool: Help part {".OPTION.", " [OPTION]..."}, {"Options.", "选项:"}, {"option.1.set.twice", "多次指定了 %s 选项。除最后一个之外, 其余的将全部忽略。"}, {"multiple.commands.1.2", "只允许一个命令: 同时指定了 %1$s 和 %2$s。"}, {"Use.keytool.help.for.all.available.commands", "使用 \"keytool -?, -h, or --help\" 可输出此帮助消息"}, {"Key.and.Certificate.Management.Tool", "密钥和证书管理工具"}, {"Commands.", "命令:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", "使用 \"keytool -command_name --help\" 可获取 command_name 的用法。\n使用 -conf 选项可指定预配置的选项文件。"}, // keytool: help: commands {"Generates.a.certificate.request", "生成证书请求"}, //-certreq {"Changes.an.entry.s.alias", "更改条目的别名"}, //-changealias {"Deletes.an.entry", "删除条目"}, //-delete {"Exports.certificate", "导出证书"}, //-exportcert {"Generates.a.key.pair", "生成密钥对"}, //-genkeypair {"Generates.a.secret.key", "生成密钥"}, //-genseckey {"Generates.certificate.from.a.certificate.request", "根据证书请求生成证书"}, //-gencert {"Generates.CRL", "生成 CRL"}, //-gencrl {"Generated.keyAlgName.secret.key", "已生成{0}密钥"}, //-genseckey {"Generated.keysize.bit.keyAlgName.secret.key", "已生成 {0} 位{1}密钥"}, //-genseckey {"Imports.entries.from.a.JDK.1.1.x.style.identity.database", "从 JDK 1.1.x 样式的身份数据库导入条目"}, //-identitydb {"Imports.a.certificate.or.a.certificate.chain", "导入证书或证书链"}, //-importcert {"Imports.a.password", "导入口令"}, //-importpass {"Imports.one.or.all.entries.from.another.keystore", "从其他密钥库导入一个或所有条目"}, //-importkeystore {"Clones.a.key.entry", "克隆密钥条目"}, //-keyclone {"Changes.the.key.password.of.an.entry", "更改条目的密钥口令"}, //-keypasswd {"Lists.entries.in.a.keystore", "列出密钥库中的条目"}, //-list {"Prints.the.content.of.a.certificate", "打印证书内容"}, //-printcert {"Prints.the.content.of.a.certificate.request", "打印证书请求的内容"}, //-printcertreq {"Prints.the.content.of.a.CRL.file", "打印 CRL 文件的内容"}, //-printcrl {"Generates.a.self.signed.certificate", "生成自签名证书"}, //-selfcert {"Changes.the.store.password.of.a.keystore", "更改密钥库的存储口令"}, //-storepasswd {"showinfo.command.help", "显示安全相关信息"}, // keytool: help: options {"alias.name.of.the.entry.to.process", "要处理的条目的别名"}, //-alias {"groupname.option.help", "组名。例如,椭圆曲线名称。"}, //-groupname {"destination.alias", "目标别名"}, //-destalias {"destination.key.password", "目标密钥口令"}, //-destkeypass {"destination.keystore.name", "目标密钥库名称"}, //-destkeystore {"destination.keystore.password.protected", "受保护的目标密钥库口令"}, //-destprotected {"destination.keystore.provider.name", "目标密钥库提供方名称"}, //-destprovidername {"destination.keystore.password", "目标密钥库口令"}, //-deststorepass {"destination.keystore.type", "目标密钥库类型"}, //-deststoretype {"distinguished.name", "唯一判别名"}, //-dname {"X.509.extension", "X.509 扩展"}, //-ext {"output.file.name", "输出文件名"}, //-file and -outfile {"input.file.name", "输入文件名"}, //-file and -infile {"key.algorithm.name", "密钥算法名称"}, //-keyalg {"key.password", "密钥口令"}, //-keypass {"key.bit.size", "密钥位大小"}, //-keysize {"keystore.name", "密钥库名称"}, //-keystore {"access.the.cacerts.keystore", "访问 cacerts 密钥库"}, // -cacerts {"warning.cacerts.option", "警告: 使用 -cacerts 选项访问 cacerts 密钥库"}, {"new.password", "新口令"}, //-new {"do.not.prompt", "不提示"}, //-noprompt {"password.through.protected.mechanism", "通过受保护的机制的口令"}, //-protected {"tls.option.help", "显示 TLS 配置信息"}, // The following 2 values should span 2 lines, the first for the // option itself, the second for its -providerArg value. {"addprovider.option", "按名称 (例如 SunPKCS11) 添加安全提供方\n配置 -addprovider 的参数"}, //-addprovider {"provider.class.option", "按全限定类名添加安全提供方\n配置 -providerclass 的参数"}, //-providerclass {"provider.name", "提供方名称"}, //-providername {"provider.classpath", "提供方类路径"}, //-providerpath {"output.in.RFC.style", "以 RFC 样式输出"}, //-rfc {"signature.algorithm.name", "签名算法名称"}, //-sigalg {"source.alias", "源别名"}, //-srcalias {"source.key.password", "源密钥口令"}, //-srckeypass {"source.keystore.name", "源密钥库名称"}, //-srckeystore {"source.keystore.password.protected", "受保护的源密钥库口令"}, //-srcprotected {"source.keystore.provider.name", "源密钥库提供方名称"}, //-srcprovidername {"source.keystore.password", "源密钥库口令"}, //-srcstorepass {"source.keystore.type", "源密钥库类型"}, //-srcstoretype {"SSL.server.host.and.port", "SSL 服务器主机和端口"}, //-sslserver {"signed.jar.file", "已签名的 jar 文件"}, //=jarfile {"certificate.validity.start.date.time", "证书有效期开始日期/时间"}, //-startdate {"keystore.password", "密钥库口令"}, //-storepass {"keystore.type", "密钥库类型"}, //-storetype {"trust.certificates.from.cacerts", "信任来自 cacerts 的证书"}, //-trustcacerts {"verbose.output", "详细输出"}, //-v {"validity.number.of.days", "有效天数"}, //-validity {"Serial.ID.of.cert.to.revoke", "要撤销的证书的序列 ID"}, //-id // keytool: Running part {"keytool.error.", "keytool 错误: "}, {"Illegal.option.", "非法选项: "}, {"Illegal.value.", "非法值: "}, {"Unknown.password.type.", "未知口令类型: "}, {"Cannot.find.environment.variable.", "找不到环境变量: "}, {"Cannot.find.file.", "找不到文件: "}, {"Command.option.flag.needs.an.argument.", "命令选项{0}需要一个参数。"}, {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.", "警告: PKCS12 密钥库不支持其他存储和密钥口令。正在忽略用户指定的{0}值。"}, {"the.keystore.or.storetype.option.cannot.be.used.with.the.cacerts.option", "-keystore 或 -storetype 选项不能与 -cacerts 选项一起使用"}, {".keystore.must.be.NONE.if.storetype.is.{0}", "如果 -storetype 为 {0}, 则 -keystore 必须为 NONE"}, {"Too.many.retries.program.terminated", "重试次数过多, 程序已终止"}, {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}", "如果 -storetype 为 {0}, 则不支持 -storepasswd 和 -keypasswd 命令"}, {".keypasswd.commands.not.supported.if.storetype.is.PKCS12", "如果 -storetype 为 PKCS12, 则不支持 -keypasswd 命令"}, {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}", "如果 -storetype 为 {0}, 则不能指定 -keypass 和 -new"}, {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified", "如果指定了 -protected, 则不能指定 -storepass, -keypass 和 -new"}, {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified", "如果指定了 -srcprotected, 则不能指定 -srcstorepass 和 -srckeypass"}, {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified", "如果密钥库未受口令保护, 则不能指定 -storepass, -keypass 和 -new"}, {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified", "如果源密钥库未受口令保护, 则不能指定 -srcstorepass 和 -srckeypass"}, {"Illegal.startdate.value", "非法开始日期值"}, {"Validity.must.be.greater.than.zero", "有效性必须大于零"}, {"provclass.not.a.provider", "%s不是提供方"}, {"provider.name.not.found", "未找到名为 \"%s\" 的提供方"}, {"provider.class.not.found", "未找到提供方 \"%s\""}, {"Usage.error.no.command.provided", "用法错误: 没有提供命令"}, {"Source.keystore.file.exists.but.is.empty.", "源密钥库文件存在, 但为空: "}, {"Please.specify.srckeystore", "请指定 -srckeystore"}, {"Must.not.specify.both.v.and.rfc.with.list.command", "不能使用 'list' 命令来指定 -v 及 -rfc"}, {"Key.password.must.be.at.least.6.characters", "密钥口令至少必须为 6 个字符"}, {"New.password.must.be.at.least.6.characters", "新口令至少必须为 6 个字符"}, {"Keystore.file.exists.but.is.empty.", "密钥库文件存在, 但为空: "}, {"Keystore.file.does.not.exist.", "密钥库文件不存在: "}, {"Must.specify.destination.alias", "必须指定目标别名"}, {"Must.specify.alias", "必须指定别名"}, {"Keystore.password.must.be.at.least.6.characters", "密钥库口令至少必须为 6 个字符"}, {"Enter.the.password.to.be.stored.", "输入要存储的口令: "}, {"Enter.keystore.password.", "输入密钥库口令: "}, {"Enter.source.keystore.password.", "输入源密钥库口令: "}, {"Enter.destination.keystore.password.", "输入目标密钥库口令: "}, {"Keystore.password.is.too.short.must.be.at.least.6.characters", "密钥库口令太短 - 至少必须为 6 个字符"}, {"Unknown.Entry.Type", "未知条目类型"}, {"Entry.for.alias.alias.successfully.imported.", "已成功导入别名 {0} 的条目。"}, {"Entry.for.alias.alias.not.imported.", "未导入别名 {0} 的条目。"}, {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.", "导入别名 {0} 的条目时出现问题: {1}。\n未导入别名 {0} 的条目。"}, {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled", "已完成导入命令: {0} 个条目成功导入, {1} 个条目失败或取消"}, {"Warning.Overwriting.existing.alias.alias.in.destination.keystore", "警告: 正在覆盖目标密钥库中的现有别名 {0}"}, {"Existing.entry.alias.alias.exists.overwrite.no.", "存在现有条目别名 {0}, 是否覆盖? [否]: "}, {"Too.many.failures.try.later", "故障太多 - 请稍后再试"}, {"Certification.request.stored.in.file.filename.", "存储在文件 <{0}> 中的认证请求"}, {"Submit.this.to.your.CA", "将此提交给您的 CA"}, {"if.alias.not.specified.destalias.and.srckeypass.must.not.be.specified", "如果没有指定别名, 则不能指定目标别名和源密钥库口令"}, {"The.destination.pkcs12.keystore.has.different.storepass.and.keypass.Please.retry.with.destkeypass.specified.", "目标 pkcs12 密钥库具有不同的 storepass 和 keypass。请在指定了 -destkeypass 时重试。"}, {"Certificate.stored.in.file.filename.", "存储在文件 <{0}> 中的证书"}, {"Certificate.reply.was.installed.in.keystore", "证书回复已安装在密钥库中"}, {"Certificate.reply.was.not.installed.in.keystore", "证书回复未安装在密钥库中"}, {"Certificate.was.added.to.keystore", "证书已添加到密钥库中"}, {"Certificate.was.not.added.to.keystore", "证书未添加到密钥库中"}, {".Storing.ksfname.", "[正在存储{0}]"}, {"alias.has.no.public.key.certificate.", "{0}没有公共密钥 (证书)"}, {"Cannot.derive.signature.algorithm", "无法派生签名算法"}, {"Alias.alias.does.not.exist", "别名 <{0}> 不存在"}, {"Alias.alias.has.no.certificate", "别名 <{0}> 没有证书"}, {"groupname.keysize.coexist", "无法同时指定 -groupname 和 -keysize"}, {"deprecate.keysize.for.ec", "为生成 EC 密钥指定 -keysize 已过时,请改为使用 \"-groupname %s\"。"}, {"Key.pair.not.generated.alias.alias.already.exists", "未生成密钥对, 别名 <{0}> 已经存在"}, {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for", "正在为以下对象生成 {0} 位{1}密钥对和自签名证书 ({2}) (有效期为 {3} 天):\n\t {4}"}, {"Enter.key.password.for.alias.", "输入 <{0}> 的密钥口令"}, {".RETURN.if.same.as.keystore.password.", "\t(如果和密钥库口令相同, 按回车): "}, {"Key.password.is.too.short.must.be.at.least.6.characters", "密钥口令太短 - 至少必须为 6 个字符"}, {"Too.many.failures.key.not.added.to.keystore", "故障太多 - 密钥未添加到密钥库中"}, {"Destination.alias.dest.already.exists", "目标别名 <{0}> 已经存在"}, {"Password.is.too.short.must.be.at.least.6.characters", "口令太短 - 至少必须为 6 个字符"}, {"Too.many.failures.Key.entry.not.cloned", "故障太多。未克隆密钥条目"}, {"key.password.for.alias.", "<{0}> 的密钥口令"}, {"No.entries.from.identity.database.added", "未从身份数据库中添加任何条目"}, {"Alias.name.alias", "别名: {0}"}, {"Creation.date.keyStore.getCreationDate.alias.", "创建日期: {0,date}"}, {"alias.keyStore.getCreationDate.alias.", "{0}, {1,date}, "}, {"alias.", "{0}, "}, {"Entry.type.type.", "条目类型: {0}"}, {"Certificate.chain.length.", "证书链长度: "}, {"Certificate.i.1.", "证书[{0,number,integer}]:"}, {"Certificate.fingerprint.SHA.256.", "证书指纹 (SHA-256): "}, {"Keystore.type.", "密钥库类型: "}, {"Keystore.provider.", "密钥库提供方: "}, {"Your.keystore.contains.keyStore.size.entry", "您的密钥库包含 {0,number,integer} 个条目"}, {"Your.keystore.contains.keyStore.size.entries", "您的密钥库包含 {0,number,integer} 个条目"}, {"Failed.to.parse.input", "无法解析输入"}, {"Empty.input", "空输入"}, {"Not.X.509.certificate", "非 X.509 证书"}, {"alias.has.no.public.key", "{0}没有公共密钥"}, {"alias.has.no.X.509.certificate", "{0}没有 X.509 证书"}, {"New.certificate.self.signed.", "新证书 (自签名):"}, {"Reply.has.no.certificates", "回复中没有证书"}, {"Certificate.not.imported.alias.alias.already.exists", "证书未导入, 别名 <{0}> 已经存在"}, {"Input.not.an.X.509.certificate", "所输入的不是 X.509 证书"}, {"Certificate.already.exists.in.keystore.under.alias.trustalias.", "在别名 <{0}> 之下, 证书已经存在于密钥库中"}, {"Do.you.still.want.to.add.it.no.", "是否仍要添加? [否]: "}, {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.", "在别名 <{0}> 之下, 证书已经存在于系统范围的 CA 密钥库中"}, {"Do.you.still.want.to.add.it.to.your.own.keystore.no.", "是否仍要将它添加到自己的密钥库? [否]: "}, {"Trust.this.certificate.no.", "是否信任此证书? [否]: "}, {"New.prompt.", "新{0}: "}, {"Passwords.must.differ", "口令不能相同"}, {"Re.enter.new.prompt.", "重新输入新{0}: "}, {"Re.enter.password.", "再次输入口令: "}, {"Re.enter.new.password.", "再次输入新口令: "}, {"They.don.t.match.Try.again", "它们不匹配。请重试"}, {"Enter.prompt.alias.name.", "输入{0}别名: "}, {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.", "导入新的别名\t(按回车以取消对此条目的导入): "}, {"Enter.alias.name.", "输入别名: "}, {".RETURN.if.same.as.for.otherAlias.", "\t(如果和 <{0}> 相同, 则按回车)"}, {"What.is.your.first.and.last.name.", "您的名字与姓氏是什么?"}, {"What.is.the.name.of.your.organizational.unit.", "您的组织单位名称是什么?"}, {"What.is.the.name.of.your.organization.", "您的组织名称是什么?"}, {"What.is.the.name.of.your.City.or.Locality.", "您所在的城市或区域名称是什么?"}, {"What.is.the.name.of.your.State.or.Province.", "您所在的省/市/自治区名称是什么?"}, {"What.is.the.two.letter.country.code.for.this.unit.", "该单位的双字母国家/地区代码是什么?"}, {"Is.name.correct.", "{0}是否正确?"}, {"no", "否"}, {"yes", "是"}, {"y", "y"}, {".defaultValue.", " [{0}]: "}, {"Alias.alias.has.no.key", "别名 <{0}> 没有密钥"}, {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key", "别名 <{0}> 引用了不属于私有密钥条目的条目类型。-keyclone 命令仅支持对私有密钥条目的克隆"}, {".WARNING.WARNING.WARNING.", "***************** WARNING WARNING WARNING *****************"}, {"Signer.d.", "签名者 #%d:"}, {"Timestamp.", "时间戳:"}, {"Signature.", "签名:"}, {"Certificate.owner.", "证书所有者: "}, {"Not.a.signed.jar.file", "不是已签名的 jar 文件"}, {"No.certificate.from.the.SSL.server", "没有来自 SSL 服务器的证书"}, {".The.integrity.of.the.information.stored.in.your.keystore.", "* 存储在您的密钥库中的信息的完整性 *\n* 尚未经过验证! 为了验证其完整性, *\n* 必须提供密钥库口令。 *"}, {".The.integrity.of.the.information.stored.in.the.srckeystore.", "* 存储在 srckeystore 中的信息的完整性*\n* 尚未经过验证! 为了验证其完整性, *\n* 必须提供源密钥库口令。 *"}, {"Certificate.reply.does.not.contain.public.key.for.alias.", "证书回复中不包含 <{0}> 的公共密钥"}, {"Incomplete.certificate.chain.in.reply", "回复中的证书链不完整"}, {"Top.level.certificate.in.reply.", "回复中的顶级证书:\n"}, {".is.not.trusted.", "... 是不可信的。"}, {"Install.reply.anyway.no.", "是否仍要安装回复? [否]: "}, {"Public.keys.in.reply.and.keystore.don.t.match", "回复中的公共密钥与密钥库不匹配"}, {"Certificate.reply.and.certificate.in.keystore.are.identical", "证书回复与密钥库中的证书是相同的"}, {"Failed.to.establish.chain.from.reply", "无法从回复中建立链"}, {"n", "n"}, {"Wrong.answer.try.again", "错误的答案, 请再试一次"}, {"Secret.key.not.generated.alias.alias.already.exists", "没有生成密钥, 别名 <{0}> 已经存在"}, {"Please.provide.keysize.for.secret.key.generation", "请提供 -keysize 以生成密钥"}, {"warning.not.verified.make.sure.keystore.is.correct", "警告: 未验证。请确保密钥库是正确的。"}, {"Extensions.", "扩展: "}, {".Empty.value.", "(空值)"}, {"Extension.Request.", "扩展请求:"}, {"Unknown.keyUsage.type.", "未知 keyUsage 类型: "}, {"Unknown.extendedkeyUsage.type.", "未知 extendedkeyUsage 类型: "}, {"Unknown.AccessDescription.type.", "未知 AccessDescription 类型: "}, {"Unrecognized.GeneralName.type.", "无法识别的 GeneralName 类型: "}, {"This.extension.cannot.be.marked.as.critical.", "无法将此扩展标记为“严重”。"}, {"Odd.number.of.hex.digits.found.", "找到奇数个十六进制数字: "}, {"Unknown.extension.type.", "未知扩展类型: "}, {"command.{0}.is.ambiguous.", "命令{0}不明确:"}, // 8171319: keytool should print out warnings when reading or // generating cert/cert req using weak algorithms {"the.certificate.request", "证书请求"}, {"the.issuer", "发布者"}, {"the.generated.certificate", "生成的证书"}, {"the.generated.crl", "生成的 CRL"}, {"the.generated.certificate.request", "生成的证书请求"}, {"the.certificate", "证书"}, {"the.crl", "CRL"}, {"the.tsa.certificate", "TSA 证书"}, {"the.input", "输入"}, {"reply", "回复"}, {"one.in.many", "%1$s #%2$d/%3$d"}, {"alias.in.cacerts", "cacerts 中的发布者 <%s>"}, {"alias.in.keystore", "发布者 <%s>"}, {"with.weak", "%s (弱)"}, {"key.bit", "%1$d 位 %2$s 密钥"}, {"key.bit.weak", "%1$d 位 %2$s 密钥 (弱)"}, {"unknown.size.1", "未知大小的 %s 密钥"}, {".PATTERN.printX509Cert.with.weak", "所有者: {0}\n发布者: {1}\n序列号: {2}\n生效时间: {3}, 失效时间: {4}\n证书指纹:\n\t SHA1: {5}\n\t SHA256: {6}\n签名算法名称: {7}\n主体公共密钥算法: {8}\n版本: {9}"}, {"PKCS.10.with.weak", "PKCS #10 证书请求 (版本 1.0)\n主体: %1$s\n格式: %2$s\n公共密钥: %3$s\n签名算法: %4$s\n"}, {"verified.by.s.in.s.weak", "由 %2$s 中的 %1$s 以 %3$s 验证"}, {"whose.sigalg.risk", "%1$s 使用的 %2$s 签名算法存在安全风险。"}, {"whose.key.risk", "%1$s 使用的 %2$s 存在安全风险。"}, {"jks.storetype.warning", "%1$s 密钥库使用专用格式。建议使用 \"keytool -importkeystore -srckeystore %2$s -destkeystore %2$s -deststoretype pkcs12\" 迁移到行业标准格式 PKCS12。"}, {"migrate.keystore.warning", "已将 \"%1$s\" 迁移到 %4$s。将 %2$s 密钥库作为 \"%3$s\" 进行了备份。"}, {"backup.keystore.warning", "已将原始密钥库 \"%1$s\" 备份为 \"%3$s\"..."}, {"importing.keystore.status", "正在将密钥库 %1$s 导入到 %2$s..."}, {"keyalg.option.missing.error", "必须指定 -keyalg 选项。"}, {"showinfo.no.option", "-showinfo 缺少选项。请尝试使用 \"keytool -showinfo -tls\"。"}, }; /** * Returns the contents of this ResourceBundle. * *

* * @return the contents of this ResourceBundle. */ @Override public Object[][] getContents() { return contents; } }