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

#
# COMPONENT_NAME:  idl.parser
#
# ORIGINS: 27
#
# Licensed Materials - Property of IBM
# 5639-D57 (C) COPYRIGHT International Business Machines Corp., 1997, 1999
# RMI-IIOP v1.0
#

# Translator:  Each line below is of the form "<key>=<message>".
#              The keys are NOT to be translated.
#              The messages ARE to be translated.
#
#              DO NOT translate the following:
#               ASCII
#               #else
#               #endif
#               IDL
#
#              %0, %1, etc. are postional parameters to the message.  Do not
#              translate these.  The number order is the order they are given to
#              the message writer.  It is OK to change their order in the message
#              if the language grammar so dictates.
#
#              Lines of the form "%0 (line %1):  <some message>\n%x\n%y" are error
#              messages:  %0 is a filename; %1 is a line number; %x is line %1 from
#              %0; %y is the error marker.  So the message comes out looking like:
#                  <filename> (line xxx): <some message>
#                  Line xxx from <filename> where the carat points to the error
#                                                     ^
#              So the first two and the last two parameters of these messages must
#              remain in their positions.
#
#              A backslash (\) at the end of a line is a line continuation
#              character.  A backslash at the beginning of a line means don't
#              ignore leading blanks (they normally are).  These backslashes
#              should remain in the message.
#
# Translator:  Start Translating

Compile.parsing=\u6B63\u5728\u89E3\u6790 %0
Compile.parseDone=\u5B8C\u6210  - %0
Compile.generating=\u6B63\u5728\u751F\u6210 %0
Compile.genDone=\u5B8C\u6210   -   %0
Deprecated.keyword=\u8B66\u544A: \u5173\u952E\u5B57 `%0' \u5DF2\u8FC7\u65F6\u3002
EvaluationException.1=%0 \u8FD0\u7B97\u7B26\u7684\u64CD\u4F5C\u6570\u4E0D\u4E00\u81F4: %1 \u548C %2\u3002
EvaluationException.2=%0 \u8FD0\u7B97\u7B26\u7684\u64CD\u4F5C\u6570\u5FC5\u987B\u662F\u6570\u5B57, \u800C\u4E0D\u662F %1\u3002
EvaluationException.or=\u6309\u4F4D\u6216
EvaluationException.xor=\u6309\u4F4D\u5F02\u6216
EvaluationException.and=\u6309\u4F4D\u4E0E
EvaluationException.plus=\u6DFB\u52A0
EvaluationException.minus=\u51CF\u6CD5
EvaluationException.left=\u5411\u5DE6\u79FB\u4F4D
EvaluationException.right=\u5411\u53F3\u79FB\u4F4D
EvaluationException.times=\u4E58\u6CD5
EvaluationException.divide=\u9664\u6CD5
EvaluationException.mod=\u53D6\u6A21
EvaluationException.pos=\u4E00\u5143\u6B63\u6570
EvaluationException.neg=\u4E00\u5143\u8D1F\u6570
EvaluationException.not=\u6309\u4F4D\u975E
EvaluationException.booleanNot=\u5E03\u5C14\u975E
EvaluationException.booleanAnd=\u5E03\u5C14\u4E0E
EvaluationException.booleanOr=\u5E03\u5C14\u6216
EvaluationException.equal=\u7B49\u4E8E
EvaluationException.notEqual=\u4E0D\u7B49\u4E8E
EvaluationException.greaterThan=\u5927\u4E8E
EvaluationException.lessThan=\u5C0F\u4E8E
EvaluationException.greaterEqual=\u5927\u4E8E\u7B49\u4E8E
EvaluationException.lessEqual=\u5C0F\u4E8E\u7B49\u4E8E
GenFileStream.1=\u65E0\u6CD5\u751F\u6210%0:  %1
InvalidArgument.1=\u53C2\u6570\u65E0\u6548:  %0\u3002
InvalidArgument.2=\u672A\u6307\u5B9A IDL \u6587\u4EF6\u3002
InvalidCharacter.1=%0 (\u884C %1):  \u5B57\u7B26\u65E0\u6548:  %2 (ASCII %3)\u3002\n%4\n%5
Migration.futureKeyword=\u8B66\u544A: \u6807\u8BC6\u7B26 `%0' \u4E0E\u5173\u952E\u5B57\u51B2\u7A81; \u8BF7\u4F7F\u7528\u8F6C\u4E49\u6807\u8BC6\u7B26\u4EE5\u786E\u4FDD\u5C06\u6765\u517C\u5BB9\u3002
Migration.keywordCollision=\u8B66\u544A: \u6807\u8BC6\u7B26 `%0' \u4E0E\u5173\u952E\u5B57\u51B2\u7A81; \u8BF7\u4F7F\u7528\u8F6C\u4E49\u6807\u8BC6\u7B26\u4EE5\u786E\u4FDD\u5C06\u6765\u517C\u5BB9\u3002
ParseException.abstractValueBox=%0 (\u884C %1):  \u4E0D\u80FD\u5C06\u503C\u6846\u58F0\u660E\u4E3A\u62BD\u8C61\u3002\n%2\n%3
ParseException.alreadyDeclared=%0 (\u884C %1):  %2\u5DF2\u58F0\u660E\u3002\n%3\n%4
ParseException.declNotInSameFile=%0 (\u884C %1): %2\u4EE5\u524D\u66FE\u5728\u6587\u4EF6%3\u7684\u524D\u5411\u58F0\u660E\u4E2D\u58F0\u660E\u3002\n%4\n%5
ParseException.alreadyDerived=%0 (\u884C %1):  %2\u5DF2\u58F0\u660E\u4E3A%3\u7684\u7236\u7EA7\u3002\n%4\n%5
ParseException.alreadyDefaulted=%0 (\u884C %1):  \u5DF2\u9047\u5230\u9ED8\u8BA4\u5206\u652F\u3002\n%2\n%3
ParseException.alreadyRaised=%0 (\u884C %1):  %2\u5DF2\u5728 raise \u5B50\u53E5\u4E2D\u6307\u5B9A\u3002\n%3\n%4
ParseException.attributeNotType=%0 (\u884C %1):  %2 \u662F\u5C5E\u6027\u3002\u4E0D\u80FD\u5C06\u5176\u7528\u4F5C\u7C7B\u578B\u3002\n%3\n%4
ParseException.badAbstract=%0 (\u884C %1): %2\u7684\u524D\u5411\u58F0\u660E\u548C\u5B9E\u9645\u58F0\u660E\u4E0D\u4E00\u81F4\u3002\u4E00\u4E2A\u662F\u62BD\u8C61\u7684, \u800C\u53E6\u4E00\u4E2A\u4E0D\u662F\u62BD\u8C61\u7684\u3002\n%3\n%4
ParseException.badCustom=%0 (\u884C %1):  \u65E0\u6CD5\u5C06\u524D\u5411\u503C\u58F0\u660E\u58F0\u660E\u4E3A\u5B9A\u5236\u3002\n%2\n%3
ParseException.badRepIDAlreadyAssigned=%0 (\u884C %1):  \u5DF2\u5728\u4E0A\u4E00\u4E2A ID \u7F16\u8BD1\u6307\u793A\u6307\u4EE4\u4E2D\u4E3A\u7C7B\u578B%2\u5206\u914D\u4E86\u8D44\u6599\u6863\u6848\u5E93 ID\u3002\n%3\n%4
ParseException.badRepIDForm=%0 (\u884C %1): \u8D44\u6599\u6863\u6848\u5E93 ID '%2' \u7684\u683C\u5F0F\u5E94\u4E3A '<format>:<string>'\u3002\n%3\n%4
ParseException.badRepIDPrefix=%0 (\u884C %1):  \u63A5\u53E3 %2 \u7684\u8D44\u6599\u6863\u6848\u5E93 ID \u524D\u7F00\u5E94\u4E3A `%3', \u800C\u975E '%4'\u3002\n%5\n%6
ParseException.badState=%0 (\u884C %1): %2 \u4E0D\u80FD\u662F\u6709\u72B6\u6001\u63A5\u53E3; \u5B83\u5305\u542B\u591A\u4E2A\u6709\u72B6\u6001\u7236\u7EA7\u3002\n%3\n%4
ParseException.branchLabel=%0 (\u884C %1):  case %2\u5DF2\u58F0\u660E\u3002\n%3\n%4
ParseException.branchName=%0 (\u884C %1):  \u540D\u4E3A%2\u7684\u5206\u652F\u5DF2\u58F0\u660E\u3002\n%3\n%4
ParseException.duplicateInit=%0 (\u884C %1):  \u67D0\u4E2A\u521D\u59CB\u5316\u7A0B\u5E8F\u4E0E\u4E0A\u4E00\u4E2A\u521D\u59CB\u5316\u7A0B\u5E8F\u5177\u6709\u76F8\u540C\u7684\u7B7E\u540D\u3002\n%2\n%3
ParseException.duplicateState=%0 (\u884C %1):  \u6570\u636E\u6210\u5458 %2 \u4E0E\u4E0A\u4E00\u4E2A\u6570\u636E\u6210\u5458\u5177\u6709\u76F8\u540C\u7684\u540D\u79F0\u3002\n%3\n%4
ParseException.elseNoIf=%0 (\u884C %1):  \u9047\u5230\u4E86 #else, \u4F46\u6CA1\u6709\u5339\u914D\u7684 #if\u3002\n%2\n%3
ParseException.endNoIf=%0 (\u884C %1):  \u9047\u5230\u4E86 #endif, \u4F46\u6CA1\u6709\u5339\u914D\u7684 #if\u3002\n%2\n%3
ParseException.evaluation=%0 (\u884C %1):  %2\n%3\n%4
ParseException.forwardEntry=%0 (\u884C %1):  \u5B58\u5728\u9488\u5BF9%2\u7684\u524D\u5411\u5F15\u7528, \u4F46\u5B83\u5C1A\u672A\u5B9A\u4E49\u3002\n%3\n%4
ParseException.forwardedValueBox=%0 (\u884C %1):  %2 \u5177\u6709\u524D\u5411\u58F0\u660E\u3002\u4E0D\u80FD\u5BF9\u503C\u6846\u8FDB\u884C\u524D\u5411\u58F0\u660E\u3002\n%3\n%4
ParseException.forwardInheritance=%0 (\u884C %1):  \u5BF9\u4E8E%2, \u4ECE%3\u7684\u4E0D\u5B8C\u6574\u524D\u5411\u58F0\u660E\u8FDB\u884C\u7EE7\u627F\u662F\u975E\u6CD5\u7684\u3002\n%4\n%5
ParseException.generic=%0 (\u884C %1):  %2\n%3\n%4
ParseException.illegalArray=%0 (\u884C %1):  %2\u4E2D\u67D0\u4E2A\u6570\u7EC4\u7684\u7C7B\u578B\u975E\u6CD5\u3002\n%3\n%4
ParseException.illegalException=%0 (\u884C %1):  %2s \u4E2D\u4E0D\u80FD\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF\u3002\n%3\n%4
ParseException.invalidConst1=%0 (\u884C %1):  \u5E38\u91CF\u8868\u8FBE\u5F0F\u7684\u7C7B\u578B\u5FC5\u987B\u662F%2, \u800C\u4E0D\u80FD\u662F%3\u3002\n%4\n%5
ParseException.invalidConst2=%0 (\u884C %1):  \u5E38\u91CF\u8868\u8FBE\u5F0F\u4E2D\u7684\u6807\u8BC6\u7B26\u5FC5\u987B\u662F\u5E38\u91CF, \u800C\u4E0D\u80FD\u662F%2\u3002\n%3\n%4
ParseException.keywordCollision=%0 (\u884C %1):  \u6807\u8BC6\u7B26 `%2' \u4E0E\u5173\u952E\u5B57\u51B2\u7A81; \u5982\u6709\u5FC5\u8981, \u8BF7\u4F7F\u7528\u8F6C\u4E49\u6807\u8BC6\u7B26\u3002\n%3\n%4
ParseException.methodClash=%0 (\u884C %1):  \u63A5\u53E3 %2 \u4E2D\u7684\u65B9\u6CD5\u540D\u51B2\u7A81:  %3\u3002\n%4\n%5
ParseException.moduleNotType=%0 (\u884C %1):  %2 \u662F\u6A21\u5757\u3002\u4E0D\u80FD\u5C06\u5176\u7528\u4F5C\u7C7B\u578B\u3002\n%3\n%4
ParseException.nestedValueBox=%0 (\u884C %1):  \u503C\u6846\u4E0D\u80FD\u5D4C\u5957\u3002\n%2\n%3
ParseException.noDefault=%0 (\u884C %1):  \u5F53\u5B8C\u5168\u6D89\u53CA\u6240\u6709\u53EF\u80FD\u7684 case \u65F6, \u4E0D\u5141\u8BB8\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F\u3002\n%2\n%3
ParseException.nonAbstractParent=%0 (\u884C %1):  \u62BD\u8C61\u63A5\u53E3 %2 \u4E0D\u80FD\u4ECE\u975E\u62BD\u8C61\u63A5\u53E3 %3 \u7EE7\u627F\u3002\n%4\n%5
ParseException.nonAbstractParent2=%0 (\u884C %1):  \u62BD\u8C61\u503C %2 \u4E0D\u80FD\u4ECE\u975E\u62BD\u8C61\u503C %3 \u7EE7\u627F\u3002\n%4\n%5
ParseException.nonAbstractParent3=%0 (\u884C %1):  \u503C %2 \u4E0D\u80FD\u6839\u636E\u6307\u5B9A\u4ECE\u975E\u62BD\u8C61\u503C %3 \u7EE7\u627F\u3002\n%4\n%5
ParseException.notANumber=%0 (\u884C %1):  \u5E94\u4E3A\u6570\u5B57\u3002%2\u4E0D\u662F\u6709\u6548\u7684\u6570\u5B57\u3002\n%3\n%4
ParseException.nothing=%0\u4E3A\u7A7A\u3002\u6CA1\u6709\u8981\u7F16\u8BD1\u7684\u5BF9\u8C61\u3002
ParseException.notPosInt=%0 (\u884C %1):  \u5E94\u4E3A\u6B63\u6574\u6570\u5E38\u91CF, \u800C\u975E%2\u3002\n%3\n%4
ParseException.oneway=%0 (\u884C %1):  %2\u5DF2\u58F0\u660E\u4E3A\u5355\u5411\u3002\u5355\u5411\u65B9\u6CD5\u5FC5\u987B: \u8FD4\u56DE\u7A7A\u503C; \u53EA\u6709 in \u53C2\u6570; \u4E0D\u5F15\u53D1\u5F02\u5E38\u9519\u8BEF\u3002\n%3\n%4
ParseException.operationNotType=%0 (\u884C %1): %2\u662F\u8FD0\u7B97\u3002\u4E0D\u80FD\u5C06\u5176\u7528\u4F5C\u7C7B\u578B\u3002\n%3\n%4
ParseException.outOfRange=%0 (\u884C %1):  \u5E38\u91CF\u8868\u8FBE\u5F0F %2 \u7684\u503C\u8D85\u51FA\u4E86\u7C7B\u578B%3\u7684\u8303\u56F4\u3002\n%4\n%5
ParseException.recursive=%0 (\u884C %1):  \u552F\u4E00\u7684\u5408\u6CD5\u9012\u5F52\u5B9A\u4E49\u662F:  sequence<%2> %3\u3002\n%4\n%5
ParseException.selfInherit=%0 (\u884C %1):  %2 \u4E0D\u80FD\u4ECE\u81EA\u8EAB\u7EE7\u627F\u3002\n%3\n%4
ParseException.stringTooLong=%0 (\u884C %1):  "%2" \u7684\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7 %3 \u4E2A\u5B57\u7B26\u3002\n%4\n%5
ParseException.syntax1=%0 (\u884C %1):  \u5E94\u4E3A `%2'; \u4F46\u9047\u5230 `%3'\u3002\n%4\n%5
ParseException.syntax2=%0 (\u884C %1):  \u5E94\u4E3A %2 \u4E4B\u4E00; \u4F46\u9047\u5230 `%3'\u3002\n%4\n%5
ParseException.unclosed=%0:  \u5728\u6CE8\u91CA\u4E2D\u9047\u5230\u610F\u5916\u7684\u6587\u4EF6\u7ED3\u5C3E\u3002
ParseException.undeclaredType=%0 (\u884C %1):  %2 \u662F\u672A\u58F0\u660E\u7684\u7C7B\u578B\u3002\n%3\n%4
ParseException.warning=%0 (\u884C %1):  %2\n%3\n%4
ParseException.constExprType=%0 (\u884C %1):  \u5E38\u91CF\u8868\u8FBE\u5F0F\u7684\u7C7B\u578B\u4E3A %2, \u4F46\u5E94\u4E3A %3\u3002\n%4\n%5
ParseException.wrongType=%0 (\u884C %1):  %2\u7684\u7C7B\u578B\u4E3A%3, \u4F46\u5E94\u4E3A%4\u3002\n%5\n%6
ParseException.illegalIncompleteTypeReference=%0 (\u884C %1): \u5BF9\u7C7B\u578B%2\u7684\u4E0D\u5B8C\u6574\u524D\u5411\u58F0\u660E\u7684\u5F15\u7528\u975E\u6CD5\u3002\n%3\n%4
Preprocessor.unknown=\u672A\u77E5\u7684\u9884\u5904\u7406\u7A0B\u5E8F\u6307\u4EE4 `%0'\u3002\u5DF2\u5FFD\u7565\u884C\u3002
Preprocessor.unknownPragma=\u672A\u77E5\u7684\u7F16\u8BD1\u6307\u793A\u6307\u4EE4 `%0'\u3002\u5DF2\u5FFD\u7565\u884C\u3002
Preprocessor.undefinedName=\u7F16\u8BD1\u6307\u793A %0 \u7684\u672A\u5B9A\u4E49\u7C7B\u578B\u540D:  %1\u3002\u5DF2\u5FFD\u7565\u884C\u3002
Token.boolLit=<\u5E03\u5C14\u6587\u5B57>
Token.charLit=<\u5B57\u7B26\u6587\u5B57>
Token.intLit=<\u6574\u578B\u6587\u5B57>
Token.floatLit=<\u6D6E\u70B9\u6587\u5B57>
Token.stringLit=<\u5B57\u7B26\u4E32\u6587\u5B57>
Token.literal=<\u6587\u5B57>
Token.identifier=<\u6807\u8BC6\u7B26>
Token.endOfFile=EOF
Token.unknown=?
Util.cantCreatePkg=\u65E0\u6CD5\u521B\u5EFA\u7A0B\u5E8F\u5305%0\u3002
Version.product=IDL \u89E3\u6790\u5668\u6846\u67B6, \u7248\u672C "%0"
Version.number=3.2
default=\u9519\u8BEF! \u8BF7\u6C42\u4E86\u4E0D\u5B58\u5728\u7684\u6D88\u606F\u3002\u6D88\u606F\u6587\u4EF6\u672A\u5305\u542B\u5173\u952E\u5B57: %0\u3002

# Translator: In the list of options below, do not translate:
#             -i, -d, -keep, -emitAll, -noWarn, -v, -verbose, -version, #define
#             Do not translate the string "java com.sun.tools.corba.se.idl.Compile"

usage=\u7F16\u8BD1\u5668\u7528\u6CD5:\n java com.sun.tools.corba.se.idl.Compile [\u9009\u9879] <idl \u6587\u4EF6>\n\u5176\u4E2D, <idl \u6587\u4EF6> \u662F\u5305\u542B IDL \u5B9A\u4E49\u7684\u6587\u4EF6\u7684\u540D\u79F0, \u800C\n[\u9009\u9879] \u662F\u4E0B\u5217\u9009\u9879\u7684\u4EFB\u610F\u7EC4\u5408\u3002\u8FD9\u4E9B\u9009\u9879\n\u662F\u53EF\u9009\u7684, \u5E76\u4E14\u663E\u793A\u987A\u5E8F\u5E76\u4E0D\u56FA\u5B9A; <idl \u6587\u4EF6> \u662F\u5FC5\u9700\u7684\n\u5E76\u4E14\u5FC5\u987B\u663E\u793A\u5728\u6700\u540E\u3002\n \n\u9009\u9879:\n-d <\u7B26\u53F7>          \u8FD9\u7B49\u540C\u4E8E IDL \u6587\u4EF6\u4E2D\u7684\n                     \u4E0B\u9762\u4E00\u884C:  #define <\u7B26\u53F7>\n-emitAll             \u53D1\u51FA\u6240\u6709\u7C7B\u578B, \u5305\u62EC\u5728 #included\n                     \u6587\u4EF6\u4E2D\u627E\u5230\u7684\u7C7B\u578B\u3002\n-i <\u5305\u542B\u8DEF\u5F84>    \u9ED8\u8BA4\u60C5\u51B5\u4E0B, \u5C06\u5728\u5F53\u524D\u76EE\u5F55\u4E2D\u626B\u63CF\n                     \u5305\u542B\u7684\u6587\u4EF6\u3002\u6B64\u9009\u9879\u5C06\u6DFB\u52A0\u53E6\u4E00\u4E2A\u76EE\u5F55\u3002\n-keep                \u5982\u679C\u8981\u751F\u6210\u7684\u6587\u4EF6\u5DF2\u5B58\u5728, \u8BF7\u4E0D\u8981\n                     \u8986\u76D6\u5B83\u3002\u9ED8\u8BA4\u60C5\u51B5\u4E0B\u4F1A\u8986\u76D6\u5B83\u3002\n-noWarn              \u9690\u85CF\u8B66\u544A\u3002\n-v, -verbose         \u8BE6\u7EC6\u6A21\u5F0F\u3002\n-version             \u663E\u793A\u7248\u672C\u53F7\u3002\n

