add spanish localization and enable in config

This commit is contained in:
n8fr8 2026-05-06 21:39:57 -04:00
parent 7151a161bc
commit 80d896f4b3
3 changed files with 576 additions and 1 deletions

Binary file not shown.

View file

@ -0,0 +1,575 @@
# Translations template for PROJECT.
# Copyright (C) 2026 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
#
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-04-06 16:20+0100\n"
"PO-Revision-Date: 2026-05-07 01:14+0000\n"
"Last-Translator: Fabiola Maurice <fabiola.mauriceh@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/butter/butter-"
"portal/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"
"X-Generator: Weblate 5.17.1\n"
"Generated-By: Babel 2.18.0\n"
#: app/__init__.py:19
msgid "Please log in to access this page."
msgstr "Inicia sesión para acceder a esta página."
#: app/forms.py:13
msgid "Only dashes, underscores, letters and numbers allowed."
msgstr "Solo se permiten guiones, guiones bajos, letras y números."
#: app/forms.py:17
msgid "Wifi password cannot be longer than 63 characters."
msgstr "La contraseña de wifi no puede tener más de 63 caracteres."
#: app/forms.py:19
msgid "Wifi password cannot be shorter than 8 characters."
msgstr "La contraseña de wifi no puede tener menos de 8 caracteres."
#: app/forms.py:22
msgid "Username"
msgstr "Nombre de Usuario"
#: app/forms.py:23
msgid "Password"
msgstr "Contraseña"
#: app/forms.py:24 app/templates/login.html:6
msgid "Sign In"
msgstr "Iniciar sesión"
#: app/forms.py:28 app/forms.py:65
msgid "Enable File Viewer"
msgstr "Habilitar el visor de archivos"
#: app/forms.py:29 app/forms.py:66
msgid "Enable Chat"
msgstr "Habilitar chat"
#: app/forms.py:30 app/forms.py:67
msgid "Enable DeltaChat"
msgstr "Habilitar DeltaChat"
#: app/forms.py:31 app/forms.py:37 app/forms.py:44
msgid "Next"
msgstr "Siguiente"
#: app/forms.py:34 app/forms.py:62
msgid "Butterbox Name"
msgstr "Nombre de la caja"
#: app/forms.py:35 app/forms.py:63
msgid "Butterbox Logo"
msgstr "Logo de la Caja"
#: app/forms.py:35 app/forms.py:63
msgid "Images only!"
msgstr "Solo imagenes!"
#: app/forms.py:36
msgid "Butterbox Hostname"
msgstr "Hostname de la Caja"
#: app/forms.py:40
msgid "WiFi Name"
msgstr "Nombre de el Wifi"
#: app/forms.py:41 app/forms.py:59
msgid "WiFi Password"
msgstr "Contraseña WiFi"
#: app/forms.py:42 app/forms.py:68
msgid "Enable WiFi Sharing"
msgstr "Habilitar la función de compartir WiFi"
#: app/forms.py:43 app/forms.py:60
msgid "Enable Access Point"
msgstr "Habilitar punto de acceso"
#: app/forms.py:47 app/forms.py:70
msgid "Admin Password"
msgstr "Contraseña de administrador"
#: app/forms.py:48 app/forms.py:71
msgid "Root Password"
msgstr "Contraseña raíz"
#: app/forms.py:49 app/forms.py:73
msgid "Secure Root Account Method"
msgstr "Método de cuenta raíz segura"
#: app/forms.py:49 app/forms.py:73
msgid "Lock root account"
msgstr "Bloquea cuenta raíz"
#: app/forms.py:49 app/forms.py:73
msgid "Use root password"
msgstr "Usar contraseña de root"
#: app/forms.py:50 app/forms.py:74
msgid "SSH Access Method"
msgstr "Método de acceso SSH"
#: app/forms.py:50 app/forms.py:74
msgid "Disable SSH"
msgstr "Deshabilitar SSH"
#: app/forms.py:50 app/forms.py:74
msgid "Enable SSH with root password"
msgstr "Habilitar SSH con contraseña de root"
#: app/forms.py:52 app/forms.py:76
msgid "Lock Root Account"
msgstr "Bloquear cuenta raíz"
#: app/forms.py:53 app/forms.py:78
msgid "Apply Changes"
msgstr "Aplicar cambios"
#: app/forms.py:58
msgid "SSID"
msgstr "SSID"
#: app/forms.py:77
msgid "Submit"
msgstr "Enviar"
#: app/routes.py:106 app/templates/messaging.html:4
msgid "Secure Messenger"
msgstr "Mensajero seguro"
#: app/routes.py:108
msgid "Local Chat"
msgstr "Chat Local"
#: app/routes.py:110
msgid "Apps"
msgstr "Aplicaciones"
#: app/routes.py:112
msgid "Maps"
msgstr "Mapas"
#: app/routes.py:114
msgid "Files"
msgstr "Archivos"
#: app/routes.py:116
msgid "Insert USB to browse files"
msgstr "Inserta la unidad USB para explorar los archivos"
#: app/routes.py:156
msgid "Invalid username or password"
msgstr "Nombre de usuario o contraseña incorrectos"
#: app/routes.py:341
msgid ""
"⚠️ Some settings may not fully take effect until the Butter Box restarts."
" Click 'Apply Changes' to restart."
msgstr ""
"⚠️ Es posible que algunos ajustes no surtan efecto por completo hasta que se "
"reinicie Butter Box. Haga clic en «Aplicar cambios» para reiniciar."
#: app/routes.py:345
msgid "Settings successfully changed."
msgstr "La configuración se cambió correctamente."
#: app/routes.py:351
msgid ""
"⚠️ Changes applied! If needed, the system will restart. This may take up "
"to two minutes."
msgstr ""
"⚠¡Cambios aplicados! Si es necesario, el sistema se reiniciará. Esto puede "
"tardar hasta dos minutos."
#: app/translation_refs.py:3
msgid ""
"The URL is the address users will enter into a browser after they connect"
" to the box network. From here, they can view the portal. "
msgstr ""
"La URL es la dirección que los usuarios ingresarán en un navegador después "
"de conectarse a la red del dispositivo. Desde allí, podrán ver el portal. "
#: app/translation_refs.py:4
msgid "Upload New Logo"
msgstr "Subir nuevo logotipo"
#: app/translation_refs.py:5
msgid ""
"After the box is powered on, it will appear as a Wi-Fi network on nearby "
"devices. The Wi-Fi name will show up in the Wi-Fi list."
msgstr ""
"Una vez encendido el dispositivo, aparecerá como una red Wi-Fi en los "
"dispositivos cercanos. El nombre de la red Wi-Fi se mostrará en la lista de "
"redes Wi-Fi."
#: app/translation_refs.py:6
msgid ""
"⚠️ This network only provides access to content on the box. No internet "
"access."
msgstr ""
"⚠️ Esta red solo proporciona acceso al contenido de la caja. No hay acceso a "
"internet."
#: app/translation_refs.py:7
msgid "Set a password to limit access to the portal."
msgstr "Establezca una contraseña para limitar el acceso al portal."
#: app/translation_refs.py:8
msgid "Security"
msgstr "Seguridad"
#: app/translation_refs.py:9
msgid "Require a Wi-Fi Password"
msgstr "Requiere una contraseña de Wi-Fi"
#: app/translation_refs.py:10
msgid ""
"Turn off the Wi-Fi access point if you do not want the box to appear as a"
" Wi-Fi network on nearby devices."
msgstr ""
"Desactive el punto de acceso Wi-Fi si no desea que el dispositivo aparezca "
"como una red Wi-Fi en los dispositivos cercanos."
#: app/translation_refs.py:11
msgid "Wi-Fi Access Point (on)"
msgstr "Punto de acceso Wi-Fi (encendido)"
#: app/translation_refs.py:12
msgid "Set Admin Password"
msgstr "Establecer contraseña de administrador"
#: app/translation_refs.py:13
msgid ""
"Set an admin password to keep admin settings protected. Store somewhere "
"secure. It cannot be reset."
msgstr ""
"Establece una contraseña de administrador para proteger la configuración de "
"administrador. Guárdala en un lugar seguro. No se puede restablecer."
#: app/translation_refs.py:14
msgid "⚠️ This password should not match the Wi-Fi password."
msgstr "⚠️ Esta contraseña no debe coincidir con la contraseña de Wi-Fi."
#: app/translation_refs.py:15
msgid "Enter password"
msgstr "Enter password"
#: app/translation_refs.py:16
msgid "Confirm password"
msgstr "Confirmar Contraseña"
#: app/translation_refs.py:17
msgid "Help Center"
msgstr "Centro de ayuda"
#: app/translation_refs.py:18
msgid "Language"
msgstr "Lenguage"
#: app/templates/base.html:40 app/translation_refs.py:19
msgid "Share Access"
msgstr "Compartir acceso"
#: app/translation_refs.py:20
msgid "512 x 512 px. Recommended size."
msgstr "512 x 512 px. Tamaño recomendado."
#: app/translation_refs.py:21
msgid ""
"Continue to your box portal. The portal is the view others will see when "
"they connect to the box hotspot."
msgstr ""
"Acceda al portal de su dispositivo. El portal es la vista que verán los "
"demás cuando se conecten al punto de acceso Wi-Fi."
#: app/templates/admin.html:8
msgid "Application Settings"
msgstr "Configuración de la aplicación"
#: app/templates/admin.html:21 app/templates/admin_setup.html:10
#: app/templates/step1.html:4
msgid "Choose Services"
msgstr "Elija servicios"
#: app/templates/admin.html:24 app/templates/step1.html:14
msgid "Whether Matrix chat services are enabled."
msgstr "Si los servicios de chat de Matrix están habilitados."
#: app/templates/admin.html:28 app/templates/step1.html:18
msgid "Whether messaging using DeltaChat is enabled."
msgstr "Si la mensajería mediante DeltaChat está habilitada."
#: app/templates/admin.html:32 app/templates/step1.html:22
msgid "Whether files services via USB are enabled."
msgstr "Si los servicios de archivos a través de USB están habilitados."
#: app/templates/admin.html:37 app/templates/admin_setup.html:13
#: app/templates/step2.html:4
msgid "Customise Portal"
msgstr "Personalizar portal"
#: app/templates/admin.html:41 app/templates/step2.html:13
msgid ""
"This is the name shown in the UI.\n"
" Current name:"
msgstr ""
"Este es el nombre que se muestra en la interfaz de usuario.\n"
" Nombre actual:"
#: app/templates/admin.html:42 app/templates/step2.html:14
msgid "accessed at"
msgstr "accedido en"
#: app/templates/admin.html:48 app/templates/step2.html:25
msgid "This is the logo shown in the UI. Current logo:"
msgstr ""
"Este es el logotipo que se muestra en la interfaz de usuario. Logotipo "
"actual:"
#: app/templates/admin.html:54 app/templates/admin_setup.html:16
#: app/templates/step3.html:4
msgid "Secure Portal"
msgstr "Portal seguro"
#: app/templates/admin.html:59 app/templates/step3.html:14
msgid "This is the name of the advertised Wi-Fi network. Current SSID:"
msgstr "Este es el nombre de la red Wi-Fi anunciada. SSID actual:"
#: app/templates/admin.html:63 app/templates/step3.html:18
msgid ""
"This is the secret key needed to connect to the Wi-Fi network. By "
"default, this is not set\n"
" and everyone can join.\n"
" Current password:"
msgstr ""
"This is the secret key needed to connect to the Wi-Fi network. By default, "
"this is not set\n"
" Y todas pueden unirse.\n"
" Contraseña actual:"
#: app/templates/admin.html:65 app/templates/step3.html:20
msgid "Not set"
msgstr "No establecido"
#: app/templates/admin.html:69 app/templates/step3.html:24
msgid "Whether this box will advertise a Wi-Fi network."
msgstr "Si esta caja anunciará una red Wi-Fi."
#: app/templates/admin.html:73 app/templates/step3.html:28
msgid "Whether a share button for the Wi-Fi network is available."
msgstr "Mostrar un botón para compartir la red Wi-Fi."
#: app/templates/admin.html:76 app/templates/step3.html:31
msgid "Access point is only enabled when using a Raspberry Pi."
msgstr "El punto de acceso solo se habilita al usar una Raspberry Pi."
#: app/templates/admin.html:99 app/templates/admin_setup.html:19
#: app/templates/step4.html:4
msgid "Secure Admin Settings"
msgstr "Configuración de administrador segura"
#: app/templates/admin.html:102 app/templates/step4.html:14
msgid "Password for accessing this admin interface."
msgstr "Contraseña para acceder a esta interfaz de administración."
#: app/templates/admin.html:117 app/templates/step4.html:29
msgid ""
"You need to set a root password, and choose whether you want to lock the "
"root\n"
" account."
msgstr ""
"Debes establecer una contraseña de root y elegir si deseas bloquear el "
"root.\n"
" cuenta."
#: app/templates/admin.html:123 app/templates/step4.html:35
msgid "Password for accessing the root account."
msgstr "Contraseña para acceder a la cuenta de administrador."
#: app/templates/admin_setup.html:6 app/templates/base.html:36
msgid "Admin Settings"
msgstr "Configuración de administrador"
#: app/templates/deltachat_creds.html:4
msgid "Secure Messenger Account"
msgstr "Cuenta de mensajería segura"
#: app/templates/deltachat_creds.html:9
msgid "Scan the following QR code with a device where DeltaChat is installed:"
msgstr ""
"Escanea el siguiente código QR con un dispositivo donde esté instalado "
"DeltaChat:"
#: app/templates/deltachat_creds.html:14
msgid ""
"If your device does not have a camera, select \"Create new profile\" in "
"DeltaChat, choose \"Use Other Server\" and find \"Paste from clipboard\","
" to paste the following link"
msgstr ""
"Si tu dispositivo no tiene cámara, selecciona \"Crear nuevo perfil\" en "
"DeltaChat, elige \"Usar otro servidor\" y busca \"Pegar desde el "
"portapapeles\" para pegar el siguiente enlace"
#: app/templates/deltachat_creds.html:21
msgid "Generate new credentials"
msgstr "Generar nuevas credenciales"
#: app/templates/first_setup_main_page.html:6
msgid "Set up your box"
msgstr "Configura tu caja"
#: app/templates/first_setup_main_page.html:9
msgid "Version"
msgstr "Versión"
#: app/templates/first_setup_main_page.html:12
msgid ""
"You have full control over the services on this box and its security. "
"Continue to Admin Settings to personalize your setup."
msgstr ""
"Tu tienes control total sobre los servicios de este dispositivo y su "
"seguridad. Continúa con la configuración de administrador para personalizar "
"tu caja."
#: app/templates/first_setup_main_page.html:13
msgid "Continue"
msgstr "Continuar"
#: app/templates/index.html:4
msgid "Welcome."
msgstr "Bienvenido."
#: app/templates/index.html:5
msgid ""
"View and download the information you want from this offline\n"
" box."
msgstr ""
"Visualiza y descarga la información que desees desde este sitio sin "
"conexión.\n"
" caja."
#: app/templates/messaging.html:7
msgid ""
"To use secure messaging, install Delta Chat and then create your local "
"offline account."
msgstr ""
"Para usar la mensajería segura, instala Delta Chat y luego crea su cuenta "
"local sin conexión."
#: app/templates/messaging.html:10
msgid "Step 1"
msgstr "Paso 1"
#: app/templates/messaging.html:10
msgid "Download and install"
msgstr "Descargar e instalar"
#: app/templates/messaging.html:16
msgid "Step 2"
msgstr "Paso 2"
#: app/templates/messaging.html:16
msgid "Create offline account"
msgstr "Crear cuenta sin conexión"
#: app/templates/setup_complete.html:4
msgid "Changes have been applied"
msgstr "Se han aplicado cambios"
#: app/templates/setup_complete.html:7
msgid "The box will now reboot to apply settings. This can take up to one minute."
msgstr ""
"El dispositivo se reiniciará para aplicar la configuración. Esto puede "
"tardar hasta un minuto."
#: app/templates/setup_complete.html:8
msgid "Continue to Portal"
msgstr "Continuar al Portal"
#: app/templates/share.html:4
msgid "Share access to"
msgstr "Compartir acceso a"
#: app/templates/share.html:9
msgid "Connect to WiFi name:"
msgstr "Conéctate a la red WiFi:"
#: app/templates/share.html:9
msgid "with password:"
msgstr "con contraseña:"
#: app/templates/share.html:11
msgid "Your WiFi name is"
msgstr "Tu WiFi es"
#: app/templates/share.html:11
msgid "You will be able to join without a password."
msgstr "Podrás unirte sin contraseña."
#: app/templates/share.html:13
msgid "You can also use the following QR code to join:"
msgstr "También puedes usar el siguiente código QR para unirte:"
#: app/templates/step1.html:5
msgid ""
"To learn more about individual services and what is required to run them,"
" visit the Help Center. You can change the services anytime."
msgstr ""
"Para obtener más información sobre los servicios individuales y los "
"requisitos para su funcionamiento, visita el Centro de ayuda. Puede "
"modificar los servicios en cualquier momento."
#: app/templates/step1.html:25 app/templates/step2.html:29
#: app/templates/step3.html:53 app/templates/step4.html:54
msgid "Back"
msgstr "Atrás"
#: app/templates/step2.html:5
msgid ""
"The URL is the address users will enter into a browser after they connect"
" to the box network. From here, they can view the portal. This cannot be "
"changed later."
msgstr ""
"La URL es la dirección que los usuarios ingresarán en un navegador después "
"de conectarse a la red del dispositivo. Desde allí, podrán acceder al "
"portal. Esta URL no se puede modificar posteriormente."
#: app/templates/step2.html:18
msgid ""
"This is the URL used to access the box by adding .local in your browser.\n"
" Current hostname:"
msgstr ""
"Esta es la URL que se utiliza para acceder al dispositivo añadiendo .local "
"en su navegador.\n"
" Nombre de host actual:"
#: app/templates/usb-file-viewer.html:5
msgid "File Viewer"
msgstr "Visor de archivos"
#: app/templates/usb-file-viewer.html:11
msgid "File Name"
msgstr "Nombre del archivo"
#: app/templates/usb-file-viewer.html:12
msgid "Date modified"
msgstr "Fecha de modificación"
#: app/templates/usb-file-viewer.html:13 app/templates/usb-file-viewer.html:30
msgid "Download"
msgstr "Descargar"
#: app/templates/usb-file-viewer.html:39
msgid "Directory is empty"
msgstr "El directorio está vacío"

View file

@ -8,7 +8,7 @@ class Config:
SETTINGS_CHANGED = False SETTINGS_CHANGED = False
BUTTERBOX_SSID= "butterbox" BUTTERBOX_SSID= "butterbox"
BUTTERBOX_WIFI_PASSWORD= "" BUTTERBOX_WIFI_PASSWORD= ""
LANGUAGES = ['en', 'ru'] LANGUAGES = ['en', 'es', 'ru']
BUTTERBOX_DEFAULT_IP = "10.3.141.1" BUTTERBOX_DEFAULT_IP = "10.3.141.1"
BUTTERBOX_USB_PATH = "/media/usb-butter/" BUTTERBOX_USB_PATH = "/media/usb-butter/"