# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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 \uc791\uc131 UI
providerName=Eclipse.org

# Category
methodCategoryName=\uba54\uc18c\ub4dc

# Perspective
authoringPerspectiveName=\uc791\uc131
browsingPerspectiveName=\ube0c\ub77c\uc6b0\uc9d5

# Views
libraryViewName=\ub77c\uc774\ube0c\ub7ec\ub9ac
configurationViewName=\uad6c\uc131
contentViewName=\ucee8\ud150\uce20
configurationErrorLogViewName=\uad6c\uc131 \uc624\ub958 \ub85c\uadf8

# Editors
methodElementEditorName=\uba54\uc18c\ub4dc \uc694\uc18c \ud3b8\uc9d1\uae30
configurationEditorName=\uad6c\uc131 \ud3b8\uc9d1\uae30
processEditorName=\ud504\ub85c\uc138\uc2a4 \ud3b8\uc9d1\uae30
activityDiagramEditorName=\ud65c\ub3d9 \ub2e4\uc774\uc5b4\uadf8\ub7a8 \ud3b8\uc9d1\uae30
activityDetailDiagramEditorName=\ud65c\ub3d9 \uc138\ubd80\uc0ac\ud56d \ub2e4\uc774\uc5b4\uadf8\ub7a8 \ud3b8\uc9d1\uae30
workProductDepedencyDiagramEditorName=\uc911\uac04 \uc0b0\ucd9c\ubb3c \uc885\uc18d\uc131 \ub2e4\uc774\uc5b4\uadf8\ub7a8 \ud3b8\uc9d1\uae30

# Wizards
newMethodLibraryWizardName=\uba54\uc18c\ub4dc \ub77c\uc774\ube0c\ub7ec\ub9ac
newMethodLibraryWizardDescription=\uc0c8 \uba54\uc18c\ub4dc \ub77c\uc774\ube0c\ub7ec\ub9ac \uc791\uc131
newMethodPluginWizardName=\uba54\uc18c\ub4dc \ud50c\ub7ec\uadf8\uc778
newMethodPluginWizardDescription=\uc0c8 \uba54\uc18c\ub4dc \ud50c\ub7ec\uadf8\uc778 \uc791\uc131
newConfigurationWizardName=\uba54\uc18c\ub4dc \uad6c\uc131
newConfigurationWizardDescription=\uc0c8 \uba54\uc18c\ub4dc \uad6c\uc131 \uc791\uc131

# Cheat Sheets
methodAuthoringCheatSheetsName=\uba54\uc18c\ub4dc \uc791\uc131 \uce58\ud2b8 \uc2dc\ud2b8
CheatsheetGetstartedCategoryText=\uc2dc\uc791\ud558\uae30
CheatsheetReusableContentCategoryText=\uc7ac\uc0ac\uc6a9\uac00\ub2a5 \uba54\uc18c\ub4dc \ucee8\ud150\uce20 \uc791\uc131
CheatsheetWriteContentCategoryText=\uba54\uc18c\ub4dc \ucee8\ud150\uce20 \uc4f0\uae30
CheatsheetProcessesCategoryText=\ud504\ub85c\uc138\uc2a4 \uc791\uc5c5
CheatsheetNavigateMethodContent=\uba54\uc18c\ub4dc \ucee8\ud150\uce20 \ud0d0\uc0c9
CheatsheetCreateMethodConfiguration=\uace0\uc720\ud55c \uba54\uc18c\ub4dc \uad6c\uc131 \uc791\uc131
CheatsheetCreateMethodPlugin=\uace0\uc720\ud55c \uba54\uc18c\ub4dc \ud50c\ub7ec\uadf8\uc778 \uc791\uc131
CheatsheetAddMethodContent=\uc5ed\ud560, \ud0dc\uc2a4\ud06c, \uc911\uac04 \uc0b0\ucd9c\ubb3c \ub610\ub294 \uc548\ub0b4\uc640 \uac19\uc740 \uc0c8\ub85c\uc6b4 \uba54\uc18c\ub4dc \ucee8\ud150\uce20 \ucd94\uac00
CheatsheetTailorMethodElements=\ucee8\ud2b8\ub9ac\ubdf0\uc158\uc744 \uc0ac\uc6a9\ud558\uc5ec \uae30\uc874 \uba54\uc18c\ub4dc \uc694\uc18c(\uc5ed\ud560, \ud0dc\uc2a4\ud06c, \uc911\uac04 \uc0b0\ucd9c\ubb3c \ub610\ub294 \uc548\ub0b4) \uc0ac\uc6a9\uc790 \uc870\uc815
CheatsheetReplaceMehtodElements=\uae30\uc874 \uba54\uc18c\ub4dc \uc694\uc18c(\uc5ed\ud560, \ud0dc\uc2a4\ud06c, \uc911\uac04 \uc0b0\ucd9c\ubb3c \ub610\ub294 \uc548\ub0b4) \ubc14\uafb8\uae30
CheatsheetAddMethodRefOrHyperlink=\uba54\uc18c\ub4dc \ucc38\uc870 \ub610\ub294 \ud558\uc774\ud37c\ub9c1\ud06c(URL) \ucd94\uac00
CheatsheetApplyCapabilityPattern=\uae30\ub2a5 \ud328\ud134 \uc801\uc6a9
CheatsheetCreateProcess=\ud504\ub85c\uc138\uc2a4(\uae30\ub2a5 \ud328\ud134 \ub610\ub294 \uc804\ub2ec \ud504\ub85c\uc138\uc2a4) \uc791\uc131

# Action Set
authoringActionSet=\uc791\uc131
cheatSheetsActionSet=\uce58\ud2b8 \uc2dc\ud2b8

# Global Actions
newLibraryAction=\uba54\uc18c\ub4dc \ub77c\uc774\ube0c\ub7ec\ub9ac(&L)
newLibraryActionTooltip=\uc0c8 \uba54\uc18c\ub4dc \ub77c\uc774\ube0c\ub7ec\ub9ac \uc791\uc131
newPluginAction=\uba54\uc18c\ub4dc \ud50c\ub7ec\uadf8\uc778(&P)
newPluginActionTooltip=\uc0c8 \uba54\uc18c\ub4dc \ud50c\ub7ec\uadf8\uc778 \uc791\uc131
newConfigAction=\uba54\uc18c\ub4dc \uad6c\uc131(&C)
newConfigActionTooltip=\uc0c8 \uba54\uc18c\ub4dc \uad6c\uc131 \uc791\uc131
openLibraryAction=\uba54\uc18c\ub4dc \ub77c\uc774\ube0c\ub7ec\ub9ac(&L)
openLibraryActionTooltip=\uae30\uc874 \uba54\uc18c\ub4dc \ub77c\uc774\ube0c\ub7ec\ub9ac \uc5f4\uae30
openConfigAction=\uba54\uc18c\ub4dc \uad6c\uc131(&C)
openConfigActionTooltip=\uae30\uc874 \uba54\uc18c\ub4dc \uad6c\uc131 \uc5f4\uae30
openCheatSheets=\uce58\ud2b8 \uc2dc\ud2b8(&C)...

# Library View Actions
linkWithEditor=\ud3b8\uc9d1\uae30\uc640 \ub9c1\ud06c
linkWithEditorTooltip=\ud3b8\uc9d1\uae30\uc640 \ub9c1\ud06c
showPresentationNames=\ud504\ub9ac\uc820\ud14c\uc774\uc158 \uc774\ub984 \ud45c\uc2dc
showPresentationNamesTooltip=\ud504\ub9ac\uc820\ud14c\uc774\uc158 \uc774\ub984 \ud45c\uc2dc

# Configuration View Actions
refreshConfig=\uc0c8\ub85c \uace0\uce58\uae30
refreshConfigTooltip=\uc0c8\ub85c \uace0\uce58\uae30 \uad6c\uc131

# Preference Page
authoringPreferencePage=\uc791\uc131
processEditor=\ud504\ub85c\uc138\uc2a4 \ud3b8\uc9d1\uae30
libraryOptions=\ub77c\uc774\ube0c\ub7ec\ub9ac \uc635\uc158
startupAndShutdown=\uc2dc\uc791 \ubc0f \uc2dc\uc2a4\ud15c \uc885\ub8cc
debug=\ub514\ubc84\uadf8
modelingOptions=\ubaa8\ub378\ub9c1 \uc635\uc158
diagramAppearance=\ub2e4\uc774\uc5b4\uadf8\ub7a8 \ubaa8\uc591
breakdownElementAttributes=\uc791\uc5c5\ubd84\ub958 \uc694\uc18c \uc18d\uc131
libraryViewOptions=\ub77c\uc774\ube0c\ub7ec\ub9ac \ubcf4\uae30 \uc635\uc158
activityDiagram=\ud65c\ub3d9 \ub2e4\uc774\uc5b4\uadf8\ub7a8
validation=\uc720\ud6a8\uc131 \uac80\uc99d

# Command Handler
selectAll=\ubaa8\ub450 \uc120\ud0dd

# Properties View
_UI_ProcessEditor_menu=\ud504\ub85c\uc138\uc2a4
_UI_CreateChild_menu_item=\uc0c8 \ud558\uc704(&N)
_UI_CreateSibling_menu_item=\uc0c8 \ub3d9\uc704(&E)
_UI_ShowPropertiesView_menu_item=\ud2b9\uc131 \ubcf4\uae30 \ud45c\uc2dc(&V)
_UI_RefreshViewer_menu_item=\uc0c8\ub85c \uace0\uce58\uae30(&F)
_UI_Properties_General=\uc77c\ubc18
_UI_Properties_Documentation=\ubb38\uc11c
_UI_Properties_Guidance=\uc548\ub0b4
_UI_Properties_Work_Rollup=\uc791\uc5c5 \ub864\uc5c5
_UI_Properties_Team_Rollup=\ud300 \ub864\uc5c5
_UI_Properties_WP_Rollup=\uc911\uac04 \uc0b0\ucd9c\ubb3c \ub864\uc5c5
_UI_Properties_Roles=\uc5ed\ud560
_UI_Properties_WorkProducts=\uc911\uac04 \uc0b0\ucd9c\ubb3c
_UI_Properties_Steps=\ub2e8\uacc4
_UI_Properties_Teams=\ud300

RichTextMarkerTypeName=HTML \ubb38\uc81c\uc810
ConfigurationMarkerTypeName=\uad6c\uc131 \ubb38\uc81c\uc810
ExplanationText=\uc124\uba85

ClearAllValidationItems=\uc720\ud6a8\uc131 \uac80\uc99d \ud56d\ubaa9 \uc804\uccb4 \uc9c0\uc6b0\uae30
