#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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

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 Novo 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 Novo N\u00f3 de Decis\u00e3o
ActivityDiagram_EndNode_text=N\u00f3 de Extremidade
ActivityDetailDiagram_prefix=Detalhe do Activity:
ActivityDiagram_EndNode_tooltip=Criar Novo N\u00f3 de Extremidade
ActivityDiagram_Activity_text=Atividade
ActivityDiagram_Activity_tooltip=Criar Nova Atividade
ActivityDiagram_Iteration_text=Itera\u00e7\u00e3o
ActivityDiagram_Iteration_tooltip=Criar Nova Itera\u00e7\u00e3o
ActivityDiagram_Phase_text=Fase
ActivityDiagram_Phase_tooltip=Criar Nova 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 Novo Descritor de Fun\u00e7\u00e3o
AbstractDiagram_TaskDescriptor_tooltip=Criar Novo Descritor de Tarefa
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 Novo Descritor de Produto 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=Ter certeza de que quer fechar e excluir este diagrama?\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_text0=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}?
