#-------------------------------------------------------------------------------
# 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

# Publish Method Configuration Wizard
publishConfigWizard_title=Publicar configuraci\u00f3n de m\u00e9todo
publishConfigWizard_selectConfigPage_title=Seleccionar configuraci\u00f3n de m\u00e9todo
publishConfigWizard_selectConfigPage_text=Seleccione la configuraci\u00f3n de m\u00e9todo que desea publicar.
publishConfigWizard_selectOptionsPage_title=Especificar opciones de publicaci\u00f3n
publishConfigWizard_selectOptionsPage_text=Especifique el directorio de destino y las opciones de publicaci\u00f3n.
publishConfigWizard_methodConfig_text=Configuraci\u00f3n de m\u00e9todo:
publishConfigWizard_destinationGroup_text=Directorio de destino
publishConfigWizard_directory_text=V\u00eda de acceso:
publishConfigWizard_useDefaultPath_text=Usar la predeterminada
publishConfigWizard_webSite_text=Sitio web publicado
publishConfigWizard_title_text=T\u00edtulo:
publishConfigWizard_bannerImage_text=Imagen del mensaje de cabecera:
publishConfigWizard_aboutHTML_text=Acerca del contenido:
publishConfigWizard_feedbackURL_text=URL de informaci\u00f3n de retorno:
publishConfigWizard_includeIndex_text=Publicar p\u00e1gina del \u00edndice
publishConfigWizard_includeGlossary_text=Publicar p\u00e1gina de glosario
publishConfigWizard_includeSearch_text=Incluir capacidad de b\u00fasqueda (requiere que el navegador soporte el applet Java)
publishConfigWizard_useApplet_text=Soportar personalizaci\u00f3n de la vista (requiere que el navegador soporte el applet Java)
publishConfigWizard_validationGroup_text=Validaci\u00f3n
publishConfigWizard_checkHyperlinks_text=Comprobar hiperenlaces externos
publishConfigWizard_diagramGroup_text=Diagramas
publishConfigWizard_publish_unopen_activity_dd_text=Publicar diagramas de detalles de la actividad que no se hayan creado en el editor de procesos
publishConfigWizard_publish_extend_activity_diagram=Publicar diagramas de actividad para extensiones de actividad que no se han modificado
publishConfigWizard_convertBrokenLinks_text=Convertir enlaces rotos a texto sin formato
publishConfigWizard_layout_text=Dise\u00f1o
publishConfigWizard_extraDescriptorInfo_text=Publicar descriptores con el contenido completo del elemento de contenido de m\u00e9todo relacionado
publishConfigWizard_lightWeightTree_text=Generar estructura de sub\u00e1rbol para elementos de tarea, rol, producto de trabajo y disciplina sin utilizar carpetas.
publishConfigWizard_includeEmptyCategories_text=Publicar categor\u00edas sin elementos categorizados

# publish process wizard page
PublishConfigSelectProcessPage_title=Seleccionar tipo de publicaci\u00f3n
PublishConfigSelectProcessPage_text=Puede publicar la configuraci\u00f3n seleccionada o los procesos especificados en la configuraci\u00f3n
PublishConfigSelectProcessPage_label_capability_pattern=Patrones de posibilidad
PublishConfigSelectProcessPage_label_delivery_process=Procesos de entrega
PublishConfigSelectProcessPage_label_selectType=Seleccionar tipo de publicaci\u00f3n
PublishConfigSelectProcessPage_label_type_processes=Publicar los procesos seleccionados m\u00e1s abajo:
PublishConfigSelectProcessPage_label_type_config=Publicar la configuraci\u00f3n seleccionada
PublishConfigSelectProcessPage_label_publish_base_processes=Publicar procesos de base referenciada

# Publishing Preference Page
preferencePage_defaultPath_text=V\u00eda de acceso por omisi\u00f3n:

# Confirmation Dialogs
publishConfigDialog_title=Publicar configuraci\u00f3n de m\u00e9todo
confirmPathDialog_text=La v\u00eda de acceso de destino se resuelto en ''{0}''. \u00bfDesea continuar?
overwriteDialog_text=La de acceso de destino ''{0}'' ya existe. Se suprimir\u00e1n todos los archivos de la carpeta. \u00bfDesea continuar?
cancelPublishConfig_msg=La operaci\u00f3n de publicaci\u00f3n se ha cancelado.

# Error Dialogs
previewConfigError_title=Previsualizar la configuraci\u00f3n de m\u00e9todo publicada
viewReportError_title=Ver el informe de publicaci\u00f3n

# Error Messages
missingViewError_msg=IUPP0100W: La configuraci\u00f3n seleccionada no contiene una vista v\u00e1lida. Edite la configuraci\u00f3n y a\u00f1ada una vista o seleccione otra configuraci\u00f3n.
cannotPublishError_msg=IUPP0101E: La configuraci\u00f3n seleccionada no se puede publicar.
invalidPathError_msg=IUPP0102E: La v\u00eda de acceso de destino est\u00e1 en blanco o no es v\u00e1lida.
invalidPathCharsError_msg=IUPP0103E: La v\u00eda de acceso de destino no puede contener estos caracteres: # * ? " < > | ! % /
publishConfigError_msg=IUPP0104E: La configuraci\u00f3n seleccionada no se ha publicado satisfactoriamente.
previewConfigError_msg=IUPP0105E: No se ha podido abrir un navegador HTML para visualizar la vista preliminar de la configuraci\u00f3n publicada.
viewReportError_msg=IUPP0106E: No se ha podido abrir un navegador HTML para ver el informe de publicaci\u00f3n.

# Error Reasons & Recommended Actions
publishConfigError_reason=IUPP0107E: Se ha producido un error. Pulse el bot\u00f3n Detalles para obtener m\u00e1s informaci\u00f3n.
deleteFilesError_reason=La v\u00eda de acceso de destino ''{0}'' contiene archivos que no se pueden suprimir.\n\nCierre este di\u00e1logo y especifique otra v\u00eda de acceso.
createDirError_reason=No se puede crear la v\u00eda de acceso de destino ''{0}''.\n\nCierre este di\u00e1logo y especifique otra v\u00eda de acceso.
openBrowserError_reason=No se puede detectar o localizar el navegador HTML por omisi\u00f3n de este sistema.\n\nCierre este di\u00e1logo y abra el archivo ''{0}'' manualmente con un navegador HTML.
