#-------------------------------------------------------------------------------
# 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=UI de montaje de UI
providerName=Eclipse.org

# Category
methodCategoryName=M\u00e9todo

# Perspective
authoringPerspectiveName=Autor\u00eda
browsingPerspectiveName=Examen

# Views
libraryViewName=Biblioteca
configurationViewName=Configuraci\u00f3n
contentViewName=Contenido
configurationErrorLogViewName=Registro de errores de configuraci\u00f3n

# Editors
methodElementEditorName=Editor de elementos de m\u00e9todo
configurationEditorName=Editor de configuraci\u00f3n
processEditorName=Editor de procesos
activityDiagramEditorName=Editor del diagrama de la actividad
activityDetailDiagramEditorName=Editor del diagrama de detalles de la actividad
workProductDepedencyDiagramEditorName=Editor del diagrama de dependencia del producto de trabajo

# Cheat Sheets
methodAuthoringCheatSheetsName=Hojas de orientaci\u00f3n de la autor\u00eda de m\u00e9todos
CheatsheetGetstartedCategoryText=C\u00f3mo empezar
CheatsheetReusableContentCategoryText=Crear contenido del m\u00e9todo reutilizable
CheatsheetWriteContentCategoryText=Escribir contenido del m\u00e9todo
CheatsheetProcessesCategoryText=Trabajar con procesos
CheatsheetNavigateMethodContent=Navegar por el contenido del m\u00e9todo
CheatsheetCreateMethodConfiguration=Crear una configuraci\u00f3n de m\u00e9todo propia
CheatsheetCreateMethodPlugin=Crear un plug-in de m\u00e9todo propio
CheatsheetAddMethodContent=A\u00f1adir contenido del m\u00e9todo nuevo, como roles, tareas, productos de trabajo o gu\u00edas
CheatsheetTailorMethodElements=Personalizar los elementos de m\u00e9todo existentes (Roles, Tareas, Productos de trabajo o Gu\u00eda) mediante la contribuci\u00f3n
CheatsheetReplaceMehtodElements=Reemplazar los elementos de m\u00e9todo existentes (Roles, Tareas, Productos de trabajo o Gu\u00eda)
CheatsheetAddMethodRefOrHyperlink=A\u00f1adir una referencia o hiperenlace al m\u00e9todo (URL)
CheatsheetApplyCapabilityPattern=Aplicar un patr\u00f3n de posibilidad
CheatsheetCreateProcess=Crear un proceso (Patr\u00f3n de posibilidad o Proceso de entrega)

# Action Set
authoringActionSet=Autor\u00eda
cheatSheetsActionSet=Hojas de orientaci\u00f3n

# Global Actions
newLibraryAction=&Biblioteca de m\u00e9todos
newLibraryActionTooltip=Crear una nueva biblioteca de m\u00e9todos
newPluginAction=&Plug-in de m\u00e9todo
newPluginActionTooltip=Crear un plug-in de m\u00e9todo nuevo
newConfigAction=&Configuraci\u00f3n de m\u00e9todo
newConfigActionTooltip=Crear una nueva configuraci\u00f3n de m\u00e9todo
openLibraryAction=&Biblioteca de m\u00e9todos
openLibraryActionTooltip=Abrir una biblioteca de m\u00e9todos existente
openConfigAction=&Configuraci\u00f3n de m\u00e9todo
openConfigActionTooltip=Abrir una configuraci\u00f3n de m\u00e9todo existente
openCheatSheets=Hojas de orientaci\u00f3n...

# Library View Actions
linkWithEditor=Enlazar con el editor
linkWithEditorTooltip=Enlazar con el editor
showPresentationNames=Mostrar nombres de presentaci\u00f3n
showPresentationNamesTooltip=Mostrar nombres de presentaci\u00f3n

# Configuration View Actions
refreshConfig=Renovar
refreshConfigTooltip=Renovar la configuraci\u00f3n

# Preference Page
methodAuthoringPage=Autor\u00eda de m\u00e9todos
processEditor=Editor de procesos
libraryOptions=Opciones de la biblioteca
diagram=Diagrama
startupAndShutdown=Inicio y conclusi\u00f3n
debug=Depurar

# Command Handler
selectAll=Seleccionar todo

# Properties View
_UI_ProcessEditor_menu=Proceso
_UI_CreateChild_menu_item=&Nuevo hijo
_UI_CreateSibling_menu_item=Nu&evo igual
_UI_ShowPropertiesView_menu_item=Mostrar propiedades &Vista
_UI_RefreshViewer_menu_item=Re&novar
_UI_Properties_General=General
_UI_Properties_Documentation=Documentaci\u00f3n
_UI_Properties_Guidance=Gu\u00eda
_UI_Properties_Work_Rollup=Trabajar con elementos contra\u00eddos
_UI_Properties_Team_Rollup=Elementos contra\u00eddos de Equipo
## The following value of string should be "Work Product Rollup". But
## due to limitation/bug in Eclipse WTP, it's been truncated to 
## "Work Prod Rollup". So during translation, please take this into consideration.
_UI_Properties_WP_Rollup=Elemento contra\u00eddo de producto de trabajo
_UI_Properties_Roles=Roles
_UI_Properties_WorkProducts=Productos de trabajo
_UI_Properties_Steps=Pasos
_UI_Properties_Teams=Equipos
