#-------------------------------------------------------------------------------
# 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: IUPE0200E - IUPE0299E
#

# Import Library Configuration Wizard
importConfigWizard_title=Importar configuraci\u00f3n de la biblioteca
selectConfigDirWizardPage_title=Especificar directorio de importaci\u00f3n
selectConfigDirWizardPage_text=Especifique el directorio que contiene la configuraci\u00f3n de la biblioteca para importar.
reviewChangesWizardPage_title=Revisar cambios de la biblioteca
reviewChangesWizardPage_text=Revise los cambios que se realizar\u00e1n en la biblioteca de m\u00e9todos actual.
selectConfigSpecsWizardPage_title=Seleccionar especificaciones de la configuraci\u00f3n
selectConfigSpecsWizardPage_text=Seleccione una o varias especificaciones de la configuraci\u00f3n para importar.

# Import Method Plug-ins Wizard
importPluginsWizard_title=Importar plug-ins de m\u00e9todo
selectPluginsDirWizardPage_title=Especificar directorio de importaci\u00f3n
selectPluginsDirWizardPage_text=Especifique el directorio que contiene los plug-ins de m\u00e9todo para importar.
selectPluginsWizardPage_title=Seleccionar plug-ins de m\u00e9todo
selectPluginsWizardPage_text=Seleccione uno o varios plug-ins de m\u00e9todo para importar. Si ya hay un plug-in seleccionado en la biblioteca de m\u00e9todos actual, compruebe las diferencias de la versi\u00f3n.
importPluginsWizard_ERR_Import_plugin=La importaci\u00f3n del plug-in ha fallado

ConfigurationImportService_MSG0=Validando la configuraci\u00f3n de la biblioteca seleccionada...
ConfigurationImportService_MSG1=El directorio especificado no contiene una configuraci\u00f3n v\u00e1lida.
ConfigurationImportService_MSG3=Importando la configuraci\u00f3n de m\u00e9todo...
ConfigurationImportService_MSG2=No puede importarse sobre s\u00ed misma la biblioteca abierta actualmente.
ImportConfigurationWizard_MSG1=Importando la configuraci\u00f3n de m\u00e9todo...
ImportConfigurationWizard_ERR_Import_configuration=La configuraci\u00f3n de la importaci\u00f3n ha fallado

FileModifyChecker_Checkout_failed_title=La confirmaci\u00f3n ha fallado
FileModifyChecker_Checkout_failed_msg=Algunos archivos no se han confirmado, \u00bfdesea intentarlo de nuevo?

ImportConfigReportPage_title=Importando el informe de configuraci\u00f3n
ImportPluginWizard_readonly=IUPE0201E: La biblioteca es de s\u00f3lo lectura.
ImportPluginWizard_MSG1=Importando el plug-in de m\u00e9todo...
ImportPluginWizard_error=Error
ImportPluginWizard_warn_existing_plugins=IUPE0200E: El siguiente plug-in seleccionado ya existe y, si se vuelve a importar, sobrescribir\u00e1 el plug-in existente:\n\n {0} \n\n\u00bfEst\u00e1 seguro de que desea continuar?
ImportPluginWizard_confirm_continue=\n\n\u00bfEst\u00e1 seguro de que desea continuar?

SelectConfigsToImport_label1=Se importar\u00e1n los siguientes elementos:
ImportConfigurationWizard_error=Error
SelectImportConfigurationSource_MSG1=Analizando
SelectConfigSpecsToImportPage_title2=Seleccionar especificaciones de la configuraci\u00f3n para importar
SelectImportPluginSource_not_used=no se utiliza
SelectImportPluginSource_no_path=El directorio especificado no existe.
SelectImportPluginSource_no_dir=No se ha especificado ning\u00fan directorio
SelectPluginsToImport_label_plugins=Plug-ins disponibles en el directorio de importaci\u00f3n:
SelectPluginsToImport_label_author=Autor:
SelectPluginsToImport_label_version=Versi\u00f3n:
SelectPluginsToImport_label_desc=Descripci\u00f3n breve:
ImportConfigurationWizard_readonly=IUPE0201E: La biblioteca es de s\u00f3lo lectura.
PluginImportingService_MSG0=Validando los plug-ins seleccionados...
PluginImportingService_MSG1=La v\u00eda de acceso especificada no contiene un plug-in de m\u00e9todo v\u00e1lido.
PluginImportingService_MSG3=Importando el plug-in de m\u00e9todo...
PluginImportingService_MSG5=No se puede importar el plug-in de m\u00e9todo seleccionado. El plug-in dependiente ''{0}'' no se puede encontrar en la biblioteca de m\u00e9todos actual.
PluginImportingService_MSG6=No se puede importar el plug-in de m\u00e9todo seleccionado. No se puede encontrar un plug-in dependiente en la biblioteca de m\u00e9todos actual.
DiffReportViewer_content=Contenido
DiffReportViewer_in_import=En importaci\u00f3n
SelectPluginsToImport_MSG1=Analizando archivos...
DiffReportLabelProvider_yes=S\u00ed
SelectPluginsToImport_error=Error
DiffReportViewer_in_lib=En la biblioteca
DiffReportViewer_status=Estado
SelectPluginsToImport_libraryPluginExists=Se ha encontrado el plug-in seleccionado en la biblioteca actual
SelectPluginsToImport_libraryPluginNotExists=No se ha podido encontrar el plug-in seleccionado en la biblioteca actual
SelectConfigSpecsToImportPage_libraryConfigSpecExists=Se ha encontrado la configuraci\u00f3n en la biblioteca actual
SelectConfigSpecsToImportPage_configSpecNoSelection=No se ha seleccionado ninguna especificaci\u00f3n de la configuraci\u00f3n.
SelectConfigSpecsToImportPage_configSpecDataLabel=Configuraci\u00f3n seleccionada en el directorio de importaci\u00f3n
SelectConfigSpecsToImportPage_label_configs=Especificaciones de la configuraci\u00f3n disponibles en el directorio de importaci\u00f3n:
SelectImportConfigurationSource_not_used=no se utiliza
SelectConfigSpecsToImportPage_label_desc=Descripci\u00f3n breve:
SelectImportConfigurationSource_no_path=La v\u00eda de acceso especificada no existe.
SelectPluginsToImport_pluginNoSelection=No se ha seleccionado ning\u00fan plug-in.
SelectImportConfigurationSource_no_dir=No se ha especificado ning\u00fan directorio
SelectImportConfigurationSource_plugin_readonly=El plug-in {0} es de s\u00f3lo lectura\n
SelectImportConfigurationSource_plugin_locked=IUPE0203E: El plug-in {0} est\u00e1 bloqueado\n
SelectImportConfigurationSource_error_not_updatable=Algunos de los plug-ins de la biblioteca est\u00e1n bloqueados o son de s\u00f3lo lectura.\n Desbloquee los plug-ins y aseg\u00farese de que los archivos se pueden actualizar.
SelectPluginsToImport_pluginDataLabel=Plug-in seleccionado en el directorio de importaci\u00f3n
DiffReportViewer_type=Tipo de contenido
SelectConfigSpecsToImportPage_libraryConfigSpecNotExists=No se ha podido encontrar la configuraci\u00f3n seleccionada en la biblioteca actual.
versionMismatch_oldData=IUPE0204E: Una versi\u00f3n anterior ({0}) de {1} ha exportado los archivos especificados. Debe exportar archivos utilizando la versi\u00f3n actual de {1}.
versionMismatch_oldData_unknown=IUPE0205E: Una versi\u00f3n anterior de {0} ha exportado los archivos especificados. Debe exportar archivos utilizando la versi\u00f3n actual de {0}.
versionMismatch_oldTool=IUPE0206E: Una versi\u00f3n m\u00e1s reciente ({0}) de {1} ha exportado los archivos especificados. Debe actualizar {1} para importar los archivos.  
versionMismatch_oldTool_unknown=IUPE0207E: No se pueden abrir los archivos especificados. Debe actualizar {0} para importar los archivos.  
