#-------------------------------------------------------------------------------
# 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

# Plug-in
pluginName=EPF - Importieren
providerName=Eclipse.org

# Import Wizard Category
importCategoryName=Methode

# Import Library Configuration Wizard
importLibraryConfigurationWizardName=Bibliothekskonfiguration
importLibraryConfigurationWizardText=Importieren Sie eine Bibliothekskonfiguration.

# Import Method Plug-ins Wizard
importMethodPluginsWizardName=Methoden-Plug-ins
importMethodPluginsWizardText=Importieren Sie eine oder mehrere Methoden-Plug-ins.



               
