#-------------------------------------------------------------------------------
# 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
#
# Message ID Range: IUPP0000E - IUPP0099E
#

# Progress Messages
publishingConfigurationTask_name=Publicando la configuraci\u00f3n...
initializingDirTask_name=Inicializando el directorio de destino...
copyingFilesTask_name=Copiando archivos...
generatingBookmarksTask_name=Generando marcadores...
generatingBookmarkTask_name=Generando el marcador ''{0}''...
generatingBookmarkIndexTask_name=Generando el \u00edndice de marcadores...
publishingLinkedElementTask_name=Publicando elementos de m\u00e9todo: {0} publicados, {1} restantes
publishingElementTask_name=Publicando el elemento de m\u00e9todo: {0}:{1}
generatingGlossaryTask_name=Generando glosario...
generatingSearchIndexTask_name=Generando \u00edndice de b\u00fasqueda...
buildingProcessClosureTask_name=Construyendo cierre del proceso...
buildingElementClosureTask_name=Construyendo el cierre de elemento para ''{0}''...
loadLibraryTask_name=Cargando el contenido de la biblioteca...

# Error Messages logged in the Publishing Report
publishElementError_msg=IUPP0000E: Se ha producido un error al publicar el elemento {0}
serverError_msg=IUPP0001E: El servidor no ha devuelto ning\u00fan dato.
invalidHttpResponseError_msg=IUPP0002E: Respuesta no v\u00e1lida de http://{0}:{1}:{2}

# Warning Messages logged in the Publishing Report
invalidElementWarning_msg=IUPP0003W: El elemento no se ha publicado porque no es un elemento v\u00e1lido de la configuraci\u00f3n.
invalidMethodElementWarning_msg=IUPP0004W: El elemento no se ha publicado porque no es un elemento de m\u00e9todo: {0}
copyFileWarning_msg=IUPP0005W: No se ha podido copiar el archivo de ''{0}'' en ''{1}''.
missingIconFileWarning_msg=IUPP0006W: El archivo de iconos de nodo ''{0}'' no existe.
missingIconNameWarning_msg=IUPP0007W: No se ha podido recuperar el nombre del icono de nodo.
externalUrl_msg=URL externa de referencia: {0}
discaredCategoryWarning_msg=Elemento de categor\u00eda de contenido vac\u00edo no publicado.

# Error Details
createSearchIndexError_msg=IUPP0008E: No se ha creado el archivo de \u00edndices de b\u00fasqueda.

# Process Tree Nodes
referenceWorkflowsNode_text=Flujos de trabajo de referencia
taskNode_text=Tareas
primarilyPerformsNode_text=Principalmente realiza
additionallyPerformsNode_text=Adicionalmente realiza
performingRolesNode_text=Roles de realizaci\u00f3n
inputWorkProductsNode_text=Productos de trabajo de entrada
outputWorkProductsNode_text=Productos de trabajo de salida
responsibleForNode_text=Responsable de
modifiesNode_text=Modifica
responsibleRoleNode_text=Rol responsable
containingWorkProductNode_text=Producto de trabajo contenedor
containedWorkProductsNode_text=Productos de trabajo contenidos
guidanceNode_text=Gu\u00eda
inputToNode_text=Entrada a
outputFromNode_text=Salida de

# HTML Title for Index Page
indexLabel_text=\u00cdndice
