#-------------------------------------------------------------------------------
# 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 implementationCorporation. All Rights Reserved.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

# File Name Conflict Dialog
Dialog_fileNameConflict_title=Conflito de Nome de Arquivo
Dialog_fileNameConflict_msg=IUPU0200W: O arquivo ''{0}'' j\u00e1 existe na pasta de recursos da biblioteca de m\u00e9todos ''{1}''.
Dialog_fileNameConflict_note=Nota: Um outro elemento de m\u00e9todo pode fazer refer\u00eancia a este arquivo.
Dialog_fileName_replace_msg=Substituir arquivo existente por novo arquivo
Dialog_fileName_unique_msg=Especifique um nome exclusivo para este novo arquivo
Dialog_fileName_selectAction_label=Selecionar a\u00e7\u00e3o:

# Error Messages
internalError_reason=Ocorreu um erro interno.\n\nClique em Detalhes para obter informa\u00e7\u00f5es adicionais.
initializeWizardError_reason=O assistente n\u00e3o foi inicializado corretamente.
initializeWizardPagesError_reason=Uma ou mais p\u00e1ginas do assistente n\u00e3o foram inicializadas corretamente.
