# 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=Plug-in de XML de importaci\u00f3n de EPF
providerName=Eclipse.org

# Import XML Wizard
importXMLWizardName=XML
importXMLWizardDescription=Importar contenido de la biblioteca de m\u00e9todos en un archivo XML.
