#-------------------------------------------------------------------------------
# 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: IUPE0000E - IUPE0099E
#

# Export Library Configuration Wizard
exportConfigWizard_title=\u532f\u51fa\u7a0b\u5f0f\u5eab\u914d\u7f6e
selectExportTypePage_title=\u9078\u53d6\u532f\u51fa\u985e\u578b
selectExportTypePage_desc=\u9078\u53d6\u8981\u532f\u51fa\u7684\u7a0b\u5f0f\u5eab\u914d\u7f6e\u985e\u578b\u3002
selectExportTypePage_configLabel_text=\u532f\u51fa\u65b9\u6cd5\u914d\u7f6e\u53ca\u5176\u6240\u6709\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f
selectExportTypePage_configSpecsLabel_text=\u532f\u51fa\u4e00\u6216\u591a\u500b\u65b9\u6cd5\u914d\u7f6e\u898f\u683c
selectConfigPage_title=\u9078\u53d6\u65b9\u6cd5\u914d\u7f6e
selectConfigPage_desc=\u9078\u53d6\u8981\u532f\u51fa\u7684\u65b9\u6cd5\u914d\u7f6e\u3002\u6240\u9078\u914d\u7f6e\u4e2d\u6240\u6709\u53c3\u7167\u7684\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u90fd\u5305\u542b\u5728\u532f\u51fa\u4e2d\u3002
selectConfigPage_configsLabel_text=\u65b9\u6cd5\u914d\u7f6e\uff1a
selectConfigSpecsPage_title=\u9078\u53d6\u914d\u7f6e\u898f\u683c
selectConfigSpecsPage_desc=\u9078\u53d6\u8981\u532f\u51fa\u7684\u4e00\u6216\u591a\u500b\u65b9\u6cd5\u914d\u7f6e\u898f\u683c\u3002
selectConfigSpecsPage_configsLabel_text=\u65b9\u6cd5\u914d\u7f6e\uff1a
checkConfigPage_title=\u5be9\u67e5\u914d\u7f6e\u932f\u8aa4
checkConfigPage_desc=\u9078\u53d6\u7684\u65b9\u6cd5\u914d\u7f6e\u4e0a\u5df2\u57f7\u884c\u5b8c\u6574\u6027\u6aa2\u67e5\u3002\u8acb\u5be9\u67e5\u932f\u8aa4\u5831\u544a\uff0c\u4e26\u63a1\u53d6\u5fc5\u8981\u7684\u66f4\u6b63\u52d5\u4f5c\u3002
selectDestinationPage_title=\u6307\u5b9a\u532f\u51fa\u76ee\u9304
selectDestinationPage_desc=\u6307\u5b9a\u76ee\u6a19\u76ee\u9304\u4f86\u5132\u5b58\u532f\u51fa\u7684\u914d\u7f6e\u3002

# Export Method Plug-ins Wizard
exportPluginsWizard_title=\u532f\u51fa\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f
selectPluginsPage_title=\u9078\u53d6\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f
selectPluginsPage_desc=\u9078\u53d6\u8981\u532f\u51fa\u7684\u4e00\u6216\u591a\u500b\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u3002
selectPluginsPage_pluginsLabel_text=\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\uff1a
reviewPluginsPage_title=\u5be9\u67e5\u76f8\u4f9d\u95dc\u4fc2
reviewPluginsPage_desc=\u9078\u53d6\u6bcf\u4e00\u500b\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u4f86\u6aa2\u8996\u76f8\u4f9d\u95dc\u4fc2\u3002\u5982\u679c\u6709\u76f8\u4f9d\u7684\u5916\u639b\u7a0b\u5f0f\u5fc5\u9808\u532f\u51fa\uff0c\u8acb\u6309\u300c\u4e0a\u4e00\u6b65\u300d\u4f86\u9078\u53d6\u3002
reviewPluginsPage_pluginsLabel_text=\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\uff1a
reviewPluginsPage_dependentPluginsLabel_text=\u76f8\u4f9d\u7684\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\uff1a
reviewPluginsPage_associatedConfigsLabel_text=\u76f8\u95dc\u7684\u65b9\u6cd5\u914d\u7f6e\uff1a
exportPluginSummaryPage_title=\u78ba\u8a8d\u532f\u51fa
exportPluginSummaryPage_desc=\u78ba\u8a8d\u5c07\u532f\u51fa\u7684\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u3002
exportPluginSummaryPage_noPlugin_text=\u672a\u9078\u53d6\u4efb\u4f55\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u3002
specifyPathPage_title=\u6307\u5b9a\u532f\u51fa\u76ee\u9304
specifyPathPage_desc=\u6307\u5b9a\u76ee\u6a19\u76ee\u9304\u4f86\u5132\u5b58\u532f\u51fa\u7684\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u3002
SavePluginPage_desc=\u5c07\u6240\u9078\u5916\u639b\u7a0b\u5f0f\u548c\u914d\u7f6e\u532f\u51fa\u81f3\u6307\u5b9a\u7684\u76ee\u6a19\u76ee\u9304\u3002
ExportPluginWizard_title=\u532f\u51fa\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u7cbe\u9748\u932f\u8aa4
ExportPluginError_msg=IUPE0000E: \u532f\u51fa\u6642\u767c\u751f\u932f\u8aa4

# Export Library Configuration Error Dialog
exportConfigErrorDialog_title=\u532f\u51fa\u7a0b\u5f0f\u5eab\u914d\u7f6e
exportConfigErrorDialog_msg=IUPE0001E: \u7121\u6cd5\u7e7c\u7e8c\u532f\u51fa\u4f5c\u696d\u3002

# Progress Messages
analyzingConfigTask_name=\u6b63\u5728\u5206\u6790\u7a0b\u5f0f\u5eab\u914d\u7f6e...

# The following messages have not been reviewed.
ConfigurationSpecsExportService_MSG0=\u6b63\u5728\u532f\u51fa\u914d\u7f6e...
ConfigurationSpecsExportService_MSG1=\u532f\u51fa\u5b8c\u6210\u3002
ExportConfigCheckingPage_summary_1=\u6b63\u5728\u6aa2\u67e5\u9078\u5b9a\u914d\u7f6e\u7684\u5b8c\u6574\u6027...\n
ExportConfigCheckingPage_summary_2=\u672a\u9078\u53d6\u914d\u7f6e\u3002\n
ExportConfigCheckingPage_summary_3=\u9078\u53d6\u7684\u914d\u7f6e\u6c92\u6709\u554f\u984c\u3002\n
ExportConfigCheckingPage_summary_4=\u9078\u53d6\u7684\u914d\u7f6e\u4e2d\u5b58\u5728 {0} \u500b\u554f\u984c\uff08{1} \u500b\u932f\u8aa4\uff0c{2} \u9805\u8b66\u544a\uff0c{3} \u9805\u53c3\u8003\u8cc7\u8a0a\uff09\u3002\n\u60a8\u53ef\u4ee5\u958b\u555f\u914d\u7f6e\u7de8\u8f2f\u5668\uff0c\u4e26\u4fee\u6b63\u9019\u4e9b\u554f\u984c\u3002\n\u6216\u8005\uff0c\u9078\u64c7\u5ffd\u7565\u9019\u4e9b\u554f\u984c\uff0c\u4e26\u7e7c\u7e8c\u9032\u884c\u3002
ExportConfigCheckingPage_checking=\u6b63\u5728\u6aa2\u67e5\u914d\u7f6e\uff0c\u8acb\u7a0d\u5019...
ExportConfigSelectConfigPage_title=\u9078\u64c7\u65b9\u6cd5\u914d\u7f6e
DestinationCommonPage_label_browse=\u700f\u89bd...
DestinationCommonPage_label_default_dir=\u4f7f\u7528\u9810\u8a2d\u76ee\u9304
ConfigurationExportService_MSG0=\u6b63\u5728\u532f\u51fa\u914d\u7f6e...
ConfigurationExportService_MSG2=IUPE0002E: \u532f\u51fa\u5931\u6557\uff1a\u8f09\u5165\u7a0b\u5f0f\u5eab\u6642\u767c\u751f\u932f\u8aa4
ConfigurationExportService_MSG4=IUPE0003E: \u532f\u51fa\u5931\u6557\uff1a\u8907\u88fd\u7a0b\u5f0f\u5eab\u6642\u767c\u751f\u932f\u8aa4
ConfigurationExportService_MSG1=IUPE0004E: \u532f\u51fa\u5931\u6557\uff1a\u5efa\u7acb\u7a0b\u5f0f\u5eab\u914d\u7f6e\u908a\u754c\u6642\u767c\u751f\u932f\u8aa4
ConfigurationExportService_MSG9=IUPE0005E: \u532f\u51fa\u5931\u6557\uff1a\u5132\u5b58\u7a0b\u5f0f\u5eab\u6642\u767c\u751f\u932f\u8aa4
DestinationCommonPage_label_name=\u540d\u7a31\uff1a
DestinationCommonPage_label_dir=\u76ee\u9304\uff1a
ExportPluginWizard_error=\u932f\u8aa4
DestinationCommonPage_title=\u9810\u8a2d\u6a19\u984c
DestinationCommonPage_desc=\u9810\u8a2d\u8aaa\u660e\uff1a
PluginExportService_MSG0=\u6b63\u5728\u532f\u51fa\u5916\u639b\u7a0b\u5f0f...
PluginExportService_MSG1=\u6b63\u5728\u5efa\u7acb\u532f\u51fa\u76ee\u9304...
PluginExportService_MSG2=\u6b63\u5728\u8907\u88fd\u6a94\u6848...
PluginExportService_MSG3=\u6b63\u5728\u7522\u751f\u7a0b\u5f0f\u5eab\u548c\u8cc7\u6e90\u6a94...
PluginExportService_MSG4=\u532f\u51fa\u5b8c\u6210\u3002
SaveLibraryPage_title=\u532f\u51fa\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f
SavePluginPage_label_name=\u532f\u51fa\u540d\u7a31\uff1a
SaveLibraryPage_desc=\u532f\u51fa\u9078\u53d6\u7684\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u53ca\u76f8\u95dc\u7684\u914d\u7f6e
ExportPluginWizard_MSG1=\u6b63\u5728\u5206\u6790\u7a0b\u5f0f\u5eab\u914d\u7f6e...
