# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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

################################################################################
# BEGIN NO TRANSLATION
################################################################################

# Role diagram fonts and layout
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name=Arial
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_ja=\u30c0\u30a4\u30a2\u30ed\u30b0
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_ko=\ub300\ud654 \uc0c1\uc790
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_zh=\u5bf9\u8bdd\u6846
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_zh_TW=Di\u00e1logo
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32=Arial
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_ja=MS Gothic
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_ko=\uad74\ub9bc\uccb4
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_zh=\u9ed1\u4f53
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_zh_TW=\u7d30\u660e\u9ad4
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_size=10
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_size_win32=10
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_xMargin=200
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_xSpacing=70
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_ySpacing=30

################################################################################
# END NO TRANSLATION
################################################################################

unknown_text=Desconhecida

# Error Reasons
emptyLibraryPathError_reason=O caminho da biblioteca de m\u00e9todos est\u00e1 vazio.
missingLibraryFileError_reason=O arquivo de modelo de biblioteca de m\u00e9todos est\u00e1 ausente.
unresolvedProxyError_reason=A biblioteca de m\u00e9todos selecionada cont\u00e9m refer\u00eancias de elementos n\u00e3o resolvidas. Isso geralmente \u00e9 causado por arquivos XMI ausentes ou colocados em local incorreto na pasta da biblioteca.\n\nFeche este di\u00e1logo e torne vis\u00edvel a visualiza\u00e7\u00e3o Problemas para ajudar a identificar as refer\u00eancias n\u00e3o resolvidas. Para evitar corromper a biblioteca, \u00e9 altamente recomend\u00e1vel resolver essas refer\u00eancias primeiro, antes de incluir mais altera\u00e7\u00f5es na biblioteca.

# Warning Messages
configClosureWarning_msg1=IUPL0007W: H\u00e1 refer\u00eancias ausentes em um ou mais elementos filhos
configClosureWarning_msg2=IUPL0008W: Este elemento deveria ser selecionado para resolver uma ou mais refer\u00eancias ausentes
configClosureWarning_msg3=IUPL0009W: Este elemento referencia um ou mais elementos em um pacote n\u00e3o-selecionado

ElementError_missing_element=''{0}'' faz refer\u00eancia ao elemento ausente ''{1}''
ElementError_contributor_missing_base=''{0}'' contribui ao elemento base ausente ''{1}''
ElementError_extender_missing_base=''{0}'' estende o elemento base ausente ''{1}''
ElementError_replacer_missing_base=''{0}'' substitui o elemento base ausente ''{1}''
ElementError_missing_primary_performer=''{0}'' faz refer\u00eancia ao executor principal ausente ''{1}''
ElementError_missing_mandatory_input=''{0}'' faz refer\u00eancia \u00e0 entrada obrigat\u00f3ria ausente ''{1}''
ElementError_missing_output=''{0}'' faz refer\u00eancia \u00e0 sa\u00edda ausente ''{1}''
ElementError_missing_responsible_for_workProduct=''{0}'' faz refer\u00eancia ao respons\u00e1vel ausente pelo produto de trabalho ''{1}''
ElementError_having_multiple_replacers=''{0}'' possui v\u00e1rios substituidores: ''{1}''

# Error Messages
loadResourcesError_msg=IUPL0000E: A biblioteca de m\u00e9todos foi carregada, mas alguns erros foram detectados.
unsupportedGuidanceTypeError_msg=IUPL0001E: Esta orienta\u00e7\u00e3o n\u00e3o pode ser convertida em outro tipo.
convertGuidanceError_msg=IUPL0002E: Esta orienta\u00e7\u00e3o n\u00e3o pode ser convertida no tipo de destino.
saveConvertedGuidanceError_msg=IUPL0003E: N\u00e3o \u00e9 poss\u00edvel salvar a orienta\u00e7\u00e3o convertida ''{0}''.

# Convert activity
convertActivityError_title=Converter Erro de Tipo de Atividade
convertActivityError_msg=IUPL0006E: Esta atividade n\u00e3o pode ser convertida para o tipo de destino.
saveConvertedActivityError_msg=IUPL0007E: A atividade convertida ''{0}'' n\u00e3o pode ser salva.

# Error Reasons
error_reason=IUPL0004E: Ocorreu um erro. Clique em OK para obter informa\u00e7\u00f5es adicionais.
unsupportedGuidanceTypeError_reason=N\u00e3o existe um tipo de orienta\u00e7\u00e3o compat\u00edvel para {0}.
invalidLibraryPathError_reason=Caminho de biblioteca inv\u00e1lido. N\u00e3o foi poss\u00edvel criar o arquivo .project.
couldNotLockLibrary_reason=N\u00e3o foi poss\u00edvel bloquear a biblioteca.

# Progress Messages
copyingAttachmentsTask_name=Copiando anexos...

# Convert Guidance Dialog
convertGuidanceDialog_title=Converter Tipo de Orienta\u00e7\u00e3o
convertGuidanceDialog_text=Selecione o tipo de orienta\u00e7\u00e3o de destino.

# Guidance type names for Convert Guidance Dialog
checklist_text=Lista de Verifica\u00e7\u00e3o
concept_text=Conceito
example_text=Exemplo
guideline_text=Diretriz
estimate_text=Estimar
estimatingMetric_text=M\u00e9trica Estimativa
estimationConsiderations_text=Considera\u00e7\u00f5es Sobre Estimativas
report_text=Relat\u00f3rio
template_text=Modelo
supportingMaterial_text=Material Suportado
toolMentor_text=Mentor de Ferramentas
whitepaper_text=White paper
termDefinition_text=Defini\u00e7\u00e3o de Termo
practice_text=Pr\u00e1tica
reusableAsset_text=Recurso Reutiliz\u00e1vel

#activity breakdown info strings
ActivityLayout_primaryTasks_text=Executa como Propriet\u00e1rio
ActivityLayout_additionalTasks_text=Executa como Adicional
ActivityLayout_assistTasks_text=Executa como Assistente

# Convert Guidance Error Messages
convertGuidanceError_title=Erro de Convers\u00e3o de Tipo de Orienta\u00e7\u00e3o

# Load Resources Error Dialog
loadResourcesError_title=Erro de Abertura de Biblioteca de M\u00e9todos
loadResourcesError_reason=N\u00e3o foi poss\u00edvel carregar alguns recursos da biblioteca.\n\nClique em Detalhes para revisar os erros e resolv\u00ea-los antes de incluir mais altera\u00e7\u00f5es na biblioteca.

# Role Diagrams
roleDiagramPerforms_text=desempenha
roleDiagramResponsibleFor_text=respons\u00e1vel por

DefaultContentValidator_MSG0=Elemento referenciado: {0}
DefaultContentValidator_MSG1=Informa\u00e7\u00e3o: {0}
DefaultContentValidator_MSG4=Aviso: {0}
DefaultContentValidator_MSG7=Erro: {0}
DefaultContentValidator_MSG10=Elemento referenciado ausente {0}
DefaultContentValidator_MSG11=N\u00e3o foi poss\u00edvel localizar o elemento para o guid {0}
DefaultContentValidator_MSG12=O arquivo ''{0}'' referencia o recurso ausente ''{1}''
DefaultContentValidator_MSG15=arquivo de recursos ausente ''{0}''
DefaultContentValidator_MSG17=N\u00e3o foi poss\u00edvel conectar com a URL ''{0}''
DefaultContentValidator_MSG19=N\u00e3o foi poss\u00edvel conectar com a URL ''{0}'': {1}
ImportExportUtil_MSG8=N\u00e3o foi poss\u00edvel localizar o arquivo ''{0}''.
ImportExportUtil_MSG9=N\u00e3o foi poss\u00edvel criar o diret\u00f3rio tempor\u00e1rio ''{0}''.
unknownGuidance_text=Desconhecida

CopyAttachmentsToNewLocation_log_noContentPath=CopyAttachmentsToNewLocation.HandleAttachmentsPlugin: n\u00e3o existe contentPath para {0}
LibraryModificationHelper_cannotUpdate=IUPL0006W: N\u00e3o \u00e9 poss\u00edvel atualizar {0} {1}
warningDlg_title=Aviso
errorDlg_title=Erro
errorDlg_saveError=IUPL0005E: Erro ao salvar altera\u00e7\u00e3o no arquivo ''{0}''

# activity diagram names
activityDiagramName=Diagrama de Atividades: {0}
activityDetailDiagramName=Diagrama de Detalhes da Atividade: {0}
wpDependencyDiagramName=Diagrama de Depend\u00eancia do Produto de Trabalho: {0}

# localize the value based on locale.  for example, 
# for English, the value is ". "
#colon_with_space=: 
# for French, the value is " . ", you need to use a \ to preserve the leading space
#colon_with_space=\ : 
# for Chinese, the colon should be double bytes
# Don't trim the spaces after the colon.
colon_with_space=: 

oldToolVersion_err_msg=Esta vers\u00e3o do {0} n\u00e3o \u00e9 compat\u00edvel com seu arquivo de biblioteca ''{2}''. \u00c9 necess\u00e1rio fazer upgrade do {0} para a vers\u00e3o {1} ou superior para abri-lo.
toolVersionMismatch_err_msg=Esta vers\u00e3o do {0} n\u00e3o \u00e9 compat\u00edvel com seu arquivo de biblioteca ''{2}''. \u00c9 necess\u00e1rio fazer upgrade de {0} para uma vers\u00e3o superior para abri-lo.
libUpgradeRequired_err_msg=A biblioteca especificada precisa sofre upgrade para a nova estrutura de biblioteca. Abra a biblioteca a sofrer upgrade e tente novamente.

WorkProductSlot_text=Slot de Produto de Trabalho

libraryProblemMonitor=Monitor de Problema de Biblioteca

references_unresolved_base_txt=refer\u00eancias de plug-in de base n\u00e3o resolvidas

configFreeProcessView_title=Visualiza\u00e7\u00e3o do Processo sem Configura\u00e7\u00e3o
systemCreatedCustomCategory_brief=Esta \u00e9 uma categoria customizada criada pelo sistema para agrupar elementos do mesmo tipo.

UndeclaredDep_MarkerTxt0=Depend\u00eancia de plug-in n\u00e3o declarado
UndeclaredDep_MarkerTxt1=Depend\u00eancia de plug-in n\u00e3o declarado de ''{0}'' para
UndeclaredDep_MarkerTxt2=Elementos que afetam:

