# 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

# Generic Dialog Titles
moveDialog_title=Mover
deleteDialog_title=Excluir Elemento
errorDialog_title=Erro
errorDialog_cannotRename=Imposs\u00edvel renomear {0} ''{1}'' para ''{2}''. Resolva o problema mostrado em Detalhes e clique em OK para continuar ou em Cancelar para interromper esta opera\u00e7\u00e3o.

# Confirm References Removal Dialog
deleteReferencesDialog_title=Confirmar Remo\u00e7\u00e3o de Refer\u00eancias
deleteReferencesDialog_text=Os elementos que voc\u00ea est\u00e1 prestes a excluir ainda est\u00e3o sendo referenciados por outros elementos na biblioteca de m\u00e9todos. A exclus\u00e3o desses elementos remover\u00e1 refer\u00eancias a eles, portanto, tamb\u00e9m atualizar\u00e1 os elementos que fazem as refer\u00eancias. Certifique-se de ter permiss\u00e3o para atualizar os elementos que fazem as refer\u00eancias antes de clicar em OK. Clique em Detalhes para revisar a lista de elementos que referenciam os elementos que voc\u00ea est\u00e1 prestes a excluir.

# Resolve Name Conflict Dialog
resolveNameConflictDialog_title=Resolver Conflito de Nomes de Elementos
resolveNameConflictDialog_text=Digite um novo {0} para ''{1}'':

# Select Deliverables Dialog
selectDeliverablesDialog_title=Selecionar Distribu\u00edveis
selectDeliverablesDialog_text=Selecione um distribu\u00edvel no qual voc\u00ea deseja que o produto de trabalho ''{0}'' seja designado.

# New Process Component Dialog
newProcessComponentDialog_title=Novo Componente de Processo
nameLabel_text=Nome:
defaultConfigLabel_text=Configura\u00e7\u00e3o Padr\u00e3o:
baseProcessLabel_text=Processo de Base:
basedOnProcessesLabel_text=Baseado nos Processos:
SpecifyNameText=Especifique um nome v\u00e1lido.

# Role Association Dialog
selectAssociationLabel_text=Selecionar associa\u00e7\u00e3o para a tarefa ''{0}''

# Remove Association dialog
removeAssociationDialog_text=Remover Associa\u00e7\u00e3o

# Select Teams Dialog
selectTeamsDialog_title=Selecionar Equipes
selectTeamsDialog_text=Selecione uma equipe na qual voc\u00ea deseja que uma fun\u00e7\u00e3o ''{0}'' seja designada.

# Task Selection Dialog
taskSelectionDialog_title=Sele\u00e7\u00e3o de Tarefas
titleLabel_text=Selecionar tarefas...

# Error Messages
emptyElementNameError_msg=IUPL0100E: O nome {0} \u00e9 necess\u00e1rio.\nTodos os elementos de m\u00e9todo e de processo devem ter um nome.\nDigite um nome v\u00e1lido e tente novamente.
emptyElementNameError_simple_msg=O nome n\u00e3o pode estar vazio. Especifique um nome v\u00e1lido.
duplicateElementNameError_msg=IUPL0101E: O nome ''{0}'' j\u00e1 existe.\nUm elemento de m\u00e9todo deve ter um nome exclusivo.\nDigite um nome diferente e tente novamente.
duplicateElementNameError_msg2=Digite um nome diferente e tente novamente.
duplicateElementNameError_simple_msg=O nome j\u00e1 existe. Especifique outro nome.
invalidElementNameError1_msg=IUPL0102E: O nome ''{0}'' \u00e9 inv\u00e1lido.\nUm nome de elemento de m\u00e9todo n\u00e3o pode iniciar com um espa\u00e7o.\nDigite um nome v\u00e1lido e tente novamente.
invalidElementNameError2_msg=IUPL0103E: O nome ''{0}'' \u00e9 inv\u00e1lido.\nUm nome de elemento de m\u00e9todo n\u00e3o pode terminar com um ponto.\nDigite um nome v\u00e1lido e tente novamente.
invalidElementNameError3_msg=IUPL0104E: O nome ''{0}'' \u00e9 inv\u00e1lido.\nUm nome de elemento de m\u00e9todo n\u00e3o pode conter estes caracteres: \\ / : * ? " < > ; | [ ] #\nInsira um nome v\u00e1lido e tente novamente.
invalidElementNameError4_msg=IUPL0105E: O nome ''{0}'' \u00e9 inv\u00e1lido.\nUm nome de elemento de m\u00e9todo n\u00e3o pode conter o caractere: & \nDigite um nome v\u00e1lido e tente novamente.
invalidPluginNameError_msg=IUPL0121E: O nome ''{0}'' \u00e9 inv\u00e1lido.\nUm nome de plug-in de m\u00e9todo n\u00e3o pode conter estes caracteres: \\ / : * ? " < > ; | # % ''\nDigite um nome v\u00e1lido e tente novamente.
filePathNameTooLong_msg=Nome do caminho do arquivo longo demais (excedendo ''{0}'') 
noConfigError_msg=A biblioteca de m\u00e9todos atual n\u00e3o cont\u00e9m nenhuma configura\u00e7\u00e3o de m\u00e9todo.\n\u00c9 necess\u00e1ria uma configura\u00e7\u00e3o de m\u00e9todo para criar um novo processo.\nCrie uma configura\u00e7\u00e3o de m\u00e9todo e tente novamente.
noDeliveryProcessError_msg=IUPL0106E: A biblioteca de m\u00e9todos atual n\u00e3o cont\u00e9m nenhum processo de entrega.\n\u00c9 necess\u00e1rio um processo de entrega de base para criar uma nova contribui\u00e7\u00e3o de processo.\nCrie um processo de entrega e tente novamente.
noDefaultConfigError_msg=IUPL0107E: Nenhuma configura\u00e7\u00e3o de m\u00e9todo foi selecionada.\nUma configura\u00e7\u00e3o de m\u00e9todo padr\u00e3o deve ser designada para o novo processo.\nSelecione uma configura\u00e7\u00e3o de m\u00e9todo e tente novamente.
noBaseProcessError_msg=IUPL0108E: Nenhum processo de entrega foi selecionado.\nUma contribui\u00e7\u00e3o de processo exige um processo de entrega de base.\nSelecione um processo de entrega e tente novamente.
createProcessError_msg=IUPL0109E: N\u00e3o \u00e9 poss\u00edvel criar o processo com \u00eaxito.
createElementError_msg=IUPL0110E: N\u00e3o \u00e9 poss\u00edvel criar o elemento com \u00eaxito.
deleteElementError_msg=IUPL0111E: N\u00e3o \u00e9 poss\u00edvel excluir o elemento com \u00eaxito.
duplicateContentFileError_msg=IUPL0112E: O arquivo de conte\u00fado do elemento n\u00e3o pode ser criado ou renomeado de modo a corresponder ao nome do elemento.\n\nJ\u00e1 existe um arquivo ''{0}''.\n\nDigite um nome diferente e tente novamente.
duplicateContentFileError_simple_msg=Existe um arquivo de conte\u00fado com o mesmo nome. Especifique outro nome.
undoCommandError_msg=IUPL0113E: N\u00e3o \u00e9 poss\u00edvel concluir o comando de desfazer ''{0}''.\n\nOcorreu um erro: {1}
invalidPredecessorError_msg=IUPL0114E: O \u00edndice de predecessor especificado \u00e9 inv\u00e1lido.\n\nUm \u00edndice de predecessor deve ser um valor inteiro da coluna '\u00cdndice'.\n\nEspecifique um valor v\u00e1lido e tente novamente.
UserInteractionHelper_errRelationshipExists=IUPL0100W: ''{0}'' j\u00e1 est\u00e1 associado a ''{1}''.  Somente uma associa\u00e7\u00e3o deste tipo \u00e9 permitida. Para designar ''{0}'' para ''{2}'', primeiro \u00e9 necess\u00e1rio remov\u00ea-lo de ''{1}''.
error_msgWithDetails=IUPL0116E: Ocorreu um erro. Clique em Detalhes para obter informa\u00e7\u00f5es adicionais.
error_msg=IUPL0117E: Ocorreu um erro. Consulte o registro de erros para obter detalhes adicionais.
Suppression_nameDuplication=IUPL0118E: Ocorrer\u00e1 um conflito de nomes ap\u00f3s esta opera\u00e7\u00e3o. Procure por duplica\u00e7\u00f5es no nome do elemento e tente novamente.
Suppression_presentationNameDuplication=IUPL0119E: Ocorrer\u00e1 um conflito de nomes ap\u00f3s esta opera\u00e7\u00e3o. Procure por duplica\u00e7\u00f5es no nome de apresenta\u00e7\u00e3o e tente novamente.

# Error Reasons
error_reason=Ocorreu um erro. Clique em Detalhes para obter informa\u00e7\u00f5es adicionais.
saveProcessError_reason=Ocorreu um erro ao salvar o processo ''{0}''. Clique em Detalhes para obter informa\u00e7\u00f5es adicionais.
deleteReferencesError_reason=Ocorreu um erro ao remover refer\u00eancias associadas a este elemento. Clique em Detalhes para obter informa\u00e7\u00f5es adicionais.
saveFileError_reason=Ocorreu um erro ao salvar o arquivo ''{0}''. Clique em Detalhes para obter informa\u00e7\u00f5es adicionais.
invalidReferencesError_reason=Foram detectados elementos de m\u00e9todo com refer\u00eancias inv\u00e1lidas como resultado de c\u00f3pia entre plug-ins.\nEssas refer\u00eancias ser\u00e3o removidas. Deseja continuar?
unresolvedObjectError_reason=Imposs\u00edvel modificar um objeto n\u00e3o resolvido: {0}(URI = {1}){2}

# Warning messages
MethodElementAddCommand_originalNotFoundWarning_msg=IUPL0118W: N\u00e3o foi poss\u00edvel localizar um ou mais elementos de origem. Os arquivos associados na pasta de recursos n\u00e3o ser\u00e3o copiados.
ActivityAddCommand_originalNotFoundWarning_msg=IUPL0119W: N\u00e3o foi poss\u00edvel localizar um ou mais elementos de origem. Os Pacotes de Processo associados n\u00e3o ser\u00e3o copiados.
ActivityDropCommand_deepCopy_promptConfigurationMsg=Deseja copiar todos os descritores?\n\nClicar em N\u00e3o copiar\u00e1 somente os descritores que fazem parte da configura\u00e7\u00e3o atual.
deepCopy_promptMsg=Voc\u00ea obter\u00e1 uma c\u00f3pia de todos os elementos vinculados dinamicamente que precisa manter separadamente de agora em diante. Deseja continuar?
deepCopy_title=C\u00f3pia Detalhada

# Progress messages
creatingProcessComponentTask_name=Criando o componente de processo ''{0}''...
processingReferencesTask_name=Processando refer\u00eancias...
deletingElementsTask_name=Excluindo elementos e arquivos associados...
checkingReferencesTask_name=Verificando refer\u00eancias...
removingReferencestask_name=Removendo refer\u00eancias...
savingModifiedFilesTask_name=Salvando arquivos modificados...
checkAffectedResourcesTask_name=Verificando recursos afetados...
movingTask_name=Movendo...
movingFilesTask_name=Movendo arquivos...
copyingResourcesTask_name=Copiando recursos...
copyingActivities_msg=Copiando atividade ''{0}''
savingFileTask_name=Salvando o arquivo ''{0}''...
savingResources_msg=Salvando recursos

# UI Text
element_text=elemento
createElement_text=Criar Elemento
createProcess_text=Criar Processo
contributesTo_text=Contribui para
localContributesTo_text=Contribui localmente para
extends_text=Extens\u00f5es
replaces_text=Substitui
extends_replaces_text=Estende e Substitui
localReplaces_text=Substitui localmente
localReplacementAndDeepCopy_text=Substitui\u00e7\u00e3o Local e C\u00f3p&ia Detalhada
elementType_text={0}:{1}
deliverables_text=Distribu\u00edveis
contributeToActivity_text=Contribuir para Atividade
ActivityDropCommand_label=Atividade de Queda
replaceActivity_text=Substituir Atividade
file_text=arquivo
directory_text=diret\u00f3rio
unresolved_text=(''{0}'' n\u00e3o resolvido)
assists_text=Executor de Assist\u00eancia
unknown_text=Desconhecido
command_done=Conclu\u00eddo

# The following UI text should be reviewed.
Util_labelpath_variabilitywithplugin_info={0} ({1} ''{2}'' em ''{3}'')
Util_labelpath_variability_info={0} ({1} ''{2}'')
ui_ref_delete=O descritor ''{0}'' tem as refer\u00eancias a seguir, que n\u00e3o s\u00e3o utilizadas em nenhum lugar.\nSelecione aquelas que voc\u00ea deseje excluir:
ui_ref_delete2=As seguintes refer\u00eancias n\u00e3o est\u00e3o sendo utilizadas em nenhum lugar.\nSelecione aquelas que voc\u00ea deseje excluir:
ui_references=Refer\u00eancias
ui_workproduct_descriptor_description=O descritor de produto de trabalho ''{0}'' est\u00e1 associado (Sa\u00edda De) ao descritor de tarefa ''{1}''
ui_workproductdescriptor_options=Op\u00e7\u00f5es
ui_workproductdescriptor_outputlabel=Remover descritor de produto com sa\u00edda do descritor de tarefa
ui_workproductdescriptor_delete_task=Excluir descritor de tarefa da atividade
ui_UserInteractionHelper_defaultconfigcheck=O elemento selecionado ''{0}'' n\u00e3o est\u00e1 na configura\u00e7\u00e3o padr\u00e3o do processo.\nDeseja inclu\u00ed-lo e suas depend\u00eancias na configura\u00e7\u00e3o padr\u00e3o?
ui_UserInteractionHelper_genericErr_message_text=Ocorreram erros na opera\u00e7\u00e3o. Clique em Detalhes para obter informa\u00e7\u00f5es adicionais.
ProcessAutoSynchronizeAction_noDescriptorToSynch=N\u00e3o foi localizado nenhum descritor com elemento de m\u00e9todo vinculado para sincronizar.
util_configurablecomposedadapter_refershingviewer=Erro ao atualizar o visualizador
confirm_remove_references_text=Os elementos listados em Detalhes podem ter refer\u00eancias ilegais  para esta orienta\u00e7\u00e3o depois da convers\u00e3o. Clique em OK para remov\u00ea-los e continue.
confirmDescriptorsDeletion_title=Confirmar a Exclus\u00e3o de Descritores
confirmDescriptorsDeletion_msg=O(s) elemento(s) que voc\u00ea est\u00e1 prestes a excluir ainda est\u00e1(\u00e3o) sendo referenciado(s) por descritores na biblioteca de m\u00e9todos. Clique em Sim se tamb\u00e9m desejar excluir esses descritores. Certifique-se de ter permiss\u00e3o para excluir os descritores antes de clicar em Sim. Clique em Detalhes para revisar a lista de descritores que referenciam o(s) elemento(s) que voc\u00ea est\u00e1 prestes a excluir.
util_configurablecomposedadapter_unhandled_exception=Exce\u00e7\u00e3o n\u00e3o manipulada
util_ProcessUtil_err_same_breakdown_element=N\u00e3o \u00e9 poss\u00edvel ter o mesmo elemento de divis\u00e3o como predecessor e sucessor
ui_UserInteractionHelper_wplistdlg_msg=O produto de trabalho ''{0}'' \u00e9 uma sa\u00edda para as seguintes tarefas.\nSelecione as tarefas para as quais deseje criar os descritores correspondentes.
ui_UserInteractionHelper_rolelistdlg_msg=A fun\u00e7\u00e3o ''{0}'' tem os seguintes produtos de trabalho respons\u00e1veis.\nSelecione os produtos de trabalho para os quais deseje criar os descritores correspondentes.
util_configurablecomposedadapter_fatalerr=Erro fatal
ui_UserInteractionHelper_workproducts=Produtos de Trabalho
util_ProcessUtil_err_same_sub_element=N\u00e3o \u00e9 poss\u00edvel vincular um elemento dividido a seus subelementos.
util_ProcessUtil_err_wrong_element=Imposs\u00edvel vincular a um elemento que n\u00e3o seja um elemento de divis\u00e3o de trabalho.
util_ProcessUtil_err_child_element=Imposs\u00edvel vincular um elemento de divis\u00e3o a um de seus filhos.
ui_UserInteractionHelper_tasks=Tarefas
ui_association_task_selection=Sele\u00e7\u00e3o de Tarefas...
util_ProcessUtil_childadapter=\ \ adaptador do filho: 
util_ProcessUtil_err_setparent=N\u00e3o foi poss\u00edvel configurar pai para o filho
util_tngutil_cannot_edit_resource=Imposs\u00edvel editar o recurso.
util_ProcessUtil_contributesto=contribui para ''{0}''
util_ProcessUtil_localContributesto=contribui localmente para ''{0}''
process_extends=estende ''{0}''
process_replaces=substitui ''{0}''
process_localReplaces=substitui localmente ''{0}''
# Filter constants externalized strings.
FilterConstants_disciplines_text=Disciplinas
FilterConstants_disciplinegroupings_text=Agrupamentos de Disciplinas
FilterConstants_whitepapers_text=White papers
FilterConstants_toolmentors_text=Mentores de Ferramentas
FilterConstants_tools_text=Ferramentas
FilterConstants_roles_text=Fun\u00e7\u00f5es
FilterConstants_tasks_text=Tarefas
FilterConstants_reusableassets_text=Recursos Reutiliz\u00e1veis
FilterConstants_all_text=Mais comum
FilterConstants_processes_text=Processos
FilterConstants_activities_text=Atividades
FilterConstants_practices_text=Pr\u00e1ticas
FilterConstants_templates_text=Gabaritos
FilterConstants_workproducts_text=Produtos de Trabalho
FilterConstants_checklists_text=Listas de Verifica\u00e7\u00e3o
FilterConstants_guidelines_text=Orienta\u00e7\u00f5es
FilterConstants_rolesets_text=Conjuntos de Fun\u00e7\u00f5es
FilterConstants_guidance_text=Orienta\u00e7\u00e3o
FilterConstants_concepts_text=Conceitos
FilterConstants_examples_text=Exemplos
FilterConstants_contentpackages_text=Pacotes de Conte\u00fado
FilterConstants_roledescriptors_text=Descritores de Fun\u00e7\u00e3o
FilterConstants_rolesetgropuings_text=Agrupamentos de Conjunto de Fun\u00e7\u00f5es
FilterConstants_taskdescriptors_text=Descritores de Tarefa
FilterConstants_contentelements_text=Elementos de Conte\u00fado
ProcessAutoSynchronizeAction_prepare=Preparando sincroniza\u00e7\u00e3o...
FilterConstants_workproductdescriptors_text=Descritores de Produto de Trabalho
FilterConstants_allcontentelements_text=Todos os Elementos de Conte\u00fado
FilterConstants_supportingmaterials_text=Materiais de Suporte
MethodElementAddCommand_errorSavingFiles=Erro ao salvar arquivo(s)
FilterConstants_customcategories_text=Categorias Personalizadas
FilterConstants_workproducttypes_text=Tipos de Produto de Trabalho
DeleteMethodElementCommand_warningMsg=Exclus\u00e3o conclu\u00edda com aviso
FilterConstants_methodplugins_text=Plug-ins de M\u00e9todo
UserInteractionHelper_lockedPlugin=IUPL0120E: O plug-in ''{0}'' est\u00e1 bloqueado.
FilterConstants_domains_text=Dom\u00ednios
FilterConstants_roadmap_text=Mapas de Rotas
FilterConstants_reports_text=Relat\u00f3rios
AutoSynchronizeCommand_label=S&incroniza\u00e7\u00e3o Padr\u00e3o do Conte\u00fado de M\u00e9todo
ManualSynchronizeCommand_label=Sincroni&za\u00e7\u00e3o Customizada...
SynchronizeCompleteDialog_Title=Sincroniza\u00e7\u00e3o Conclu\u00edda
AutoSynchronizeCommand_sucessful=A sincroniza\u00e7\u00e3o foi conclu\u00edda com \u00eaxito.
selectDescriptorsToDelete_msg=Os seguintes descritores n\u00e3o s\u00e3o utilizados em nenhum lugar ap\u00f3s a exclus\u00e3o dos elementos selecionados.\nSelecione os descritores que voc\u00ea deseja excluir.

CreateProcessComponentCommand_Message=Especifique o nome e configura\u00e7\u00e3o padr\u00e3o do {0} a ser criado.
# UserInteractionHelper
UserInteractionHelper_ProcessPackage_Name=Nome:

# MethodCreateChildCommand
newElement_text=Novo {0}
update_outofsynch_title=Conflito de atualiza\u00e7\u00e3o
update_outofsynch_msg=Os arquivos foram alterados no sistema de arquivos. Deseja sobrescrever as altera\u00e7\u00f5es?
duplicateFeatureValue=N\u00e3o \u00e9 poss\u00edvel ter 2 elementos em ''{0}'' com o mesmo valor para ''{1}''
apply_pattern_error_msg=N\u00e3o \u00e9 poss\u00edvel aplicar a atividade ''{0}'' ao processo ''{1}'' visto que isso resultar\u00e1 numa depend\u00eancia circular.
apply_pattern_error_msg1=N\u00e3o \u00e9 poss\u00edvel aplicar a atividade ''{0}'' ao processo ''{1}'' porque ''{0}'' j\u00e1 possui, como filho, uma ou mais atividades contribu\u00eddas/substitu\u00eddas.
activity_variability_error_msg1=A atividade ''{0}'' n\u00e3o pode definir a variabilidade com um dos seus pais diretos.
activity_variability_error_msg2=A atividade ''{0}'' n\u00e3o pode definir a variabilidade com ''{1}'' porque isso resultar\u00e1 numa depend\u00eancia circular.
activity_variability_error_msg3=N\u00e3o \u00e9 poss\u00edvel substituir um processo de n\u00edvel superior por uma atividade.
activity_deep_copy_variability_prompt=A atividade de origem pode ter contribui\u00e7\u00f5es externas ou substitui\u00e7\u00f5es.\nDeseja copi\u00e1-las tamb\u00e9m?\n\nSe clicar em N\u00e3o, voc\u00ea copiar\u00e1 apenas a atividade original.
activity_variability_error_msg=A atividade ''{0}'' n\u00e3o pode definir a variabilidade com ''{1}'' porque ''{1}'' j\u00e1 tem uma ou mais atividades contribu\u00eddas/substitu\u00eddas como suas filhas.
variability_error_msg=O elemento de variabilidade ''{0}'' n\u00e3o pode definir a variabilidade com ''{1}'' porque isso resultar\u00e1 numa depend\u00eancia circular.
circular_dependency_error_msg=N\u00e3o \u00e9 poss\u00edvel executar a opera\u00e7\u00e3o porque isso resultar\u00e1 numa depend\u00eancia circular.

# Validation messages
variability_element_circular_loop_error_msg=Loop de depend\u00eancia circular detectado ... 
replacing_ancestor_error_msg=Erro ao substituir ancestral detectado.
cannot_copy_or_extend_delivery_process=Imposs\u00edvel copiar ou estender um processo de entrega ou qualquer uma de suas atividades.

# Sort options
SortType_Label=Tipo de Classifica\u00e7\u00e3o:
SortType_Manual=Manual
SortType_Alphabetic=Alfab\u00e9tica
SortType_ReverseAlphabetic=Alfab\u00e9tica Invertida
SortType_MethodType=Tipo de Elemento
WorkOrderTypeAbbreviation_FINISH_TO_START=FS
WorkOrderTypeAbbreviation_FINISH_TO_FINISH=FF
WorkOrderTypeAbbreviation_START_TO_FINISH=SF
WorkOrderTypeAbbreviation_START_TO_START=SS
add_to_default_config_dlg_title=Incluir na Configura\u00e7\u00e3o Padr\u00e3o
