#-------------------------------------------------------------------------------
# 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: IUPE0000E - IUPE0099E
#

# Export Library Configuration Wizard
exportConfigWizard_title=Exportar Configura\u00e7\u00e3o de Biblioteca
selectExportTypePage_title=Selecionar tipo de exporta\u00e7\u00e3o
selectExportTypePage_desc=Selecione o tipo de configura\u00e7\u00e3o de biblioteca a ser exportada.
selectExportTypePage_configLabel_text=Exportar uma configura\u00e7\u00e3o de m\u00e9todo e todos os seus plug-ins de m\u00e9todo
selectExportTypePage_configSpecsLabel_text=Exportar uma ou mais especifica\u00e7\u00f5es de configura\u00e7\u00e3o de m\u00e9todo
selectConfigPage_title=Selecionar configura\u00e7\u00e3o de m\u00e9todo
selectConfigPage_desc=Selecione uma configura\u00e7\u00e3o de m\u00e9todo para exportar. Todos os plug-ins de m\u00e9todo referenciados na configura\u00e7\u00e3o selecionada ser\u00e3o inclu\u00eddos na exporta\u00e7\u00e3o.
selectConfigPage_configsLabel_text=Configura\u00e7\u00f5es de m\u00e9todo:
selectConfigSpecsPage_title=Selecionar especifica\u00e7\u00f5es de configura\u00e7\u00e3o
selectConfigSpecsPage_desc=Selecione uma ou mais configura\u00e7\u00f5es de m\u00e9todo para exporta\u00e7\u00e3o.
selectConfigSpecsPage_configsLabel_text=Configura\u00e7\u00f5es de m\u00e9todo:
checkConfigPage_title=Revisar erros de configura\u00e7\u00e3o
checkConfigPage_desc=Uma verifica\u00e7\u00e3o de integridade foi executada na configura\u00e7\u00e3o de m\u00e9todo selecionada. Revise o relat\u00f3rio de erros e execute as a\u00e7\u00f5es corretivas necess\u00e1rias.
selectDestinationPage_title=Especificar diret\u00f3rio de exporta\u00e7\u00e3o
selectDestinationPage_desc=Especifique um diret\u00f3rio de destino para armazenar a configura\u00e7\u00e3o exportada.

# Export Method Plug-ins Wizard
exportPluginsWizard_title=Exportar Plug-ins de M\u00e9todo
selectPluginsPage_title=Selecionar plug-ins de m\u00e9todo
selectPluginsPage_desc=Selecione um ou mais plug-ins de m\u00e9todo para exporta\u00e7\u00e3o.
selectPluginsPage_pluginsLabel_text=Plug-ins de m\u00e9todo:
reviewPluginsPage_title=Revisar depend\u00eancias
reviewPluginsPage_desc=Selecione cada plug-in de m\u00e9todo para revisar suas depend\u00eancias. Clique em Voltar para selecionar os plug-ins dependentes se eles precisarem ser inclu\u00eddos na exporta\u00e7\u00e3o.
reviewPluginsPage_pluginsLabel_text=Plug-ins de M\u00e9todo:
reviewPluginsPage_dependentPluginsLabel_text=Plug-ins de m\u00e9todo dependentes:
reviewPluginsPage_associatedConfigsLabel_text=Configura\u00e7\u00f5es de m\u00e9todo associadas:
exportPluginSummaryPage_title=Confirmar exporta\u00e7\u00e3o
exportPluginSummaryPage_desc=Confirme os plug-ins de m\u00e9todo que ser\u00e3o exportados.
exportPluginSummaryPage_noPlugin_text=Nenhum plug-in de m\u00e9todo foi selecionado.
specifyPathPage_title=Especificar diret\u00f3rio de exporta\u00e7\u00e3o
specifyPathPage_desc=Especifique um diret\u00f3rio de destino para armazenar os plug-ins de m\u00e9todo exportados.
SavePluginPage_desc=Exporte os Plug-ins e as Configura\u00e7\u00f5es selecionados para o diret\u00f3rio de destino especificado.
ExportPluginWizard_title=Erro do Assistente de Exporta\u00e7\u00e3o de Plug-in de M\u00e9todo
ExportPluginError_msg=IUPE0000E: Erro encontrado na exporta\u00e7\u00e3o

# Export Library Configuration Error Dialog
exportConfigErrorDialog_title=Exportar Configura\u00e7\u00e3o de Biblioteca
exportConfigErrorDialog_msg=IUPE0001E: N\u00e3o \u00e9 poss\u00edvel prosseguir a opera\u00e7\u00e3o de exporta\u00e7\u00e3o.

# Progress Messages
analyzingConfigTask_name=Analisando a configura\u00e7\u00e3o da biblioteca...

# The following messages have not been reviewed.
ConfigurationSpecsExportService_MSG0=Exportando configura\u00e7\u00e3o...
ConfigurationSpecsExportService_MSG1=Exporta\u00e7\u00e3o conclu\u00edda.
ExportConfigCheckingPage_summary_1=Verificando a integridade da configura\u00e7\u00e3o selecionada...\n
ExportConfigCheckingPage_summary_2=Nenhuma configura\u00e7\u00e3o selecionada.\n
ExportConfigCheckingPage_summary_3=N\u00e3o existe nenhum problema na configura\u00e7\u00e3o selecionada.\n
ExportConfigCheckingPage_summary_4=Existem {0} problemas na configura\u00e7\u00e3o selecionada. \nAbra o editor de configura\u00e7\u00e3o e corrija esses problemas. \nOu opte por ignorar esses problemas e continuar.
ExportConfigCheckingPage_checking=Verificando a configura\u00e7\u00e3o, aguarde...
ExportConfigSelectConfigPage_title=Escolher Configura\u00e7\u00e3o de M\u00e9todo
DestinationCommonPage_label_browse=Procurar...
DestinationCommonPage_label_default_dir=Utilizar diret\u00f3rio padr\u00e3o
ConfigurationExportService_MSG0=Exportando configura\u00e7\u00e3o...
ConfigurationExportService_MSG2=IUPE0002E: Falha na exporta\u00e7\u00e3o: Erro ao carregar biblioteca
ConfigurationExportService_MSG4=IUPE0003E: Falha na exporta\u00e7\u00e3o: Erro ao copiar biblioteca
ConfigurationExportService_MSG1=IUPE0004E: Falha na exporta\u00e7\u00e3o: Erro ao fazer o fechamento da configura\u00e7\u00e3o da biblioteca
ConfigurationExportService_MSG9=IUPE0005E: Falha na exporta\u00e7\u00e3o: Erro ao salvar biblioteca
DestinationCommonPage_label_name=Nome:
DestinationCommonPage_label_dir=Diret\u00f3rio:
ExportPluginWizard_error=Erro
DestinationCommonPage_title=T\u00edtulo Padr\u00e3o
DestinationCommonPage_desc=Descri\u00e7\u00e3o Padr\u00e3o:
PluginExportService_MSG0=Exportando plug-ins...
PluginExportService_MSG1=Criando diret\u00f3rio de exporta\u00e7\u00e3o...
PluginExportService_MSG2=Copiando arquivos...
PluginExportService_MSG3=Gerando biblioteca e arquivo de recursos...
PluginExportService_MSG4=Exporta\u00e7\u00e3o conclu\u00edda.
SaveLibraryPage_title=Exportar Plug-in de M\u00e9todo
SavePluginPage_label_name=Nome da exporta\u00e7\u00e3o:
SaveLibraryPage_desc=Exporte os plug-ins de m\u00e9todo selecionados e as configura\u00e7\u00f5es associadas
ExportPluginWizard_MSG1=Analisando a configura\u00e7\u00e3o da biblioteca...
