# 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

# Complete new strings need translation.
previous_name_null1=N\u00e3o \u00e9 permitido desfazer uma altera\u00e7\u00e3o de nome se o nome anterior for nulo.
err_name_empty=O nome n\u00e3o pode estar vazio. Especifique um nome v\u00e1lido.
moveAction_label=Mover

AbstractDiagram_Select_text=Selecionar
AbstractDiagram_Select_tooltip=Selecionar n\u00f3 ou link
AbstractDiagram_AddNode_title=Incluir N\u00f3
AbstractDiagram_AddNode_err_msg=IXRD0002W: A inclus\u00e3o de um n\u00f3 no diagrama falhou
AbstractDiagram_Link_text=Link
AbstractDiagram_Link_select=Selecionar Link
AbstractDiagram_Link_tooltip=Criar novo Link
ActivityDiagram_StartNode_text=N\u00f3 de In\u00edcio
ActivityDiagram_StartNode_tooltip=Criar um N\u00f3 de In\u00edcio
AbstractDiagram_FreeText_text=Texto Livre
AbstractDiagram_FreeText_tooltip=Criar Novo Texto Livre
ActivityDiagram_SyncBar_text=Barra de Sincroniza\u00e7\u00e3o
ActivityDiagram_SyncBar_tooltip=Criar Nova Barra de Sincroniza\u00e7\u00e3o
ActivityDiagram_DecisionNode_text=N\u00f3 de Decis\u00e3o
ActivityDiagram_DecisionNode_tooltip=Criar um N\u00f3 de Decis\u00e3o
ActivityDiagram_EndNode_text=N\u00f3 de Extremidade
ActivityDetailDiagram_prefix=Detalhe da Atividade:
ActivityDiagram_EndNode_tooltip=Criar um N\u00f3 de Extremidade
ActivityDiagram_Activity_text=Atividade
ActivityDiagram_Activity_tooltip=Criar uma Atividade
ActivityDiagram_Iteration_text=Itera\u00e7\u00e3o
ActivityDiagram_Iteration_tooltip=Criar uma Itera\u00e7\u00e3o
ActivityDiagram_Phase_text=Fase
ActivityDiagram_Phase_tooltip=Criar uma Fase
AbstractDiagram_TaskDescriptor_text=Descritor de Tarefas
AbstractDiagram_RoleDescriptor_text=Descritor da Fun\u00e7\u00e3o
WorkProductDependencyDiagram_prefix=Diagrama de Depend\u00eancia de Produto de Trabalho:
AbstractDiagram_RoleDescriptor_tooltip=Criar um Descritor de Fun\u00e7\u00f5es
AbstractDiagram_TaskDescriptor_tooltip=Criar um Descritor de Tarefas
ActvitivityDiagram_DeliveryProcess_text=Processo de Entrega
ActvitivityDiagram_CapabilityPattern_text=Padr\u00e3o de Recurso
ActvitivityDiagram_Phase_tex=Fase
ActvitivityDiagram_Iteration_text=Itera\u00e7\u00e3o
ActvitivityDiagram_Activity_text=Atividade
AbstractDiagram_WorkProductDescriptor_text=Descritor do Produto de Trabalho
AbstractDiagram_WorkProductDescriptor_tooltip=Criar um Descritor de Produtos de Trabalho

AbstractDiagramEditor_alignMenu_text=Alinhar
AbstractDiagramEditor_refreshFromBaseActivity_text=Atualizar a partir da Atividade de Base
AbstractDiagramEditor_formatTextBoxActivity_text=Formatar Caixa de Texto...
AbstractDiagramEditor_hAlignAverageAction_text=Horizontalmente para a M\u00e9dia
AbstractDiagramEditor_hAlignFirstSelectedAction_text=Horizontalmente para o Primeiro Selecionado
AbstractDiagramEditor_vAlignAverageAction_text=Verticalmente para a M\u00e9dia
AbstractDiagramEditor_vAlignFirstSelectedAction_text=Verticalmente para o Primeiro Selecionado
AbstractDiagramEditor_Save_text=Salvar
AbstractDiagramEditor_Save_message=Salvando {0}
AbstractDiagramEditor_MoveNode_label=Mover N\u00f3
AbstractDiagramEditorrefreshfrombase=Atualizar a Partir da Base
AbstractDiagram_BendPoint_create=Criar Ponto de Curvatura

ActivityDiagram_openActivityDetailDiagram_text=Abrir Diagrama de Detalhes de Atividades
refreshAction_label=Atualizar
refreshFromBaseCmd_label=Atualizar a Partir da Base
diagram_saveError=IUPD0001W: Ocorreu uma falha ao salvar o diagrama

DeleteDiagram_text=Excluir Diagrama
DeleteDiagram_prompt=Tem certeza de que quer fechar e excluir este diagrama?\nEsta altera\u00e7\u00e3o \u00e9 permanente e n\u00e3o pode ser desfeita.
DeleteDiagram_AD=Diagrama de Atividades
DeleteDiagram_ADD=Diagrama de Detalhes de Atividades
DeleteDiagram_WPDD=Diagrama de Depend\u00eancia de Produto de Trabalho
DeleteDiagram_prompt_new=Tem certeza de que deseja excluir o {0}?\nEsta altera\u00e7\u00e3o \u00e9 permanente e n\u00e3o pode ser desfeita.
align_bend_point_text=Alinhar Ponto de Curvatura
ConfigurationEditorInput_configeditor0=Editor de Configura\u00e7\u00e3o
diagram_node_property_value_problem_msg=Erro no valor da propriedade do n\u00f3.
diagram_errorDialog_title=Erro

ActivityDetailDiagramEditor_ResetDiagramLayout_text=Reconfigurar Layout do Diagrama
errorDialog_title=Erro
command_cannotEdit=IUPD0003E: N\u00e3o \u00e9 poss\u00edvel editar o diagrama

AbstractDiagramEditor_ParentEditorClose_title=Editor Pai Fechado
AbstractDiagramEditor_ParentEditorClose_text=O {0} foi fechado. Deseja fechar {1}?

#Below three strings moved from AuthoringUI resources.properties.
DiagramValidation_err_cannot_connect_text=IUPA0032W: Imposs\u00edvel conectar
DiagramValidation_err_samepredandsuc_text=IUPA0033W: N\u00e3o \u00e9 poss\u00edvel ter o mesmo elemento de divis\u00e3o como predecessor e sucessor
DiagramValidation_err_cannot_delete_text=Imposs\u00edvel excluir
deleteCommand_label=Excluir
deleteLinkCommand_label=Excluir Conex\u00e3o

ActivityDiagram_Milestone_text=Marco
ActivityDiagram_Milestone_tooltip=Criar um Marco
ActivityDiagram_Join_Node_text=N\u00f3 de Jun\u00e7\u00e3o
ActivityDiagram_Join_Node_tooltip=Criar um N\u00f3 de Jun\u00e7\u00e3o
ActivityDiagram_Merge_Node_text=N\u00f3 de Combina\u00e7\u00e3o
ActivityDiagram_Merge_Node_tooltip=Criar um N\u00f3 de Mesclagem
ActivityDiagram_Fork_Node_text=N\u00f3 de Bifurca\u00e7\u00e3o
ActivityDiagram_Fork_Node_tooltip=Criar um N\u00f3 de Bifurca\u00e7\u00e3o
ActivityDiagram_Partition_Node_text=Parti\u00e7\u00e3o de Atividade
ActivityDiagram_Palette_flows_title=Fluxos
ActivityDiagram_Palette_nodes_titles=N\u00f3s
ActivityDiagram_Palette_flows_create_text=Ferramentas de cria\u00e7\u00e3o para os fluxos
ActivityDiagram_Palette_nodes_group_text=Grupo de ferramentas de cria\u00e7\u00e3o para os n\u00f3s
ActivityDiagram_Palette_control_flow_text=Fluxo de Controle
ActivityDiagram_Palette_control_flow_create_text=Criar um Fluxo de Controle
ActivityDiagram_Partition_Node_tooltip=Criar uma Parti\u00e7\u00e3o de Atividade

ActivityDiagram_New_Task_Descriptor=Novo Descritor de Tarefa
ActivityDiagram_New_Milestone=Novo Marco
WPDD_New_WorkProductDescriptor=Novo Descritor de Produto de Trabalho
ActivityDiagram_New_Activity=Nova Atividade
ActivityDiagram_New_Phase=Nova Fase
ActivityDiagram_New_Iteration=Nova Itera\u00e7\u00e3o
Progress_Saving_message=Salvando {0}
Warning_Saving_Diagram=IUPD0001W: Ocorreu uma falha ao salvar o diagrama

ActivityDiagram_kind=Diagrama de Atividades
ActivityDetail_Diagram_kind=Diagrama de Detalhes de Atividades
WorkProductDependency_Diagram_kind=Diagrama de Depend\u00eancia de Produto de Trabalho
WPDD_Palette_control_flow_text=Depend\u00eancia de Produto de Trabalho
WPDD_Palette_control_flow_create_text=Criar uma Depend\u00eancia de Produto de Trabalho
