#-------------------------------------------------------------------------------
# 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

# Export Microsoft Project Wizard
exportMSPWizard_title=\u5bfc\u51fa Microsoft Project

# Select Export Options Wizard Page
selectExportOptionsWizardPage_title=\u9009\u62e9\u5bfc\u51fa\u9009\u9879
selectExportOptionsWizardPage_text=\u9009\u62e9\u7528\u4e8e\u5bfc\u51fa\u9009\u5b9a\u6d41\u7a0b\u7684\u65b9\u6cd5\u914d\u7f6e\u548c\u5bfc\u51fa\u9009\u9879\u3002
selectedProcessLabel_text=\u9009\u5b9a\u6d41\u7a0b\uff1a
configurationLabel_text=\u65b9\u6cd5\u914d\u7f6e\uff1a
publishWebSiteCheckBox_text=\u53d1\u5e03\u6d41\u7a0b web \u7ad9\u70b9
publishConfigButton_text=\u53d1\u5e03\u6574\u4e2a\u65b9\u6cd5\u914d\u7f6e
publishProcessButton_text=\u53d1\u5e03\u53ea\u4e0e\u9009\u5b9a\u6d41\u7a0b\u76f8\u5173\u7684\u5185\u5bb9
exportOnlyPlannedElementsCheckBox_text=\u53ea\u5bfc\u51fa\u5df2\u8ba1\u5212\u7684\u5206\u89e3\u5143\u7d20

# Select Publishing Options Wizard Page
selectPublishOptionsWizardPage_title=\u9009\u62e9\u53d1\u5e03\u9009\u9879
selectPublishOptionsWizardPage_text=\u9009\u62e9\u5c06\u7528\u6765\u53d1\u5e03\u5bfc\u51fa\u7684\u6d41\u7a0b web \u7ad9\u70b9\u7684\u53d1\u5e03\u9009\u9879\u3002

# Select Export Directory Wizard page
selectExportDirWizardPage_title=\u6307\u5b9a\u9879\u76ee\u540d\u79f0\u548c\u5bfc\u51fa\u76ee\u5f55
selectExportDirWizardPage_text=\u6307\u5b9a Microsoft Project \u540d\u79f0\u548c\u5bfc\u51fa\u76ee\u5f55\u3002
projectNameLabel_text=\u540d\u79f0\uff1a
dirLabel_text=\u76ee\u5f55\uff1a
browseButton_text=\u6d4f\u89c8...

# Progress Messages
exportMSPTask_name=\u6b63\u5728\u5c06\u9009\u5b9a\u7684\u6d41\u7a0b\u5bfc\u51fa\u81f3 Microsoft Project...

# Warning Messages
overwriteText_msg=IUPM0100W: \u201c{1}\u201d\u4e2d\u5df2\u5b58\u5728 Microsoft Project\u201c{0}\u201d\u3002\n\n\u662f\u5426\u8981\u5c06\u5b83\u8986\u76d6\uff1f
missingProcessContentWarning_msg=IUPM0102W: \u53d1\u5e03\u7684\u6d41\u7a0b Web \u7ad9\u70b9\u5c06\u4e0d\u5305\u542b\u4e0e\u5df2\u5bfc\u51fa\u6d41\u7a0b\u76f8\u5173\u7684\u4efb\u4f55\u5185\u5bb9\u3002\n\n\u662f\u5426\u8981\u7ee7\u7eed\uff1f

# Informational Messages
completedText_msg=IUPM0103I: \u9009\u5b9a\u7684\u6d41\u7a0b\u201c{0}\u201d\u5df2\u6210\u529f\u5bfc\u51fa\u81f3 Microsoft Project XML \u6587\u4ef6\u201c{1}\u201d\u3002
# Error Messages
exportMSPError_msg=IUPM0105E: \u5c06\u9009\u5b9a\u7684\u6d41\u7a0b\u201c{0}\u201d\u5bfc\u51fa\u81f3 Microsoft Project\u201c{1}\u201d\u65f6\u51fa\u9519\u3002
exportMSPError_reason=\u8bf7\u5355\u51fb\u201c\u8be6\u7ec6\u4fe1\u606f\u201d\uff0c\u83b7\u53d6\u66f4\u591a\u4fe1\u606f\u3002
exportMSPInternalError_msg=\u53d1\u751f\u5185\u90e8\u9519\u8bef\u3002
illegalArgument_msg={0} \u5c06\u8fd4\u56de\u7a7a\u503c\u6216\u65e0\u6548\u503c\u3002
