# 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

# Method Element Names (Singular)
activity_text=Atividade
artifact_text=Artefato
capabilityPattern_text=Padr\u00e3o de Recurso
checklist_text=Lista de Verifica\u00e7\u00e3o
checkItem_text=Item de Verifica\u00e7\u00e3o
compositeRole_text=Papel de Composi\u00e7\u00e3o
concept_text=Conceito
contentPackage_text=Pacote de Conte\u00fado
customCategory_text=Categoria Personalizada
deliverable_text=Distribu\u00edvel
deliveryProcess_text=Processo de Entrega
descriptor_text=Descritor
discipline_text=Disciplina
disciplineGrouping_text=Agrupamento de Disciplina
domain_text=Dom\u00ednio
estimate_text=Estimar
estimatingMetric_text=M\u00e9trica Estimativa
estimationConsiderations_text=Considera\u00e7\u00f5es Sobre Estimativas
example_text=Exemplo
guidance_text=Orienta\u00e7\u00e3o
guideline_text=Diretriz
iteration_text=Itera\u00e7\u00e3o
methodConfiguration_text=Configura\u00e7\u00e3o de M\u00e9todo
methodContent_text=Conte\u00fado do M\u00e9todo
methodLibrary_text=Biblioteca de M\u00e9todos
methodPackage_text=Pacote de M\u00e9todo
methodPlugin_text=Plug-in de M\u00e9todo
milestone_text=Marco
outcome_text=Resultado
phase_text=Fase
practice_text=Pr\u00e1tica
process_text=Processo
processContribution_text=Processo Diferencial
processFamily_text=Fam\u00edlia de Processo
processPackage_text=Pacote de Processo
report_text=Relat\u00f3rio
reusableAsset_text=Recurso Reutiliz\u00e1vel
roadmap_text=Roteiro
roleDescriptor_text=Descritor da Fun\u00e7\u00e3o
role_text=Fun\u00e7\u00e3o
roleSet_text=Configura\u00e7\u00e3o de Fun\u00e7\u00f5es
roleSetGrouping_text=Agrupamento de Configura\u00e7\u00e3o de Fun\u00e7\u00f5es
standardCategory_text=Categoria Padr\u00e3o
step_text=Etapa
supportingMaterial_text=Material Suportado
task_text=Tarefa
taskDescriptor_text=Descritor de Tarefas
teamProfile_text=Perfil da Equipe
template_text=Modelo
termDefinition_text=Defini\u00e7\u00e3o de Termo
tool_text=Ferramenta
toolMentor_text=Mentor de Ferramentas
whitepaper_text=White paper
workProduct_text=Produto de Trabalho
workProductDescriptor_text=Descritor do Produto de Trabalho
workProductElement_text=Elemento de Produto de Trabalho
workProductType_text=Tipo de Produto de Trabalho

# Method Element Names (Plural)
activity_text_plural=Atividades
artifact_text_plural=Artefatos
capabilityPattern_text_plural=Padr\u00f5es de Recurso
checklist_text_plural=Listas de Verifica\u00e7\u00e3o
checkItem_text_plural=Itens de Verifica\u00e7\u00e3o
compositeRole_text_plural=Fun\u00e7\u00f5es Compostas
concept_text_plural=Conceitos
contentPackage_text_plural=Pacotes de Conte\u00fado
customCategory_text_plural=Categorias Personalizadas
deliverable_text_plural=Distribu\u00edveis
deliveryProcess_text_plural=Processos de Entrega
descriptor_text_plural=Descritores
discipline_text_plural=Disciplinas
disciplineGrouping_text_plural=Agrupamentos de Disciplinas
domain_text_plural=Dom\u00ednios
estimate_text_plural=Estimativas
estimatingMetric_text_plural=M\u00e9tricas de Estimativa
estimationConsiderations_text_plural=Considera\u00e7\u00f5es Sobre Estimativas
example_text_plural=Exemplos
guidance_text_plural=Orienta\u00e7\u00f5es
guideline_text_plural=Orienta\u00e7\u00f5es
iteration_text_plural=Itera\u00e7\u00f5es
methodConfiguration_text_plural=Configura\u00e7\u00f5es de M\u00e9todo
methodContent_text_plural=Conte\u00fados de M\u00e9todo
methodLibrary_text_plural=Bibliotecas de M\u00e9todos
methodPackage_text_plural=Pacotes de M\u00e9todo
methodPlugin_text_plural=Plug-ins de M\u00e9todo
milestone_text_plural=Marcos
outcome_text_plural=Resultados
phase_text_plural=Fases
practice_text_plural=Pr\u00e1ticas
process_text_plural=Processos
processContribution_text_plural=Processos Diferenciais
processFamily_text_plural=Fam\u00edlias de Processo
processPackage_text_plural=Pacotes de Processo
report_text_plural=Relat\u00f3rios
reusableAsset_text_plural=Recursos Reutiliz\u00e1veis
roadmap_text_plural=Mapas de Rotas
roleDescriptor_text_plural=Descritores de Fun\u00e7\u00e3o
role_text_plural=Fun\u00e7\u00f5es
roleSet_text_plural=Conjuntos de Fun\u00e7\u00f5es
roleSetGrouping_text_plural=Agrupamentos de Conjunto de Fun\u00e7\u00f5es
standardCategory_text_plural=Categorias Padr\u00e3o
step_text_plural=Etapas
supportingMaterial_text_plural=Materiais de Suporte
task_text_plural=Tarefas
taskDescriptor_text_plural=Descritores de Tarefa
teamProfile_text_plural=Perfis de Equipe
template_text_plural=Modelos
termDefinition_text_plural=Defini\u00e7\u00f5es de Termos
tool_text_plural=Ferramentas
toolMentor_text_plural=Mentores de Ferramentas
whitepaper_text_plural=White papers
workProduct_text_plural=Produtos de Trabalho
workProductDescriptor_text_plural=Descritores de Produto de Trabalho
workProductElement_text_plural=Elementos de Produto de Trabalho
workProductType_text_plural=Tipos de Produto de Trabalho

# Application title.
application_title={0} - {1}

# Open Method Library Wizard
openLibraryWizard_title=Abrir Biblioteca de M\u00e9todos
openLibraryMainWizardPage_title=Especifique o caminho que cont\u00e9m a biblioteca de m\u00e9todos
openLibraryMainWizardPage_title_2=Selecione uma biblioteca de m\u00e9todos
openLibraryMainWizardPage_text=O {0} armazena m\u00e9todos e processos em uma pasta chamada \numa biblioteca de m\u00e9todos. Selecione uma pasta de biblioteca de m\u00e9todos para utilizar para esta sess\u00e3o.
pathLabel_text=Caminho:
nameLabel_text=Nome:
uriLabel_text=URI:
openUnlistedLibraryCheckbox_text=Abra uma biblioteca de m\u00e9todos que n\u00e3o esteja listada acima
libraryTypeLabel_text=Digite:
libraryLabel_text=Biblioteca:
browseButton_text=Procurar...
promptForLibraryCheckbox_text=Utilizar esta como padr\u00e3o e n\u00e3o perguntar novamente.
openLibraryDialog_newLibrary_text=N\u00e3o h\u00e1 nenhuma biblioteca de m\u00e9todos em ''{0}''.\nUma nova biblioteca de m\u00e9todos ser\u00e1 criada e aberta para voc\u00ea no diret\u00f3rio especificado.\n\nClique em OK para prosseguir ou Cancelar para especificar outro caminho para biblioteca de m\u00e9todos.
convertToSynProcessLib_msg=Converter em biblioteca sincronizada automaticamente

# Select Method Library Folder Dialog
selectLibraryFolderDialog_title=Selecionar Biblioteca de M\u00e9todos
selectLibraryFolderDialog_text=Selecione uma pasta de biblioteca de m\u00e9todos.

# Open Library Progress Message
openingLibraryTask_name=Abrindo a biblioteca de m\u00e9todos...

# Open Method Library Error Dialog
openLibraryError_msg=IUPL0301E: Imposs\u00edvel criar a biblioteca de m\u00e9todos.
openLibraryInternlError_reason=Ocorreu um erro interno.
openLibraryError_reason1=O caminho da biblioteca de m\u00e9todos especificado ''{0}'' \u00e9 inv\u00e1lido.
openLibraryError_reason2=J\u00e1 existe uma biblioteca de m\u00e9todos em ''{0}''.
openLibraryError_reason3=N\u00e3o \u00e9 poss\u00edvel criar a pasta da biblioteca de m\u00e9todos especificada ''{0}''.
openLibraryError_reason4=A pasta da biblioteca de m\u00e9todos especificada \u00e9 uma pasta de exporta\u00e7\u00e3o de especifica\u00e7\u00e3o de configura\u00e7\u00e3o ou de plug-in.
openLibraryError_advice=Selecione OK para especificar outro caminho da biblioteca de m\u00e9todos.

# Open Method Library Error Messages
invalidLibraryPath_msg=IUPL0302E: N\u00e3o foi poss\u00edvel abrir a biblioteca de m\u00e9todos especificada.
invalidLibraryPath_reason=A pasta da biblioteca de m\u00e9todos selecionada \u00e9 inv\u00e1lida, n\u00e3o existe ou voc\u00ea n\u00e3o tem a permiss\u00e3o correta para acess\u00e1-la.\n\nClique em OK para selecionar outra pasta de biblioteca.

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0304E: ''{0}'' \u00e9 de leitura. Torne-o grav\u00e1vel antes de continuar.
retryButton_text=Repetir
cancelButton_text=Cancelar

# Version Mismatch Dialog
versionMismatchDialog_text=IUPL305E: A biblioteca selecionada n\u00e3o pode ser aberta. \u00c9 necess\u00e1rio fazer upgrade de {0} para a vers\u00e3o {1} ou superior a fim de abrir essa biblioteca.
versionMismatchDialog_text_unknown=IUPL306E: A biblioteca selecionada n\u00e3o pode ser aberta. Voc\u00ea deve fazer upgrade de {0} para uma vers\u00e3o mais recente a fim de abrir essa biblioteca.

# Upgrade Method Library Dialog
upgradeLibraryDialog_title=Fazer Upgrade de Biblioteca de M\u00e9todos
upgradeLibraryDialog_text=A biblioteca selecionada precisa ter upgrade feito para a nova estrutura da biblioteca.\n\nDeseja prosseguir com o upgrade?
upgradingLibraryTask_name=Fazendo upgrade da biblioteca de m\u00e9todos...

# Upgrade Library Error Dialog
upgradeLibraryError_msg=IUPL0306E: Falha ao fazer upgrade da biblioteca de m\u00e9todos. Consulte o arquivo de registro para obter detalhes adicionais.

# Switch Configuration Dialog
switchConfigDialog_title=Alternar Configura\u00e7\u00e3o
switchConfigDialog_text=Deseja alternar a configura\u00e7\u00e3o atual para a configura\u00e7\u00e3o padr\u00e3o, ''{0}'', associada ao processo selecionado?
	
# Configuration Combo
currentConfigLabel_text=Configura\u00e7\u00e3o atual:
selectConfigLabel_text=Selecione uma configura\u00e7\u00e3o

# Delete Files Confirmation Message
deleteFilesConfirmation_msg=O caminho especificado ''{0}'' j\u00e1 existe. Todos os arquivos na pasta ser\u00e3o exclu\u00eddos. Deseja continuar?

# Paths/Files Error Messages
deleteFilesError_reason=O caminho ''{0}'' cont\u00e9m um ou mais arquivos que n\u00e3o podem ser exclu\u00eddos.\n\nSelecione outro caminho e tente novamente.
createPathError_reason=N\u00e3o foi poss\u00edvel criar o caminho ''{0}''.\n\nSelecione outro caminho e tente novamente.
invalidPath_msg=O caminho especificado n\u00e3o \u00e9 v\u00e1lido.
overrideCurrentLibraryError_msg0=N\u00e3o \u00e9 poss\u00edvel exportar para um caminho contendo a biblioteca do m\u00e9todo atual; selecione outro caminho e tente novamente.

# Backup Library Dialog
backupLibraryDialog_title=Fazer Backup da Biblioteca
backupLibraryDialog_text=\u00c9 altamente recomend\u00e1vel fazer backup da biblioteca de m\u00e9todos atual antes de prosseguir.\n\nClique em OK para criar uma c\u00f3pia de backup da biblioteca no diret\u00f3rio especificado. Clique em Ignorar para continuar sem criar o backup.
backingUpLibraryTask_name=Fazendo backup dos arquivos de biblioteca ...

# Copy Library Dialog
copyLibraryDialog_title=Copiar Biblioteca
copyLibraryDialog_text_readOnlyLib=A biblioteca que voc\u00ea est\u00e1 abrindo \u00e9 uma biblioteca padr\u00e3o fornecida com o criador.  \u00c9 altamente recomend\u00e1vel que voc\u00ea fa\u00e7a uma c\u00f3pia de trabalho dessa biblioteca para edi\u00e7\u00e3o.\n\nInsira um local e nome da biblioteca para a nova biblioteca e clique em "Copiar" para fazer uma c\u00f3pia de trabalho.\n\nClique em "Ignorar" para continuar editando a biblioteca padr\u00e3o no local atual. O recurso de edi\u00e7\u00e3o para a biblioteca padr\u00e3o \u00e9 restringido pelas permiss\u00f5es de acesso impingidas por suas plataformas.
copyLibraryTask_name=Fazendo uma c\u00f3pia dos arquivos da biblioteca...
copyLibraryDialog_copyButton_text=Copiar

# Path Selection Dialog
pathSelectionError_msg=N\u00e3o foi poss\u00edvel criar o diret\u00f3rio
okButton_text=OK
skipButton_text=Ignorar

# Process Editor preferences
alwaysButton_text=Sempre
neverButton_text=Nunca
promptButton_text=Avisar

# Add Link Dialog
linkToURL_name=URL
linkToFile_name=Arquivo
elementLink_name=Elemento de M\u00e9todo
elementLinkWithType_name=Elemento de m\u00e9todo com prefixo de tipo
elementLinkWithUserText_name=Elemento de m\u00e9todo com texto personalizado

# Convert Activity Type Dialog
convertActivityDialog_title=Converter Tipo de Atividade
convertActivityDialog_text=Selecionar o tipo de atividade de destino.
unsupportedActivityType_msg=IUPL0307E: Esta atividade n\u00e3o pode ser convertida para outro tipo.
unsupportedActivityType_reason=N\u00e3o h\u00e1 tipo de atividade compat\u00edvel com {0}.

# Select Process Wizard Page
selectProcessWizardPage_title=Selecionar Processo
selectProcessWizardPage_text=Selecione um padr\u00e3o de recurso ou processo de entrega a ser exportado.
processesLabel_text=Processos:
briefDescriptionLabel_text=Descri\u00e7\u00e3o resumida:

# Export Process Wizard Error Message.
noOpenLibraryWarning_msg=IUPL0308E: Nenhuma biblioteca de m\u00e9todos est\u00e1 atualmente aberta. Clique em Cancelar, abra ou crie uma biblioteca de m\u00e9todos, e execute este assistente novamente. 

# Moved from Authoring UI plug-in to avoid Authoring UI dependency
errorDialog_title=Erro
MethodElementDeleteAction_deleteconfirm_text=Tem certeza de que deseja excluir ''{0}''?
confirmDeleteDialog_title=Confirmar Exclus\u00e3o
confirmDeleteDialog_msg=Tem certeza de que deseja excluir ''{0}''?
confirmDeleteDialog_msgWithReference=Tem certeza de que deseja excluir ''{0}''?\n\nOs seguintes elementos cont\u00eam refer\u00eancias aos termos a serem exclu\u00eddos: {1}
ProcessDeleteAction_deletecofirm_text=Isto salvar\u00e1 o editor atual e a altera\u00e7\u00e3o ser\u00e1 permanente. Tem certeza de que deseja excluir ''{0}''?

# Save Method Library Dialog
saveLibraryDialog_title=Salvar Biblioteca de M\u00e9todos
saveLibraryDialog_text=A biblioteca de m\u00e9todos atual foi modificada. Deseja salvar as altera\u00e7\u00f5es?

# Save Method Library Error Messages
saveLibraryError_msg=IUPL0308E: A biblioteca de m\u00e9todos n\u00e3o pode ser salva.
error_reason=Ocorreu um erro.\n\nClique em Detalhes para obter informa\u00e7\u00f5es adicionais.

# ElementTreeContentProvider Strings
elementTCProvider_methodContent=Conte\u00fado do M\u00e9todo
elementTCProvider_contentPackages=Pacotes de Conte\u00fado
elementTCProvider_standardCategories=Categorias Padr\u00e3o
elementTCProvider_disciplines=Disciplinas
elementTCProvider_domains=Dom\u00ednios
elementTCProvider_workProductTypes=Tipos de Produto de Trabalho
elementTCProvider_roleSets=Conjuntos de Fun\u00e7\u00f5es
elementTCProvider_tools=Ferramentas
elementTCProvider_customCategories=Categorias Personalizadas
elementTCProvider_processes=Processos
elementTCProvider_capabilityPatterns=Padr\u00f5es de Recurso
elementTCProvider_deliveryProcesses=Processos de Entrega
