diff --git a/app/translations/es/LC_MESSAGES/messages.mo b/app/translations/es/LC_MESSAGES/messages.mo new file mode 100644 index 0000000..f97b515 Binary files /dev/null and b/app/translations/es/LC_MESSAGES/messages.mo differ diff --git a/app/translations/es/LC_MESSAGES/messages.po b/app/translations/es/LC_MESSAGES/messages.po new file mode 100644 index 0000000..4f20162 --- /dev/null +++ b/app/translations/es/LC_MESSAGES/messages.po @@ -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 , 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 \n" +"Language-Team: Spanish \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" diff --git a/config.py b/config.py index 59a4164..00fba67 100644 --- a/config.py +++ b/config.py @@ -8,7 +8,7 @@ class Config: SETTINGS_CHANGED = False BUTTERBOX_SSID= "butterbox" BUTTERBOX_WIFI_PASSWORD= "" - LANGUAGES = ['en', 'ru'] + LANGUAGES = ['en', 'es', 'ru'] BUTTERBOX_DEFAULT_IP = "10.3.141.1" BUTTERBOX_USB_PATH = "/media/usb-butter/"