#-------------------------------------------------------------------------------
# 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=&File
fileNewMenuItem_text=&New
fileOpenMenuItem_text=O&pen

# Edit Menu
editMenuItem_text=&Edit

# Navigate Menu
navigateMenuItem_text=&Navigate

# Search Menu
searchMenuItem_text=&Search

# Configuration Menu
configurationMenuItem_text=&Configuration

# Window Menu
windowMenuItem_text=&Window
windowOpenPerspectiveMenuItem_text=&Open Perspective
windowShowViewMenuItem_text=Show &View

# Help Menu
helpMenuItem_text=&Help

# New Drop Down Menu
newDropDown_tooltip_text=New
otherMenuItem_text=Other...

# Open Perspective Actions
openAuthoringPerspectiveAction_text=Authoring
openBrowsingPerspectiveAction_text=Browsing

# Misc Actions
editAction_text=&Edit
upgradeLibraryAction_text=Upgrade Method Library from I1 to I2...

startup_dir_log_info_text=INFO: Application start directory =
menu_help_software_updates_manage_software_config_text=&Manage Software Configuration...

workspaceCannotLockTitle=Cannot start {0}
workspaceCannotLockMessage={0} cannot be started while another instance is running.  Switch to the running instance or close it and restart the application again.
mainActionBarAdvisor_Diagnosis=Diagnosis and Repair Tools
mainActionBarAdvisor_HealthCheck=Perform Health Check on Library...
mainActionBarAdvisor_RemoveReference=Remove References to Invalid Objects...
