#-------------------------------------------------------------------------------
# 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: IUPE0000E - IUPE0099E
#

# Export Library Configuration Wizard
exportConfigWizard_title=Exportar configuraci\u00f3n de la biblioteca
selectExportTypePage_title=Seleccionar tipo de exportaci\u00f3n
selectExportTypePage_desc=Seleccione el tipo de configuraci\u00f3n de la biblioteca para exportar.
selectExportTypePage_configLabel_text=Exportar una configuraci\u00f3n de m\u00e9todo y todos sus plug-ins de m\u00e9todo
selectExportTypePage_configSpecsLabel_text=Exportar una o varias especificaciones de la configuraci\u00f3n de m\u00e9todo
selectConfigPage_title=Seleccionar configuraci\u00f3n de m\u00e9todo
selectConfigPage_desc=Seleccione una configuraci\u00f3n de m\u00e9todo para exportar. Todos los plug-ins de m\u00e9todo con referencias de la configuraci\u00f3n seleccionada se incluir\u00e1n en la exportaci\u00f3n.
selectConfigPage_configsLabel_text=Configuraciones del m\u00e9todo:
selectConfigSpecsPage_title=Seleccionar especificaciones de la configuraci\u00f3n
selectConfigSpecsPage_desc=Seleccione una o varias especificaciones de la configuraci\u00f3n para exportar.
selectConfigSpecsPage_configsLabel_text=Configuraciones del m\u00e9todo:
checkConfigPage_title=Revisar errores de configuraci\u00f3n
checkConfigPage_desc=Se ha realizado una comprobaci\u00f3n de integridad en la configuraci\u00f3n de m\u00e9todo seleccionada. Revise el informe de errores y realice las acciones correctivas necesarias.
selectDestinationPage_title=Especificar directorio de exportaci\u00f3n
selectDestinationPage_desc=Especifique un directorio de destino para almacenar la configuraci\u00f3n exportada.

# Export Method Plug-ins Wizard
exportPluginsWizard_title=Exportar plug-ins de m\u00e9todo
selectPluginsPage_title=Seleccionar plug-ins de m\u00e9todo
selectPluginsPage_desc=Seleccione uno o varios plug-ins de m\u00e9todo para exportar.
selectPluginsPage_pluginsLabel_text=Plug-ins de m\u00e9todo:
reviewPluginsPage_title=Revisar dependencias
reviewPluginsPage_desc=Seleccione cada plug-in de m\u00e9todo para revisar sus dependencias. Pulse Anterior para seleccionar los plug-ins dependientes si es necesario incluirlos en la exportaci\u00f3n.
reviewPluginsPage_pluginsLabel_text=Plug-ins de m\u00e9todo:
reviewPluginsPage_dependentPluginsLabel_text=Plug-ins de m\u00e9todo dependientes:
reviewPluginsPage_associatedConfigsLabel_text=Configuraciones del m\u00e9todo asociadas:
exportPluginSummaryPage_title=Confirmar exportaci\u00f3n
exportPluginSummaryPage_desc=Confirmar los plug-ins de m\u00e9todo que se exportar\u00e1n.
exportPluginSummaryPage_noPlugin_text=No se ha seleccionado ning\u00fan plug-in de m\u00e9todo.
specifyPathPage_title=Especificar directorio de exportaci\u00f3n
specifyPathPage_desc=Especifique un directorio de destino para almacenar los plug-ins de m\u00e9todo exportados.
SavePluginPage_desc=Exporte los plug-ins y las configuraciones seleccionados al directorio de destino especificado.
ExportPluginWizard_title=Error del asistente de exportaci\u00f3n de plug-ins de m\u00e9todo
ExportPluginError_msg=IUPE0000E: Se ha producido un error durante la exportaci\u00f3n

# Export Library Configuration Error Dialog
exportConfigErrorDialog_title=Exportar configuraci\u00f3n de la biblioteca
exportConfigErrorDialog_msg=IUPE0001E: La operaci\u00f3n de exportaci\u00f3n no puede continuar.

# Progress Messages
analyzingConfigTask_name=Analizando la configuraci\u00f3n de la biblioteca...

# The following messages have not been reviewed.
ConfigurationSpecsExportService_MSG0=Exportando configuraci\u00f3n...
ConfigurationSpecsExportService_MSG1=La exportaci\u00f3n ha concluido.
ExportConfigCheckingPage_summary_1=Comprobando la integridad de la configuraci\u00f3n seleccionada...\n
ExportConfigCheckingPage_summary_2=No se ha seleccionado ninguna configuraci\u00f3n.\n
ExportConfigCheckingPage_summary_3=La configuraci\u00f3n seleccionada no tiene ning\u00fan problema.\n
ExportConfigCheckingPage_summary_4=Hay {0} problemas en la configuraci\u00f3n seleccionada.\nPuede abrir el editor de configuraci\u00f3n y arreglar esos problemas. \nO puede omitir esos problemas y continuar.
ExportConfigCheckingPage_checking=Comprobando la configuraci\u00f3n, espere...
ExportConfigSelectConfigPage_title=Escoger configuraci\u00f3n de m\u00e9todo
DestinationCommonPage_label_browse=Examinar...
DestinationCommonPage_label_default_dir=Utilizar directorio por omisi\u00f3n
ConfigurationExportService_MSG0=Exportando configuraci\u00f3n...
ConfigurationExportService_MSG2=IUPE0002E: La exportaci\u00f3n ha fallado: Se ha producido un error al cargar la biblioteca
ConfigurationExportService_MSG4=IUPE0003E: La exportaci\u00f3n ha fallado: Se ha producido un error al copiar la biblioteca
ConfigurationExportService_MSG1=IUPE0004E: La exportaci\u00f3n ha fallado: Se ha producido un error al cerrar la configuraci\u00f3n de la biblioteca
ConfigurationExportService_MSG9=IUPE0005E: La exportaci\u00f3n ha fallado: Se ha producido un error al guardar la biblioteca
DestinationCommonPage_label_name=Nombre:
DestinationCommonPage_label_dir=Directorio:
ExportPluginWizard_error=Error
DestinationCommonPage_title=T\u00edtulo por omisi\u00f3n
DestinationCommonPage_desc=Descripci\u00f3n por omisi\u00f3n:
PluginExportService_MSG0=Exportando plug-ins...
PluginExportService_MSG1=Creando directorio de exportaci\u00f3n...
PluginExportService_MSG2=Copiando archivos...
PluginExportService_MSG3=Generando archivo de recursos y biblioteca...
PluginExportService_MSG4=La exportaci\u00f3n ha concluido.
SaveLibraryPage_title=Exportar plug-in de m\u00e9todo
SavePluginPage_label_name=Nombre de exportaci\u00f3n:
SaveLibraryPage_desc=Exporte los plug-ins de m\u00e9todo seleccionados y las configuraciones asociadas
ExportPluginWizard_MSG1=Analizando la configuraci\u00f3n de la biblioteca...
