#-------------------------------------------------------------------------------
# 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=\u6587\u4ef6(&F)
fileNewMenuItem_text=\u65b0\u5efa(&N)
fileOpenMenuItem_text=\u6253\u5f00(&P)

# Edit Menu
editMenuItem_text=\u7f16\u8f91(&E)

# Navigate Menu
navigateMenuItem_text=\u6d4f\u89c8(&N)

# Search Menu
searchMenuItem_text=\u641c\u7d22(&S)

# Configuration Menu
configurationMenuItem_text=\u914d\u7f6e(&C)

# Window Menu
windowMenuItem_text=\u7a97\u53e3(&W)
windowOpenPerspectiveMenuItem_text=\u6253\u5f00\u900f\u89c6\u56fe(&O)
windowShowViewMenuItem_text=\u663e\u793a\u89c6\u56fe(&V)

# Help Menu
helpMenuItem_text=\u5e2e\u52a9(&H)

# New Drop Down Menu
newDropDown_tooltip_text=\u65b0\u5efa
otherMenuItem_text=\u5176\u4ed6...

# Open Perspective Actions
openAuthoringPerspectiveAction_text=\u7f16\u5199
openBrowsingPerspectiveAction_text=\u6d4f\u89c8

# Misc Actions
editAction_text=\u7f16\u8f91(&E)
upgradeLibraryAction_text=\u5c06\u65b9\u6cd5\u5e93\u4ece I1 \u5347\u7ea7\u5230 I2...

startup_dir_log_info_text=\u4fe1\u606f\uff1a\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8\u76ee\u5f55 =
menu_help_software_updates_manage_software_config_text=\u7ba1\u7406\u8f6f\u4ef6\u914d\u7f6e(&M)...

workspaceCannotLockTitle=\u65e0\u6cd5\u542f\u52a8 {0}
workspaceCannotLockMessage=\u6709\u53e6\u4e00\u5b9e\u4f8b\u5728\u8fd0\u884c\u65f6\u65e0\u6cd5\u542f\u52a8 {0}\u3002\u8bf7\u5207\u6362\u5230\u6b63\u8fd0\u884c\u7684\u5b9e\u4f8b\uff0c\u6216\u5c06\u5b83\u5173\u95ed\u7136\u540e\u91cd\u65b0\u542f\u52a8\u8be5\u5e94\u7528\u7a0b\u5e8f\u3002
mainActionBarAdvisor_Diagnosis=\u8bca\u65ad\u548c\u4fee\u590d\u5de5\u5177
mainActionBarAdvisor_HealthCheck=\u5bf9\u5e93\u6267\u884c\u5065\u5168\u68c0\u67e5...
mainActionBarAdvisor_RemoveReference=\u9664\u53bb\u5bf9\u65e0\u6548\u5bf9\u8c61\u7684\u5f15\u7528...
