###############################################################################
# Copyright (c) 2003, 2004 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 API and implementation
###############################################################################
1=Um projeto j\u00e1 existe com este nome e local.
2=O projeto EAR especificado "{0}" n\u00e3o \u00e9 um projeto EAR.
3=O projeto EAR "{0}" possui uma J2EEVersion de {1} que n\u00e3o \u00e9 compat\u00edvel com a vers\u00e3o do m\u00f3dulo especificado.
4=O nome do projeto EAR, "{0}", n\u00e3o pode ser o mesmo que o nome do projeto.
5=O nome do arquivo {0} deve ser digitado.
6=O arquivo {0} n\u00e3o existe.
7=Ocorreu um erro interno. Visualize os arquivos de log para obter detalhes.
8=O nome do projeto \u00e9 inv\u00e1lido.
9=O arquivo de destino deve finalizar com {0}.
10=O arquivo de destino \u00e9 inv\u00e1lido.
11=O local de destino \u00e9 somente para leitura.
12=O recurso {0} j\u00e1 existe.  Se voc\u00ea desejar sobrescrever, selecione a op\u00e7\u00e3o "Sobrescrever Arquivo Existente".
13=O projeto {0} n\u00e3o existe.
14=O projeto do conector n\u00e3o \u00e9 suportado para prefer\u00eancia J2EE selecionada. Verifique a prefer\u00eancia global J2EE.
15=Digite um nome de projeto.
16=Salvar problemas
17=Salvamento n\u00e3o p\u00f4de ser conclu\u00eddo. Alguns arquivos relacionados podem j\u00e1 ter sido salvos.\n\n Motivo
18={0} foi bloqueado. Verifique se a opera\u00e7\u00e3o n\u00e3o est\u00e1 executando no momento.
19=O extendedRoot \u00e9 nulo. Verifique se o isExtended() retorna verdadeiro.
20=Propriedade n\u00e3o localizada:
21=Modelo aninhado n\u00e3o localizado:
22=N\u00e3o \u00e9 poss\u00edvel modificar o id uma vez que j\u00e1 foi configurado.
23=O id n\u00e3o pode ser nulo.
24=ERRO:
25=Falha na opera\u00e7\u00e3o estendida: {0}
26=O Trabalho foi conclu\u00eddo com sucesso
27=Ocorreu uma exce\u00e7\u00e3o ao executar o trabalho.
28=O grupo n\u00e3o pode ser resolvido:
29=A classe n\u00e3o foi localizada para o atributo {0} : {1}, Declarando extens\u00e3o de plug-in: {2}
30=O grupo de fun\u00e7\u00e3o {0} n\u00e3o cont\u00e9m nenhuma liga\u00e7\u00e3o padr\u00e3o
31=O projeto {0} est\u00e1 fechado.
32=Um projeto j\u00e1 existe no sistema de arquivos neste local: {0}.  Use "Importar Projetos Existentes no Espa\u00e7o de Trabalho" para criar um projeto neste local ou exclua o conte\u00fado de {0} do sistema de arquivos.
