#-------------------------------------------------------------------------------
# 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
#
# Message ID Range:
#

# Export XML Wizard
exportXMLWizard_title=Exportar XML

# Select Export Type Wizard Page
selectExportTypePage_desc=Seleccione el tipo de contenido de la biblioteca de m\u00e9todos para exportar.
exportLibraryRadioButton_text=Exportar la biblioteca de m\u00e9todos entera
exportPluginsRadioButton_text=Exportar uno o m\u00e1s plug-ins de m\u00e9todo
exportConfigsRadioButton_text=Exportar una configuraci\u00f3n de m\u00e9todo

# Select Destination XML File Wizard Page
selectXMLFilePage_title=Especificar archivo de exportaci\u00f3n
selectXMLFilePage_desc=Especifique un archivo XML de destino para almacenar el contenido de la biblioteca de m\u00e9todos exportada.
fileLabel_text=Archivo XML:
browseButton_text=Examinar...

# Overwrite Confirmation Dialog
overwriteText_msg=''{0}'' ya existe.\n\u00bfDesea sobrescribirlo?

# Progress Messages
exportingXML_text=Exportando contenido de biblioteca de m\u00e9todos a archivo XML...

# Error Messages
invalidXMLFile_error=El archivo XML especificado no es v\u00e1lido.
exportXMLWizard_error=IUPM0000E: La exportaci\u00f3n ha fallado: {0}
exportXMLWizard_reviewLog=La exportaci\u00f3n ha concluido. Revise los archivos de registro bajo el directorio de exportaci\u00f3n.
exportXMLService_error=Error al exportar la biblioteca: {0}
exportXMLService_feature_error=Error al establecer el valor de la caracter\u00edstica: Elemento={0}, caracter\u00edstica={1}
xmlLibrary_error_load_xml=No se ha podido cargar el archivo origen XML ''{0}''
xmlLibrary_no_plugin=No hay ning\u00fan plug-in de m\u00e9todo para el ID {0}
xmlLibrary_no_feature=No se ha podido obtener la caracter\u00edstica XML para {0}_{1}
xmlLibrary_no_class=No se ha podido obtener EClass para {0}
xmlLibrary_error_create_element=Error al crear el elemento, no se sabe c\u00f3mo establecer el valor para la caracter\u00edstica {0}
xmlLibrary_error_set_value=Error al crear elemento, no se puede establecer el valor {0} en el contenedor {1}
xmlLibrary_invalid_feature_value=Valor de caracter\u00edstica de atributo no v\u00e1lido para la caracter\u00edstica {0}, con el valor {1}
xmlLibrary_error_set_value_2=Error al establecer atributo, no se puede establecer el valor para la caracter\u00edstica={0}, objeto={1}, valor={2}
xmlLibrary_error_set_value_3=No se sabe c\u00f3mo establecer el valor para la caracter\u00edstica={0}, objeto={1}, valor={2}
xmlLibrary_error_set_reference=Error al establecer referencia, no se puede establecer el valor para la caracter\u00edstica={0}, objeto={1}, valor={2}
xmlLibrary_error_process_wrong_container=El proceso ''{0}'' no tiene un contenedor v\u00e1lido. El contenedor es del tipo ''{1}'', que no es un paquete de proceso.
xmlLibrary_new_id=El elemento {0} se ha asignado con un ID nuevo {1} porque no tiene uno v\u00e1lido
xmlLibrary_id_not_unique=M\u00e1s de un elemento utiliza el ID de elemento ''{0}''


