#-------------------------------------------------------------------------------
# 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=&Archivo
fileNewMenuItem_text=&Nuevo
fileOpenMenuItem_text=Ab&rir

# Edit Menu
editMenuItem_text=&Editar

# Navigate Menu
navigateMenuItem_text=&Navegar

# Search Menu
searchMenuItem_text=&Buscar

# Configuration Menu
configurationMenuItem_text=&Configuraci\u00f3n

# Window Menu
windowMenuItem_text=&Ventana
windowOpenPerspectiveMenuItem_text=&Abrir perspectiva
windowShowViewMenuItem_text=Mostrar vista

# Help Menu
helpMenuItem_text=&Ayuda

# New Drop Down Menu
newDropDown_tooltip_text=Nuevo
otherMenuItem_text=Otro...

# Open Perspective Actions
openAuthoringPerspectiveAction_text=Autor\u00eda
openBrowsingPerspectiveAction_text=Examen

# Misc Actions
editAction_text=Editar
upgradeLibraryAction_text=Actualizar la biblioteca de m\u00e9todos de I1 a I2...

startup_dir_log_info_text=INFORMACI\u00d3N: Directorio de inicio de aplicaci\u00f3n =
menu_help_software_updates_manage_software_config_text=&Gestionar configuraci\u00f3n de software...

workspaceCannotLockTitle=No se puede iniciar {0}
workspaceCannotLockMessage={0} no se puede iniciar mientras se ejecuta otra instancia.  Vaya a la instancia en ejecuci\u00f3n o ci\u00e9rrela y reinicie la aplicaci\u00f3n.
mainActionBarAdvisor_Diagnosis=Herramientas de reparaci\u00f3n y diagn\u00f3stico
mainActionBarAdvisor_HealthCheck=Realizar comprobaci\u00f3n de estado de la biblioteca...
mainActionBarAdvisor_RemoveReference=Eliminar referencias a objetos no v\u00e1lidos...
