#
# Copyright (c) 2000, 2025, 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.
#

NEWLINE=\n
STAR=*******************************************
STARNN=*******************************************\n\n
# keytool: Help part
.OPTION.=\u0020[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 <url> 选项可指定预配置的选项文件。
# keytool: help: commands
Generates.a.certificate.request=生成证书请求
Changes.an.entry.s.alias=更改条目的别名
Deletes.an.entry=删除条目
Exports.certificate=导出证书
Generates.a.key.pair=生成密钥对
Generates.a.secret.key=生成密钥
Generates.certificate.from.a.certificate.request=根据证书请求生成证书
Generates.CRL=生成 CRL
Generated.keyAlgName.secret.key=已生成{0}密钥
Generated.keysize.bit.keyAlgName.secret.key=已生成 {0} 位{1}密钥
key.algorithm.weak=%1$s 使用的 %2$s 算法被视为存在安全风险。
key.size.weak=%1$s 使用的 %2$s 存在安全风险。
Imports.entries.from.a.JDK.1.1.x.style.identity.database=从 JDK 1.1.x 样式的身份数据库导入条目
Imports.a.certificate.or.a.certificate.chain=导入证书或证书链
Imports.a.password=导入口令
Imports.one.or.all.entries.from.another.keystore=从其他密钥库导入一个或所有条目
Clones.a.key.entry=克隆密钥条目
Changes.the.key.password.of.an.entry=更改条目的密钥口令
Lists.entries.in.a.keystore=列出密钥库中的条目
Prints.the.content.of.a.certificate=打印证书内容
Prints.the.content.of.a.certificate.request=打印证书请求的内容
Prints.the.content.of.a.CRL.file=打印 CRL 文件的内容
Generates.a.self.signed.certificate=生成自签名证书
Changes.the.store.password.of.a.keystore=更改密钥库的存储口令
showinfo.command.help=显示安全相关信息
Prints.the.program.version=输出程序版本
# keytool: help: options
alias.name.of.the.entry.to.process=要处理的条目的别名
groupname.option.help=组名。例如，椭圆曲线名称。
destination.alias=目标别名
destination.key.password=目标密钥口令
destination.keystore.name=目标密钥库名称
destination.keystore.password.protected=受保护的目标密钥库口令
destination.keystore.provider.name=目标密钥库提供方名称
destination.keystore.password=目标密钥库口令
destination.keystore.type=目标密钥库类型
distinguished.name=唯一判别名
X.509.extension=X.509 扩展
output.file.name=输出文件名
input.file.name=输入文件名
key.algorithm.name=密钥算法名称
key.password=密钥口令
key.bit.size=密钥位大小
keystore.name=密钥库名称
access.the.cacerts.keystore=访问 cacerts 密钥库
warning.cacerts.option=警告: 使用 -cacerts 选项访问 cacerts 密钥库
new.password=新口令
do.not.prompt=不提示
password.through.protected.mechanism=通过受保护的机制的口令
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 的参数
provider.class.option=按全限定类名添加安全提供方\n配置 -providerclass 的参数

provider.name=提供方名称
provider.classpath=提供方类路径
output.in.RFC.style=以 RFC 样式输出
signature.algorithm.name=签名算法名称
signer.alias=签名者别名
signer.key.password=签名者密钥密码
source.alias=源别名
source.key.password=源密钥口令
source.keystore.name=源密钥库名称
source.keystore.password.protected=受保护的源密钥库口令
source.keystore.provider.name=源密钥库提供方名称
source.keystore.password=源密钥库口令
source.keystore.type=源密钥库类型
SSL.server.host.and.port=SSL 服务器主机和端口
signed.jar.file=已签名的 jar 文件
certificate.validity.start.date.time=证书有效期开始日期/时间
keystore.password=密钥库口令
keystore.type=密钥库类型
trust.certificates.from.cacerts=信任来自 cacerts 的证书
verbose.output=详细输出
validity.number.of.days=有效天数
Serial.ID.of.cert.to.revoke=要撤销的证书的序列 ID
# keytool: Running part
keytool.error.=keytool 错误:\u0020
Illegal.option.=非法选项: \u0020
Illegal.value.=非法值:\u0020
Unknown.password.type.=未知口令类型:\u0020
Cannot.find.environment.variable.=找不到环境变量:\u0020
Cannot.find.file.=找不到文件:\u0020
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.=源密钥库文件存在, 但为空:\u0020
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.=密钥库文件存在, 但为空:\u0020
Keystore.file.does.not.exist.=密钥库文件不存在:\u0020
Must.specify.destination.alias=必须指定目标别名
Must.specify.alias=必须指定别名
Keystore.password.must.be.at.least.6.characters=密钥库口令至少必须为 6 个字符
Enter.the.password.to.be.stored.=输入要存储的口令: \u0020
Enter.keystore.password.=输入密钥库口令: \u0020
Enter.source.keystore.password.=输入源密钥库口令: \u0020
Enter.destination.keystore.password.=输入目标密钥库口令: \u0020
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}, 是否覆盖? [否]: \u0020
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}> 已经存在
size.bit.alg=%1$d 位 %2$s
Generating.full.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.days.for=正在为 {3} 生成有效期为 {2} 天的 {0} 密钥对和自签名证书 ({1})\n
Generating.full.keyAlgName.key.pair.and.a.certificate.sigAlgName.issued.by.signerAlias.with.a.validity.of.days.for=生成 {0} 密钥对和 <{2}> 颁发的证书 ({1})，有效期为 {3} 天 \n\t 对于：{4}
Enter.key.password.for.alias.=输入 <{0}> 的密钥口令
.RETURN.if.same.as.keystore.password.=\t(如果和密钥库口令相同, 按回车): \u0020
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},\u0020
alias.={0},\u0020
Entry.type.type.=条目类型: {0}
Certificate.chain.length.=证书链长度:\u0020
Certificate.i.1.=证书[{0,number,integer}]:
Certificate.fingerprint.SHA.256.=证书指纹 (SHA-256):\u0020
Keystore.type.=密钥库类型:\u0020
Keystore.provider.=密钥库提供方:\u0020
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.=是否仍要添加? [否]: \u0020
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.=是否仍要将它添加到自己的密钥库? [否]: \u0020
Trust.this.certificate.no.=是否信任此证书? [否]: \u0020
New.prompt.=新{0}:\u0020
Passwords.must.differ=口令不能相同
Re.enter.new.prompt.=重新输入新{0}:\u0020
Re.enter.password.=再次输入口令:\u0020
Re.enter.new.password.=再次输入新口令:\u0020
They.don.t.match.Try.again=它们不匹配。请重试
Enter.prompt.alias.name.=输入{0}别名: \u0020
Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.=导入新的别名\t(按回车以取消对此条目的导入): \u0020
Enter.alias.name.=输入别名: \u0020
.RETURN.if.same.as.for.otherAlias.=\t(如果和 <{0}> 相同, 则按回车)
enter.dname.components=输入唯一判别名。提供单个点 (.) 以将子组件留空，或按 ENTER 以使用大括号中的默认值。
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.=该单位的双字母国家/地区代码是什么?
no.field.in.dname=必须至少提供一个字段。请再次输入。
Is.name.correct.={0}是否正确?
no=否
yes=是
y=y
.defaultValue.=\u0020 [{0}]: \u0020
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:
Certificate.d.=证书 #%d：
Timestamp.=时间戳:
Certificate.owner.=证书所有者:\u0020
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.=是否仍要安装回复? [否]: \u0020
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=警告: 未验证。请确保密钥库是正确的。
warning.not.verified.make.sure.keystore.is.correct.or.specify.trustcacerts=警告：未验证。请确保密钥库是正确的，或者指定 -trustcacerts。

Extensions.=扩展:\u0020
.Empty.value.=(空值)
Extension.Request.=扩展请求:
Unknown.keyUsage.type.=未知 keyUsage 类型:\u0020
Unknown.extendedkeyUsage.type.=未知 extendedkeyUsage 类型:\u0020
Unknown.AccessDescription.type.=未知 AccessDescription 类型:\u0020
Unrecognized.GeneralName.type.=无法识别的 GeneralName 类型:\u0020
This.extension.cannot.be.marked.as.critical.=无法将此扩展标记为“严重”。
Odd.number.of.hex.digits.found.=找到奇数个十六进制数字:\u0020
Unknown.extension.type.=未知扩展类型:\u0020
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.secretkey=生成的密钥
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
one.in.many1=%1$s #%2$d
one.in.many2=签名者 #%2$d 的 %1$s
one.in.many3=签名者 #%3$d 的 %1$s #%2$d
alias.in.cacerts=cacerts 中的发布者 <%s>
alias.in.keystore=发布者 <%s>
with.weak=%s (弱)
with.disabled=%s（禁用）
key.bit=%s 密钥
key.bit.weak=%s 密钥（弱）
key.bit.disabled=%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.disabled=%1$s 使用的 %2$s 签名算法被视为存在安全风险而且被禁用。
whose.sigalg.usagesignedjar=%1$s 使用的 %2$s 签名算法被视为存在安全风险，无法用于在 %3$s 后对 JAR 进行签名。
Unable.to.parse.denyAfter.string.in.exception.message=无法解析异常错误消息中的 denyAfter 日期字符串
whose.sigalg.weak=%1$s 使用的 %2$s 签名算法存在安全风险。
whose.key.disabled=%1$s 使用的 %2$s 被视为存在安全风险而且被禁用。
whose.key.weak=%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"。
