jdk/src/share/classes/sun/security/util/Resources_zh_TW.java
changeset 8203 e5debcae2183
parent 5506 202f599c92aa
child 9035 1255eb81cc2f
equal deleted inserted replaced
7931:7a8e3835357d 8203:e5debcae2183
     1 /*
     1 /*
     2  * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    33 public class Resources_zh_TW extends java.util.ListResourceBundle {
    33 public class Resources_zh_TW extends java.util.ListResourceBundle {
    34 
    34 
    35     private static final Object[][] contents = {
    35     private static final Object[][] contents = {
    36 
    36 
    37         // shared (from jarsigner)
    37         // shared (from jarsigner)
    38         {" ", " "},
    38         {"SPACE", " "},
    39         {"  ", "  "},
    39         {"2SPACE", "  "},
    40         {"      ", "      "},
    40         {"6SPACE", "      "},
    41         {", ", ", "},
    41         {"COMMA", ", "},
    42         // shared (from keytool)
    42         // shared (from keytool)
    43         {"\n", "\n"},
    43         {"NEWLINE", "\n"},
    44         {"*******************************************",
    44         {"STAR",
    45                 "*******************************************"},
    45                 "*******************************************"},
    46         {"*******************************************\n\n",
    46         {"STARNN",
    47                 "*******************************************\n\n"},
    47                 "*******************************************\n\n"},
    48 
    48 
    49         // keytool
    49         // keytool: Help part
    50         {"keytool error: ", "keytool \u932f\u8aa4\uff1a "},
    50         {".OPTION.", " [OPTION]..."},
    51         {"Illegal option:  ", "\u975e\u6cd5\u9078\u9805\uff1a  "},
    51         {"Options.", "\u9078\u9805:"},
    52         {"Try keytool -help","\u5617\u8a66 keytool -help"},
    52         {"Use.keytool.help.for.all.available.commands",
    53         {"Command option <flag> needs an argument.", "\u6307\u4ee4\u9078\u9805 {0} \u9700\u8981\u5f15\u6578\u3002"},
    53                  "\u4F7F\u7528 \"keytool -help\" \u53D6\u5F97\u6240\u6709\u53EF\u7528\u7684\u547D\u4EE4"},
    54         {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
    54         {"Key.and.Certificate.Management.Tool",
    55 "\u8b66\u544a\ufe30PKCS12 \u91d1\u9470\u5132\u5b58\u5eab\u4e0d\u652f\u63f4\u4e0d\u540c\u7684\u5132\u5b58\u5eab\u548c\u91d1\u9470\u5bc6\u78bc\u3002\u5ffd\u7565\u4f7f\u7528\u8005\u6307\u5b9a\u7684 {0} \u503c\u3002"},
    55                  "\u91D1\u9470\u8207\u6191\u8B49\u7BA1\u7406\u5DE5\u5177"},
    56         {"-keystore must be NONE if -storetype is {0}",
    56         {"Commands.", "\u547D\u4EE4:"},
    57                 "\u5982\u679c -storetype \u70ba {0}\uff0c\u5247 -keystore \u5fc5\u9808\u70ba NONE"},
    57         {"Use.keytool.command.name.help.for.usage.of.command.name",
    58         {"Too may retries, program terminated",
    58                 "\u4F7F\u7528 \"keytool -command_name -help\" \u53D6\u5F97 command_name \u7684\u7528\u6CD5"},
    59 "\u91cd\u8a66\u6b21\u6578\u592a\u591a\uff0c\u7a0b\u5f0f\u5df2\u7d42\u6b62"},
    59         // keytool: help: commands
    60         {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
    60         {"Generates.a.certificate.request",
    61                 "\u5982\u679c -storetype \u70ba {0}\uff0c\u5247\u4e0d\u652f\u63f4 -storepasswd \u548c -keypasswd \u6307\u4ee4"},
    61                 "\u7522\u751F\u6191\u8B49\u8981\u6C42"}, //-certreq
    62         {"-keypasswd commands not supported if -storetype is PKCS12",
    62         {"Changes.an.entry.s.alias",
    63                 "\u5982\u679c -storetype \u70ba PKCS12\uff0c\u5247 -keypasswd \u6307\u4ee4\u4e0d\u53d7\u652f\u63f4"},
    63                 "\u8B8A\u66F4\u9805\u76EE\u7684\u5225\u540D"}, //-changealias
    64         {"-keypass and -new can not be specified if -storetype is {0}",
    64         {"Deletes.an.entry",
    65                 "\u5982\u679c -storetype \u70ba {0}\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -keypass \u548c -new"},
    65                 "\u522A\u9664\u9805\u76EE"}, //-delete
    66         {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
    66         {"Exports.certificate",
    67                 "\u5982\u679c\u6307\u5b9a -protected\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -storepass\u3001-keypass \u548c -new"},
    67                 "\u532F\u51FA\u6191\u8B49"}, //-exportcert
    68         {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
    68         {"Generates.a.key.pair",
    69                 "\u5982\u679c\u6307\u5b9a -srcprotected\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -srcstorepass \u548c -srckeypass"},
    69                 "\u7522\u751F\u91D1\u9470\u7D44"}, //-genkeypair
    70         {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
    70         {"Generates.a.secret.key",
    71                 "\u5982\u679c\u91d1\u9470\u5eab\u4e0d\u53d7\u5bc6\u78bc\u4fdd\u8b77\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -storepass\u3001-keypass \u548c -new"},
    71                 "\u7522\u751F\u79D8\u5BC6\u91D1\u9470"}, //-genseckey
    72         {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
    72         {"Generates.certificate.from.a.certificate.request",
    73                 "\u5982\u679c\u4f86\u6e90\u91d1\u9470\u5eab\u4e0d\u53d7\u5bc6\u78bc\u4fdd\u8b77\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -srcstorepass \u548c -srckeypass"},
    73                 "\u5F9E\u6191\u8B49\u8981\u6C42\u7522\u751F\u6191\u8B49"}, //-gencert
    74         {"Validity must be greater than zero",
    74         {"Generates.CRL", "\u7522\u751F CRL"}, //-gencrl
    75                 "\u6709\u6548\u6027\u5fc5\u9808\u6bd4\u96f6\u9084\u5927"},
    75         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
    76         {"provName not a provider", "{0} \u4e0d\u662f\u4e00\u500b\u63d0\u4f9b\u8005"},
    76                 "\u5F9E JDK 1.1.x-style \u8B58\u5225\u8CC7\u6599\u5EAB\u532F\u5165\u9805\u76EE"}, //-identitydb
    77         {"Usage error: no command provided", "\u7528\u6cd5\u932f\u8aa4\uff1a\u672a\u63d0\u4f9b\u6307\u4ee4"},
    77         {"Imports.a.certificate.or.a.certificate.chain",
    78         {"Usage error, <arg> is not a legal command", "\u7528\u6cd5\u932f\u8aa4\uff0c{0} \u4e0d\u662f\u5408\u6cd5\u6307\u4ee4"},
    78                 "\u532F\u5165\u6191\u8B49\u6216\u6191\u8B49\u93C8"}, //-importcert
    79         {"Source keystore file exists, but is empty: ", "\u4f86\u6e90\u91d1\u9470\u5132\u5b58\u5eab\u6a94\u6848\u5b58\u5728\uff0c\u4f46\u70ba\u7a7a\uff1a"},
    79         {"Imports.one.or.all.entries.from.another.keystore",
    80         {"Please specify -srckeystore", "\u8acb\u6307\u5b9a -srckeystore"},
    80                 "\u5F9E\u5176\u4ED6\u91D1\u9470\u5132\u5B58\u5EAB\u532F\u5165\u4E00\u500B\u6216\u5168\u90E8\u9805\u76EE"}, //-importkeystore
    81         {"Must not specify both -v and -rfc with 'list' command",
    81         {"Clones.a.key.entry",
    82                 "\u4e0d\u5f97\u4ee5\u300c\u6e05\u55ae\u300d\u6307\u4ee4\u6307\u5b9a -v \u53ca -rfc"},
    82                 "\u8907\u88FD\u91D1\u9470\u9805\u76EE"}, //-keyclone
    83         {"Key password must be at least 6 characters",
    83         {"Changes.the.key.password.of.an.entry",
    84                 "\u95dc\u9375\u5bc6\u78bc\u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
    84                 "\u8B8A\u66F4\u9805\u76EE\u7684\u91D1\u9470\u5BC6\u78BC"}, //-keypasswd
    85         {"New password must be at least 6 characters",
    85         {"Lists.entries.in.a.keystore",
    86                 "\u65b0\u7684\u5bc6\u78bc\u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
    86                 "\u5217\u793A\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684\u9805\u76EE"}, //-list
    87         {"Keystore file exists, but is empty: ",
    87         {"Prints.the.content.of.a.certificate",
    88                 "Keystore \u6a94\u6848\u5b58\u5728\uff0c\u4f46\u70ba\u7a7a\u767d\uff1a "},
    88                 "\u5217\u5370\u6191\u8B49\u7684\u5167\u5BB9"}, //-printcert
    89         {"Keystore file does not exist: ",
    89         {"Prints.the.content.of.a.certificate.request",
    90                 "Keystore \u6a94\u6848\u4e0d\u5b58\u5728\uff1a "},
    90                 "\u5217\u5370\u6191\u8B49\u8981\u6C42\u7684\u5167\u5BB9"}, //-printcertreq
    91         {"Must specify destination alias", "\u5fc5\u9808\u6307\u5b9a\u76ee\u7684\u5730\u5225\u540d"},
    91         {"Prints.the.content.of.a.CRL.file",
    92         {"Must specify alias", "\u5fc5\u9808\u6307\u5b9a\u5225\u540d"},
    92                 "\u5217\u5370 CRL \u6A94\u6848\u7684\u5167\u5BB9"}, //-printcrl
    93         {"Keystore password must be at least 6 characters",
    93         {"Generates.a.self.signed.certificate",
    94                 "Keystore \u5bc6\u78bc\u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
    94                 "\u7522\u751F\u81EA\u884C\u7C3D\u7F72\u7684\u6191\u8B49"}, //-selfcert
    95         {"Enter keystore password:  ", "\u8f38\u5165 keystore \u5bc6\u78bc\uff1a  "},
    95         {"Changes.the.store.password.of.a.keystore",
    96         {"Enter source keystore password:  ", "\u8acb\u8f38\u5165\u4f86\u6e90\u91d1\u9470\u5132\u5b58\u5eab\u5bc6\u78bc\uff1a"},
    96                 "\u8B8A\u66F4\u91D1\u9470\u5132\u5B58\u5EAB\u7684\u5132\u5B58\u5BC6\u78BC"}, //-storepasswd
    97         {"Enter destination keystore password:  ", "\u8acb\u8f38\u5165\u76ee\u6a19\u91d1\u9470\u5132\u5b58\u5eab\u5bc6\u78bc\uff1a"},
    97         // keytool: help: options
    98         {"Keystore password is too short - must be at least 6 characters",
    98         {"alias.name.of.the.entry.to.process",
    99          "Keystore \u5bc6\u78bc\u592a\u77ed - \u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
    99                 "\u8981\u8655\u7406\u9805\u76EE\u7684\u5225\u540D\u540D\u7A31"}, //-alias
   100         {"Unknown Entry Type", "\u4e0d\u660e\u7684\u9805\u76ee\u985e\u578b"},
   100         {"destination.alias",
   101         {"Too many failures. Alias not changed", "\u592a\u591a\u932f\u8aa4\u3002\u672a\u8b8a\u66f4\u5225\u540d"},
   101                 "\u76EE\u7684\u5730\u5225\u540D"}, //-destalias
   102         {"Entry for alias <alias> successfully imported.",
   102         {"destination.key.password",
   103 "\u5df2\u6210\u529f\u532f\u5165\u5225\u540d {0} \u7684\u9805\u76ee\u3002"},
   103                 "\u76EE\u7684\u5730\u91D1\u9470\u5BC6\u78BC"}, //-destkeypass
   104         {"Entry for alias <alias> not imported.", "\u672a\u532f\u5165\u5225\u540d {0} \u7684\u9805\u76ee\u3002"},
   104         {"destination.keystore.name",
   105         {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
   105                 "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u540D\u7A31"}, //-destkeystore
   106 "\u532f\u5165\u5225\u540d {0} \u7684\u9805\u76ee\u6642\u51fa\u73fe\u554f\u984c\uff1a{1}\u3002\n\u672a\u532f\u5165\u5225\u540d {0} \u7684\u9805\u76ee\u3002"},
   106         {"destination.keystore.password.protected",
   107         {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
   107                 "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u4FDD\u8B77"}, //-destprotected
   108 "\u5df2\u5b8c\u6210\u532f\u5165\u6307\u4ee4\uff1a\u6210\u529f\u532f\u5165 {0} \u500b\u9805\u76ee\uff0c{1} \u500b\u9805\u76ee\u5931\u6557\u6216\u5df2\u53d6\u6d88"},
   108         {"destination.keystore.provider.name",
   109         {"Warning: Overwriting existing alias <alias> in destination keystore",
   109                 "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005\u540D\u7A31"}, //-destprovidername
   110 "\u8b66\u544a\uff1a\u6b63\u5728\u8986\u5beb\u76ee\u6a19\u91d1\u9470\u5132\u5b58\u5eab\u4e2d\u7684\u73fe\u6709\u5225\u540d {0}"},
   110         {"destination.keystore.password",
   111         {"Existing entry alias <alias> exists, overwrite? [no]:  ",
   111                 "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC"}, //-deststorepass
   112 "\u73fe\u6709\u9805\u76ee\u5225\u540d {0} \u5b58\u5728\uff0c\u662f\u5426\u8986\u5beb\uff1f[\u5426]\uff1a  "},
   112         {"destination.keystore.type",
   113         {"Too many failures - try later", "\u592a\u591a\u932f\u8aa4 - \u8acb\u7a0d\u5f8c\u518d\u8a66"},
   113                 "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"}, //-deststoretype
   114         {"Certification request stored in file <filename>",
   114         {"distinguished.name",
   115                 "\u8a8d\u8b49\u8981\u6c42\u5132\u5b58\u5728\u6a94\u6848 <{0}>"},
   115                 "\u8FA8\u5225\u540D\u7A31"}, //-dname
   116         {"Submit this to your CA", "\u5c07\u6b64\u63d0\u9001\u81f3\u60a8\u7684 CA"},
   116         {"X.509.extension",
   117         {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
   117                 "X.509 \u64F4\u5145\u5957\u4EF6"}, //-ext
   118 "\u5982\u679c\u672a\u6307\u5b9a\u5225\u540d\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a destalias\u3001srckeypass \u53ca destkeypass"},
   118         {"output.file.name",
   119         {"Certificate stored in file <filename>",
   119                 "\u8F38\u51FA\u6A94\u6848\u540D\u7A31"}, //-file and -outfile
   120                 "\u8a8d\u8b49\u5132\u5b58\u5728\u6a94\u6848 <{0}>"},
   120         {"input.file.name",
   121         {"Certificate reply was installed in keystore",
   121                 "\u8F38\u5165\u6A94\u6848\u540D\u7A31"}, //-file and -infile
   122                 "\u8a8d\u8b49\u56de\u8986\u5df2\u5b89\u88dd\u5728 keystore \u4e2d"},
   122         {"key.algorithm.name",
   123         {"Certificate reply was not installed in keystore",
   123                 "\u91D1\u9470\u6F14\u7B97\u6CD5\u540D\u7A31"}, //-keyalg
   124                 "\u8a8d\u8b49\u56de\u8986\u672a\u5b89\u88dd\u5728 keystore \u4e2d"},
   124         {"key.password",
   125         {"Certificate was added to keystore",
   125                 "\u91D1\u9470\u5BC6\u78BC"}, //-keypass
   126                 "\u8a8d\u8b49\u5df2\u65b0\u589e\u81f3 keystore \u4e2d"},
   126         {"key.bit.size",
   127         {"Certificate was not added to keystore",
   127                 "\u91D1\u9470\u4F4D\u5143\u5927\u5C0F"}, //-keysize
   128                 "\u8a8d\u8b49\u672a\u65b0\u589e\u81f3 keystore \u4e2d"},
   128         {"keystore.name",
   129         {"[Storing ksfname]", "[\u5132\u5b58 {0}]"},
   129                 "\u91D1\u9470\u5132\u5B58\u5EAB\u540D\u7A31"}, //-keystore
   130         {"alias has no public key (certificate)",
   130         {"new.password",
   131                 "{0} \u6c92\u6709\u516c\u958b\u91d1\u9470\uff08\u8a8d\u8b49\uff09"},
   131                 "\u65B0\u5BC6\u78BC"}, //-new
   132         {"Cannot derive signature algorithm",
   132         {"do.not.prompt",
   133                 "\u7121\u6cd5\u53d6\u5f97\u7c3d\u540d\u6f14\u7b97\u6cd5"},
   133                 "\u4E0D\u8981\u63D0\u793A"}, //-noprompt
   134         {"Alias <alias> does not exist",
   134         {"password.through.protected.mechanism",
   135                 "\u5225\u540d <{0}> \u4e0d\u5b58\u5728"},
   135                 "\u7D93\u7531\u4FDD\u8B77\u6A5F\u5236\u7684\u5BC6\u78BC"}, //-protected
   136         {"Alias <alias> has no certificate",
   136         {"provider.argument",
   137                 "\u5225\u540d <{0}> \u6c92\u6709\u8a8d\u8b49"},
   137                 "\u63D0\u4F9B\u8005\u5F15\u6578"}, //-providerarg
   138         {"Key pair not generated, alias <alias> already exists",
   138         {"provider.class.name",
   139                 "\u6c92\u6709\u5efa\u7acb\u9375\u503c\u5c0d\uff0c\u5225\u540d <{0}> \u5df2\u7d93\u5b58\u5728"},
   139                 "\u63D0\u4F9B\u8005\u985E\u5225\u540D\u7A31"}, //-providerclass
   140         {"Cannot derive signature algorithm",
   140         {"provider.name",
   141                 "\u7121\u6cd5\u53d6\u5f97\u7c3d\u540d\u6f14\u7b97\u6cd5"},
   141                 "\u63D0\u4F9B\u8005\u540D\u7A31"}, //-providername
   142         {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
   142         {"provider.classpath",
   143 "\u91dd\u5c0d {4} \u7522\u751f\u6709\u6548\u671f\u70ba {3} \u5929\u7684 {0} \u4f4d\u5143 {1} \u91d1\u9470\u5c0d\u4ee5\u53ca\u81ea\u6211\u7c3d\u7f72\u6191\u8b49 ({2})\n\t"},
   143                 "\u63D0\u4F9B\u8005\u985E\u5225\u8DEF\u5F91"}, //-providerpath
   144         {"Enter key password for <alias>", "\u8f38\u5165 <{0}> \u7684\u4e3b\u5bc6\u78bc"},
   144         {"output.in.RFC.style",
   145         {"\t(RETURN if same as keystore password):  ",
   145                 "\u4EE5 RFC \u6A23\u5F0F\u8F38\u51FA"}, //-rfc
   146                 "\t\uff08RETURN \u5982\u679c\u548c keystore \u5bc6\u78bc\u76f8\u540c\uff09\uff1a  "},
   146         {"signature.algorithm.name",
   147         {"Key password is too short - must be at least 6 characters",
   147                 "\u7C3D\u7AE0\u6F14\u7B97\u6CD5\u540D\u7A31"}, //-sigalg
   148                 "\u4e3b\u5bc6\u78bc\u592a\u77ed - \u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
   148         {"source.alias",
   149         {"Too many failures - key not added to keystore",
   149                 "\u4F86\u6E90\u5225\u540D"}, //-srcalias
   150                 "\u592a\u591a\u932f\u8aa4 - \u9375\u503c\u672a\u88ab\u65b0\u589e\u81f3 keystore \u4e2d"},
   150         {"source.key.password",
   151         {"Destination alias <dest> already exists",
   151                 "\u4F86\u6E90\u91D1\u9470\u5BC6\u78BC"}, //-srckeypass
   152                 "\u76ee\u7684\u5730\u5225\u540d <{0}> \u5df2\u7d93\u5b58\u5728"},
   152         {"source.keystore.name",
   153         {"Password is too short - must be at least 6 characters",
   153                 "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u540D\u7A31"}, //-srckeystore
   154                 "\u5bc6\u78bc\u592a\u77ed - \u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
   154         {"source.keystore.password.protected",
   155         {"Too many failures. Key entry not cloned",
   155                 "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u4FDD\u8B77"}, //-srcprotected
   156                 "\u592a\u591a\u932f\u8aa4\u3002 \u9375\u503c\u8f38\u5165\u672a\u88ab\u8907\u88fd"},
   156         {"source.keystore.provider.name",
   157         {"key password for <alias>", "<{0}> \u7684\u4e3b\u5bc6\u78bc"},
   157                 "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005\u540D\u7A31"}, //-srcprovidername
   158         {"Keystore entry for <id.getName()> already exists",
   158         {"source.keystore.password",
   159                 "<{0}> \u7684 Keystore \u8f38\u5165\u5df2\u7d93\u5b58\u5728"},
   159                 "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC"}, //-srcstorepass
   160         {"Creating keystore entry for <id.getName()> ...",
   160         {"source.keystore.type",
   161                 "\u5efa\u7acb <{0}> \u7684 keystore \u8f38\u5165..."},
   161                 "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"}, //-srcstoretype
   162         {"No entries from identity database added",
   162         {"SSL.server.host.and.port",
   163                 "\u5f9e\u65b0\u589e\u8fa8\u8b58\u8cc7\u6599\u5eab\u4e2d\uff0c\u6c92\u6709\u8f38\u5165"},
   163                 "SSL \u4F3A\u670D\u5668\u4E3B\u6A5F\u8207\u9023\u63A5\u57E0"}, //-sslserver
   164         {"Alias name: alias", "\u5225\u540d\u540d\u7a31\uff1a {0}"},
   164         {"signed.jar.file",
   165         {"Creation date: keyStore.getCreationDate(alias)",
   165                 "\u7C3D\u7F72\u7684 jar \u6A94\u6848"}, //=jarfile
   166                 "\u5efa\u7acb\u65e5\u671f\uff1a {0,date}"},
   166         {"certificate.validity.start.date.time",
   167         {"alias, keyStore.getCreationDate(alias), ",
   167                 "\u6191\u8B49\u6709\u6548\u6027\u958B\u59CB\u65E5\u671F/\u6642\u9593"}, //-startdate
       
   168         {"keystore.password",
       
   169                 "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC"}, //-storepass
       
   170         {"keystore.type",
       
   171                 "\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"}, //-storetype
       
   172         {"trust.certificates.from.cacerts",
       
   173                 "\u4F86\u81EA cacerts \u7684\u4FE1\u4EFB\u6191\u8B49"}, //-trustcacerts
       
   174         {"verbose.output",
       
   175                 "\u8A73\u7D30\u8CC7\u8A0A\u8F38\u51FA"}, //-v
       
   176         {"validity.number.of.days",
       
   177                 "\u6709\u6548\u6027\u65E5\u6578"}, //-validity
       
   178         {"Serial.ID.of.cert.to.revoke",
       
   179                  "\u8981\u64A4\u92B7\u6191\u8B49\u7684\u5E8F\u5217 ID"}, //-id
       
   180         // keytool: Running part
       
   181         {"keytool.error.", "\u91D1\u9470\u5DE5\u5177\u932F\u8AA4: "},
       
   182         {"Illegal.option.", "\u7121\u6548\u7684\u9078\u9805:"},
       
   183         {"Illegal.value.", "\u7121\u6548\u503C: "},
       
   184         {"Unknown.password.type.", "\u4E0D\u660E\u7684\u5BC6\u78BC\u985E\u578B: "},
       
   185         {"Cannot.find.environment.variable.",
       
   186                 "\u627E\u4E0D\u5230\u74B0\u5883\u8B8A\u6578: "},
       
   187         {"Cannot.find.file.", "\u627E\u4E0D\u5230\u6A94\u6848: "},
       
   188         {"Command.option.flag.needs.an.argument.", "\u547D\u4EE4\u9078\u9805 {0} \u9700\u8981\u5F15\u6578\u3002"},
       
   189         {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
       
   190                 "\u8B66\u544A: PKCS12 \u91D1\u9470\u5132\u5B58\u5EAB\u4E0D\u652F\u63F4\u4E0D\u540C\u7684\u5132\u5B58\u5EAB\u548C\u91D1\u9470\u5BC6\u78BC\u3002\u5FFD\u7565\u4F7F\u7528\u8005\u6307\u5B9A\u7684 {0} \u503C\u3002"},
       
   191         {".keystore.must.be.NONE.if.storetype.is.{0}",
       
   192                 "\u5982\u679C -storetype \u70BA {0}\uFF0C\u5247 -keystore \u5FC5\u9808\u70BA NONE"},
       
   193         {"Too.many.retries.program.terminated",
       
   194                  "\u91CD\u8A66\u6B21\u6578\u592A\u591A\uFF0C\u7A0B\u5F0F\u5DF2\u7D42\u6B62"},
       
   195         {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
       
   196                 "\u5982\u679C -storetype \u70BA {0}\uFF0C\u5247\u4E0D\u652F\u63F4 -storepasswd \u548C -keypasswd \u547D\u4EE4"},
       
   197         {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
       
   198                 "\u5982\u679C -storetype \u70BA PKCS12\uFF0C\u5247\u4E0D\u652F\u63F4 -keypasswd \u547D\u4EE4"},
       
   199         {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
       
   200                 "\u5982\u679C -storetype \u70BA {0}\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -keypass \u548C -new"},
       
   201         {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
       
   202                 "\u5982\u679C\u6307\u5B9A -protected\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -storepass\u3001-keypass \u548C -new"},
       
   203         {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
       
   204                 "\u5982\u679C\u6307\u5B9A -srcprotected\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -srcstorepass \u548C -srckeypass"},
       
   205         {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
       
   206                 "\u5982\u679C\u91D1\u9470\u5132\u5B58\u5EAB\u4E0D\u53D7\u5BC6\u78BC\u4FDD\u8B77\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -storepass\u3001-keypass \u548C -new"},
       
   207         {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
       
   208                 "\u5982\u679C\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u4E0D\u53D7\u5BC6\u78BC\u4FDD\u8B77\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -srcstorepass \u548C -srckeypass"},
       
   209         {"Illegal.startdate.value", "\u7121\u6548\u7684 startdate \u503C"},
       
   210         {"Validity.must.be.greater.than.zero",
       
   211                 "\u6709\u6548\u6027\u5FC5\u9808\u5927\u65BC\u96F6"},
       
   212         {"provName.not.a.provider", "{0} \u4E0D\u662F\u4E00\u500B\u63D0\u4F9B\u8005"},
       
   213         {"Usage.error.no.command.provided", "\u7528\u6CD5\u932F\u8AA4: \u672A\u63D0\u4F9B\u547D\u4EE4"},
       
   214         {"Source.keystore.file.exists.but.is.empty.", "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u6A94\u6848\u5B58\u5728\uFF0C\u4F46\u70BA\u7A7A: "},
       
   215         {"Please.specify.srckeystore", "\u8ACB\u6307\u5B9A -srckeystore"},
       
   216         {"Must.not.specify.both.v.and.rfc.with.list.command",
       
   217                 " 'list' \u547D\u4EE4\u4E0D\u80FD\u540C\u6642\u6307\u5B9A -v \u53CA -rfc"},
       
   218         {"Key.password.must.be.at.least.6.characters",
       
   219                 "\u91D1\u9470\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
       
   220         {"New.password.must.be.at.least.6.characters",
       
   221                 "\u65B0\u7684\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
       
   222         {"Keystore.file.exists.but.is.empty.",
       
   223                 "\u91D1\u9470\u5132\u5B58\u5EAB\u6A94\u6848\u5B58\u5728\uFF0C\u4F46\u70BA\u7A7A\u767D: "},
       
   224         {"Keystore.file.does.not.exist.",
       
   225                 "\u91D1\u9470\u5132\u5B58\u5EAB\u6A94\u6848\u4E0D\u5B58\u5728: "},
       
   226         {"Must.specify.destination.alias", "\u5FC5\u9808\u6307\u5B9A\u76EE\u7684\u5730\u5225\u540D"},
       
   227         {"Must.specify.alias", "\u5FC5\u9808\u6307\u5B9A\u5225\u540D"},
       
   228         {"Keystore.password.must.be.at.least.6.characters",
       
   229                 "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
       
   230         {"Enter.keystore.password.", "\u8F38\u5165\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC:  "},
       
   231         {"Enter.source.keystore.password.", "\u8ACB\u8F38\u5165\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
       
   232         {"Enter.destination.keystore.password.", "\u8ACB\u8F38\u5165\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
       
   233         {"Keystore.password.is.too.short.must.be.at.least.6.characters",
       
   234          "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u592A\u77ED - \u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
       
   235         {"Unknown.Entry.Type", "\u4E0D\u660E\u7684\u9805\u76EE\u985E\u578B"},
       
   236         {"Too.many.failures.Alias.not.changed", "\u592A\u591A\u932F\u8AA4\u3002\u672A\u8B8A\u66F4\u5225\u540D"},
       
   237         {"Entry.for.alias.alias.successfully.imported.",
       
   238                  "\u5DF2\u6210\u529F\u532F\u5165\u5225\u540D {0} \u7684\u9805\u76EE\u3002"},
       
   239         {"Entry.for.alias.alias.not.imported.", "\u672A\u532F\u5165\u5225\u540D {0} \u7684\u9805\u76EE\u3002"},
       
   240         {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
       
   241                  "\u532F\u5165\u5225\u540D {0} \u7684\u9805\u76EE\u6642\u51FA\u73FE\u554F\u984C: {1}\u3002\n\u672A\u532F\u5165\u5225\u540D {0} \u7684\u9805\u76EE\u3002"},
       
   242         {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
       
   243                  "\u5DF2\u5B8C\u6210\u532F\u5165\u547D\u4EE4: \u6210\u529F\u532F\u5165 {0} \u500B\u9805\u76EE\uFF0C{1} \u500B\u9805\u76EE\u5931\u6557\u6216\u5DF2\u53D6\u6D88"},
       
   244         {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
       
   245                  "\u8B66\u544A: \u6B63\u5728\u8986\u5BEB\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684\u73FE\u6709\u5225\u540D {0}"},
       
   246         {"Existing.entry.alias.alias.exists.overwrite.no.",
       
   247                  "\u73FE\u6709\u9805\u76EE\u5225\u540D {0} \u5B58\u5728\uFF0C\u662F\u5426\u8986\u5BEB\uFF1F[\u5426]:  "},
       
   248         {"Too.many.failures.try.later", "\u592A\u591A\u932F\u8AA4 - \u8ACB\u7A0D\u5F8C\u518D\u8A66"},
       
   249         {"Certification.request.stored.in.file.filename.",
       
   250                 "\u8A8D\u8B49\u8981\u6C42\u5132\u5B58\u5728\u6A94\u6848 <{0}>"},
       
   251         {"Submit.this.to.your.CA", "\u5C07\u6B64\u9001\u51FA\u81F3\u60A8\u7684 CA"},
       
   252         {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
       
   253             "\u5982\u679C\u672A\u6307\u5B9A\u5225\u540D\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A destalias\u3001srckeypass \u53CA destkeypass"},
       
   254         {"Certificate.stored.in.file.filename.",
       
   255                 "\u6191\u8B49\u5132\u5B58\u5728\u6A94\u6848 <{0}>"},
       
   256         {"Certificate.reply.was.installed.in.keystore",
       
   257                 "\u6191\u8B49\u56DE\u8986\u5DF2\u5B89\u88DD\u5728\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D"},
       
   258         {"Certificate.reply.was.not.installed.in.keystore",
       
   259                 "\u6191\u8B49\u56DE\u8986\u672A\u5B89\u88DD\u5728\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D"},
       
   260         {"Certificate.was.added.to.keystore",
       
   261                 "\u6191\u8B49\u5DF2\u65B0\u589E\u81F3\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D"},
       
   262         {"Certificate.was.not.added.to.keystore",
       
   263                 "\u6191\u8B49\u672A\u65B0\u589E\u81F3\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D"},
       
   264         {".Storing.ksfname.", "[\u5132\u5B58 {0}]"},
       
   265         {"alias.has.no.public.key.certificate.",
       
   266                 "{0} \u6C92\u6709\u516C\u958B\u91D1\u9470 (\u6191\u8B49)"},
       
   267         {"Cannot.derive.signature.algorithm",
       
   268                 "\u7121\u6CD5\u53D6\u5F97\u7C3D\u7AE0\u6F14\u7B97\u6CD5"},
       
   269         {"Alias.alias.does.not.exist",
       
   270                 "\u5225\u540D <{0}> \u4E0D\u5B58\u5728"},
       
   271         {"Alias.alias.has.no.certificate",
       
   272                 "\u5225\u540D <{0}> \u6C92\u6709\u6191\u8B49"},
       
   273         {"Key.pair.not.generated.alias.alias.already.exists",
       
   274                 "\u6C92\u6709\u5EFA\u7ACB\u91D1\u9470\u7D44\uFF0C\u5225\u540D <{0}> \u5DF2\u7D93\u5B58\u5728"},
       
   275         {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
       
   276                 "\u91DD\u5C0D {4} \u7522\u751F\u6709\u6548\u671F {3} \u5929\u7684 {0} \u4F4D\u5143 {1} \u91D1\u9470\u7D44\u4EE5\u53CA\u81EA\u6211\u7C3D\u7F72\u6191\u8B49 ({2})\n\t"},
       
   277         {"Enter.key.password.for.alias.", "\u8F38\u5165 <{0}> \u7684\u91D1\u9470\u5BC6\u78BC"},
       
   278         {".RETURN.if.same.as.keystore.password.",
       
   279                 "\t(RETURN \u5982\u679C\u548C\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u76F8\u540C):  "},
       
   280         {"Key.password.is.too.short.must.be.at.least.6.characters",
       
   281                 "\u91D1\u9470\u5BC6\u78BC\u592A\u77ED - \u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
       
   282         {"Too.many.failures.key.not.added.to.keystore",
       
   283                 "\u592A\u591A\u932F\u8AA4 - \u91D1\u9470\u672A\u65B0\u589E\u81F3\u91D1\u9470\u5132\u5B58\u5EAB"},
       
   284         {"Destination.alias.dest.already.exists",
       
   285                 "\u76EE\u7684\u5730\u5225\u540D <{0}> \u5DF2\u7D93\u5B58\u5728"},
       
   286         {"Password.is.too.short.must.be.at.least.6.characters",
       
   287                 "\u5BC6\u78BC\u592A\u77ED - \u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
       
   288         {"Too.many.failures.Key.entry.not.cloned",
       
   289                 "\u592A\u591A\u932F\u8AA4\u3002\u672A\u8907\u88FD\u91D1\u9470\u9805\u76EE"},
       
   290         {"key.password.for.alias.", "<{0}> \u7684\u91D1\u9470\u5BC6\u78BC"},
       
   291         {"Keystore.entry.for.id.getName.already.exists",
       
   292                 "<{0}> \u7684\u91D1\u9470\u5132\u5B58\u5EAB\u9805\u76EE\u5DF2\u7D93\u5B58\u5728"},
       
   293         {"Creating.keystore.entry.for.id.getName.",
       
   294                 "\u5EFA\u7ACB <{0}> \u7684\u91D1\u9470\u5132\u5B58\u5EAB\u9805\u76EE..."},
       
   295         {"No.entries.from.identity.database.added",
       
   296                 "\u6C92\u6709\u65B0\u589E\u4F86\u81EA\u8B58\u5225\u8CC7\u6599\u5EAB\u7684\u9805\u76EE"},
       
   297         {"Alias.name.alias", "\u5225\u540D\u540D\u7A31: {0}"},
       
   298         {"Creation.date.keyStore.getCreationDate.alias.",
       
   299                 "\u5EFA\u7ACB\u65E5\u671F: {0,date}"},
       
   300         {"alias.keyStore.getCreationDate.alias.",
   168                 "{0}, {1,date}, "},
   301                 "{0}, {1,date}, "},
   169         {"alias, ", "{0}, "},
   302         {"alias.", "{0}, "},
   170         {"Entry type: <type>", "\u9805\u76ee\u985e\u578b\uff1a{0}"},
   303         {"Entry.type.type.", "\u9805\u76EE\u985E\u578B: {0}"},
   171         {"Certificate chain length: ", "\u8a8d\u8b49\u93c8\u9577\u5ea6\uff1a "},
   304         {"Certificate.chain.length.", "\u6191\u8B49\u93C8\u9577\u5EA6: "},
   172         {"Certificate[(i + 1)]:", "\u8a8d\u8b49 [{0,number,integer}]:"},
   305         {"Certificate.i.1.", "\u6191\u8B49 [{0,number,integer}]:"},
   173         {"Certificate fingerprint (MD5): ", "\u8a8d\u8b49\u6307\u7d0b (MD5)\uff1a "},
   306         {"Certificate.fingerprint.SHA1.", "\u6191\u8B49\u6307\u7D0B (SHA1): "},
   174         {"Entry type: trustedCertEntry\n", "\u8f38\u5165\u985e\u578b\uff1a trustedCertEntry\n"},
   307         {"Entry.type.trustedCertEntry.", "\u8F38\u5165\u985E\u578B: trustedCertEntry\n"},
   175         {"trustedCertEntry,", "trustedCertEntry,"},
   308         {"trustedCertEntry.", "trustedCertEntry,"},
   176         {"Keystore type: ", "Keystore \u985e\u578b\uff1a "},
   309         {"Keystore.type.", "\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B: "},
   177         {"Keystore provider: ", "Keystore \u63d0\u4f9b\u8005\uff1a "},
   310         {"Keystore.provider.", "\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005: "},
   178         {"Your keystore contains keyStore.size() entry",
   311         {"Your.keystore.contains.keyStore.size.entry",
   179                 "\u60a8\u7684 keystore \u5305\u542b {0,number,integer} \u8f38\u5165"},
   312                 "\u60A8\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u5305\u542B {0,number,integer} \u9805\u76EE"},
   180         {"Your keystore contains keyStore.size() entries",
   313         {"Your.keystore.contains.keyStore.size.entries",
   181                 "\u60a8\u7684 keystore \u5305\u542b {0,number,integer} \u8f38\u5165"},
   314                 "\u60A8\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u5305\u542B {0,number,integer} \u9805\u76EE"},
   182         {"Failed to parse input", "\u7121\u6cd5\u8a9e\u6cd5\u5206\u6790\u8f38\u5165"},
   315         {"Failed.to.parse.input", "\u7121\u6CD5\u5256\u6790\u8F38\u5165"},
   183         {"Empty input", "\u7a7a\u8f38\u5165"},
   316         {"Empty.input", "\u7A7A\u8F38\u5165"},
   184         {"Not X.509 certificate", "\u975e X.509 \u8a8d\u8b49"},
   317         {"Not.X.509.certificate", "\u975E X.509 \u6191\u8B49"},
   185         {"Cannot derive signature algorithm",
   318         {"alias.has.no.public.key", "{0} \u7121\u516C\u958B\u91D1\u9470"},
   186                 "\u7121\u6cd5\u53d6\u5f97\u7c3d\u540d\u6f14\u7b97\u6cd5"},
   319         {"alias.has.no.X.509.certificate", "{0} \u7121 X.509 \u6191\u8B49"},
   187         {"alias has no public key", "{0} \u7121\u516c\u958b\u91d1\u9470"},
   320         {"New.certificate.self.signed.", "\u65B0\u6191\u8B49 (\u81EA\u6211\u7C3D\u7F72): "},
   188         {"alias has no X.509 certificate", "{0} \u7121 X.509 \u8a8d\u8b49"},
   321         {"Reply.has.no.certificates", "\u56DE\u8986\u4E0D\u542B\u6191\u8B49"},
   189         {"New certificate (self-signed):", "\u65b0\u8a8d\u8b49\uff08\u81ea\u6211\u7c3d\u7f72\uff09\uff1a"},
   322         {"Certificate.not.imported.alias.alias.already.exists",
   190         {"Reply has no certificates", "\u56de\u8986\u4e0d\u542b\u8a8d\u8b49"},
   323                 "\u6191\u8B49\u672A\u8F38\u5165\uFF0C\u5225\u540D <{0}> \u5DF2\u7D93\u5B58\u5728"},
   191         {"Certificate not imported, alias <alias> already exists",
   324         {"Input.not.an.X.509.certificate", "\u8F38\u5165\u7684\u4E0D\u662F X.509 \u6191\u8B49"},
   192                 "\u8a8d\u8b49\u672a\u8f38\u5165\uff0c\u5225\u540d <{0}> \u5df2\u7d93\u5b58\u5728"},
   325         {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
   193         {"Input not an X.509 certificate", "\u6240\u8f38\u5165\u7684\u4e0d\u662f\u4e00\u500b X.509 \u8a8d\u8b49"},
   326                 "\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684 <{0}> \u5225\u540D\u4E4B\u4E0B\uFF0C\u6191\u8B49\u5DF2\u7D93\u5B58\u5728"},
   194         {"Certificate already exists in keystore under alias <trustalias>",
   327         {"Do.you.still.want.to.add.it.no.",
   195                 "\u5728 <{0}> \u7684\u5225\u540d\u4e4b\u4e0b\uff0c\u8a8d\u8b49\u5df2\u7d93\u5b58\u5728 keystore \u4e2d"},
   328                 "\u60A8\u4ECD\u7136\u60F3\u8981\u5C07\u4E4B\u65B0\u589E\u55CE\uFF1F [\u5426]:  "},
   196         {"Do you still want to add it? [no]:  ",
   329         {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
   197                 "\u60a8\u4ecd\u7136\u60f3\u8981\u5c07\u4e4b\u65b0\u589e\u55ce\uff1f [\u5426]\uff1a  "},
   330                 "\u6574\u500B\u7CFB\u7D71 CA \u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684 <{0}> \u5225\u540D\u4E4B\u4E0B\uFF0C\u6191\u8B49\u5DF2\u7D93\u5B58\u5728"},
   198         {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
   331         {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
   199                 "\u5728 <{0}> \u7684\u5225\u540d\u4e4b\u4e0b\uff0c\u8a8d\u8b49\u5df2\u7d93\u5b58\u5728\u65bc CA keystore \u6574\u500b\u7cfb\u7d71\u4e4b\u4e2d"},
   332                 "\u60A8\u4ECD\u7136\u60F3\u8981\u5C07\u4E4B\u65B0\u589E\u81F3\u81EA\u5DF1\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u55CE\uFF1F [\u5426]:  "},
   200         {"Do you still want to add it to your own keystore? [no]:  ",
   333         {"Trust.this.certificate.no.", "\u4FE1\u4EFB\u9019\u500B\u6191\u8B49\uFF1F [\u5426]:  "},
   201                 "\u60a8\u4ecd\u7136\u60f3\u8981\u5c07\u4e4b\u65b0\u589e\u81f3\u81ea\u5df1\u7684 keystore \u55ce\uff1f [\u5426]\uff1a  "},
   334         {"YES", "\u662F"},
   202         {"Trust this certificate? [no]:  ", "\u4fe1\u4efb\u9019\u500b\u8a8d\u8b49\uff1f [\u5426]\uff1a  "},
   335         {"New.prompt.", "\u65B0 {0}: "},
   203         {"YES", "\u662f"},
   336         {"Passwords.must.differ", "\u5FC5\u9808\u662F\u4E0D\u540C\u7684\u5BC6\u78BC"},
   204         {"New prompt: ", "\u65b0 {0}\uff1a "},
   337         {"Re.enter.new.prompt.", "\u91CD\u65B0\u8F38\u5165\u65B0 {0}: "},
   205         {"Passwords must differ", "\u5fc5\u9808\u662f\u4e0d\u540c\u7684\u5bc6\u78bc"},
   338         {"Re.enter.new.password.", "\u91CD\u65B0\u8F38\u5165\u65B0\u5BC6\u78BC: "},
   206         {"Re-enter new prompt: ", "\u91cd\u65b0\u8f38\u5165\u65b0 {0}\uff1a "},
   339         {"They.don.t.match.Try.again", "\u5B83\u5011\u4E0D\u76F8\u7B26\u3002\u8ACB\u91CD\u8A66"},
   207         {"Re-enter new password: ", "\u91cd\u65b0\u8f38\u5165\u65b0\u5bc6\u78bc: "},
   340         {"Enter.prompt.alias.name.", "\u8F38\u5165 {0} \u5225\u540D\u540D\u7A31:  "},
   208         {"They don't match. Try again", "\u5b83\u5011\u4e0d\u76f8\u7b26\u3002\u8acb\u91cd\u8a66"},
   341         {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
   209         {"Enter prompt alias name:  ", "\u8f38\u5165 {0} \u5225\u540d\u540d\u7a31\uff1a  "},
   342                  "\u8ACB\u8F38\u5165\u65B0\u7684\u5225\u540D\u540D\u7A31\t(RETURN \u4EE5\u53D6\u6D88\u532F\u5165\u6B64\u9805\u76EE):"},
   210         {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
   343         {"Enter.alias.name.", "\u8F38\u5165\u5225\u540D\u540D\u7A31:  "},
   211 "\u8acb\u8f38\u5165\u65b0\u7684\u5225\u540d\t(RETURN \u4ee5\u53d6\u6d88\u532f\u5165\u6b64\u9805\u76ee\u7684\u5225\u540d)\uff1a  "},
   344         {".RETURN.if.same.as.for.otherAlias.",
   212         {"Enter alias name:  ", "\u8f38\u5165\u5225\u540d\u540d\u7a31\uff1a  "},
   345                 "\t(RETURN \u5982\u679C\u548C <{0}> \u7684\u76F8\u540C)"},
   213         {"\t(RETURN if same as for <otherAlias>)",
   346         {".PATTERN.printX509Cert",
   214                 "\t\uff08RETURN \u5982\u679c\u548c <{0}> \u7684\u76f8\u540c\uff09"},
   347                 "\u64C1\u6709\u8005: {0}\n\u767C\u51FA\u8005: {1}\n\u5E8F\u865F: {2}\n\u6709\u6548\u671F\u81EA: {3} \u5230: {4}\n\u6191\u8B49\u6307\u7D0B:\n\t MD5:  {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \u7C3D\u7AE0\u6F14\u7B97\u6CD5\u540D\u7A31: {8}\n\t \u7248\u672C: {9}"},
   215         {"*PATTERN* printX509Cert",
   348         {"What.is.your.first.and.last.name.",
   216                 "\u6240\u6709\u8005\uff1a{0}\n\u6838\u767c\u8005\uff1a{1}\n\u5e8f\u865f\uff1a{2}\n\u81ea\u4ee5\u4e0b\u65e5\u671f\u958b\u59cb\u751f\u6548\uff1a{3}\uff0c\u76f4\u5230\uff1a{4}\n\u6191\u8b49\u6307\u7d0b\uff1a\n\tMD5\uff1a{5}\n\tSHA1\uff1a{6}\n\t\u7c3d\u540d\u6f14\u7b97\u6cd5\u540d\u7a31\uff1a{7}\n\t\u7248\u672c\uff1a{8}"},
   349                 "\u60A8\u7684\u540D\u5B57\u8207\u59D3\u6C0F\u70BA\u4F55\uFF1F"},
   217         {"What is your first and last name?",
   350         {"What.is.the.name.of.your.organizational.unit.",
   218                 "\u60a8\u7684\u540d\u5b57\u8207\u59d3\u6c0f\u70ba\u4f55\uff1f"},
   351                 "\u60A8\u7684\u7D44\u7E54\u55AE\u4F4D\u540D\u7A31\u70BA\u4F55\uFF1F"},
   219         {"What is the name of your organizational unit?",
   352         {"What.is.the.name.of.your.organization.",
   220                 "\u60a8\u7684\u7de8\u5236\u55ae\u4f4d\u540d\u7a31\u70ba\u4f55\uff1f"},
   353                 "\u60A8\u7684\u7D44\u7E54\u540D\u7A31\u70BA\u4F55\uFF1F"},
   221         {"What is the name of your organization?",
   354         {"What.is.the.name.of.your.City.or.Locality.",
   222                 "\u60a8\u7684\u7d44\u7e54\u540d\u7a31\u70ba\u4f55\uff1f"},
   355                 "\u60A8\u6240\u5728\u7684\u57CE\u5E02\u6216\u5730\u5340\u540D\u7A31\u70BA\u4F55\uFF1F"},
   223         {"What is the name of your City or Locality?",
   356         {"What.is.the.name.of.your.State.or.Province.",
   224                 "\u60a8\u6240\u5728\u7684\u57ce\u5e02\u6216\u5730\u5340\u540d\u7a31\u70ba\u4f55\uff1f"},
   357                 "\u60A8\u6240\u5728\u7684\u5DDE\u53CA\u7701\u4EFD\u540D\u7A31\u70BA\u4F55\uFF1F"},
   225         {"What is the name of your State or Province?",
   358         {"What.is.the.two.letter.country.code.for.this.unit.",
   226                 "\u60a8\u6240\u5728\u7684\u5dde\u53ca\u7701\u4efd\u540d\u7a31\u70ba\u4f55\uff1f"},
   359                 "\u6B64\u55AE\u4F4D\u7684\u5169\u500B\u5B57\u6BCD\u570B\u5225\u4EE3\u78BC\u70BA\u4F55\uFF1F"},
   227         {"What is the two-letter country code for this unit?",
   360         {"Is.name.correct.", "{0} \u6B63\u78BA\u55CE\uFF1F"},
   228                 "\u8a72\u55ae\u4f4d\u7684\u4e8c\u5b57\u570b\u78bc\u70ba\u4f55"},
       
   229         {"Is <name> correct?", "{0} \u6b63\u78ba\u55ce\uff1f"},
       
   230         {"no", "\u5426"},
   361         {"no", "\u5426"},
   231         {"yes", "\u662f"},
   362         {"yes", "\u662F"},
   232         {"y", "y"},
   363         {"y", "y"},
   233         {"  [defaultValue]:  ", "  [{0}]\uff1a  "},
   364         {".defaultValue.", "  [{0}]:  "},
   234         {"Alias <alias> has no key",
   365         {"Alias.alias.has.no.key",
   235                 "\u5225\u540d <{0}> \u6c92\u6709\u91d1\u9470"},
   366                 "\u5225\u540D <{0}> \u6C92\u6709\u91D1\u9470"},
   236         {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
   367         {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
   237 "\u5225\u540d <{0}> \u6240\u53c3\u7167\u7684\u9805\u76ee\u4e0d\u662f\u79c1\u5bc6\u91d1\u9470\u985e\u578b\u3002-keyclone \u6307\u4ee4\u50c5\u652f\u63f4\u79c1\u5bc6\u91d1\u9470\u9805\u76ee\u7684\u8907\u88fd"},
   368                  "\u5225\u540D <{0}> \u6240\u53C3\u7167\u7684\u9805\u76EE\u4E0D\u662F\u79C1\u5BC6\u91D1\u9470\u985E\u578B\u3002-keyclone \u547D\u4EE4\u50C5\u652F\u63F4\u79C1\u5BC6\u91D1\u9470\u9805\u76EE\u7684\u8907\u88FD"},
   238 
   369 
   239         {"*****************  WARNING WARNING WARNING  *****************",
   370         {".WARNING.WARNING.WARNING.",
   240             "***************** \u8b66\u544a \u8b66\u544a \u8b66\u544a  *****************"},
   371             "*****************  WARNING WARNING WARNING  *****************"},
       
   372         {"Signer.d.", "\u7C3D\u7F72\u8005 #%d:"},
       
   373         {"Timestamp.", "\u6642\u6233:"},
       
   374         {"Signature.", "\u7C3D\u7AE0:"},
       
   375         {"CRLs.", "CRL:"},
       
   376         {"Certificate.owner.", "\u6191\u8B49\u64C1\u6709\u8005: "},
       
   377         {"Not.a.signed.jar.file", "\u4E0D\u662F\u7C3D\u7F72\u7684 jar \u6A94\u6848"},
       
   378         {"No.certificate.from.the.SSL.server",
       
   379                 "\u6C92\u6709\u4F86\u81EA SSL \u4F3A\u670D\u5668\u7684\u6191\u8B49"},
   241 
   380 
   242         // Translators of the following 5 pairs, ATTENTION:
   381         // Translators of the following 5 pairs, ATTENTION:
   243         // the next 5 string pairs are meant to be combined into 2 paragraphs,
   382         // the next 5 string pairs are meant to be combined into 2 paragraphs,
   244         // 1+3+4 and 2+3+5. make sure your translation also does.
   383         // 1+3+4 and 2+3+5. make sure your translation also does.
   245         {"* The integrity of the information stored in your keystore  *",
   384         {".The.integrity.of.the.information.stored.in.your.keystore.",
   246             "* \u8cc7\u6599\u7684\u5b8c\u6574\u6027\u5df2\u5132\u5b58\u5728\u60a8\u7684 keystore \u4e2d  *"},
   385             "* \u8CC7\u8A0A\u7684\u5B8C\u6574\u6027\u5DF2\u5132\u5B58\u5728\u60A8\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D  *"},
   247         {"* The integrity of the information stored in the srckeystore*",
   386         {".The.integrity.of.the.information.stored.in.the.srckeystore.",
   248 "* \u5b8c\u6574\u7684\u8cc7\u8a0a\u5132\u5b58\u5728 srckeystore \u4e2d *"},
   387             "* \u8CC7\u8A0A\u7684\u5B8C\u6574\u6027\u5DF2\u5132\u5B58\u5728 srckeystore \u4E2D *"},
   249         {"* has NOT been verified!  In order to verify its integrity, *",
   388         {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
   250             "* \u5c1a\u672a\u88ab\u9a57\u8b49\uff01  \u70ba\u4e86\u9a57\u8b49\u5176\u5b8c\u6574\u6027\uff0c *"},
   389             "* \u5C1A\u672A\u88AB\u9A57\u8B49\uFF01\u70BA\u4E86\u9A57\u8B49\u5176\u5B8C\u6574\u6027\uFF0C*"},
   251         {"* you must provide your keystore password.                  *",
   390         {".you.must.provide.your.keystore.password.",
   252             "* \u60a8\u5fc5\u9808\u63d0\u4f9b\u60a8 keystore \u7684\u5bc6\u78bc\u3002                  *"},
   391             "* \u60A8\u5FC5\u9808\u63D0\u4F9B\u60A8\u91D1\u9470\u5132\u5B58\u5EAB\u7684\u5BC6\u78BC\u3002                 *"},
   253         {"* you must provide the srckeystore password.                *",
   392         {".you.must.provide.the.srckeystore.password.",
   254             "* \u60a8\u5fc5\u9808\u63d0\u4f9b srckeystore \u5bc6\u78bc\u3002                *"},
   393             "* \u60A8\u5FC5\u9808\u63D0\u4F9B srckeystore \u5BC6\u78BC\u3002               *"},
   255 
   394 
   256 
   395 
   257         {"Certificate reply does not contain public key for <alias>",
   396         {"Certificate.reply.does.not.contain.public.key.for.alias.",
   258                 "\u8a8d\u8b49\u56de\u8986\u4e26\u672a\u5305\u542b <{0}> \u7684\u516c\u958b\u91d1\u9470"},
   397                 "\u6191\u8B49\u56DE\u8986\u4E26\u672A\u5305\u542B <{0}> \u7684\u516C\u958B\u91D1\u9470"},
   259         {"Incomplete certificate chain in reply",
   398         {"Incomplete.certificate.chain.in.reply",
   260                 "\u56de\u8986\u6642\u7684\u8a8d\u8b49\u9375\u4e0d\u5b8c\u6574"},
   399                 "\u56DE\u8986\u6642\u7684\u6191\u8B49\u93C8\u4E0D\u5B8C\u6574"},
   261         {"Certificate chain in reply does not verify: ",
   400         {"Certificate.chain.in.reply.does.not.verify.",
   262                 "\u56de\u8986\u6642\u7684\u8a8d\u8b49\u93c8\u672a\u9a57\u8b49\uff1a "},
   401                 "\u56DE\u8986\u6642\u7684\u6191\u8B49\u93C8\u672A\u9A57\u8B49: "},
   263         {"Top-level certificate in reply:\n",
   402         {"Top.level.certificate.in.reply.",
   264                 "\u56de\u8986\u6642\u7684\u6700\u9ad8\u7d1a\u8a8d\u8b49\uff1a\n"},
   403                 "\u56DE\u8986\u6642\u7684\u6700\u9AD8\u7D1A\u6191\u8B49:\\n"},
   265         {"... is not trusted. ", "... \u662f\u4e0d\u88ab\u4fe1\u4efb\u7684\u3002 "},
   404         {".is.not.trusted.", "... \u662F\u4E0D\u88AB\u4FE1\u4EFB\u7684\u3002"},
   266         {"Install reply anyway? [no]:  ", "\u9084\u662f\u8981\u5b89\u88dd\u56de\u8986\uff1f [\u5426]\uff1a  "},
   405         {"Install.reply.anyway.no.", "\u9084\u662F\u8981\u5B89\u88DD\u56DE\u8986\uFF1F [\u5426]:  "},
   267         {"NO", "\u5426"},
   406         {"NO", "\u5426"},
   268         {"Public keys in reply and keystore don't match",
   407         {"Public.keys.in.reply.and.keystore.don.t.match",
   269                 "\u56de\u8986\u6642\u7684\u516c\u958b\u91d1\u9470\u8207 keystore \u4e0d\u7b26"},
   408                 "\u56DE\u8986\u6642\u7684\u516C\u958B\u91D1\u9470\u8207\u91D1\u9470\u5132\u5B58\u5EAB\u4E0D\u7B26"},
   270         {"Certificate reply and certificate in keystore are identical",
   409         {"Certificate.reply.and.certificate.in.keystore.are.identical",
   271                 "\u8a8d\u8b49\u56de\u8986\u8207 keystore \u4e2d\u7684\u8a8d\u8b49\u662f\u76f8\u540c\u7684"},
   410                 "\u6191\u8B49\u56DE\u8986\u8207\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684\u6191\u8B49\u662F\u76F8\u540C\u7684"},
   272         {"Failed to establish chain from reply",
   411         {"Failed.to.establish.chain.from.reply",
   273                 "\u7121\u6cd5\u5f9e\u56de\u8986\u4e2d\u5c07\u9375\u5efa\u7acb\u8d77\u4f86"},
   412                 "\u7121\u6CD5\u5F9E\u56DE\u8986\u4E2D\u5C07\u93C8\u5EFA\u7ACB\u8D77\u4F86"},
   274         {"n", "n"},
   413         {"n", "n"},
   275         {"Wrong answer, try again", "\u932f\u8aa4\u7684\u7b54\u6848\uff0c\u8acb\u518d\u8a66\u4e00\u6b21"},
   414         {"Wrong.answer.try.again", "\u932F\u8AA4\u7684\u7B54\u6848\uFF0C\u8ACB\u518D\u8A66\u4E00\u6B21"},
   276         {"Secret key not generated, alias <alias> already exists",
   415         {"Secret.key.not.generated.alias.alias.already.exists",
   277                 "\u672a\u7522\u751f\u79d8\u5bc6\u91d1\u9470\uff0c\u5225\u540d <{0}> \u5df2\u5b58\u5728"},
   416                 "\u672A\u7522\u751F\u79D8\u5BC6\u91D1\u9470\uFF0C\u5225\u540D <{0}> \u5DF2\u5B58\u5728"},
   278         {"Please provide -keysize for secret key generation",
   417         {"Please.provide.keysize.for.secret.key.generation",
   279 "\u8acb\u63d0\u4f9b -keysize \u4ee5\u7522\u751f\u79d8\u5bc6\u91d1\u9470"},
   418                 "\u8ACB\u63D0\u4F9B -keysize \u4EE5\u7522\u751F\u79D8\u5BC6\u91D1\u9470"},
   280         {"keytool usage:\n", "keytool \u7528\u6cd5\uff1a\n"},
   419 
   281 
   420         {"Extensions.", "\u64F4\u5145\u5957\u4EF6: "},
   282         {"Extensions: ", "\u5ef6\u4f38\uff1a "},
   421         {".Empty.value.", "(\u7A7A\u767D\u503C)"},
   283 
   422         {"Extension.Request.", "\u64F4\u5145\u5957\u4EF6\u8981\u6C42:"},
   284         {"-certreq     [-v] [-protected]",
   423         {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
   285                 "-certreq     [-v] [-protected]"},
   424                 "PKCS #10 \u6191\u8B49\u8981\u6C42 (\u7248\u672C 1.0)\n\u4E3B\u9AD4: %s\n\u516C\u7528\u91D1\u9470: %s \u683C\u5F0F %s \u91D1\u9470\n"},
   286         {"\t     [-alias <alias>] [-sigalg <sigalg>]",
   425         {"Unknown.keyUsage.type.", "\u4E0D\u660E\u7684 keyUsage \u985E\u578B: "},
   287                 "\t     [-alias <\u5225\u540d>] [-sigalg <\u7c3d\u7ae0\u6f14\u7b97\u6cd5>]"},
   426         {"Unknown.extendedkeyUsage.type.", "\u4E0D\u660E\u7684 extendedkeyUsage \u985E\u578B: "},
   288         {"\t     [-file <csr_file>] [-keypass <keypass>]",
   427         {"Unknown.AccessDescription.type.", "\u4E0D\u660E\u7684 AccessDescription \u985E\u578B: "},
   289                 "\t     [-file <\u6191\u8b49\u7c3d\u7ae0\u8981\u6c42\u6a94\u6848>] [-keypass <\u4e3b\u5bc6\u78bc>]"},
   428         {"Unrecognized.GeneralName.type.", "\u7121\u6CD5\u8FA8\u8B58\u7684 GeneralName \u985E\u578B: "},
   290         {"\t     [-keystore <keystore>] [-storepass <storepass>]",
   429         {"This.extension.cannot.be.marked.as.critical.",
   291                 "\t     [-keystore <\u91d1\u9470\u5132\u5b58\u5eab>] [-storepass <\u5132\u5b58\u5eab\u5bc6\u78bc>]"},
   430                  "\u6B64\u64F4\u5145\u5957\u4EF6\u7121\u6CD5\u6A19\u793A\u70BA\u95DC\u9375\u3002"},
   292         {"\t     [-storetype <storetype>] [-providername <name>]",
   431         {"Odd.number.of.hex.digits.found.", "\u627E\u5230\u5341\u516D\u9032\u4F4D\u6578\u5B57\u7684\u5947\u6578: "},
   293                 "\t[-storetype <\u5132\u5b58\u5eab\u985e\u578b>] [-providername <\u540d\u7a31>]"},
   432         {"Unknown.extension.type.", "\u4E0D\u660E\u7684\u64F4\u5145\u5957\u4EF6\u985E\u578B: "},
   294         {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
   433         {"command.{0}.is.ambiguous.", "\u547D\u4EE4 {0} \u4E0D\u660E\u78BA:"},
   295                 "\t[-providerclass <\u63d0\u4f9b\u8005\u985e\u5225\u540d\u7a31> [-providerarg <\u5f15\u6578>]] ..."},
       
   296         {"\t     [-providerpath <pathlist>]",
       
   297 "\t[-providerpath <\u8def\u5f91\u6e05\u55ae>]"},
       
   298         {"-delete      [-v] [-protected] -alias <alias>",
       
   299                 "-delete      [-v] [-protected] -alias <\u5225\u540d>"},
       
   300         /** rest is same as -certreq starting from -keystore **/
       
   301 
       
   302         //{"-export      [-v] [-rfc] [-protected]",
       
   303         //       "-export      [-v] [-rfc] [-protected]"},
       
   304         {"-exportcert  [-v] [-rfc] [-protected]",
       
   305                 "-exportcert [-v] [-rfc] [-protected]"},
       
   306         {"\t     [-alias <alias>] [-file <cert_file>]",
       
   307                 "\t     [-alias <\u5225\u540d>] [-file <\u8a8d\u8b49\u6a94\u6848>]"},
       
   308         /** rest is same as -certreq starting from -keystore **/
       
   309 
       
   310         //{"-genkey      [-v] [-protected]",
       
   311         //        "-genkey      [-v] [-protected]"},
       
   312         {"-genkeypair  [-v] [-protected]",
       
   313                 "-genkeypair [-v] [-protected]"},
       
   314         {"\t     [-alias <alias>]", "\t     [-alias <\u5225\u540d>]"},
       
   315         {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
       
   316                 "\t     [-keyalg <\u91d1\u9470\u6f14\u7b97\u6cd5>] [-keysize <\u91d1\u9470\u5927\u5c0f>]"},
       
   317         {"\t     [-sigalg <sigalg>] [-dname <dname>]",
       
   318                 "\t     [-sigalg <\u7c3d\u7ae0\u6f14\u7b97\u6cd5>] [-dname <\u7db2\u57df\u540d\u7a31>]"},
       
   319         {"\t     [-validity <valDays>] [-keypass <keypass>]",
       
   320                 "\t     [-validity <\u6709\u6548\u5929\u6578>] [-keypass <\u4e3b\u5bc6\u78bc>]"},
       
   321         /** rest is same as -certreq starting from -keystore **/
       
   322 
       
   323         {"-genseckey   [-v] [-protected]",
       
   324                 "-genseckey [-v] [-protected]"},
       
   325         /** rest is same as -certreq starting from -keystore **/
       
   326 
       
   327         {"-help", "-help"},
       
   328         //{"-identitydb  [-v] [-protected]",
       
   329         //      "-identitydb  [-v] [-protected]"},
       
   330         //{"\t     [-file <idb_file>]", "\t     [-file <\u8fa8\u8b58\u8cc7\u6599\u5eab\u6a94\u6848>]"},
       
   331         /** rest is same as -certreq starting from -keystore **/
       
   332 
       
   333         //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
       
   334         //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
       
   335         {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
       
   336                 "-importcert [-v] [-noprompt] [-trustcacerts] [-protected]"},
       
   337         {"\t     [-alias <alias>]", "\t     [-alias <\u5225\u540d>]"},
       
   338         {"\t     [-alias <alias>] [-keypass <keypass>]",
       
   339 "\t[-alias <\u5225\u540d>] [-keypass <\u4e3b\u5bc6\u78bc>]"},
       
   340         {"\t     [-file <cert_file>] [-keypass <keypass>]",
       
   341                 "\t     [-file <\u8a8d\u8b49\u6a94\u6848>] [-keypass <\u4e3b\u5bc6\u78bc>]"},
       
   342         /** rest is same as -certreq starting from -keystore **/
       
   343 
       
   344         {"-importkeystore [-v] ",
       
   345 "-importkeystore [-v]"},
       
   346         {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
       
   347 "\t[-srckeystore <\u4f86\u6e90\u91d1\u9470\u5132\u5b58\u5eab>] [-destkeystore <\u76ee\u6a19\u91d1\u9470\u5132\u5b58\u5eab>]"},
       
   348         {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
       
   349 "\t[-srcstoretype <\u4f86\u6e90\u5132\u5b58\u5eab\u985e\u578b>] [-deststoretype <\u76ee\u6a19\u5132\u5b58\u5eab\u985e\u578b>]"},
       
   350         {"\t     [-srcprotected] [-destprotected]",
       
   351 "\t[-srcprotected] [-destprotected]"},
       
   352         {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
       
   353 "\t[-srcstorepass <\u4f86\u6e90\u5132\u5b58\u5eab\u5bc6\u78bc>] [-deststorepass <\u76ee\u6a19\u5132\u5b58\u5eab\u5bc6\u78bc>]"},
       
   354         {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  //\u884c\u592a\u9577\uff0c\u8acb\u5206\u70ba 2 \u884c
       
   355 "\t[-srcprovidername <\u4f86\u6e90\u63d0\u4f9b\u8005\u540d\u7a31>]\n\t[-destprovidername <\u76ee\u6a19\u63d0\u4f9b\u8005\u540d\u7a31>]"},
       
   356         {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
       
   357 "\t[-srcalias <\u4f86\u6e90\u5225\u540d> [-destalias <\u76ee\u6a19\u5225\u540d>]"},
       
   358         {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
       
   359 "\t[-srckeypass <\u4f86\u6e90\u4e3b\u5bc6\u78bc>] [-destkeypass <\u76ee\u6a19\u4e3b\u5bc6\u78bc>]]"},
       
   360         {"\t     [-noprompt]", "\t[-noprompt]"},
       
   361         /** rest is same as -certreq starting from -keystore **/
       
   362 
       
   363         {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
       
   364 "-changealias [-v] [-protected] -alias <\u5225\u540d> -destalias <\u76ee\u6a19\u5225\u540d>"},
       
   365         {"\t     [-keypass <keypass>]", "\t     [-keypass <\u4e3b\u5bc6\u78bc>]"},
       
   366 
       
   367         //{"-keyclone    [-v] [-protected]",
       
   368         //      "-keyclone    [-v] [-protected]"},
       
   369         //{"\t     [-alias <alias>] -dest <dest_alias>",
       
   370         //      "\t     [-alias <\u5225\u540d>] -dest <\u76ee\u6a19\u5225\u540d>"},
       
   371         //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
       
   372         //      "\t     [-keypass <\u4e3b\u5bc6\u78bc>] [-new <\u65b0\u4e3b\u5bc6\u78bc>]"},
       
   373         /** rest is same as -certreq starting from -keystore **/
       
   374 
       
   375         {"-keypasswd   [-v] [-alias <alias>]",
       
   376                 "-keypasswd   [-v] [-alias <\u5225\u540d>]"},
       
   377         {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
       
   378                 "\t     [-keypass <\u820a\u4e3b\u5bc6\u78bc>] [-new <\u65b0\u4e3b\u5bc6\u78bc>]"},
       
   379         /** rest is same as -certreq starting from -keystore **/
       
   380 
       
   381         {"-list        [-v | -rfc] [-protected]",
       
   382                 "-list        [-v | -rfc] [-protected]"},
       
   383         {"\t     [-alias <alias>]", "\t     [-alias <\u5225\u540d>]"},
       
   384         /** rest is same as -certreq starting from -keystore **/
       
   385 
       
   386         {"-printcert   [-v] [-file <cert_file>]",
       
   387                 "-printcert   [-v] [-file <\u8a8d\u8b49\u6a94\u6848>]"},
       
   388 
       
   389         //{"-selfcert    [-v] [-protected]",
       
   390         //      "-selfcert    [-v] [-protected]"},
       
   391         {"\t     [-alias <alias>]", "\t     [-alias <\u5225\u540d>]"},
       
   392         //{"\t     [-dname <dname>] [-validity <valDays>]",
       
   393         //      "\t     [-dname <\u7db2\u57df\u540d\u7a31>] [-validity <\u6709\u6548\u5929\u6578>]"},
       
   394         //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
       
   395         //      "\t     [-keypass <\u4e3b\u5bc6\u78bc>] [-sigalg <\u7c3d\u7ae0\u6f14\u7b97\u6cd5>]"},
       
   396         /** rest is same as -certreq starting from -keystore **/
       
   397 
       
   398         {"-storepasswd [-v] [-new <new_storepass>]",
       
   399                 "-storepasswd [-v] [-new <\u65b0\u5132\u5b58\u5eab\u5bc6\u78bc>]"},
       
   400         /** rest is same as -certreq starting from -keystore **/
       
   401 
   434 
   402         // policytool
   435         // policytool
   403         {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
   436         {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
   404                 "\u8b66\u544a\ufe30\u5225\u540d {0} \u7684\u516c\u958b\u91d1\u9470\u4e0d\u5b58\u5728\u3002\u8acb\u78ba\u5b9a\u91d1\u9470\u5132\u5b58\u5eab\u914d\u7f6e\u6b63\u78ba\u3002"},
   437                 "\u8B66\u544A: \u5225\u540D {0} \u7684\u516C\u958B\u91D1\u9470\u4E0D\u5B58\u5728\u3002\u8ACB\u78BA\u5B9A\u91D1\u9470\u5132\u5B58\u5EAB\u914D\u7F6E\u6B63\u78BA\u3002"},
   405         {"Warning: Class not found: class", "\u8b66\u544a\ufe30\u627e\u4e0d\u5230\u985e\u5225 {0}"},
   438         {"Warning.Class.not.found.class", "\u8B66\u544A: \u627E\u4E0D\u5230\u985E\u5225 {0}"},
   406         {"Warning: Invalid argument(s) for constructor: arg",
   439         {"Warning.Invalid.argument.s.for.constructor.arg",
   407                 "\u8b66\u544a\ufe30\u7121\u6548\u7684\u5efa\u69cb\u5b50\u5f15\u6578\uff1a{0}"},
   440                 "\u8B66\u544A: \u7121\u6548\u7684\u5EFA\u69CB\u5B50\u5F15\u6578: {0}"},
   408         {"Illegal Principal Type: type", "\u975e\u6cd5\u7684\u4e3b\u9ad4\u985e\u578b\ufe30{0}"},
   441         {"Illegal.Principal.Type.type", "\u7121\u6548\u7684 Principal \u985E\u578B: {0}"},
   409         {"Illegal option: option", "\u975e\u6cd5\u7684\u9078\u9805\uff1a{0}"},
   442         {"Illegal.option.option", "\u7121\u6548\u7684\u9078\u9805: {0}"},
   410         {"Usage: policytool [options]", "\u7528\u6cd5\uff1a policytool [\u9078\u9805]"},
   443         {"Usage.policytool.options.", "\u7528\u6CD5: policytool [options]"},
   411         {"  [-file <file>]    policy file location",
   444         {".file.file.policy.file.location",
   412                 "  [-file <file>]    \u898f\u5247\u6a94\u6848\u4f4d\u7f6e"},
   445                 "  [-file <file>]    \u539F\u5247\u6A94\u6848\u4F4D\u7F6E"},
   413         {"New", "\u65b0\u589e"},
   446         {"New", "\u65B0\u589E"},
   414         {"Open", "\u958b\u555f"},
   447         {"Open", "\u958B\u555F"},
   415         {"Save", "\u5132\u5b58"},
   448         {"Save", "\u5132\u5B58"},
   416         {"Save As", "\u53e6\u5b58\u65b0\u6a94"},
   449         {"Save.As", "\u53E6\u5B58\u65B0\u6A94"},
   417         {"View Warning Log", "\u6aa2\u8996\u8b66\u544a\u8a18\u9304"},
   450         {"View.Warning.Log", "\u6AA2\u8996\u8B66\u544A\u8A18\u9304"},
   418         {"Exit", "\u96e2\u958b"},
   451         {"Exit", "\u7D50\u675F"},
   419         {"Add Policy Entry", "\u65b0\u589e\u898f\u5247\u9805\u76ee"},
   452         {"Add.Policy.Entry", "\u65B0\u589E\u539F\u5247\u9805\u76EE"},
   420         {"Edit Policy Entry", "\u7de8\u8f2f\u898f\u5247\u9805\u76ee"},
   453         {"Edit.Policy.Entry", "\u7DE8\u8F2F\u539F\u5247\u9805\u76EE"},
   421         {"Remove Policy Entry", "\u79fb\u9664\u898f\u5247\u9805\u76ee"},
   454         {"Remove.Policy.Entry", "\u79FB\u9664\u539F\u5247\u9805\u76EE"},
   422         {"Edit", "\u7de8\u8f2f"},
   455         {"Edit", "\u7DE8\u8F2F"},
   423         {"Retain", "\u4fdd\u7559"},
   456         {"Retain", "\u4FDD\u7559"},
   424 
   457 
   425         {"Warning: File name may include escaped backslash characters. " +
   458         {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
   426                         "It is not necessary to escape backslash characters " +
   459             "\u8B66\u544A: \u6A94\u6848\u540D\u7A31\u5305\u542B\u9041\u96E2\u53CD\u659C\u7DDA\u5B57\u5143\u3002\u4E0D\u9700\u8981\u9041\u96E2\u53CD\u659C\u7DDA\u5B57\u5143 (\u64B0\u5BEB\u539F\u5247\u5167\u5BB9\u81F3\u6C38\u4E45\u5B58\u653E\u5340\u6642\u9700\u8981\u5DE5\u5177\u9041\u96E2\u5B57\u5143)\u3002\n\n\u6309\u4E00\u4E0B\u300C\u4FDD\u7559\u300D\u4EE5\u4FDD\u7559\u8F38\u5165\u7684\u540D\u7A31\uFF0C\u6216\u6309\u4E00\u4E0B\u300C\u7DE8\u8F2F\u300D\u4EE5\u7DE8\u8F2F\u540D\u7A31\u3002"},
   427                         "(the tool escapes characters as necessary when writing " +
   460 
   428                         "the policy contents to the persistent store).\n\n" +
   461         {"Add.Public.Key.Alias", "\u65B0\u589E\u516C\u958B\u91D1\u9470\u5225\u540D"},
   429                         "Click on Retain to retain the entered name, or click on " +
   462         {"Remove.Public.Key.Alias", "\u79FB\u9664\u516C\u958B\u91D1\u9470\u5225\u540D"},
   430                         "Edit to edit the name.",
   463         {"File", "\u6A94\u6848"},
   431             "Warning: File name may include escaped backslash characters. " +
   464         {"KeyStore", "\u91D1\u9470\u5132\u5B58\u5EAB"},
   432                         "It is not necessary to escape backslash characters " +
   465         {"Policy.File.", "\u539F\u5247\u6A94\u6848: "},
   433                         "(the tool escapes characters as necessary when writing " +
   466         {"Could.not.open.policy.file.policyFile.e.toString.",
   434                         "the policy contents to the persistent store).\n\n" +
   467                 "\u7121\u6CD5\u958B\u555F\u539F\u5247\u6A94\u6848: {0}: {1}"},
   435                         "Click on Retain to retain the entered name, or click on " +
   468         {"Policy.Tool", "\u539F\u5247\u5DE5\u5177"},
   436                         "Edit to edit the name."},
   469         {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
   437 
   470                 "\u958B\u555F\u539F\u5247\u8A18\u7F6E\u6642\u767C\u751F\u932F\u8AA4\u3002\u8ACB\u6AA2\u8996\u8B66\u544A\u8A18\u9304\u4EE5\u53D6\u5F97\u66F4\u591A\u7684\u8CC7\u8A0A"},
   438         {"Add Public Key Alias", "\u65b0\u589e\u516c\u958b\u91d1\u9470\u5225\u540d"},
   471         {"Error", "\u932F\u8AA4"},
   439         {"Remove Public Key Alias", "\u79fb\u9664\u516c\u958b\u91d1\u9470\u5225\u540d"},
   472         {"OK", "\u78BA\u5B9A"},
   440         {"File", "\u6a94\u6848"},
   473         {"Status", "\u72C0\u614B"},
   441         {"KeyStore", "\u91d1\u9470\u5132\u5b58\u5eab"},
   474         {"Warning", "\u8B66\u544A"},
   442         {"Policy File:", "\u898f\u5247\u6a94\u6848\uff1a"},
   475         {"Permission.",
   443         {"Could not open policy file: policyFile: e.toString()",
   476                 "\u6B0A\u9650:                                                       "},
   444                 "\u7121\u6cd5\u958b\u555f\u7b56\u7565\u6a94\u6848\uff1a{0}\uff1a{1}"},
   477         {"Principal.Type.", "Principal \u985E\u578B: "},
   445         {"Policy Tool", "\u898f\u5247\u5de5\u5177"},
   478         {"Principal.Name.", "Principal \u540D\u7A31: "},
   446         {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
   479         {"Target.Name.",
   447                 "\u958b\u555f\u898f\u5247\u8a18\u7f6e\u6642\u767c\u751f\u932f\u8aa4\u3002 \u8acb\u6aa2\u8996\u8b66\u544a\u8a18\u9304\u4ee5\u53d6\u5f97\u66f4\u591a\u7684\u8cc7\u8a0a"},
   480                 "\u76EE\u6A19\u540D\u7A31:                                                    "},
   448         {"Error", "\u932f\u8aa4"},
   481         {"Actions.",
   449         {"OK", "\u78ba\u8a8d"},
   482                 "\u52D5\u4F5C:                                                             "},
   450         {"Status", "\u72c0\u614b"},
   483         {"OK.to.overwrite.existing.file.filename.",
   451         {"Warning", "\u8b66\u544a"},
   484                 "\u78BA\u8A8D\u8986\u5BEB\u73FE\u5B58\u7684\u6A94\u6848 {0}\uFF1F"},
   452         {"Permission:                                                       ",
   485         {"Cancel", "\u53D6\u6D88"},
   453                 "\u8a31\u53ef\uff1a                                                       "},
   486         {"CodeBase.", "CodeBase:"},
   454         {"Principal Type:", "Principal \u985e\u578b\uff1a"},
   487         {"SignedBy.", "SignedBy:"},
   455         {"Principal Name:", "Principal \u540d\u7a31\uff1a"},
   488         {"Add.Principal", "\u65B0\u589E Principal"},
   456         {"Target Name:                                                    ",
   489         {"Edit.Principal", "\u7DE8\u8F2F Principal"},
   457                 "\u76ee\u6a19\u540d\u7a31\uff1a                                                    "},
   490         {"Remove.Principal", "\u79FB\u9664 Principal"},
   458         {"Actions:                                                             ",
   491         {"Principals.", "Principal:"},
   459                 "\u52d5\u4f5c\uff1a                                                             "},
   492         {".Add.Permission", "  \u65B0\u589E\u6B0A\u9650"},
   460         {"OK to overwrite existing file filename?",
   493         {".Edit.Permission", "  \u7DE8\u8F2F\u6B0A\u9650"},
   461                 "\u78ba\u8a8d\u8986\u5beb\u73fe\u5b58\u7684\u6a94\u6848 {0}\uff1f"},
   494         {"Remove.Permission", "\u79FB\u9664\u6B0A\u9650"},
   462         {"Cancel", "\u53d6\u6d88"},
   495         {"Done", "\u5B8C\u6210"},
   463         {"CodeBase:", "CodeBase:"},
   496         {"KeyStore.URL.", "\u91D1\u9470\u5132\u5B58\u5EAB URL: "},
   464         {"SignedBy:", "SignedBy:"},
   497         {"KeyStore.Type.", "\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B:"},
   465         {"Add Principal", "\u65b0\u589e Principal"},
   498         {"KeyStore.Provider.", "\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005:"},
   466         {"Edit Principal", "\u7de8\u8f2f Principal"},
   499         {"KeyStore.Password.URL.", "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC URL: "},
   467         {"Remove Principal", "\u79fb\u9664 Principal"},
   500         {"Principals", "Principal"},
   468         {"Principals:", "Principals\uff1a"},
   501         {".Edit.Principal.", "  \u7DE8\u8F2F Principal: "},
   469         {"  Add Permission", "  \u65b0\u589e\u8a31\u53ef\u6b0a"},
   502         {".Add.New.Principal.", "  \u65B0\u589E Principal: "},
   470         {"  Edit Permission", "  \u7de8\u8f2f\u8a31\u53ef\u6b0a"},
   503         {"Permissions", "\u6B0A\u9650"},
   471         {"Remove Permission", "\u79fb\u9664\u8a31\u53ef\u6b0a"},
   504         {".Edit.Permission.", "  \u7DE8\u8F2F\u6B0A\u9650:"},
   472         {"Done", "\u5b8c\u6210"},
   505         {".Add.New.Permission.", "  \u65B0\u589E\u6B0A\u9650:"},
   473         {"KeyStore URL:", "\u91d1\u9470\u5132\u5b58\u5eab URL\uff1a"},
   506         {"Signed.By.", "\u7C3D\u7F72\u4EBA: "},
   474         {"KeyStore Type:", "\u91d1\u9470\u5132\u5b58\u5eab\u985e\u578b\ufe30"},
   507         {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
   475         {"KeyStore Provider:", "\u91d1\u9470\u5132\u5b58\u5eab\u63d0\u4f9b\u8005\ufe30"},
   508             "\u6C92\u6709\u842C\u7528\u5B57\u5143\u540D\u7A31\uFF0C\u7121\u6CD5\u6307\u5B9A\u542B\u6709\u842C\u7528\u5B57\u5143\u985E\u5225\u7684 Principal"},
   476         {"KeyStore Password URL:", "\u91d1\u9470\u5132\u5b58\u5eab\u5bc6\u78bc URL\uff1a"},
   509         {"Cannot.Specify.Principal.without.a.Name",
   477         {"Principals", "Principals"},
   510             "\u6C92\u6709\u540D\u7A31\uFF0C\u7121\u6CD5\u6307\u5B9A Principal"},
   478         {"  Edit Principal:", "  \u7de8\u8f2f Principal\uff1a"},
   511         {"Permission.and.Target.Name.must.have.a.value",
   479         {"  Add New Principal:", "  \u52a0\u5165\u65b0 Principal\uff1a"},
   512                 "\u6B0A\u9650\u53CA\u76EE\u6A19\u540D\u7A31\u5FC5\u9808\u6709\u4E00\u500B\u503C\u3002"},
   480         {"Permissions", "\u8a31\u53ef\u6b0a"},
   513         {"Remove.this.Policy.Entry.", "\u79FB\u9664\u9019\u500B\u539F\u5247\u9805\u76EE\uFF1F"},
   481         {"  Edit Permission:", "  \u7de8\u8f2f\u8a31\u53ef\u6b0a"},
   514         {"Overwrite.File", "\u8986\u5BEB\u6A94\u6848"},
   482         {"  Add New Permission:", "  \u52a0\u5165\u65b0\u7684\u8a31\u53ef\u6b0a"},
   515         {"Policy.successfully.written.to.filename",
   483         {"Signed By:", "\u7c3d\u7f72\u4eba\uff1a"},
   516                 "\u539F\u5247\u6210\u529F\u5BEB\u5165\u81F3 {0}"},
   484         {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
   517         {"null.filename", "\u7A7A\u503C\u6A94\u540D"},
   485             "\u6c92\u6709\u901a\u914d\u7b26\u865f\u540d\u7a31\uff0c\u7121\u6cd5\u6307\u5b9a\u542b\u6709\u901a\u914d\u7b26\u865f\u985e\u5225\u7684 Principal"},
   518         {"Save.changes.", "\u5132\u5B58\u8B8A\u66F4\uFF1F"},
   486         {"Cannot Specify Principal without a Name",
   519         {"Yes", "\u662F"},
   487             "\u6c92\u6709\u540d\u7a31\uff0c\u7121\u6cd5\u6307\u5b9a Principal"},
       
   488         {"Permission and Target Name must have a value",
       
   489                 "\u8a31\u53ef\u6b0a\u53ca\u76ee\u6a19\u5fc5\u9808\u6709\u4e00\u500b\u503c\u3002"},
       
   490         {"Remove this Policy Entry?", "\u79fb\u9664\u9019\u500b\u898f\u5247\u9805\u76ee\uff1f"},
       
   491         {"Overwrite File", "\u8986\u5beb\u6a94\u6848"},
       
   492         {"Policy successfully written to filename",
       
   493                 "\u898f\u5247\u6210\u529f\u5beb\u81f3 {0}"},
       
   494         {"null filename", "\u7121\u6548\u7684\u6a94\u540d"},
       
   495         {"Save changes?", "\u5132\u5b58\u8b8a\u66f4\uff1f"},
       
   496         {"Yes", "\u662f"},
       
   497         {"No", "\u5426"},
   520         {"No", "\u5426"},
   498         {"Policy Entry", "\u898f\u5247\u9805\u76ee"},
   521         {"Policy.Entry", "\u539F\u5247\u9805\u76EE"},
   499         {"Save Changes", "\u5132\u5b58\u8b8a\u66f4"},
   522         {"Save.Changes", "\u5132\u5B58\u8B8A\u66F4"},
   500         {"No Policy Entry selected", "\u6c92\u6709\u9078\u53d6\u898f\u5247\u9805\u76ee"},
   523         {"No.Policy.Entry.selected", "\u6C92\u6709\u9078\u53D6\u539F\u5247\u9805\u76EE"},
   501         {"Unable to open KeyStore: ex.toString()",
   524         {"Unable.to.open.KeyStore.ex.toString.",
   502                 "\u7121\u6cd5\u958b\u555f\u91d1\u9470\u5132\u5b58\u5eab\uff1a{0}"},
   525                 "\u7121\u6CD5\u958B\u555F\u91D1\u9470\u5132\u5B58\u5EAB: {0}"},
   503         {"No principal selected", "\u672a\u9078\u53d6 Principal"},
   526         {"No.principal.selected", "\u672A\u9078\u53D6 Principal"},
   504         {"No permission selected", "\u6c92\u6709\u9078\u53d6\u8a31\u53ef\u6b0a"},
   527         {"No.permission.selected", "\u6C92\u6709\u9078\u53D6\u6B0A\u9650"},
   505         {"name", "\u540d\u7a31"},
   528         {"name", "\u540D\u7A31"},
   506         {"configuration type", "\u914d\u7f6e\u985e\u578b"},
   529         {"configuration.type", "\u7D44\u614B\u985E\u578B"},
   507         {"environment variable name", "\u74b0\u5883\u8b8a\u6578\u540d\u7a31"},
   530         {"environment.variable.name", "\u74B0\u5883\u8B8A\u6578\u540D\u7A31"},
   508         {"library name", "\u7a0b\u5f0f\u5eab\u540d\u7a31"},
   531         {"library.name", "\u7A0B\u5F0F\u5EAB\u540D\u7A31"},
   509         {"package name", "\u5957\u88dd\u8edf\u9ad4\u540d\u7a31"},
   532         {"package.name", "\u5957\u88DD\u7A0B\u5F0F\u540D\u7A31"},
   510         {"policy type", "\u7b56\u7565\u985e\u578b"},
   533         {"policy.type", "\u539F\u5247\u985E\u578B"},
   511         {"property name", "\u5c6c\u6027\u540d\u7a31"},
   534         {"property.name", "\u5C6C\u6027\u540D\u7A31"},
   512         {"provider name", "\u63d0\u4f9b\u8005\u540d\u7a31"},
   535         {"Principal.List", "Principal \u6E05\u55AE"},
   513         {"Principal List", "\u4e3b\u9ad4\u6e05\u55ae"},
   536         {"Permission.List", "\u6B0A\u9650\u6E05\u55AE"},
   514         {"Permission List", "\u6b0a\u9650\u6e05\u55ae"},
   537         {"Code.Base", "\u4EE3\u78BC\u57FA\u6E96"},
   515         {"Code Base", "\u4ee3\u78bc\u57fa\u6e96"},
   538         {"KeyStore.U.R.L.", "\u91D1\u9470\u5132\u5B58\u5EAB URL:"},
   516         {"KeyStore U R L:", "\u91d1\u9470\u5132\u5b58\u5eab U R L\uff1a"},
   539         {"KeyStore.Password.U.R.L.", "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC URL:"},
   517         {"KeyStore Password U R L:", "\u91d1\u9470\u5132\u5b58\u5eab\u5bc6\u78bc U R L\uff1a"},
       
   518 
   540 
   519 
   541 
   520         // javax.security.auth.PrivateCredentialPermission
   542         // javax.security.auth.PrivateCredentialPermission
   521         {"invalid null input(s)", "\u7121\u6548\u7a7a\u8f38\u5165"},
   543         {"invalid.null.input.s.", "\u7121\u6548\u7A7A\u503C\u8F38\u5165"},
   522         {"actions can only be 'read'", "\u52d5\u4f5c\u53ea\u80fd\u88ab\u8b80\u53d6'"},
   544         {"actions.can.only.be.read.", "\u52D5\u4F5C\u53EA\u80FD\u88AB\u300C\u8B80\u53D6\u300D"},
   523         {"permission name [name] syntax invalid: ",
   545         {"permission.name.name.syntax.invalid.",
   524                 "\u8a31\u53ef\u6b0a\u540d\u7a31 [{0}] \u662f\u7121\u6548\u7684\u8a9e\u6cd5\uff1a "},
   546                 "\u6B0A\u9650\u540D\u7A31 [{0}] \u662F\u7121\u6548\u7684\u8A9E\u6CD5: "},
   525         {"Credential Class not followed by a Principal Class and Name",
   547         {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
   526                 "\u8a8d\u8b49\u7b49\u7d1a\u672a\u63a5\u5728 Principal \u985e\u5225\u53ca\u540d\u7a31\u4e4b\u5f8c"},
   548                 "Credential \u985E\u5225\u5F8C\u9762\u4E0D\u662F Principal \u985E\u5225\u53CA\u540D\u7A31"},
   527         {"Principal Class not followed by a Principal Name",
   549         {"Principal.Class.not.followed.by.a.Principal.Name",
   528                 "Principal \u985e\u5225\u672a\u63a5\u5728 Principal \u540d\u7a31\u4e4b\u5f8c"},
   550                 "Principal \u985E\u5225\u5F8C\u9762\u4E0D\u662F Principal \u540D\u7A31"},
   529         {"Principal Name must be surrounded by quotes",
   551         {"Principal.Name.must.be.surrounded.by.quotes",
   530                 "Principal \u540d\u7a31\u5fc5\u9808\u4ee5\u5f15\u865f\u5708\u4f4f"},
   552                 "Principal \u540D\u7A31\u5FC5\u9808\u4EE5\u5F15\u865F\u5708\u4F4F"},
   531         {"Principal Name missing end quote",
   553         {"Principal.Name.missing.end.quote",
   532                 "Principal \u540d\u7a31\u7f3a\u5c11\u4e0b\u5f15\u865f"},
   554                 "Principal \u540D\u7A31\u7F3A\u5C11\u4E0B\u5F15\u865F"},
   533         {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
   555         {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
   534                 "\u5982\u679c Principal \u540d\u7a31\u4e0d\u662f\u4e00\u500b\u901a\u914d\u7b26\u865f (*) \u503c\uff0c\u90a3\u9ebc PrivateCredentialPermission Principal \u985e\u5225\u5c31\u4e0d\u6703\u662f\u4e00\u500b\u901a\u914d\u7b26\u865f (*) \u503c"},
   556                 "\u5982\u679C Principal \u540D\u7A31\u4E0D\u662F\u4E00\u500B\u842C\u7528\u5B57\u5143 (*) \u503C\uFF0C\u90A3\u9EBC PrivateCredentialPermission Principal \u985E\u5225\u5C31\u4E0D\u80FD\u662F\u842C\u7528\u5B57\u5143 (*) \u503C"},
   535         {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
   557         {"CredOwner.Principal.Class.class.Principal.Name.name",
   536                 "CredOwner:\n\tPrincipal \u985e\u5225 = {0}\n\tPrincipal \u540d\u7a31 = {1}"},
   558                 "CredOwner:\n\tPrincipal \u985E\u5225 = {0}\n\tPrincipal \u540D\u7A31 = {1}"},
   537 
   559 
   538         // javax.security.auth.x500
   560         // javax.security.auth.x500
   539         {"provided null name", "\u63d0\u4f9b\u7a7a\u540d"},
   561         {"provided.null.name", "\u63D0\u4F9B\u7A7A\u503C\u540D\u7A31"},
   540         {"provided null keyword map", "\u63d0\u4f9b\u7a7a\u7684\u95dc\u9375\u5b57\u5c0d\u6620"},
   562         {"provided.null.keyword.map", "\u63D0\u4F9B\u7A7A\u503C\u95DC\u9375\u5B57\u5C0D\u6620"},
   541         {"provided null OID map", "\u63d0\u4f9b\u7a7a\u7684 OID \u5c0d\u6620"},
   563         {"provided.null.OID.map", "\u63D0\u4F9B\u7A7A\u503C OID \u5C0D\u6620"},
   542 
   564 
   543         // javax.security.auth.Subject
   565         // javax.security.auth.Subject
   544         {"invalid null AccessControlContext provided",
   566         {"invalid.null.AccessControlContext.provided",
   545                 "\u63d0\u4f9b\u7121\u6548\u7684\u7a7a AccessControlContext"},
   567                 "\u63D0\u4F9B\u7121\u6548\u7684\u7A7A\u503C AccessControlContext"},
   546         {"invalid null action provided", "\u63d0\u4f9b\u7121\u6548\u7684\u7a7a\u52d5\u4f5c"},
   568         {"invalid.null.action.provided", "\u63D0\u4F9B\u7121\u6548\u7684\u7A7A\u503C\u52D5\u4F5C"},
   547         {"invalid null Class provided", "\u63d0\u4f9b\u7121\u6548\u7684\u7a7a\u985e\u5225"},
   569         {"invalid.null.Class.provided", "\u63D0\u4F9B\u7121\u6548\u7684\u7A7A\u503C\u985E\u5225"},
   548         {"Subject:\n", "\u4e3b\u984c\uff1a\n"},
   570         {"Subject.", "\u4E3B\u984C:\n"},
   549         {"\tPrincipal: ", "\tPrincipal: "},
   571         {".Principal.", "\tPrincipal: "},
   550         {"\tPublic Credential: ", "\t\u516c\u7528\u8a8d\u8b49 "},
   572         {".Public.Credential.", "\t\u516C\u7528\u8B49\u660E\u8CC7\u6599: "},
   551         {"\tPrivate Credentials inaccessible\n",
   573         {".Private.Credentials.inaccessible.",
   552                 "\t\u79c1\u4eba\u8a8d\u8b49\u7121\u6cd5\u9032\u5165\n"},
   574                 "\t\u79C1\u4EBA\u8B49\u660E\u8CC7\u6599\u7121\u6CD5\u5B58\u53D6\n"},
   553         {"\tPrivate Credential: ", "\t\u79c1\u4eba\u6388\u6b0a "},
   575         {".Private.Credential.", "\t\u79C1\u4EBA\u8B49\u660E\u8CC7\u6599: "},
   554         {"\tPrivate Credential inaccessible\n",
   576         {".Private.Credential.inaccessible.",
   555                 "\t\u79c1\u4eba\u8a8d\u8b49\u7121\u6cd5\u9032\u5165\n"},
   577                 "\t\u79C1\u4EBA\u8B49\u660E\u8CC7\u6599\u7121\u6CD5\u5B58\u53D6\n"},
   556         {"Subject is read-only", "\u4e3b\u984c\u70ba\u552f\u8b80"},
   578         {"Subject.is.read.only", "\u4E3B\u984C\u70BA\u552F\u8B80"},
   557         {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
   579         {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
   558                 "\u8a66\u5716\u65b0\u589e\u4e00\u500b\u975e java.security.Principal \u6848\u4f8b\u7684\u7269\u4ef6\u81f3\u4e3b\u984c\u7684 Principal \u7fa4\u4e2d"},
   580                 "\u8A66\u5716\u65B0\u589E\u4E00\u500B\u975E java.security.Principal \u57F7\u884C\u8655\u7406\u7684\u7269\u4EF6\u81F3\u4E3B\u984C\u7684 Principal \u7FA4\u4E2D"},
   559         {"attempting to add an object which is not an instance of class",
   581         {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
   560                 "\u8a66\u5716\u65b0\u589e\u4e00\u500b\u975e {0} \u6848\u4f8b\u7684\u7269\u4ef6"},
   582                 "\u8A66\u5716\u65B0\u589E\u4E00\u500B\u975E {0} \u57F7\u884C\u8655\u7406\u7684\u7269\u4EF6"},
   561 
   583 
   562         // javax.security.auth.login.AppConfigurationEntry
   584         // javax.security.auth.login.AppConfigurationEntry
   563         {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
   585         {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
   564 
   586 
   565         // javax.security.auth.login.LoginContext
   587         // javax.security.auth.login.LoginContext
   566         {"Invalid null input: name", "\u7121\u6548\u7a7a\u8f38\u5165\uff1a \u540d\u7a31"},
   588         {"Invalid.null.input.name", "\u7121\u6548\u7A7A\u503C\u8F38\u5165: \u540D\u7A31"},
   567         {"No LoginModules configured for name",
   589         {"No.LoginModules.configured.for.name",
   568          "\u7121\u91dd\u5c0d {0} \u914d\u7f6e\u7684 LoginModules"},
   590          "\u7121\u91DD\u5C0D {0} \u914D\u7F6E\u7684 LoginModules"},
   569         {"invalid null Subject provided", "\u63d0\u4f9b\u7121\u6548\u7a7a\u4e3b\u984c"},
   591         {"invalid.null.Subject.provided", "\u63D0\u4F9B\u7121\u6548\u7A7A\u503C\u4E3B\u984C"},
   570         {"invalid null CallbackHandler provided",
   592         {"invalid.null.CallbackHandler.provided",
   571                 "\u63d0\u4f9b\u7121\u6548\u7a7a CallbackHandler"},
   593                 "\u63D0\u4F9B\u7121\u6548\u7A7A\u503C CallbackHandler"},
   572         {"null subject - logout called before login",
   594         {"null.subject.logout.called.before.login",
   573                 "\u7a7a\u4e3b\u984c - \u5728\u767b\u5165\u4e4b\u524d\u5373\u547c\u53eb\u767b\u51fa"},
   595                 "\u7A7A\u503C\u4E3B\u984C - \u5728\u767B\u5165\u4E4B\u524D\u5373\u547C\u53EB\u767B\u51FA"},
   574         {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
   596         {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
   575                 "\u7121\u6cd5\u5be6\u5217\u5316 LoginModule\uff0c{0}\uff0c\u56e0\u70ba\u5b83\u4e26\u672a\u63d0\u4f9b\u4e00\u500b\u975e\u5f15\u6578\u7684\u69cb\u9020\u51fd\u6578"},
   597                 "\u7121\u6CD5\u5275\u8A2D LoginModule\uFF0C{0}\uFF0C\u56E0\u70BA\u5B83\u4E26\u672A\u63D0\u4F9B\u975E\u5F15\u6578\u7684\u5EFA\u69CB\u5B50"},
   576         {"unable to instantiate LoginModule",
   598         {"unable.to.instantiate.LoginModule",
   577                 "\u7121\u6cd5\u5be6\u4f8b\u5316 LoginModule"},
   599                 "\u7121\u6CD5\u5EFA\u7ACB LoginModule"},
   578         {"unable to instantiate LoginModule: ",
   600         {"unable.to.instantiate.LoginModule.",
   579                 "\u7121\u6cd5\u5275\u8a2d LoginModule\uff1a"},
   601                 "\u7121\u6CD5\u5EFA\u7ACB LoginModule: "},
   580         {"unable to find LoginModule class: ",
   602         {"unable.to.find.LoginModule.class.",
   581                 "\u7121\u6cd5\u627e\u5230 LoginModule \u985e\u5225\uff1a "},
   603                 "\u627E\u4E0D\u5230 LoginModule \u985E\u5225: "},
   582         {"unable to access LoginModule: ",
   604         {"unable.to.access.LoginModule.",
   583                 "\u7121\u6cd5\u5b58\u53d6 LoginModule: "},
   605                 "\u7121\u6CD5\u5B58\u53D6 LoginModule: "},
   584         {"Login Failure: all modules ignored",
   606         {"Login.Failure.all.modules.ignored",
   585                 "\u767b\u5165\u5931\u6557\uff1a \u5ffd\u7565\u6240\u6709\u6a21\u7d44"},
   607                 "\u767B\u5165\u5931\u6557: \u5FFD\u7565\u6240\u6709\u6A21\u7D44"},
   586 
   608 
   587         // sun.security.provider.PolicyFile
   609         // sun.security.provider.PolicyFile
   588 
   610 
   589         {"java.security.policy: error parsing policy:\n\tmessage",
   611         {"java.security.policy.error.parsing.policy.message",
   590                 "java.security.policy: \u89e3\u6790\u932f\u8aa4 {0}\uff1a\n\t{1}"},
   612                 "java.security.policy: \u5256\u6790\u932F\u8AA4 {0}: \n\t{1}"},
   591         {"java.security.policy: error adding Permission, perm:\n\tmessage",
   613         {"java.security.policy.error.adding.Permission.perm.message",
   592                 "java.security.policy: \u65b0\u589e\u8a31\u53ef\u6b0a\u932f\u8aa4 {0}\uff1a\n\t{1}"},
   614                 "java.security.policy: \u65B0\u589E\u6B0A\u9650\u932F\u8AA4 {0}: \n\t{1}"},
   593         {"java.security.policy: error adding Entry:\n\tmessage",
   615         {"java.security.policy.error.adding.Entry.message",
   594                 "java.security.policy: \u65b0\u589e\u9805\u76ee\u932f\u8aa4\uff1a\n\t{0}"},
   616                 "java.security.policy: \u65B0\u589E\u9805\u76EE\u932F\u8AA4: \n\t{0}"},
   595         {"alias name not provided (pe.name)", "\u5225\u540d\u540d\u7a31 ({0}) \u672a\u63d0\u4f9b"},
   617         {"alias.name.not.provided.pe.name.", "\u672A\u63D0\u4F9B\u5225\u540D\u540D\u7A31 ({0})"},
   596         {"unable to perform substitution on alias, suffix",
   618         {"unable.to.perform.substitution.on.alias.suffix",
   597                 "\u7121\u6cd5\u5c0d\u5225\u540d\u57f7\u884c\u66ff\u63db\uff0c{0}"},
   619                 "\u7121\u6CD5\u5C0D\u5225\u540D\u57F7\u884C\u66FF\u63DB\uFF0C{0}"},
   598         {"substitution value, prefix, unsupported",
   620         {"substitution.value.prefix.unsupported",
   599                 "\u4e0d\u652f\u63f4\u7684\u66ff\u63db\u503c\uff0c{0}"},
   621                 "\u4E0D\u652F\u63F4\u7684\u66FF\u63DB\u503C\uFF0C{0}"},
   600         {"(", "("},
   622         {"LPARAM", "("},
   601         {")", ")"},
   623         {"RPARAM", ")"},
   602         {"type can't be null","\u4e0d\u80fd\u70ba\u7a7a\u8f38\u5165"},
   624         {"type.can.t.be.null","\u8F38\u5165\u4E0D\u80FD\u70BA\u7A7A\u503C"},
   603 
   625 
   604         // sun.security.provider.PolicyParser
   626         // sun.security.provider.PolicyParser
   605         {"keystorePasswordURL can not be specified without also specifying keystore",
   627         {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
   606                 "\u6307\u5b9a keystorePasswordURL \u9700\u8981\u540c\u6642\u6307\u5b9a keystore"},
   628                 "\u6307\u5B9A keystorePasswordURL \u9700\u8981\u540C\u6642\u6307\u5B9A\u91D1\u9470\u5132\u5B58\u5EAB"},
   607         {"expected keystore type", "\u9810\u671f\u7684 keystore \u985e\u578b"},
   629         {"expected.keystore.type", "\u9810\u671F\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"},
   608         {"expected keystore provider", "\u9810\u671f\u7684 keystore \u63d0\u4f9b\u8005"},
   630         {"expected.keystore.provider", "\u9810\u671F\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005"},
   609         {"multiple Codebase expressions",
   631         {"multiple.Codebase.expressions",
   610                 "\u591a\u52d5 Codebase \u8868\u793a\u5f0f"},
   632                 "\u591A\u91CD Codebase \u8868\u793A\u5F0F"},
   611         {"multiple SignedBy expressions","\u591a\u91cd SignedBy \u8868\u793a\u5f0f"},
   633         {"multiple.SignedBy.expressions","\u591A\u91CD SignedBy \u8868\u793A\u5F0F"},
   612         {"SignedBy has empty alias","SignedBy \u6709\u7a7a\u5225\u540d"},
   634         {"SignedBy.has.empty.alias","SignedBy \u6709\u7A7A\u5225\u540D"},
   613         {"can not specify Principal with a wildcard class without a wildcard name",
   635         {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
   614                 "\u6c92\u6709\u901a\u914d\u7b26\u865f\u540d\u7a31\uff0c\u7121\u6cd5\u6307\u5b9a\u542b\u6709\u901a\u914d\u7b26\u865f\u985e\u5225\u7684 Principal"},
   636                 "\u6C92\u6709\u842C\u7528\u5B57\u5143\u540D\u7A31\uFF0C\u7121\u6CD5\u6307\u5B9A\u542B\u6709\u842C\u7528\u5B57\u5143\u985E\u5225\u7684 Principal"},
   615         {"expected codeBase or SignedBy or Principal",
   637         {"expected.codeBase.or.SignedBy.or.Principal",
   616                 "\u9810\u671f\u7684 codeBase \u6216 SignedBy \u6216 Principal"},
   638                 "\u9810\u671F\u7684 codeBase \u6216 SignedBy \u6216 Principal"},
   617         {"expected permission entry", "\u9810\u671f\u7684\u8a31\u53ef\u6b0a\u9805\u76ee"},
   639         {"expected.permission.entry", "\u9810\u671F\u7684\u6B0A\u9650\u9805\u76EE"},
   618         {"number ", "\u865f\u78bc "},
   640         {"number.", "\u865F\u78BC "},
   619         {"expected [expect], read [end of file]",
   641         {"expected.expect.read.end.of.file.",
   620                 "\u9810\u671f\u7684 [{0}], \u8b80\u53d6 [end of file]"},
   642                 "\u9810\u671F\u7684 [{0}], \u8B80\u53D6 [end of file]"},
   621         {"expected [;], read [end of file]",
   643         {"expected.read.end.of.file.",
   622                 "\u9810\u671f\u7684 [;], \u8b80\u53d6 [end of file]"},
   644                 "\u9810\u671F\u7684 [;], \u8B80\u53D6 [end of file]"},
   623         {"line number: msg", "\u884c {0}\uff1a {1}"},
   645         {"line.number.msg", "\u884C {0}: {1}"},
   624         {"line number: expected [expect], found [actual]",
   646         {"line.number.expected.expect.found.actual.",
   625                 "\u884c {0}\uff1a \u9810\u671f\u7684 [{1}]\uff0c\u767c\u73fe [{2}]"},
   647                 "\u884C {0}: \u9810\u671F\u7684 [{1}]\uFF0C\u767C\u73FE [{2}]"},
   626         {"null principalClass or principalName",
   648         {"null.principalClass.or.principalName",
   627                 "\u7a7a principalClass \u6216 principalName"},
   649                 "\u7A7A\u503C principalClass \u6216 principalName"},
   628 
   650 
   629         // sun.security.pkcs11.SunPKCS11
   651         // sun.security.pkcs11.SunPKCS11
   630         {"PKCS11 Token [providerName] Password: ",
   652         {"PKCS11.Token.providerName.Password.",
   631                 "PKCS11 \u8a18\u865f [{0}] \u5bc6\u78bc\uff1a "},
   653                 "PKCS11 \u8A18\u865F [{0}] \u5BC6\u78BC: "},
   632 
   654 
   633         /* --- DEPRECATED --- */
   655         /* --- DEPRECATED --- */
   634         // javax.security.auth.Policy
   656         // javax.security.auth.Policy
   635         {"unable to instantiate Subject-based policy",
   657         {"unable.to.instantiate.Subject.based.policy",
   636                 "\u7121\u6cd5\u5275\u8a2d\u57fa\u65bc\u4e3b\u9ad4\u7684\u7b56\u7565"}
   658                 "\u7121\u6CD5\u5EFA\u7ACB\u4E3B\u984C\u5F0F\u7684\u539F\u5247"}
   637     };
   659     };
   638 
   660 
   639 
   661 
   640     /**
   662     /**
   641      * Returns the contents of this <code>ResourceBundle</code>.
   663      * Returns the contents of this <code>ResourceBundle</code>.
   646      */
   668      */
   647     public Object[][] getContents() {
   669     public Object[][] getContents() {
   648         return contents;
   670         return contents;
   649     }
   671     }
   650 }
   672 }
       
   673