#-------------------------------------------------------------------------------
# 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=\u6a94\u6848(&F)
fileNewMenuItem_text=\u65b0\u5efa(&N)
fileOpenMenuItem_text=\u958b\u555f(&P)

# Edit Menu
editMenuItem_text=\u7de8\u8f2f(&E)

# Navigate Menu
navigateMenuItem_text=\u5c0e\u89bd(&N)

# Search Menu
searchMenuItem_text=\u641c\u5c0b(&S)

# Configuration Menu
configurationMenuItem_text=\u914d\u7f6e(&C)

# Window Menu
windowMenuItem_text=\u8996\u7a97(&W)
windowOpenPerspectiveMenuItem_text=\u958b\u555f\u8996\u666f(&O)
windowShowViewMenuItem_text=\u986f\u793a\u8996\u5716

# Help Menu
helpMenuItem_text=\u8aaa\u660e(&H)

# New Drop Down Menu
newDropDown_tooltip_text=\u65b0\u5efa
otherMenuItem_text=\u5176\u4ed6...

# Open Perspective Actions
openAuthoringPerspectiveAction_text=\u7de8\u5beb
openBrowsingPerspectiveAction_text=\u700f\u89bd

# Misc Actions
editAction_text=\u7de8\u8f2f
upgradeLibraryAction_text=\u5c07\u65b9\u6cd5\u7a0b\u5f0f\u5eab\u5f9e I1 \u5347\u7d1a\u81f3 I2...

startup_dir_log_info_text=\u8cc7\u8a0a\uff1a\u61c9\u7528\u7a0b\u5f0f\u8d77\u59cb\u76ee\u9304 =
menu_help_software_updates_manage_software_config_text=\u7ba1\u7406\u8edf\u9ad4\u914d\u7f6e(&M)...

workspaceCannotLockTitle=\u7121\u6cd5\u555f\u52d5 {0}
workspaceCannotLockMessage=\u53e6\u4e00\u500b\u5be6\u4f8b\u57f7\u884c\u6642\uff0c\u7121\u6cd5\u555f\u52d5 {0}\u3002\u8acb\u5207\u63db\u81f3\u57f7\u884c\u4e2d\u7684\u5be6\u4f8b\uff0c\u6216\u95dc\u9589\u5be6\u4f8b\uff0c\u7136\u5f8c\u518d\u6b21\u91cd\u65b0\u555f\u52d5\u61c9\u7528\u7a0b\u5f0f\u3002
mainActionBarAdvisor_Diagnosis=\u8a3a\u65b7\u548c\u4fee\u5fa9\u5de5\u5177
mainActionBarAdvisor_HealthCheck=\u6b63\u5728\u6aa2\u67e5\u7a0b\u5f0f\u5eab\u7684\u5065\u5168\u72c0\u614b...
mainActionBarAdvisor_RemoveReference=\u79fb\u9664\u7121\u6548\u7269\u4ef6\u7684\u53c3\u7167...
