#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR
#
# Message ID Range:
#

# Import XML Wizard
importXMLWizard_title=\u5bfc\u5165 XML

# Select Import XML File Wizard Page
selectXMLFilePage_title=\u6307\u5b9a\u5bfc\u5165\u6587\u4ef6
selectXMLFilePage_desc=\u8bf7\u6307\u5b9a\u5305\u542b\u8981\u5bfc\u5165\u7684\u65b9\u6cd5\u5e93\u5185\u5bb9\u7684 XML \u6587\u4ef6\uff0c\u5e76\u9009\u62e9\u8981\u6267\u884c\u7684\u76f8\u5e94\u5bfc\u5165\u64cd\u4f5c\u3002
fileLabel_text=XML \u6587\u4ef6\uff1a
browseButton_text=\u6d4f\u89c8...
optionGroup_text=\u5408\u5e76\u9009\u9879
optionGroup1_text=\u68c0\u67e5\u57fa\u672c\u63d2\u4ef6\u9009\u9879
overwriteRadioButton_text=\u7528\u5bfc\u5165\u7684\u5185\u5bb9\u8986\u76d6\u73b0\u6709\u7684\u65b9\u6cd5\u5e93\u5185\u5bb9
mergeRadioButton_text=\u5c06\u5bfc\u5165\u7684\u5185\u5bb9\u5408\u5e76\u5230\u73b0\u6709\u7684\u65b9\u6cd5\u5e93\u4e2d

# Progress Messages
importingXML_text=\u6b63\u5728\u5c06 XML \u5e93\u5185\u5bb9\u5bfc\u5165\u5230\u5f53\u524d\u65b9\u6cd5\u5e93\u4e2d...

# Import XML Error Dialog
review_log_files=\u5bfc\u5165\u64cd\u4f5c\u5df2\u5b8c\u6210\u3002\u8bf7\u67e5\u770b {0} \u6587\u4ef6\u5939\u4e2d\u7684\n\u65e5\u5fd7\u6587\u4ef6\uff0c\u4ee5\u786e\u8ba4\u662f\u5426\u5b58\u5728\u9519\u8bef\u3002
importXMLError_msg=IUPM0000E: \u5bfc\u5165\u64cd\u4f5c\u65e0\u6cd5\u7ee7\u7eed\u3002
importXMLError_reason=IUPM0009E: \u5f53\u524d\u65b9\u6cd5\u5e93\u4e3a\u53ea\u8bfb\u3002\n\n\u8bf7\u786e\u4fdd\u201c{0}\u201d\u4e3a\u53ef\u5199\uff0c\u6216\u521b\u5efa\u65b0\u65b9\u6cd5\u5e93\u5e76\u91cd\u8bd5\u3002

# Error Messages
invalidXMLFile_error=\u6307\u5b9a\u7684 XML \u6587\u4ef6\u65e0\u6548\u3002
versionMismatch_oldData=IUPM0010E: \u6307\u5b9a\u7684 XML \u6587\u4ef6\u662f\u7531 {1} \u7684\u5148\u524d\u7248\u672c {0} \u5bfc\u51fa\u7684\u3002\u5fc5\u987b\u4f7f\u7528\u5f53\u524d\u7248\u672c\u7684 {1} \u5bfc\u51fa\u8be5\u6587\u4ef6\u3002
versionMismatch_oldData_unknown=IUPM0011E: \u6307\u5b9a\u7684 XML \u6587\u4ef6\u662f\u7531 {0} \u7684\u5148\u524d\u7248\u672c\u5bfc\u51fa\u7684\u3002\u5fc5\u987b\u4f7f\u7528\u5f53\u524d\u7248\u672c\u7684 {0} \u5bfc\u51fa\u8be5\u6587\u4ef6\u3002
versionMismatch_oldTool=IUPM0012E: \u6307\u5b9a\u7684 XML \u6587\u4ef6\u662f\u7531 {1} \u7684\u66f4\u65b0\u7248\u672c {0} \u5bfc\u51fa\u7684\u3002\u60a8\u5fc5\u987b\u5347\u7ea7 {1} \u624d\u80fd\u5bfc\u5165\u8fd9\u4e9b\u6587\u4ef6\u3002
versionMismatch_oldTool_unknown=IUPM0013E: \u65e0\u6cd5\u6253\u5f00\u6307\u5b9a\u7684 XML \u6587\u4ef6\u3002\u60a8\u5fc5\u987b\u5347\u7ea7 {0} \u624d\u80fd\u5bfc\u5165\u8be5\u6587\u4ef6\u3002

importXMLService_element_not_handled=\u5143\u7d20\u672a\u5904\u7406\uff1a{0}
importXMLService_element_without_id=\u65e0\u6807\u8bc6\u7684\u5143\u7d20\uff1a{0}
importXMLService_import_failed=\u5bfc\u5165\u5931\u8d25\uff1a{0}
importXMLService_missing_plugin=\u7f3a\u5c11\u5fc5\u9700\u7684\u63d2\u4ef6 {0}
importXMLService_error_missing_plugins=\u7f3a\u5c11\u5fc5\u9700\u7684\u63d2\u4ef6\u3002\u8bf7\u67e5\u9605\u65e5\u5fd7\u6587\u4ef6\u4ee5\u4e86\u89e3\u8be6\u7ec6\u6d88\u606f

library_error_no_eclass=\u521b\u5efa\u5185\u5bb9\u7c7b\u522b\u65f6\u51fa\u9519\uff1a\u65e0\u6cd5\u83b7\u5f97 {0} \u7684 EClass\u3002
library_no_package=\u65e0\u6cd5\u627e\u5230\u5bf9\u8c61 {0} \u6240\u5c5e\u7684\u6570\u636e\u5305\u3002
library_error_create_element=\u521b\u5efa\u5143\u7d20\u65f6\u51fa\u9519\uff1a{0}
library_object_string=\u5bf9\u8c61 {0}\uff0c\u529f\u80fd\u90e8\u4ef6 {1}
library_error_set_attribute_2=\u8bbe\u7f6e\u5c5e\u6027\u65f6\u51fa\u9519\uff1a\u65e0\u6548\u7684\u5c5e\u6027\u529f\u80fd\u90e8\u4ef6\u503c {0}
library_error_set_attribute=\u8bbe\u7f6e\u5bf9\u8c61 {0}\u3001\u529f\u80fd\u90e8\u4ef6 {1} \u548c\u503c {2} \u7684\u5c5e\u6027\u65f6\u51fa\u9519\u3002
library_error_set_attribute_3=\u4e0d\u77e5\u9053\u5982\u4f55\u8bbe\u7f6e\u5bf9\u8c61 {0}\u3001\u529f\u80fd\u90e8\u4ef6 {1} \u548c\u503c {2} \u7684\u5c5e\u6027
library_error_set_reference=\u8bbe\u7f6e\u529f\u80fd\u90e8\u4ef6 {0} \u7684\u5f15\u7528\u65f6\u51fa\u9519\uff1a\u4e0d\u5b58\u5728\u5e26\u6709\u6807\u8bc6 {1} \u7684\u5143\u7d20
library_error_set_reference_2=\u8bbe\u7f6e\u5bf9\u8c61 {0}\u3001\u529f\u80fd\u90e8\u4ef6 {1} \u548c\u503c {2} \u7684\u5f15\u7528\u65f6\u51fa\u9519\u3002

