#-------------------------------------------------------------------------------
# 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
#
# Message ID Range: IUPP0000E - IUPP0099E
#

# Progress Messages
publishingConfigurationTask_name=Publicando a configura\u00e7\u00e3o...
initializingDirTask_name=Inicializando o diret\u00f3rio de destino...
copyingFilesTask_name=Copiando arquivos...
generatingBookmarksTask_name=Gerando marcadores...
generatingBookmarkTask_name=Gerando o marcador ''{0}''...
generatingBookmarkIndexTask_name=Gerando \u00edndice de marcadores...
publishingLinkedElementTask_name=Publicando elementos de m\u00e9todo: {0} publicados, {1} restantes
publishingElementTask_name=Publicando o elemento de m\u00e9todo: {0}:{1}
generatingGlossaryTask_name=Gerando gloss\u00e1rio...
generatingSearchIndexTask_name=Gerando \u00edndice de procura...
generatingWARFileTask_name=Gerando arquivo WAR...
buildingProcessClosureTask_name=Construindo fechamento do processo...
buildingElementClosureTask_name=Construindo fechamento de elemento para ''{0}''...
loadLibraryTask_name=Carregando conte\u00fado da biblioteca...

# Error Messages logged in the Publishing Report
publishElementError_msg=IUPP0000E: Erro ao publicar o elemento: {0}
serverError_msg=IUPP0001E: Nenhum dado retornado do servidor.
invalidHttpResponseError_msg=IUPP0002E: Resposta inv\u00e1lida de http://{0}:{1}:{2}

# Warning Messages logged in the Publishing Report
invalidElementWarning_msg=IUPP0003W: O elemento n\u00e3o foi publicado porque n\u00e3o \u00e9 um elemento v\u00e1lido na configura\u00e7\u00e3o.
invalidMethodElementWarning_msg=IUPP0004W: O elemento n\u00e3o foi publicado porque n\u00e3o \u00e9 um elemento de m\u00e9todo: {0}
copyFileWarning_msg=IUPP0005W: N\u00e3o foi poss\u00edvel copiar o arquivo de ''{0}'' para ''{1}''.
missingIconFileWarning_msg=IUPP0006W: O arquivo de \u00edcone do n\u00f3 ''{0}'' n\u00e3o existe.
missingIconNameWarning_msg=IUPP0007W: N\u00e3o foi poss\u00edvel recuperar o nome do \u00edcone do n\u00f3.
externalUrl_msg={0} minissegundos referenciando URL externa: {1}
discaredCategoryWarning_msg=O elemento da categoria de conte\u00fado vazio n\u00e3o foi publicado.

# Error Details
createSearchIndexError_msg=IUPP0008E: O arquivo de \u00edndice de procura n\u00e3o foi criado.

# Process Tree Nodes
referenceWorkflowsNode_text=Fluxos de Trabalho de Refer\u00eancia
taskNode_text=Tarefas
primarilyPerformsNode_text=Primariamente Desempenha
additionallyPerformsNode_text=Adicionalmente Desempenha
performingRolesNode_text=Desempenhando Fun\u00e7\u00f5es
inputWorkProductsNode_text=Produtos de Trabalho de Entrada
outputWorkProductsNode_text=Produtos de Trabalho de Sa\u00edda
responsibleForNode_text=Respons\u00e1vel por
modifiesNode_text=Modifica
responsibleRoleNode_text=Fun\u00e7\u00e3o Respons\u00e1vel
containingWorkProductNode_text=Contendo Produto de Trabalho
containedWorkProductsNode_text=Continha Produtos de Trabalho
guidanceNode_text=Orienta\u00e7\u00e3o
inputToNode_text=Entrada para
outputFromNode_text=Sa\u00edda de

# HTML Title for Index Page
indexLabel_text=\u00cdndice
