# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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\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=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, 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=La biblioteca que est\u00e1 abriendo es una biblioteca predeterminada proporcionada con el compositor.  Le recomendamos que realice una copia de trabajo de esta biblioteca para la edici\u00f3n.\n\nEspecifique un nombre de ubicaci\u00f3n y de biblioteca para la nueva biblioteca y pulse "Copiar" para realizar la copia de trabajo.\n\nPulse "Saltar" para continuar editando la biblioteca predeterminada en la ubicaci\u00f3n actual. La funci\u00f3n de edici\u00f3n para la biblioteca predeterminada est\u00e1 restringida por los permisos de acceso impuestos por las plataformas.
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.

# 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

