#
# Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause
#


#
# Message resource file
#



BGMBuilder.NoGlobalElement = \u7db1\u8981\u672a\u5305\u542b\u5168\u57df\u5143\u7d20\u5ba3\u544a.

UnusedCustomizationChecker.WarnUnusedExpectedContentTypes = xmime:expectedContentTypes \u5c6c\u6027\u5b58\u5728\u4e0d\u6b63\u78ba\u7684\u5143\u7d20\u4e2d

BGMBuilder.MultipleSchemaBindings = \u70ba\u76ee\u6a19\u547d\u540d\u7a7a\u9593 "{0}" \u5b9a\u7fa9\u4e86\u591a\u500b <schemaBindings>

BGMBuilder.MultipleSchemaBindings.Location = \u53e6\u4e00\u500b <schemaBindings> \u5b9a\u7fa9\u65bc\u6b64\u8655



ClassSelector.ClassNameIsRequired = \u7121\u6cd5\u5f9e\u7db1\u8981\u884d\u751f\u540d\u7a31. \u5df2\u6307\u5b9a\u4e00\u500b\u540d\u7a31\u5c6c\u6027\u81f3 <class> \u81ea\u8a02\u9805\u76ee.

ClassSelector.IncorrectClassName = \u6307\u5b9a\u7684\u540d\u7a31 ''{0}'' \u4e0d\u662f\u6709\u6548\u7684 Java ID.

ClassSelector.IncorrectPackageName = \u4f7f\u7528\u65bc\u6b64\u7db1\u8981\u7684\u5957\u88dd\u7a0b\u5f0f\u540d\u7a31 ''{1}'' \u4e0d\u662f\u6709\u6548\u7684\u5957\u88dd\u7a0b\u5f0f\u540d\u7a31.

# {0} - name-identifier-format-enum
ClassSelector.JavadocHeading = <p>{0} \u7684 Java \u985e\u5225.\n\n<p>\u4e0b\u5217\u7db1\u8981\u7247\u6bb5\u6703\u6307\u5b9a\u6b64\u985e\u5225\u4e2d\u5305\u542b\u7684\u9810\u671f\u5167\u5bb9.

ClassSelector.JavadocLineUnknown = \u4e0d\u660e

ClassSelector.ReservedClassName = \u5617\u8a66\u4f7f\u7528\u548c\u4fdd\u7559\u5b57 "{0}" \u76f8\u540c\u7684\u540d\u7a31\u4f86\u5efa\u7acb\u985e\u5225.


CollisionInfo.CollisionInfo = \u7db1\u8981\u7684\u5169\u500b\u4e0d\u540c\u90e8\u5206\u5747\u4f7f\u7528\u6b04\u4f4d\u540d\u7a31 "{0}". \u8acb\u53c3\u95b1: \n{1}\n{2}

CollisionInfo.UnknownFile = \u4e0d\u660e\u7684\u6a94\u6848

# 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 = \u985e\u578b\u5b89\u5168 Enum \u81ea\u8a02\u9805\u76ee\u5df2\u6307\u5b9a\u81f3\u67d0\u500b\u7121\u6cd5\u5c0d\u61c9\u81f3\u985e\u578b\u5b89\u5168 Enum \u7684\u7c21\u55ae\u985e\u578b.
ConversionFinder.CannotBeTypeSafeEnum.Location = \u6b64\u4f4d\u7f6e\u6307\u5b9a\u4e86\u76f8\u95dc\u7684\u7c21\u55ae\u985e\u578b\u5ba3\u544a
ConversionFinder.NoEnumNameAvailable = \u9700\u8981\u540d\u7a31\u5c6c\u6027, \u624d\u80fd\u5c07\u533f\u540d\u7684\u7c21\u55ae\u985e\u578b\u81ea\u8a02\u70ba\u985e\u578b\u5b89\u5168 Enum.
ConversionFinder.NoEnumFacet= Enum \u985e\u5225\u81ea\u8a02\u9805\u76ee\u5df2\u6307\u5b9a\u65bc\u6c92\u6709\u5217\u8209 Facet \u7684\u985e\u578b\u4e2d.
ERR_ILLEGAL_EXPECTED_MIME_TYPE = \u7121\u6cd5\u5256\u6790\u9810\u671f\u7684 MIME \u985e\u578b "{0}". {1}.


DatatypeBuilder.DatatypeError = \u7c21\u55ae\u985e\u578b\u932f\u8aa4: {0}






DefaultParticleBinder.UnableToGenerateNameFromModelGroup = \u7121\u6cd5\u5f9e\u6a21\u578b\u7fa4\u7d44\u7522\u751f\u7279\u6027\u540d\u7a31. \u9700\u8981\u81ea\u8a02\u9805\u76ee.

# {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 = \u53d6\u5f97\u5176\u9918\u7684\u5167\u5bb9\u6a21\u578b. \n\n<p>\n\u57fa\u65bc\u4e0b\u5217\u539f\u56e0, \u60a8\u53d6\u5f97\u6b64 "catch-all" \u7279\u6027: \n{0}\n<p>\n\u70ba\u53bb\u9664\u6b64\u7279\u6027, \u8acb\u5c07\u7279\u6027\u81ea\u8a02\u9805\u76ee\u5957\u7528\u81f3\u4e0b\u5217\u5169\u500b\u5ba3\u544a\u7684\n\u5176\u4e2d\u4e4b\u4e00, \u4ee5\u8b8a\u66f4\u5b83\u5011\u7684\u540d\u7a31: \n







FieldBuilder.IncorrectFixedValue = \u5728\u56fa\u5b9a\u5c6c\u6027 "{0}" \u4e2d\u6307\u5b9a\u7684\u503c\u4e0d\u662f\u8cc7\u6599\u985e\u578b\u7684\u6709\u6548\u503c

FieldBuilder.IncorrectDefaultValue = \u5728\u9810\u8a2d\u5c6c\u6027 "{0}" \u4e2d\u6307\u5b9a\u7684\u503c\u4e0d\u662f\u8cc7\u6599\u985e\u578b\u7684\u6709\u6548\u503c

FieldBuilder.ConflictBetweenUserTypeAndActualType.AttUse = "{0}" \u662f\u7531\u81ea\u8a02\u9805\u76ee\u6240\u6307\u5b9a, \u4f46\u6b64\u5c6c\u6027\u6709\u4e0d\u76f8\u5bb9\u7684\u985e\u578b "{1}"

FieldBuilder.ConflictBetweenUserTypeAndActualType.AttUse.Source = \u76f8\u95dc\u7684\u81ea\u8a02\u9805\u76ee\u5df2\u6307\u5b9a\u65bc\t\u6b64\u4f4d\u7f6e

FieldBuilder.Javadoc.NilProperty = \u6b64\u7279\u6027\u662f\u7528\u4f86\u63a7\u5236 W3C XML \u7db1\u8981\u7684 <a href="http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/#Nils"> xsi:nil \u529f\u80fd.</a>\n\u7121\u8ad6\u5176\u4ed6\u7279\u6027\u7684\u503c\u70ba\u4f55, \u5c07\u6b64\u7279\u6027\u8a2d\u70ba true \u5c07\u5c0e\u81f4\u8f38\u51fa\u70ba &lt;{0} xsi:nil="true" />.

FieldBuilder.Javadoc.ValueObject = \u53d6\u5f97/\u8a2d\u5b9a\u8207\u6b64\u5143\u7d20\u76f8\u95dc\u806f\u7684\u8907\u96dc\u985e\u578b\u503c.\n \u7576\u60a8\u89e3\u9664\u5c01\u9001\u8655\u7406 (Unmarshal) \u5305\u542b xsi:type \u7684\u6587\u4ef6\u6642, get{1} \u65b9\u6cd5\u6703\u50b3\u56de ''{''@link {0}''}'' \u4e4b\u884d\u751f\u985e\u5225\u7684\u57f7\u884c\u8655\u7406. \u540c\u6a23\u5730, \u82e5\u60a8\u8a2d\u5b9a\u6240\u884d\u751f\u985e\u5225\u7684\u57f7\u884c\u8655\u7406, \u7576\u60a8\u5c01\u9001\u8655\u7406 (Marshal) \u81f3 XML \u6642, \u6703\u53d6\u5f97\u542b\u6709 xsi:type \u7684\u57f7\u884c\u8655\u7406.


SimpleTypeBuilder.UnnestedJavaTypeCustomization = \u6b64\u76f8\u95dc\u8cc7\u8a0a\u74b0\u5883\u4e2d\u7684 <javaType> \u81ea\u8a02\u9805\u76ee\u5fc5\u9808\u70ba\u5de2\u72c0 (JAXB \u898f\u683c\u7b2c 6.8.1 \u7bc0): \n\t<property>\n\t  <baseType>\n\t    <javaType ...>\n\t  </baseType>\n\t</property>

UnusedCustomizationChecker.UnacknolwedgedCustomization = \u7de8\u8b6f\u5668\u7121\u6cd5\u63a5\u53d7\u6b64 {0} \u81ea\u8a02\u9805\u76ee. \u8a72\u81ea\u8a02\u9805\u76ee\u9023\u9644\u81f3\u932f\u8aa4\u7684\u4f4d\u7f6e, \u6216\u8207\u5176\u4ed6\u9023\u7d50\u4e0d\u4e00\u81f4.

UnusedCustomizationChecker.UnacknolwedgedCustomization.Relevant = (\u4e0a\u8ff0\u81ea\u8a02\u9805\u76ee\u5df2\u9023\u9644\u81f3\u7db1\u8981\u4e2d\u7684\u4e0b\u5217\u4f4d\u7f6e)

ERR_ENUM_MEMBER_NAME_COLLISION = \u5169\u500b Enum \u6210\u54e1\u7522\u751f\u76f8\u540c\u7684\u5e38\u6578\u540d\u7a31 {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 = (\u8207\u4e0a\u8ff0\u6709\u95dc) \u53e6\u4e00\u500b Enum \u5b9a\u7fa9\u65bc\u6b64\u4f4d\u7f6e

WARN_ENUM_MEMBER_SIZE_CAP = \u7531\u65bc EnumMemberSizeCap \u9650\u5236, \u7c21\u55ae\u985e\u578b "{0}" \u672a\u5c0d\u61c9\u81f3 Enum. Facet \u8a08\u6578: {1}, \u76ee\u524d\u9650\u5236: {2}. \u60a8\u53ef\u4f7f\u7528\u81ea\u8a02\u9805\u76ee\u5c6c\u6027 "typesafeEnumMaxMembers" \u4f86\u64f4\u5145\u9650\u5236.

ERR_CANNOT_GENERATE_ENUM_NAME = \u7121\u6cd5\u5f9e\u5217\u8209\u503c "{0}" \u7522\u751f\u5e38\u6578\u540d\u7a31. \u8acb\u4f7f\u7528 <jaxb:typesafeEnumMember name="..."/> \u6307\u5b9a\u5e38\u6578\u540d\u7a31.

# Wrapped into an Exception. Not concatenated with any other string.
ERR_MULTIPLE_GLOBAL_BINDINGS = \u5728\u6574\u500b\u7de8\u8b6f\u4e2d\u50c5\u5141\u8a31\u4f7f\u7528\u4e00\u500b globalBindings \u81ea\u8a02\u9805\u76ee

# 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 = (\u8207\u4e0a\u8ff0\u6709\u95dc) \u4f46\u6b64\u4f4d\u7f6e\u5df2\u6307\u5b9a\u4e00\u500b

ERR_REFERENCE_TO_NONEXPORTED_CLASS = {0} \u4f4d\u65bc\u53c3\u7167\u7684\u7db1\u8981\u4e2d, \u4e26\u4e14\u6c92\u6709 <jaxb:class ref="..."/> \u81ea\u8a02\u9805\u76ee\u6307\u5b9a\u7684\u5c0d\u61c9 Java \u985e\u5225. \u56e0\u6b64\u7121\u6cd5\u5f9e\u5916\u90e8\u53c3\u7167.

# 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 = (\u8207\u4e0a\u8ff0\u6709\u95dc) \u547d\u540d\u7a7a\u9593 "{0}" (\u5305\u542b\u4e0a\u8ff0\u5143\u4ef6) \u7684\u7db1\u8981\u5df2\u6307\u5b9a\u70ba\u50c5\u4f9b\u6b64\u81ea\u8a02\u9805\u76ee\u53c3\u7167.

# 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 = (\u8207\u4e0a\u8ff0\u6709\u95dc) \u6709\u554f\u984c\u7684\u7db1\u8981\u5143\u4ef6\u662f\u5f9e\u4e0b\u5217\u5143\u4ef6\u53c3\u7167: {0}

WARN_DEFAULT_VALUE_PRIMITIVE_TYPE = \u7121\u6cd5\u7522\u751f\u539f\u59cb\u985e\u578b "{0}" \u7684\u9810\u8a2d\u503c.
