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

package sun.security.util;

/**
 * <p> This class represents the <code>ResourceBundle</code>
 * for javax.security.auth and sun.security.
 *
 */
public class Resources_zh_CN extends java.util.ListResourceBundle {

    private static final Object[][] contents = {

        // shared (from jarsigner)
        {" ", " "},
        {"  ", "  "},
        {"      ", "      "},
        {", ", ", "},
        // shared (from keytool)
        {"\n", "\n"},
        {"*******************************************",
                "*******************************************"},
        {"*******************************************\n\n",
                "*******************************************\n\n"},

        // keytool
        {"keytool error: ", "keytool\u9519\u8bef\uff1a "},
        {"Illegal option:  ", "\u975e\u6cd5\u9009\u9879\uff1a  "},
        {"Try keytool -help","\u5c1d\u8bd5 keytool -help"},
        {"Command option <flag> needs an argument.", "\u547d\u4ee4\u9009\u9879 {0} \u9700\u8981\u4e00\u4e2a\u53c2\u6570\u3002"},
        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
"\u8b66\u544a: PKCS12 KeyStores \u4e0d\u652f\u6301\u5176\u4ed6\u5b58\u50a8\u548c\u5bc6\u94a5\u53e3\u4ee4\u3002\u5ffd\u7565\u7528\u6237\u6307\u5b9a\u7684 {0} \u503c\u3002"},
        {"-keystore must be NONE if -storetype is {0}",
                "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219 -keystore \u5fc5\u987b\u4e3a NONE"},
        {"Too may retries, program terminated",
"\u91cd\u8bd5\u6b21\u6570\u8fc7\u591a\uff0c\u7a0b\u5e8f\u5df2\u7ec8\u6b62"},
        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
                "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219\u4e0d\u652f\u6301 -storepasswd \u548c -keypasswd \u547d\u4ee4"},
        {"-keypasswd commands not supported if -storetype is PKCS12",
                "\u5982\u679c -storetype \u4e3a PKCS12\uff0c\u5219\u4e0d\u652f\u6301 -keypasswd \u547d\u4ee4"},
        {"-keypass and -new can not be specified if -storetype is {0}",
                "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -keypass \u548c -new"},
        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
                "\u5982\u679c\u6307\u5b9a\u4e86 -protected\uff0c\u5219\u4e0d\u8981\u6307\u5b9a -storepass\u3001-keypass \u548c -new"},
        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
                "\u5982\u679c\u6307\u5b9a\u4e86 -srcprotected\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -srcstorepass \u548c -srckeypass"},
        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
                "\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass\u3001-keypass \u548c -new"},
        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
                "\u5982\u679c\u6e90\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -srcstorepass \u548c -srckeypass"},
        {"Validity must be greater than zero",
                "\u6709\u6548\u6027\u5fc5\u987b\u5927\u4e8e\u96f6"},
        {"provName not a provider", "{0}\u4e0d\u662f\u4e00\u4e2a\u63d0\u4f9b\u8005"},
        {"Usage error: no command provided", "\u7528\u6cd5\u9519\u8bef: \u6ca1\u6709\u63d0\u4f9b\u547d\u4ee4"},
        {"Usage error, <arg> is not a legal command", "\u7528\u6cd5\u9519\u8bef\uff0c{0} \u4e0d\u662f\u5408\u6cd5\u7684\u547d\u4ee4"},
        {"Source keystore file exists, but is empty: ", "\u6e90\u5bc6\u94a5\u5e93\u6587\u4ef6\u5b58\u5728\uff0c\u4f46\u4e3a\u7a7a: "},
        {"Please specify -srckeystore", "\u8bf7\u6307\u5b9a -srckeystore"},
        {"Must not specify both -v and -rfc with 'list' command",
                "\u4e0d\u5f97\u4ee5\u300c\u5217\u8868\u300d\u6307\u4ee4\u6765\u6307\u5b9a-v \u53ca-rfc"},
        {"Key password must be at least 6 characters",
                "\u5173\u952e\u5bc6\u7801\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
        {"New password must be at least 6 characters",
                "\u65b0\u5bc6\u7801\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
        {"Keystore file exists, but is empty: ",
                "Keystore\u6587\u4ef6\u5b58\u5728\uff0c\u4f46\u4e3a\u7a7a\u6587\u4ef6\uff1a "},
        {"Keystore file does not exist: ",
                "Keystore \u6587\u4ef6\u4e0d\u5b58\u5728\uff1a "},
        {"Must specify destination alias", "\u5fc5\u987b\u6307\u5b9a\u76ee\u7684\u5730\u522b\u540d"},
        {"Must specify alias", "\u5fc5\u987b\u6307\u5b9a\u522b\u540d"},
        {"Keystore password must be at least 6 characters",
                "Keystore \u5bc6\u7801\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
        {"Enter keystore password:  ", "\u8f93\u5165keystore\u5bc6\u7801\uff1a  "},
        {"Enter source keystore password:  ", "\u8f93\u5165\u6e90\u5bc6\u94a5\u5e93\u53e3\u4ee4:  "},
        {"Enter destination keystore password:  ", "\u8f93\u5165\u76ee\u6807\u5bc6\u94a5\u5e93\u53e3\u4ee4:  "},
        {"Keystore password is too short - must be at least 6 characters",
         "Keystore \u5bc6\u7801\u592a\u77ed -\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
        {"Unknown Entry Type", "\u672a\u77e5\u9879\u7c7b\u578b"},
        {"Too many failures. Alias not changed", "\u9519\u8bef\u8fc7\u591a\u3002\u672a\u66f4\u6539\u522b\u540d"},
        {"Entry for alias <alias> successfully imported.",
"\u5df2\u6210\u529f\u5bfc\u5165\u522b\u540d {0} \u9879\u3002"},
        {"Entry for alias <alias> not imported.", "\u672a\u5bfc\u5165\u522b\u540d {0} \u9879\u3002"},
        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
"\u5bfc\u5165\u522b\u540d {0} \u9879\u65f6\u51fa\u73b0\u95ee\u9898: {1}\u3002\n\u672a\u5bfc\u5165\u522b\u540d {0} \u9879\u3002"},
        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
"\u5df2\u5b8c\u6210\u5bfc\u5165\u547d\u4ee4: {0} \u9879\u6210\u529f\u5bfc\u5165\uff0c{1} \u9879\u5931\u8d25\u6216\u53d6\u6d88"},
        {"Warning: Overwriting existing alias <alias> in destination keystore",
"\u8b66\u544a: \u6b63\u5728\u8986\u76d6\u76ee\u6807\u5bc6\u94a5\u5e93\u4e2d\u7684\u73b0\u6709\u522b\u540d {0}"},
        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
"\u5b58\u5728\u73b0\u6709\u9879\u522b\u540d {0}\uff0c\u662f\u5426\u8981\u8986\u76d6\uff1f[\u5426]:  "},
        {"Too many failures - try later", "\u592a\u591a\u9519\u8bef - \u8bf7\u7a0d\u540e\u518d\u8bd5"},
        {"Certification request stored in file <filename>",
                "\u4fdd\u5b58\u5728\u6587\u4ef6\u4e2d\u7684\u8ba4\u8bc1\u8981\u6c42 <{0}>"},
        {"Submit this to your CA", "\u5c06\u6b64\u63d0\u4ea4\u7ed9\u60a8\u7684CA"},
        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
"\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u522b\u540d\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a\u76ee\u6807\u522b\u540d\u3001\u6e90\u5bc6\u94a5\u5e93\u53e3\u4ee4\u548c\u76ee\u6807\u5bc6\u94a5\u5e93\u53e3\u4ee4"},
        {"Certificate stored in file <filename>",
                "\u4fdd\u5b58\u5728\u6587\u4ef6\u4e2d\u7684\u8ba4\u8bc1 <{0}>"},
        {"Certificate reply was installed in keystore",
                "\u8ba4\u8bc1\u56de\u590d\u5df2\u5b89\u88c5\u5728 keystore\u4e2d"},
        {"Certificate reply was not installed in keystore",
                "\u8ba4\u8bc1\u56de\u590d\u672a\u5b89\u88c5\u5728 keystore\u4e2d"},
        {"Certificate was added to keystore",
                "\u8ba4\u8bc1\u5df2\u6dfb\u52a0\u81f3keystore\u4e2d"},
        {"Certificate was not added to keystore",
                "\u8ba4\u8bc1\u672a\u6dfb\u52a0\u81f3keystore\u4e2d"},
        {"[Storing ksfname]", "[\u6b63\u5728\u5b58\u50a8 {0}]"},
        {"alias has no public key (certificate)",
                "{0} \u6ca1\u6709\u516c\u5f00\u91d1\u94a5\uff08\u8ba4\u8bc1\uff09"},
        {"Cannot derive signature algorithm",
                "\u65e0\u6cd5\u53d6\u5f97\u7b7e\u540d\u7b97\u6cd5"},
        {"Alias <alias> does not exist",
                "\u522b\u540d <{0}> \u4e0d\u5b58\u5728"},
        {"Alias <alias> has no certificate",
                "\u522b\u540d <{0}> \u6ca1\u6709\u8ba4\u8bc1"},
        {"Key pair not generated, alias <alias> already exists",
                "\u6ca1\u6709\u521b\u5efa\u952e\u503c\u5bf9\uff0c\u522b\u540d <{0}> \u5df2\u7ecf\u5b58\u5728"},
        {"Cannot derive signature algorithm",
                "\u65e0\u6cd5\u53d6\u5f97\u7b7e\u540d\u7b97\u6cd5"},
        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
"\u6b63\u5728\u4e3a\u4ee5\u4e0b\u5bf9\u8c61\u751f\u6210 {0} \u4f4d {1} \u5bc6\u94a5\u5bf9\u548c\u81ea\u7b7e\u540d\u8bc1\u4e66 ({2})\uff08\u6709\u6548\u671f\u4e3a {3} \u5929\uff09:\n\t {4}"},
        {"Enter key password for <alias>", "\u8f93\u5165<{0}>\u7684\u4e3b\u5bc6\u7801"},
        {"\t(RETURN if same as keystore password):  ",
                "\t\uff08\u5982\u679c\u548c keystore \u5bc6\u7801\u76f8\u540c\uff0c\u6309\u56de\u8f66\uff09\uff1a  "},
        {"Key password is too short - must be at least 6 characters",
                "\u4e3b\u5bc6\u7801\u592a\u77ed -\u81f3\u5c11\u5fc5\u987b\u4e3a 6 \u4e2a\u5b57\u7b26"},
        {"Too many failures - key not added to keystore",
                "\u592a\u591a\u9519\u8bef - \u952e\u503c\u672a\u88ab\u6dfb\u52a0\u81f3keystore\u4e2d"},
        {"Destination alias <dest> already exists",
                "\u76ee\u7684\u5730\u522b\u540d <{0}> \u5df2\u7ecf\u5b58\u5728"},
        {"Password is too short - must be at least 6 characters",
                "\u5bc6\u7801\u592a\u77ed -\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
        {"Too many failures. Key entry not cloned",
                "\u592a\u591a\u9519\u8bef\u3002\u952e\u503c\u8f93\u5165\u672a\u88ab\u590d\u5236"},
        {"key password for <alias>", "<{0}> \u7684\u4e3b\u5bc6\u7801"},
        {"Keystore entry for <id.getName()> already exists",
                "<{0}> \u7684 Keystore \u8f93\u5165\u5df2\u7ecf\u5b58\u5728"},
        {"Creating keystore entry for <id.getName()> ...",
                "\u521b\u5efa <{0}> \u7684 keystore\u8f93\u5165..."},
        {"No entries from identity database added",
                "\u4ece\u6dfb\u52a0\u7684\u8fa8\u8bc6\u6570\u636e\u5e93\u4e2d\uff0c\u6ca1\u6709\u8f93\u5165"},
        {"Alias name: alias", "\u522b\u540d\u540d\u79f0\uff1a {0}"},
        {"Creation date: keyStore.getCreationDate(alias)",
                "\u521b\u5efa\u65e5\u671f\uff1a {0,date}"},
        {"alias, keyStore.getCreationDate(alias), ",
                "{0}, {1,date}, "},
        {"alias, ", "{0}, "},
        {"Entry type: <type>", "\u9879\u7c7b\u578b: {0}"},
        {"Certificate chain length: ", "\u8ba4\u8bc1\u94fe\u957f\u5ea6\uff1a "},
        {"Certificate[(i + 1)]:", "\u8ba4\u8bc1 [{0,number,integer}]:"},
        {"Certificate fingerprint (MD5): ", "\u8ba4\u8bc1\u6307\u7eb9 (MD5)\uff1a "},
        {"Entry type: trustedCertEntry\n", "\u8f93\u5165\u7c7b\u578b\uff1a trustedCertEntry\n"},
        {"trustedCertEntry,", "trustedCertEntry,"},
        {"Keystore type: ", "Keystore \u7c7b\u578b\uff1a "},
        {"Keystore provider: ", "Keystore \u63d0\u4f9b\u8005\uff1a "},
        {"Your keystore contains keyStore.size() entry",
                "\u60a8\u7684 keystore \u5305\u542b {0,number,integer} \u8f93\u5165"},
        {"Your keystore contains keyStore.size() entries",
                "\u60a8\u7684 keystore \u5305\u542b {0,number,integer} \u8f93\u5165"},
        {"Failed to parse input", "\u65e0\u6cd5\u5bf9\u8f93\u5165\u8fdb\u884c\u8bed\u6cd5\u5206\u6790"},
        {"Empty input", "\u7a7a\u8f93\u5165"},
        {"Not X.509 certificate", "\u975e X.509 \u8ba4\u8bc1"},
        {"Cannot derive signature algorithm",
                "\u65e0\u6cd5\u53d6\u5f97\u7b7e\u540d\u7b97\u6cd5"},
        {"alias has no public key", "{0} \u65e0\u516c\u7528\u5bc6\u94a5"},
        {"alias has no X.509 certificate", "{0} \u65e0 X.509 \u8ba4\u8bc1"},
        {"New certificate (self-signed):", "\u65b0\u8ba4\u8bc1\uff08\u81ea\u6211\u7b7e\u7f72\uff09\uff1a"},
        {"Reply has no certificates", "\u56de\u590d\u4e2d\u6ca1\u6709\u8ba4\u8bc1"},
        {"Certificate not imported, alias <alias> already exists",
                "\u8ba4\u8bc1\u672a\u8f93\u5165\uff0c\u522b\u540d <{0}> \u5df2\u7ecf\u5b58\u5728"},
        {"Input not an X.509 certificate", "\u6240\u8f93\u5165\u7684\u4e0d\u662f\u4e00\u4e2a X.509 \u8ba4\u8bc1"},
        {"Certificate already exists in keystore under alias <trustalias>",
                "\u5728 <{0}> \u7684\u522b\u540d\u4e4b\u4e0b\uff0c\u8ba4\u8bc1\u5df2\u7ecf\u5b58\u5728 keystore \u4e2d"},
        {"Do you still want to add it? [no]:  ",
                "\u60a8\u4ecd\u7136\u60f3\u8981\u6dfb\u52a0\u5b83\u5417\uff1f [\u5426]\uff1a  "},
        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
                "\u5728 <{0}> \u7684\u522b\u540d\u4e4b\u4e0b\uff0c\u8ba4\u8bc1\u5df2\u7ecf\u5b58\u5728\u4e8e CA keystore \u6574\u4e2a\u7cfb\u7edf\u4e4b\u4e2d"},
        {"Do you still want to add it to your own keystore? [no]:  ",
                "\u60a8\u4ecd\u7136\u60f3\u8981\u5c06\u5b83\u6dfb\u52a0\u5230\u81ea\u5df1\u7684keystore \u5417\uff1f [\u5426]\uff1a  "},
        {"Trust this certificate? [no]:  ", "\u4fe1\u4efb\u8fd9\u4e2a\u8ba4\u8bc1\uff1f [\u5426]\uff1a  "},
        {"YES", "\u662f"},
        {"New prompt: ", "\u65b0 {0}\uff1a "},
        {"Passwords must differ", "\u5fc5\u987b\u662f\u4e0d\u540c\u7684\u5bc6\u7801"},
        {"Re-enter new prompt: ", "\u91cd\u65b0\u8f93\u5165\u65b0 {0}\uff1a "},
        {"Re-enter new password: ", "\u518d\u6b21\u8f93\u5165\u65b0\u5bc6\u7801: "},
        {"They don't match. Try again", "\u5b83\u4eec\u4e0d\u5339\u914d\u3002\u8bf7\u91cd\u8bd5"},
        {"Enter prompt alias name:  ", "\u8f93\u5165 {0} \u522b\u540d\u540d\u79f0\uff1a  "},
        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
"\u8f93\u5165\u65b0\u7684\u522b\u540d\t\uff08\u6309\u56de\u8f66\u952e\u4ee5\u53d6\u6d88\u5bf9\u6b64\u9879\u7684\u5bfc\u5165\uff09:  "},
        {"Enter alias name:  ", "\u8f93\u5165\u522b\u540d\u540d\u79f0\uff1a  "},
        {"\t(RETURN if same as for <otherAlias>)",
                "\t\uff08\u5982\u679c\u548c <{0}> \u7684\u76f8\u540c\uff0c\u6309\u56de\u8f66\uff09"},
        {"*PATTERN* printX509Cert",
                "\u6240\u6709\u8005:{0}\n\u7b7e\u53d1\u4eba:{1}\n\u5e8f\u5217\u53f7:{2}\n\u6709\u6548\u671f: {3} \u81f3{4}\n\u8bc1\u4e66\u6307\u7eb9:\n\t MD5:{5}\n\t SHA1:{6}\n\t \u7b7e\u540d\u7b97\u6cd5\u540d\u79f0:{7}\n\t \u7248\u672c: {8}"},
        {"What is your first and last name?",
                "\u60a8\u7684\u540d\u5b57\u4e0e\u59d3\u6c0f\u662f\u4ec0\u4e48\uff1f"},
        {"What is the name of your organizational unit?",
                "\u60a8\u7684\u7ec4\u7ec7\u5355\u4f4d\u540d\u79f0\u662f\u4ec0\u4e48\uff1f"},
        {"What is the name of your organization?",
                "\u60a8\u7684\u7ec4\u7ec7\u540d\u79f0\u662f\u4ec0\u4e48\uff1f"},
        {"What is the name of your City or Locality?",
                "\u60a8\u6240\u5728\u7684\u57ce\u5e02\u6216\u533a\u57df\u540d\u79f0\u662f\u4ec0\u4e48\uff1f"},
        {"What is the name of your State or Province?",
                "\u60a8\u6240\u5728\u7684\u5dde\u6216\u7701\u4efd\u540d\u79f0\u662f\u4ec0\u4e48\uff1f"},
        {"What is the two-letter country code for this unit?",
                "\u8be5\u5355\u4f4d\u7684\u4e24\u5b57\u6bcd\u56fd\u5bb6\u4ee3\u7801\u662f\u4ec0\u4e48"},
        {"Is <name> correct?", "{0} \u6b63\u786e\u5417\uff1f"},
        {"no", "\u5426"},
        {"yes", "\u662f"},
        {"y", "y"},
        {"  [defaultValue]:  ", "  [{0}]\uff1a  "},
        {"Alias <alias> has no key",
                "\u522b\u540d <{0}> \u6ca1\u6709\u5bc6\u94a5"},
        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
"\u522b\u540d <{0}> \u5f15\u7528\u4e86\u4e0d\u5c5e\u4e8e\u4e13\u7528\u5bc6\u94a5\u9879\u7684\u9879\u7c7b\u578b\u3002-keyclone \u547d\u4ee4\u4ec5\u652f\u6301\u5bf9\u4e13\u7528\u5bc6\u94a5\u9879\u7684\u514b\u9686"},

        {"*****************  WARNING WARNING WARNING  *****************",
            "***************** \u8b66\u544a \u8b66\u544a \u8b66\u544a  *****************"},

        // Translators of the following 5 pairs, ATTENTION:
        // the next 5 string pairs are meant to be combined into 2 paragraphs,
        // 1+3+4 and 2+3+5. make sure your translation also does.
        {"* The integrity of the information stored in your keystore  *",
            "*\u4fdd\u5b58\u5728\u60a8\u7684 keystore \u4e2d\u6570\u636e\u7684\u5b8c\u6574\u6027  *"},
        {"* The integrity of the information stored in the srckeystore*",
"* srckeystore \u4e2d\u6240\u5b58\u50a8\u7684\u4fe1\u606f\u7684\u5b8c\u6574\u6027*"},
        {"* has NOT been verified!  In order to verify its integrity, *",
            "* \u5c1a\u672a\u88ab\u9a8c\u8bc1\uff01  \u4e3a\u4e86\u9a8c\u8bc1\u5176\u5b8c\u6574\u6027\uff0c *"},
        {"* you must provide your keystore password.                  *",
            "* \u60a8\u5fc5\u987b\u63d0\u4f9b\u60a8 keystore \u7684\u5bc6\u7801\u3002                  *"},
        {"* you must provide the srckeystore password.                *",
"* \u60a8\u5fc5\u987b\u63d0\u4f9b\u6e90\u5bc6\u94a5\u5e93\u53e3\u4ee4\u3002                *"},


        {"Certificate reply does not contain public key for <alias>",
                "\u8ba4\u8bc1\u56de\u590d\u5e76\u672a\u5305\u542b <{0}> \u7684\u516c\u7528\u5bc6\u94a5"},
        {"Incomplete certificate chain in reply",
                "\u56de\u590d\u4e2d\u7684\u8ba4\u8bc1\u94fe\u4e0d\u5b8c\u6574"},
        {"Certificate chain in reply does not verify: ",
                "\u56de\u590d\u4e2d\u7684\u8ba4\u8bc1\u94fe\u672a\u9a8c\u8bc1\uff1a "},
        {"Top-level certificate in reply:\n",
                "\u56de\u590d\u4e2d\u7684\u6700\u9ad8\u7ea7\u8ba4\u8bc1\uff1a\n"},
        {"... is not trusted. ", "... \u662f\u4e0d\u53ef\u4fe1\u7684\u3002 "},
        {"Install reply anyway? [no]:  ", "\u8fd8\u662f\u8981\u5b89\u88c5\u56de\u590d\uff1f [\u5426]\uff1a  "},
        {"NO", "\u5426"},
        {"Public keys in reply and keystore don't match",
                "\u56de\u590d\u4e2d\u7684\u516c\u7528\u5bc6\u94a5\u4e0e keystore \u4e0d\u7b26"},
        {"Certificate reply and certificate in keystore are identical",
                "\u8ba4\u8bc1\u56de\u590d\u4e0ekeystore\u4e2d\u7684\u8ba4\u8bc1\u662f\u76f8\u540c\u7684"},
        {"Failed to establish chain from reply",
                "\u65e0\u6cd5\u4ece\u56de\u590d\u4e2d\u5efa\u7acb\u94fe\u63a5"},
        {"n", "n"},
        {"Wrong answer, try again", "\u9519\u8bef\u7684\u7b54\u6848\uff0c\u8bf7\u518d\u8bd5\u4e00\u6b21"},
        {"Secret key not generated, alias <alias> already exists",
                "\u6ca1\u6709\u751f\u6210\u5bc6\u94a5\uff0c\u522b\u540d <{0}> \u5df2\u7ecf\u5b58\u5728"},
        {"Please provide -keysize for secret key generation",
"\u8bf7\u63d0\u4f9b -keysize \u4ee5\u751f\u6210\u5bc6\u94a5"},
        {"keytool usage:\n", "keytool \u7528\u6cd5\uff1a\n"},

        {"Extensions: ", "\u6269\u5c55: "},

        {"-certreq     [-v] [-protected]",
                "-certreq     [-v] [-protected]"},
        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
                "\t     [-alias <\u522b\u540d>] [-sigalg <sigalg>]"},
        {"\t     [-file <csr_file>] [-keypass <keypass>]",
                "\t     [-file <csr_file>] [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
                "\t     [-keystore <\u5bc6\u94a5\u5e93>] [-storepass <\u5b58\u50a8\u5e93\u53e3\u4ee4>]"},
        {"\t     [-storetype <storetype>] [-providername <name>]",
                "\t     [-storetype <\u5b58\u50a8\u7c7b\u578b>] [-providername <\u540d\u79f0>]"},
        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
                "\t     [-providerclass <\u63d0\u4f9b\u65b9\u7c7b\u540d\u79f0> [-providerarg <\u53c2\u6570>]] ..."},
        {"\t     [-providerpath <pathlist>]",
"\t     [-providerpath <\u8def\u5f84\u5217\u8868>]"},
        {"-delete      [-v] [-protected] -alias <alias>",
                "-delete      [-v] [-protected] -alias <\u522b\u540d>"},
        /** rest is same as -certreq starting from -keystore **/

        //{"-export      [-v] [-rfc] [-protected]",
        //       "-export      [-v] [-rfc] [-protected]"},
        {"-exportcert  [-v] [-rfc] [-protected]",
                "-exportcert  [-v] [-rfc] [-protected]"},
        {"\t     [-alias <alias>] [-file <cert_file>]",
                "\t     [-alias <\u522b\u540d>] [-file <\u8ba4\u8bc1\u6587\u4ef6>]"},
        /** rest is same as -certreq starting from -keystore **/

        //{"-genkey      [-v] [-protected]",
        //        "-genkey      [-v] [-protected]"},
        {"-genkeypair  [-v] [-protected]",
                "-genkeypair  [-v] [-protected]"},
        {"\t     [-alias <alias>]", "\t     [-alias <\u522b\u540d>]"},
        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
                "\t     [-keyalg <keyalg>] [-keysize <\u5bc6\u94a5\u5927\u5c0f>]"},
        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
                "\t     [-sigalg <sigalg>] [-dname <dname>]"},
        {"\t     [-validity <valDays>] [-keypass <keypass>]",
                "\t     [-validity <valDays>] [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
        /** rest is same as -certreq starting from -keystore **/

        {"-genseckey   [-v] [-protected]",
                "-genseckey   [-v] [-protected]"},
        /** rest is same as -certreq starting from -keystore **/

        {"-help", "-help"},
        //{"-identitydb  [-v] [-protected]",
        //      "-identitydb  [-v] [-protected]"},
        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
        /** rest is same as -certreq starting from -keystore **/

        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
        {"\t     [-alias <alias>]", "\t     [-alias <\u522b\u540d>]"},
        {"\t     [-alias <alias>] [-keypass <keypass>]",
"\t     [-alias <\u522b\u540d>] [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
        {"\t     [-file <cert_file>] [-keypass <keypass>]",
                "\t     [-file <\u8ba4\u8bc1\u6587\u4ef6>] [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
        /** rest is same as -certreq starting from -keystore **/

        {"-importkeystore [-v] ",
"-importkeystore [-v] "},
        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
"\t     [-srckeystore <\u6e90\u5bc6\u94a5\u5e93>] [-destkeystore <\u76ee\u6807\u5bc6\u94a5\u5e93>]"},
        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
"\t     [-srcstoretype <\u6e90\u5b58\u50a8\u7c7b\u578b>] [-deststoretype <\u76ee\u6807\u5b58\u50a8\u7c7b\u578b>]"},
        {"\t     [-srcprotected] [-destprotected]",
"\t     [-srcprotected] [-destprotected]"},
        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
"\t     [-srcstorepass <\u6e90\u5b58\u50a8\u5e93\u53e3\u4ee4>] [-deststorepass <\u76ee\u6807\u5b58\u50a8\u5e93\u53e3\u4ee4>]"},
        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // \u884c\u592a\u957f\uff0c\u5206\u4e3a\u4e24\u884c
"\t     [-srcprovidername <\u6e90\u63d0\u4f9b\u65b9\u540d\u79f0>]\n\t     [-destprovidername <\u76ee\u6807\u63d0\u4f9b\u65b9\u540d\u79f0>]"},
        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
"\t     [-srcalias <\u6e90\u522b\u540d> [-destalias <\u76ee\u6807\u522b\u540d>]"},
        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
"\t       [-srckeypass <\u6e90\u5bc6\u94a5\u5e93\u53e3\u4ee4>] [-destkeypass <\u76ee\u6807\u5bc6\u94a5\u5e93\u53e3\u4ee4>]]"},
        {"\t     [-noprompt]", "\t     [-noprompt]"},
        /** rest is same as -certreq starting from -keystore **/

        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
"-changealias [-v] [-protected] -alias <\u522b\u540d> -destalias <\u76ee\u6807\u522b\u540d>"},
        {"\t     [-keypass <keypass>]", "\t     [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},

        //{"-keyclone    [-v] [-protected]",
        //      "-keyclone    [-v] [-protected]"},
        //{"\t     [-alias <alias>] -dest <dest_alias>",
        //      "\t     [-alias <alias>] -dest <dest_alias>"},
        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
        //      "\t     [-keypass <keypass>] [-new <new_keypass>]"},
        /** rest is same as -certreq starting from -keystore **/

        {"-keypasswd   [-v] [-alias <alias>]",
                "-keypasswd   [-v] [-alias <\u522b\u540d>]"},
        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
                "\t     [-keypass <\u65e7\u5bc6\u94a5\u5e93\u53e3\u4ee4>] [-new <\u65b0\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
        /** rest is same as -certreq starting from -keystore **/

        {"-list        [-v | -rfc] [-protected]",
                "-list        [-v | -rfc] [-protected]"},
        {"\t     [-alias <alias>]", "\t     [-alias <\u522b\u540d>]"},
        /** rest is same as -certreq starting from -keystore **/

        {"-printcert   [-v] [-file <cert_file>]",
                "-printcert   [-v] [-file <\u8ba4\u8bc1\u6587\u4ef6>]"},

        //{"-selfcert    [-v] [-protected]",
        //      "-selfcert    [-v] [-protected]"},
        {"\t     [-alias <alias>]", "\t     [-alias <\u522b\u540d>]"},
        //{"\t     [-dname <dname>] [-validity <valDays>]",
        //      "\t     [-dname <dname>] [-validity <valDays>]"},
        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
        //      "\t     [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>] [-sigalg <sigalg>]"},
        /** rest is same as -certreq starting from -keystore **/

        {"-storepasswd [-v] [-new <new_storepass>]",
                "-storepasswd [-v] [-new <\u65b0\u5b58\u50a8\u5e93\u53e3\u4ee4>]"},
        /** rest is same as -certreq starting from -keystore **/

        // policytool
        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
                "\u8b66\u544a: \u522b\u540d {0} \u7684\u516c\u7528\u5bc6\u94a5\u4e0d\u5b58\u5728\u3002\u8bf7\u786e\u4fdd\u5df2\u6b63\u786e\u914d\u7f6e\u5bc6\u94a5\u5e93\u3002"},
        {"Warning: Class not found: class", "\u8b66\u544a: \u627e\u4e0d\u5230\u7c7b: {0}"},
        {"Warning: Invalid argument(s) for constructor: arg",
                "\u8b66\u544a: \u6784\u9020\u51fd\u6570\u7684\u53c2\u6570\u65e0\u6548: {0}"},
        {"Illegal Principal Type: type", "\u975e\u6cd5\u7684 Principal \u7c7b\u578b: {0}"},
        {"Illegal option: option", "\u975e\u6cd5\u9009\u9879: {0}"},
        {"Usage: policytool [options]", "\u7528\u6cd5\uff1a policytool [\u9009\u9879]"},
        {"  [-file <file>]    policy file location",
                "  [-file <file>]    \u89c4\u5219\u6587\u4ef6\u4f4d\u7f6e"},
        {"New", "\u65b0\u6587\u4ef6"},
        {"Open", "\u6253\u5f00"},
        {"Save", "\u4fdd\u5b58"},
        {"Save As", "\u53e6\u5b58\u4e3a"},
        {"View Warning Log", "\u67e5\u770b\u8b66\u544a\u8bb0\u5f55"},
        {"Exit", "\u9000\u51fa"},
        {"Add Policy Entry", "\u6dfb\u52a0\u89c4\u5219\u9879\u76ee"},
        {"Edit Policy Entry", "\u7f16\u8f91\u89c4\u5219\u9879\u76ee"},
        {"Remove Policy Entry", "\u5220\u9664\u89c4\u5219\u9879\u76ee"},
        {"Edit", "\u7f16\u8f91"},
        {"Retain", "\u4fdd\u6301"},

        {"Warning: File name may include escaped backslash characters. " +
                        "It is not necessary to escape backslash characters " +
                        "(the tool escapes characters as necessary when writing " +
                        "the policy contents to the persistent store).\n\n" +
                        "Click on Retain to retain the entered name, or click on " +
                        "Edit to edit the name.",
            "Warning: File name may include escaped backslash characters. " +
                        "It is not necessary to escape backslash characters " +
                        "(the tool escapes characters as necessary when writing " +
                        "the policy contents to the persistent store).\n\n" +
                        "Click on Retain to retain the entered name, or click on " +
                        "Edit to edit the name."},

        {"Add Public Key Alias", "\u6dfb\u52a0\u516c\u7528\u5bc6\u94a5\u522b\u540d"},
        {"Remove Public Key Alias", "\u5220\u9664\u516c\u7528\u5bc6\u94a5\u522b\u540d"},
        {"File", "\u6587\u4ef6"},
        {"KeyStore", "\u5bc6\u94a5\u5e93"},
        {"Policy File:", "\u89c4\u5219\u6587\u4ef6\uff1a"},
        {"Could not open policy file: policyFile: e.toString()",
                "\u65e0\u6cd5\u6253\u5f00\u7b56\u7565\u6587\u4ef6: {0}: {1}"},
        {"Policy Tool", "\u89c4\u5219\u5de5\u5177"},
        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
                "\u6253\u5f00\u89c4\u5219\u914d\u7f6e\u65f6\u53d1\u751f\u9519\u8bef\u3002 \u8bf7\u67e5\u770b\u8b66\u544a\u8bb0\u5f55\u83b7\u53d6\u66f4\u591a\u4fe1\u606f"},
        {"Error", "\u9519\u8bef"},
        {"OK", "\u786e\u8ba4"},
        {"Status", "\u72b6\u6001"},
        {"Warning", "\u8b66\u544a"},
        {"Permission:                                                       ",
                "\u8bb8\u53ef\uff1a                                                       "},
        {"Principal Type:", "Principal \u7c7b\u578b\uff1a"},
        {"Principal Name:", "Principal \u540d\u79f0\uff1a"},
        {"Target Name:                                                    ",
                "\u76ee\u6807\u540d\u79f0\uff1a                                                    "},
        {"Actions:                                                             ",
                "\u52a8\u4f5c\uff1a                                                             "},
        {"OK to overwrite existing file filename?",
                "\u786e\u8ba4\u66ff\u6362\u73b0\u6709\u7684\u6587\u4ef6 {0}\uff1f"},
        {"Cancel", "\u53d6\u6d88"},
        {"CodeBase:", "CodeBase:"},
        {"SignedBy:", "SignedBy:"},
        {"Add Principal", "\u6dfb\u52a0 Principal"},
        {"Edit Principal", "\u7f16\u8f91 Principal"},
        {"Remove Principal", "\u5220\u9664 Principal"},
        {"Principals:", "Principals\uff1a"},
        {"  Add Permission", "  \u6dfb\u52a0\u6743\u9650"},
        {"  Edit Permission", "  \u7f16\u8f91\u6743\u9650"},
        {"Remove Permission", "\u5220\u9664\u6743\u9650"},
        {"Done", "\u5b8c\u6210"},
        {"KeyStore URL:", "\u5bc6\u94a5\u5e93 URL:"},
        {"KeyStore Type:", "\u5bc6\u94a5\u5e93\u7c7b\u578b:"},
        {"KeyStore Provider:", "\u5bc6\u94a5\u5e93\u63d0\u4f9b\u8005:"},
        {"KeyStore Password URL:", "\u5bc6\u94a5\u5e93\u53e3\u4ee4 URL:"},
        {"Principals", "Principals"},
        {"  Edit Principal:", "  \u7f16\u8f91 Principal\uff1a"},
        {"  Add New Principal:", "  \u52a0\u5165\u65b0 Principal\uff1a"},
        {"Permissions", "\u6743\u9650"},
        {"  Edit Permission:", "  \u7f16\u8f91\u6743\u9650"},
        {"  Add New Permission:", "  \u52a0\u5165\u65b0\u7684\u6743\u9650"},
        {"Signed By:", "\u7b7e\u7f72\u4eba\uff1a"},
        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
            "\u6ca1\u6709\u901a\u914d\u7b26\u540d\u79f0\uff0c\u65e0\u6cd5\u7528\u901a\u914d\u7b26\u7c7b\u522b\u6307\u5b9aPrincipal"},
        {"Cannot Specify Principal without a Name",
            "\u6ca1\u6709\u540d\u79f0\uff0c\u65e0\u6cd5\u6307\u5b9a Principal"},
        {"Permission and Target Name must have a value",
                "\u6743\u9650\u53ca\u76ee\u6807\u540d\u5fc5\u987b\u6709\u4e00\u4e2a\u503c\u3002"},
        {"Remove this Policy Entry?", "\u5220\u9664\u6b64\u89c4\u5219\u9879\uff1f"},
        {"Overwrite File", "\u66ff\u6362\u6587\u4ef6"},
        {"Policy successfully written to filename",
                "\u89c4\u5219\u6210\u529f\u5199\u81f3 {0}"},
        {"null filename", "\u65e0\u6548\u7684\u6587\u4ef6\u540d"},
        {"Save changes?", "\u662f\u5426\u4fdd\u5b58\u6240\u505a\u7684\u66f4\u6539\uff1f"},
        {"Yes", "\u662f"},
        {"No", "\u5426"},
        {"Policy Entry", "\u89c4\u5219\u9879\u76ee"},
        {"Save Changes", "\u4fdd\u5b58\u4fee\u6539"},
        {"No Policy Entry selected", "\u6ca1\u6709\u9009\u62e9\u89c4\u5219\u9879\u76ee"},
        {"Unable to open KeyStore: ex.toString()",
                "\u65e0\u6cd5\u6253\u5f00\u5bc6\u94a5\u5e93: {0}"},
        {"No principal selected", "\u672a\u9009\u62e9 Principal"},
        {"No permission selected", "\u6ca1\u6709\u9009\u62e9\u6743\u9650"},
        {"name", "\u540d\u79f0"},
        {"configuration type", "\u914d\u7f6e\u7c7b\u578b"},
        {"environment variable name", "\u73af\u5883\u53d8\u91cf\u540d"},
        {"library name", "\u7a0b\u5e8f\u5e93\u540d\u79f0"},
        {"package name", "\u8f6f\u4ef6\u5305\u540d\u79f0"},
        {"policy type", "\u7b56\u7565\u7c7b\u578b"},
        {"property name", "\u5c5e\u6027\u540d\u79f0"},
        {"provider name", "\u63d0\u4f9b\u8005\u540d\u79f0"},
        {"Principal List", "Principal \u5217\u8868"},
        {"Permission List", "\u6743\u9650\u5217\u8868"},
        {"Code Base", "Code Base\uff08\u4ee3\u7801\u5e93\uff09"},
        {"KeyStore U R L:", "\u5bc6\u94a5\u5e93 URL:"},
        {"KeyStore Password U R L:", "\u5bc6\u94a5\u5e93\u53e3\u4ee4 URL:"},


        // javax.security.auth.PrivateCredentialPermission
        {"invalid null input(s)", "\u65e0\u6548\u7a7a\u8f93\u5165"},
        {"actions can only be 'read'", "\u52a8\u4f5c\u53ea\u80fd\u88ab\u2018\u8bfb\u53d6'"},
        {"permission name [name] syntax invalid: ",
                "\u6743\u9650\u540d\u79f0 [{0}]\u8bed\u6cd5\u65e0\u6548\uff1a "},
        {"Credential Class not followed by a Principal Class and Name",
                "\u8ba4\u8bc1\u7b49\u7ea7\u540e\u672a\u52a0\u4e0aPrincipal \u7c7b\u522b\u53ca\u540d\u79f0"},
        {"Principal Class not followed by a Principal Name",
                "Principal \u7c7b\u522b\u540e\u9762\u6ca1\u52a0\u4e0aPrincipal \u540d\u79f0"},
        {"Principal Name must be surrounded by quotes",
                "Principal \u540d\u79f0\u5fc5\u987b\u653e\u5728\u5f15\u53f7\u5185"},
        {"Principal Name missing end quote",
                "Principal \u540d\u79f0\u7f3a\u5c11\u4e0b\u5f15\u53f7"},
        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
                "\u5982\u679c Principal \u540d\u79f0\u4e0d\u662f\u4e00\u4e2a\u901a\u914d\u7b26 (*) \u503c\uff0c\u90a3\u4e48 PrivateCredentialPermission Principal \u7c7b\u522b\u5c31\u4e0d\u4f1a\u662f\u4e00\u4e2a\u901a\u914d\u7b26 (*) \u503c"},
        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
                "CredOwner:\n\tPrincipal \u7c7b\u522b = {0}\n\tPrincipal \u540d\u79f0 = {1}"},

        // javax.security.auth.x500
        {"provided null name", "\u6240\u4f9b\u540d\u79f0\u65e0\u6548"},
        {"provided null keyword map", "\u63d0\u4f9b\u4e86\u7a7a\u5173\u952e\u5b57\u6620\u5c04"},
        {"provided null OID map", "\u63d0\u4f9b\u4e86\u7a7a OID \u6620\u5c04"},

        // javax.security.auth.Subject
        {"invalid null AccessControlContext provided",
                "\u63d0\u4f9b\u65e0\u6548\u7684\u7a7a AccessControlContext"},
        {"invalid null action provided", "\u63d0\u4f9b\u4e86\u65e0\u6548\u7684\u7a7a\u52a8\u4f5c"},
        {"invalid null Class provided", "\u63d0\u4f9b\u4e86\u65e0\u6548\u7684\u7a7a\u7c7b\u522b"},
        {"Subject:\n", "\u4e3b\u9898\uff1a\n"},
        {"\tPrincipal: ", "\tPrincipal: "},
        {"\tPublic Credential: ", "\t\u516c\u7528\u8ba4\u8bc1 "},
        {"\tPrivate Credentials inaccessible\n",
                "\t\u65e0\u6cd5\u8bbf\u95ee\u79c1\u4eba\u8ba4\u8bc1\n"},
        {"\tPrivate Credential: ", "\t\u79c1\u4eba\u8ba4\u8bc1 "},
        {"\tPrivate Credential inaccessible\n",
                "\t\u65e0\u6cd5\u8bbf\u95ee\u79c1\u4eba\u8ba4\u8bc1\n"},
        {"Subject is read-only", "\u4e3b\u9898\u4e3a\u53ea\u8bfb"},
        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
                "\u8bd5\u56fe\u5c06\u4e00\u4e2a\u975e java.security.Principal \u5b9e\u4f8b\u7684\u5bf9\u8c61\u6dfb\u52a0\u81f3\u4e3b\u9898\u7684 Principal \u96c6\u4e2d"},
        {"attempting to add an object which is not an instance of class",
                "\u8bd5\u56fe\u6dfb\u52a0\u4e00\u4e2a\u975e {0} \u5b9e\u4f8b\u7684\u5bf9\u8c61"},

        // javax.security.auth.login.AppConfigurationEntry
        {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},

        // javax.security.auth.login.LoginContext
        {"Invalid null input: name", "\u65e0\u6548\u7a7a\u8f93\u5165\uff1a\u540d\u79f0"},
        {"No LoginModules configured for name",
         "\u6ca1\u6709\u4e3a {0} \u914d\u7f6eLoginModules"},
        {"invalid null Subject provided", "\u63d0\u4f9b\u4e86\u65e0\u6548\u7a7a\u4e3b\u9898"},
        {"invalid null CallbackHandler provided",
                "\u63d0\u4f9b\u4e86\u65e0\u6548\u7684\u7a7a CallbackHandler"},
        {"null subject - logout called before login",
                "\u65e0\u6548\u4e3b\u9898 - \u5728\u767b\u5f55\u4e4b\u524d\u5373\u88ab\u8c03\u7528\u6ce8\u9500"},
        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
                "\u65e0\u6cd5\u4f8b\u793a LoginModule\uff0c {0}\uff0c\u56e0\u4e3a\u5b83\u5e76\u672a\u63d0\u4f9b\u4e00\u4e2a\u4e0d\u542b\u53c2\u6570\u7684\u6784\u9020\u7a0b\u5e8f"},
        {"unable to instantiate LoginModule",
                "\u65e0\u6cd5\u4f8b\u793a LoginModule"},
        {"unable to instantiate LoginModule: ",
                "\u65e0\u6cd5\u5b9e\u4f8b\u5316 LoginModule: "},
        {"unable to find LoginModule class: ",
                "\u65e0\u6cd5\u627e\u5230 LoginModule \u7c7b\u522b\uff1a "},
        {"unable to access LoginModule: ",
                "\u65e0\u6cd5\u8bbf\u95ee LoginModule: "},
        {"Login Failure: all modules ignored",
                "\u767b\u5f55\u5931\u8d25\uff1a\u5ffd\u7565\u6240\u6709\u6a21\u5757"},

        // sun.security.provider.PolicyFile

        {"java.security.policy: error parsing policy:\n\tmessage",
                "java.security.policy: \u89e3\u6790\u9519\u8bef {0}\uff1a\n\t{1}"},
        {"java.security.policy: error adding Permission, perm:\n\tmessage",
                "java.security.policy: \u6dfb\u52a0\u6743\u9650\u9519\u8bef {0}\uff1a\n\t{1}"},
        {"java.security.policy: error adding Entry:\n\tmessage",
                "java.security.policy: \u6dfb\u52a0\u9879\u76ee\u9519\u8bef\uff1a\n\t{0}"},
        {"alias name not provided (pe.name)", "\u672a\u63d0\u4f9b\u522b\u540d ({0})"},
        {"unable to perform substitution on alias, suffix",
                "\u4e0d\u80fd\u5728\u522b\u540d\u4e0a\u6267\u884c\u66ff\u4ee3\uff0c {0}"},
        {"substitution value, prefix, unsupported",
                "\u66ff\u4ee3\u503c {0} \u4e0d\u53d7\u652f\u6301"},
        {"(", "("},
        {")", ")"},
        {"type can't be null","\u4e0d\u80fd\u4e3a\u65e0\u6548\u7c7b\u578b"},

        // sun.security.provider.PolicyParser
        {"keystorePasswordURL can not be specified without also specifying keystore",
                "\u4e0d\u6307\u5b9a keystore \u65f6\u65e0\u6cd5\u6307\u5b9a keystorePasswordURL"},
        {"expected keystore type", "\u9884\u671f\u7684 keystore \u7c7b\u578b"},
        {"expected keystore provider", "\u9884\u671f\u7684 keystore \u63d0\u4f9b\u8005"},
        {"multiple Codebase expressions",
                "\u591a\u79cd Codebase \u8868\u8fbe\u5f0f"},
        {"multiple SignedBy expressions","\u591a\u79cd SignedBy \u8868\u8fbe\u5f0f"},
        {"SignedBy has empty alias","SignedBy \u6709\u7a7a\u522b\u540d"},
        {"can not specify Principal with a wildcard class without a wildcard name",
                "\u6ca1\u6709\u901a\u914d\u7b26\u540d\u79f0\uff0c\u65e0\u6cd5\u7528\u901a\u914d\u7b26\u7c7b\u522b\u6307\u5b9aPrincipal"},
        {"expected codeBase or SignedBy or Principal",
                "\u9884\u671f\u7684 codeBase \u6216 SignedBy \u6216 Principal"},
        {"expected permission entry", "\u9884\u671f\u7684\u6743\u9650\u9879\u76ee"},
        {"number ", "\u53f7\u7801"},
        {"expected [expect], read [end of file]",
                "\u9884\u671f\u7684 [{0}], \u8bfb\u53d6 [end of file]"},
        {"expected [;], read [end of file]",
                "\u9884\u671f\u7684 [;], \u8bfb\u53d6[end of file]"},
        {"line number: msg", "\u5217 {0}\uff1a {1}"},
        {"line number: expected [expect], found [actual]",
                "\u884c\u53f7 {0}\uff1a\u9884\u671f\u7684 [{1}]\uff0c\u627e\u5230 [{2}]"},
        {"null principalClass or principalName",
                "\u65e0\u6548 principalClass \u6216 principalName"},

        // sun.security.pkcs11.SunPKCS11
        {"PKCS11 Token [providerName] Password: ",
                "PKCS11 Token [{0}] \u5bc6\u7801: "},

        /* --- DEPRECATED --- */
        // javax.security.auth.Policy
        {"unable to instantiate Subject-based policy",
                "\u65e0\u6cd5\u5b9e\u4f8b\u5316\u57fa\u4e8e\u4e3b\u9898\u7684\u7b56\u7565"}
    };


    /**
     * Returns the contents of this <code>ResourceBundle</code>.
     *
     * <p>
     *
     * @return the contents of this <code>ResourceBundle</code>.
     */
    public Object[][] getContents() {
        return contents;
    }
}
