#------------------------------------------------------------------------------
# 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
################################################################################
# START NO TRANSLATION
################################################################################
# TODO: manually put keys and values
UMLDiagramEditorUtil_OpenModelResourceErrorDialogTitle=Erro
UMLDiagramEditorUtil_OpenModelResourceErrorDialogMessage=Falha ao carregar o arquivo de modelo {0}
UMLDiagramEditorUtil_CreateDiagramProgressTask=Criando arquivos de diagrama e de modelo
UMLDiagramEditorUtil_CreateDiagramCommandLabel=Criando diagrama e modelo
UMLDocumentProvider_isModifiable=Falha ao atualizar cache
UMLDocumentProvider_handleElementContentChanged=Falha ao atualizar hierarquia de recurso alterado
UMLDocumentProvider_IncorrectInputError={1}
UMLDocumentProvider_UnableToLoadResourceError=Imposs\u00edvel carregar o recurso do diagrama
UMLDocumentProvider_NoDiagramInResourceError=O diagrama n\u00e3o est\u00e1 presente no recurso
UMLDocumentProvider_DiagramLoadingError=Erro ao carregar o diagrama
UMLDocumentProvider_UnsynchronizedFileSaveError=O arquivo foi alterado no sistema de arquivos
UMLDocumentProvider_SaveDiagramTask=Salvando diagrama
UMLDocumentProvider_SaveNextResourceTask=Salvando {0}
UMLInitDiagramFileAction_InitDiagramFileResourceErrorDialogTitle=Erro
UMLInitDiagramFileAction_InitDiagramFileResourceErrorDialogMessage=Falha ao carregar o arquivo de modelo
UMLInitDiagramFileAction_InitDiagramFileWizardTitle=Inicializar novo arquivo de diagramas {0}
UMLInitDiagramFileAction_OpenModelFileDialogTitle=Selecionar Modelo de Dom\u00ednio
UMLNewDiagramFileWizard_CreationPageName=Inicializar novo arquivo de diagramas
UMLNewDiagramFileWizard_CreationPageTitle=Arquivo de Diagramas
UMLNewDiagramFileWizard_CreationPageDescription=Criar novo diagrama com base no conte\u00fado de modelo {0}
UMLNewDiagramFileWizard_RootSelectionPageName=Selecionar Elemento-raiz do Diagrama
UMLNewDiagramFileWizard_RootSelectionPageTitle=Elemento-raiz do Diagrama
UMLNewDiagramFileWizard_RootSelectionPageDescription=Selecionar elemento de modelo sem\u00e2ntico a ser descrito no diagrama
UMLNewDiagramFileWizard_RootSelectionPageSelectionTitle=Selecionar Elemento-raiz do Diagrama:
UMLNewDiagramFileWizard_RootSelectionPageNoSelectionMessage=O elemento-raiz do diagrama n\u00e3o est\u00e1 selecionado
UMLNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage=Elemento-raiz do diagrama inv\u00e1lido est\u00e1 selecionado
UMLNewDiagramFileWizard_InitDiagramCommand=Inicializando conte\u00fado do diagrama
UMLNewDiagramFileWizard_IncorrectRootError=Objeto modelo incorreto armazenado como um objeto de recurso-raiz
Flows1Group_title=Fluxos
Flows1Group_desc=Ferramentas de cria\u00e7\u00e3o para os fluxos
Nodes2Group_title=N\u00f3s
Nodes2Group_desc=Grupo de ferramentas de cria\u00e7\u00e3o para os n\u00f3s
ControlFlow1CreationTool_title=Fluxo de Controle
ControlFlow1CreationTool_desc=Criar novo Fluxo de Controle
ActivityPartition1CreationTool_title=Parti\u00e7\u00e3o de Atividade
ActivityPartition1CreationTool_desc=Criar nova Parti\u00e7\u00e3o de Atividade
StartNode2CreationTool_title=N\u00f3 de In\u00edcio
StartNode2CreationTool_desc=Criar novo N\u00f3 Inicial
ForkNode3CreationTool_title=N\u00f3 de Bifurca\u00e7\u00e3o
ForkNode3CreationTool_desc=Criar novo N\u00f3 de Bifurca\u00e7\u00e3o
MergeNode4CreationTool_title=N\u00f3 de Combina\u00e7\u00e3o
MergeNode4CreationTool_desc=Criar novo N\u00f3 de Mesclagem
DecisionNode5CreationTool_title=N\u00f3 de Decis\u00e3o
DecisionNode5CreationTool_desc=Criar novo N\u00f3 de Decis\u00e3o
EndNode6CreationTool_title=N\u00f3 de Extremidade
EndNode6CreationTool_desc=Criar novo N\u00f3 de Extremidade
JoinNode7CreationTool_title=N\u00f3 de Jun\u00e7\u00e3o
JoinNode7CreationTool_desc=Criar novo N\u00f3 de Jun\u00e7\u00e3o
Activity9CreationTool_title=Atividade
Activity9CreationTool_desc=Criar nova Atividade
Phase10CreationTool_title=Fase
Phase10CreationTool_desc=Criar nova Fase
Iteration11CreationTool_title=Itera\u00e7\u00e3o
Iteration11CreationTool_desc=Criar nova Itera\u00e7\u00e3o
TaskDescriptor12CreationTool_title=Descritor de Tarefas
TaskDescriptor12CreationTool_desc=Criar novo Descritor de Tarefas
Milestone13CreationTool_title=Marco
Milestone13CreationTool_desc=Criar novo Marco
ActivityPartitionPartitionCampartmentEditPart_title=PartitionCampartment
ActivityPartitionPartitionCampartment2EditPart_title=PartitionCampartment
CommandName_OpenDiagram=Abrir Diagrama
################################################################################
# END NO TRANSLATION
################################################################################
