#-------------------------------------------------------------------------------
# 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

# Plug-in
pluginName=EPF Composer RCP UI
productName=EPF Composer
providerName=Eclipse.org

# About text
aboutText=Eclipse Process Framework Composer\n\
\n\
\ubc84\uc804: {1}\n\
\ube4c\ub4dc \ub808\uc774\ube14: {0}\n\
\n\
Copyright Eclipse contributors and others 2000, 2007. All Rights Reserved.\n

# Category
methodCategoryName=\uba54\uc18c\ub4dc

# Views
welcomeViewName=\ud658\uc601

# Actions
globalActionSet=\uae00\ub85c\ubc8c \uc870\uce58 \uc138\ud2b8
newAction=\uc0c8\ub85c \uc791\uc131(&N)
newActionTooltip=\uc0c8\ub85c \uc791\uc131
openAction=\uc5f4\uae30(&O)...
openActionTooltip=\uc5f4\uae30
searchAction=\uac80\uc0c9(&S)...
searchActionTooltip=\uac80\uc0c9
welcomeAction=\ud658\uc601(&W)
welcomeActionToolTip=\ud658\uc601

# Tooltips
shortcut.overview.tooltip=\uac1c\uc694 \ud398\uc774\uc9c0\ub85c \ub3cc\uc544\uac00\uae30
shortcut.tutorials.tooltip=\ud559\uc2b5\uc11c \ud398\uc774\uc9c0\ub85c \ub3cc\uc544\uac00\uae30
shortcut.firststeps.tooltip=\uccab \ubc88\uc9f8 \ub2e8\uacc4 \ud398\uc774\uc9c0\ub85c \ub3cc\uc544\uac00\uae30
shortcut.webresources.tooltip=\uc6f9 \uc790\uc6d0 \ud398\uc774\uc9c0\ub85c \ub3cc\uc544\uac00\uae30       

#Action Set
actionSet.description = \ub3c4\uc6c0\ub9d0 \uc2dc\uc2a4\ud15c \ub3c4\uad6c \ubaa8\uc74c \uc870\uce58
actionSet.label = \ub3c4\uc6c0\ub9d0 \uc2dc\uc2a4\ud15c
searchAction.label = \uac80\uc0c9 \ub3c4\uc6c0\ub9d0(&E)
searchAction.tooltip = \ub3c4\uc6c0\ub9d0 \uac80\uc0c9
dynamicHelpAction.label = \ub3d9\uc801 \ub3c4\uc6c0\ub9d0(&D)
dynamicHelpAction.tooltip = \ub3d9\uc801 \ub3c4\uc6c0\ub9d0

#Activities/Capabilities
activity.general=\ud504\ub85c\uc81d\ud2b8\uc640 \uc790\uc6d0 \uac00\uc838\uc624\uae30 \ubc0f \ub0b4\ubcf4\ub0b4\uae30
activity.general.desc=\ud45c\uc900 Eclipse \ud504\ub85c\uc81d\ud2b8/\uc790\uc6d0 \uac00\uc838\uc624\uae30/\ub0b4\ubcf4\ub0b4\uae30 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.
activity.team.cvs=CVS \uc9c0\uc6d0
activity.team.cvs.desc=\uc790\uc6d0\uc744 \uad00\ub9ac\ud558\uae30 \uc704\ud574 \ub3d9\uc2dc \ubc84\uc804 \uc2dc\uc2a4\ud15c(CVS)\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.
activity.team=\ucf54\uc5b4 \ud300 \uc9c0\uc6d0
activity.team.desc=\uad6c\uc131 \uad00\ub9ac \uc2dc\uc2a4\ud15c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud504\ub85c\uc81d\ud2b8\ub97c \uacf5\uc720\ud569\ub2c8\ub2e4.

activity.cat.general=\uc77c\ubc18
activity.cat.general.desc=\ud45c\uc900 Eclipse \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.
activity.cat.team=\ud300
activity.cat.team.desc=\uc790\uc6d0\uc744 \uad00\ub9ac\ud558\uae30 \uc704\ud574 \uad6c\uc131 \uad00\ub9ac \uc2dc\uc2a4\ud15c\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

PreferencePages.Capabilities = \uae30\ub2a5
PreferencePages.Capabilities.activityName = \uae30\ub2a5(&C)
PreferencePages.Capabilities.categoryName = \uae30\ub2a5(&C)
PreferencePages.Capabilities.activityPromptButton = \uae30\ub2a5\uc774 \uc0ac\uc6a9 \uac00\ub2a5\ud560 \ub54c \ud504\ub86c\ud504\ud2b8(&P)
PreferencePages.Capabilities.activityPromptButtonTooltip = \uae30\ub2a5\uc758 \uc0ac\uc6a9 \uac00\ub2a5\ud654\uac00 \ud544\uc694\ud55c \ucd5c\ucd08 \uc0ac\uc6a9 \uc2dc \ud504\ub86c\ud504\ud2b8
PreferencePages.Capabilities.captionMessage = \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc5ec\ub7ec \uc81c\ud488 \ucef4\ud3ec\ub10c\ud2b8\ub97c \uc0ac\uc6a9 \uac00\ub2a5\ud558\uac8c \ud558\uac70\ub098 \uc0ac\uc6a9 \ubd88\uac00\ub2a5\ud558\uac8c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uae30\ub2a5\uc740 \uc0ac\uc804 \uc815\uc758\ub41c \uce74\ud14c\uace0\ub9ac \uc138\ud2b8\uc5d0 \ub530\ub77c \uadf8\ub8f9\ud654\ub429\ub2c8\ub2e4.
