#-------------------------------------------------------------------------------
# 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

# Plug-in
pluginName=UI de creaci\u00f3n de EPF
providerName=Eclipse.org

# Category
methodCategoryName=M\u00e9todo

# Perspective
authoringPerspectiveName=Creaci\u00f3n
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

# Wizards
newMethodLibraryWizardName=Biblioteca de m\u00e9todos
newMethodLibraryWizardDescription=Crear una nueva biblioteca de m\u00e9todos.
newMethodPluginWizardName=Conector de m\u00e9todo
newMethodPluginWizardDescription=Crear un nuevo conector de m\u00e9todo.
newConfigurationWizardName=Configuraci\u00f3n de m\u00e9todo
newConfigurationWizardDescription=Crear una nueva configuraci\u00f3n de m\u00e9todo

# Cheat Sheets
methodAuthoringCheatSheetsName=Hojas de orientaci\u00f3n de la creaci\u00f3n 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 conector de m\u00e9todo propio
CheatsheetAddMethodContent=A\u00f1adir contenido del m\u00e9todo nuevo, como roles, tareas, productos de trabajo o instruccioness
CheatsheetTailorMethodElements=Personalizar los elementos de m\u00e9todo existentes (Roles, Tareas, Productos de trabajo o Instrucciones) mediante la contribuci\u00f3n
CheatsheetReplaceMehtodElements=Reemplazar los elementos de m\u00e9todo existentes (Roles, Tareas, Productos de trabajo o Instrucciones)
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=Creaci\u00f3n
cheatSheetsActionSet=Hojas de orientaci\u00f3n

# Global Actions
newLibraryAction=&Biblioteca de m\u00e9todos
newLibraryActionTooltip=Crear una nueva biblioteca de m\u00e9todos
newPluginAction=Co&nector de m\u00e9todo
newPluginActionTooltip=Crear un conector 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
authoringPreferencePage=Creaci\u00f3n
processEditor=Editor de procesos
libraryOptions=Opciones de la biblioteca
startupAndShutdown=Inicio y conclusi\u00f3n
debug=Depurar
modelingOptions=Opciones de modelado
diagramAppearance=Aspecto del diagrama
breakdownElementAttributes=Atributos del elemento de desglose
libraryViewOptions=Opciones de vista de la biblioteca

# 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 &vista de Propiedades
_UI_RefreshViewer_menu_item=Re&novar
_UI_Properties_General=General
_UI_Properties_Documentation=Documentaci\u00f3n
_UI_Properties_Guidance=Instrucciones
_UI_Properties_Work_Rollup=Trabajar con elementos contra\u00eddos
_UI_Properties_Team_Rollup=Elementos contra\u00eddos de Equipo
_UI_Properties_WP_Rollup=Contracci\u00f3n de producto de trabajo
_UI_Properties_Roles=Roles
_UI_Properties_WorkProducts=Productos de trabajo
_UI_Properties_Steps=Pasos
_UI_Properties_Teams=Equipos

RichTextMarkerTypeName=Problemas de HTML
ConfigurationMarkerTypeName=Problemas de configuraci\u00f3n
ExplanationText=Explicaci\u00f3n

