#-------------------------------------------------------------------------------
# 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=Importa\u00e7\u00e3o do EPF
providerName=Eclipse.org

# Import Wizard Category
importCategoryName=M\u00e9todo

# Import Library Configuration Wizard
importLibraryConfigurationWizardName=Configura\u00e7\u00e3o de Biblioteca
importLibraryConfigurationWizardText=Importar uma configura\u00e7\u00e3o de biblioteca.

# Import Method Plug-ins Wizard
importMethodPluginsWizardName=Plug-ins de M\u00e9todo
importMethodPluginsWizardText=Importar um ou mais plug-ins de m\u00e9todo.



               
