#-------------------------------------------------------------------------------
# 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

# Method Element Names (Singular)
activity_text=Actividad
artifact_text=Artefacto
capabilityPattern_text=Patr\u00f3n de posibilidad
checklist_text=Lista de comprobaci\u00f3n
checkItem_text=Elemento de comprobaci\u00f3n
compositeRole_text=Rol compuesto
concept_text=Concepto
contentPackage_text=Paquete de contenido
customCategory_text=Categor\u00eda personalizada
deliverable_text=entregable
deliveryProcess_text=Proceso de entrega
descriptor_text=Descriptor
discipline_text=Disciplina
disciplineGrouping_text=Agrupaci\u00f3n de disciplinas
domain_text=Dominio
estimate_text=C\u00e1lculo
estimatingMetric_text=C\u00e1lculo de la medida
estimationConsiderations_text=Consideraciones sobre el c\u00e1lculo
example_text=Ejemplo
guidance_text=Instrucciones
guideline_text=Directriz
iteration_text=Iteraci\u00f3n
methodConfiguration_text=Configuraci\u00f3n de m\u00e9todo
methodContent_text=Contenido del m\u00e9todo
methodLibrary_text=Biblioteca de m\u00e9todos
methodPackage_text=Paquete del m\u00e9todo
methodPlugin_text=Plug-in de m\u00e9todo
milestone_text=Objetivo
outcome_text=Resultado
phase_text=Fase
practice_text=Pr\u00e1ctica
process_text=Proceso
processContribution_text=Proceso diferencial
processFamily_text=Familia del proceso
processPackage_text=Paquete de proceso
report_text=Informe
reusableAsset_text=Activo reutilizable
roadmap_text=Mapa
roleDescriptor_text=Descriptor de roles
role_text=Rol
roleSet_text=Conjunto de roles
roleSetGrouping_text=Agrupaci\u00f3n de conjuntos de roles
standardCategory_text=Categor\u00eda est\u00e1ndar
step_text=Paso
supportingMaterial_text=Material de soporte
task_text=Tarea
taskDescriptor_text=Descriptor de tareas
teamProfile_text=Perfil del equipo
template_text=Plantilla
termDefinition_text=Definici\u00f3n de t\u00e9rminos
tool_text=Herramienta
toolMentor_text=Instrucciones de la herramienta
whitepaper_text=Documentaci\u00f3n
workProduct_text=Producto de trabajo
workProductDescriptor_text=Descriptor de productos de trabajo
workProductElement_text=Elemento de producto de trabajo
workProductType_text=Clase de producto de trabajo

# Method Element Names (Plural)
activity_text_plural=Actividades
artifact_text_plural=Artefactos
capabilityPattern_text_plural=Patrones de posibilidad
checklist_text_plural=Listas de comprobaci\u00f3n
checkItem_text_plural=Elementos de comprobaci\u00f3n
compositeRole_text_plural=Roles compuestos
concept_text_plural=Conceptos
contentPackage_text_plural=Paquetes de contenido
customCategory_text_plural=Categor\u00edas personalizadas
deliverable_text_plural=Productos finales
deliveryProcess_text_plural=Procesos de entrega
descriptor_text_plural=Descriptores
discipline_text_plural=Disciplinas
disciplineGrouping_text_plural=Agrupaciones de disciplinas
domain_text_plural=Dominios
estimate_text_plural=C\u00e1lculos
estimatingMetric_text_plural=C\u00e1lculo de la medida
estimationConsiderations_text_plural=Consideraciones sobre el c\u00e1lculo
example_text_plural=Ejemplos
guidance_text_plural=Instrucciones
guideline_text_plural=Directrices
iteration_text_plural=Iteraciones
methodConfiguration_text_plural=Configuraciones del m\u00e9todo
methodContent_text_plural=Contenido del m\u00e9todo
methodLibrary_text_plural=Bibliotecas de m\u00e9todos
methodPackage_text_plural=Paquetes del m\u00e9todo
methodPlugin_text_plural=Plug-ins de m\u00e9todo
milestone_text_plural=Objetivos
outcome_text_plural=Resultados
phase_text_plural=Fases
practice_text_plural=Pr\u00e1cticas
process_text_plural=Procesos
processContribution_text_plural=Procesos diferenciales
processFamily_text_plural=Familias del proceso
processPackage_text_plural=Paquetes del proceso
report_text_plural=Informes
reusableAsset_text_plural=Activos reutilizables
roadmap_text_plural=Mapas
roleDescriptor_text_plural=Descriptores de roles
role_text_plural=Roles
roleSet_text_plural=Conjuntos de roles
roleSetGrouping_text_plural=Agrupaciones del conjunto de roles
standardCategory_text_plural=Categor\u00edas est\u00e1ndar
step_text_plural=Pasos
supportingMaterial_text_plural=Materiales de soporte
task_text_plural=Tareas
taskDescriptor_text_plural=Descriptores de tarea
teamProfile_text_plural=Perfiles del equipo
template_text_plural=Plantillas
termDefinition_text_plural=Definiciones del t\u00e9rmino
tool_text_plural=Herramientas
toolMentor_text_plural=Instrucciones de la herramienta
whitepaper_text_plural=Documentaci\u00f3n
workProduct_text_plural=Productos de trabajo
workProductDescriptor_text_plural=Descriptores del producto de trabajo
workProductElement_text_plural=Elementos de producto de trabajo
workProductType_text_plural=Clases de producto de trabajo

# Application title.
application_title={0} - {1}

# Open Method Library Wizard
openLibraryWizard_title=Abrir una biblioteca de m\u00e9todos
openLibraryMainWizardPage_title=Especifique una v\u00eda de acceso que contenga una biblioteca de m\u00e9todos
openLibraryMainWizardPage_title_2=Seleccionar una biblioteca de m\u00e9todos
openLibraryMainWizardPage_text={0} almacena m\u00e9todos y procesos en una carpeta llamada \nbiblioteca de m\u00e9todos. Seleccione una carpeta de biblioteca de m\u00e9todos para utilizar en esta sesi\u00f3n.
pathLabel_text=V\u00eda de acceso:
nameLabel_text=Nombre:
uriLabel_text=URI:
openUnlistedLibraryCheckbox_text=Abra una biblioteca de m\u00e9todos que no aparezca en la lista anterior
libraryTypeLabel_text=Tipo:
libraryLabel_text=Biblioteca:
browseButton_text=Examinar...
promptForLibraryCheckbox_text=Utilizar esta biblioteca como predeterminada y no volver a preguntar.
openLibraryDialog_newLibrary_text=No existe ninguna biblioteca de m\u00e9todos en ''{0}''. \nSe crear\u00e1 y abrir\u00e1 autom\u00e1ticamente una nueva biblioteca de m\u00e9todos en el directorio especificado.\n\nPulse Aceptar para continuar o Cancelar para especificar otra v\u00eda de acceso para la biblioteca de m\u00e9todos.

# Select Method Library Folder Dialog
selectLibraryFolderDialog_title=Seleccionar biblioteca de m\u00e9todos
selectLibraryFolderDialog_text=Seleccione una carpeta de biblioteca de m\u00e9todos.

# Open Library Progress Message
openingLibraryTask_name=Abriendo biblioteca de m\u00e9todos...

# Open Method Library Error Dialog
openLibraryError_msg=IUPL0301E: No se ha podido crear la biblioteca de m\u00e9todos.
openLibraryInternlError_reason=Se ha producido un error interno.
openLibraryError_reason1=La v\u00eda de acceso de la biblioteca de m\u00e9todos especificada ''{0}'' no es v\u00e1lida.
openLibraryError_reason2=Ya existe una biblioteca de m\u00e9todos en ''{0}''.
openLibraryError_reason3=No se puede crear la carpeta de la biblioteca de m\u00e9todos especificada ''{0}''.
openLibraryError_reason4=La carpeta de la biblioteca de m\u00e9todos especificada es una carpeta de exportaci\u00f3n de especificaci\u00f3n de plug-in o de configuraci\u00f3n.
openLibraryError_advice=Seleccione Aceptar para especificar otra v\u00eda de acceso de biblioteca de m\u00e9todos.

# Open Method Library Error Messages
invalidLibraryPath_msg=IUPL0302E: No se ha podido abrir la biblioteca de m\u00e9todos especificada.
invalidLibraryPath_reason=La carpeta de biblioteca de m\u00e9todos seleccionada no es v\u00e1lida, no existe o no tiene el permiso adecuado para acceder a ella.\n\nPulse Aceptar para seleccionar otra carpeta de biblioteca.

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0304E: ''{0}'' es de s\u00f3lo lectura. Seleccione la opci\u00f3n para que se pueda escribir antes de continuar.
retryButton_text=Reintentar
cancelButton_text=Cancelar

# Version Mismatch Dialog
versionMismatchDialog_text=IUPL305E: No se puede abrir la biblioteca seleccionada. Debe actualizar {0} a una versi\u00f3n {1} o superior para abrir esta biblioteca.
versionMismatchDialog_text_unknown=IUPL306E: No se puede abrir la biblioteca seleccionada. Debe actualizar {0} a una versi\u00f3n superior para abrir esta biblioteca.

# Upgrade Method Library Dialog
upgradeLibraryDialog_title=Actualizar la biblioteca de m\u00e9todos
upgradeLibraryDialog_text=La biblioteca que ha seleccionado tiene que actualizarse a la nueva estructura de bibliotecas.\n\n\u00bfDesea continuar con la actualizaci\u00f3n?
upgradingLibraryTask_name=Actualizando la biblioteca de m\u00e9todos...

# Upgrade Library Error Dialog
upgradeLibraryError_msg=IUPL0306E: No se ha podido actualizar la biblioteca de m\u00e9todos. Consulte el archivo de registro para obtener m\u00e1s detalles.

# Switch Configuration Dialog
switchConfigDialog_title=Cambiar configuraci\u00f3n
switchConfigDialog_text=\u00bfDesea cambiar la configuraci\u00f3n actual por la configuraci\u00f3n predeterminada, ''{0}'', asociada con el proceso seleccionado?
	
# Configuration Combo
currentConfigLabel_text=Configuraci\u00f3n actual:
selectConfigLabel_text=Seleccione una configuraci\u00f3n

# Delete Files Confirmation Message
deleteFilesConfirmation_msg=La v\u00eda de acceso especificada ''{0}'' ya existe. Se suprimir\u00e1n todos los archivos de la carpeta. \u00bfDesea continuar?

# Paths/Files Error Messages
deleteFilesError_reason=La v\u00eda de acceso ''{0}'' contiene uno o varios archivos que no se pueden suprimir.\n\nSeleccione otra v\u00eda de acceso y vuelva a intentarlo.
createPathError_reason=No se ha podido la v\u00eda de acceso ''{0}''.\n\nSeleccione otra v\u00eda de acceso y vuelva a intentarlo.
invalidPath_msg=La v\u00eda de acceso especificada no es v\u00e1lida.
overrideCurrentLibraryError_msg0=No puede exportar una v\u00eda de acceso que contenga una biblioteca de m\u00e9todos actual, por favor, seleccione otra v\u00eda de acceso y vuelva a intentarlo.

# Backup Library Dialog
backupLibraryDialog_title=Realizar copia de seguridad de la biblioteca
backupLibraryDialog_text=Es muy recomendable que haga una copia de seguridad de la biblioteca de m\u00e9todos actual antes de continuar.\n\nPulse Aceptar para crear una copia de seguridad de la biblioteca en el directorio especificado. Pulse Omitir para continuar sin crear una copia de seguridad.
backingUpLibraryTask_name=Realizando la copia de seguridad de los archivos de biblioteca...

# Copy Library Dialog
copyLibraryDialog_title=Copiar biblioteca
copyLibraryDialog_text_readOnlyLib=No puede escribirse en la biblioteca. Pulse copiar para crear una copia en la que poder escribir de la biblioteca en el directorio especificado. Pulse Omitir para continuar sin crear la copia.
copyLibraryTask_name=Copiando los archivos de biblioteca ...
copyLibraryDialog_copyButton_text=Copiar

# Path Selection Dialog
pathSelectionError_msg=No se ha podido crear el directorio
okButton_text=Aceptar
skipButton_text=Omitir

# Process Editor preferences
alwaysButton_text=Siempre
neverButton_text=Nunca
promptButton_text=Preguntar

# Add Link Dialog
linkToURL_name=URL
linkToFile_name=Archivo
elementLink_name=Elemento de m\u00e9todo
elementLinkWithType_name=Elemento de m\u00e9todo con prefijo tipo
elementLinkWithUserText_name=Elemento de m\u00e9todo con texto personalizado

# Convert Activity Type Dialog
convertActivityDialog_title=Convertir tipo de actividad
convertActivityDialog_text=Seleccionar tipo de actividad de destino.
unsupportedActivityType_msg=IUPL0307E: Esta actividad no se puede convertir en otro tipo.
unsupportedActivityType_reason=No hay ning\u00fan tipo de actividad compatible para {0}.

# Select Process Wizard Page
selectProcessWizardPage_title=Seleccionar proceso
selectProcessWizardPage_text=Seleccione un proceso de entrega o un patr\u00f3n de posibilidad para exportarlo.
processesLabel_text=Procesos:
briefDescriptionLabel_text=Descripci\u00f3n breve:

# Export Process Wizard Error Message.
noOpenLibraryWarning_msg=IUPL0308E: Actualmente no hay ninguna biblioteca de m\u00e9todos abierta. Pulse en Cancelar, abra una biblioteca de m\u00e9todos o cree una nueva y vuelva a ejecutar este asistente. 

# Moved from Authoring UI plug-in to avoid Authoring UI dependency
errorDialog_title=Error
MethodElementDeleteAction_deleteconfirm_text=\u00bfEst\u00e1 seguro de que desea suprimir ''{0}''?
confirmDeleteDialog_title=Confirmar supresi\u00f3n
confirmDeleteDialog_msg=\u00bfEst\u00e1 seguro de que desea suprimir ''{0}''?
confirmDeleteDialog_msgWithReference=\u00bfEst\u00e1 seguro de que desea suprimir ''{0}''?\n\nLos elementos siguientes contienen referencias a los art\u00edculos que se van a suprimir: {1}
ProcessDeleteAction_deletecofirm_text=Esta acci\u00f3n guardar\u00e1 el editor actual y el cambio ser\u00e1 permanente. \u00bfEst\u00e1 seguro de que desea suprimir ''{0}''?

# Save Method Library Dialog
saveLibraryDialog_title=Guardar la biblioteca de m\u00e9todos
saveLibraryDialog_text=La biblioteca de m\u00e9todos actual se ha modificado. \u00bfDesea guardar los cambios?

# Save Method Library Error Messages
saveLibraryError_msg=IUPL0308E: No se puede guardar la biblioteca de m\u00e9todos.
error_reason=Se ha producido un error.\n\nPulse Detalles para obtener m\u00e1s informaci\u00f3n.


