#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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=\u532f\u51fa Microsoft Project

# Select Process Wizard Page
selectProcessWizardPage_title=\u9078\u53d6\u6d41\u7a0b\u548c\u532f\u51fa\u9078\u9805
selectProcessWizardPage_text=\u9078\u53d6\u8981\u532f\u51fa\u7684\u7a0b\u5e8f\uff0c\u4e26\u6307\u5b9a\u532f\u51fa\u9078\u9805\u3002
processGroup_text=\u7a0b\u5e8f
capabilityPatternRadioButton_text=\u529f\u80fd\u578b\u6a23
deliveryProcessRadioButton_text=\u4ea4\u4ed8\u6d41\u7a0b
optionsGroup_text=\u532f\u51fa\u9078\u9805
processNameLabel_text=\u540d\u7a31\uff1a
contextNameLabel_text=\u914d\u7f6e\uff1a
publishConfigurationCheckBox_text=\u767c\u4f48\u9078\u53d6\u7684\u914d\u7f6e
exportOnlyPlannedElementsCheckBox_text=\u53ea\u532f\u51fa\u5df2\u898f\u5283\u7684\u5206\u89e3\u5143\u7d20

# Select Publishing Options Wizard Page
selectPublishOptionsWizardPage_title=\u9078\u53d6\u767c\u4f48\u9078\u9805
selectPublishOptionsWizardPage_text=\u9078\u53d6\u767c\u4f48\u9078\u9805\uff0c\u5c07\u7528\u4f86\u767c\u4f48\u6307\u5b9a\u7684\u914d\u7f6e\u3002

# Select Export Directory Wizard page
selectExportDirWizardPage_title=\u6307\u5b9a\u5c08\u6848\u540d\u7a31\u548c\u532f\u51fa\u76ee\u9304
selectExportDirWizardPage_text=\u6307\u5b9a Microsoft Project \u540d\u7a31\u548c\u532f\u51fa\u76ee\u9304\u3002
projectNameLabel_text=\u540d\u7a31\uff1a
dirLabel_text=\u76ee\u9304\uff1a
browseButton_text=\u700f\u89bd...

# Progress Messages
exportMSPTask_name=\u5c07\u9078\u53d6\u7684\u7a0b\u5e8f\u532f\u51fa\u5230 Microsoft Project...

# Confirmation Messages
overwriteText_msg=Microsoft Project ''{0}'' \u5df2\u5b58\u5728 ''{1}'' \u4e2d\u3002\n\u60a8\u8981\u8986\u5beb\u5b83\u55ce\uff1f
completedText_msg=\u9078\u53d6\u7684\u7a0b\u5e8f ''{0}'' \u5df2\u9806\u5229\u532f\u51fa\u5230 Microsoft Project XML \u6a94 ''{1}''\u3002

# Error Messages
exportMSPError_msg=\u5c07\u9078\u53d6\u7684\u7a0b\u5e8f ''{0}'' \u532f\u51fa\u5230 Microsoft Project ''{1}'' \u6642\u767c\u751f\u932f\u8aa4\u3002
exportMSPError_reason=\u5982\u9700\u76f8\u95dc\u8cc7\u8a0a\uff0c\u8acb\u6309\u4e00\u4e0b\u300c\u8a73\u7d30\u8cc7\u6599\u300d\u3002
