# 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
UDT_text=UDT
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

