#-------------------------------------------------------------------------------
# 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

# 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=Producto final
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=Gu\u00eda
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\u00eda 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=Gu\u00edas
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 Dialog
openLibraryDialog_title=Abrir una biblioteca de m\u00e9todos
openLibraryDialogArea_title=Seleccionar una biblioteca de m\u00e9todos
openLibraryDialogArea_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.
libraryLabel_text=Biblioteca:
browseButton_text=Examinar...
promptForLibraryCheckbox_text=Utilizar esta biblioteca como por omisi\u00f3n 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
invalidLibraryPath_msg=IUPL0300E: 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.

# Library Locked Error Dialog
libraryLocked_msg=IUPL0303E: No se ha podido abrir la biblioteca de m\u00e9todos especificada.\n\nLa biblioteca de m\u00e9todos seleccionada parece que se est\u00e1 utilizando. Pulse Cancelar para seleccionar otra carpeta de biblioteca, o pulse Forzar abrir si desea abrir la biblioteca de todas formas.\n\nAVISO: El uso concurrente de una biblioteca de m\u00e9todos puede corromper la biblioteca.
libraryLocked_openButton_text=Forzar abrir

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0302E: ''{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=IUPL0301E: 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 por omisi\u00f3n, ''{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.

# 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 una copia de seguridad de los archivos de la biblioteca...

# 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=IUPL0304E: Esta actividad no se puede convertir en otro tipo.
unsupportedActivityType_reason=No hay ning\u00fan tipo de actividad compatible para {0}.
