diff --git a/src/raspberrypi/localizer.cpp b/src/raspberrypi/localizer.cpp index 7660c6de..cb6b4bd8 100644 --- a/src/raspberrypi/localizer.cpp +++ b/src/raspberrypi/localizer.cpp @@ -19,93 +19,114 @@ using namespace std; Localizer::Localizer() { // Supported locales, always lower case - supported_languages = { "en", "de", "sv", "fr" }; + supported_languages = { "en", "de", "sv", "fr", "es" }; // Positional string arguments are %1, %2, %3 Add(ERROR_AUTHENTICATION, "en", "Authentication failed"); Add(ERROR_AUTHENTICATION, "de", "Authentifizierung fehlgeschlagen"); Add(ERROR_AUTHENTICATION, "sv", "Autentisering misslyckades"); Add(ERROR_AUTHENTICATION, "fr", "Authentification éronnée"); + Add(ERROR_AUTHENTICATION, "es", "Fallo de autentificación"); Add(ERROR_OPERATION, "en", "Unknown operation"); Add(ERROR_OPERATION, "de", "Unbekannte Operation"); Add(ERROR_OPERATION, "sv", "Okänd operation"); Add(ERROR_OPERATION, "fr", "Opération inconnue"); + Add(ERROR_OPERATION, "es", "Operación desconocida"); Add(ERROR_LOG_LEVEL, "en", "Invalid log level %1"); Add(ERROR_LOG_LEVEL, "de", "Ungültiger Log-Level %1"); Add(ERROR_LOG_LEVEL, "sv", "Ogiltig loggnivå %1"); - Add(ERROR_LOG_LEVEL, "fr", "Niveau de journalisation invalide %1"); + Add(ERROR_LOG_LEVEL, "fr", "Niveau de journalisation invalide %1"); + Add(ERROR_LOG_LEVEL, "es", "Nivel de registro %1 no válido"); Add(ERROR_MISSING_DEVICE_ID, "en", "Missing device ID"); Add(ERROR_MISSING_DEVICE_ID, "de", "Fehlende Geräte-ID"); Add(ERROR_MISSING_DEVICE_ID, "sv", "Enhetens ID saknas"); Add(ERROR_MISSING_DEVICE_ID, "fr", "ID de périphérique manquante"); + Add(ERROR_MISSING_DEVICE_ID, "es", "Falta el ID del dispositivo"); Add(ERROR_MISSING_FILENAME, "en", "Missing filename"); Add(ERROR_MISSING_FILENAME, "de", "Fehlender Dateiname"); Add(ERROR_MISSING_FILENAME, "sv", "Filnamn saknas"); Add(ERROR_MISSING_FILENAME, "fr", "Nom de fichier manquant"); + Add(ERROR_MISSING_FILENAME, "es", "Falta el nombre del archivo"); Add(ERROR_IMAGE_IN_USE, "en", "Image file '%1' is already being used by ID %2, unit %3"); Add(ERROR_IMAGE_IN_USE, "de", "Image-Datei '%1' wird bereits von ID %2, Einheit %3 benutzt"); Add(ERROR_IMAGE_IN_USE, "sv", "Skivbildfilen '%1' används redan av ID %2, LUN %3"); Add(ERROR_IMAGE_IN_USE, "fr", "Le fichier d'image '%1' est déjà utilisé par l'ID %2, unité %3"); + Add(ERROR_IMAGE_IN_USE, "es", "El archivo de imagen '%1' ya está siendo utilizado por el ID %2, unidad %3"); Add(ERROR_RESERVED_ID, "en", "Device ID %1 is reserved"); Add(ERROR_RESERVED_ID, "de", "Geräte-ID %1 ist reserviert"); Add(ERROR_RESERVED_ID, "sv", "Enhets-ID %1 är reserverat"); Add(ERROR_RESERVED_ID, "fr", "ID de périphérique %1 réservée"); + Add(ERROR_RESERVED_ID, "es", "El ID de dispositivo %1 está reservado"); Add(ERROR_NON_EXISTING_DEVICE, "en", "Command for non-existing ID %1"); Add(ERROR_NON_EXISTING_DEVICE, "de", "Kommando für nicht existente ID %1"); Add(ERROR_NON_EXISTING_DEVICE, "sv", "Kommando för avsaknat ID %1"); Add(ERROR_NON_EXISTING_DEVICE, "fr", "Commande pour ID %1 non-existant"); + Add(ERROR_NON_EXISTING_DEVICE, "es", "Comando para ID %1 no existente"); Add(ERROR_NON_EXISTING_UNIT, "en", "Command for non-existing ID %1, unit %2"); Add(ERROR_NON_EXISTING_UNIT, "de", "Kommando für nicht existente ID %1, Einheit %2"); Add(ERROR_NON_EXISTING_UNIT, "sv", "Kommando för avsaknat ID %1, LUN %2"); Add(ERROR_NON_EXISTING_UNIT, "fr", "Command pour ID %1, unité %2 non-existant"); + Add(ERROR_NON_EXISTING_UNIT, "es", "Comando para ID %1 inexistente, unidad %2"); Add(ERROR_UNKNOWN_DEVICE_TYPE, "en", "Unknown device type %1"); Add(ERROR_UNKNOWN_DEVICE_TYPE, "de", "Unbekannter Gerätetyp %1"); Add(ERROR_UNKNOWN_DEVICE_TYPE, "sv", "Obekant enhetstyp: %1"); Add(ERROR_UNKNOWN_DEVICE_TYPE, "fr", "Type de périphérique inconnu %1"); + Add(ERROR_UNKNOWN_DEVICE_TYPE, "es", "Tipo de dispositivo desconocido %1"); Add(ERROR_MISSING_DEVICE_TYPE, "en", "Device type required for unknown extension of file '%1'"); Add(ERROR_MISSING_DEVICE_TYPE, "de", "Gerätetyp erforderlich für unbekannte Extension der Datei '%1'"); Add(ERROR_MISSING_DEVICE_TYPE, "sv", "Man måste ange enhetstyp för obekant filändelse '%1'"); Add(ERROR_MISSING_DEVICE_TYPE, "fr", "Type de périphérique requis pour extension inconnue du fichier '%1'"); + Add(ERROR_MISSING_DEVICE_TYPE, "es", "Tipo de dispositivo requerido para la extensión desconocida del archivo '%1'"); Add(ERROR_DUPLICATE_ID, "en", "Duplicate ID %1, unit %2"); Add(ERROR_DUPLICATE_ID, "de", "Doppelte ID %1, Einheit %2"); Add(ERROR_DUPLICATE_ID, "sv", "Duplikat ID %1, LUN %2"); Add(ERROR_DUPLICATE_ID, "fr", "ID %1, unité %2 dupliquée"); + Add(ERROR_DUPLICATE_ID, "es", "ID duplicado %1, unidad %2"); Add(ERROR_SASI_SCSI, "en", "SASI and SCSI can't be used at the same time"); Add(ERROR_SASI_SCSI, "de", "SASI und SCSI können nicht gleichzeitig verwendet werden"); Add(ERROR_SASI_SCSI, "sv", "SASI och SCSI kan ej användas samtidigt"); Add(ERROR_SASI_SCSI, "fr", "SASI et SCSI ne peuvent être utilisés en même temps"); + Add(ERROR_SASI_SCSI, "es", "SASI y SCSI no pueden utilizarse al mismo tiempo"); Add(ERROR_EJECT_REQUIRED, "en", "Existing medium must first be ejected"); Add(ERROR_EJECT_REQUIRED, "de", "Das vorhandene Medium muss erst ausgeworfen werden"); Add(ERROR_EJECT_REQUIRED, "sv", "Nuvarande skiva måste utmatas först"); Add(ERROR_EJECT_REQUIRED, "fr", "Media déjà existant doit d'abord être éjecté"); + Add(ERROR_EJECT_REQUIRED, "es", "El medio existente debe ser expulsado primero"); Add(ERROR_DEVICE_NAME_UPDATE, "en", "Once set the device name cannot be changed anymore"); Add(ERROR_DEVICE_NAME_UPDATE, "de", "Ein bereits gesetzter Gerätename kann nicht mehr geändert werden"); Add(ERROR_DEVICE_NAME_UPDATE, "sv", "Enhetsnamn kan ej ändras efter att ha fastställts en gång"); Add(ERROR_DEVICE_NAME_UPDATE, "fr", "Une fois défini, le nom de périphérique ne peut plus être changé"); + Add(ERROR_DEVICE_NAME_UPDATE, "es", "Una vez establecido el nombre del dispositivo ya no se puede cambiar"); Add(ERROR_SHUTDOWN_MODE_MISSING, "en", "Missing shutdown mode"); Add(ERROR_SHUTDOWN_MODE_MISSING, "de", "Fehlender Shutdown-Modus"); Add(ERROR_SHUTDOWN_MODE_MISSING, "sv", "Avstängningsläge saknas"); Add(ERROR_SHUTDOWN_MODE_MISSING, "fr", "Mode d'extinction manquant"); + Add(ERROR_SHUTDOWN_MODE_MISSING, "es", "Falta el modo de apagado"); Add(ERROR_SHUTDOWN_MODE_INVALID, "en", "Invalid shutdown mode '%1'"); Add(ERROR_SHUTDOWN_MODE_INVALID, "de", "Ungültiger Shutdown-Modus '%1'"); Add(ERROR_SHUTDOWN_MODE_INVALID, "sv", "Ogiltigt avstängsningsläge: '%1'"); Add(ERROR_SHUTDOWN_MODE_INVALID, "fr", "Mode d'extinction invalide '%1'"); + Add(ERROR_SHUTDOWN_MODE_INVALID, "es", "Modo de apagado inválido '%1'"); Add(ERROR_SHUTDOWN_PERMISSION, "en", "Missing root permission for shutdown or reboot"); Add(ERROR_SHUTDOWN_PERMISSION, "de", "Fehlende Root-Berechtigung für Shutdown oder Neustart"); Add(ERROR_SHUTDOWN_PERMISSION, "sv", "Root-rättigheter saknas för att kunna stänga av eller starta om systemet"); Add(ERROR_SHUTDOWN_PERMISSION, "fr", "Permissions root manquantes pour extinction ou redémarrage"); + Add(ERROR_SHUTDOWN_PERMISSION, "es", "Falta el permiso de root para el apagado o el reinicio"); Add(ERROR_FILE_OPEN, "en", "Invalid or non-existing file '%1': %2"); Add(ERROR_FILE_OPEN, "de", "Ungültige oder fehlende Datei '%1': %2"); Add(ERROR_FILE_OPEN, "sv", "Ogiltig eller saknad fil '%1': %2"); Add(ERROR_FILE_OPEN, "fr", "Fichier invalide ou non-existant '%1': %2"); + Add(ERROR_FILE_OPEN, "es", "Archivo inválido o inexistente '%1': %2"); Add(ERROR_BLOCK_SIZE, "en", "Invalid block size %1 bytes"); Add(ERROR_BLOCK_SIZE, "de", "Ungültige Blockgröße %1 Bytes"); Add(ERROR_BLOCK_SIZE, "sv", "Ogiltig blockstorlek: %1 byte"); Add(ERROR_BLOCK_SIZE, "fr", "Taille de bloc invalide %1 octets"); + Add(ERROR_BLOCK_SIZE, "es", "Tamaño de bloque inválido %1 bytes"); Add(ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "en", "Block size for device type %1 is not configurable"); Add(ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "de", "Blockgröße für Gerätetyp %1 ist nicht konfigurierbar"); Add(ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "sv", "Enhetstypen %1 kan inte använda andra blockstorlekar"); Add(ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "fr", "Taille de block pour le type de périphérique %1 non configurable"); + Add(ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "es", "El tamaño del bloque para el tipo de dispositivo %1 no es configurable"); } void Localizer::Add(LocalizationKey key, const string& locale, const string& value) diff --git a/src/web/settings.py b/src/web/settings.py index 196c1756..1781e4ff 100644 --- a/src/web/settings.py +++ b/src/web/settings.py @@ -32,4 +32,4 @@ RESERVATIONS = ["" for x in range(0, 8)] AUTH_GROUP = "rascsi" # The language locales supported by RaSCSI -LANGUAGES = ["en", "de", "sv", "fr"] +LANGUAGES = ["en", "de", "sv", "fr", "es"] diff --git a/src/web/translations/es/LC_MESSAGES/messages.po b/src/web/translations/es/LC_MESSAGES/messages.po new file mode 100644 index 00000000..63448c78 --- /dev/null +++ b/src/web/translations/es/LC_MESSAGES/messages.po @@ -0,0 +1,1214 @@ +# Spanish translations for PROJECT. +# Copyright (C) 2022 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2022-01-04 09:01+0100\n" +"PO-Revision-Date: 2022-01-04 13:21+0100\n" +"Last-Translator: n4al \n" +"Language-Team: es \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Generated-By: Babel 2.9.1\n" +"X-Generator: Poedit 3.0.1\n" + +#: file_cmds.py:190 +#, python-format +msgid "File deleted: %(file_path)s" +msgstr "Archivo eliminado: %(file_path)s" + +#: file_cmds.py:194 +#, python-format +msgid "File to delete not found: %(file_path)s" +msgstr "No se ha encontrado el archivo a eliminar: %(file_path)s" + +#: file_cmds.py:207 +#, python-format +msgid "File moved to: %(target_path)s" +msgstr "El archivo se ha trasladado a: %(target_path)s" + +#: file_cmds.py:211 +#, python-format +msgid "Unable to move file to: %(target_path)s" +msgstr "No se puede mover el archivo a: %(target_path)s" + +#: file_cmds.py:327 +#, python-format +msgid "Created CD-ROM ISO image with arguments \"%(value)s\"" +msgstr "Creada la imagen ISO del CD-ROM con argumentos “%(value)s”" + +#: file_cmds.py:358 +#, python-format +msgid "%(file_name)s downloaded to %(save_dir)s" +msgstr "%(file_name)s descargado en %(save_dir)s" + +#: file_cmds.py:403 +#, python-format +msgid "Saved configuration file to %(file_name)s" +msgstr "Archivo de configuración guardado en %(file_name)s" + +#: file_cmds.py:414 +#, python-format +msgid "Could not write to file: %(file_name)s" +msgstr "No se pudo escribir en el archivo: %(file_name)s" + +#: file_cmds.py:472 +msgid "Invalid configuration file format" +msgstr "Formato de archivo de configuración no válido" + +#: file_cmds.py:475 +#, python-format +msgid "Loaded configurations from: %(file_name)s" +msgstr "Configuraciones cargadas de: %(file_name)s" + +#: file_cmds.py:484 +#, python-format +msgid "Could not read configuration file: %(file_name)s" +msgstr "No se ha podido leer el archivo de configuración: %(file_name)s" + +#: file_cmds.py:501 +#, python-format +msgid "Created properties file: %(file_path)s" +msgstr "Creado el archivo de propiedades: %(file_path)s" + +#: file_cmds.py:512 +#, python-format +msgid "Could not write to properties file: %(file_path)s" +msgstr "No se pudo escribir en el archivo de propiedades: %(file_path)s" + +#: file_cmds.py:528 +#, python-format +msgid "Read properties from file: %(file_path)s" +msgstr "Leer las propiedades del archivo: %(file_path)s" + +#: file_cmds.py:538 +#, python-format +msgid "Could not read properties from file: %(file_path)s" +msgstr "No se han podido leer las propiedades del archivo: %(file_path)s" + +#: pi_cmds.py:179 +msgid "You must log in to use this function" +msgstr "Debe conectarse para utilizar esta función" + +#: ractl_cmds.py:212 +#, python-format +msgid "" +"Cannot insert an image for %(device_type)s into a %(current_device_type)s device" +msgstr "" +"No se puede insertar una imagen para %(device_type)s en un dispositivo " +"%(current_device_type)s" + +#: socket_cmds.py:39 +#, python-format +msgid "" +"The RaSCSI Web Interface failed to connect to RaSCSI at %(host)s:%(port)s with " +"error: %(error_msg)s. The RaSCSI process is not running or may have crashed." +msgstr "" +"La interfaz web de RaSCSI no pudo conectarse a RaSCSI en %(host)s:%(port)s con " +"el error: %(error_msg)s. El proceso RaSCSI no se está ejecutando o puede haber " +"fallado." + +#: socket_cmds.py:79 +msgid "" +"The RaSCSI Web Interface lost connection to RaSCSI. Please go back and try " +"again. If the issue persists, please report a bug." +msgstr "" +"La interfaz web de RaSCSI ha perdido la conexión con RaSCSI. Por favor, vuelva " +"a intentarlo. Si el problema persiste, informe de un error." + +#: socket_cmds.py:95 +msgid "" +"The RaSCSI Web Interface did not get a valid response from RaSCSI. Please go " +"back and try again. If the issue persists, please report a bug." +msgstr "" +"La interfaz web de RaSCSI no ha obtenido una respuesta válida de RaSCSI. Por " +"favor, vuelva a intentarlo. Si el problema persiste, informe de un error." + +#: web.py:122 +msgid "" +"RaSCSI is password protected. Start the Web Interface with the --password " +"parameter." +msgstr "" +"RaSCSI está protegido por contraseña. Inicie la Interfaz Web con el parámetro —" +"password." + +#: web.py:223 +#, python-format +msgid "Could not read drive properties from %(properties_file)s" +msgstr "" +"No se han podido leer las propiedades de la unidad desde %(properties_file)s" + +#: web.py:293 +#, python-format +msgid "You must log in with credentials for a user in the '%(group)s' group" +msgstr "Debe conectarse con las credenciales de un usuario del grupo ‘%(group)s’" + +#: web.py:351 web.py:890 +#, python-format +msgid "Image file created: %(file_name)s" +msgstr "Archivo de imagen creado: %(file_name)s" + +#: web.py:476 +msgid "An error occurred when fetching logs." +msgstr "Se ha producido un error al obtener los registros." + +#: web.py:491 +#, python-format +msgid "Log level set to %(value)s" +msgstr "Nivel de registro fijado en %(value)s" + +#: web.py:510 +#, python-format +msgid "Please follow the instructions at %(url)s" +msgstr "Siga las instrucciones en %(url)s" + +#: web.py:514 +msgid "Configure IPv4 forwarding before using a wireless network device." +msgstr "" +"Configure el reenvío de IPv4 antes de utilizar un dispositivo de red " +"inalámbrico." + +#: web.py:518 +msgid "Configure NAT before using a wireless network device." +msgstr "Configure NAT antes de utilizar un dispositivo de red inalámbrico." + +#: web.py:523 web.py:527 +msgid "Configure the network bridge before using a wired network device." +msgstr "" +"Configure el puente de red antes de utilizar un dispositivo de red por cable." + +#: web.py:540 +#, python-format +msgid "Attached DaynaPORT to SCSI ID %(id_number)s" +msgstr "Adjuntado DaynaPORT a SCSI ID %(id_number)s" + +#: web.py:588 +#, python-format +msgid "Attached %(file_name)s to SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "Adjuntado %(file_name)s a SCSI ID %(id_number)s LUN %(unit_number)s" + +#: web.py:591 +#, python-format +msgid "" +"The image file size %(file_size)s bytes is not a multiple of %(block_size)s. " +"RaSCSI will ignore the trailing data. The image may be corrupted, so proceed " +"with caution." +msgstr "" +"El tamaño del archivo de imagen %(file_size)s bytes no es un múltiplo de " +"%(block_size)s. RaSCSI ignorará los datos finales. La imagen puede estar " +"corrupta, así que proceda con precaución." + +#: web.py:597 +#, python-format +msgid "" +"Failed to attach %(file_name)s to SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "" +"No se ha podido conectar %(file_name)s a SCSI ID %(id_number)s LUN " +"%(unit_number)s" + +#: web.py:611 +msgid "Detached all SCSI devices" +msgstr "Se han desconectado todos los dispositivos SCSI" + +#: web.py:628 +#, python-format +msgid "Detached SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "SCSI ID desconectado %(id_number)s LUN %(unit_number)s" + +#: web.py:632 +#, python-format +msgid "Failed to detach SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "Fallo en la desconexión de SCSI ID %(id_number)s LUN %(unit_number)s" + +#: web.py:649 +#, python-format +msgid "Ejected SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "Expulsado SCSI ID %(id_number)s LUN %(unit_number)s" + +#: web.py:653 +#, python-format +msgid "Failed to eject SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "Fallo en la expulsión de SCSI ID %(id_number)s LUN %(unit_number)s" + +#: web.py:676 +#, fuzzy +msgid "DEVICE INFO" +msgstr "DEVICE INFO" + +#: web.py:678 +#, python-format +msgid "SCSI ID: %(id_number)s" +msgstr "SCSI ID: %(id_number)s" + +#: web.py:679 +#, python-format +msgid "LUN: %(unit_number)s" +msgstr "LUN: %(unit_number)s" + +#: web.py:680 +#, python-format +msgid "Type: %(device_type)s" +msgstr "Tipo: %(device_type)s" + +#: web.py:681 +#, python-format +msgid "Status: %(device_status)s" +msgstr "Estado: %(device_status)s" + +#: web.py:682 +#, python-format +msgid "File: %(image_file)s" +msgstr "Archivo: %(image_file)s" + +#: web.py:683 +#, python-format +msgid "Parameters: %(value)s" +msgstr "Parámetros: %(value)s" + +#: web.py:684 +#, python-format +msgid "Vendor: %(value)s" +msgstr "Proveedor: %(value)s" + +#: web.py:685 +#, python-format +msgid "Product: %(value)s" +msgstr "Producto: %(value)s" + +#: web.py:686 +#, python-format +msgid "Revision: %(revision_number)s" +msgstr "Revisión: %(revision_number)s" + +#: web.py:687 +#, python-format +msgid "Block Size: %(value)s bytes" +msgstr "Tamaño del bloque: %(value)s bytes" + +#: web.py:688 +#, python-format +msgid "Image Size: %(value)s bytes" +msgstr "Tamaño de la imagen: %(value)s bytes" + +#: web.py:707 +#, python-format +msgid "Reserved SCSI ID %(id_number)s" +msgstr "SCSI ID reservado %(id_number)s" + +#: web.py:710 +#, python-format +msgid "Failed to reserve SCSI ID %(id_number)s" +msgstr "No se ha podido reservar el SCSI ID %(id_number)s" + +#: web.py:726 +#, python-format +msgid "Released the reservation for SCSI ID %(id_number)s" +msgstr "Liberada la reserva para SCSI ID %(id_number)s" + +#: web.py:729 +#, python-format +msgid "Failed to release the reservation for SCSI ID %(id_number)s" +msgstr "No se ha podido liberar la reserva para el SCSI ID %(id_number)s" + +#: web.py:767 +#, python-format +msgid "Saved image as: %(file_name)s" +msgstr "Imagen guardada como: %(file_name)s" + +#: web.py:769 +#, python-format +msgid "Failed to create CD-ROM image from %(url)s" +msgstr "No se ha podido crear la imagen del CD-ROM desde %(url)s" + +#: web.py:775 +#, python-format +msgid "Attached to SCSI ID %(id_number)s" +msgstr "Conectado a SCSI ID %(id_number)s" + +#: web.py:778 +#, python-format +msgid "" +"Failed to attach image to SCSI ID %(id_number)s. Try attaching it manually." +msgstr "" +"No se ha podido conectar la imagen al SCSI ID %(id_number)s. Intente conectarla " +"manualmente." + +#: web.py:797 web.py:814 +#, python-format +msgid "Failed to download file from %(url)s" +msgstr "No se ha podido descargar el archivo de %(url)s" + +#: web.py:845 +msgid "The file already exists!" +msgstr "¡El archivo ya existe!" + +#: web.py:853 +msgid "Unable to write the file to disk!" +msgstr "¡No se puede escribir el archivo en el disco!" + +#: web.py:868 +msgid "Transferred file corrupted!" +msgstr "¡Archivo transferido corrompido!" + +#: web.py:874 +msgid "File upload successful!" +msgstr "¡La carga de archivos se ha realizado con éxito!" + +#: web.py:917 +#, python-format +msgid "Image file deleted: %(file_name)s" +msgstr "Archivo de imagen borrado: %(file_name)s" + +#: web.py:947 +#, python-format +msgid "Image file renamed to: %(file_name)s" +msgstr "Archivo de imagen renombrado a: %(file_name)s" + +#: web.py:984 +msgid "Aborted unzip: File(s) with the same name already exists." +msgstr "Descompresión abortada: Ya existe(n) archivo(s) con el mismo nombre." + +#: web.py:986 +msgid "Unzipped the following files:" +msgstr "Descomprime los siguientes archivos:" + +#: web.py:990 +#, python-format +msgid "Properties file(s) have been moved to %(directory)s" +msgstr "Los archivos de propiedades se han trasladado a %(directory)s" + +#: web.py:993 +#, python-format +msgid "Failed to unzip %(zip_file)s" +msgstr "No se puede descomprimir %(zip_file)s" + +#: web.py:1007 +#, python-format +msgid "Changed Web Interface language to %(locale)s" +msgstr "Se ha cambiado el lenguaje de la Interfaz Web a %(locale)s" + +#: templates/base.html:4 +msgid "RaSCSI Control Page" +msgstr "Página de control de RaSCSI" + +#: templates/base.html:29 +msgid "" +" This process may take a while, and will continue in the background if you " +"navigate away from this page." +msgstr "" +" Este proceso puede tardar un poco, y continuará en segundo plano si navega " +"fuera de esta página." + +#: templates/base.html:34 +msgid "" +" The Web Interface will become unresponsive momentarily. Reload this page after " +"the Pi has started up again." +msgstr "" +" La interfaz web dejará de responder momentáneamente. Vuelva a cargar esta " +"página después de que la Pi haya arrancado de nuevo." + +#: templates/base.html:48 +#, python-format +msgid "Logged in as %(username)s" +msgstr "Conectado como %(username)s" + +#: templates/base.html:48 +msgid "Log Out" +msgstr "Cerrar la sesión" + +#: templates/base.html:52 +msgid "Log In to Use Web Interface" +msgstr "Iniciar sesión para utilizar la interfaz web" + +#: templates/base.html:53 +msgid "Username" +msgstr "Nombre de usuario" + +#: templates/base.html:54 +msgid "Password" +msgstr "Contraseña" + +#: templates/base.html:60 +msgid "Web Interface Authentication Disabled" +msgstr "Autenticación de la interfaz web deshabilitada" + +#: templates/base.html:60 +#, python-format +msgid "See Wiki for more information" +msgstr "" +"Consulte Wiki para obtener más información" + +#: templates/base.html:87 +msgid "RaSCSI version: " +msgstr "Versión de RaSCSI: " + +#: templates/base.html:88 +msgid "Pi environment: " +msgstr "Entorno Pi: " + +#: templates/drives.html:4 templates/drives.html:139 +msgid "Cancel" +msgstr "Cancelar" + +#: templates/drives.html:5 +msgid "Disclaimer" +msgstr "Aviso legal" + +#: templates/drives.html:6 +#, python-format +msgid "" +"These device profiles are provided as-is with no guarantee to work equally to " +"the actual physical device they are named after. You may need to provide " +"appropirate device drivers and/or configuration parameters for them to function " +"properly. If you would like to see data modified, or have additional devices to " +"add to the list, please raise an issue ticket at GitHub." +msgstr "" +"Estos perfiles de dispositivos se proporcionan tal cual, sin garantía de que " +"funcionen igual que el dispositivo físico real al que dan nombre. Es posible " +"que tenga que proporcionar los controladores de dispositivo y/o los parámetros " +"de configuración adecuados para que funcionen correctamente. Si desea que se " +"modifiquen los datos, o si tiene otros dispositivos que añadir a la lista, cree " +"un ticket de incidencia en GitHub." + +#: templates/drives.html:7 +msgid "Hard Drives" +msgstr "Discos duros" + +#: templates/drives.html:12 templates/drives.html:56 templates/drives.html:102 +msgid "Name" +msgstr "Nombre" + +#: templates/drives.html:13 templates/drives.html:57 templates/drives.html:103 +msgid "Size (MB)" +msgstr "Tamaño (MB)" + +#: templates/drives.html:14 templates/drives.html:58 templates/drives.html:104 +msgid "Description" +msgstr "Descripción" + +#: templates/drives.html:15 templates/drives.html:59 templates/drives.html:105 +msgid "Ref." +msgstr "Ref." + +#: templates/drives.html:16 templates/drives.html:60 templates/drives.html:106 +msgid "Action" +msgstr "Acción" + +#: templates/drives.html:25 templates/drives.html:69 templates/drives.html:115 +msgid "Link" +msgstr "Enlace" + +#: templates/drives.html:39 templates/drives.html:129 +msgid "Save as:" +msgstr "Guardado como:" + +#: templates/drives.html:41 templates/drives.html:88 templates/drives.html:131 +#: templates/index.html:549 +msgid "Create" +msgstr "Crear" + +#: templates/drives.html:51 +msgid "CD-ROM Drives" +msgstr "Unidades de CD-ROM" + +#: templates/drives.html:52 +msgid "" +"This will create a properties file for the given CD-ROM image. No new image " +"file will be created." +msgstr "" +"Esto creará un archivo de propiedades para la imagen de CD-ROM dada. No se " +"creará ningún archivo de imagen nuevo." + +#: templates/drives.html:80 +msgid "Create for:" +msgstr "Crear para:" + +#: templates/drives.html:98 +msgid "Removable Drives" +msgstr "Unidades extraíbles" + +#: templates/drives.html:138 templates/index.html:295 +#, python-format +msgid "%(disk_space)s MB disk space remaining on the Pi" +msgstr "%(disk_space)s MB de espacio en disco restante en la Pi" + +#: templates/index.html:6 +msgid "Current RaSCSI Configuration" +msgstr "Configuración actual de RaSCSI" + +#: templates/index.html:9 +msgid "Displays the currently attached devices for each available SCSI ID." +msgstr "" +"Muestra los dispositivos actualmente conectados para cada SCSI ID disponible." + +#: templates/index.html:10 +#, python-format +msgid "" +"Save and load device configurations, stored as json files in " +"%(config_dir)s" +msgstr "" +"Guardar y cargar las configuraciones de los dispositivos, almacenadas como " +"archivos json en %(config_dir)s" + +#: templates/index.html:11 +msgid "" +"To have a particular device configuration load when RaSCSI starts, save it as " +"default." +msgstr "" +"Para que se cargue una configuración de dispositivo concreta cuando se inicie " +"RaSCSI, guárdela como default." + +#: templates/index.html:25 +msgid "No saved configurations" +msgstr "No hay configuraciones guardadas" + +#: templates/index.html:29 +msgid "Load" +msgstr "Cargar" + +#: templates/index.html:29 +msgid "Detach all current device and Load configuration?" +msgstr "¿Desconectar todo el dispositivo actual y cargar la configuración?" + +#: templates/index.html:30 templates/index.html:287 +msgid "Delete" +msgstr "Borrar" + +#: templates/index.html:30 +msgid "Delete configuration file?" +msgstr "¿Borrar el archivo de configuración?" + +#: templates/index.html:35 +msgid "Save" +msgstr "Guardar" + +#: templates/index.html:41 templates/index.html:252 +msgid "ID" +msgstr "ID" + +#: templates/index.html:43 templates/index.html:260 +msgid "LUN" +msgstr "LUN" + +#: templates/index.html:45 templates/index.html:268 +msgid "Type" +msgstr "Tipo" + +#: templates/index.html:46 +msgid "Status" +msgstr "Estado" + +#: templates/index.html:47 templates/index.html:166 +msgid "File" +msgstr "Archivo" + +#: templates/index.html:48 +msgid "Product" +msgstr "Producto" + +#: templates/index.html:49 templates/index.html:168 +msgid "Actions" +msgstr "Acciones" + +#: templates/index.html:84 templates/index.html:277 templates/index.html:337 +msgid "Attach" +msgstr "Conectar" + +#: templates/index.html:98 +msgid "Eject Disk? WARNING: On Mac OS, eject the Disk in the Finder instead!" +msgstr "" +"¿Expulsar el disco? ADVERTENCIA: ¡En Mac OS, expulse el disco en el Finder!" + +#: templates/index.html:101 +msgid "Eject" +msgstr "Expulsar" + +#: templates/index.html:104 +msgid "Detach Device?" +msgstr "¿Desconectar el dispositivo?" + +#: templates/index.html:107 +msgid "Detach" +msgstr "Desconectar" + +#: templates/index.html:113 +msgid "Info" +msgstr "Info" + +#: templates/index.html:116 +msgid "Enter a memo for this reservation" +msgstr "Introduzca una nota para esta reserva" + +#: templates/index.html:119 +msgid "Reserve" +msgstr "Reserva" + +#: templates/index.html:129 +msgid "Reserved ID" +msgstr "ID reservado" + +#: templates/index.html:135 +msgid "Unreserve" +msgstr "Liberar la reserva" + +#: templates/index.html:144 +msgid "Detach all SCSI Devices?" +msgstr "¿Desconectar todos los dispositivos SCSI?" + +#: templates/index.html:145 +msgid "Detach All Devices" +msgstr "Desconectar todos los dispositivos" + +#: templates/index.html:152 +msgid "Image File Management" +msgstr "Gestión de archivos de imagen" + +#: templates/index.html:155 +#, python-format +msgid "" +"Manage image files in the active RaSCSI image directory: %(directory)s " +"with a scan depth of %(scan_depth)s." +msgstr "" +"Gestionar los archivos de imagen en el directorio activo de las imágenes de " +"RaSCSI: %(directory)s con la profundidad de escaneo de %(scan_depth)s." + +#: templates/index.html:156 +#, python-format +msgid "" +"Select a valid SCSI ID and LUN to attach to. Unless you " +"know what you're doing, always use LUN 0." +msgstr "" +"Seleccione un SCSI ID válido y LUN al que conectar. A " +"menos que sepa lo que está haciendo, utilice siempre el LUN 0." + +#: templates/index.html:158 +msgid "" +"If RaSCSI was unable to detect the device type associated with the image, you " +"can choose the type from the dropdown." +msgstr "" +"Si RaSCSI no pudo detectar el tipo de dispositivo asociado a la imagen, puede " +"elegir el tipo en el menú desplegable." + +#: templates/index.html:159 +msgid "" +"Types: SAHD = SASI HDD | SCHD = SCSI HDD | SCRM = Removable | SCMO = Magneto-" +"Optical | SCCD = CD-ROM | SCBR = Host Bridge | SCDP = DaynaPORT" +msgstr "" +"Tipos: SAHD = SASI HDD | SCHD = SCSI HDD | SCRM = extraíble | SCMO = magneto-" +"optico | SCCD = CD-ROM | SCBR = Host Bridge | SCDP = DaynaPORT" + +#: templates/index.html:167 +msgid "Size" +msgstr "Tamaño" + +#: templates/index.html:184 +msgid "Properties File" +msgstr "Archivo de propiedades" + +#: templates/index.html:204 templates/index.html:218 +msgid "Unzip" +msgstr "Descomprimir" + +#: templates/index.html:204 templates/index.html:218 +msgid "Unzipping a single file..." +msgstr "Descomprimiendo un solo archivo…" + +#: templates/index.html:233 templates/index.html:390 templates/index.html:548 +msgid "MB" +msgstr "MB" + +#: templates/index.html:239 +msgid "Attached!" +msgstr "¡Conectado!" + +#: templates/index.html:246 +msgid "Unzip All" +msgstr "Descomprimir todo" + +#: templates/index.html:246 +msgid "Unzipping all files..." +msgstr "Descomprimiendo todos los archivos…" + +#: templates/index.html:280 +#, python-format +msgid "Enter new file name for: %(file_name)s" +msgstr "Introduzca un nuevo nombre de archivo para: %(file_name)s" + +#: templates/index.html:283 +msgid "Rename" +msgstr "Renombrar" + +#: templates/index.html:285 +#, python-format +msgid "Delete file: %(file_name)s?" +msgstr "¿Borrar el archivo: %(file_name)s?" + +#: templates/index.html:301 +msgid "Attach Ethernet Adapter" +msgstr "Conectar el adaptador Ethernet" + +#: templates/index.html:304 +#, python-format +msgid "" +"Emulates a SCSI DaynaPORT Ethernet Adapter. Host drivers " +"and configuration required." +msgstr "" +"Emula el adaptador ethernet SCSI DynaPORT. Controladores de " +"host y configuración necesaria." + +#: templates/index.html:306 +msgid "" +"If you have a DHCP setup, choose only the interface you have configured the " +"bridge with. You can ignore the Static IP fields when attaching." +msgstr "" +"Si tiene una configuración DHCP, elija sólo la interfaz con la que ha " +"configurado el puente. Puede ignorar los campos de IP estática al conectarla." + +#: templates/index.html:307 +#, python-format +msgid "" +"Configure the network bridge by running easyinstall.sh, or follow the manual steps in the wiki." +msgstr "" +"Configure el puente de red ejecutando easyinstall.sh, o siga los pasos manuales en la wiki." + +#: templates/index.html:310 +msgid "" +"The rascsi_bridge interface is active and ready to be used by " +"DaynaPORT!" +msgstr "" +"¡La interfaz rascsi_bridge está activa y lista para ser utilizada por " +"DaynaPORT!" + +#: templates/index.html:318 +msgid "Interface:" +msgstr "Interfaz:" + +#: templates/index.html:326 +msgid "Static IP (optional):" +msgstr "IP estática (opcional):" + +#: templates/index.html:329 templates/index.html:473 +msgid "SCSI ID:" +msgstr "SCSI ID:" + +#: templates/index.html:343 +#, python-format +msgid "Macproxy is running at %(ip_addr)s (default port 5000)" +msgstr "Macproxy se está ejecutando en %(ip_addr)s (puerto por defecto: 5000)" + +#: templates/index.html:345 +#, python-format +msgid "" +"Install Macproxy to browse the Web with any vintage " +"browser. It's not just for Macs!" +msgstr "" +"Instala Macproxy para navegar por la web con cualquier " +"navegador de época. ¡No es sólo para Macs!" + +#: templates/index.html:351 +msgid "Upload File" +msgstr "Subir archivo" + +#: templates/index.html:354 +#, python-format +msgid "" +"Uploads file to %(directory)s. The largest file size accepted is " +"%(max_file_size)s MB." +msgstr "" +"Sube un archivo a %(directory)s. El mayor tamaño de archivo aceptado " +"es %(max_file_size)s MB." + +#: templates/index.html:355 +msgid "" +"For unrecognized file types, try renaming hard drive images to '.hds', CD-ROM " +"images to '.iso', and removable drive images to '.hdr' before uploading." +msgstr "" +"En el caso de los tipos de archivo no reconocidos, intente cambiar el nombre de " +"las imágenes del disco duro a ‘.hds’, de las imágenes del CD-ROM a ‘.iso’ y de " +"las imágenes de las unidades extraíbles a ‘.hdr’ antes de cargarlas." + +#: templates/index.html:356 +#, python-format +msgid "Recognized file types: %(valid_file_suffix)s" +msgstr "Tipos de archivo reconocidos: %(valid_file_suffix)s" + +#: templates/index.html:376 +msgid "Drop files here to upload" +msgstr "Suelte los archivos aquí para cargarlos" + +#: templates/index.html:377 +msgid "Your browser does not support drag'n'drop file uploads." +msgstr "" +"Su navegador no admite la carga de archivos mediante la función de arrastrar y " +"soltar." + +#: templates/index.html:378 +msgid "" +"Please use the fallback form below to upload your files like in the olden days." +msgstr "" +"Por favor, utilice el siguiente formulario para subir sus archivos como en los " +"viejos tiempos." + +#: templates/index.html:379 +msgid "File is too big: {{filesize}}MB. Max filesize: {{maxFilesize}}MB." +msgstr "" +"El archivo es demasiado grande: {{filesize}}MB. Tamaño máximo del archivo: " +"{{maxFilesize}}MB." + +#: templates/index.html:380 +msgid "You can't upload files of this type." +msgstr "No se pueden subir archivos de este tipo." + +#: templates/index.html:381 +msgid "Server responded with code: {{statusCode}}" +msgstr "El servidor ha respondido con un código: {{statusCode}}" + +#: templates/index.html:382 +msgid "Cancel upload" +msgstr "Cancelar la subida" + +#: templates/index.html:383 +msgid "Upload canceled." +msgstr "Subida cancelada." + +#: templates/index.html:384 +msgid "Are you sure you want to cancel this upload?" +msgstr "¿Estás seguro de que quieres cancelar esta subida?" + +#: templates/index.html:385 +msgid "Remove file" +msgstr "Eliminar el archivo" + +#: templates/index.html:386 +msgid "You can not upload any more files." +msgstr "No puedes subir más archivos." + +#: templates/index.html:388 +msgid "TB" +msgstr "TB" + +#: templates/index.html:389 +msgid "GB" +msgstr "GB" + +#: templates/index.html:391 +msgid "KB" +msgstr "KB" + +#: templates/index.html:392 +msgid "b" +msgstr "b" + +#: templates/index.html:401 +msgid "Download File to Images" +msgstr "Descarga de archivos a imágenes" + +#: templates/index.html:404 +#, python-format +msgid "Given a URL, download that file to the %(directory)s directory." +msgstr "" +"Dada una URL, descarga ese archivo en el directorio de %(directory)s." + +#: templates/index.html:412 templates/index.html:438 templates/index.html:482 +msgid "URL:" +msgstr "URL:" + +#: templates/index.html:413 templates/index.html:439 templates/index.html:483 +msgid "URL" +msgstr "URL" + +#: templates/index.html:414 templates/index.html:440 +msgid "Download" +msgstr "Descargar" + +#: templates/index.html:414 +msgid "Downloading File to Images..." +msgstr "Descargando archivos a imágenes…" + +#: templates/index.html:424 +msgid "Download File to AppleShare" +msgstr "Descargar archivo a AppleShare" + +#: templates/index.html:427 +#, python-format +msgid "" +"Given a URL, download that file to the %(directory)s directory and " +"share it over AFP." +msgstr "" +"Dada una URL, descarga ese archivo al directorio de %(directory)s y lo " +"comparte a través de AFP." + +#: templates/index.html:428 +msgid "Manage the files you download here through AppleShare on your vintage Mac." +msgstr "" +"Gestiona los archivos que descargues aquí a través de AppleShare en tu Mac " +"vintage." + +#: templates/index.html:429 +#, python-format +msgid "" +"Requires Netatalk to be installed and configured " +"correctly for your network." +msgstr "" +"Requiere que Netatalk esté instalado y configurado " +"correctamente para su red." + +#: templates/index.html:440 +msgid "Downloading File to AppleShare..." +msgstr "Descargando archivos s AppleShare…" + +#: templates/index.html:447 +msgid "The AppleShare server is running. No active connections." +msgstr "El servidor AppleShare está funcionando. No hay conexiones activas." + +#: templates/index.html:449 +#, python-format +msgid "%(value)d active AFP connection" +msgstr "%(value)d conexión AFP activa" + +#: templates/index.html:451 +#, python-format +msgid "%(value)d active AFP connections" +msgstr "%(value)d conexiones AFP activas" + +#: templates/index.html:454 +#, python-format +msgid "" +"Install Netatalk to use the AppleShare File Server." +msgstr "" +"Instale Netatalk para utilizar el servidor de archivos " +"AppleShare." + +#: templates/index.html:461 +msgid "Download File and Create CD-ROM image" +msgstr "Descargar archivo y crear imagen de CD-ROM" + +#: templates/index.html:464 +msgid "" +"Create an ISO file system CD-ROM image with the downloaded file, and mount it " +"on the given SCSI ID." +msgstr "" +"Cree una imagen de CD-ROM del sistema de archivos ISO con el archivo descargado " +"y móntelo en la SCSI ID indicada." + +#: templates/index.html:465 +msgid "HFS is for Mac OS, Joliet for Windows, and Rock Ridge for POSIX." +msgstr "HFS es para Mac OS, Joliet para Windows y Rock Ridge para POSIX." + +#: templates/index.html:466 +#, python-format +msgid "On Mac OS, a compatible CD-ROM driver is required." +msgstr "" +"En Mac OS, se necesita un controlador de CD-ROM compatible." + +#: templates/index.html:467 +msgid "" +"If the downloaded file is a zip archive, we will attempt to unzip it and store " +"the resulting files." +msgstr "" +"Si el fichero descargado es un archivo zip, intentaremos descomprimirlo y " +"almacenar los ficheros resultantes." + +#: templates/index.html:484 templates/index.html:529 +msgid "Type:" +msgstr "Tipo:" + +#: templates/index.html:505 +msgid "Download and Mount CD-ROM image" +msgstr "Descargar y montar la imagen del CD-ROM" + +#: templates/index.html:505 +msgid "Downloading File and generating CD-ROM image..." +msgstr "Descargando el archivo y generando la imagen del CD-ROM…" + +#: templates/index.html:515 +msgid "Create Empty Disk Image File" +msgstr "Crear un archivo de imagen de disco vacío" + +#: templates/index.html:518 +msgid "The Generic image type is recommended for most computer platforms." +msgstr "" +"El tipo de imagen Genérico se recomienda para la mayoría de las plataformas " +"informáticas." + +#: templates/index.html:519 +msgid "" +"APPLE GENUINE (.hda) and NEC GENUINE (.hdn) image types will make RaSCSI behave " +"as a particular drive type that are recognized by Mac and PC98 systems, " +"respectively." +msgstr "" +"Los tipos de imagen APPLE GENUINE (.hda) y NEC GENUINE (.hdn) harán que RaSCSI " +"se comporte como un tipo de unidad particular reconocido por los sistemas Mac y " +"PC98, respectivamente." + +#: templates/index.html:520 +msgid "" +"SASI images should only be used on the original Sharp X68000, or other legacy " +"systems that utilize this pre-SCSI standard." +msgstr "" +"Las imágenes SASI sólo deben utilizarse en el Sharp X68000 original, o en otros " +"sistemas heredados que utilicen este estándar pre-SCSI." + +#: templates/index.html:527 +msgid "File Name:" +msgstr "Nombre del archivo:" + +#: templates/index.html:528 +msgid "File Name" +msgstr "Nombre del archivo" + +#: templates/index.html:532 +msgid "SCSI Hard Disk image (Generic) [.hds]" +msgstr "Imagen de disco duro SCSI (genérico) [.hds]" + +#: templates/index.html:535 +msgid "SCSI Hard Disk image (APPLE GENUINE) [.hda]" +msgstr "Imagen de disco duro SCSI (APPLE GENUINE) [.hda]" + +#: templates/index.html:538 +msgid "SCSI Hard Disk image (NEC GENUINE) [.hdn]" +msgstr "Imagen del disco duro SCSI (NEC GENUINE) [.hdn]" + +#: templates/index.html:541 +msgid "SCSI Removable Media Disk image (Generic) [.hdr]" +msgstr "Imagen de disco extraíble SCSI (genérico) [.hdr]" + +#: templates/index.html:544 +msgid "SASI Hard Disk image (Legacy) [.hdf]" +msgstr "Imagen de disco duro SASI (Legacy) [.hdf]" + +#: templates/index.html:547 +msgid "Size:" +msgstr "Tamaño:" + +#: templates/index.html:559 +msgid "Create Named Drive" +msgstr "Crear unidad con nombre" + +#: templates/index.html:562 +msgid "" +"Create pairs of images and properties files from a list of real-life drives." +msgstr "" +"Crear pares de imágenes y archivos de propiedades a partir de una lista de " +"unidades reales." + +#: templates/index.html:563 +msgid "" +"This will make RaSCSI use certain vendor strings and block sizes that may " +"improve compatibility with certain systems." +msgstr "" +"Esto hará que RaSCSI utilice ciertas cadenas de proveedor y tamaños de bloque " +"que pueden mejorar la compatibilidad con ciertos sistemas." + +#: templates/index.html:566 +msgid "Create a named disk image that mimics real-life drives" +msgstr "" +"Crear una imagen de disco con nombre que imite las unidades de la vida real" + +#: templates/index.html:572 +msgid "Logging" +msgstr "Registro" + +#: templates/index.html:575 +msgid "Fetch a certain number of lines of system logs with the given scope." +msgstr "" +"Obtiene un número determinado de líneas de registros del sistema con el rango " +"dado." + +#: templates/index.html:582 +msgid "Log Lines:" +msgstr "Líneas de registro:" + +#: templates/index.html:584 +msgid "Scope:" +msgstr "Rango:" + +#: templates/index.html:596 +msgid "Show Logs" +msgstr "Mostrar registros" + +#: templates/index.html:606 +msgid "Server Log Level" +msgstr "Nivel de registro del servidor" + +#: templates/index.html:609 +msgid "Change the log level of the RaSCSI backend process." +msgstr "Cambiar el nivel de registro del proceso RaSCSI backend." + +#: templates/index.html:610 +msgid "The current dropdown selection indicates the active log level." +msgstr "La selección desplegable actual indica el nivel de registro activo." + +#: templates/index.html:617 +msgid "Log Level:" +msgstr "Nivel de registro:" + +#: templates/index.html:625 +msgid "Set Log Level" +msgstr "Establecer el nivel de registro" + +#: templates/index.html:635 +msgid "Language" +msgstr "Idioma" + +#: templates/index.html:638 +msgid "Change the Web Interface language." +msgstr "Cambiar el idioma de la Interfaz Web." + +#: templates/index.html:645 +msgid "Language:" +msgstr "Idioma:" + +#: templates/index.html:653 +msgid "Change Language" +msgstr "Cambiar el idioma" + +#: templates/index.html:663 +msgid "Raspberry Pi Operations" +msgstr "Operaciones de Raspberry Pi" + +#: templates/index.html:666 +msgid "Reboot or shut down the Raspberry Pi that RaSCSI is running on." +msgstr "Reinicie o apague la Raspberry Pi en la que se está ejecutando RaSCSI." + +#: templates/index.html:667 +msgid "" +"IMPORTANT: Always shut down the Pi before turning off the power. Failing to do " +"so may lead to data loss." +msgstr "" +"IMPORTANTE: Apague siempre la Pi antes de quitarle la corriente. No hacerlo " +"puede provocar la pérdida de datos." + +#: templates/index.html:673 +msgid "Reboot the Raspberry Pi?" +msgstr "¿Reiniciar la Raspberry Pi?" + +#: templates/index.html:673 +msgid "Rebooting the Raspberry Pi..." +msgstr "Reiniciando la Raspberry Pi…" + +#: templates/index.html:674 +msgid "Reboot Raspberry Pi" +msgstr "Reiniciar la Raspberry Pi" + +#: templates/index.html:678 +msgid "Shut down the Raspberry Pi?" +msgstr "¿Apagar la Raspberry Pi?" + +#: templates/index.html:678 +msgid "Shutting down the Raspberry Pi..." +msgstr "Apagando la Raspberry Pi…" + +#: templates/index.html:679 +msgid "Shut Down Raspberry Pi" +msgstr "Apagar la Raspberry Pi"