#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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

# 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
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...
