#-------------------------------------------------------------------------------
# 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
# The UI text in the XSL stylesheets.

selectedConfigurationText=A configura\u00e7\u00e3o selecionada est\u00e1 publicada no seguinte local
detailInfoText=Informa\u00e7\u00f5es de detalhes s\u00e3o registradas nos seguintes arquivos na pasta logs
showErrorText=mostrar qualquer erro ocorrido durante a publica\u00e7\u00e3o.
logsWarningText=registra todas as mensagens de aviso tais como refer\u00eancias ausentes, links interrompidos e categorias n\u00e3o publicadas sem elementos categorizados.
pagesNotInstalledText=Na pasta pages_not_installed, voc\u00ea encontrar\u00e1 todas as refer\u00eancias ausentes nesta configura\u00e7\u00e3o.
invalidExternalText=Links externos inv\u00e1lidos identificados na configura\u00e7\u00e3o
ownerElementText=Elemento de Propriet\u00e1rio
nonExistingText=Os elementos de propriet\u00e1rio referem-se a elementos n\u00e3o existentes. Talvez os elementos tenham sido exclu\u00eddos da biblioteca depois que os links dos elementos foram criados. Localize os elementos de propriet\u00e1rio e corrija essas refer\u00eancias inv\u00e1lidas.
missingReferencesTitleText=Refer\u00eancias Ausentes
missingReferencesText=Os elementos de propriet\u00e1rio referem-se a elementos ausentes na configura\u00e7\u00e3o selecionada. Verifique o fechamento da configura\u00e7\u00e3o e corrija as refer\u00eancias ausentes.

missingResourceFilesTitleText=Arquivos de Recursos Ausentes
missingResourceFilesText=Os elementos de propriet\u00e1rio referem-se a arquivos de recursos ausentes. Esses arquivos de recursos s\u00e3o referenciados no conte\u00fado dos elementos ou nos anexos associados.
missingResourceText=Recurso Ausente
ownerResourceText=Recurso de Propriet\u00e1rio
missingElementText=Elemento Ausente
invalidElementText=Elemento Inv\u00e1lido
invalidElementLinksText=Links de Elemento Inv\u00e1lidos
pleaseCheckText=Verifique o fechamento da configura\u00e7\u00e3o e corrija as refer\u00eancias ausentes.
pleaseFindText=Localize os elementos de propriet\u00e1rio e corrija essas refer\u00eancias inv\u00e1lidas.
glossaryText=Gloss\u00e1rio
indexText=\u00cdndice
feedbackText=Feedback
aboutText=Sobre
searchText=Procurar
printText=Imprimir
summaryText=Resumo
publishingReportText=Relat\u00f3rio de Publica\u00e7\u00e3o:
whereAmIText=Onde eu estou
treeSetsText=Conjuntos de \u00c1rvores

searchTitleText=Procura de Processos
label1Text=
label2Text=
label3Text=
lable4Text=
searchButtonText=Procurar
searchExpressionText=* = qualquer cadeia, ? = qualquer caractere, "" = fase, AND, OR, NOT = operadores booleanos

detailsText=Detalhes
infoText=Informa\u00e7\u00f5es
messgeText=Mensagem
descriptionText=Descri\u00e7\u00e3o
