#-------------------------------------------------------------------------------
# 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

# Plug-in
pluginName=RCP de compositor de EPF
productName=Compositor de EPF
providerName=Eclipse.org

# Category
methodCategoryName=M\u00e9todo

# Views
welcomeViewName=Bienvenida

# Actions
globalActionSet=Conjunto de acciones globales
newAction=&Nuevo
newActionTooltip=Nuevo
openAction=&Abrir...
openActionTooltip=Abrir
searchAction=&Buscar...
searchActionTooltip=Buscar
welcomeAction=&Bienvenida
welcomeActionToolTip=Bienvenida

# Tooltips
shortcut.overview.tooltip=Volver a la p\u00e1gina Visi\u00f3n general
shortcut.tutorials.tooltip=Volver a la p\u00e1gina Gu\u00eda de aprendizaje
shortcut.firststeps.tooltip=Volver a la p\u00e1gina Primeros pasos
shortcut.webresources.tooltip=Volver a la p\u00e1gina Recursos web       

#Action Set
actionSet.description = Acciones de la barra de herramientas del sistema de ayuda
actionSet.label = Sistema de ayuda
searchAction.label = Buscar en la ayuda
searchAction.tooltip = Buscar en la ayuda
dynamicHelpAction.label = Ayuda din\u00e1mica 
dynamicHelpAction.tooltip = Ayuda din\u00e1mica

#Activities/Capabilities
activity.general=Importar y exportar proyectos y recursos
activity.general.desc=Utilizar las funciones est\u00e1ndar de Importar/Exportar proyectos/recursos de Eclipse.
activity.team.cvs=Soporte de CVS
activity.team.cvs.desc=Utilizar el Sistema de versiones concurrentes (CVS) para gestionar recursos.
activity.team=Soporte del equipo b\u00e1sico
activity.team.desc=Compartir proyectos mediante sistemas de gesti\u00f3n de la configuraci\u00f3n.

activity.cat.general=General
activity.cat.general.desc=Utilizar las funciones est\u00e1ndar de Eclipse.
activity.cat.team=Equipo
activity.cat.team.desc=Utilizar sistemas de gesti\u00f3n de la configuraci\u00f3n para gestionar recursos.

PreferencePages.Capabilities = Funciones
PreferencePages.Capabilities.activityName = &Funciones
PreferencePages.Capabilities.categoryName = &Funciones
PreferencePages.Capabilities.activityPromptButton = Mostrar &solicitud al habilitar funciones
PreferencePages.Capabilities.activityPromptButtonTooltip = Mostrar solicitud cuando una caracter\u00edstica que necesite la habilitaci\u00f3n de funciones se utilice por primera vez
PreferencePages.Capabilities.captionMessage = Las funciones le permiten habilitar o inhabilitar diversos componentes del producto.  Estas funciones se agrupan de acuerdo a un conjunto de categor\u00edas predefinidas.
