#-------------------------------------------------------------------------------
# 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

filePath=Caminho do arquivo
cannotWriteToFiles=N\u00e3o \u00e9 poss\u00edvel gravar no(s) arquivo(s)
readOnlyFiles_title=Arquivo(s) de leitura
readOnlyFiles_msg=Os arquivos listados nos Detalhes s\u00e3o de leitura. Torne-os grav\u00e1veis e clique em Tentar Novamente para continuar.
elementPath=Caminho de Elemento
promptRemoveReferencesToMissingFiles_msg=Os arquivos a seguir est\u00e3o ausentes. Clique em OK se desejar remover todas as refer\u00eancias aos arquivos selecionados na biblioteca
missingFiles_title=Arquivo(s) ausente(s)
loadError=Erro de carregamento
promptRemoveReferencesToFilesWithLoadErrors_msg=O(s) seguinte(s) arquivo(s) n\u00e3o p\u00f4de(puderam) ser carregado(s). Clique em OK se desejar remover todas as refer\u00eancias aos arquivos selecionados na biblioteca
filesWithLoadErrors_title=Arquivo(s) com erro de carregamento
