#-------------------------------------------------------------------------------
# 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

# Plug-in
pluginName=RCP do EPF Composer
productName=EPF Composer
providerName=Eclipse.org

# Category
methodCategoryName=M\u00e9todo

# Views
welcomeViewName=Bem-vindo

# Actions
globalActionSet=Conjunto de A\u00e7\u00f5es Globais
newAction=&Novo
newActionTooltip=Novo
openAction=A&brir...
openActionTooltip=Abrir
searchAction=&Procurar...
searchActionTooltip=Procurar
welcomeAction=&Bem-vindo
welcomeActionToolTip=Bem-vindo

# Tooltips
shortcut.overview.tooltip=Retornar para a p\u00e1gina de Vis\u00e3o Geral
shortcut.tutorials.tooltip=Retornar para a p\u00e1gina do Tutorial
shortcut.firststeps.tooltip=Retornar para a p\u00e1gina de Primeiras Etapas
shortcut.webresources.tooltip=Retornar para a p\u00e1gina de Recursos da Web 

#Action Set
actionSet.description = A\u00e7\u00f5es da Barra de Ferramentas do Sistema de Ajuda
actionSet.label = Sistema de Ajuda
searchAction.label = Ajuda da Procura
searchAction.tooltip = Ajuda da Procura
dynamicHelpAction.label = Ajuda Din\u00e2mica
dynamicHelpAction.tooltip = Ajuda Din\u00e2mica
#Activities/Capabilities
activity.general=Importar e Exportar Projetos e Recursos
activity.general.desc=Utilize os recursos padr\u00e3o de Importa\u00e7\u00e3o/Exporta\u00e7\u00e3o de Projetos/Recursos do Eclipse.
activity.team.cvs=Suporte CVS
activity.team.cvs.desc=Utilize o CVS (Concurrent Versions System) para gerar recursos.
activity.team=Equipe de Suporte Principal
activity.team.desc=Compartilhe projetos utilizando sistemas de gerenciamento de configura\u00e7\u00e3o.

activity.cat.general=Geral
activity.cat.general.desc=Utilize os recursos padr\u00e3o do Eclipse.
activity.cat.team=Equipe
activity.cat.team.desc=Utilize sistemas de gerenciamento de configura\u00e7\u00e3o para gerenciar recursos.

PreferencePages.Capabilities = Recursos
PreferencePages.Capabilities.activityName = &Recursos
PreferencePages.Capabilities.categoryName = &Recursos
PreferencePages.Capabilities.activityPromptButton = &Avisar ao ativar recursos
PreferencePages.Capabilities.activityPromptButtonTooltip = Avisar quando um recurso utilizado pela primeira vez exigir ativa\u00e7\u00e3o de recursos
PreferencePages.Capabilities.captionMessage = Recursos permitem ativar ou desativar v\u00e1rios componentes de produto.  Esses recursos s\u00e3o agrupados de acordo com um conjunto de categorias predefinidas.
