#
# Copyright (c) 1997, 2011, 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.
#

#
# Message resource file
#



BGMBuilder.NoGlobalElement = \u6A21\u5F0F\u4E0D\u5305\u542B\u5168\u5C40\u5143\u7D20\u58F0\u660E\u3002

UnusedCustomizationChecker.WarnUnusedExpectedContentTypes = xmime:expectedContentTypes \u5C5E\u6027\u4F4D\u4E8E\u4E0D\u6B63\u786E\u7684\u5143\u7D20\u4E0A

BGMBuilder.MultipleSchemaBindings = \u4E3A\u76EE\u6807\u540D\u79F0\u7A7A\u95F4 "{0}" \u5B9A\u4E49\u4E86\u591A\u4E2A <schemaBindings>

BGMBuilder.MultipleSchemaBindings.Location = \u5728\u6B64\u5904\u5B9A\u4E49\u4E86\u5176\u4ED6 <schemaBindings>



ClassSelector.ClassNameIsRequired = \u65E0\u6CD5\u4ECE\u6A21\u5F0F\u6D3E\u751F\u540D\u79F0\u3002\u4E3A <class> \u5B9A\u5236\u8BBE\u7F6E\u6307\u5B9A\u4E86\u540D\u79F0\u5C5E\u6027\u3002

ClassSelector.IncorrectClassName = \u6307\u5B9A\u7684\u540D\u79F0 ''{0}'' \u4E0D\u662F\u6709\u6548\u7684 Java \u6807\u8BC6\u7B26\u3002

ClassSelector.IncorrectPackageName = \u7528\u4E8E\u6B64\u6A21\u5F0F\u7684\u7A0B\u5E8F\u5305\u540D\u79F0 ''{1}'' \u4E0D\u662F\u6709\u6548\u7684\u7A0B\u5E8F\u5305\u540D\u79F0\u3002

# {0} - name-identifier-format-enum
ClassSelector.JavadocHeading = <p>{0}\u7684 Java \u7C7B\u3002\n\n<p>\u4EE5\u4E0B\u6A21\u5F0F\u7247\u6BB5\u6307\u5B9A\u5305\u542B\u5728\u6B64\u7C7B\u4E2D\u7684\u9884\u671F\u5185\u5BB9\u3002

ClassSelector.JavadocLineUnknown = \u672A\u77E5

ClassSelector.ReservedClassName = \u5C1D\u8BD5\u521B\u5EFA\u4E0E\u4FDD\u7559\u5173\u952E\u5B57 "{0}" \u540C\u540D\u7684\u7C7B\u3002


CollisionInfo.CollisionInfo = \u5B57\u6BB5\u540D\u79F0 "{0}" \u7531\u6A21\u5F0F\u7684\u4E24\u4E2A\u4E0D\u540C\u90E8\u5206\u4F7F\u7528\u3002\u8BF7\u53C2\u9605: \n{1}\n{2}

CollisionInfo.UnknownFile = \u672A\u77E5\u6587\u4EF6

# Concatenated with CollisionInfo.CollisionInfo (CollisionInfo.CollisionInfo + CollisionInfo.LineXOfY + CollisionInfo.LineXOfY) e.g.: The field name "FieldName" is used by two different parts of a schema. See: line X of file:Schema.xsd line Y of file:Schema2.xsd
CollisionInfo.LineXOfY = {1}\u7684\u7B2C {0} \u884C


ConversionFinder.CannotBeTypeSafeEnum = \u4E3A\u65E0\u6CD5\u6620\u5C04\u5230\u7C7B\u578B\u5B89\u5168\u7684\u679A\u4E3E\u7684\u7B80\u5355\u7C7B\u578B\u6307\u5B9A\u4E86\u7C7B\u578B\u5B89\u5168\u7684\u679A\u4E3E\u5B9A\u5236\u8BBE\u7F6E\u3002
ConversionFinder.CannotBeTypeSafeEnum.Location = \u5728\u6B64\u4F4D\u7F6E\u4E2D\u6307\u5B9A\u76F8\u5173\u7B80\u5355\u7C7B\u578B\u58F0\u660E
ConversionFinder.NoEnumNameAvailable = \u4E3A\u7C7B\u578B\u5B89\u5168\u7684\u679A\u4E3E\u5B9A\u5236\u533F\u540D\u7B80\u5355\u7C7B\u578B\u65F6, \u9700\u8981\u540D\u79F0\u5C5E\u6027\u3002
ConversionFinder.NoEnumFacet= \u5728\u6CA1\u6709\u679A\u4E3E\u9762\u7684\u7C7B\u578B\u4E0A\u6307\u5B9A\u4E86\u679A\u4E3E\u7C7B\u5B9A\u5236\u8BBE\u7F6E\u3002
ERR_ILLEGAL_EXPECTED_MIME_TYPE = \u65E0\u6CD5\u89E3\u6790\u9884\u671F\u7684 MIME \u7C7B\u578B "{0}"\u3002{1}\u3002


DatatypeBuilder.DatatypeError = \u7B80\u5355\u7C7B\u578B\u9519\u8BEF: {0}






DefaultParticleBinder.UnableToGenerateNameFromModelGroup = \u65E0\u6CD5\u4ECE\u6A21\u578B\u7EC4\u751F\u6210\u5C5E\u6027\u540D\u3002\u9700\u8981\u5B9A\u5236\u8BBE\u7F6E\u3002

# {0} - CollisionInfo.CollisionInfo is injected with parameters field name, location at first schema, location at second schema e.g.: Gets the rest of the content model. You are getting this "catch-all" property because of the following reason: The field name "OverviewURL" is used by two different parts of a schema. See: line 392 of file:/C:/Development/Projects/jUDDI_v3/uddi-ws/src/main/resources/uddi_v3.xsd line 390 of file:/C:/Development/Projects/jUDDI_v3/uddi-ws/src/main/resources/uddi_v3.xsd To get rid of this property, apply a property customization to one of both of the following declarations to change their names: Gets the value of the content property.
DefaultParticleBinder.FallbackJavadoc = \u83B7\u53D6\u5185\u5BB9\u6A21\u578B\u7684\u5176\u4F59\u90E8\u5206\u3002\n\n<p>\n\u7531\u4E8E\u4EE5\u4E0B\u539F\u56E0, \u60A8\u83B7\u53D6\u7684\u662F\u6B64 "catch-all" \u5C5E\u6027: \n{0}\n<p>\n\u8981\u6E05\u9664\u6B64\u5C5E\u6027, \u8BF7\u5C06\u5C5E\u6027\u5B9A\u5236\u8BBE\u7F6E\u5E94\u7528\u4E8E\u4EE5\u4E0B\u4E24\u4E2A\u58F0\u660E\n\u6216\u5176\u4E2D\u4E00\u4E2A\u4EE5\u66F4\u6539\u5176\u540D\u79F0: \n







FieldBuilder.IncorrectFixedValue = \u56FA\u5B9A\u5C5E\u6027 "{0}" \u4E2D\u6307\u5B9A\u7684\u503C\u4E0D\u662F\u6570\u636E\u7C7B\u578B\u7684\u6709\u6548\u503C

FieldBuilder.IncorrectDefaultValue = \u9ED8\u8BA4\u5C5E\u6027 "{0}" \u4E2D\u6307\u5B9A\u7684\u503C\u4E0D\u662F\u6570\u636E\u7C7B\u578B\u7684\u6709\u6548\u503C

FieldBuilder.ConflictBetweenUserTypeAndActualType.AttUse = "{0}" \u662F\u7531\u5B9A\u5236\u8BBE\u7F6E\u6307\u5B9A\u7684, \u4F46\u6B64\u5C5E\u6027\u5177\u6709\u4E0D\u517C\u5BB9\u7C7B\u578B "{1}"

FieldBuilder.ConflictBetweenUserTypeAndActualType.AttUse.Source = \u5728\u6B64\u4F4D\u7F6E\u6307\u5B9A\u4E86\u76F8\u5173\t\u5B9A\u5236\u8BBE\u7F6E

FieldBuilder.Javadoc.NilProperty = \u6B64\u5C5E\u6027\u7528\u4E8E\u63A7\u5236 W3C XML \u6A21\u5F0F\u7684 <a href="http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/#Nils">xsi:nil \u529F\u80FD</a>\u3002\n\u5C06\u6B64\u5C5E\u6027\u8BBE\u7F6E\u4E3A\u201C\u771F\u201D\u5C06\u4F1A\u5BFC\u81F4\u8F93\u51FA\u4E3A &lt;{0} xsi:nil="true" />, \u800C\u4E0D\u8003\u8651\u5176\u4ED6\u5C5E\u6027\u7684\u503C\u3002

FieldBuilder.Javadoc.ValueObject = \u83B7\u53D6/\u8BBE\u7F6E\u4E0E\u6B64\u5143\u7D20\u5173\u8054\u7684\u590D\u6742\u7C7B\u578B\u503C\u3002\n\u5728\u5BF9\u5305\u542B xsi:type \u7684\u6587\u6863\u8FDB\u884C\u89E3\u7F16\u96C6\u65F6, get{1} \u65B9\u6CD5\u5C06\u8FD4\u56DE ''{''@link {0}''}'' \u7684\u6D3E\u751F\u7C7B\u7684\u5B9E\u4F8B\u3002\u540C\u6837, \u5982\u679C\u8BBE\u7F6E\u6D3E\u751F\u7C7B\u7684\u5B9E\u4F8B, \u5219\u5728\u7F16\u96C6 XML \u8F93\u51FA\u65F6\u4E5F\u5C06\u83B7\u53D6\u5177\u6709 xsi:type \u7684\u5B9E\u4F8B\u3002


SimpleTypeBuilder.UnnestedJavaTypeCustomization = \u5FC5\u987B\u5D4C\u5957\u6B64\u4E0A\u4E0B\u6587\u4E2D\u7684 <javaType> \u5B9A\u5236\u8BBE\u7F6E (JAXB \u89C4\u8303\u7B2C 6.8.1 \u8282): \n\t<property>\n\t  <baseType>\n\t    <javaType ...>\n\t  </baseType>\n\t</property>

UnusedCustomizationChecker.UnacknolwedgedCustomization = \u7F16\u8BD1\u5668\u65E0\u6CD5\u652F\u6301\u6B64{0}\u5B9A\u5236\u8BBE\u7F6E\u3002\u8BE5\u5B9A\u5236\u8BBE\u7F6E\u9644\u52A0\u5230\u9519\u8BEF\u7684\u4F4D\u7F6E, \u6216\u8005\u4E0E\u5176\u4ED6\u7ED1\u5B9A\u4E0D\u4E00\u81F4\u3002

UnusedCustomizationChecker.UnacknolwedgedCustomization.Relevant = (\u4E0A\u8FF0\u5B9A\u5236\u8BBE\u7F6E\u5DF2\u9644\u52A0\u5230\u6A21\u5F0F\u4E2D\u7684\u4EE5\u4E0B\u4F4D\u7F6E)

ERR_ENUM_MEMBER_NAME_COLLISION = \u4E24\u4E2A\u679A\u4E3E\u6210\u5458\u4EA7\u751F\u4E86\u76F8\u540C\u7684\u5E38\u91CF\u540D{0}

# Not concatenated with any other String (written on a separate line) but printed after ERR_ENUM_MEMBER_NAME_COLLISION, followed by a line with the position of the problem in a particular file
ERR_ENUM_MEMBER_NAME_COLLISION_RELATED = (\u4E0E\u4E0A\u6587\u76F8\u5173) \u5728\u6B64\u4F4D\u7F6E\u5B9A\u4E49\u4E86\u53E6\u4E00\u4E2A\u679A\u4E3E

WARN_ENUM_MEMBER_SIZE_CAP = \u7531\u4E8E EnumMemberSizeCap \u9650\u5236, \u7B80\u5355\u7C7B\u578B "{0}" \u672A\u6620\u5C04\u5230\u679A\u4E3E\u3002\u9762\u8BA1\u6570: {1}, \u5F53\u524D\u9650\u5236: {2}\u3002\u53EF\u4EE5\u4F7F\u7528\u5B9A\u5236\u8BBE\u7F6E\u5C5E\u6027 "typesafeEnumMaxMembers" \u6269\u5C55\u8BE5\u9650\u5236\u3002

ERR_CANNOT_GENERATE_ENUM_NAME = \u65E0\u6CD5\u4ECE\u679A\u4E3E\u7C7B\u578B "{0}" \u751F\u6210\u5E38\u91CF\u540D\u3002\u8BF7\u4F7F\u7528 <jaxb:typesafeEnumMember name="..."/> \u6307\u5B9A\u4E00\u4E2A\u5E38\u91CF\u540D\u3002

# Wrapped into an Exception. Not concatenated with any other string.
ERR_MULTIPLE_GLOBAL_BINDINGS = \u6574\u4E2A\u7F16\u8BD1\u4E2D\u53EA\u5141\u8BB8\u6709\u4E00\u4E2A globalBindings \u5B9A\u5236\u8BBE\u7F6E

# Not concatenated with any other String (written on a separate line) but printed after ERR_MULTIPLE_GLOBAL_BINDINGS, followed by a line with the position of the problem in a particular file, e.g. parsing a schema... \n [ERROR] only one globalBindings customization is allowed in a whole compilation \n line 8 of file:/C:/kohsuke/Sun/JAXB/jaxb-ri/sandbox/issue98/base.xjb \n [ERROR] (related to above) but one is already given at this location \n line 8 of file:/C:/kohsuke/Sun/JAXB/jaxb-ri/sandbox/issue98/sub1.xjb
ERR_MULTIPLE_GLOBAL_BINDINGS_OTHER = (\u4E0E\u4E0A\u6587\u76F8\u5173) \u4F46\u6B64\u4F4D\u7F6E\u5DF2\u6307\u5B9A\u4E00\u4E2A

ERR_REFERENCE_TO_NONEXPORTED_CLASS = {0}\u4F4D\u4E8E\u5F15\u7528\u7684\u6A21\u5F0F\u4E2D, \u5E76\u4E14\u6CA1\u6709\u7531 <jaxb:class ref="..."/> \u5B9A\u5236\u8BBE\u7F6E\u6307\u5B9A\u7684\u76F8\u5E94 Java \u7C7B\u3002\u56E0\u6B64\u65E0\u6CD5\u4ECE\u5916\u90E8\u5F15\u7528\u5B83\u3002

# Not concatenated with any other string (written on a separate line) but printed after ERR_REFERENCE_TO_NONEXPORTED_CLASS.
ERR_REFERENCE_TO_NONEXPORTED_CLASS_MAP_FALSE = (\u4E0E\u4E0A\u6587\u76F8\u5173) \u540D\u79F0\u7A7A\u95F4 "{0}" (\u5305\u542B\u4E0A\u8FF0\u7EC4\u4EF6) \u7684\u6A21\u5F0F\u5DF2\u6307\u5B9A\u4E3A\u53EA\u80FD\u7531\u6B64\u5B9A\u5236\u8BBE\u7F6E\u5F15\u7528\u3002

# Not concatenated with any other string (written on a separate line) but printed after ERR_REFERENCE_TO_NONEXPORTED_CLASS and ERR_REFERENCE_TO_NONEXPORTED_CLASS_MAP_FALSE.
ERR_REFERENCE_TO_NONEXPORTED_CLASS_REFERER = (\u4E0E\u4E0A\u6587\u76F8\u5173) \u4ECE\u6B64\u7EC4\u4EF6\u5F15\u7528\u4E86\u6709\u95EE\u9898\u7684\u6A21\u5F0F\u7EC4\u4EF6: {0}

WARN_DEFAULT_VALUE_PRIMITIVE_TYPE = \u65E0\u6CD5\u4E3A\u57FA\u5143\u7C7B\u578B "{0}" \u751F\u6210\u9ED8\u8BA4\u503C\u3002
