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

# Error Messages
invalidNameError_msg=O nome ''{0}'' \u00e9 inv\u00e1lido. Um nome de elemento de m\u00e9todo n\u00e3o pode conter estes caracteres: \\ / : * ? " < > |
objNotFoundError_msg=N\u00e3o foi poss\u00edvel localizar o objeto com o id ''{0}''
loadLibraryError_msg=Erros encontrados durante o carregamento da biblioteca de m\u00e9todos:
loadLibraryError_details=\ \ linha: {0}, coluna: {1}, mensagem: {2}
restoreResourceError_msg=N\u00e3o foi poss\u00edvel restaurar o recurso ''{0}''
FileManager_fileReadOnly=O arquivo ''{0}'' \u00e9 de leitura
ErrMsg_CouldNotDelete=N\u00e3o foi poss\u00edvel excluir {0}. {1}
renameError_msg=N\u00e3o foi poss\u00edvel renomear ''{0}'' para ''{1}''
backupError_msg=N\u00e3o foi poss\u00edvel fazer o backup do recurso ''{0}''
modifyFileError_msg=N\u00e3o foi poss\u00edvel modificar o arquivo ''{0}''
filePathNameTooLong_msg=N\u00e3o \u00e9 poss\u00edvel salvar o recurso. O nome do caminho do arquivo \u00e9 muito longo (excedeu 255) ''{0}''
loadResourceError_msg=N\u00e3o foi poss\u00edvel carregar o recurso ''{0}''
loadResourceErrorWithReason_msg=N\u00e3o foi poss\u00edvel carregar o recurso ''{0}''. Motivo: {1}
invalidLibraryFileError_msg=Arquivo de biblioteca de m\u00e9todos inv\u00e1lido:
fileNotFoundError_msg=N\u00e3o foi poss\u00edvel localizar qualquer arquivo da biblioteca de m\u00e9todos no espa\u00e7o de trabalho ''{0}''
normalizeURIError_msg=N\u00e3o \u00e9 poss\u00edvel localizar o recurso do elemento identificado por ''{0}''
moveError_msg=N\u00e3o foi poss\u00edvel mover ''{0}'' para ''{1}''. O destino j\u00e1 existe.
modifyReadOnlyFileError_msg=N\u00e3o foi poss\u00edvel modificar o(s) arquivo(s) de leitura: {0}
moveResourceError_msg=O recurso ''{0}'' est\u00e1 envolvido em uma opera\u00e7\u00e3o persistente que n\u00e3o foi confirmada.
modifyFilesError_msg=N\u00e3o foi poss\u00edvel modificar um ou mais arquivos
resourceOutOfSynch_msg=O recurso est\u00e1 fora de sincroniza\u00e7\u00e3o e precisa ser recarregado: {0}
resourceAutoRefreshJob_name=Atualiza\u00e7\u00e3o Autom\u00e1tica de Recursos
loadConfiguration_couldNotLoad_logMsg=N\u00e3o foi poss\u00edvel carregar o arquivo: {0}. A configura\u00e7\u00e3o de m\u00e9todo neste arquivo possui GUID duplicado.
loadConfiguration_notConfigFile_logMsg=N\u00e3o \u00e9 um arquivo de configura\u00e7\u00e3o de m\u00e9todo: {0}

# Progress Messages
loadLibraryTask_name=Carregando biblioteca de m\u00e9todos...
moveDataTask_name=Movendo dados...
saveLibraryTask_name=Salvando biblioteca de m\u00e9todos...
loadResourcesTask_name=Carregando todos os recursos na mem\u00f3ria...
migratingDiagram_name=Migrando diagramas...
migrateContentDescriptionsTask_name=Migrando descri\u00e7\u00f5es de conte\u00fado de processos...
fixPresentationNameTask_name=Corrigindo nomes de apresenta\u00e7\u00e3o vazios
UnresolvedProxyMarkerManager_couldNotResolveProxy=N\u00e3o \u00e9 poss\u00edvel localizar o elemento identificado por ''{0}''
refreshLibraryFilesTask_name=Atualizando arquivos de biblioteca no espa\u00e7o de trabalho
cannot_create_dir_msg=N\u00e3o \u00e9 poss\u00edvel criar o diret\u00f3rio ''{0}''.
unresolvedProxyLoggerJob_name=Criando marcadores de erro de carregamento
