#-------------------------------------------------------------------------------
# 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
#
# Message ID Range:
#

# Import XML Wizard
importXMLWizard_title=Importar XML

# Select Import XML File Wizard Page
selectXMLFilePage_title=Especificar archivo de importaci\u00f3n
selectXMLFilePage_desc=Especifique el archivo XML en el que se encuentra el contenido de la biblioteca de m\u00e9todos y seleccione la operaci\u00f3n de importaci\u00f3n adecuada que se debe realizar.
fileLabel_text=Archivo XML:
browseButton_text=Examinar...
optionGroup_text=Opci\u00f3n Importar
overwriteRadioButton_text=Sobreescribir el contenido de la biblioteca de m\u00e9todos existente con el contenido importado
mergeRadioButton_text=Fusionar el contenido importado en la biblioteca de m\u00e9todos existente

# Progress Messages
importingXML_text=Importando contenido de la biblioteca XML a la biblioteca de m\u00e9todos actual...

# Import XML Error Dialog
review_log_files=La operaci\u00f3n de importaci\u00f3n se ha completado. Revise los archivos de registro de\nla carpeta ''{0}'' para ver si hay errores.
importXMLError_msg=IUPM0000E: La operaci\u00f3n de importaci\u00f3n no puede continuar.
importXMLError_reason=IUPM0009E: La biblioteca de m\u00e9todos actual es de s\u00f3lo lectura.\n\nAseg\u00farese de que ''{0}'' es grabable o cree una biblioteca de m\u00e9todos nueva y vuelva a intentarlo.

# Error Messages
invalidXMLFile_error=El archivo XML especificado no es v\u00e1lido.
versionMismatch_oldData=IUPM0010E: Una versi\u00f3n anterior {0}) de {1} ha exportado el archivo XML especificado.  Los archivos se deben exportar con la versi\u00f3n actual de {1}.
versionMismatch_oldData_unknown=IUPM0011E: Una versi\u00f3n anterior de {0} ha exportado el archivo XML especificado.  Los archivos se deben exportar con la versi\u00f3n actual de {0}.
versionMismatch_oldTool=IUPM0012E: Una versi\u00f3n m\u00e1s reciente ({0}) de {1} ha exportado el archivo XML especificado. Debe actualizar {1} para importar el archivo.  
versionMismatch_oldTool_unknown=IUPM0013E: No se puede abrir el archivo XML especificado. Debe actualizar {0} para importar el archivo.  

importXMLService_element_not_handled=Elemento no gestionado: {0}
importXMLService_element_without_id=Elemento sin ID: {0}
importXMLService_import_failed=La importaci\u00f3n ha fallado: {0}
importXMLService_missing_plugin=Falta el plug-in necesario {0}
importXMLService_error_missing_plugins=Falta(n) plug-in(s) necesario(s). Compruebe los detalles en los archivos de registro

library_error_no_eclass=Error al crear ContentCategory: No se ha podido obtener EClass para {0}
library_no_package=No se ha podido encontrar el paquete de propiedad del objeto {0}
library_error_create_element=Error al crear el elemento: {0}
library_object_string=objeto {0}, caracter\u00edstica {1}
library_error_set_attribute_2=Error al establecer el atributo: Valor de caracter\u00edstica de atributo no v\u00e1lida {0}
library_error_set_attribute=Error al establecer el atributo del objeto {0}, caracter\u00edstica {1} y valor {2}
library_error_set_attribute_3=Se ignora c\u00f3mo establecer el atributo del objeto {0}, caracter\u00edstica {1} y valor {2}
library_error_set_reference=Error al establecer referencia para la caracter\u00edstica {0}: no hay ning\u00fan elemento con el ID {1}
library_error_set_reference_2=Error al establecer referencia para el objeto {0}, caracter\u00edstica {1} y valor {2}

