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


