#-------------------------------------------------------------------------------
# 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

# Publish Method Configuration Wizard
publishConfigWizard_title=Configura\u00e7\u00e3o de M\u00e9todo de Publica\u00e7\u00e3o

# Select Method Configuration Wizard Page
selectConfigWizardPage_title=Selecionar configura\u00e7\u00e3o de m\u00e9todo
selectConfigWizardPage_text=Selecione uma configura\u00e7\u00e3o de m\u00e9todo que contenha os processos e conte\u00fado de m\u00e9todo que deseja publicar.
configLabel_text=Configura\u00e7\u00e3o do m\u00e9todo:

# Select Method Configuration Content Wizard Page
selectContentWizardPage_title=Selecione o conte\u00fado da configura\u00e7\u00e3o do m\u00e9todo
selectContentWizardPage_text=Selecione o conte\u00fado da configura\u00e7\u00e3o de m\u00e9todo a ser publicado. Voc\u00ea pode optar entre publicar toda a configura\u00e7\u00e3o ou selecionar alguns processos na configura\u00e7\u00e3o.
publishConfigRadioButton_text=Publicar toda a configura\u00e7\u00e3o
publishProcessesRadioButton_text=Publicar processos selecionados:
includeBaseProcessesCheckboxLabel_text=Publicar processos base referenciados

# Select Publishing Options Wizard Page
selectPublishingOptionsWizardPage_title=Selecionar op\u00e7\u00f5es de publica\u00e7\u00e3o
selectPublishingOptionsWizardPage_text=Selecione as op\u00e7\u00f5es de publica\u00e7\u00e3o. Essas op\u00e7\u00f5es ser\u00e3o utilizadas para customizar a apar\u00eancia e comportamento do Web site publicado.
titleAndLinksGroup_text=T\u00edtulo e links
titleLabel_text=T\u00edtulo:
aboutHTMLLabel_text=Sobre o conte\u00fado:
feedbackURLLabel_text=URL de feedback:
glossaryAndIndexGroup_text=Gloss\u00e1rio e \u00cdndice
publishGlossaryLabel_text=Publicar Gloss\u00e1rio
publishIndexLabel_text=Publicar \u00cdndice
lookAndFeelGroup_text=Apar\u00eancia e Comportamento
bannerImageLabel_text=Imagem de banner:
validationGroup_text=Valida\u00e7\u00e3o
checkExternalLinksLabel_text=Verificar hyperlinks externos
convertBrokenLinksLabel_text=Converter hyperlinks quebrados para texto sem formata\u00e7\u00e3o
diagramGroup_text=Diagramas
publishActivityDetailDiagramsLabel_text=Publicar diagramas de detalhes de atividade que n\u00e3o tenham sido criados manualmente
publishExtendedActivityDiagramsLabel_text=Publicar diagramas de atividades para extens\u00f5es de atividade n\u00e3o modificadas
layoutGroup_text=Layout
publishLightWeightTreeLabel_text=Mostrar subpastas de relacionamento nas \u00e1rvores de navega\u00e7\u00e3o
publishExtraDescriptorInfoLabel_text=Incluir conte\u00fado de m\u00e9todo nas p\u00e1ginas do descritor
publishEmptyCategoriesLabel_text=Publicar categorias sem elementos categorizados
publishWebSiteGroup_text=Web site publicado
browsingLayoutGroup_text=Layout de Navega\u00e7\u00e3o
showRelatedDescriptors_text=Uso do processo de publica\u00e7\u00e3o em p\u00e1ginas de fun\u00e7\u00e3o, tarefa e produto de trabalho vinculando a descritores relacionados
showRelatedLinks_text=Mostrar elementos relacionados para fun\u00e7\u00f5es, tarefas e produtos de trabalho nas \u00e1rvores de navega\u00e7\u00e3o
showRelatedDescriptors_option_text=Mostrar todas as ocorr\u00eancias indiretas (em verde) em padr\u00f5es estendidos
showDescriptorsInNavigationTree_text=Mostrar descritores de tarefas nas \u00e1rvores de navega\u00e7\u00e3o
selectDefaultActivityTab_text=Guia padr\u00e3o das p\u00e1ginas de atividade:

# Select Destination Wizard Page
selectDestinationWizardPage_title=Selecionar diret\u00f3rio de destino e formato do Web site
selectDestinationWizardPage_text=Selecione o diret\u00f3rio de destino e o formato do Web site publicado.
dirLabel_text=Diret\u00f3rio:
webAppGroup_text=Formato do Web site
staticWebSiteRadioButton_text=Web site est\u00e1tico
dynamicWebAppRadioButton_text=Aplicativo da Web Java EE compactado em um arquivo WAR (requer o Java Servlet 2.3 ou posterior compat\u00edvel com o cont\u00eainer do servlet)
includeSearchCheckbox_text=Incluir recurso de pesquisa
webApplicationNameLabel_text=Nome do aplicativo da Web:

destinationDirectoryGroup_text=Diret\u00f3rio de destino
pathLabel_text=Caminho:
useDefaultPathCheckbox_text=Utilizar caminho padr\u00e3o
useDefaultFeedbackLabel_text=Use a URL de feedback padr\u00e3o

includeSearchCheckbox_text=Inclua o recurso de procura (requer o cont\u00eainer do servlet)
includeSearchesLabel_text=Incluir recurso de pesquisa
clientSideSearchRadioButton_text= Procura no lado do cliente (requer o suporte do applet Java no navegador)
serverSideSearchRadioButton_text= Procura no lado do servidor (requer o Cont\u00eainer do servlet)
generateWARFileLabel_text=Gere o arquivo WAR (Web ARchive)

useAppletCheckbox_text=Suportar customiza\u00e7\u00e3o de visualiza\u00e7\u00e3o (exige suporte a applet Java no navegador)

siteCustomizationWizardPage_title=Customizar Web Site
siteCustomizationWizardPage_text=Customize a apar\u00eancia e comportamento do Web site
themeAndSkinGroup_text=Tema e Capa
showBannerCheckbox_text=Exiba o banner
selectSkinLabel_text=Selecione a capa:

# FIXME! Should these be warning messages?
# Information Message
invalidViewsInfo_msg=As visualiza\u00e7\u00f5es a seguir na configura\u00e7\u00e3o ''{0}'' n\u00e3o ser\u00e3o publicadas:
invalidViewContributorInfo_msg={0}: A visualiza\u00e7\u00e3o \u00e9 um contribuidor
invalidViewSameViewInfo_msg={0}: Essa visualiza\u00e7\u00e3o \u00e9 uma duplica\u00e7\u00e3o de outra visualiza\u00e7\u00e3o

capabilityPatterns_text=Padr\u00f5es de Recurso
deliveryProcesses_text=Processos de Entrega

# Publishing Preference Page
preferencePage_defaultPath_text=Caminho padr\u00e3o:

# Role Diagram Preference Page
elementSpacingGroup_text=Espa\u00e7amento entre os elementos tarefa e produto de trabalho
tasksHorizonalSpacingLabel_text=Espa\u00e7amento Horizontal:
tasksVerticalSpacingLabel_text=Espa\u00e7amento Vertical:
elementTextLabelGroup_text=Identifica\u00e7\u00e3o dos Elementos
maxLineOfTextLabel_text=M\u00e1ximo de linhas de texto:

# Role Diagram Preference Page Error Messages
invalidHorizonalSpacingError_msg=O espa\u00e7amento horizontal deve ser um inteiro com valor entre {0} a {1}.
invalidVerticalSpacingError_msg=O espa\u00e7amento vertical deve ser um inteiro com valor entre {0} a {1}.
invalidTextLinesError_msg=O n\u00famero de linhas de texto deve ser um inteiro com valor entre {0} a {1}.

# Confirmation Dialogs
publishConfigDialog_title=Configura\u00e7\u00e3o de M\u00e9todo de Publica\u00e7\u00e3o
confirmPathDialog_text=O caminho de destino foi resolvido para ''{0}''. Deseja continuar?
overwriteDialog_text=O caminho de destino ''{0}'' j\u00e1 existe. Todos os arquivos na pasta ser\u00e3o exclu\u00eddos. Deseja continuar?
cancelPublishConfig_msg=A opera\u00e7\u00e3o de publica\u00e7\u00e3o foi cancelada.
# Error Dialogs
previewConfigError_title=Visualiza\u00e7\u00e3o de Configura\u00e7\u00e3o de M\u00e9todo Publicado
viewReportError_title=Visualizar Relat\u00f3rio de Publica\u00e7\u00e3o

# Error Messages
missingViewError_msg=IUPP0100E: A configura\u00e7\u00e3o selecionada n\u00e3o cont\u00e9m uma visualiza\u00e7\u00e3o v\u00e1lida. Edite a configura\u00e7\u00e3o e inclua uma visualiza\u00e7\u00e3o, ou selecione outra configura\u00e7\u00e3o.
cannotPublishError_msg=IUPP0101E: N\u00e3o \u00e9 poss\u00edvel publicar a configura\u00e7\u00e3o selecionada.
invalidPathError_msg=IUPP0102E: O caminho de destino est\u00e1 em branco ou \u00e9 inv\u00e1lido.
invalidPathCharsError_msg=IUPP0103E: O caminho de destino n\u00e3o pode conter estes caracteres: \\ # * ? " < > | ! % /
publishConfigError_msg=IUPP0104E: A configura\u00e7\u00e3o selecionada n\u00e3o foi publicada com \u00eaxito.
previewConfigError_msg=IUPP0105E: Imposs\u00edvel abrir um navegador de HTML para visualizar a configura\u00e7\u00e3o publicada.
viewReportError_msg=IUPP0106E: Imposs\u00edvel abrir um navegador de HTML para visualizar o relat\u00f3rio de publica\u00e7\u00e3o.
webAppNameError_msg=IUPP0107E: O nome do aplicativo da Web deve ser especificado.
webAppNameCharsError_msg=IUPP0108E: O nome do aplicativo da Web n\u00e3o pode conter estes caracateres: \\ # * ? " < > | ! % /
invalidAboutPathError_msg=IUPP0109E: O caminho \u00e9 inv\u00e1lido.
invalidAboutPathCharsError_msg=IUPP0110E: O caminho n\u00e3o pode conter estes caracteres: # * ? " < > | ! % /

# Error Reasons & Recommended Actions
publishConfigError_reason=Clique em Detalhes para obter informa\u00e7\u00f5es adicionais.
deleteFilesError_reason=O caminho de destino ''{0}'' cont\u00e9m arquivos que n\u00e3o podem ser exclu\u00eddos.\n\nFeche este di\u00e1logo e especifique outro caminho.
createDirError_reason=N\u00e3o \u00e9 poss\u00edvel criar o caminho de destino ''{0}''.\n\nFeche este di\u00e1logo e especifique outro caminho.
openBrowserError_reason=N\u00e3o foi poss\u00edvel detectar ou localizar o navegador de HTML padr\u00e3o neste sistema.\n\nFeche este di\u00e1logo e abra o arquivo ''{0}'' manualmente com um navegador de HTML.
