# 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
UDT_text=UDT (tipo definido por el usuario)
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.
convertToSynProcessLib_msg=Convertir a biblioteca sincronizada autom\u00e1ticamente

# 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

