#-------------------------------------------------------------------------------
# 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=Gu\u00edas 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=Gu\u00edas 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 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.

# ElementTreeContentProvider Strings
elementTCProvider_methodContent=Contenido del m\u00e9todo
elementTCProvider_contentPackages=Paquetes de contenido
elementTCProvider_standardCategories=Categor\u00edas est\u00e1ndar
elementTCProvider_disciplines=Disciplinas
elementTCProvider_domains=Dominios
elementTCProvider_workProductTypes=Tipos de producto de trabajo
elementTCProvider_roleSets=Conjuntos de roles
elementTCProvider_tools=Herramientas
elementTCProvider_customCategories=Categor\u00edas personalizadas
elementTCProvider_processes=Procesos
elementTCProvider_capabilityPatterns=Patrones de posibilidad
elementTCProvider_deliveryProcesses=Procesos de entrega

