#-------------------------------------------------------------------------------
# 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=Microsoft \ud504\ub85c\uc81d\ud2b8 \ub0b4\ubcf4\ub0b4\uae30

# Select Export Options Wizard Page
selectExportOptionsWizardPage_title=\ub0b4\ubcf4\ub0b4\uae30 \uc635\uc158 \uc120\ud0dd
selectExportOptionsWizardPage_text=\uc120\ud0dd\ud55c \ud504\ub85c\uc138\uc2a4\ub97c \ub0b4\ubcf4\ub0bc \ub54c \uc0ac\uc6a9\ud560 \uba54\uc18c\ub4dc \uad6c\uc131 \ubc0f \ub0b4\ubcf4\ub0b4\uae30 \uc635\uc158\uc744 \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624.
selectedProcessLabel_text=\uc120\ud0dd\ud55c \ud504\ub85c\uc138\uc2a4:
configurationLabel_text=\uba54\uc18c\ub4dc \uad6c\uc131:
publishWebSiteCheckBox_text=\ud504\ub85c\uc138\uc2a4 \uc6f9 \uc0ac\uc774\ud2b8 \uacf5\uac1c
publishConfigButton_text=\uc804\uccb4 \uba54\uc18c\ub4dc \uad6c\uc131 \uacf5\uac1c
publishProcessButton_text=\uc120\ud0dd\ud55c \ud504\ub85c\uc138\uc2a4\uc640 \uad00\ub828\uc774 \uc788\ub294 \ucee8\ud150\uce20\ub9cc \uacf5\uac1c
exportOnlyPlannedElementsCheckBox_text=\uacc4\ud68d\ub41c \uc791\uc5c5\ubd84\ub958 \uc694\uc18c\ub9cc \ub0b4\ubcf4\ub0b4\uae30

# Select Publishing Options Wizard Page
selectPublishOptionsWizardPage_title=\uacf5\uac1c \uc635\uc158 \uc120\ud0dd
selectPublishOptionsWizardPage_text=\ub0b4\ubcf4\ub0b8 \ud504\ub85c\uc138\uc2a4\uc5d0 \ub300\ud55c \uc6f9 \uc0ac\uc774\ud2b8\ub97c \uacf5\uac1c\ud560 \ub54c \uc0ac\uc6a9\ud560 \uacf5\uac1c \uc635\uc158\uc744 \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624.

# Select Export Directory Wizard page
selectExportDirWizardPage_title=\ud504\ub85c\uc81d\ud2b8 \uc774\ub984 \ubc0f \ub0b4\ubcf4\ub0b4\uae30 \ub514\ub809\ud1a0\ub9ac \uc9c0\uc815
selectExportDirWizardPage_text=Microsoft \ud504\ub85c\uc81d\ud2b8 \uc774\ub984 \ubc0f \ub0b4\ubcf4\ub0b4\uae30 \ub514\ub809\ud1a0\ub9ac\ub97c \uc9c0\uc815\ud558\uc2ed\uc2dc\uc624.
projectNameLabel_text=\uc774\ub984:
dirLabel_text=\ub514\ub809\ud1a0\ub9ac:
browseButton_text=\ucc3e\uc544\ubcf4\uae30...

# Progress Messages
exportMSPTask_name=\uc120\ud0dd\ud55c \ud504\ub85c\uc138\uc2a4\ub97c Microsoft \ud504\ub85c\uc81d\ud2b8\ub85c \ub0b4\ubcf4\ub0b4\ub294 \uc911...

# Warning Messages
overwriteText_msg=IUPM0100W: Microsoft Project ''{0}''\uc774(\uac00) ''{1}''\uc5d0 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4.\n\n\uacb9\uccd0\uc4f0\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
missingProcessContentWarning_msg=IUPM0102W: \uacf5\uac1c\ub41c \ud504\ub85c\uc138\uc2a4 \uc6f9 \uc0ac\uc774\ud2b8\uc5d0\ub294 \ub0b4\ubcf4\ub0b8 \ud504\ub85c\uc138\uc2a4\uc640 \uad00\ub828\ub41c \ucee8\ud150\uce20\uac00 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n\n\uacc4\uc18d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?

# Informational Messages
completedText_msg=IUPM0103I: \uc120\ud0dd\ud55c \ud504\ub85c\uc138\uc2a4 ''{0}''\uc744(\ub97c) Microsoft Project XML \ud30c\uc77c ''{1}''(\uc73c)\ub85c \ub0b4\ubcf4\ub0c8\uc2b5\ub2c8\ub2e4.

# Error Messages
exportMSPError_msg=IUPM0105E: \uc120\ud0dd\ud55c \ud504\ub85c\uc138\uc2a4 ''{0}''\uc744(\ub97c) Microsoft Project ''{1}''(\uc73c)\ub85c \ub0b4\ubcf4\ub0b4\ub294 \uc911\uc5d0 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.
exportMSPError_reason=\uc790\uc138\ud55c \uc815\ubcf4\ub97c \ubcf4\ub824\uba74 \uc138\ubd80\uc0ac\ud56d\uc744 \ud074\ub9ad\ud558\uc2ed\uc2dc\uc624.
exportMSPInternalError_msg=\ub0b4\ubd80 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.
illegalArgument_msg={0}\uc774(\uac00) \ub110(null) \ub610\ub294 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \uac12\uc744 \ubc18\ud658\ud588\uc2b5\ub2c8\ub2e4.
