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

# File Menu
fileMenuItem_text=\ud30c\uc77c(&F)
fileNewMenuItem_text=\uc0c8\ub85c \uc791\uc131(&N)
fileOpenMenuItem_text=\uc5f4\uae30(&P)

# Edit Menu
editMenuItem_text=\ud3b8\uc9d1(&E)

# Navigate Menu
navigateMenuItem_text=\ud0d0\uc0c9(&N)

# Search Menu
searchMenuItem_text=\uac80\uc0c9(&S)

# Configuration Menu
configurationMenuItem_text=\uad6c\uc131(&C)

# Window Menu
windowMenuItem_text=\ucc3d(&W)
windowOpenPerspectiveMenuItem_text=Perspective \uc5f4\uae30(&O)
windowShowViewMenuItem_text=\ubcf4\uae30 \ud45c\uc2dc(&V)

# Help Menu
helpMenuItem_text=\ub3c4\uc6c0\ub9d0(&H)

# New Drop Down Menu
newDropDown_tooltip_text=\uc0c8\ub85c \uc791\uc131
otherMenuItem_text=\uae30\ud0c0...

# Open Perspective Actions
openAuthoringPerspectiveAction_text=\uc791\uc131
openBrowsingPerspectiveAction_text=\ube0c\ub77c\uc6b0\uc9d5

# Misc Actions
editAction_text=\ud3b8\uc9d1(&E)
upgradeLibraryAction_text=I1\uc5d0\uc11c I2\ub85c \uba54\uc18c\ub4dc \ub77c\uc774\ube0c\ub7ec\ub9ac \uc5c5\uadf8\ub808\uc774\ub4dc...

startup_dir_log_info_text=\uc815\ubcf4: \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc2dc\uc791 \ub514\ub809\ud1a0\ub9ac =
menu_help_software_updates_manage_software_config_text=\uc18c\ud504\ud2b8\uc6e8\uc5b4 \uad6c\uc131 \uad00\ub9ac(&M)...

workspaceCannotLockTitle={0}\uc744(\ub97c) \uc2dc\uc791\ud560 \uc218 \uc5c6\uc74c
workspaceCannotLockMessage=\ub2e4\ub978 \uc778\uc2a4\ud134\uc2a4\uac00 \uc2e4\ud589 \uc911\uc774\uba74 {0}\uc740(\ub294) \uc2dc\uc791\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc2e4\ud589 \uc778\uc2a4\ud134\uc2a4\ub85c \uc804\ud658\ud558\uac70\ub098 \uc778\uc2a4\ud134\uc2a4\ub97c \ub2eb\uace0 \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8\uc744 \ub2e4\uc2dc \uc2dc\uc791\ud558\uc2ed\uc2dc\uc624.
mainActionBarAdvisor_Diagnosis=\uc9c4\ub2e8 \ubc0f \ubcf5\uad6c \ub3c4\uad6c
mainActionBarAdvisor_HealthCheck=\ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \uc0c1\ud0dc \uac80\uc0ac \uc218\ud589...
mainActionBarAdvisor_RemoveReference=\uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \uc624\ube0c\uc81d\ud2b8\uc5d0 \ub300\ud55c \ucc38\uc870 \uc81c\uac70...
