Package: release.debian.org Control: affects -1 + src:freedombox X-Debbugs-Cc: freedombox@packages.debian.org User: release.debian.org@packages.debian.org Usertags: unblock X-Debbugs-Cc: jvalleroy@mailbox.org Severity: normal Please unblock package freedombox freedombox 25.9 in unstable has the following updates: 1. Bugfix for the Minetest app in FreedomBox, to handle the rename of minetest-server to luanti-server. We have tested that the app can be installed and run on Trixie with this fix. 2. Updated translations for Catalan, French, Hindi, and Telugu. 3. Updated the FreedomBox user manual. unblock freedombox/25.9
diff -Nru freedombox-25.8/debian/changelog freedombox-25.9/debian/changelog --- freedombox-25.8/debian/changelog 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/debian/changelog 2025-05-05 20:29:19.000000000 -0400 @@ -1,3 +1,37 @@ +freedombox (25.9) unstable; urgency=medium + + [ klu2300030052 ] + * Translated using Weblate (Telugu) + + [ klu2300090005 ] + * Translated using Weblate (Hindi) + + [ John Doe ] + * Translated using Weblate (French) + + [ Bekkam B S M G Babi ] + * Translated using Weblate (Telugu) + + [ Thulasi Edhala ] + * Translated using Weblate (Telugu) + * Translated using Weblate (Hindi) + + [ swaroop02-cse ] + * Translated using Weblate (Telugu) + + [ Torra-Merin ] + * Added translation using Weblate (Catalan) + * Translated using Weblate (Catalan) + + [ Sunil Mohan Adapa ] + * minetest: Work with new luanti binary in Trixie + * minetest: Create the configuration directory if necessary for Trixie + + [ James Valleroy ] + * doc: Fetch latest manual + + -- James Valleroy <jvalleroy@mailbox.org> Mon, 05 May 2025 20:29:19 -0400 + freedombox (25.8) unstable; urgency=medium [ James Valleroy ] diff -Nru freedombox-25.8/doc/manual/en/Nextcloud.raw.wiki freedombox-25.9/doc/manual/en/Nextcloud.raw.wiki --- freedombox-25.8/doc/manual/en/Nextcloud.raw.wiki 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/doc/manual/en/Nextcloud.raw.wiki 2025-05-05 20:29:19.000000000 -0400 @@ -13,8 +13,6 @@ '''Available since''': !FreedomBox 24.8 -Nextcloud is considered experimental in !FreedomBox having to do with the integration of the Nextcloud container in the !FreedomBox system. - === What is Nextcloud? === This page is new and needs a Nexcloud user to help with the content. This could be you! @@ -41,6 +39,7 @@ * Upstream Project: https://nextcloud.com/ * Upstream documentation: https://nextcloud.com/support/ * Upstream support forum: https://help.nextcloud.com/ + * The source code for the container image used by !FreedomBox: https://github.com/nextcloud/docker * Debian Nextcloud wiki: https://wiki.debian.org/Nextcloud {{{#!wiki comment diff -Nru freedombox-25.8/doc/manual/en/ReleaseNotes.raw.wiki freedombox-25.9/doc/manual/en/ReleaseNotes.raw.wiki --- freedombox-25.8/doc/manual/en/ReleaseNotes.raw.wiki 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/doc/manual/en/ReleaseNotes.raw.wiki 2025-05-05 20:29:19.000000000 -0400 @@ -8,6 +8,13 @@ The following are the release notes for each !FreedomBox version. +== FreedomBox 25.9 (2025-05-05) == + + * locale: Add translation for Catalan + * locale: Update translations for French, Hindi, Telugu + * minetest: Create the configuration directory if necessary for Trixie + * minetest: Work with new luanti binary in Trixie + == FreedomBox 25.8 (2025-04-21) == === Highlights === diff -Nru freedombox-25.8/doc/manual/es/ReleaseNotes.raw.wiki freedombox-25.9/doc/manual/es/ReleaseNotes.raw.wiki --- freedombox-25.8/doc/manual/es/ReleaseNotes.raw.wiki 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/doc/manual/es/ReleaseNotes.raw.wiki 2025-05-05 20:29:19.000000000 -0400 @@ -8,6 +8,13 @@ The following are the release notes for each !FreedomBox version. +== FreedomBox 25.9 (2025-05-05) == + + * locale: Add translation for Catalan + * locale: Update translations for French, Hindi, Telugu + * minetest: Create the configuration directory if necessary for Trixie + * minetest: Work with new luanti binary in Trixie + == FreedomBox 25.8 (2025-04-21) == === Highlights === diff -Nru freedombox-25.8/plinth/__init__.py freedombox-25.9/plinth/__init__.py --- freedombox-25.8/plinth/__init__.py 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/plinth/__init__.py 2025-05-05 20:29:19.000000000 -0400 @@ -3,4 +3,4 @@ Package init file. """ -__version__ = '25.8' +__version__ = '25.9' diff -Nru freedombox-25.8/plinth/locale/ca/LC_MESSAGES/django.po freedombox-25.9/plinth/locale/ca/LC_MESSAGES/django.po --- freedombox-25.8/plinth/locale/ca/LC_MESSAGES/django.po 1969-12-31 19:00:00.000000000 -0500 +++ freedombox-25.9/plinth/locale/ca/LC_MESSAGES/django.po 2025-05-05 20:29:19.000000000 -0400 @@ -0,0 +1,9325 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-04-21 20:08-0400\n" +"PO-Revision-Date: 2025-05-02 22:04+0000\n" +"Last-Translator: Torra-Merin <marti.torra@natana.cat>\n" +"Language-Team: Catalan <https://hosted.weblate.org/projects/freedombox/" +"freedombox/ca/>\n" +"Language: ca\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.12-dev\n" + +#: config.py:103 +#, python-brace-format +msgid "Static configuration {etc_path} is setup properly" +msgstr "La configuració estàtica {etc_path} s'ha establert correctament" + +#: context_processors.py:21 views.py:168 +msgid "FreedomBox" +msgstr "FreedomBox" + +#: daemon.py:124 +#, python-brace-format +msgid "Service {service_name} is running" +msgstr "El servei {service_name} està en marxa" + +#: daemon.py:222 +#, python-brace-format +msgid "Listening on {kind} port {listen_address}:{port}" +msgstr "Escoltant a {kind} port {listen_address}:{port}" + +#: daemon.py:225 +#, python-brace-format +msgid "Listening on {kind} port {port}" +msgstr "Escoltant a {kind} port {port}" + +#: daemon.py:296 +#, python-brace-format +msgid "Connect to {host}:{port}" +msgstr "Connecta't a {host}:{port}" + +#: daemon.py:304 +#, python-brace-format +msgid "Cannot connect to {host}:{port}" +msgstr "No s'ha pogut connectar a {host}:{port}" + +#: forms.py:36 +msgid "Backup app before uninstall" +msgstr "Fes una còpia de seguretat de l'aplicació abans de desinstal·lar-la" + +#: forms.py:37 +msgid "Restoring from the backup will restore app data." +msgstr "" +"La recuperació d'una còpia de seguretat restaurarà les dades de l'aplicació." + +#: forms.py:39 +msgid "Repository to backup to" +msgstr "Repositori des d'on recuperar" + +#: forms.py:64 +msgid "Select a domain name to be used with this application" +msgstr "Selecciona un nom de domini per utilitzar-lo amb aquesta aplicació" + +#: forms.py:66 +msgid "" +"Warning! The application may not work properly if domain name is changed " +"later." +msgstr "" +"Compte! L'aplicació podria no funcionar correctament si el nom del domini es " +"canvia més tard." + +#: forms.py:80 modules/coturn/forms.py:31 modules/mumble/forms.py:21 +msgid "TLS domain" +msgstr "Domini TLS" + +#: forms.py:82 modules/coturn/forms.py:33 modules/mumble/forms.py:23 +msgid "" +"Select a domain to use TLS with. If the list is empty, please configure at " +"least one domain with certificates." +msgstr "" +"Selecciona un domini amb el que utilitzar TLS. Si la llista és buida, " +"configura com a mínim un domini amb certificats si us plau." + +#: forms.py:92 +msgid "Language" +msgstr "Llengua" + +#: forms.py:93 +msgid "Language to use for presenting this web interface" +msgstr "Llengua que s'utilitzarà per presentar aquesta interfície web" + +#: forms.py:100 +msgid "Use the language preference set in the browser" +msgstr "Utilitza la configuració de llengua del navegador" + +#: menu.py:116 templates/base.html:120 +msgid "Home" +msgstr "Inici" + +#: menu.py:117 templates/base.html:129 +msgid "Apps" +msgstr "Aplicacions" + +#: menu.py:119 menu.py:126 templates/base.html:138 +msgid "System" +msgstr "Sistema" + +#: menu.py:122 +msgid "Visibility" +msgstr "Visibilitat" + +#: menu.py:124 +msgid "Data" +msgstr "Dades" + +#: menu.py:128 modules/networks/templates/connection_show.html:274 +#: modules/security/__init__.py:35 modules/upgrades/manifest.py:10 +msgid "Security" +msgstr "Seguretat" + +#: menu.py:130 +msgid "Administration" +msgstr "Administració" + +#: middleware.py:134 +msgid "System is possibly under heavy load. Please retry later." +msgstr "" +"Segurament el sistema es troba sota molta càrrega. Si us plau, intenta-ho " +"més tard." + +#: middleware.py:147 +#, python-brace-format +msgid "Page not found: {url}" +msgstr "Pàgina no trobada: {url}" + +#: middleware.py:150 +msgid "Error running operation." +msgstr "Error al intentar la operació." + +#: middleware.py:152 +msgid "Error loading page." +msgstr "Error al carregar la pàgina." + +#: modules/apache/__init__.py:32 +msgid "Apache HTTP Server" +msgstr "Servidor HTTP d'Apache" + +#: modules/apache/__init__.py:46 +msgid "Web Server" +msgstr "Servidor Web" + +#: modules/apache/__init__.py:52 +#, python-brace-format +msgid "{box_name} Web Interface (Plinth)" +msgstr "{box_name} Interfície Web (Plinth)" + +#: modules/apache/components.py:162 +#, python-brace-format +msgid "Access URL {url} on tcp{kind}" +msgstr "Accedeix a l'URL {url} a tcp{kind}" + +#: modules/apache/components.py:165 +#, python-brace-format +msgid "Access URL {url}" +msgstr "Accedeix a l'URL {url}" + +#: modules/avahi/__init__.py:24 +#, python-brace-format +msgid "" +"Service discovery allows other devices on the network to discover your " +"{box_name} and services running on it. It also allows {box_name} to " +"discover other devices and services running on your local network. Service " +"discovery is not essential and works only on internal networks. It may be " +"disabled to improve security especially when connecting to a hostile local " +"network." +msgstr "" +"La descoberta de serveis permet a altres dispositius de la xarxa que " +"descobreixin la teva {box_name} i els serveis que té. També permet a la teva " +"{box_name} descobrir altres serveis que funcionen a la teva xarxa local. La " +"descoberta de serveis no és essencial i només funciona amb xarxes internes. " +"Pot ser deshabilitada per augmentar la seguretat, especialment si et " +"connectes a una xarxa local hostil." + +#: modules/avahi/__init__.py:47 +msgid "Service Discovery" +msgstr "Descoberta de Serveis" + +#: modules/avahi/__init__.py:62 +msgid "Local Network Domain" +msgstr "Domini de la Xarxa Local" + +#: modules/avahi/manifest.py:14 +msgid "Auto-discovery" +msgstr "Descobriment Automàtic" + +#: modules/avahi/manifest.py:14 modules/backups/manifest.py:17 +msgid "Local" +msgstr "Local" + +#: modules/avahi/manifest.py:14 +msgid "mDNS" +msgstr "mDNS" + +#: modules/backups/__init__.py:24 +msgid "Backups allows creating and managing backup archives." +msgstr "" +"Còpies de Seguretat permet crear i gestionar arxius de còpia de seguretat." + +#: modules/backups/__init__.py:44 modules/backups/__init__.py:174 +#: modules/backups/__init__.py:219 +msgid "Backups" +msgstr "Còpies de Seguretat" + +#: modules/backups/__init__.py:171 +msgid "" +"Enable an automatic backup schedule for data safety. Prefer an encrypted " +"remote backup location or an extra attached disk." +msgstr "" +"Activa una programació automàtica de còpies de seguretat per garantir la " +"seguretat de les dades. Prefereix una ubicació de còpia de seguretat remota " +"xifrada o un disc addicional connectat." + +#: modules/backups/__init__.py:177 +msgid "Enable a Backup Schedule" +msgstr "Activa una programació de Còpies de Seguretat" + +#: modules/backups/__init__.py:181 modules/backups/__init__.py:228 +#: modules/privacy/__init__.py:84 modules/storage/__init__.py:326 +#: modules/upgrades/__init__.py:152 +#, python-brace-format +msgid "Go to {app_name}" +msgstr "Ves a {app_name}" + +#: modules/backups/__init__.py:216 +#, python-brace-format +msgid "" +"A scheduled backup failed. Past {error_count} attempts for backup did not " +"succeed. The latest error is: {error_message}" +msgstr "" +"Ha fallat una còpia de seguretat programada. Els darrers {error_count} " +"intents de còpia de seguretat no han tingut èxit. L’últim error és: " +"{error_message}" + +#: modules/backups/__init__.py:224 +msgid "Error During Backup" +msgstr "Error al fer la Còpia de Seguretat" + +#: modules/backups/forms.py:34 +#, python-brace-format +msgid "{app} (No data to backup)" +msgstr "{app} (No hi ha dades per fer una còpia de seguretat)" + +#: modules/backups/forms.py:54 +msgid "Enable scheduled backups" +msgstr "Habilita les còpies de seguretat programades" + +#: modules/backups/forms.py:55 +msgid "" +"If enabled, a backup is taken every day, every week and every month. Older " +"backups are removed." +msgstr "" +"Si està activat, es fa una còpia de seguretat cada dia, cada setmana i cada " +"mes. Les còpies de seguretat antigues s’eliminen." + +#: modules/backups/forms.py:59 +msgid "Number of daily backups to keep" +msgstr "Número de còpies de seguretat diàries a mantenir" + +#: modules/backups/forms.py:60 +msgid "" +"This many latest backups are kept and the rest are removed. A value of \"0\" " +"disables backups of this type. Triggered at specified hour every day." +msgstr "" +"Es conserven aquest nombre de còpies de seguretat més recents i la resta s’" +"eliminen. Un valor de «0» desactiva les còpies de seguretat d’aquest tipus. " +"Es duen a terme cada dia a l’hora especificada." + +#: modules/backups/forms.py:65 +msgid "Number of weekly backups to keep" +msgstr "Número de còpies de seguretat setmanals a mantenir" + +#: modules/backups/forms.py:67 +msgid "" +"This many latest backups are kept and the rest are removed. A value of \"0\" " +"disables backups of this type. Triggered at specified hour every Sunday." +msgstr "" +"Es conserven aquest nombre de còpies de seguretat més recents i la resta s’" +"eliminen. Un valor de «0» desactiva les còpies de seguretat d’aquest tipus. " +"S’executa a l’hora especificada cada diumenge." + +#: modules/backups/forms.py:72 +msgid "Number of monthly backups to keep" +msgstr "Número de còpies de seguretat mensuals a mantenir" + +#: modules/backups/forms.py:74 +msgid "" +"This many latest backups are kept and the rest are removed. A value of \"0\" " +"disables backups of this type. Triggered at specified hour first day of " +"every month." +msgstr "" +"Es conserven aquest nombre de còpies de seguretat més recents i la resta s’" +"eliminen. Un valor de «0» desactiva les còpies de seguretat d’aquest tipus. " +"S’executa a l’hora especificada el primer dia de cada mes." + +#: modules/backups/forms.py:79 +msgid "Hour of the day to trigger backup operation" +msgstr "Hora del dia per activar l'operació de còpia de seguretat" + +#: modules/backups/forms.py:81 +msgid "" +"In 24 hour format. Services may become temporarily unavailable while running " +"backup operation at this time of the day." +msgstr "" +"En format de 24 hores. Els serveis poden quedar temporalment inaccessibles " +"mentre s'executa l'operació de còpia de seguretat a aquesta hora del dia." + +#: modules/backups/forms.py:85 modules/backups/forms.py:107 +msgid "Included apps" +msgstr "Aplicacions incloses" + +#: modules/backups/forms.py:85 modules/backups/forms.py:107 +msgid "Apps to include in the backup" +msgstr "Aplicacions que s'inclouran a la còpia de seguretat" + +#: modules/backups/forms.py:101 +msgid "Repository" +msgstr "Repositori" + +#: modules/backups/forms.py:103 +#: modules/backups/templates/backups_delete.html:17 modules/ikiwiki/forms.py:15 +#: modules/networks/templates/connection_show.html:75 +#: modules/samba/templates/samba.html:66 +#: modules/sharing/templates/sharing.html:32 +msgid "Name" +msgstr "Nom" + +#: modules/backups/forms.py:104 +msgid "(Optional) Set a name for this backup archive" +msgstr "(Opcional) Tria un nom per aquest arxiu de còpia de seguretat" + +#: modules/backups/forms.py:125 +msgid "Select the apps you want to restore" +msgstr "Selecciona les aplicacions que vols restaurar" + +#: modules/backups/forms.py:141 modules/kiwix/forms.py:21 +msgid "Upload File" +msgstr "Penja un Fitxer" + +#: modules/backups/forms.py:143 +msgid "Backup files have to be in .tar.gz format" +msgstr "Els arxius de còpia de seguretat han d'estar en un format .tar.gz" + +#: modules/backups/forms.py:145 +#, python-brace-format +msgid "" +"Select the backup file to upload from the local computer. This must be a " +"file previously downloaded from the result of a successful backup on a " +"{box_name}. It must have a .tar.gz extension." +msgstr "" +"Selecciona el fitxer de còpia de seguretat per pujar des de l'ordinador " +"local. Aquest ha de ser un fitxer prèviament descarregat dels resultats " +"d'una còpia de seguretat exitosa en un {box_name}. Ha de tenir l'extensió " +".tar.gz." + +#: modules/backups/forms.py:154 +msgid "Repository path format incorrect." +msgstr "Camí del repositori en format incorrecte." + +#: modules/backups/forms.py:161 +#, python-brace-format +msgid "Invalid username: {username}" +msgstr "Nom d'usuari incorrecte: {username}" + +#: modules/backups/forms.py:171 +#, python-brace-format +msgid "Invalid hostname: {hostname}" +msgstr "Nom d'amfitrió no vàlid: {hostname}" + +#: modules/backups/forms.py:175 +#, python-brace-format +msgid "Invalid directory path: {dir_path}" +msgstr "Ruta de directori no vàlida: {dir_path}" + +#: modules/backups/forms.py:181 modules/letsencrypt/manifest.py:11 +msgid "Encryption" +msgstr "Encriptació" + +#: modules/backups/forms.py:182 +msgid "" +"\"Key in Repository\" means that a password-protected key is stored with the " +"backup." +msgstr "" +"\"Clau al repositori\" significa que una clau protegida per contrasenya està " +"emmagatzemada amb la còpia de seguretat." + +#: modules/backups/forms.py:184 +msgid "Key in Repository" +msgstr "Clau al Repositori" + +#: modules/backups/forms.py:184 +#: modules/matrixsynapse/templates/matrix-synapse.html:67 +#: modules/searx/forms.py:14 +msgid "None" +msgstr "Cap" + +#: modules/backups/forms.py:186 modules/networks/forms.py:340 +msgid "Passphrase" +msgstr "Contrasenya" + +#: modules/backups/forms.py:187 +msgid "Passphrase; Only needed when using encryption." +msgstr "Contrasenya; Només es necessita si s'utilitza encriptació." + +#: modules/backups/forms.py:190 +msgid "Confirm Passphrase" +msgstr "Confirma la Contrasenya" + +#: modules/backups/forms.py:190 +msgid "Repeat the passphrase." +msgstr "Repeteix la Contrasenya." + +#: modules/backups/forms.py:201 +msgid "The entered encryption passphrases do not match" +msgstr "Les contrasenyes d'encriptació que s'han introduït no coincideixen" + +#: modules/backups/forms.py:205 +msgid "Passphrase is needed for encryption." +msgstr "La contrasenya és necessària per a poder encriptar." + +#: modules/backups/forms.py:240 +msgid "Select Disk or Partition" +msgstr "Selecciona un Disc o Partició" + +#: modules/backups/forms.py:241 +msgid "Backups will be stored in the directory FreedomBoxBackups" +msgstr "Les còpies de seguretat es desaran al directori FreedomBoxBackups" + +#: modules/backups/forms.py:250 +msgid "SSH Repository Path" +msgstr "Camí del Repositori SSH" + +#: modules/backups/forms.py:251 +msgid "" +"Path of a new or existing repository. Example: <i>user@host:~/path/to/repo/</" +"i>" +msgstr "" +"Ruta d'un repositori nou o existent. Exemple: <i>user@host:~/path/to/repo/" +"</i>" + +#: modules/backups/forms.py:255 +msgid "SSH server password" +msgstr "Contrasenya del Servidor SSH" + +#: modules/backups/forms.py:256 +msgid "" +"Password of the SSH Server.<br />SSH key-based authentication is not yet " +"possible." +msgstr "" +"Contrasenya del servidor SSH.<br>L'autenticació mitjançant clau SSH encara " +"no és possible." + +#: modules/backups/forms.py:275 +msgid "Remote backup repository already exists." +msgstr "El repositori de còpies de seguretat remot ja existeix." + +#: modules/backups/forms.py:281 +msgid "Select verified SSH public key" +msgstr "Selecciona la clau pública SSH verificada" + +#: modules/backups/manifest.py:14 +#: modules/backups/templates/backups_repository.html:92 +#: modules/backups/templates/backups_restore.html:27 +#: modules/backups/views.py:238 modules/snapshot/manifest.py:14 +#: templates/toolbar.html:44 templates/toolbar.html:45 +msgid "Restore" +msgstr "Restaurar" + +#: modules/backups/manifest.py:15 +msgid "Encrypted" +msgstr "Encriptat" + +#: modules/backups/manifest.py:16 +msgid "Schedules" +msgstr "Programat" + +#: modules/backups/manifest.py:18 +msgid "Remote" +msgstr "Remot" + +#: modules/backups/manifest.py:19 +msgid "App data" +msgstr "Dades d'aplicació" + +#: modules/backups/manifest.py:20 +#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: modules/miniflux/templates/miniflux.html:12 +#: modules/snapshot/templates/snapshot.html:13 templates/app.html:52 +msgid "Configuration" +msgstr "Configuració" + +#: modules/backups/manifest.py:21 +msgid "Borg" +msgstr "Borg" + +#: modules/backups/privileged.py:34 +msgid "" +"Connection refused - make sure you provided correct credentials and the " +"server is running." +msgstr "" +"Connexió refusada: assegura't d'haver proporcionat les credencials correctes " +"i que el servidor està en funcionament." + +#: modules/backups/privileged.py:41 +msgid "Connection refused" +msgstr "Connexió rebutjada" + +#: modules/backups/privileged.py:48 +msgid "Repository not found" +msgstr "Repositori no trobat" + +#: modules/backups/privileged.py:53 +msgid "Incorrect encryption passphrase" +msgstr "Contrasenya d'encriptació incorrecta" + +#: modules/backups/privileged.py:58 +msgid "SSH access denied" +msgstr "Accés SSH denegat" + +#: modules/backups/privileged.py:64 +msgid "Repository path is neither empty nor is an existing backups repository." +msgstr "" +"La ruta del repositori no està buida ni és un repositori de còpies de " +"seguretat existent." + +#: modules/backups/privileged.py:77 +msgid "An archive with given name already exists in the repository." +msgstr "Ja existeix un arxiu amb aquest nom al repositori." + +#: modules/backups/privileged.py:84 +msgid "Archive with given name was not found in the repository." +msgstr "No s'ha trobat cap arxiu amb aquest nom al repositori." + +#: modules/backups/privileged.py:90 +msgid "Backup system is busy with another operation." +msgstr "El sistema de còpies de seguretat està ocupat amb una altra operació." + +#: modules/backups/privileged.py:95 +msgid "Not enough space left on the disk or remote location." +msgstr "No hi ha prou espai disponible al disc o a la ubicació remota." + +#: modules/backups/repository.py:94 +msgid "Existing repository is not encrypted." +msgstr "El repositori existent no està xifrat." + +#: modules/backups/repository.py:289 +#, python-brace-format +msgid "{box_name} storage" +msgstr "Emmagatzematge de {box_name}" + +#: modules/backups/templates/backups.html:17 modules/backups/views.py:124 +msgid "Create a new backup" +msgstr "Crea una còpia de seguretat nova" + +#: modules/backups/templates/backups.html:21 +msgid "Create Backup" +msgstr "Crea una còpia de seguretat" + +#: modules/backups/templates/backups.html:24 +msgid "Upload and restore a backup archive" +msgstr "Penja i restaura un arxiu de còpia de seguretat" + +#: modules/backups/templates/backups.html:28 +msgid "Upload and Restore" +msgstr "Penja i restaura" + +#: modules/backups/templates/backups.html:31 +msgid "Add a backup location" +msgstr "Afegeix una ubicació de còpia de seguretat" + +#: modules/backups/templates/backups.html:35 +msgid "Add Backup Location" +msgstr "Afegeix ubicació de còpia de seguretat" + +#: modules/backups/templates/backups.html:38 +msgid "Add a remote backup location" +msgstr "Afegeix una ubicació de còpia de seguretat remota" + +#: modules/backups/templates/backups.html:42 +msgid "Add Remote Backup Location" +msgstr "Afegeix ubicació de còpia de seguretat remota" + +#: modules/backups/templates/backups.html:46 +msgid "Existing Backups" +msgstr "Còpies de seguretat existents" + +#: modules/backups/templates/backups_add_remote_repository.html:21 +#: modules/backups/templates/backups_upload.html:28 +#: modules/backups/templates/verify_ssh_hostkey.html:27 +#: modules/diagnostics/templates/diagnostics_full.html:60 +#: modules/help/templates/help_about.html:22 +#: modules/help/templates/statuslog.html:24 +#: modules/kiwix/templates/kiwix-add-package.html:26 +#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28 +#: modules/matrixsynapse/templates/matrix-synapse.html:81 +#: modules/names/templates/names.html:159 +#: modules/networks/templates/connection_show.html:24 +#: modules/pagekite/templates/pagekite_custom_services.html:16 +#: modules/power/templates/power_busy_warning.html:11 +#: modules/snapshot/templates/snapshot_not_supported.html:13 +#: modules/upgrades/templates/backports-firstboot.html:35 +#: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:17 +#: modules/upgrades/templates/upgrades-dist-upgrade.html:45 +#: modules/upgrades/templates/upgrades_configure.html:84 +#: modules/users/templates/users_firstboot.html:34 templates/app.html:31 +#: templates/messages.html:17 templates/setup.html:43 templates/setup.html:58 +msgid "Caution:" +msgstr "Precaució:" + +#: modules/backups/templates/backups_add_remote_repository.html:24 +#, python-format +msgid "" +"The credentials for this repository are stored on your %(box_name)s. <br /> " +"To restore a backup on a new %(box_name)s you need the SSH credentials and, " +"if chosen, the encryption passphrase." +msgstr "" +"Les credencials per a aquest repositori estan emmagatzemades al teu " +"%(box_name)s. <br> Per restaurar una còpia de seguretat en un nou %(box_name)" +"s necessites les credencials SSH i, si s'ha escollit, la frase de pas de " +"xifratge." + +#: modules/backups/templates/backups_add_remote_repository.html:34 +msgid "Create Location" +msgstr "Crea una ubicació" + +#: modules/backups/templates/backups_add_repository.html:19 +#: modules/gitweb/views.py:51 +msgid "Create Repository" +msgstr "Crea un repositori" + +#: modules/backups/templates/backups_delete.html:12 +msgid "Delete this archive permanently?" +msgstr "Vols eliminar aquest arxiu permanentment?" + +#: modules/backups/templates/backups_delete.html:18 +msgid "Time" +msgstr "Temps" + +#: modules/backups/templates/backups_delete.html:34 +#, python-format +msgid "Delete Archive %(name)s" +msgstr "Elimina l'arxiu %(name)s" + +#: modules/backups/templates/backups_repository.html:22 +msgid "This repository is encrypted" +msgstr "Aquest repositori està encriptat" + +#: modules/backups/templates/backups_repository.html:33 +msgid "Schedule" +msgstr "Programa" + +#: modules/backups/templates/backups_repository.html:44 +msgid "Unmount Location" +msgstr "Desmuntar la ubicació" + +#: modules/backups/templates/backups_repository.html:55 +msgid "Mount Location" +msgstr "Muntar la ubicació" + +#: modules/backups/templates/backups_repository.html:66 +msgid "Remove Backup Location. This will not delete the remote backup." +msgstr "" +"Elimina ubicació de còpia de seguretat. Això no suprimirà la còpia de " +"seguretat remota." + +#: modules/backups/templates/backups_repository.html:88 +msgid "Download" +msgstr "Descarrega" + +#: modules/backups/templates/backups_repository.html:114 +msgid "No archives currently exist." +msgstr "Actualment no existeixen arxius." + +#: modules/backups/templates/backups_repository_remove.html:13 +msgid "Are you sure that you want to remove this repository?" +msgstr "Estàs segur que vols eliminar aquest repositori?" + +#: modules/backups/templates/backups_repository_remove.html:19 +msgid "" +"The remote repository will not be deleted. This just removes the repository " +"from the listing on the backup page, you can add it again later on." +msgstr "" +"El repositori remot no serà eliminat. Això només elimina el repositori de la " +"llista de la pàgina de còpies de seguretat; podràs afegir-lo de nou més " +"endavant." + +#: modules/backups/templates/backups_repository_remove.html:31 +msgid "Remove Location" +msgstr "Eliminar ubicació" + +#: modules/backups/templates/backups_restore.html:15 +msgid "Restore data from" +msgstr "Restaura dades des de" + +#: modules/backups/templates/backups_upload.html:17 +#, python-format +msgid "" +"\n" +" Upload a backup file downloaded from another %(box_name)s to restore " +"its\n" +" contents. You can choose the apps you wish to restore after uploading " +"a\n" +" backup file.\n" +" " +msgstr "" +"\n" +" Carrega un fitxer de còpia de seguretat descarregat d'un altre " +"%(box_name)s per restaurar-ne \n" +"\t\tel contingut. Després de carregar el fitxer de còpia de seguretat, " +"podràs triar les aplicacions \n" +"\t\tque desitges restaurar.\n" +" " + +#: modules/backups/templates/backups_upload.html:31 +#, python-format +msgid "" +"You have %(max_filesize)s available to restore a backup. Exceeding this " +"limit can leave your %(box_name)s unusable." +msgstr "" +"Tens %(max_filesize)s disponibles per restaurar una còpia de seguretat. " +"Superar aquest límit pot deixar el teu %(box_name)s inutilitzable." + +#: modules/backups/templates/backups_upload.html:45 +msgid "Upload file" +msgstr "Penja un fitxer" + +#: modules/backups/templates/verify_ssh_hostkey.html:18 +#, python-format +msgid "" +"Could not reach SSH host %(hostname)s. Please verify that the host is up and " +"accepting connections." +msgstr "" +"No s'ha pogut arribar a l'amfitrió SSH %(hostname)s. Si us plau, verifica " +"que l'amfitrió estigui en funcionament i acceptant connexions." + +#: modules/backups/templates/verify_ssh_hostkey.html:34 +#, python-format +msgid "" +"The authenticity of SSH host %(hostname)s could not be established. The host " +"advertises the following SSH public keys. Please verify any one of them." +msgstr "" +"No s'ha pogut establir l'autenticitat de l'amfitrió SSH %(hostname)s. " +"L'amfitrió anuncia les següents claus públiques SSH. Si us plau, verifica'n " +"alguna." + +#: modules/backups/templates/verify_ssh_hostkey.html:46 +msgid "How to verify?" +msgstr "Com verificar?" + +#: modules/backups/templates/verify_ssh_hostkey.html:51 +msgid "" +"Run the following command on the SSH host machine. The output should match " +"one of the provided options. You can also use DSA, ECDSA, Ed25519 etc. " +"instead of RSA, by choosing the corresponding file." +msgstr "" +"Executa la següent ordre a la màquina amfitriona SSH. La sortida hauria de " +"coincidir amb una de les opcions proporcionades. També pots utilitzar DSA, " +"ECDSA, Ed25519, etc., en lloc de RSA, seleccionant el fitxer corresponent." + +#: modules/backups/templates/verify_ssh_hostkey.html:66 +msgid "Verify Host" +msgstr "Verifica l'amfitrió" + +#: modules/backups/views.py:68 +msgid "Backup schedule updated." +msgstr "Programació de còpies de seguretat actualitzada." + +#: modules/backups/views.py:87 +msgid "Schedule Backups" +msgstr "Programació de còpies de seguretat" + +#: modules/backups/views.py:148 +msgid "Archive created." +msgstr "Arxiu creat." + +#: modules/backups/views.py:160 +msgid "Delete Archive" +msgstr "Elimina l'arxiu" + +#: modules/backups/views.py:173 +msgid "Archive deleted." +msgstr "Arxiu eliminat" + +#: modules/backups/views.py:187 +msgid "Upload and restore a backup" +msgstr "Penja i restaura una còpia de seguretat" + +#: modules/backups/views.py:216 +msgid "Upload successful." +msgstr "S'ha penjat correctament." + +#: modules/backups/views.py:254 +msgid "No backup file found." +msgstr "No s'ha trobat cap arxiu de còpia de seguretat." + +#: modules/backups/views.py:262 +msgid "Restore from uploaded file" +msgstr "Restaura des de l'arxiu penjat" + +#: modules/backups/views.py:276 modules/backups/views.py:297 +msgid "Restored files from backup." +msgstr "Arxius restaurats des de la còpia de seguretat." + +#: modules/backups/views.py:327 +msgid "No additional disks available to add a repository." +msgstr "No hi ha discs addicionals disponibles per afegir un repositori." + +#: modules/backups/views.py:335 +msgid "Create backup repository" +msgstr "Crea repositori de còpia de seguretat" + +#: modules/backups/views.py:350 +msgid "Added new repository." +msgstr "S'ha afegit un nou repositori." + +#: modules/backups/views.py:364 +msgid "Create remote backup repository" +msgstr "Crea un repositori de còpia de seguretat remot" + +#: modules/backups/views.py:386 +msgid "Added new remote SSH repository." +msgstr "S'ha afegit un nou repositori remot SSH." + +#: modules/backups/views.py:408 +msgid "Verify SSH hostkey" +msgstr "Verifica la clau d'amfitrió SSH" + +#: modules/backups/views.py:434 +msgid "SSH host already verified." +msgstr "L'amfitrió SSH ja ha estat verificat." + +#: modules/backups/views.py:445 +msgid "SSH host verified." +msgstr "Amfitrió SSH verificat." + +#: modules/backups/views.py:461 +msgid "SSH host public key could not be verified." +msgstr "No s'ha pogut verificar la clau pública de l'amfitrió SSH." + +#: modules/backups/views.py:463 +msgid "Authentication to remote server failed." +msgstr "Ha fallat l'autenticació amb el servidor remot." + +#: modules/backups/views.py:465 +msgid "Error establishing connection to server: {}" +msgstr "Error en establir la connexió amb el servidor: {}" + +#: modules/backups/views.py:476 +msgid "Repository removed." +msgstr "Repositori eliminat." + +#: modules/backups/views.py:490 +msgid "Remove Repository" +msgstr "Elimina el repositori" + +#: modules/backups/views.py:500 +msgid "Repository removed. Backups were not deleted." +msgstr "Repositori eliminat. Les còpies de seguretat no han estat suprimides." + +#: modules/backups/views.py:511 +msgid "Unmounting failed!" +msgstr "Ha fallat el desmuntatge!" + +#: modules/backups/views.py:527 modules/backups/views.py:531 +msgid "Mounting failed" +msgstr "Ha fallat el muntatge" + +#: modules/bepasty/__init__.py:17 +msgid "" +"bepasty is a web application that allows large files to be uploaded and " +"shared. Text and code snippets can also be pasted and shared. Text, image, " +"audio, video and PDF documents can be previewed in the browser. Shared files " +"can be set to expire after a time period." +msgstr "" +"bepasty és una aplicació web que permet pujar i compartir fitxers grans. " +"També s'hi poden enganxar i compartir fragments de text i codi. Els textos, " +"imatges, àudios, vídeos i documents PDF es poden previsualitzar al " +"navegador. Els fitxers compartits poden configurar-se perquè caduquin " +"després d’un període de temps." + +#: modules/bepasty/__init__.py:21 +msgid "" +"bepasty does not use usernames for login. It only uses passwords. For each " +"password, a set of permissions can be selected. Once you have created a " +"password, you can share it with the users who should have the associated " +"permissions." +msgstr "" +"Bepasty és una aplicació web que permet pujar i compartir fitxers grans. " +"També es poden enganxar i compartir fragments de text i codi. Els textos, " +"imatges, àudio, vídeos i documents PDF es poden previsualitzar al navegador. " +"Els fitxers compartits es poden configurar perquè expirinin després d'un " +"cert període de temps." + +#: modules/bepasty/__init__.py:25 +msgid "" +"You can also create multiple passwords with the same set of privileges, and " +"distribute them to different people or groups. This will allow you to later " +"revoke access for a single person or group, by removing their password from " +"the list." +msgstr "" +"També pots crear diverses contrasenyes amb el mateix conjunt de privilegis i " +"distribuir-les a diferents persones o grups. Això et permetrà, més endavant, " +"revocar l'accés a una persona o grup específic, eliminant la seva " +"contrasenya de la llista." + +#: modules/bepasty/__init__.py:32 modules/bepasty/__init__.py:41 +msgid "Read a file, if a web link to the file is available" +msgstr "Llegeix un fitxer, si hi ha un enllaç web disponible per al fitxer" + +#: modules/bepasty/__init__.py:33 +msgid "Create or upload files" +msgstr "Crea o penja fitxers" + +#: modules/bepasty/__init__.py:34 +msgid "List all files and their web links" +msgstr "Llista tots els fitxers i els seus enllaços web" + +#: modules/bepasty/__init__.py:35 +msgid "Delete files" +msgstr "Elimina fitxers" + +#: modules/bepasty/__init__.py:36 +msgid "Administer files: lock/unlock files" +msgstr "Administrar fitxers: bloquejar/desbloquejar fitxers" + +#: modules/bepasty/__init__.py:40 +msgid "None, password is always required" +msgstr "Cap, sempre es requereix contrasenya" + +#: modules/bepasty/__init__.py:42 +msgid "List and read all files" +msgstr "Llistar i llegir tots els fitxers" + +#: modules/bepasty/__init__.py:57 modules/bepasty/manifest.py:6 +msgid "bepasty" +msgstr "bepasty" + +#: modules/bepasty/forms.py:17 +msgid "Public Access (default permissions)" +msgstr "" + +#: modules/bepasty/forms.py:18 +msgid "Permissions for anonymous users, who have not provided a password." +msgstr "" + +#: modules/bepasty/forms.py:27 modules/bepasty/templates/bepasty.html:30 +#: modules/users/forms.py:104 +msgid "Permissions" +msgstr "" + +#: modules/bepasty/forms.py:29 +msgid "" +"Users that log in with this password will have the selected permissions." +msgstr "" + +#: modules/bepasty/forms.py:33 modules/bepasty/templates/bepasty.html:31 +msgid "Comment" +msgstr "" + +#: modules/bepasty/forms.py:34 +msgid "Any comment to help you remember the purpose of this password." +msgstr "" + +#: modules/bepasty/manifest.py:23 modules/deluge/manifest.py:21 +#: modules/samba/manifest.py:89 modules/sharing/manifest.py:19 +#: modules/syncthing/manifest.py:58 modules/transmission/manifest.py:39 +msgid "File sharing" +msgstr "" + +#: modules/bepasty/manifest.py:23 +msgid "Pastebin" +msgstr "" + +#: modules/bepasty/templates/bepasty.html:12 +msgid "Manage Passwords" +msgstr "" + +#: modules/bepasty/templates/bepasty.html:16 +#: modules/bepasty/templates/bepasty.html:18 +msgid "Add password" +msgstr "" + +#: modules/bepasty/templates/bepasty.html:23 +msgid "No passwords currently configured." +msgstr "" + +#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:85 +#: modules/miniflux/forms.py:14 modules/networks/forms.py:282 +#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37 +msgid "Password" +msgstr "" + +#: modules/bepasty/views.py:19 +msgid "admin" +msgstr "" + +#: modules/bepasty/views.py:20 +msgid "editor" +msgstr "" + +#: modules/bepasty/views.py:21 +msgid "viewer" +msgstr "" + +#: modules/bepasty/views.py:47 +msgid "Read" +msgstr "" + +#: modules/bepasty/views.py:48 +msgid "Create" +msgstr "" + +#: modules/bepasty/views.py:49 +msgid "List" +msgstr "" + +#: modules/bepasty/views.py:50 +#: modules/dynamicdns/templates/dynamicdns-domain-delete.html:22 +#: modules/email/templates/email-aliases.html:24 +#: modules/featherwiki/templates/featherwiki_delete.html:34 +#: modules/letsencrypt/templates/letsencrypt.html:86 +#: modules/names/templates/names-domain-delete.html:22 +#: modules/names/templates/names.html:48 +#: modules/networks/templates/connection_show.html:60 +#: modules/samba/templates/samba.html:154 +#: modules/tiddlywiki/templates/tiddlywiki_delete.html:34 +#: modules/wireguard/templates/wireguard_delete_client.html:24 +#: modules/wireguard/templates/wireguard_delete_server.html:35 +#: modules/wireguard/templates/wireguard_show_client.html:77 +#: modules/wireguard/templates/wireguard_show_server.html:78 +msgid "Delete" +msgstr "" + +#: modules/bepasty/views.py:51 +msgid "Admin" +msgstr "" + +#: modules/bepasty/views.py:88 modules/diagnostics/views.py:66 +#: modules/nextcloud/views.py:62 modules/searx/views.py:35 +#: modules/searx/views.py:46 modules/security/views.py:56 +#: modules/snapshot/views.py:158 modules/tor/views.py:73 +#: modules/torproxy/views.py:71 modules/upgrades/views.py:82 +#: modules/zoph/views.py:74 +msgid "Configuration updated." +msgstr "" + +#: modules/bepasty/views.py:91 modules/email/views.py:48 +#: modules/gitweb/views.py:117 modules/searx/views.py:38 +#: modules/searx/views.py:49 modules/zoph/views.py:77 +msgid "An error occurred during configuration." +msgstr "" + +#: modules/bepasty/views.py:103 +msgid "Password added." +msgstr "" + +#: modules/bepasty/views.py:108 +msgid "Add Password" +msgstr "" + +#: modules/bepasty/views.py:122 +msgid "Password deleted." +msgstr "" + +#: modules/bind/__init__.py:17 +msgid "" +"BIND enables you to publish your Domain Name System (DNS) information on the " +"Internet, and to resolve DNS queries for your user devices on your network." +msgstr "" + +#: modules/bind/__init__.py:21 +#, python-brace-format +msgid "" +"Currently, on {box_name}, BIND is only used to resolve DNS queries for other " +"machines on local network. It is also incompatible with sharing Internet " +"connection from {box_name}." +msgstr "" + +#: modules/bind/__init__.py:40 +msgid "BIND" +msgstr "" + +#: modules/bind/forms.py:19 +msgid "Forwarders" +msgstr "" + +#: modules/bind/forms.py:20 +msgid "" +"A list DNS servers, separated by space, to which requests will be forwarded" +msgstr "" + +#: modules/bind/manifest.py:16 +msgid "DNS" +msgstr "" + +#: modules/bind/manifest.py:17 modules/mumble/manifest.py:67 +#: modules/radicale/manifest.py:91 modules/shadowsocks/forms.py:24 +msgid "Server" +msgstr "" + +#: modules/bind/manifest.py:18 +msgid "Resolver" +msgstr "" + +#: modules/bind/templates/bind.html:11 +msgid "Serving Domains" +msgstr "" + +#: modules/bind/templates/bind.html:17 +#: modules/email/templates/email-dns.html:25 +#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12 +#: modules/names/templates/names.html:18 +#: modules/networks/templates/connection_show.html:95 +#: modules/samba/templates/samba.html:65 +#: modules/storage/templates/storage.html:26 +msgid "Type" +msgstr "" + +#: modules/bind/templates/bind.html:18 +msgid "Domain Names" +msgstr "" + +#: modules/bind/templates/bind.html:19 +msgid "Serving" +msgstr "" + +#: modules/bind/templates/bind.html:20 +msgid "IP addresses" +msgstr "" + +#: modules/bind/templates/bind.html:37 modules/bind/templates/bind.html:39 +msgid "Refresh IP address and domains" +msgstr "" + +#: modules/bind/views.py:61 modules/config/views.py:67 +#: modules/coturn/views.py:40 modules/deluge/views.py:35 +#: modules/dynamicdns/views.py:100 modules/ejabberd/views.py:95 +#: modules/email/views.py:45 modules/matrixsynapse/views.py:149 +#: modules/minetest/views.py:55 modules/mumble/views.py:37 +#: modules/names/views.py:68 modules/names/views.py:97 +#: modules/names/views.py:123 modules/pagekite/forms.py:74 +#: modules/privacy/views.py:55 modules/quassel/views.py:29 +#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31 +#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48 +#: modules/sogo/views.py:32 modules/ssh/views.py:62 +#: modules/transmission/views.py:43 modules/ttrss/views.py:31 +#: modules/wordpress/views.py:31 +msgid "Configuration updated" +msgstr "" + +#: modules/calibre/__init__.py:24 +#, python-brace-format +msgid "" +"calibre server provides online access to your e-book collection. You can " +"store your e-books on your {box_name}, read them online or from any of your " +"devices." +msgstr "" + +#: modules/calibre/__init__.py:27 +msgid "" +"You can organize your e-books, extract and edit their metadata, and perform " +"advanced search. calibre can import, export, or convert across a wide range " +"of formats to make e-books ready for reading on any device. It also provides " +"an online web reader. It remembers your last read location, bookmarks, and " +"highlighted text. Content distribution using OPDS is currently not supported." +msgstr "" + +#: modules/calibre/__init__.py:33 +msgid "" +"Only users belonging to <em>calibre</em> group will be able to access the " +"app. All users with access can use all the libraries." +msgstr "" + +#: modules/calibre/__init__.py:53 +msgid "Use calibre e-book libraries" +msgstr "" + +#: modules/calibre/__init__.py:56 modules/calibre/manifest.py:6 +msgid "calibre" +msgstr "" + +#: modules/calibre/forms.py:16 +msgid "Name of the new library" +msgstr "" + +#: modules/calibre/forms.py:17 +msgid "" +"Only letters of the English alphabet, numbers and the characters _ . and - " +"without spaces or special characters. Example: My_Library_2000" +msgstr "" + +#: modules/calibre/forms.py:28 +msgid "A library with this name already exists." +msgstr "" + +#: modules/calibre/manifest.py:21 +msgid "Ebook" +msgstr "" + +#: modules/calibre/manifest.py:21 +msgid "Library" +msgstr "" + +#: modules/calibre/manifest.py:21 +msgid "Ebook reader" +msgstr "" + +#: modules/calibre/templates/calibre-delete-library.html:11 +#, python-format +msgid "Delete calibre Library <em>%(name)s</em>" +msgstr "" + +#: modules/calibre/templates/calibre-delete-library.html:17 +msgid "" +"Delete this library permanently? All stored e-books and saved data will be " +"lost." +msgstr "" + +#: modules/calibre/templates/calibre-delete-library.html:27 +#: modules/gitweb/templates/gitweb_delete.html:27 +#: modules/ikiwiki/templates/ikiwiki_delete.html:29 +#: modules/kiwix/templates/kiwix-delete-package.html:27 +#: modules/networks/templates/connections_delete.html:23 +#, python-format +msgid "Delete %(name)s" +msgstr "" + +#: modules/calibre/templates/calibre.html:11 +msgid "Manage Libraries" +msgstr "" + +#: modules/calibre/templates/calibre.html:15 +#: modules/calibre/templates/calibre.html:17 +msgid "Create Library" +msgstr "" + +#: modules/calibre/templates/calibre.html:24 +msgid "No libraries available." +msgstr "" + +#: modules/calibre/templates/calibre.html:31 +#, python-format +msgid "Go to library %(library)s" +msgstr "" + +#: modules/calibre/templates/calibre.html:37 +#, python-format +msgid "Delete library %(library)s" +msgstr "" + +#: modules/calibre/views.py:39 +msgid "Library created." +msgstr "" + +#: modules/calibre/views.py:49 +msgid "An error occurred while creating the library." +msgstr "" + +#: modules/calibre/views.py:63 modules/featherwiki/views.py:135 +#: modules/gitweb/views.py:139 modules/kiwix/views.py:97 +#: modules/tiddlywiki/views.py:136 +#, python-brace-format +msgid "{name} deleted." +msgstr "" + +#: modules/calibre/views.py:67 modules/gitweb/views.py:143 +#: modules/kiwix/views.py:101 +#, python-brace-format +msgid "Could not delete {name}: {error}" +msgstr "" + +#: modules/cockpit/__init__.py:23 +#, python-brace-format +msgid "" +"Cockpit is a server manager that makes it easy to administer GNU/Linux " +"servers via a web browser. On a {box_name}, controls are available for many " +"advanced functions that are not usually required. A web based terminal for " +"console operations is also available." +msgstr "" + +#: modules/cockpit/__init__.py:29 +msgid "" +"Cockpit can be used to perform advanced storage operations such as disk " +"partitioning and RAID management. It can also be used for opening custom " +"firewall ports and advanced networking such as bonding, bridging and VLAN " +"management." +msgstr "" + +#: modules/cockpit/__init__.py:34 +#, python-brace-format +msgid "" +"It can be accessed by <a href=\"{users_url}\">any user</a> on {box_name} " +"belonging to the admin group." +msgstr "" + +#: modules/cockpit/__init__.py:53 modules/cockpit/manifest.py:9 +#: modules/performance/manifest.py:9 +msgid "Cockpit" +msgstr "" + +#: modules/cockpit/manifest.py:23 +msgid "Advanced administration" +msgstr "" + +#: modules/cockpit/manifest.py:24 +msgid "Web terminal" +msgstr "" + +#: modules/cockpit/manifest.py:25 modules/storage/__init__.py:47 +#: modules/storage/__init__.py:319 modules/storage/__init__.py:350 +#: modules/storage/__init__.py:396 +msgid "Storage" +msgstr "" + +#: modules/cockpit/manifest.py:26 +msgid "Networking" +msgstr "" + +#: modules/cockpit/manifest.py:27 modules/names/templates/names.html:20 +msgid "Services" +msgstr "" + +#: modules/cockpit/manifest.py:28 +msgid "Logs" +msgstr "" + +#: modules/cockpit/manifest.py:29 modules/performance/__init__.py:16 +#: modules/performance/__init__.py:40 +msgid "Performance" +msgstr "" + +#: modules/config/__init__.py:18 +msgid "" +"Here you can set some general configuration options like webserver home page " +"etc." +msgstr "" + +#: modules/config/__init__.py:40 +msgid "General Configuration" +msgstr "" + +#: modules/config/__init__.py:45 modules/names/templates/names.html:35 +#: modules/names/templates/names.html:71 modules/snapshot/views.py:32 +#: templates/index.html:38 +msgid "Configure" +msgstr "" + +#: modules/config/forms.py:24 +#, python-brace-format +msgid "{user}'s website" +msgstr "" + +#: modules/config/forms.py:26 +msgid "Apache Default" +msgstr "" + +#: modules/config/forms.py:27 +msgid "FreedomBox Service (Plinth)" +msgstr "" + +#: modules/config/forms.py:35 +msgid "Webserver Home Page" +msgstr "" + +#: modules/config/forms.py:37 +#, python-brace-format +msgid "" +"Choose the default page that must be served when someone visits your " +"{box_name} on the web. A typical use case is to set your blog or wiki as the " +"home page when someone visits the domain name. Note that once the home page " +"is set to something other than {box_name} Service (Plinth), your users must " +"explicitly type /plinth or /freedombox to reach {box_name} Service (Plinth)." +msgstr "" + +#: modules/config/forms.py:48 +msgid "Show advanced apps and features" +msgstr "" + +#: modules/config/forms.py:50 +msgid "Show apps and features that require more technical knowledge." +msgstr "" + +#: modules/config/forms.py:54 +msgid "System-wide logging" +msgstr "" + +#: modules/config/forms.py:55 +msgid "Disable logging, for privacy" +msgstr "" + +#: modules/config/forms.py:57 +msgid "Keep some in memory until a restart, for performance" +msgstr "" + +#: modules/config/forms.py:60 +msgid "Write to disk, useful for debugging" +msgstr "" + +#: modules/config/forms.py:62 +msgid "" +"Logs contain information about who accessed the system and debug information " +"from various services" +msgstr "" + +#: modules/config/manifest.py:8 modules/help/templates/help_about.html:100 +msgid "Homepage" +msgstr "" + +#: modules/config/manifest.py:8 +msgid "Logging" +msgstr "" + +#: modules/config/manifest.py:8 +msgid "Advanced apps" +msgstr "" + +#: modules/config/views.py:41 +#, python-brace-format +msgid "Error setting webserver home page: {exception}" +msgstr "" + +#: modules/config/views.py:44 +msgid "Webserver home page set" +msgstr "" + +#: modules/config/views.py:52 +#, python-brace-format +msgid "Error changing advanced mode: {exception}" +msgstr "" + +#: modules/config/views.py:57 +msgid "Showing advanced apps and features" +msgstr "" + +#: modules/config/views.py:60 +msgid "Hiding advanced apps and features" +msgstr "" + +#: modules/coturn/__init__.py:26 +msgid "" +"Coturn is a server to facilitate audio/video calls and conferences by " +"providing an implementation of TURN and STUN protocols. WebRTC, SIP and " +"other communication servers can use it to establish a call between parties " +"who are otherwise unable connect to each other." +msgstr "" + +#: modules/coturn/__init__.py:31 +#, python-brace-format +msgid "" +"It is not meant to be used directly by users. Servers such as <a " +"href=\"{ms_url}\">Matrix Synapse</a> or <a href=\"{e_url}\">ejabberd</a> " +"need to be configured with the details provided here." +msgstr "" + +#: modules/coturn/__init__.py:53 +msgid "Coturn" +msgstr "" + +#: modules/coturn/forms.py:23 +msgid "Invalid list of STUN/TURN Server URIs" +msgstr "" + +#: modules/coturn/manifest.py:7 modules/janus/manifest.py:16 +msgid "Video conference" +msgstr "" + +#: modules/coturn/manifest.py:7 +msgid "STUN" +msgstr "" + +#: modules/coturn/manifest.py:7 +msgid "TURN" +msgstr "" + +#: modules/coturn/templates/coturn.html:15 +msgid "Use the following URLs to configure your communication server:" +msgstr "" + +#: modules/coturn/templates/coturn.html:24 +msgid "Use the following shared authentication secret:" +msgstr "" + +#: modules/datetime/__init__.py:21 +msgid "" +"Network time server is a program that maintains the system time in " +"synchronization with servers on the Internet." +msgstr "" + +#: modules/datetime/__init__.py:68 +msgid "Date & Time" +msgstr "" + +#: modules/datetime/__init__.py:123 +msgid "Time synchronized to NTP server" +msgstr "" + +#: modules/datetime/forms.py:18 +msgid "Time Zone" +msgstr "" + +#: modules/datetime/forms.py:19 +msgid "" +"Set your time zone to get accurate timestamps. This will set the system-wide " +"time zone." +msgstr "" + +#: modules/datetime/forms.py:30 +msgid "-- no time zone set --" +msgstr "" + +#: modules/datetime/manifest.py:15 +msgid "Network time" +msgstr "" + +#: modules/datetime/manifest.py:15 +msgid "Timezone" +msgstr "" + +#: modules/datetime/views.py:53 +#, python-brace-format +msgid "Error setting time zone: {exception}" +msgstr "" + +#: modules/datetime/views.py:56 +msgid "Time zone set" +msgstr "" + +#: modules/deluge/__init__.py:22 +msgid "Deluge is a BitTorrent client that features a Web UI." +msgstr "" + +#: modules/deluge/__init__.py:23 +msgid "" +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." +msgstr "" + +#: modules/deluge/__init__.py:56 modules/transmission/__init__.py:70 +msgid "Download files using BitTorrent applications" +msgstr "" + +#: modules/deluge/__init__.py:60 modules/deluge/manifest.py:6 +msgid "Deluge" +msgstr "" + +#: modules/deluge/forms.py:20 modules/transmission/forms.py:20 +msgid "Download directory" +msgstr "" + +#: modules/deluge/manifest.py:7 +msgid "Bittorrent client written in Python/PyGTK" +msgstr "" + +#: modules/deluge/manifest.py:21 modules/transmission/manifest.py:39 +msgid "BitTorrent" +msgstr "" + +#: modules/deluge/manifest.py:21 modules/roundcube/manifest.py:23 +#: modules/transmission/manifest.py:39 +msgid "Web client" +msgstr "" + +#: modules/deluge/manifest.py:21 modules/syncthing/manifest.py:58 +#: modules/transmission/manifest.py:39 +msgid "P2P" +msgstr "" + +#: modules/diagnostics/__init__.py:29 +msgid "" +"The system diagnostic test will run a number of checks on your system to " +"confirm that applications and services are working as expected." +msgstr "" + +#: modules/diagnostics/__init__.py:53 modules/diagnostics/__init__.py:239 +msgid "Diagnostics" +msgstr "" + +#: modules/diagnostics/__init__.py:99 +msgid "skipped" +msgstr "" + +#: modules/diagnostics/__init__.py:100 +msgid "passed" +msgstr "" + +#: modules/diagnostics/__init__.py:101 modules/networks/views.py:51 +msgid "failed" +msgstr "" + +#: modules/diagnostics/__init__.py:102 +msgid "error" +msgstr "" + +#: modules/diagnostics/__init__.py:103 +msgid "warning" +msgstr "" + +#. Translators: This is the unit of computer storage Mebibyte similar to +#. Megabyte. +#: modules/diagnostics/__init__.py:205 +msgid "MiB" +msgstr "" + +#. Translators: This is the unit of computer storage Gibibyte similar to +#. Gigabyte. +#: modules/diagnostics/__init__.py:210 +msgid "GiB" +msgstr "" + +#: modules/diagnostics/__init__.py:217 +msgid "You should disable some apps to reduce memory usage." +msgstr "" + +#: modules/diagnostics/__init__.py:222 +msgid "You should not install any new apps on this system." +msgstr "" + +#: modules/diagnostics/__init__.py:234 +#, no-python-format, python-brace-format +msgid "" +"System is low on memory: {percent_used}% used, {memory_available} " +"{memory_available_unit} free. {advice_message}" +msgstr "" + +#: modules/diagnostics/__init__.py:236 +msgid "Low Memory" +msgstr "" + +#: modules/diagnostics/__init__.py:267 +msgid "Running diagnostics" +msgstr "" + +#: modules/diagnostics/__init__.py:312 +#, no-python-format, python-brace-format +msgid "Found {issue_count} issues during routine tests." +msgstr "" + +#: modules/diagnostics/__init__.py:313 +msgid "Diagnostics results" +msgstr "" + +#: modules/diagnostics/__init__.py:318 +msgid "Go to diagnostics results" +msgstr "" + +#: modules/diagnostics/forms.py:11 +msgid "Enable daily run" +msgstr "" + +#: modules/diagnostics/forms.py:12 +msgid "When enabled, diagnostic checks will run once a day." +msgstr "" + +#: modules/diagnostics/forms.py:15 +msgid "Enable automatic repair" +msgstr "" + +#: modules/diagnostics/forms.py:16 +msgid "If issues are found, try to repair them automatically." +msgstr "" + +#: modules/diagnostics/manifest.py:10 +msgid "Detect problems" +msgstr "" + +#: modules/diagnostics/manifest.py:10 +msgid "Repair" +msgstr "" + +#: modules/diagnostics/manifest.py:10 +msgid "Daily" +msgstr "" + +#: modules/diagnostics/templates/diagnostics.html:11 +msgid "Diagnostics Run" +msgstr "" + +#: modules/diagnostics/templates/diagnostics.html:17 +msgid "Run Diagnostics Now" +msgstr "" + +#: modules/diagnostics/templates/diagnostics.html:22 +msgid "View Results" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_app.html:10 +msgid "Diagnostic Results" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_app.html:14 +#: modules/diagnostics/templates/diagnostics_full.html:39 +#, python-format +msgid "App: %(app_name)s" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_app.html:21 +#: modules/diagnostics/templates/diagnostics_full.html:49 +msgid "Try to repair" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_app.html:29 +msgid "This app does not support diagnostics" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_button.html:11 +msgid "Run Diagnostics" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_full.html:17 +msgid "Re-run Diagnostics" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_full.html:21 +msgid "Diagnostics test is currently running" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_full.html:34 +msgid "Results" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_results.html:11 +msgid "Test" +msgstr "" + +#: modules/diagnostics/templates/diagnostics_results.html:12 +#: modules/dynamicdns/templates/dynamicdns.html:27 +msgid "Result" +msgstr "" + +#: modules/diagnostics/views.py:117 +msgid "Diagnostic Test" +msgstr "" + +#: modules/diagnostics/views.py:146 +#, python-brace-format +msgid "App {app_id} is not installed, cannot repair" +msgstr "" + +#: modules/dynamicdns/__init__.py:29 +#, python-brace-format +msgid "" +"If your Internet provider changes your IP address periodically (i.e. every " +"24h), it may be hard for others to find you on the Internet. This will " +"prevent others from finding services which are provided by this {box_name}." +msgstr "" + +#: modules/dynamicdns/__init__.py:33 +msgid "" +"The solution is to assign a DNS name to your IP address and update the DNS " +"name every time your IP is changed by your Internet provider. Dynamic DNS " +"allows you to push your current public IP address to a <a href='http://" +"gnudip2.sourceforge.net/' target='_blank'> GnuDIP</a> server. Afterwards, " +"the server will assign your DNS name to the new IP, and if someone from the " +"Internet asks for your DNS name, they will get a response with your current " +"IP address." +msgstr "" + +#: modules/dynamicdns/__init__.py:41 +msgid "" +"If you are looking for a free dynamic DNS account, you may find a free " +"GnuDIP service at <a href='https://ddns.freedombox.org' target='_blank'>ddns." +"freedombox.org</a> or you may find free update URL based services at <a " +"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org</a>." +msgstr "" + +#: modules/dynamicdns/__init__.py:46 +msgid "" +"This service uses an external service to lookup public IP address. This can " +"be configured in the privacy app." +msgstr "" + +#: modules/dynamicdns/__init__.py:64 +msgid "Dynamic DNS Client" +msgstr "" + +#: modules/dynamicdns/__init__.py:77 +msgid "Dynamic Domain" +msgstr "" + +#: modules/dynamicdns/forms.py:20 +msgid "" +"The Variables <User>, <Pass>, <Ip>, <Domain> may be " +"used within the URL. For details see the update URL templates of the example " +"providers." +msgstr "" + +#: modules/dynamicdns/forms.py:24 +msgid "" +"Please choose an update protocol according to your provider. If your " +"provider does not support the GnuDIP protocol or your provider is not listed " +"you may use the update URL of your provider." +msgstr "" + +#: modules/dynamicdns/forms.py:29 +msgid "" +"Please do not enter a URL here (like \"https://example.com/\") but only the " +"hostname of the GnuDIP server (like \"example.com\")." +msgstr "" + +#: modules/dynamicdns/forms.py:33 +#, python-brace-format +msgid "The public domain name you want to use to reach your {box_name}." +msgstr "" + +#: modules/dynamicdns/forms.py:36 +msgid "Use this option if your provider uses self signed certificates." +msgstr "" + +#: modules/dynamicdns/forms.py:39 +msgid "" +"If this option is selected, your username and password will be used for HTTP " +"basic authentication." +msgstr "" + +#: modules/dynamicdns/forms.py:42 +msgid "Leave this field empty if you want to keep your current password." +msgstr "" + +#: modules/dynamicdns/forms.py:45 +msgid "The username that was used when the account was created." +msgstr "" + +#: modules/dynamicdns/forms.py:48 +msgid "GnuDIP" +msgstr "" + +#: modules/dynamicdns/forms.py:51 +msgid "Other update URL" +msgstr "" + +#: modules/dynamicdns/forms.py:53 +msgid "Service Type" +msgstr "" + +#: modules/dynamicdns/forms.py:58 +msgid "GnuDIP Server Address" +msgstr "" + +#: modules/dynamicdns/forms.py:61 +msgid "Invalid server name" +msgstr "" + +#: modules/dynamicdns/forms.py:64 +msgid "Update URL" +msgstr "" + +#: modules/dynamicdns/forms.py:68 +msgid "Accept all SSL certificates" +msgstr "" + +#: modules/dynamicdns/forms.py:72 +msgid "Use HTTP basic authentication" +msgstr "" + +#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107 +#: modules/names/templates/names.html:19 +msgid "Domain Name" +msgstr "" + +#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100 +#: modules/names/forms.py:118 +msgid "Invalid domain name" +msgstr "" + +#: modules/dynamicdns/forms.py:82 modules/miniflux/forms.py:11 +#: modules/networks/forms.py:281 modules/users/forms.py:130 +msgid "Username" +msgstr "" + +#: modules/dynamicdns/forms.py:89 modules/networks/forms.py:284 +msgid "Show password" +msgstr "" + +#: modules/dynamicdns/forms.py:93 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: modules/dynamicdns/forms.py:108 +msgid "This field is required." +msgstr "" + +#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125 +msgid "Domain already exists." +msgstr "" + +#: modules/dynamicdns/manifest.py:17 +#: modules/dynamicdns/templates/dynamicdns.html:25 +#: modules/email/templates/email-dns.html:22 +#: modules/letsencrypt/templates/letsencrypt.html:24 +#: modules/mediawiki/forms.py:64 modules/sogo/forms.py:18 +msgid "Domain" +msgstr "" + +#: modules/dynamicdns/manifest.py:17 +msgid "Free" +msgstr "" + +#: modules/dynamicdns/manifest.py:17 +msgid "Needs public IP" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns-domain-delete.html:13 +#: modules/names/templates/names-domain-delete.html:13 +msgid "App configurations will be updated." +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:10 +#: modules/email/templates/email.html:20 modules/names/manifest.py:11 +#: modules/names/templates/names.html:12 +msgid "Domains" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:14 +#: modules/dynamicdns/templates/dynamicdns.html:16 +msgid "Add Domain" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:26 +msgid "Last update" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:28 +msgid "IP Address" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:29 +#: modules/letsencrypt/templates/letsencrypt.html:27 +#: modules/storage/templates/storage.html:28 +msgid "Actions" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:37 +#: modules/dynamicdns/templates/dynamicdns.html:72 +#, python-format +msgid "Edit domain %(domain)s" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:47 +msgid "Not yet" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:53 +msgid "Success" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:59 +msgid "Failed" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:79 +#, python-format +msgid "Delete domain %(domain)s" +msgstr "" + +#: modules/dynamicdns/templates/dynamicdns.html:91 +msgid "No domains configured." +msgstr "" + +#: modules/dynamicdns/views.py:26 modules/dynamicdns/views.py:28 +msgid "Connection timed out" +msgstr "" + +#: modules/dynamicdns/views.py:27 +msgid "Could not find server" +msgstr "" + +#: modules/dynamicdns/views.py:29 +msgid "Server refused connection" +msgstr "" + +#: modules/dynamicdns/views.py:30 +msgid "Already up-to-date" +msgstr "" + +#: modules/dynamicdns/views.py:70 +msgid "Add Dynamic Domain" +msgstr "" + +#: modules/dynamicdns/views.py:72 +msgid "Edit Dynamic Domain" +msgstr "" + +#: modules/dynamicdns/views.py:138 modules/names/views.py:137 +#, python-brace-format +msgid "Delete Domain {domain}?" +msgstr "" + +#: modules/dynamicdns/views.py:145 modules/names/views.py:143 +msgid "Domain deleted." +msgstr "" + +#: modules/ejabberd/__init__.py:29 +msgid "" +"XMPP is an open and standardized communication protocol. Here you can run " +"and configure your XMPP server, called ejabberd." +msgstr "" + +#: modules/ejabberd/__init__.py:32 +#, python-brace-format +msgid "" +"To actually communicate, you can use the <a href=\"{jsxc_url}\">web client</" +"a> or any other <a href='https://xmpp.org/software/clients' " +"target='_blank'>XMPP client</a>. When enabled, ejabberd can be accessed by " +"any <a href=\"{users_url}\"> user with a {box_name} login</a>." +msgstr "" + +#: modules/ejabberd/__init__.py:40 +#, python-brace-format +msgid "" +"ejabberd needs a STUN/TURN server for audio/video calls. Install the <a " +"href={coturn_url}>Coturn</a> app or configure an external server." +msgstr "" + +#: modules/ejabberd/__init__.py:60 +msgid "ejabberd" +msgstr "" + +#: modules/ejabberd/forms.py:20 +msgid "Domain names" +msgstr "" + +#: modules/ejabberd/forms.py:22 +msgid "" +"Domains to be used by ejabberd. Note that user accounts are unique for each " +"domain, and migrating users to a new domain name is not yet implemented." +msgstr "" + +#: modules/ejabberd/forms.py:27 +msgid "Enable Message Archive Management" +msgstr "" + +#: modules/ejabberd/forms.py:29 +#, python-brace-format +msgid "" +"If enabled, your {box_name} will store chat message histories. This allows " +"synchronization of conversations between multiple clients, and reading the " +"history of a multi-user chat room. It depends on the client settings whether " +"the histories are stored as plain text or encrypted." +msgstr "" + +#: modules/ejabberd/forms.py:36 modules/matrixsynapse/forms.py:38 +msgid "Automatically manage audio/video call setup" +msgstr "" + +#: modules/ejabberd/forms.py:38 +#, python-brace-format +msgid "" +"Configures the local <a href={coturn_url}>coturn</a> app as the STUN/TURN " +"server for ejabberd. Disable this if you want to use a different STUN/TURN " +"server." +msgstr "" + +#: modules/ejabberd/forms.py:45 modules/matrixsynapse/forms.py:47 +msgid "STUN/TURN Server URIs" +msgstr "" + +#: modules/ejabberd/forms.py:47 modules/matrixsynapse/forms.py:49 +msgid "List of public URIs of the STUN/TURN server, one on each line." +msgstr "" + +#: modules/ejabberd/forms.py:51 modules/matrixsynapse/forms.py:53 +msgid "Shared Authentication Secret" +msgstr "" + +#: modules/ejabberd/forms.py:52 modules/matrixsynapse/forms.py:54 +msgid "Shared secret used to compute passwords for the TURN server." +msgstr "" + +#: modules/ejabberd/manifest.py:10 +msgid "Conversations" +msgstr "" + +#: modules/ejabberd/manifest.py:24 +msgid "Xabber" +msgstr "" + +#: modules/ejabberd/manifest.py:26 +msgid "" +"Open source Jabber (XMPP) client with multi-account support and clean and " +"simple interface. " +msgstr "" + +#: modules/ejabberd/manifest.py:41 +msgid "Yaxim" +msgstr "" + +#: modules/ejabberd/manifest.py:55 +msgid "Monal - XMPP Chat" +msgstr "" + +#: modules/ejabberd/manifest.py:64 +msgid "Siskin IM" +msgstr "" + +#: modules/ejabberd/manifest.py:73 +msgid "Dino" +msgstr "" + +#: modules/ejabberd/manifest.py:85 +msgid "Gajim" +msgstr "" + +#: modules/ejabberd/manifest.py:124 modules/matrixsynapse/manifest.py:102 +msgid "Encrypted messaging" +msgstr "" + +#: modules/ejabberd/manifest.py:125 modules/matrixsynapse/manifest.py:103 +#: modules/mumble/manifest.py:67 +msgid "Audio chat" +msgstr "" + +#: modules/ejabberd/manifest.py:126 modules/matrixsynapse/manifest.py:104 +msgid "Video chat" +msgstr "" + +#: modules/ejabberd/manifest.py:127 modules/jsxc/manifest.py:16 +msgid "XMPP" +msgstr "" + +#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10 +#: modules/firewall/templates/firewall.html:16 +#: modules/firewall/templates/firewall.html:22 +#: modules/letsencrypt/templates/letsencrypt.html:17 +#: modules/matrixsynapse/templates/matrix-synapse.html:17 +#: modules/networks/templates/connection_show.html:258 +#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24 +#: modules/upgrades/templates/upgrades_configure.html:19 +#: modules/wireguard/templates/wireguard_show_client.html:48 +#: modules/wireguard/templates/wireguard_show_server.html:47 +msgid "Status" +msgstr "" + +#: modules/ejabberd/templates/ejabberd.html:23 +#, python-format +msgid "" +"Your XMPP server domain is set to <b>%(domain_name)s</b>. User IDs will look " +"like <i>username@%(domain_name)s</i>. You can setup your domain on the " +"system <a href=\"%(names_url)s\">Name Services</a> page." +msgstr "" + +#: modules/ejabberd/templates/ejabberd.html:30 +#, python-format +msgid "" +"Your XMPP server domain is not set. You can setup your domain on the system " +"<a href=\"%(names_url)s\">Name Services</a> page." +msgstr "" + +#: modules/email/__init__.py:26 +msgid "" +"This is a complete email server solution using Postfix, Dovecot, and Rspamd. " +"Postfix sends and receives emails. Dovecot allows email clients to access " +"your mailbox using IMAP and POP3. Rspamd deals with spam." +msgstr "" + +#: modules/email/__init__.py:30 +msgid "" +"Email server currently does not work with many free domain services " +"including those provided by the FreedomBox Foundation. Many ISPs also " +"restrict outgoing email. Some lift the restriction after an explicit " +"request. See manual page for more information." +msgstr "" + +#: modules/email/__init__.py:35 +#, python-brace-format +msgid "" +"Each user on {box_name} gets an email address like user@mydomain.example. " +"They will also receive mail from all addresses that look like " +"user+foo@mydomain.example. Further, they can add aliases to their email " +"address. Necessary aliases such as \"postmaster\" are automatically created " +"pointing to the first admin user." +msgstr "" + +#: modules/email/__init__.py:41 +msgid "" +"<a href=\"/plinth/apps/roundcube/\">Roundcube app</a> provides web interface " +"for users to access email." +msgstr "" + +#: modules/email/__init__.py:43 +msgid "" +"During installation, any other email servers in the system will be " +"uninstalled." +msgstr "" + +#: modules/email/__init__.py:62 +msgid "Postfix/Dovecot" +msgstr "" + +#: modules/email/__init__.py:80 +msgid "More emails" +msgstr "" + +#: modules/email/__init__.py:80 +msgid "Same mailbox" +msgstr "" + +#: modules/email/__init__.py:82 +msgid "My Email Aliases" +msgstr "" + +#: modules/email/forms.py:24 +msgid "Primary domain" +msgstr "" + +#: modules/email/forms.py:26 modules/sogo/forms.py:20 +msgid "" +"Mails are received for all domains configured in the system. Among these, " +"select the most important one." +msgstr "" + +#: modules/email/forms.py:34 +msgid "New alias (without @domain)" +msgstr "" + +#: modules/email/forms.py:41 +msgid "Contains illegal characters" +msgstr "" + +#: modules/email/forms.py:44 +msgid "Must start and end with a-z or 0-9" +msgstr "" + +#: modules/email/forms.py:48 +msgid "Cannot be a number" +msgstr "" + +#: modules/email/forms.py:58 +msgid "Aliases" +msgstr "" + +#: modules/email/manifest.py:12 modules/roundcube/__init__.py:50 +#: modules/roundcube/manifest.py:7 +msgid "Roundcube" +msgstr "" + +#: modules/email/manifest.py:20 modules/radicale/manifest.py:36 +msgid "Thunderbird" +msgstr "" + +#: modules/email/manifest.py:37 +msgid "Thunderbird Mobile" +msgstr "" + +#: modules/email/manifest.py:52 +msgid "FairEmail" +msgstr "" + +#: modules/email/manifest.py:82 +msgid "Email server" +msgstr "" + +#: modules/email/manifest.py:82 +msgid "IMAP" +msgstr "" + +#: modules/email/manifest.py:82 +msgid "Spam control" +msgstr "" + +#: modules/email/templates/email-aliases.html:13 +#: modules/email/templates/email.html:15 +msgid "Manage Aliases" +msgstr "" + +#: modules/email/templates/email-aliases.html:16 +msgid "You have no email aliases." +msgstr "" + +#: modules/email/templates/email-aliases.html:28 +msgid "Create a new email alias" +msgstr "" + +#: modules/email/templates/email-aliases.html:34 +#: modules/names/templates/names.html:78 +msgid "Add" +msgstr "" + +#: modules/email/templates/email-dns.html:9 +msgid "DNS Records for domain:" +msgstr "" + +#: modules/email/templates/email-dns.html:12 +msgid "" +"The following DNS records must be added manually on this domain for the mail " +"server to work properly for this domain." +msgstr "" + +#: modules/email/templates/email-dns.html:23 +#: modules/email/templates/email-dns.html:77 +msgid "TTL" +msgstr "" + +#: modules/email/templates/email-dns.html:24 +msgid "Class" +msgstr "" + +#: modules/email/templates/email-dns.html:26 +msgid "Priority" +msgstr "" + +#: modules/email/templates/email-dns.html:27 +msgid "Weight" +msgstr "" + +#: modules/email/templates/email-dns.html:28 +#: modules/minetest/templates/minetest.html:18 +msgid "Port" +msgstr "" + +#: modules/email/templates/email-dns.html:29 +#: modules/email/templates/email-dns.html:79 +msgid "Host/Target/Value" +msgstr "" + +#: modules/email/templates/email-dns.html:50 +msgid "Reverse DNS Records for IP Addresses" +msgstr "" + +#: modules/email/templates/email-dns.html:53 +#, python-format +msgid "" +"If your %(box_name)s runs on a cloud service infrastructure, you should " +"configure <a href=\"https://en.wikipedia.org/wiki/Reverse_DNS_lookup\"> " +"Reverse DNS lookup</a>. This isn't mandatory, however, it greatly improves " +"email deliverability. Reverse DNS isn't configured where your regular DNS " +"is. You should look for it in the settings of your VPS/ISP. Some providers " +"preconfigure the IP address part for you and you only have to set the domain " +"part. Only one of your domains can have Revese DNS lookup configured unless " +"you have multiple public IP addresses." +msgstr "" + +#: modules/email/templates/email-dns.html:66 +msgid "" +"An external service is used to lookup public IP address to show in the " +"following section. This can be configured in the privacy app." +msgstr "" + +#: modules/email/templates/email-dns.html:76 +msgid "Host" +msgstr "" + +#: modules/email/templates/email.html:10 +msgid "Manage Spam" +msgstr "" + +#: modules/email/templates/email.html:23 +msgid "" +"The following domains are configured. View details to see the list of DNS " +"entries to be made for the domain." +msgstr "" + +#: modules/email/templates/email.html:35 +#, python-format +msgid "View domain: %(domain)s" +msgstr "" + +#: modules/featherwiki/__init__.py:25 +#, python-brace-format +msgid "" +"Feather Wiki is a tool to create simple self-contained wikis, each stored in " +"a single HTML file on your {box_name}. You can use it as a personal wiki, as " +"a web notebook, or for project documentation." +msgstr "" + +#: modules/featherwiki/__init__.py:29 +msgid "" +"Each wiki is a small file. Create as many wikis as you like, such as one " +"wiki per topic. Customize each wiki to your liking with extensions and other " +"customization options." +msgstr "" + +#: modules/featherwiki/__init__.py:33 +#, python-brace-format +msgid "" +"Feather Wiki is downloaded from {box_name} website and not from Debian. " +"Wikis need to be upgraded to newer version manually." +msgstr "" + +#: modules/featherwiki/__init__.py:37 modules/tiddlywiki/__init__.py:41 +#, python-brace-format +msgid "" +"Wikis are not public by default, but they can be downloaded for sharing or " +"publishing. They can be edited by <a href=\"{users_url}\">any user</a> on " +"{box_name} belonging to the wiki group. Simultaneous editing is not " +"supported." +msgstr "" + +#: modules/featherwiki/__init__.py:56 modules/ikiwiki/__init__.py:79 +#: modules/tiddlywiki/__init__.py:61 +msgid "View and edit wiki applications" +msgstr "" + +#: modules/featherwiki/__init__.py:59 modules/featherwiki/manifest.py:9 +msgid "Feather Wiki" +msgstr "" + +#: modules/featherwiki/forms.py:13 modules/tiddlywiki/forms.py:13 +msgid "Name of the wiki file, with file extension \".html\"" +msgstr "" + +#: modules/featherwiki/forms.py:15 modules/tiddlywiki/forms.py:15 +msgid "" +"Wiki title and description can be set from within the wiki. This file name " +"is independent of the wiki title." +msgstr "" + +#: modules/featherwiki/forms.py:23 modules/tiddlywiki/forms.py:23 +msgid "New name for the wiki file, with file extension \".html\"" +msgstr "" + +#: modules/featherwiki/forms.py:25 modules/tiddlywiki/forms.py:25 +msgid "Renaming the file has no effect on the title of the wiki." +msgstr "" + +#: modules/featherwiki/forms.py:32 +msgid "A Feather Wiki file with .html file extension" +msgstr "" + +#: modules/featherwiki/forms.py:35 +msgid "Feather Wiki files must be in HTML format" +msgstr "" + +#: modules/featherwiki/forms.py:37 +msgid "Upload an existing Feather Wiki file from this computer." +msgstr "" + +#: modules/featherwiki/manifest.py:18 +#: modules/help/templates/help_about.html:108 modules/ikiwiki/manifest.py:15 +#: modules/mediawiki/manifest.py:25 modules/tiddlywiki/manifest.py:19 +msgid "Wiki" +msgstr "" + +#: modules/featherwiki/manifest.py:18 modules/infinoted/manifest.py:46 +#: modules/tiddlywiki/manifest.py:20 +msgid "Note taking" +msgstr "" + +#: modules/featherwiki/manifest.py:18 modules/ikiwiki/manifest.py:15 +#: modules/mediawiki/manifest.py:25 modules/tiddlywiki/manifest.py:21 +#: modules/wordpress/manifest.py:26 +msgid "Website" +msgstr "" + +#: modules/featherwiki/manifest.py:18 modules/tiddlywiki/manifest.py:25 +msgid "Quine" +msgstr "" + +#: modules/featherwiki/manifest.py:18 modules/nextcloud/manifest.py:56 +#: modules/tiddlywiki/manifest.py:26 +msgid "Non-Debian" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_configure.html:12 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:12 +msgid "Manage Wikis" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_configure.html:16 +#: modules/featherwiki/templates/featherwiki_configure.html:18 +#: modules/featherwiki/views.py:47 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:16 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:18 +#: modules/tiddlywiki/views.py:47 +msgid "Create Wiki" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_configure.html:21 +#: modules/featherwiki/templates/featherwiki_configure.html:23 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:21 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:23 +msgid "Upload Wiki" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_configure.html:30 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:30 +msgid "No wikis available." +msgstr "" + +#: modules/featherwiki/templates/featherwiki_configure.html:36 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:36 +#, python-format +msgid "Go to wiki %(wiki)s" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_configure.html:43 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:43 +#, python-format +msgid "Rename wiki %(wiki)s" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_configure.html:50 +#: modules/tiddlywiki/templates/tiddlywiki_configure.html:50 +#, python-format +msgid "Delete wiki %(wiki)s" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_delete.html:12 +#: modules/tiddlywiki/templates/tiddlywiki_delete.html:12 +#, python-format +msgid "Delete wiki <em>%(name)s</em>" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_delete.html:18 +msgid "" +"<strong>Hint</strong>: You can download a copy of this wiki from within " +"Feather Wiki before deleting it." +msgstr "" + +#: modules/featherwiki/templates/featherwiki_delete.html:25 +#: modules/tiddlywiki/templates/tiddlywiki_delete.html:25 +msgid "Delete this wiki file permanently?" +msgstr "" + +#: modules/featherwiki/templates/featherwiki_upload_file.html:20 +#: modules/tiddlywiki/templates/tiddlywiki_upload_file.html:20 +msgid "Upload" +msgstr "" + +#: modules/featherwiki/views.py:20 modules/tiddlywiki/views.py:20 +msgid "A wiki file with the given name already exists." +msgstr "" + +#: modules/featherwiki/views.py:54 modules/tiddlywiki/views.py:54 +msgid "Wiki created." +msgstr "" + +#: modules/featherwiki/views.py:59 modules/tiddlywiki/views.py:59 +msgid "An error occurred while creating the wiki." +msgstr "" + +#: modules/featherwiki/views.py:76 modules/tiddlywiki/views.py:76 +msgid "Rename Wiki" +msgstr "" + +#: modules/featherwiki/views.py:84 modules/tiddlywiki/views.py:84 +msgid "Wiki renamed." +msgstr "" + +#: modules/featherwiki/views.py:89 modules/tiddlywiki/views.py:89 +msgid "An error occurred while renaming the wiki." +msgstr "" + +#: modules/featherwiki/views.py:106 modules/tiddlywiki/views.py:106 +msgid "Upload Wiki File" +msgstr "" + +#: modules/featherwiki/views.py:115 modules/tiddlywiki/views.py:116 +msgid "Wiki file added." +msgstr "" + +#: modules/featherwiki/views.py:119 modules/tiddlywiki/views.py:120 +msgid "Failed to add wiki file." +msgstr "" + +#: modules/featherwiki/views.py:138 modules/tiddlywiki/views.py:139 +#, python-brace-format +msgid "Could not delete {name}" +msgstr "" + +#: modules/firewall/__init__.py:25 +#, python-brace-format +msgid "" +"Firewall is a security system that controls the incoming and outgoing " +"network traffic on your {box_name}. Keeping a firewall enabled and properly " +"configured reduces risk of security threat from the Internet." +msgstr "" + +#: modules/firewall/__init__.py:61 +msgid "Firewall" +msgstr "" + +#: modules/firewall/__init__.py:262 +msgid "Default zone is external" +msgstr "" + +#: modules/firewall/__init__.py:272 +msgid "Firewall backend is nftables" +msgstr "" + +#: modules/firewall/__init__.py:286 +msgid "Direct passthrough rules exist" +msgstr "" + +#: modules/firewall/components.py:139 +#, python-brace-format +msgid "Port {name} ({details}) available for internal networks" +msgstr "" + +#: modules/firewall/components.py:154 +#, python-brace-format +msgid "Port {name} ({details}) available for external networks" +msgstr "" + +#: modules/firewall/components.py:160 +#, python-brace-format +msgid "Port {name} ({details}) unavailable for external networks" +msgstr "" + +#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25 +msgid "Ports" +msgstr "" + +#: modules/firewall/manifest.py:10 +msgid "Blocking" +msgstr "" + +#: modules/firewall/manifest.py:10 modules/networks/forms.py:319 +#: modules/upgrades/manifest.py:10 +msgid "Automatic" +msgstr "" + +#: modules/firewall/templates/firewall.html:21 +msgid "Service/Port" +msgstr "" + +#: modules/firewall/templates/firewall.html:40 +#: modules/letsencrypt/templates/letsencrypt.html:69 +#: modules/snapshot/forms.py:23 modules/snapshot/forms.py:29 +msgid "Enabled" +msgstr "" + +#: modules/firewall/templates/firewall.html:43 +#: modules/letsencrypt/templates/letsencrypt.html:71 +#: modules/snapshot/forms.py:23 modules/snapshot/forms.py:29 +#: templates/cards.html:38 +msgid "Disabled" +msgstr "" + +#: modules/firewall/templates/firewall.html:58 +msgid "Permitted" +msgstr "" + +#: modules/firewall/templates/firewall.html:61 +msgid "Permitted (internal only)" +msgstr "" + +#: modules/firewall/templates/firewall.html:64 +msgid "Permitted (external only)" +msgstr "" + +#: modules/firewall/templates/firewall.html:67 +msgid "Blocked" +msgstr "" + +#: modules/firewall/templates/firewall.html:80 +msgid "" +"The operation of the firewall is automatic. When you enable a service it is " +"also permitted in the firewall and when you disable a service it is also " +"disabled in the firewall." +msgstr "" + +#: modules/firewall/templates/firewall.html:88 +#: modules/networks/templates/networks_configuration.html:22 +#: modules/storage/templates/storage.html:93 +msgid "Advanced" +msgstr "" + +#: modules/firewall/templates/firewall.html:90 +msgid "" +"Advanced firewall operations such as opening custom ports are provided by " +"the <a href=\"/_cockpit/network/firewall\">Cockpit</a> app." +msgstr "" + +#: modules/first_boot/__init__.py:61 +msgid "Setup complete! Next steps:" +msgstr "" + +#: modules/first_boot/__init__.py:63 +#, python-brace-format +msgid "" +"Initial setup has been completed. Perform the next steps to make your " +"{box_name} operational." +msgstr "" + +#: modules/first_boot/__init__.py:66 +msgid "Next steps" +msgstr "" + +#: modules/first_boot/__init__.py:73 +msgid "See next steps" +msgstr "" + +#: modules/first_boot/forms.py:14 +#, python-brace-format +msgid "" +"Enter the secret generated during FreedomBox installation. This secret can " +"also be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-" +"wizard-secret\" on your {box_name}" +msgstr "" + +#: modules/first_boot/forms.py:19 +msgid "Firstboot Wizard Secret" +msgstr "" + +#: modules/first_boot/templates/firstboot_complete.html:14 +msgid "Setup Complete! Next Steps:" +msgstr "" + +#: modules/first_boot/templates/firstboot_complete.html:21 +#, python-format +msgid "" +"Automatic <a href=\"%(upgrades_url)s\" target=\"_blank\">software update</a> " +"runs daily by default. For the first time, manually run it now." +msgstr "" + +#: modules/first_boot/templates/firstboot_complete.html:30 +#: modules/upgrades/templates/upgrades_configure.html:119 +msgid "Update now" +msgstr "" + +#: modules/first_boot/templates/firstboot_complete.html:39 +#, python-format +msgid "" +"Review <a href=\"%(privacy_url)s\" target=\"_blank\">privacy options</a>." +msgstr "" + +#: modules/first_boot/templates/firstboot_complete.html:49 +#, python-format +msgid "" +"Review and setup <a href=\"%(networks_url)s\" target=\"_blank\">network " +"connections</a>. Change the default Wi-Fi password, if applicable." +msgstr "" + +#: modules/first_boot/templates/firstboot_complete.html:60 +#, python-format +msgid "" +"Configure a <a href=\"%(names_url)s\" target=\"_blank\">domain name</a>." +msgstr "" + +#: modules/first_boot/templates/firstboot_complete.html:70 +#, python-format +msgid "" +"Configure and schedule remote <a href=\"%(backups_url)s\" " +"target=\"_blank\">backups</a>." +msgstr "" + +#: modules/first_boot/templates/firstboot_complete.html:81 +#, python-format +msgid "" +"Put %(box_name)s to use by installing <a href=\"%(apps_url)s\" " +"target=\"_blank\">apps</a>." +msgstr "" + +#: modules/first_boot/templates/firstboot_welcome.html:29 +msgid "Start Setup" +msgstr "" + +#: modules/first_boot/views.py:41 +msgid "Setup Complete" +msgstr "" + +#: modules/gitweb/__init__.py:22 +msgid "" +"Git is a distributed version-control system for tracking changes in source " +"code during software development. Gitweb provides a web interface to Git " +"repositories. You can browse history and content of source code, use search " +"to find relevant commits and code. You can also clone repositories and " +"upload code changes with a command-line Git client or with multiple " +"available graphical clients. And you can share your code with people around " +"the world." +msgstr "" + +#: modules/gitweb/__init__.py:29 +msgid "" +"To learn more on how to use Git visit <a href=\"https://git-scm.com/docs/" +"gittutorial\">Git tutorial</a>." +msgstr "" + +#: modules/gitweb/__init__.py:45 +msgid "Read-write access to Git repositories" +msgstr "" + +#: modules/gitweb/__init__.py:48 modules/gitweb/manifest.py:10 +msgid "Gitweb" +msgstr "" + +#: modules/gitweb/forms.py:59 +msgid "Invalid repository URL." +msgstr "" + +#: modules/gitweb/forms.py:69 +msgid "Invalid repository name." +msgstr "" + +#: modules/gitweb/forms.py:77 +msgid "Name of a new repository or URL to import an existing repository." +msgstr "" + +#: modules/gitweb/forms.py:83 +msgid "Description of the repository" +msgstr "" + +#: modules/gitweb/forms.py:84 modules/gitweb/forms.py:88 +msgid "Optional, for displaying on Gitweb." +msgstr "" + +#: modules/gitweb/forms.py:86 +msgid "Repository's owner name" +msgstr "" + +#: modules/gitweb/forms.py:91 +msgid "Private repository" +msgstr "" + +#: modules/gitweb/forms.py:92 +msgid "Allow only authorized users to access this repository." +msgstr "" + +#: modules/gitweb/forms.py:113 modules/gitweb/forms.py:155 +msgid "A repository with this name already exists." +msgstr "" + +#: modules/gitweb/forms.py:126 +msgid "Name of the repository" +msgstr "" + +#: modules/gitweb/forms.py:130 +msgid "An alpha-numeric string that uniquely identifies a repository." +msgstr "" + +#: modules/gitweb/forms.py:134 +msgid "Default branch" +msgstr "" + +#: modules/gitweb/forms.py:135 +msgid "Gitweb displays this as a default branch." +msgstr "" + +#: modules/gitweb/manifest.py:18 +msgid "Git" +msgstr "" + +#: modules/gitweb/manifest.py:37 +msgid "Git hosting" +msgstr "" + +#: modules/gitweb/manifest.py:37 +msgid "Version control" +msgstr "" + +#: modules/gitweb/manifest.py:37 +msgid "Developer tool" +msgstr "" + +#: modules/gitweb/templates/gitweb_configure.html:13 +msgid "Manage Repositories" +msgstr "" + +#: modules/gitweb/templates/gitweb_configure.html:17 +#: modules/gitweb/templates/gitweb_configure.html:19 +msgid "Create repository" +msgstr "" + +#: modules/gitweb/templates/gitweb_configure.html:26 +msgid "No repositories available." +msgstr "" + +#: modules/gitweb/templates/gitweb_configure.html:35 +#, python-format +msgid "Go to repository %(repo.name)s" +msgstr "" + +#: modules/gitweb/templates/gitweb_configure.html:42 +msgid "Cloning…" +msgstr "" + +#: modules/gitweb/templates/gitweb_configure.html:59 +#, python-format +msgid "Delete repository %(repo.name)s" +msgstr "" + +#: modules/gitweb/templates/gitweb_delete.html:12 +#, python-format +msgid "Delete Git Repository <em>%(name)s</em>" +msgstr "" + +#: modules/gitweb/templates/gitweb_delete.html:18 +msgid "Delete this repository permanently?" +msgstr "" + +#: modules/gitweb/views.py:46 +msgid "Repository created." +msgstr "" + +#: modules/gitweb/views.py:69 +msgid "An error occurred while creating the repository." +msgstr "" + +#: modules/gitweb/views.py:84 +msgid "Repository edited." +msgstr "" + +#: modules/gitweb/views.py:89 +msgid "Edit repository" +msgstr "" + +#: modules/gnome/__init__.py:18 +msgid "" +"GNOME is a desktop environment that focuses on simplicity and ease of use." +msgstr "" + +#: modules/gnome/__init__.py:21 +#, python-brace-format +msgid "" +"This app turns your {box_name} into a desktop computer if you physically " +"connect a monitor, a keyboard, and a mouse to it. A browser, an office " +"suite, and other basic utilities are available. You may install further " +"graphical applications using the software center provided within." +msgstr "" + +#: modules/gnome/__init__.py:26 +msgid "" +"This app is not suitable for low-end hardware. It requires at least 4GiB of " +"RAM, 4GiB of disk space and a GPU capable of basic 3D acceleration." +msgstr "" + +#: modules/gnome/__init__.py:30 +#, python-brace-format +msgid "" +"After installing, enabling, disabling, or uninstalling the app, you will " +"need to <a href=\"{power_url}\">restart</a> the machine for changes to take " +"effect." +msgstr "" + +#: modules/gnome/__init__.py:48 +msgid "GNOME" +msgstr "" + +#: modules/gnome/manifest.py:9 templates/clients.html:42 +msgid "Desktop" +msgstr "" + +#: modules/gnome/manifest.py:10 +msgid "Browser" +msgstr "" + +#: modules/gnome/manifest.py:11 +msgid "Office suite" +msgstr "" + +#: modules/gnome/manifest.py:12 +msgid "Software store" +msgstr "" + +#: modules/gnome/manifest.py:13 +msgid "GUI" +msgstr "" + +#: modules/gnome/manifest.py:14 +msgid "Graphical apps" +msgstr "" + +#: modules/help/__init__.py:33 modules/help/templates/help_index.html:14 +#: templates/help-menu.html:8 templates/help-menu.html:14 +msgid "Help" +msgstr "" + +#: modules/help/__init__.py:37 modules/help/templates/help_about.html:104 +#: templates/help-menu.html:20 templates/help-menu.html:21 +msgctxt "User guide" +msgid "Manual" +msgstr "" + +#: modules/help/__init__.py:41 modules/help/templates/help_support.html:9 +#: modules/help/views.py:93 templates/help-menu.html:27 +#: templates/help-menu.html:28 +msgid "Get Support" +msgstr "" + +#: modules/help/__init__.py:45 modules/help/templates/help_feedback.html:9 +#: modules/help/views.py:87 templates/help-menu.html:33 +#: templates/help-menu.html:34 +msgid "Submit Feedback" +msgstr "" + +#: modules/help/__init__.py:49 modules/help/templates/help_about.html:113 +#: modules/help/templates/help_contribute.html:9 modules/help/views.py:76 +#: templates/help-menu.html:39 templates/help-menu.html:40 +msgid "Contribute" +msgstr "" + +#: modules/help/__init__.py:53 templates/base.html:216 templates/base.html:219 +#: templates/help-menu.html:46 templates/help-menu.html:47 +#: templates/index.html:96 +msgid "About" +msgstr "" + +#: modules/help/templates/help_about.html:25 templates/messages.html:23 +msgid "Success:" +msgstr "" + +#: modules/help/templates/help_about.html:29 +#: modules/upgrades/templates/upgrades_configure.html:31 +#, python-format +msgid "You are running %(os_release)s and %(box_name)s version %(version)s." +msgstr "" + +#: modules/help/templates/help_about.html:35 +#, python-format +msgid "" +"There is a new %(box_name)s version <a href=\"%(upgrades_url)s\">available</" +"a>." +msgstr "" + +#: modules/help/templates/help_about.html:40 +#: modules/upgrades/templates/upgrades_configure.html:42 +#, python-format +msgid "%(box_name)s is up to date." +msgstr "" + +#: modules/help/templates/help_about.html:49 +#, python-format +msgid "" +"%(box_name)s is a community project to develop, design and promote personal " +"servers running free software for private, personal communications. It is a " +"networking appliance designed to allow interfacing with the rest of the " +"Internet under conditions of protected privacy and data security. It hosts " +"applications such as blog, wiki, website, social network, email, web proxy " +"and a Tor relay, on a device that can replace your Wi-Fi router, so that " +"your data stays with you." +msgstr "" + +#: modules/help/templates/help_about.html:62 +msgid "" +"We live in a world where our use of the network is mediated by those who " +"often do not have our best interests at heart. By building software that " +"does not rely on a central service, we can regain control and privacy. By " +"keeping our data in our homes, we gain useful legal protections over it. By " +"giving back power to the users over their networks and machines, we are " +"returning the Internet to its intended peer-to-peer architecture." +msgstr "" + +#: modules/help/templates/help_about.html:75 +#, python-format +msgid "" +"There are a number of projects working to realize a future of distributed " +"services; %(box_name)s aims to bring them all together in a convenient " +"package." +msgstr "" + +#: modules/help/templates/help_about.html:83 +#, python-format +msgid "" +"%(box_name)s is free software, licensed under the GNU Affero General Public " +"License. The source code is available online at the <a href=\"https://salsa." +"debian.org/freedombox-team/freedombox\"> %(box_name)s repository</a>. In " +"addition, the source code of any Debian package can be obtained from the <a " +"href=\"https://sources.debian.org/\">Debian Sources</a> site, or by running " +"\"apt source <i>package_name</i>\" in a terminal (using Cockpit or SSH)." +msgstr "" + +#: modules/help/templates/help_about.html:97 +msgid "Learn" +msgstr "" + +#: modules/help/templates/help_about.html:116 templates/toolbar.html:19 +msgid "Donate" +msgstr "" + +#: modules/help/templates/help_about.html:119 +msgid "Join project" +msgstr "" + +#: modules/help/templates/help_about.html:123 +msgid "Translate" +msgstr "" + +#: modules/help/templates/help_about.html:129 +msgid "Support" +msgstr "" + +#: modules/help/templates/help_about.html:133 +msgid "Forum" +msgstr "" + +#: modules/help/templates/help_about.html:138 +msgid "IRC Chatroom" +msgstr "" + +#: modules/help/templates/help_about.html:143 +msgid "Mailing list" +msgstr "" + +#: modules/help/templates/help_base.html:21 +#: modules/help/templates/help_index.html:63 +#, python-format +msgid "%(box_name)s Setup" +msgstr "" + +#: modules/help/templates/help_contribute.html:12 +msgid "The FreedomBox project welcomes contributions of all kinds." +msgstr "" + +#: modules/help/templates/help_contribute.html:18 +msgid "" +"You can contribute by writing code, testing and reporting bugs, discussing " +"new use cases and applications, designing logos and artwork, providing " +"support to your fellow users, translating FreedomBox and its applications " +"into your language, hosting hackathons or install fests, and by spreading " +"the word." +msgstr "" + +#: modules/help/templates/help_contribute.html:28 +msgid "" +"You can also help the project financially by <a href=\"https://" +"freedomboxfoundation.org/donate/\">donating</a> to the non-profit FreedomBox " +"Foundation. Founded in 2011, the FreedomBox Foundation is a non-profit " +"organization with 501(c)(3) status based in New York City that exists to " +"support FreedomBox. It provides technical infrastructure and legal services " +"for the project, pursues partnerships, and advocates for FreedomBox " +"throughout the world. The FreedomBox Foundation would not exist without its " +"supporters." +msgstr "" + +#: modules/help/templates/help_contribute.html:42 +#: modules/power/templates/power_restart.html:27 +#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65 +msgid "Learn more..." +msgstr "" + +#: modules/help/templates/help_contribute.html:46 +msgid "How can I help?" +msgstr "" + +#: modules/help/templates/help_contribute.html:48 +msgid "" +"Below is a list of opportunities for contributing to Debian. It has been " +"filtered to only show packages that are installed on this system." +msgstr "" + +#: modules/help/templates/help_contribute.html:59 +msgid "Show issues" +msgstr "" + +#: modules/help/templates/help_contribute.html:63 +msgid "Packages that will be removed from Debian testing" +msgstr "" + +#: modules/help/templates/help_contribute.html:69 +#: modules/help/templates/help_contribute.html:85 +msgid "source package:" +msgstr "" + +#: modules/help/templates/help_contribute.html:80 +msgid "Packages that are not in Debian testing" +msgstr "" + +#: modules/help/templates/help_contribute.html:92 +msgid "Good first issues for beginners" +msgstr "" + +#: modules/help/templates/help_contribute.html:104 +msgid "Issues for which the package maintainer has requested help" +msgstr "" + +#: modules/help/templates/help_feedback.html:12 +#, python-format +msgid "Your feedback will help us improve %(box_name)s!" +msgstr "" + +#: modules/help/templates/help_feedback.html:18 +msgid "" +"Let us know about missing features, your favourite apps and how we can " +"improve them on our <a href=\"https://discuss.freedombox.org\" " +"target=\"_blank\"> discussion forum</a>." +msgstr "" + +#: modules/help/templates/help_feedback.html:26 +msgid "" +"If you find any bugs or issues, please use the <a href=\"https://salsa." +"debian.org/freedombox-team/freedombox/issues\" target=\"_blank\">issue " +"tracker</a> to let our developers know. To report, first check if the issue " +"is already reported and then use the \"New issue\" button." +msgstr "" + +#: modules/help/templates/help_feedback.html:36 +msgid "Thank you!" +msgstr "" + +#: modules/help/templates/help_index.html:18 +#, python-format +msgid "" +"The <a href=\"%(manual_url)s\">%(box_name)s Manual</a> is the best place to " +"start for information regarding %(box_name)s." +msgstr "" + +#: modules/help/templates/help_index.html:25 +#, python-format +msgid "" +"<a href=\"http://wiki.debian.org/FreedomBox\" target=\"_blank\"> " +"%(box_name)s project wiki </a> contains further information." +msgstr "" + +#: modules/help/templates/help_index.html:32 +#, python-format +msgid "" +"To seek help from %(box_name)s community, queries may be posted on the <a " +"href=\"https://lists.alioth.debian.org/mailman/listinfo/freedombox-" +"discuss\"> mailing list</a>. The list archives also contain information " +"about problems faced by other users and possible solutions." +msgstr "" + +#: modules/help/templates/help_index.html:42 +#, python-format +msgid "" +"Many %(box_name)s contributors and users are also available on the irc.oftc." +"net IRC network. Join and request help on the <a href=\"https://webchat." +"oftc.net/?randomnick=1&channels=freedombox&prompt=1\"> #freedombox</a> " +"channel using the IRC web interface." +msgstr "" + +#: modules/help/templates/help_manual.html:18 +msgid "Download as PDF" +msgstr "" + +#: modules/help/templates/help_support.html:12 +#, python-format +msgid "" +"If you need help in getting something done or if you are facing problems " +"using %(box_name)s, you can ask for help from our community of users and " +"contributors." +msgstr "" + +#: modules/help/templates/help_support.html:20 +msgid "" +"Search for past discussions or post a new query on our <a href=\"https://" +"discuss.freedombox.org\" target=\"_blank\">discussion forum</a>." +msgstr "" + +#: modules/help/templates/help_support.html:27 +msgid "" +"You can also chat with us on our IRC and Matrix channels (bridged): <ul> " +"<li>#freedombox on irc.oftc.net</li> <li>#freedombox:matrix.org</li> </ul> " +"Or send an email to our <a href=\"mailto:freedombox-discuss@alioth-lists." +"debian.net\">mailing list</a>." +msgstr "" + +#: modules/help/templates/statuslog.html:10 +msgid "Status Log" +msgstr "" + +#: modules/help/templates/statuslog.html:13 +#, python-format +msgid "" +"These are the last %(num_lines)s lines of the status log for this web " +"interface. If you want to report a bug, please use the <a href=\"https://" +"salsa.debian.org/freedombox-team/freedombox/issues\">bug tracker</a> and " +"attach this status log to the bug report." +msgstr "" + +#: modules/help/templates/statuslog.html:27 +msgid "" +"Please remove any personal information from the log before submitting the " +"bug report." +msgstr "" + +#: modules/help/views.py:29 +msgid "Documentation and FAQ" +msgstr "" + +#: modules/help/views.py:98 +#, python-brace-format +msgid "About {box_name}" +msgstr "" + +#: modules/help/views.py:135 +#, python-brace-format +msgid "{box_name} Manual" +msgstr "" + +#: modules/ikiwiki/__init__.py:20 +msgid "" +"ikiwiki is a simple wiki and blog application. It supports several " +"lightweight markup languages, including Markdown, and common blogging " +"functionality such as comments and RSS feeds." +msgstr "" + +#: modules/ikiwiki/__init__.py:24 +#, python-brace-format +msgid "" +"Only {box_name} users in the <b>admin</b> group can <i>create</i> and " +"<i>manage</i> blogs and wikis, but any user in the <b>wiki</b> group can " +"<i>edit</i> existing ones. In the <a href=\"{users_url}\">User " +"Configuration</a> you can change these permissions or add new users." +msgstr "" + +#: modules/ikiwiki/__init__.py:45 modules/ikiwiki/manifest.py:6 +msgid "ikiwiki" +msgstr "" + +#: modules/ikiwiki/forms.py:17 +msgid "Admin Account Name" +msgstr "" + +#: modules/ikiwiki/forms.py:19 +msgid "Admin Account Password" +msgstr "" + +#: modules/ikiwiki/manifest.py:15 modules/wordpress/manifest.py:26 +msgid "Blog" +msgstr "" + +#: modules/ikiwiki/templates/ikiwiki_configure.html:12 +msgid "Manage Wikis and Blogs" +msgstr "" + +#: modules/ikiwiki/templates/ikiwiki_configure.html:16 +#: modules/ikiwiki/templates/ikiwiki_configure.html:18 +#: modules/ikiwiki/templates/ikiwiki_create.html:10 +msgid "Create Wiki or Blog" +msgstr "" + +#: modules/ikiwiki/templates/ikiwiki_configure.html:25 +msgid "No wikis or blogs available." +msgstr "" + +#: modules/ikiwiki/templates/ikiwiki_configure.html:31 +#, python-format +msgid "Go to site %(site)s" +msgstr "" + +#: modules/ikiwiki/templates/ikiwiki_configure.html:38 +#, python-format +msgid "Delete site %(site)s" +msgstr "" + +#: modules/ikiwiki/templates/ikiwiki_create.html:18 +#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:54 +#: modules/snapshot/templates/snapshot.html:16 templates/app.html:60 +msgid "Update setup" +msgstr "" + +#: modules/ikiwiki/templates/ikiwiki_delete.html:12 +#, python-format +msgid "Delete Wiki or Blog <em>%(name)s</em>" +msgstr "" + +#: modules/ikiwiki/templates/ikiwiki_delete.html:18 +msgid "" +"This action will remove all the posts, pages and comments including revision " +"history. Delete this wiki or blog permanently?" +msgstr "" + +#: modules/ikiwiki/views.py:69 +#, python-brace-format +msgid "Created wiki {name}." +msgstr "" + +#: modules/ikiwiki/views.py:72 +#, python-brace-format +msgid "Could not create wiki: {error}" +msgstr "" + +#: modules/ikiwiki/views.py:79 +#, python-brace-format +msgid "Created blog {name}." +msgstr "" + +#: modules/ikiwiki/views.py:82 +#, python-brace-format +msgid "Could not create blog: {error}" +msgstr "" + +#: modules/ikiwiki/views.py:98 +#, python-brace-format +msgid "{title} deleted." +msgstr "" + +#: modules/ikiwiki/views.py:102 +#, python-brace-format +msgid "Could not delete {title}: {error}" +msgstr "" + +#: modules/infinoted/__init__.py:20 +msgid "infinoted is a server for Gobby, a collaborative text editor." +msgstr "" + +#: modules/infinoted/__init__.py:22 +#, python-brace-format +msgid "" +"To use it, <a href=\"https://gobby.github.io/\">download Gobby</a>, desktop " +"client and install it. Then start Gobby and select \"Connect to Server\" and " +"enter your {box_name}'s domain name." +msgstr "" + +#: modules/infinoted/__init__.py:41 +msgid "infinoted" +msgstr "" + +#: modules/infinoted/manifest.py:10 modules/infinoted/manifest.py:46 +msgid "Gobby" +msgstr "" + +#: modules/infinoted/manifest.py:12 +msgid "Gobby is a collaborative text editor" +msgstr "" + +#: modules/infinoted/manifest.py:15 +#, python-brace-format +msgid "" +"Start Gobby and select \"Connect to Server\" and enter your {box_name}'s " +"domain name." +msgstr "" + +#: modules/infinoted/manifest.py:46 +msgid "Collaborative editing" +msgstr "" + +#: modules/janus/__init__.py:23 +msgid "Janus is a lightweight WebRTC server." +msgstr "" + +#: modules/janus/__init__.py:24 +msgid "A simple video conference room is included." +msgstr "" + +#: modules/janus/__init__.py:26 +#, python-brace-format +msgid "<a href=\"{coturn_url}\">Coturn</a> is required to use Janus." +msgstr "" + +#: modules/janus/__init__.py:42 +msgid "Janus" +msgstr "" + +#: modules/janus/manifest.py:7 +msgid "Janus Video Room" +msgstr "" + +#: modules/janus/manifest.py:16 +msgid "WebRTC" +msgstr "" + +#: modules/janus/manifest.py:16 +msgid "Web conference" +msgstr "" + +#: modules/janus/templates/janus_video_room.html:205 +#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:272 +msgid "JavaScript license information" +msgstr "" + +#: modules/jsxc/__init__.py:19 +msgid "" +"JSXC is a web client for XMPP. Typically it is used with an XMPP server " +"running locally." +msgstr "" + +#: modules/jsxc/__init__.py:38 modules/jsxc/manifest.py:7 +msgid "JSXC" +msgstr "" + +#: modules/jsxc/manifest.py:16 +msgid "Web chat" +msgstr "" + +#: modules/jsxc/manifest.py:16 modules/quassel/manifest.py:54 +msgid "Client" +msgstr "" + +#: modules/kiwix/__init__.py:21 +msgid "" +"Kiwix is an offline reader for web content. It is software intended to make " +"Wikipedia available without using the internet, but it is potentially " +"suitable for all HTML content. Kiwix packages are in the ZIM file format." +msgstr "" + +#: modules/kiwix/__init__.py:25 +msgid "" +"Kiwix can host various kinds of content:\n" +" <ul>\n" +" <li>Offline versions of websites: Wikimedia projects, Stack Exchange</" +"li>\n" +" <li>Video content: Khan Academy, TED Talks, Crash Course</li>\n" +" <li>Educational materials: PHET, TED Ed, Vikidia</li>\n" +" <li>eBooks: Project Gutenberg</li>\n" +" <li>Magazines: Low-tech Magazine</li>\n" +" </ul>" +msgstr "" + +#: modules/kiwix/__init__.py:33 +#: modules/kiwix/templates/kiwix-add-package.html:14 +msgid "" +"You can <a href=\"https://library.kiwix.org\" target=\"_blank\" " +"rel=\"noopener noreferrer\">download</a> content packages from the Kiwix " +"project or <a href=\"https://openzim.org/wiki/Build_your_ZIM_file\" " +"target=\"_blank\" rel=\"noopener noreferrer\">create</a> your own." +msgstr "" + +#: modules/kiwix/__init__.py:53 +msgid "Manage Kiwix content server" +msgstr "" + +#: modules/kiwix/__init__.py:56 modules/kiwix/manifest.py:8 +msgid "Kiwix" +msgstr "" + +#: modules/kiwix/forms.py:23 +msgid "Content packages have to be in .zim format" +msgstr "" + +#: modules/kiwix/forms.py:25 +#, python-brace-format +msgid "" +"Uploaded ZIM files will be stored under {kiwix_home}/content on your " +"{box_name}. If Kiwix fails to add the file, it will be deleted immediately " +"to save disk space." +msgstr "" + +#: modules/kiwix/manifest.py:24 +msgid "Offline reader" +msgstr "" + +#: modules/kiwix/manifest.py:25 +msgid "Archival" +msgstr "" + +#: modules/kiwix/manifest.py:26 modules/shadowsocks/manifest.py:19 +#: modules/shadowsocksserver/manifest.py:18 modules/tor/manifest.py:60 +#: modules/torproxy/manifest.py:57 +msgid "Censorship resistance" +msgstr "" + +#: modules/kiwix/manifest.py:27 +msgid "Wikipedia" +msgstr "" + +#: modules/kiwix/templates/kiwix-add-package.html:29 +#, python-format +msgid "You have %(max_filesize)s of free disk space available." +msgstr "" + +#: modules/kiwix/templates/kiwix-add-package.html:42 +msgid "Upload ZIM file" +msgstr "" + +#: modules/kiwix/templates/kiwix-delete-package.html:11 +#, python-format +msgid "Delete content package <em>%(name)s</em>" +msgstr "" + +#: modules/kiwix/templates/kiwix-delete-package.html:17 +msgid "" +"Delete this package permanently? You may add it back later if you have a " +"copy of the ZIM file." +msgstr "" + +#: modules/kiwix/templates/kiwix.html:11 +msgid "Manage Content Packages" +msgstr "" + +#: modules/kiwix/templates/kiwix.html:15 +msgid "Add a content package" +msgstr "" + +#: modules/kiwix/templates/kiwix.html:17 +msgid "Add Package" +msgstr "" + +#: modules/kiwix/templates/kiwix.html:24 +msgid "No content packages available." +msgstr "" + +#: modules/kiwix/templates/kiwix.html:37 +#, python-format +msgid "Delete package %(title)s" +msgstr "" + +#: modules/kiwix/views.py:49 +msgid "Content package added." +msgstr "" + +#: modules/kiwix/views.py:54 +msgid "Add a new content package" +msgstr "" + +#: modules/kiwix/views.py:76 +msgid "Content package already exists." +msgstr "" + +#: modules/kiwix/views.py:79 +msgid "Failed to add content package." +msgstr "" + +#: modules/letsencrypt/__init__.py:27 +#, python-brace-format +msgid "" +"A digital certificate allows users of a web service to verify the identity " +"of the service and to securely communicate with it. {box_name} can " +"automatically obtain and setup digital certificates for each available " +"domain. It does so by proving itself to be the owner of a domain to Let's " +"Encrypt, a certificate authority (CA)." +msgstr "" + +#: modules/letsencrypt/__init__.py:33 +msgid "" +"Let's Encrypt is a free, automated, and open certificate authority, run for " +"the public's benefit by the Internet Security Research Group (ISRG). Please " +"read and agree with the <a href=\"https://letsencrypt.org/repository/" +"\">Let's Encrypt Subscriber Agreement</a> before using this service." +msgstr "" + +#: modules/letsencrypt/__init__.py:60 +msgid "Let's Encrypt" +msgstr "" + +#: modules/letsencrypt/manifest.py:11 +msgid "Certificates" +msgstr "" + +#: modules/letsencrypt/manifest.py:11 +msgid "HTTPS" +msgstr "" + +#: modules/letsencrypt/manifest.py:11 +msgid "Web security" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:25 +msgid "Certificate Status" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:26 +msgid "Website Security" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:37 +#, python-format +msgid "Valid, expires on %(expiry_date)s" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:44 +msgid "Revoked" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:48 +#, python-format +msgid "Expired on %(expiry_date)s" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:52 +msgid "Invalid test certificate" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:56 +#, python-format +msgid "Invalid (%(reason)s)" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:63 +msgid "No certificate" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:80 +msgid "Re-obtain" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:93 +msgid "Revoke" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:101 +msgid "Obtain" +msgstr "" + +#: modules/letsencrypt/templates/letsencrypt.html:112 +#, python-format +msgid "" +"No domains have been configured. <a href=\"%(names_url)s\">Configure " +"domains</a> to be able to obtain certificates for them." +msgstr "" + +#: modules/letsencrypt/views.py:40 +#, python-brace-format +msgid "" +"Certificate successfully revoked for domain {domain}.This may take a few " +"moments to take effect." +msgstr "" + +#: modules/letsencrypt/views.py:46 +#, python-brace-format +msgid "Failed to revoke certificate for domain {domain}" +msgstr "" + +#: modules/letsencrypt/views.py:59 modules/letsencrypt/views.py:77 +#, python-brace-format +msgid "Certificate successfully obtained for domain {domain}" +msgstr "" + +#: modules/letsencrypt/views.py:64 modules/letsencrypt/views.py:82 +#, python-brace-format +msgid "Failed to obtain certificate for domain {domain}" +msgstr "" + +#: modules/letsencrypt/views.py:95 +#, python-brace-format +msgid "Certificate successfully deleted for domain {domain}" +msgstr "" + +#: modules/letsencrypt/views.py:100 +#, python-brace-format +msgid "Failed to delete certificate for domain {domain}" +msgstr "" + +#: modules/matrixsynapse/__init__.py:26 +msgid "" +"<a href=\"https://matrix.org/docs/guides/faq.html\">Matrix</a> is an new " +"ecosystem for open, federated instant messaging and VoIP. Synapse is a " +"server implementing the Matrix protocol. It provides chat groups, audio/" +"video calls, end-to-end encryption, multiple device synchronization and does " +"not require phone numbers to work. Users on a given Matrix server can " +"converse with users on all other Matrix servers via federation." +msgstr "" + +#: modules/matrixsynapse/__init__.py:34 +#, python-brace-format +msgid "" +"Matrix Synapse needs a STUN/TURN server for audio/video calls. Install the " +"<a href={coturn_url}>Coturn</a> app or configure an external server." +msgstr "" + +#: modules/matrixsynapse/__init__.py:54 +msgid "Matrix Synapse" +msgstr "" + +#: modules/matrixsynapse/forms.py:15 +msgid "" +"Disabled. This could lead to adversaries registering many spam accounts on " +"your server with automated scripts." +msgstr "" + +#: modules/matrixsynapse/forms.py:18 +msgid "" +"Require users creating a new account to use a registration token. A token " +"will be created automatically. Pass this token to your potential new users. " +"They will be asked for the token during registration. (recommended)" +msgstr "" + +#: modules/matrixsynapse/forms.py:27 +msgid "Enable Public Registration" +msgstr "" + +#: modules/matrixsynapse/forms.py:28 +msgid "" +"Enabling public registration means that anyone on the Internet can register " +"a new account on your Matrix server. Disable this if you only want existing " +"users to be able to use it." +msgstr "" + +#: modules/matrixsynapse/forms.py:33 +msgid "Verification method for registration" +msgstr "" + +#: modules/matrixsynapse/forms.py:40 +#, python-brace-format +msgid "" +"Configures the local <a href={coturn_url}>coturn</a> app as the STUN/TURN " +"server for Matrix Synapse. Disable this if you want to use a different STUN/" +"TURN server." +msgstr "" + +#: modules/matrixsynapse/manifest.py:14 +msgid "Element" +msgstr "" + +#: modules/matrixsynapse/manifest.py:48 +msgid "FluffyChat" +msgstr "" + +#: modules/matrixsynapse/manifest.py:101 modules/quassel/manifest.py:54 +msgid "Chat room" +msgstr "" + +#: modules/matrixsynapse/manifest.py:105 +msgid "Matrix server" +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 +msgid "" +"Matrix service needs to be configured for a domain. Users on other Matrix " +"servers will be able to reach users on this server using this domain name. " +"Matrix user IDs will look like <em>@username:domainname</em>." +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 +msgid "" +"<strong>Warning!</strong> Changing the domain name after this step will " +"require uninstalling and reinstalling the app which will wipe app's data." +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:42 +#, python-format +msgid "" +"No domain(s) are available. <a href=\"%(config_url)s\">Configure</a> at " +"least one domain to be able to use Matrix Synapse." +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:20 +#, python-format +msgid "" +"The Matrix server domain is set to <em>%(domain_name)s</em>. User IDs will " +"look like <em>@username:%(domain_name)s</em>. Changing the domain name after " +"the initial setup is currently not supported." +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:27 +msgid "" +"New users can be registered from any client if public registration is " +"enabled." +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:34 +msgid "" +"New users must use one of the following tokens for verification during " +"account registration:" +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:43 +msgid "Registration Token" +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:44 +msgid "Uses Allowed" +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:45 +msgid "Pending Registrations" +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:46 +msgid "Completed Registrations" +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:47 +msgid "Expiry Time" +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:56 +msgid "Unlimited" +msgstr "" + +#: modules/matrixsynapse/templates/matrix-synapse.html:85 +#, python-format +msgid "" +"The configured domain name is using a self-signed certificate. Federation " +"with other Matrix Synapse instances requires a valid TLS certificate. Please " +"go to <a href=\"%(letsencrypt_url)s\">Let's Encrypt</a> to obtain one." +msgstr "" + +#: modules/matrixsynapse/views.py:140 +msgid "Registration configuration cannot be updated when app is disabled." +msgstr "" + +#: modules/mediawiki/__init__.py:21 +msgid "" +"MediaWiki is the wiki engine that powers Wikipedia and other WikiMedia " +"projects. A wiki engine is a program for creating a collaboratively edited " +"website. You can use MediaWiki to host a wiki-like website, take notes or " +"collaborate with friends on projects." +msgstr "" + +#: modules/mediawiki/__init__.py:25 +msgid "" +"This MediaWiki instance comes with a randomly generated administrator " +"password. You can set a new password in the \"Configuration\" section and " +"log in using the \"admin\" account. You can then create more user accounts " +"from MediaWiki itself by going to the <a href=\"/mediawiki/index.php/Special:" +"CreateAccount\">Special:CreateAccount</a> page." +msgstr "" + +#: modules/mediawiki/__init__.py:31 +msgid "" +"Anyone with a link to this wiki can read it. Only users that are logged in " +"can make changes to the content." +msgstr "" + +#: modules/mediawiki/__init__.py:51 modules/mediawiki/manifest.py:6 +msgid "MediaWiki" +msgstr "" + +#: modules/mediawiki/forms.py:56 +msgid "Administrator Password" +msgstr "" + +#: modules/mediawiki/forms.py:57 +msgid "" +"Set a new password for MediaWiki's administrator account (admin). The " +"password cannot be a common one and the minimum required length is " +"<strong>10 characters</strong>. Leave this field blank to keep the current " +"password." +msgstr "" + +#: modules/mediawiki/forms.py:65 +msgid "" +"Used by MediaWiki to generate URLs that point to the wiki such as in footer, " +"feeds and emails. Examples: \"myfreedombox.example.org\" or \"example." +"onion\"." +msgstr "" + +#: modules/mediawiki/forms.py:71 +msgid "Site Name" +msgstr "" + +#: modules/mediawiki/forms.py:72 +msgid "Name of the site as displayed throughout the wiki." +msgstr "" + +#: modules/mediawiki/forms.py:76 +msgid "Enable public registrations" +msgstr "" + +#: modules/mediawiki/forms.py:77 +msgid "" +"If enabled, anyone on the internet will be able to create an account on your " +"MediaWiki instance." +msgstr "" + +#: modules/mediawiki/forms.py:81 +msgid "Enable private mode" +msgstr "" + +#: modules/mediawiki/forms.py:82 +msgid "" +"If enabled, access will be restricted. Only people who have accounts can " +"read/write to the wiki. Public registrations will also be disabled." +msgstr "" + +#: modules/mediawiki/forms.py:87 +msgid "Default Skin" +msgstr "" + +#: modules/mediawiki/forms.py:88 +msgid "" +"Choose a default skin for your MediaWiki installation. Users have the option " +"to select their preferred skin." +msgstr "" + +#: modules/mediawiki/forms.py:93 +msgid "Default Language" +msgstr "" + +#: modules/mediawiki/forms.py:94 +msgid "" +"Choose a default language for your MediaWiki installation. Users have the " +"option to select their preferred language." +msgstr "" + +#: modules/mediawiki/views.py:43 +msgid "Password updated" +msgstr "" + +#: modules/mediawiki/views.py:48 +msgid "Password update failed. Please choose a stronger password" +msgstr "" + +#: modules/mediawiki/views.py:57 +msgid "Public registrations enabled" +msgstr "" + +#: modules/mediawiki/views.py:65 +msgid "Public registrations disabled" +msgstr "" + +#: modules/mediawiki/views.py:70 +msgid "Private mode enabled" +msgstr "" + +#: modules/mediawiki/views.py:76 +msgid "Private mode disabled" +msgstr "" + +#: modules/mediawiki/views.py:84 +msgid "Default skin changed" +msgstr "" + +#: modules/mediawiki/views.py:88 +msgid "Domain name updated" +msgstr "" + +#: modules/mediawiki/views.py:92 +msgid "Site name updated" +msgstr "" + +#: modules/mediawiki/views.py:96 +msgid "Default language changed" +msgstr "" + +#: modules/minetest/__init__.py:33 +#, python-brace-format +msgid "" +"Minetest is a multiplayer infinite-world block sandbox. This module enables " +"the Minetest server to be run on this {box_name}, on the default port " +"(30000). To connect to the server, a <a href=\"http://www.minetest.net/" +"downloads/\">Minetest client</a> is needed." +msgstr "" + +#: modules/minetest/__init__.py:56 modules/minetest/manifest.py:9 +msgid "Minetest" +msgstr "" + +#: modules/minetest/forms.py:13 +msgid "Maximum number of players" +msgstr "" + +#: modules/minetest/forms.py:15 +msgid "" +"You can change the maximum number of players playing minetest at a single " +"instance of time." +msgstr "" + +#: modules/minetest/forms.py:19 +msgid "Enable creative mode" +msgstr "" + +#: modules/minetest/forms.py:20 +msgid "" +"Creative mode changes the rules of the game to make it more suitable for " +"creative gameplay, rather than challenging \"survival\" gameplay." +msgstr "" + +#: modules/minetest/forms.py:25 +msgid "Enable PVP" +msgstr "" + +#: modules/minetest/forms.py:26 +msgid "Enabling Player Vs Player will allow players to damage other players." +msgstr "" + +#: modules/minetest/forms.py:30 +msgid "Enable damage" +msgstr "" + +#: modules/minetest/forms.py:31 +msgid "When disabled, players cannot die or receive damage of any kind." +msgstr "" + +#: modules/minetest/manifest.py:49 +msgid "Game server" +msgstr "" + +#: modules/minetest/manifest.py:49 +msgid "Block sandbox" +msgstr "" + +#: modules/minetest/manifest.py:49 +msgid "Platform" +msgstr "" + +#: modules/minetest/templates/minetest.html:17 modules/networks/forms.py:105 +#: modules/networks/forms.py:145 +msgid "Address" +msgstr "" + +#: modules/minidlna/__init__.py:20 +msgid "" +"MiniDLNA is a simple media server software, with the aim of being fully " +"compliant with DLNA/UPnP-AV clients. The MiniDLNA daemon serves media files " +"(music, pictures, and video) to clients on a network. DLNA/UPnP is zero " +"configuration protocol and is compliant with any device passing the DLNA " +"Certification like portable media players, Smartphones, Televisions, and " +"gaming systems (such as PS3 and Xbox 360) or applications such as totem and " +"Kodi." +msgstr "" + +#: modules/minidlna/__init__.py:45 +msgid "MiniDLNA" +msgstr "" + +#: modules/minidlna/forms.py:20 +msgid "Media Files Directory" +msgstr "" + +#: modules/minidlna/forms.py:21 +msgid "" +"Directory that MiniDLNA Server will read for content. All sub-directories of " +"this will be also scanned for media files." +msgstr "" + +#: modules/minidlna/manifest.py:10 +msgid "vlc" +msgstr "" + +#: modules/minidlna/manifest.py:48 +msgid "kodi" +msgstr "" + +#: modules/minidlna/manifest.py:81 +msgid "yaacc" +msgstr "" + +#: modules/minidlna/manifest.py:91 +msgid "totem" +msgstr "" + +#: modules/minidlna/manifest.py:116 +msgid "Media server" +msgstr "" + +#: modules/minidlna/manifest.py:116 +msgid "Television" +msgstr "" + +#: modules/minidlna/manifest.py:116 +msgid "UPnP" +msgstr "" + +#: modules/minidlna/manifest.py:116 +msgid "DLNA" +msgstr "" + +#: modules/minidlna/views.py:33 +msgid "Updated media directory" +msgstr "" + +#: modules/miniflux/__init__.py:18 +msgid "" +"Miniflux is a web-based tool that aggregates news and blog updates from " +"various websites into one centralized, easy-to-read format. It has a simple " +"interface and focuses on a distraction-free reading experience. You can can " +"subscribe to your favorite sites and access full article contents within the " +"reader itself." +msgstr "" + +#: modules/miniflux/__init__.py:23 +msgid "" +"Key features include keyboard shortcuts for quick navigation, full-text " +"search, filtering articles, categories and favorites. Miniflux preserves " +"user privacy by removing trackers. The primary interface is web-based. There " +"are several third-party <a href=\"https://miniflux.app/docs/apps." +"html\">clients</a> as well." +msgstr "" + +#: modules/miniflux/__init__.py:42 modules/miniflux/manifest.py:10 +msgid "Miniflux" +msgstr "" + +#: modules/miniflux/forms.py:12 +msgid "Enter a username for the user." +msgstr "" + +#: modules/miniflux/forms.py:16 +msgid "Enter a strong password with a minimum of 6 characters." +msgstr "" + +#: modules/miniflux/forms.py:18 +msgid "Password confirmation" +msgstr "" + +#: modules/miniflux/forms.py:20 +msgid "Enter the same password for confirmation." +msgstr "" + +#: modules/miniflux/forms.py:31 +msgid "Passwords do not match." +msgstr "" + +#: modules/miniflux/manifest.py:18 +msgid "Fluent Reader Lite" +msgstr "" + +#: modules/miniflux/manifest.py:33 +msgid "Fluent Reader" +msgstr "" + +#: modules/miniflux/manifest.py:46 +msgid "FluxNews" +msgstr "" + +#: modules/miniflux/manifest.py:61 +msgid "MiniFlutt" +msgstr "" + +#: modules/miniflux/manifest.py:71 +msgid "NetNewsWire" +msgstr "" + +#: modules/miniflux/manifest.py:86 +msgid "Newsflash" +msgstr "" + +#: modules/miniflux/manifest.py:96 +msgid "Read You" +msgstr "" + +#: modules/miniflux/manifest.py:106 +msgid "RSS Guard" +msgstr "" + +#: modules/miniflux/manifest.py:138 modules/ttrss/manifest.py:55 +msgid "Feed reader" +msgstr "" + +#: modules/miniflux/manifest.py:138 modules/ttrss/manifest.py:55 +msgid "News aggregation" +msgstr "" + +#: modules/miniflux/manifest.py:138 modules/rssbridge/manifest.py:16 +#: modules/ttrss/manifest.py:55 +msgid "RSS" +msgstr "" + +#: modules/miniflux/manifest.py:138 modules/rssbridge/manifest.py:16 +#: modules/ttrss/manifest.py:55 +msgid "ATOM" +msgstr "" + +#: modules/miniflux/templates/miniflux.html:14 +msgid "" +"Create an admin user to get started. Other users can be created from within " +"Miniflux." +msgstr "" + +#: modules/miniflux/templates/miniflux.html:22 +#: modules/miniflux/templates/miniflux.html:24 +msgid "Create admin user" +msgstr "" + +#: modules/miniflux/templates/miniflux.html:27 +#: modules/miniflux/templates/miniflux.html:29 +msgid "Reset user password" +msgstr "" + +#: modules/miniflux/views.py:38 +msgid "Create Admin User" +msgstr "" + +#: modules/miniflux/views.py:48 +#, python-brace-format +msgid "Created admin user: {username}" +msgstr "" + +#: modules/miniflux/views.py:53 +#, python-brace-format +msgid "An error occurred while creating the user: {error}." +msgstr "" + +#: modules/miniflux/views.py:70 +msgid "Reset User Password" +msgstr "" + +#: modules/miniflux/views.py:80 +#, python-brace-format +msgid "Password reset for user: {username}" +msgstr "" + +#: modules/miniflux/views.py:85 +#, python-brace-format +msgid "An error occurred during password reset: {error}." +msgstr "" + +#: modules/mumble/__init__.py:26 +msgid "" +"Mumble is an open source, low-latency, encrypted, high quality voice chat " +"software." +msgstr "" + +#: modules/mumble/__init__.py:28 +msgid "" +"You can connect to your Mumble server on the regular Mumble port 64738. <a " +"href=\"http://mumble.info\">Clients</a> to connect to Mumble from your " +"desktop and mobile devices are available." +msgstr "" + +#: modules/mumble/__init__.py:46 modules/mumble/manifest.py:9 +msgid "Mumble" +msgstr "" + +#: modules/mumble/__init__.py:158 +msgid "Mumble server is configured" +msgstr "" + +#: modules/mumble/forms.py:30 +msgid "Set SuperUser Password" +msgstr "" + +#: modules/mumble/forms.py:33 +msgid "" +"Optional. Leave this field blank to keep the current password. SuperUser " +"password can be used to manage permissions in Mumble." +msgstr "" + +#: modules/mumble/forms.py:40 +msgid "Set a password to join the server" +msgstr "" + +#: modules/mumble/forms.py:42 +msgid "" +"Set a password that is required to join the server. Leave empty to use the " +"current password." +msgstr "" + +#: modules/mumble/forms.py:48 +msgid "Set the name for the root channel" +msgstr "" + +#: modules/mumble/forms.py:52 +msgid "" +"Set the name of the main channel of your mumble server. If the name was " +"never changed, the channel is named Root." +msgstr "" + +#: modules/mumble/manifest.py:34 +msgid "Mumblefly" +msgstr "" + +#: modules/mumble/manifest.py:43 +msgid "Mumla" +msgstr "" + +#: modules/mumble/manifest.py:67 +msgid "Group conference" +msgstr "" + +#: modules/mumble/views.py:43 +msgid "SuperUser password successfully updated." +msgstr "" + +#: modules/mumble/views.py:48 +msgid "Join password changed" +msgstr "" + +#: modules/mumble/views.py:53 +msgid "Root channel name changed." +msgstr "" + +#: modules/names/__init__.py:34 +#, python-brace-format +msgid "" +"Name Services provides an overview of the ways {box_name} can be reached " +"from the public Internet: domain name, Tor onion service, and Pagekite. For " +"each type of name, it is shown whether the HTTP, HTTPS, and SSH services are " +"enabled or disabled for incoming connections through the given name." +msgstr "" + +#: modules/names/__init__.py:55 +msgid "Name Services" +msgstr "" + +#: modules/names/__init__.py:69 +msgid "Domain (regular)" +msgstr "" + +#: modules/names/__init__.py:178 +msgid "Package systemd-resolved is installed" +msgstr "" + +#: modules/names/__init__.py:232 +#, python-brace-format +msgid "Resolve domain name: {domain}" +msgstr "" + +#: modules/names/components.py:14 +msgid "All" +msgstr "" + +#: modules/names/components.py:18 modules/names/components.py:22 +msgid "All web apps" +msgstr "" + +#: modules/names/components.py:26 +msgid "Secure Shell" +msgstr "" + +#: modules/names/forms.py:22 +msgid "Use DNS-over-TLS for resolving domains (global preference)" +msgstr "" + +#: modules/names/forms.py:50 +msgid "Use DNSSEC when resolving domains (global preference)" +msgstr "" + +#: modules/names/forms.py:85 modules/names/manifest.py:12 +msgid "Hostname" +msgstr "" + +#: modules/names/forms.py:86 +#, python-brace-format +msgid "" +"Hostname is the local name by which other devices on the local network can " +"reach your {box_name}. It must start and end with an alphabet or a digit " +"and have as interior characters only alphabets, digits and hyphens. Total " +"length must be 63 characters or less." +msgstr "" + +#: modules/names/forms.py:92 +msgid "Invalid hostname" +msgstr "" + +#: modules/names/forms.py:108 +#, python-brace-format +msgid "" +"Domain name is the global name by which other devices on the Internet can " +"reach your {box_name}. It must consist of labels separated by dots. Each " +"label must start and end with an alphabet or a digit and have as interior " +"characters only alphabets, digits and hyphens. Length of each label must be " +"63 characters or less. Total length of domain name must be 253 characters " +"or less." +msgstr "" + +#: modules/names/manifest.py:13 +msgid "DNS Resolution" +msgstr "" + +#: modules/names/resolved.py:91 modules/names/resolved.py:101 +#: modules/networks/forms.py:28 +#: modules/networks/templates/connection_show.html:70 +#: modules/networks/templates/connection_show.html:212 +#: modules/networks/templates/connection_show.html:253 +#: modules/networks/views.py:125 +msgid "yes" +msgstr "" + +#: modules/names/resolved.py:92 modules/networks/forms.py:29 +#: modules/networks/views.py:124 +msgid "opportunistic" +msgstr "" + +#: modules/names/resolved.py:93 modules/names/resolved.py:103 +#: modules/networks/forms.py:30 modules/networks/views.py:123 +msgid "no" +msgstr "" + +#: modules/names/resolved.py:102 +msgid "allow-downgrade" +msgstr "" + +#: modules/names/resolved.py:110 +msgid "supported" +msgstr "" + +#: modules/names/resolved.py:110 +msgid "unsupported" +msgstr "" + +#: modules/names/templates/names.html:41 +#: modules/networks/templates/connection_show.html:40 +#: modules/wireguard/templates/wireguard_show_client.html:72 +#: modules/wireguard/templates/wireguard_show_server.html:73 +#: templates/base.html:166 templates/base.html:167 +msgid "Edit" +msgstr "" + +#: modules/names/templates/names.html:59 +msgid "Add Domains" +msgstr "" + +#: modules/names/templates/names.html:87 +msgid "Resolver Status" +msgstr "" + +#: modules/names/templates/names.html:97 +msgid "Global" +msgstr "" + +#: modules/names/templates/names.html:99 +msgid "Link" +msgstr "" + +#: modules/names/templates/names.html:104 +#: modules/networks/templates/connection_show.html:268 +msgid "DNS-over-TLS" +msgstr "" + +#: modules/names/templates/names.html:108 +msgid "DNSSEC" +msgstr "" + +#: modules/names/templates/names.html:113 +msgid "Current DNS Server" +msgstr "" + +#: modules/names/templates/names.html:119 +msgid "DNS Servers" +msgstr "" + +#: modules/names/templates/names.html:129 +msgid "Fallback DNS Servers" +msgstr "" + +#: modules/names/templates/names.html:143 +msgid "" +"systemd-resolved package is not installed. Install it for additional " +"functionality." +msgstr "" + +#: modules/names/templates/names.html:152 templates/setup.html:78 +msgid "Install" +msgstr "" + +#: modules/names/templates/names.html:162 +msgid "Error retrieving status:" +msgstr "" + +#: modules/names/views.py:83 +msgid "Set Hostname" +msgstr "" + +#: modules/names/views.py:101 +#, python-brace-format +msgid "Error setting hostname: {exception}" +msgstr "" + +#: modules/names/views.py:117 +msgid "Add Domain Name" +msgstr "" + +#: modules/networks/__init__.py:19 +msgid "" +"Configure network devices. Connect to the Internet via Ethernet, Wi-Fi or " +"PPPoE. Share that connection with other devices on the network." +msgstr "" + +#: modules/networks/__init__.py:21 +msgid "" +"Devices administered through other methods may not be available for " +"configuration here." +msgstr "" + +#: modules/networks/__init__.py:42 +msgid "Networks" +msgstr "" + +#: modules/networks/forms.py:19 modules/networks/forms.py:25 +#: modules/networks/views.py:39 modules/networks/views.py:100 +#: modules/networks/views.py:111 +msgid "unknown" +msgstr "" + +#: modules/networks/forms.py:38 +msgid "Connection Type" +msgstr "" + +#: modules/networks/forms.py:45 +msgid "Connection Name" +msgstr "" + +#: modules/networks/forms.py:47 +msgid "Network Interface" +msgstr "" + +#: modules/networks/forms.py:48 +msgid "The network device that this connection should be bound to." +msgstr "" + +#: modules/networks/forms.py:51 +msgid "Firewall Zone" +msgstr "" + +#: modules/networks/forms.py:52 +msgid "" +"The firewall zone will control which services are available over this " +"interfaces. Select Internal only for trusted networks." +msgstr "" + +#: modules/networks/forms.py:56 +msgid "Use DNS-over-TLS" +msgstr "" + +#: modules/networks/forms.py:90 +msgid "IPv4 Addressing Method" +msgstr "" + +#: modules/networks/forms.py:92 +msgid "" +"Automatic (DHCP): Configure automatically, use Internet connection from this " +"network" +msgstr "" + +#: modules/networks/forms.py:95 +msgid "" +"Shared: Act as a router, provide Internet connection to other devices on " +"this network" +msgstr "" + +#: modules/networks/forms.py:98 modules/networks/forms.py:139 +msgid "" +"Manual: Use manually specified parameters, use Internet connection from this " +"network" +msgstr "" + +#: modules/networks/forms.py:101 +msgid "Disabled: Do not configure this addressing method" +msgstr "" + +#: modules/networks/forms.py:108 +msgid "Netmask" +msgstr "" + +#: modules/networks/forms.py:109 +msgid "" +"Optional value. If left blank, a default netmask based on the address will " +"be used." +msgstr "" + +#: modules/networks/forms.py:113 modules/networks/forms.py:152 +#: modules/networks/templates/connection_show.html:197 +#: modules/networks/templates/connection_show.html:238 +msgid "Gateway" +msgstr "" + +#: modules/networks/forms.py:113 modules/networks/forms.py:152 +msgid "Optional value." +msgstr "" + +#: modules/networks/forms.py:116 modules/networks/forms.py:155 +msgid "DNS Server" +msgstr "" + +#: modules/networks/forms.py:117 +msgid "" +"Optional value. If this value is given and IPv4 addressing method is " +"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." +msgstr "" + +#: modules/networks/forms.py:122 modules/networks/forms.py:161 +msgid "Second DNS Server" +msgstr "" + +#: modules/networks/forms.py:123 +msgid "" +"Optional value. If this value is given and IPv4 Addressing Method is " +"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." +msgstr "" + +#: modules/networks/forms.py:128 +msgid "IPv6 Addressing Method" +msgstr "" + +#: modules/networks/forms.py:130 +msgid "" +"Automatic: Configure automatically, use Internet connection from this network" +msgstr "" + +#: modules/networks/forms.py:133 +msgid "" +"Automatic (DHCP only): Configure automatically, use Internet connection from " +"this network" +msgstr "" + +#: modules/networks/forms.py:136 +msgid "" +"Link-local: Configure automatically to use an address that is only relevant " +"to this network." +msgstr "" + +#: modules/networks/forms.py:141 +msgid "Ignore: Ignore this addressing method" +msgstr "" + +#: modules/networks/forms.py:142 +msgid "Disabled: Disable IPv6 for this connection" +msgstr "" + +#: modules/networks/forms.py:147 +msgid "Prefix" +msgstr "" + +#: modules/networks/forms.py:148 +msgid "Value between 1 and 128." +msgstr "" + +#: modules/networks/forms.py:156 +msgid "" +"Optional value. If this value is given and IPv6 addressing method is " +"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." +msgstr "" + +#: modules/networks/forms.py:162 +msgid "" +"Optional value. If this value is given and IPv6 Addressing Method is " +"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." +msgstr "" + +#: modules/networks/forms.py:183 +msgid "-- select --" +msgstr "" + +#: modules/networks/forms.py:312 +#: modules/networks/templates/connection_show.html:139 +msgid "SSID" +msgstr "" + +#: modules/networks/forms.py:313 +msgid "The visible name of the network." +msgstr "" + +#: modules/networks/forms.py:315 +#: modules/networks/templates/connection_show.html:152 +msgid "Mode" +msgstr "" + +#: modules/networks/forms.py:315 +msgid "Infrastructure" +msgstr "" + +#: modules/networks/forms.py:316 +msgid "Access Point" +msgstr "" + +#: modules/networks/forms.py:317 +msgid "Ad-hoc" +msgstr "" + +#: modules/networks/forms.py:319 +msgid "Frequency Band" +msgstr "" + +#: modules/networks/forms.py:320 +msgid "A (5 GHz)" +msgstr "" + +#: modules/networks/forms.py:321 +msgid "B/G (2.4 GHz)" +msgstr "" + +#: modules/networks/forms.py:323 +#: modules/networks/templates/connection_show.html:166 +msgid "Channel" +msgstr "" + +#: modules/networks/forms.py:324 +msgid "" +"Optional value. Wireless channel in the selected frequency band to restrict " +"to. Blank or 0 value means automatic selection." +msgstr "" + +#: modules/networks/forms.py:329 +msgid "BSSID" +msgstr "" + +#: modules/networks/forms.py:330 +msgid "" +"Optional value. Unique identifier for the access point. When connecting to " +"an access point, connect only if the BSSID of the access point matches the " +"one provided. Example: 00:11:22:aa:bb:cc." +msgstr "" + +#: modules/networks/forms.py:336 +msgid "Authentication Mode" +msgstr "" + +#: modules/networks/forms.py:337 +msgid "" +"Select WPA if the wireless network is secured and requires clients to have " +"the password to connect." +msgstr "" + +#: modules/networks/forms.py:339 +msgid "WPA" +msgstr "" + +#: modules/networks/forms.py:339 +msgid "Open" +msgstr "" + +#: modules/networks/forms.py:375 +#, python-brace-format +msgid "Specify how your {box_name} is connected to your network" +msgstr "" + +#: modules/networks/forms.py:382 +#, python-brace-format +msgid "" +"Connected to a router <p class=\"help-block\">Your {box_name} gets its " +"Internet connection from your router via Wi-Fi or Ethernet cable. This is a " +"typical home setup.</p>" +msgstr "" + +#: modules/networks/forms.py:389 +#, python-brace-format +msgid "" +"{box_name} is your router <p class=\"help-block\">Your {box_name} has " +"multiple network interfaces such as multiple Ethernet ports or a Wi-Fi " +"adapter. {box_name} is directly connected to the Internet and all your " +"devices connect to {box_name} for their Internet connectivity.</p>" +msgstr "" + +#: modules/networks/forms.py:398 +#, python-brace-format +msgid "" +"Directly connected to the Internet <p class=\"help-block\">Your Internet " +"connection is directly attached to your {box_name} and there are no other " +"devices on the network. This can happen on community or cloud setups.</p>" +msgstr "" + +#: modules/networks/forms.py:417 +msgid "Choose your internet connection type" +msgstr "" + +#: modules/networks/forms.py:421 +msgid "" +"I have a public IP address that may change over time<p class=\"help-" +"block\">This means that devices on the Internet can reach you when you are " +"connected to the Internet. Every time you connect to the Internet with your " +"Internet Service Provider (ISP), you may get a different IP address, " +"especially after some offline time. Many ISPs offer this type of " +"connectivity. If you have a public IP address but are unsure if it changes " +"over time or not, it is safer to choose this option.</p>" +msgstr "" + +#: modules/networks/forms.py:433 +#, python-brace-format +msgid "" +"I have a public IP address that does not change over time (recommended)<p " +"class=\"help-block\">This means that devices on the Internet can reach you " +"when you are connected to the Internet. Every time you connect to the " +"Internet with your Internet Service Provider (ISP), you always get the same " +"IP address. This is the most trouble-free setup for many {box_name} services " +"but very few ISPs offer this. You may be able to get this service from your " +"ISP by making an additional payment.</p>" +msgstr "" + +#: modules/networks/forms.py:446 +#, python-brace-format +msgid "" +"I dont have a public IP address<p class=\"help-block\">This means that " +"devices on the Internet <b>can not</b> reach you when you are connected to " +"the Internet. Every time you connect to the Internet with your Internet " +"Service Provider (ISP), you get an IP address that is only relevant for " +"local networks. Many ISPs offer this type of connectivity. This is the most " +"troublesome situation for hosting services at home. {box_name} provides many " +"workaround solutions but each solution has some limitations.</p>" +msgstr "" + +#: modules/networks/forms.py:459 +msgid "" +"I do not know the type of connection my ISP provides <p class=\"help-" +"block\">You will be suggested the most conservative actions.</p>" +msgstr "" + +#: modules/networks/forms.py:476 +msgid "Preferred router configuration" +msgstr "" + +#: modules/networks/forms.py:481 +#, python-brace-format +msgid "" +"Use DMZ feature to forward all traffic (recommended) <p class=\"help-" +"block\">Most routers provide a configuration setting called DMZ. This will " +"allow the router to forward all incoming traffic from the Internet to a " +"single IP address such as the {box_name}'s IP address. First remember to " +"configure a static local IP address for your {box_name} in your router's " +"configuration.</p>" +msgstr "" + +#: modules/networks/forms.py:493 +#, python-brace-format +msgid "" +"Forward specific traffic as needed by each application <p class=\"help-" +"block\">You may alternatively choose to forward only specific traffic to " +"your {box_name}. This is ideal if you have other servers like {box_name} in " +"your network or if your router does not support DMZ feature. All " +"applications that provide a web interface need you to forward traffic from " +"ports 80 and 443 to work. Each of the other applications will suggest which " +"port(s) need to be forwarded for that application to work.</p>" +msgstr "" + +#: modules/networks/forms.py:507 +msgid "" +"Router is currently unconfigured <p class=\"help-block\">Choose this if you " +"have not configured or are unable to configure the router currently and wish " +"to be reminded later. Some of the other configuration steps may fail.</p>" +msgstr "" + +#: modules/networks/manifest.py:8 +#: modules/networks/templates/connections_diagram.html:11 +msgid "Internet" +msgstr "" + +#: modules/networks/manifest.py:8 +#: modules/networks/templates/connections_diagram.html:32 +#: modules/networks/templates/connections_diagram.html:62 +#: modules/networks/templates/connections_fields_wifi.html:15 +#: modules/networks/views.py:102 network.py:29 +msgid "Wi-Fi" +msgstr "" + +#: modules/networks/manifest.py:8 modules/privoxy/manifest.py:10 +#: modules/samba/manifest.py:90 +msgid "Local network" +msgstr "" + +#: modules/networks/manifest.py:8 +msgid "Topology" +msgstr "" + +#: modules/networks/templates/connection_show.html:27 +#, python-format +msgid "" +"This is the primary connection that %(box_name)s relies on for Internet " +"connectivity. Altering it may render your %(box_name)s unreachable. Ensure " +"that you have other means to access %(box_name)s before altering this " +"connection." +msgstr "" + +#: modules/networks/templates/connection_show.html:40 +msgid "Edit connection" +msgstr "" + +#: modules/networks/templates/connection_show.html:47 +#: modules/networks/templates/connections_list.html:61 +msgid "Deactivate" +msgstr "" + +#: modules/networks/templates/connection_show.html:54 +#: modules/networks/templates/connections_list.html:69 +msgid "Activate" +msgstr "" + +#: modules/networks/templates/connection_show.html:60 +msgid "Delete connection" +msgstr "" + +#: modules/networks/templates/connection_show.html:63 +#: modules/networks/templates/connections_diagram.html:19 +#: modules/networks/templates/connections_diagram.html:22 +#: modules/networks/templates/connections_diagram.html:51 +#: modules/networks/templates/connections_diagram.html:73 +msgid "Connection" +msgstr "" + +#: modules/networks/templates/connection_show.html:68 +msgid "Primary connection" +msgstr "" + +#: modules/networks/templates/connection_show.html:81 +#: modules/storage/templates/storage.html:23 +msgid "Device" +msgstr "" + +#: modules/networks/templates/connection_show.html:85 +msgid "State" +msgstr "" + +#: modules/networks/templates/connection_show.html:90 +msgid "State reason" +msgstr "" + +#: modules/networks/templates/connection_show.html:99 +msgid "MAC address" +msgstr "" + +#: modules/networks/templates/connection_show.html:103 +msgid "Interface" +msgstr "" + +#: modules/networks/templates/connection_show.html:107 +#: modules/snapshot/templates/snapshot_delete_selected.html:19 +#: modules/snapshot/templates/snapshot_manage.html:34 +#: modules/snapshot/templates/snapshot_rollback.html:27 +msgid "Description" +msgstr "" + +#: modules/networks/templates/connection_show.html:113 +msgid "Physical Link" +msgstr "" + +#: modules/networks/templates/connection_show.html:118 +msgid "Link state" +msgstr "" + +#: modules/networks/templates/connection_show.html:121 +msgid "cable is connected" +msgstr "" + +#: modules/networks/templates/connection_show.html:124 +msgid "please check cable" +msgstr "" + +#: modules/networks/templates/connection_show.html:128 +#: modules/networks/templates/connection_show.html:144 +msgid "Speed" +msgstr "" + +#: modules/networks/templates/connection_show.html:130 +#, python-format +msgid "%(ethernet_speed)s Mbit/s" +msgstr "" + +#: modules/networks/templates/connection_show.html:146 +#, python-format +msgid "%(wireless_bitrate)s Mbit/s" +msgstr "" + +#: modules/networks/templates/connection_show.html:158 +msgid "Signal strength" +msgstr "" + +#: modules/networks/templates/connection_show.html:174 +#: modules/networks/templates/connections_fields.html:67 +msgid "IPv4" +msgstr "" + +#: modules/networks/templates/connection_show.html:179 +#: modules/networks/templates/connection_show.html:222 +#: modules/shadowsocks/forms.py:36 modules/shadowsocksserver/forms.py:42 +msgid "Method" +msgstr "" + +#: modules/networks/templates/connection_show.html:188 +#: modules/networks/templates/connection_show.html:229 +msgid "IP address" +msgstr "" + +#: modules/networks/templates/connection_show.html:204 +#: modules/networks/templates/connection_show.html:245 +msgid "DNS server" +msgstr "" + +#: modules/networks/templates/connection_show.html:211 +#: modules/networks/templates/connection_show.html:252 +#: modules/storage/forms.py:132 +msgid "Default" +msgstr "" + +#: modules/networks/templates/connection_show.html:217 +#: modules/networks/templates/connections_fields.html:94 +msgid "IPv6" +msgstr "" + +#: modules/networks/templates/connection_show.html:260 +msgid "This connection is not active." +msgstr "" + +#: modules/networks/templates/connection_show.html:264 +#: modules/networks/templates/connections_fields_privacy.html:15 +#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38 +#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45 +msgid "Privacy" +msgstr "" + +#: modules/networks/templates/connection_show.html:279 +#: modules/networks/templates/connection_show.html:304 +#: modules/networks/templates/connection_show.html:328 +msgid "Firewall zone" +msgstr "" + +#: modules/networks/templates/connection_show.html:289 +#: modules/networks/templates/connection_show.html:314 +#: modules/networks/templates/connection_show.html:338 +#: templates/internal-zone.html:13 templates/messages.html:20 +msgid "Info:" +msgstr "" + +#: modules/networks/templates/connection_show.html:292 +msgid "" +"This interface should be connected to a local network/machine. If you " +"connect this interface to a public network, services meant to be available " +"only internally will become available externally. This is a security risk." +msgstr "" + +#: modules/networks/templates/connection_show.html:317 +#: modules/networks/templates/connection_show.html:345 +msgid "" +"This interface should receive your Internet connection. If you connect it to " +"a local network/machine, many services meant to available only internally " +"will not be available." +msgstr "" + +#: modules/networks/templates/connection_show.html:330 +#: modules/networks/templates/connections_diagram.html:24 network.py:25 +msgid "External" +msgstr "" + +#: modules/networks/templates/connection_show.html:341 +#, python-format +msgid "" +"This interface is not maintained by %(box_name)s. For security, it is " +"automatically assigned to the external zone." +msgstr "" + +#: modules/networks/templates/connections_create.html:18 +msgid "Create Connection" +msgstr "" + +#: modules/networks/templates/connections_delete.html:11 +#: modules/networks/views.py:545 +msgid "Delete Connection" +msgstr "" + +#: modules/networks/templates/connections_delete.html:14 +#, python-format +msgid "Delete connection <strong>%(name)s</strong> permanently?" +msgstr "" + +#: modules/networks/templates/connections_diagram.html:16 +#: modules/networks/templates/connections_diagram.html:48 +msgid "Spacing" +msgstr "" + +#: modules/networks/templates/connections_diagram.html:29 +#: modules/networks/templates/connections_diagram.html:59 +#: modules/networks/views.py:101 network.py:28 +msgid "Ethernet" +msgstr "" + +#: modules/networks/templates/connections_diagram.html:35 +#: modules/networks/templates/connections_diagram.html:65 +#: modules/networks/templates/connections_list.html:43 +#, python-format +msgid "Show connection %(name)s" +msgstr "" + +#: modules/networks/templates/connections_diagram.html:53 network.py:25 +msgid "Internal" +msgstr "" + +#: modules/networks/templates/connections_diagram.html:77 +msgid "Computer" +msgstr "" + +#: modules/networks/templates/connections_edit.html:24 +#: modules/networks/views.py:253 modules/networks/views.py:341 +msgid "Edit Connection" +msgstr "" + +#: modules/networks/templates/connections_fields.html:13 +#: templates/messages.html:14 +msgid "Error:" +msgstr "" + +#: modules/networks/templates/connections_fields.html:20 +#: modules/users/templates/users_update.html:51 templates/messages.html:30 +msgid "Close" +msgstr "" + +#: modules/networks/templates/connections_fields.html:32 +msgid "General" +msgstr "" + +#: modules/networks/templates/connections_fields_pppoe.html:15 network.py:30 +msgid "PPPoE" +msgstr "" + +#: modules/networks/templates/connections_list.html:8 +msgid "Connections" +msgstr "" + +#: modules/networks/templates/connections_list.html:12 +#: modules/networks/templates/connections_list.html:14 +#: modules/networks/views.py:395 +msgid "Nearby Wi-Fi Networks" +msgstr "" + +#: modules/networks/templates/connections_list.html:17 +#: modules/networks/templates/connections_list.html:19 +#: modules/networks/views.py:420 +#: modules/wireguard/templates/wireguard_add_server.html:19 +msgid "Add Connection" +msgstr "" + +#: modules/networks/templates/connections_list.html:31 +msgid "Active" +msgstr "" + +#: modules/networks/templates/connections_list.html:35 +msgid "Inactive" +msgstr "" + +#: modules/networks/templates/connections_list.html:77 +#, python-format +msgid "Delete connection %(name)s" +msgstr "" + +#: modules/networks/templates/connections_type_select.html:19 +msgid "Create..." +msgstr "" + +#: modules/networks/templates/internet_connectivity_content.html:10 +msgid "What Type Of Internet Connection Do You Have?" +msgstr "" + +#: modules/networks/templates/internet_connectivity_content.html:16 +msgid "" +"Select an option that best describes the type of Internet connection. This " +"information is used only to guide you with further setup." +msgstr "" + +#: modules/networks/templates/internet_connectivity_main.html:9 +msgid "Your Internet Connection Type" +msgstr "" + +#: modules/networks/templates/internet_connectivity_main.html:14 +msgid "" +"The following best describes the type of Internet connection provided by " +"your ISP. This information is only used to suggest you necessary " +"configuration actions." +msgstr "" + +#: modules/networks/templates/internet_connectivity_main.html:23 +msgid "My ISP provides a public IP address that does not change over time." +msgstr "" + +#: modules/networks/templates/internet_connectivity_main.html:27 +msgid "My ISP provides a public IP address that may change over time." +msgstr "" + +#: modules/networks/templates/internet_connectivity_main.html:31 +msgid "My ISP does not provide a public IP address." +msgstr "" + +#: modules/networks/templates/internet_connectivity_main.html:35 +msgid "I do not know the type of connection my ISP provides." +msgstr "" + +#: modules/networks/templates/internet_connectivity_main.html:41 +#: modules/networks/templates/network_topology_main.html:41 +msgid "Update..." +msgstr "" + +#: modules/networks/templates/internet_connectivity_type.html:18 +#: modules/networks/templates/network_topology_update.html:18 +#: modules/networks/templates/router_configuration_update.html:19 +#: modules/pagekite/templates/pagekite_custom_services.html:33 +#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19 +msgid "Submit" +msgstr "" + +#: modules/networks/templates/network_topology_content.html:10 +#, python-format +msgid "How is Your %(box_name)s Connected to the Internet?" +msgstr "" + +#: modules/networks/templates/network_topology_content.html:16 +#, python-format +msgid "" +"Select an option that best describes how your %(box_name)s is connected in " +"your network. This information is used to guide you with further setup. It " +"can be changed later." +msgstr "" + +#: modules/networks/templates/network_topology_main.html:9 +#, python-format +msgid "%(box_name)s Internet Connectivity" +msgstr "" + +#: modules/networks/templates/network_topology_main.html:15 +#, python-format +msgid "" +"The following best describes how your %(box_name)s is connected in your " +"network. This information is used only to suggest necessary configuration " +"actions." +msgstr "" + +#: modules/networks/templates/network_topology_main.html:24 +#, python-format +msgid "" +"Your %(box_name)s gets its Internet connection from your router via Wi-Fi or " +"Ethernet cable. This is a typical home setup." +msgstr "" + +#: modules/networks/templates/network_topology_main.html:29 +#, python-format +msgid "" +"Your %(box_name)s is directly connected to the Internet and all your devices " +"connect to %(box_name)s for their Internet connectivity." +msgstr "" + +#: modules/networks/templates/network_topology_main.html:34 +#, python-format +msgid "" +"Your Internet connection is directly attached to your %(box_name)s and there " +"are no other devices on the network." +msgstr "" + +#: modules/networks/templates/networks_configuration.html:24 +msgid "" +"Advanced networking operations such as bonding, bridging and VLAN management " +"are provided by the <a href=\"/_cockpit/network\">Cockpit</a> app." +msgstr "" + +#: modules/networks/templates/router_configuration_content.html:10 +#, python-format +msgid "Setup %(box_name)s Behind a Router" +msgstr "" + +#: modules/networks/templates/router_configuration_content.html:16 +#, python-format +msgid "" +"Your %(box_name)s gets its internet connection from your router via Wi-Fi or " +"Ethernet cable. This is a typical home setup." +msgstr "" + +#: modules/networks/templates/router_configuration_content.html:23 +#, python-format +msgid "" +"With this setup, any device on the internet trying to reach your " +"%(box_name)s will have to go through your router. The router will need to be " +"configured to forward all traffic it receives so that %(box_name)s provides " +"the services." +msgstr "" + +#: modules/networks/templates/router_configuration_content.html:32 +msgid "" +"If you don't have control over your router, choose not to configure it. To " +"see options to overcome this limitation, choose 'I dont have a public IP " +"address' option in <a href=\"/plinth/sys/networks/internet-connection-type/" +"\">Internet connection type selection</a>." +msgstr "" + +#: modules/networks/templates/router_configuration_content.html:39 +msgid "Choose How You Wish to Configure Your Router" +msgstr "" + +#: modules/networks/templates/router_configuration_content.html:42 +msgid "" +"You will need to login to your router's administration console provided by " +"the router. This may look like one of the following:" +msgstr "" + +#: modules/networks/templates/router_configuration_content.html:54 +msgid "" +"The username and password is configured by you when you first setup the " +"router. For many routers, this information is printed at the back of the " +"router. If you don't remember the credentials or the IP address of the " +"router, you may decide to reset it and set it up freshly. Lookup your router " +"model number and search online for the router's manual. This will provide " +"full instructions on how to perform this task." +msgstr "" + +#: modules/networks/templates/wifi_scan.html:14 +msgid "No Wi-Fi device detected." +msgstr "" + +#: modules/networks/templates/wifi_scan.html:21 +#, python-format +msgid "Device: %(interface_name)s" +msgstr "" + +#: modules/networks/templates/wifi_scan.html:27 +msgid "Last scanned: " +msgstr "" + +#: modules/networks/templates/wifi_scan.html:31 +msgid "never" +msgstr "" + +#: modules/networks/templates/wifi_scan.html:52 +msgid "No Wi-Fi networks found." +msgstr "" + +#: modules/networks/views.py:27 +msgid "disabled" +msgstr "" + +#: modules/networks/views.py:28 +msgid "automatic" +msgstr "" + +#: modules/networks/views.py:29 +msgid "manual" +msgstr "" + +#: modules/networks/views.py:30 +msgid "shared" +msgstr "" + +#: modules/networks/views.py:31 +msgid "link-local" +msgstr "" + +#: modules/networks/views.py:32 +msgid "dhcp" +msgstr "" + +#: modules/networks/views.py:33 +msgid "ignore" +msgstr "" + +#: modules/networks/views.py:40 +msgid "unmanaged" +msgstr "" + +#: modules/networks/views.py:41 +msgid "unavailable" +msgstr "" + +#: modules/networks/views.py:42 +msgid "disconnected" +msgstr "" + +#: modules/networks/views.py:43 +msgid "preparing" +msgstr "" + +#: modules/networks/views.py:44 +msgid "connecting" +msgstr "" + +#: modules/networks/views.py:45 +msgid "needs authentication" +msgstr "" + +#: modules/networks/views.py:46 +msgid "requesting address" +msgstr "" + +#: modules/networks/views.py:47 +msgid "checking" +msgstr "" + +#: modules/networks/views.py:48 +msgid "waiting for secondary" +msgstr "" + +#: modules/networks/views.py:49 +msgid "activated" +msgstr "" + +#: modules/networks/views.py:50 +msgid "deactivating" +msgstr "" + +#: modules/networks/views.py:58 +msgid "no reason" +msgstr "" + +#: modules/networks/views.py:60 +msgid "unknown error" +msgstr "" + +#: modules/networks/views.py:62 +msgid "device is now managed" +msgstr "" + +#: modules/networks/views.py:64 +msgid "device is now unmanaged" +msgstr "" + +#: modules/networks/views.py:66 +msgid "configuration failed" +msgstr "" + +#: modules/networks/views.py:68 +msgid "secrets required" +msgstr "" + +#: modules/networks/views.py:70 +msgid "DHCP client failed to start" +msgstr "" + +#: modules/networks/views.py:72 +msgid "DHCP client error" +msgstr "" + +#: modules/networks/views.py:74 +msgid "DHCP client failed" +msgstr "" + +#: modules/networks/views.py:76 +msgid "shared connection service failed to start" +msgstr "" + +#: modules/networks/views.py:78 +msgid "shared connection service failed" +msgstr "" + +#: modules/networks/views.py:80 +msgid "device was removed" +msgstr "" + +#: modules/networks/views.py:82 +msgid "device disconnected by user" +msgstr "" + +#: modules/networks/views.py:84 +msgid "a dependency of the connection failed" +msgstr "" + +#: modules/networks/views.py:86 +msgid "Wi-Fi network not found" +msgstr "" + +#: modules/networks/views.py:88 +msgid "a secondary connection failed" +msgstr "" + +#: modules/networks/views.py:90 +msgid "new connection activation was enqueued" +msgstr "" + +#: modules/networks/views.py:92 +msgid "a duplicate IP address was detected" +msgstr "" + +#: modules/networks/views.py:94 +msgid "selected IP method is not supported" +msgstr "" + +#: modules/networks/views.py:103 +msgid "generic" +msgstr "" + +#: modules/networks/views.py:104 +msgid "TUN or TAP interface" +msgstr "" + +#: modules/networks/views.py:105 modules/wireguard/__init__.py:47 +#: modules/wireguard/manifest.py:14 +msgid "WireGuard" +msgstr "" + +#: modules/networks/views.py:112 +msgid "ad-hoc" +msgstr "" + +#: modules/networks/views.py:113 +msgid "infrastructure" +msgstr "" + +#: modules/networks/views.py:114 +msgid "access point" +msgstr "" + +#: modules/networks/views.py:115 +msgid "mesh point" +msgstr "" + +#: modules/networks/views.py:122 +msgid "default" +msgstr "" + +#: modules/networks/views.py:155 +msgid "Cannot show connection: Connection not found." +msgstr "" + +#: modules/networks/views.py:210 +msgid "Connection Information" +msgstr "" + +#: modules/networks/views.py:225 +msgid "Cannot edit connection: Connection not found." +msgstr "" + +#: modules/networks/views.py:231 +msgid "This type of connection is not yet understood." +msgstr "" + +#: modules/networks/views.py:353 +#, python-brace-format +msgid "Activated connection {name}." +msgstr "" + +#: modules/networks/views.py:357 +msgid "Failed to activate connection: Connection not found." +msgstr "" + +#: modules/networks/views.py:363 +#, python-brace-format +msgid "Failed to activate connection {name}: No suitable device is available." +msgstr "" + +#: modules/networks/views.py:376 +#, python-brace-format +msgid "Deactivated connection {name}." +msgstr "" + +#: modules/networks/views.py:380 +msgid "Failed to de-activate connection: Connection not found." +msgstr "" + +#: modules/networks/views.py:438 +msgid "Adding New Generic Connection" +msgstr "" + +#: modules/networks/views.py:456 +msgid "Adding New Ethernet Connection" +msgstr "" + +#: modules/networks/views.py:474 +msgid "Adding New PPPoE Connection" +msgstr "" + +#: modules/networks/views.py:511 +msgid "Adding New Wi-Fi Connection" +msgstr "" + +#: modules/networks/views.py:526 +#, python-brace-format +msgid "Connection {name} deleted." +msgstr "" + +#: modules/networks/views.py:530 modules/networks/views.py:540 +msgid "Failed to delete connection: Connection not found." +msgstr "" + +#: modules/nextcloud/__init__.py:25 +msgid "" +"Nextcloud is a self-hosted productivity platform which provides private and " +"secure functions for file sharing, collaborative work, and more. Nextcloud " +"includes the Nextcloud server, client applications for desktop computers, " +"and mobile clients. The Nextcloud server provides a well integrated web " +"interface." +msgstr "" + +#: modules/nextcloud/__init__.py:30 +msgid "All users of FreedomBox can use Nextcloud. To perform administrative " +msgstr "" + +#: modules/nextcloud/__init__.py:34 +#, python-brace-format +msgid "" +"Please note that Nextcloud is installed and run inside a container provided " +"by the Nextcloud community. Security, quality, privacy and legal reviews are " +"done by the upstream project and not by Debian/{box_name}. Updates are " +"performed following an independent cycle." +msgstr "" + +#: modules/nextcloud/__init__.py:56 modules/nextcloud/manifest.py:11 +#: modules/nextcloud/manifest.py:18 +msgid "Nextcloud" +msgstr "" + +#: modules/nextcloud/forms.py:19 +msgid "Not set" +msgstr "" + +#: modules/nextcloud/forms.py:26 +msgid "Override domain" +msgstr "" + +#: modules/nextcloud/forms.py:27 +msgid "" +"Set to the domain or IP address that Nextcloud should be forced to generate " +"URLs with. Should not be needed if a valid domain is used to access " +"Nextcloud. Examples: \"myfreedombox.example.org\" or \"example.onion\"." +msgstr "" + +#: modules/nextcloud/forms.py:33 +msgid "Administrator password" +msgstr "" + +#: modules/nextcloud/forms.py:34 +msgid "" +"Optional. Set a new password for Nextcloud's administrator account " +"(nextcloud-admin). The password cannot be a common one and the minimum " +"required length is <strong>10 characters</strong>. Leave this field blank to " +"keep the current password." +msgstr "" + +#: modules/nextcloud/forms.py:41 +msgid "Default phone region" +msgstr "" + +#: modules/nextcloud/forms.py:42 +msgid "" +"The default phone region is required to validate phone numbers in the " +"profile settings without a country code." +msgstr "" + +#: modules/nextcloud/manifest.py:56 modules/syncthing/manifest.py:58 +msgid "File sync" +msgstr "" + +#: modules/nextcloud/manifest.py:56 modules/sharing/__init__.py:34 +msgid "Sharing" +msgstr "" + +#: modules/nextcloud/manifest.py:56 modules/sogo/manifest.py:72 +msgid "Groupware" +msgstr "" + +#: modules/nextcloud/views.py:53 +msgid "Password update failed. Please choose a stronger password." +msgstr "" + +#: modules/openvpn/__init__.py:20 +#, python-brace-format +msgid "" +"Virtual Private Network (VPN) is a technique for securely connecting two " +"devices in order to access resources of a private network. While you are " +"away from home, you can connect to your {box_name} in order to join your " +"home network and access private/internal services provided by {box_name}. " +"You can also access the rest of the Internet via {box_name} for added " +"security and anonymity." +msgstr "" + +#: modules/openvpn/__init__.py:43 +msgid "Connect to VPN services" +msgstr "" + +#: modules/openvpn/__init__.py:46 modules/openvpn/manifest.py:17 +msgid "OpenVPN" +msgstr "" + +#: modules/openvpn/__init__.py:57 +#, python-brace-format +msgid "" +"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>" +msgstr "" + +#: modules/openvpn/manifest.py:52 +msgid "Tunnelblick" +msgstr "" + +#: modules/openvpn/manifest.py:60 modules/wireguard/manifest.py:45 +msgid "VPN server" +msgstr "" + +#: modules/openvpn/manifest.py:60 modules/pagekite/manifest.py:17 +#: modules/wireguard/manifest.py:45 +msgid "Remote access" +msgstr "" + +#: modules/openvpn/templates/openvpn.html:12 +msgid "Profile" +msgstr "" + +#: modules/openvpn/templates/openvpn.html:15 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" + +#: modules/openvpn/templates/openvpn.html:24 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: modules/openvpn/templates/openvpn.html:34 +msgid "Download my profile" +msgstr "" + +#: modules/pagekite/__init__.py:19 +#, python-brace-format +msgid "" +"PageKite is a system for exposing {box_name} services when you don't have a " +"direct connection to the Internet. You only need this if your {box_name} " +"services are unreachable from the rest of the Internet. This includes the " +"following situations:" +msgstr "" + +#: modules/pagekite/__init__.py:24 +#, python-brace-format +msgid "{box_name} is behind a restricted firewall." +msgstr "" + +#: modules/pagekite/__init__.py:27 +#, python-brace-format +msgid "{box_name} is connected to a (wireless) router which you don't control." +msgstr "" + +#: modules/pagekite/__init__.py:29 +msgid "" +"Your ISP does not provide you an external IP address and instead provides " +"Internet connection through NAT." +msgstr "" + +#: modules/pagekite/__init__.py:31 +msgid "" +"Your ISP does not provide you a static IP address and your IP address " +"changes every time you connect to Internet." +msgstr "" + +#: modules/pagekite/__init__.py:33 +msgid "Your ISP limits incoming connections." +msgstr "" + +#: modules/pagekite/__init__.py:35 +#, python-brace-format +msgid "" +"PageKite works around NAT, firewalls and IP address limitations by using a " +"combination of tunnels and reverse proxies. You can use any pagekite service " +"provider, for example <a href=\"https://pagekite.net\">pagekite.net</a>. In " +"the future it might be possible to use your buddy's {box_name} for this." +msgstr "" + +#: modules/pagekite/__init__.py:59 +msgid "PageKite" +msgstr "" + +#: modules/pagekite/__init__.py:72 +msgid "PageKite Domain" +msgstr "" + +#: modules/pagekite/forms.py:30 +msgid "Server domain" +msgstr "" + +#: modules/pagekite/forms.py:32 +msgid "" +"Select your pagekite server. Set \"pagekite.net\" to use the default " +"pagekite.net server." +msgstr "" + +#: modules/pagekite/forms.py:35 modules/shadowsocks/forms.py:27 +msgid "Server port" +msgstr "" + +#: modules/pagekite/forms.py:36 +msgid "Port of your pagekite server (default: 80)" +msgstr "" + +#: modules/pagekite/forms.py:38 +msgid "Kite name" +msgstr "" + +#: modules/pagekite/forms.py:39 +msgid "Example: mybox.pagekite.me" +msgstr "" + +#: modules/pagekite/forms.py:41 +msgid "Invalid kite name" +msgstr "" + +#: modules/pagekite/forms.py:45 +msgid "Kite secret" +msgstr "" + +#: modules/pagekite/forms.py:46 +msgid "" +"A secret associated with the kite or the default secret for your account if " +"no secret is set on the kite." +msgstr "" + +#: modules/pagekite/forms.py:85 +msgid "protocol" +msgstr "" + +#: modules/pagekite/forms.py:88 +msgid "external (frontend) port" +msgstr "" + +#: modules/pagekite/forms.py:91 +msgid "internal (freedombox) port" +msgstr "" + +#: modules/pagekite/forms.py:92 +msgid "Enable Subdomains" +msgstr "" + +#: modules/pagekite/forms.py:127 +msgid "Deleted custom service" +msgstr "" + +#: modules/pagekite/forms.py:161 +msgid "This service is already available as a standard service." +msgstr "" + +#: modules/pagekite/forms.py:169 +msgid "Added custom service" +msgstr "" + +#: modules/pagekite/forms.py:172 +msgid "This service already exists" +msgstr "" + +#: modules/pagekite/manifest.py:16 +msgid "Reachability" +msgstr "" + +#: modules/pagekite/manifest.py:18 +msgid "Tunneling" +msgstr "" + +#: modules/pagekite/templates/pagekite_configure.html:13 +msgid "Custom Services" +msgstr "" + +#: modules/pagekite/templates/pagekite_configure.html:17 +#: modules/pagekite/templates/pagekite_configure.html:19 +msgid "Add Custom Service" +msgstr "" + +#: modules/pagekite/templates/pagekite_configure.html:35 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "" + +#: modules/pagekite/templates/pagekite_configure.html:47 +msgid "Delete this service" +msgstr "" + +#: modules/pagekite/templates/pagekite_custom_services.html:11 +#: modules/pagekite/views.py:34 +msgid "Add custom PageKite service" +msgstr "" + +#: modules/pagekite/templates/pagekite_custom_services.html:19 +msgid "" +"Your PageKite frontend server may not support all the protocol/port " +"combinations that you are able to define here. For example, HTTPS on ports " +"other than 443 is known to cause problems." +msgstr "" + +#: modules/pagekite/utils.py:45 +msgid "Web Server (HTTP)" +msgstr "" + +#: modules/pagekite/utils.py:47 +#, python-brace-format +msgid "Site will be available at <a href=\"http://{0}\">http://{0}</a>" +msgstr "" + +#: modules/pagekite/utils.py:59 +msgid "Web Server (HTTPS)" +msgstr "" + +#: modules/pagekite/utils.py:61 +#, python-brace-format +msgid "Site will be available at <a href=\"https://{0}\">https://{0}</a>" +msgstr "" + +#: modules/pagekite/utils.py:73 +msgid "Secure Shell (SSH)" +msgstr "" + +#: modules/pagekite/utils.py:75 +msgid "" +"See SSH client setup <a href=\"https://pagekite.net/wiki/Howto/" +"SshOverPageKite/\">instructions</a>" +msgstr "" + +#: modules/performance/__init__.py:19 +msgid "" +"Performance app allows you to collect, store and view information about " +"utilization of the hardware. This can give you basic insights into usage " +"patterns and whether the hardware is overloaded by users and services." +msgstr "" + +#: modules/performance/__init__.py:23 +msgid "" +"Performance metrics are collected by Performance Co-Pilot and can be viewed " +"using the Cockpit app." +msgstr "" + +#: modules/performance/manifest.py:18 +msgid "Monitoring" +msgstr "" + +#: modules/performance/manifest.py:18 +msgid "Resource utilization" +msgstr "" + +#: modules/power/__init__.py:14 +msgid "Restart or shut down the system." +msgstr "" + +#: modules/power/__init__.py:31 +msgid "Power" +msgstr "" + +#: modules/power/manifest.py:10 +msgid "Reboot" +msgstr "" + +#: modules/power/manifest.py:10 +msgid "Shutdown" +msgstr "" + +#: modules/power/templates/power.html:15 templates/base.html:181 +#: templates/base.html:182 +msgid "Restart" +msgstr "" + +#: modules/power/templates/power.html:18 +msgid "Shut Down" +msgstr "" + +#: modules/power/templates/power_busy_warning.html:14 +msgid "" +"Currently an installation or upgrade is running. Consider waiting until it's " +"finished before shutting down or restarting." +msgstr "" + +#: modules/power/templates/power_restart.html:17 +msgid "" +"Are you sure you want to restart? You will not be able to access this web " +"interface for a few minutes until the system is restarted." +msgstr "" + +#: modules/power/templates/power_restart.html:41 +#: modules/power/templates/power_restart.html:44 +msgid "Restart Now" +msgstr "" + +#: modules/power/templates/power_shutdown.html:17 +msgid "" +"Are you sure you want to shut down? You will not be able to access this web " +"interface after shut down." +msgstr "" + +#: modules/power/templates/power_shutdown.html:40 +#: modules/power/templates/power_shutdown.html:43 +msgid "Shut Down Now" +msgstr "" + +#: modules/privacy/__init__.py:21 +msgid "Manage system-wide privacy settings." +msgstr "" + +#: modules/privacy/__init__.py:75 +msgid "Please update privacy settings to match your preferences." +msgstr "" + +#: modules/privacy/__init__.py:80 +msgid "Review privacy setting" +msgstr "" + +#: modules/privacy/forms.py:17 +#, python-brace-format +msgid "" +"Optional Value. This URL is used to determine the publicly visible IP " +"address of your {box_name}. The URL should simply return the IPv4 or IPv6 " +"address where the client request comes from. Default is to use the service " +"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If " +"empty, lookups are disabled and some functionality will fail." +msgstr "" + +#: modules/privacy/forms.py:25 +msgid "Periodically submit a list of apps used (suggested)" +msgstr "" + +#: modules/privacy/forms.py:27 +#, python-brace-format +msgid "" +"Help Debian/{box_name} developers by participating in the Popularity Contest " +"package survey program. When enabled, a list of apps used on this system " +"will be anonymously submitted to Debian every week. Statistics for the data " +"collected are publicly available at <a href=\"https://popcon.debian.org/\" " +"target=\"_blank\">popcon.debian.org</a>. Submission happens over the Tor " +"network for additional anonymity if Tor app is enabled." +msgstr "" + +#: modules/privacy/forms.py:37 +msgid "Allow using fallback DNS servers" +msgstr "" + +#: modules/privacy/forms.py:39 +msgid "" +"Use well-known public DNS servers to resolve domain names in unusual " +"circumstances where no DNS servers are known but internet connectivity is " +"available. Can be disabled in most cases if network connectivity is stable " +"and reliable." +msgstr "" + +#: modules/privacy/forms.py:45 +msgid "URL to look up public IP address" +msgstr "" + +#: modules/privacy/manifest.py:10 +msgid "Usage reporting" +msgstr "" + +#: modules/privacy/manifest.py:10 +msgid "External services" +msgstr "" + +#: modules/privacy/manifest.py:10 +msgid "Fallback DNS" +msgstr "" + +#: modules/privoxy/__init__.py:25 +msgid "" +"Privoxy is a non-caching web proxy with advanced filtering capabilities for " +"enhancing privacy, modifying web page data and HTTP headers, controlling " +"access, and removing ads and other obnoxious Internet junk. " +msgstr "" + +#: modules/privoxy/__init__.py:30 +#, python-brace-format +msgid "" +"You can use Privoxy by modifying your browser proxy settings to your " +"{box_name} hostname (or IP address) with port 8118. Only connections from " +"local network IP addresses are permitted. While using Privoxy, you can see " +"its configuration details and documentation at <a href=\"http://config." +"privoxy.org\">http://config.privoxy.org/</a> or <a href=\"http://p." +"p\">http://p.p</a>." +msgstr "" + +#: modules/privoxy/__init__.py:53 +msgid "Privoxy" +msgstr "" + +#: modules/privoxy/__init__.py:119 +#, python-brace-format +msgid "Access {url} with proxy {proxy} on tcp{kind}" +msgstr "" + +#: modules/privoxy/manifest.py:10 +msgid "Ad blocker" +msgstr "" + +#: modules/privoxy/manifest.py:10 modules/shadowsocks/manifest.py:18 +#: modules/torproxy/manifest.py:55 +msgid "Proxy server" +msgstr "" + +#: modules/quassel/__init__.py:24 +#, python-brace-format +msgid "" +"Quassel is an IRC application that is split into two parts, a \"core\" and a " +"\"client\". This allows the core to remain connected to IRC servers, and to " +"continue receiving messages, even when the client is disconnected. " +"{box_name} can run the Quassel core service keeping you always online and " +"one or more Quassel clients from a desktop or a mobile can be used to " +"connect and disconnect from it." +msgstr "" + +#: modules/quassel/__init__.py:31 +msgid "" +"You can connect to your Quassel core on the default Quassel port 4242. " +"Clients to connect to Quassel from your <a href=\"http://quassel-irc.org/" +"downloads\">desktop</a> and <a href=\"http://quasseldroid.iskrembilen.com/" +"\">mobile</a> devices are available." +msgstr "" + +#: modules/quassel/__init__.py:51 modules/quassel/manifest.py:9 +msgid "Quassel" +msgstr "" + +#: modules/quassel/manifest.py:33 +msgid "Quasseldroid" +msgstr "" + +#: modules/quassel/manifest.py:54 +msgid "IRC" +msgstr "" + +#: modules/radicale/__init__.py:25 +#, python-brace-format +msgid "" +"Radicale is a CalDAV and CardDAV server. It allows synchronization and " +"sharing of scheduling and contact data. To use Radicale, a <a href=\"https://" +"radicale.org/master.html#supported-clients\">supported client application</" +"a> is needed. Radicale can be accessed by any user with a {box_name} login." +msgstr "" + +#: modules/radicale/__init__.py:31 +msgid "" +"Radicale provides a basic web interface, which only supports creating new " +"calendars and addressbooks. It does not support adding events or contacts, " +"which must be done using a separate client." +msgstr "" + +#: modules/radicale/__init__.py:53 modules/radicale/manifest.py:74 +msgid "Radicale" +msgstr "" + +#: modules/radicale/forms.py:14 +msgid "Only the owner of a calendar/addressbook can view or make changes." +msgstr "" + +#: modules/radicale/forms.py:18 +#, python-brace-format +msgid "" +"Any user with a {box_name} login can view any calendar/addressbook, but only " +"the owner can make changes." +msgstr "" + +#: modules/radicale/forms.py:23 +#, python-brace-format +msgid "" +"Any user with a {box_name} login can view or make changes to any calendar/" +"addressbook." +msgstr "" + +#: modules/radicale/forms.py:30 +msgid "Access rights" +msgstr "" + +#: modules/radicale/manifest.py:9 modules/sogo/manifest.py:36 +msgid "DAVx5" +msgstr "" + +#: modules/radicale/manifest.py:11 +msgid "" +"Enter the URL of the Radicale server (e.g. https://<your.freedombox." +"address>) and your user name. DAVx5 will show all existing calendars and " +"address books and you can create new." +msgstr "" + +#: modules/radicale/manifest.py:28 modules/sogo/manifest.py:51 +msgid "GNOME Calendar" +msgstr "" + +#: modules/radicale/manifest.py:56 +msgid "Evolution" +msgstr "" + +#: modules/radicale/manifest.py:58 +msgid "" +"Evolution is a personal information management application that provides " +"integrated mail, calendaring and address book functionality." +msgstr "" + +#: modules/radicale/manifest.py:62 +msgid "" +"In Evolution add a new calendar and address book respectively with WebDAV. " +"Enter the URL of the Radicale server (e.g. https://<your.freedombox." +"address>) and your user name. Clicking on the search button will list the " +"existing calendars and address books." +msgstr "" + +#: modules/radicale/manifest.py:91 modules/sogo/manifest.py:73 +msgid "Calendar" +msgstr "" + +#: modules/radicale/manifest.py:91 modules/roundcube/manifest.py:23 +msgid "Contacts" +msgstr "" + +#: modules/radicale/manifest.py:91 modules/sogo/manifest.py:75 +msgid "CalDAV" +msgstr "" + +#: modules/radicale/manifest.py:91 modules/sogo/manifest.py:76 +msgid "CardDAV" +msgstr "" + +#: modules/radicale/views.py:32 +msgid "Access rights configuration updated" +msgstr "" + +#: modules/roundcube/__init__.py:19 +msgid "" +"Roundcube webmail is a browser-based multilingual IMAP client with an " +"application-like user interface. It provides full functionality you expect " +"from an email client, including MIME support, address book, folder " +"manipulation, message searching and spell checking." +msgstr "" + +#: modules/roundcube/__init__.py:24 +msgid "" +"You can use it by providing the username and password of the email account " +"you wish to access followed by the domain name of the IMAP server for your " +"email provider, like <code>imap.example.com</code>. For IMAP over SSL " +"(recommended), fill the server field like <code>imaps://imap.example.com</" +"code>." +msgstr "" + +#: modules/roundcube/__init__.py:29 +msgid "" +"For Gmail, username will be your Gmail address, password will be your Google " +"account password and server will be <code>imaps://imap.gmail.com</code>. " +"Note that you will also need to enable \"Less secure apps\" in your Google " +"account settings (<a href=\"https://www.google.com/settings/security/" +"lesssecureapps\">https://www.google.com/settings/security/lesssecureapps</" +"a>)." +msgstr "" + +#: modules/roundcube/forms.py:16 +msgid "Use only the local mail server" +msgstr "" + +#: modules/roundcube/forms.py:17 +#, python-brace-format +msgid "" +"When enabled, users can only read and send mails via this {box_name}. If you " +"wish to use Roundcube with an external mail account, such as Gmail, you must " +"uncheck this option. When unchecked, a text entry field is added to the " +"login page so the user can specify to which account they wish to connect." +msgstr "" + +#: modules/roundcube/manifest.py:23 +msgid "Email" +msgstr "" + +#: modules/rssbridge/__init__.py:21 +msgid "" +"RSS-Bridge generates RSS and Atom feeds for websites that do not have one. " +"Generated feeds can be consumed by any feed reader." +msgstr "" + +#: modules/rssbridge/__init__.py:24 +#, python-brace-format +msgid "" +"When enabled, RSS-Bridge can be accessed by <a href=\"{users_url}\">any " +"user</a> belonging to the feed-reader group." +msgstr "" + +#: modules/rssbridge/__init__.py:28 +#, python-brace-format +msgid "" +"You can use RSS-Bridge with <a href=\"{miniflux_url}\">Miniflux</a> or <a " +"href=\"{ttrss_url}\">Tiny Tiny RSS</a> to follow various websites. When " +"adding a feed, enable authentication and use your {box_name} credentials." +msgstr "" + +#: modules/rssbridge/__init__.py:48 modules/ttrss/__init__.py:47 +msgid "Read and subscribe to news feeds" +msgstr "" + +#: modules/rssbridge/__init__.py:51 modules/rssbridge/manifest.py:7 +msgid "RSS-Bridge" +msgstr "" + +#: modules/rssbridge/forms.py:12 modules/searx/forms.py:17 +msgid "Allow Public Access" +msgstr "" + +#: modules/rssbridge/forms.py:13 modules/searx/forms.py:18 +msgid "Allow this application to be used by anyone who can reach it." +msgstr "" + +#: modules/rssbridge/manifest.py:16 +msgid "Feed generator" +msgstr "" + +#: modules/rssbridge/manifest.py:16 +msgid "News" +msgstr "" + +#: modules/samba/__init__.py:23 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: modules/samba/__init__.py:26 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"shares are accessible in the file manager on your computer at location \\" +"\\{hostname} (on Windows) or smb://{hostname}.local (on Linux and Mac). " +"There are three types of shares you can choose from: " +msgstr "" + +#: modules/samba/__init__.py:31 +msgid "Open share - accessible to everyone in your local network." +msgstr "" + +#: modules/samba/__init__.py:32 +msgid "" +"Group share - accessible only to FreedomBox users who are in the freedombox-" +"share group." +msgstr "" + +#: modules/samba/__init__.py:34 +msgid "" +"Home share - every user in the freedombox-share group can have their own " +"private space." +msgstr "" + +#: modules/samba/__init__.py:50 +msgid "Access to the private shares" +msgstr "" + +#: modules/samba/__init__.py:53 +msgid "Samba" +msgstr "" + +#: modules/samba/manifest.py:12 +msgid "Android Samba Client" +msgstr "" + +#: modules/samba/manifest.py:25 +msgid "Ghost Commander" +msgstr "" + +#: modules/samba/manifest.py:34 +msgid "Ghost Commander - Samba plugin" +msgstr "" + +#: modules/samba/manifest.py:43 +msgid "VLC media player" +msgstr "" + +#: modules/samba/manifest.py:62 +msgid "GNOME Files" +msgstr "" + +#: modules/samba/manifest.py:74 +msgid "Dolphin" +msgstr "" + +#: modules/samba/manifest.py:91 +msgid "Network drive" +msgstr "" + +#: modules/samba/manifest.py:92 +msgid "Media storage" +msgstr "" + +#: modules/samba/manifest.py:93 +msgid "Backup storage" +msgstr "" + +#: modules/samba/templates/samba.html:20 +msgid "Shares" +msgstr "" + +#: modules/samba/templates/samba.html:22 +msgid "" +"Note: Only specially created directories will be shared on selected disks, " +"not the whole disk." +msgstr "" + +#: modules/samba/templates/samba.html:84 +msgid "VFAT partitions are not supported" +msgstr "" + +#: modules/samba/templates/samba.html:112 +#, python-format +msgid "" +"You can find additional information about disks on the <a " +"href=\"%(storage_url)s\">storage</a> module page and configure access to the " +"shares on the <a href=\"%(users_url)s\">users</a> module page." +msgstr "" + +#: modules/samba/templates/samba.html:120 +msgid "Users who can currently access group and home shares" +msgstr "" + +#: modules/samba/templates/samba.html:124 +msgid "" +"Users needing to re-enter their password on the password change page to " +"access group and home shares" +msgstr "" + +#: modules/samba/templates/samba.html:129 +msgid "Unavailable Shares" +msgstr "" + +#: modules/samba/templates/samba.html:131 +msgid "" +"Shares that are configured but the disk is not available. If the disk is " +"plugged back in, sharing will be automatically enabled." +msgstr "" + +#: modules/samba/templates/samba.html:140 +msgid "Share name" +msgstr "" + +#: modules/samba/templates/samba.html:141 +msgid "Action" +msgstr "" + +#: modules/samba/views.py:33 +msgid "FreedomBox OS disk" +msgstr "" + +#: modules/samba/views.py:60 modules/storage/forms.py:140 +msgid "Open Share" +msgstr "" + +#: modules/samba/views.py:64 modules/storage/forms.py:138 +msgid "Group Share" +msgstr "" + +#: modules/samba/views.py:68 +msgid "Home Share" +msgstr "" + +#: modules/samba/views.py:103 +msgid "Share enabled." +msgstr "" + +#: modules/samba/views.py:108 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: modules/samba/views.py:113 +msgid "Share disabled." +msgstr "" + +#: modules/samba/views.py:118 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + +#: modules/searx/__init__.py:20 +msgid "" +"Searx is a privacy-respecting Internet metasearch engine. It aggregrates and " +"displays results from multiple search engines." +msgstr "" + +#: modules/searx/__init__.py:22 +msgid "" +"Searx can be used to avoid tracking and profiling by search engines. It " +"stores no cookies by default." +msgstr "" + +#: modules/searx/__init__.py:38 +msgid "Search the web" +msgstr "" + +#: modules/searx/__init__.py:41 modules/searx/manifest.py:6 +msgid "Searx" +msgstr "" + +#: modules/searx/forms.py:12 +msgid "Safe Search" +msgstr "" + +#: modules/searx/forms.py:13 +msgid "Select the default family filter to apply to your search results." +msgstr "" + +#: modules/searx/forms.py:14 +msgid "Moderate" +msgstr "" + +#: modules/searx/forms.py:14 +msgid "Strict" +msgstr "" + +#: modules/searx/manifest.py:17 +msgid "Web search" +msgstr "" + +#: modules/searx/manifest.py:17 +msgid "Metasearch Engine" +msgstr "" + +#: modules/security/forms.py:13 +msgid "Fail2Ban (recommended)" +msgstr "" + +#: modules/security/forms.py:14 +msgid "" +"When this option is enabled, Fail2Ban will limit brute force break-in " +"attempts to the SSH server and other enabled password protected internet-" +"services." +msgstr "" + +#: modules/security/manifest.py:10 +msgid "Automatic bans" +msgstr "" + +#: modules/security/manifest.py:10 +msgid "Reports" +msgstr "" + +#: modules/security/templates/security.html:12 +#: modules/security/templates/security.html:14 +msgid "Show security report" +msgstr "" + +#: modules/security/templates/security.html:19 +#: modules/upgrades/templates/backports-firstboot.html:11 +#: modules/upgrades/templates/upgrades_configure.html:49 +msgid "Frequent Feature Updates" +msgstr "" + +#: modules/security/templates/security.html:21 +#: modules/upgrades/templates/upgrades_configure.html:57 +msgid "Frequent feature updates are activated." +msgstr "" + +#: modules/security/templates/security.html:26 +#: modules/upgrades/templates/backports-firstboot.html:14 +#: modules/upgrades/templates/upgrades_configure.html:69 +#, python-format +msgid "" +"Frequent feature updates allow the %(box_name)s Service, plus a very limited " +"set of software, to receive new features more frequently (from the backports " +"repository). This results in receiving some new features within weeks, " +"instead of only once every 2 years or so. Note that software with frequent " +"feature updates does not have support from the Debian Security Team. " +"Instead, they are maintained by contributors to Debian and the %(box_name)s " +"community." +msgstr "" + +#: modules/security/templates/security_report.html:10 +#: modules/security/views.py:65 +msgid "Security Report" +msgstr "" + +#: modules/security/templates/security_report.html:12 +#, python-format +msgid "" +"There are %(count)s reported security vulnerabilities in the FreedomBox app, " +"which provides the core services and user interface for a FreedomBox server." +msgstr "" + +#: modules/security/templates/security_report.html:19 +msgid "" +"The following table lists the current reported number of security " +"vulnerabilities for each installed app. More information on the " +"vulnerabilities can be found on the <a href=\"https://security-tracker." +"debian.org/tracker/\">Debian Security Bug Tracker</a>." +msgstr "" + +#: modules/security/templates/security_report.html:28 +msgid "" +"For apps that provide services, the \"Sandboxed\" column shows whether " +"sandboxing features are in use. Sandboxing mitigates the impact of a " +"potentially compromised app to the rest of the system." +msgstr "" + +#: modules/security/templates/security_report.html:35 +msgid "" +"\"Sandbox Coverage\" is a score of how effectively the service is isolated " +"from the rest of the system. It is only displayed while the service is " +"running." +msgstr "" + +#: modules/security/templates/security_report.html:45 +msgid "App Name" +msgstr "" + +#: modules/security/templates/security_report.html:46 +msgid "Current Vulnerabilities" +msgstr "" + +#: modules/security/templates/security_report.html:47 +msgid "Sandboxed" +msgstr "" + +#: modules/security/templates/security_report.html:48 +msgid "Sandbox Coverage" +msgstr "" + +#: modules/security/templates/security_report.html:58 +msgid "N/A" +msgstr "" + +#: modules/security/templates/security_report.html:60 +msgid "Yes" +msgstr "" + +#: modules/security/templates/security_report.html:62 +msgid "No" +msgstr "" + +#: modules/security/templates/security_report.html:69 +msgid "Not running" +msgstr "" + +#: modules/shaarli/__init__.py:18 +msgid "Shaarli allows you to save and share bookmarks." +msgstr "" + +#: modules/shaarli/__init__.py:19 +msgid "" +"Note that Shaarli only supports a single user account, which you will need " +"to setup on the initial visit." +msgstr "" + +#: modules/shaarli/__init__.py:36 modules/shaarli/manifest.py:25 +msgid "Shaarli" +msgstr "" + +#: modules/shaarli/manifest.py:12 +msgid "Shaarlier" +msgstr "" + +#: modules/shaarli/manifest.py:34 +msgid "Bookmarks" +msgstr "" + +#: modules/shaarli/manifest.py:34 +msgid "Link blog" +msgstr "" + +#: modules/shaarli/manifest.py:34 +msgid "Single user" +msgstr "" + +#: modules/shadowsocks/__init__.py:18 modules/shadowsocksserver/__init__.py:18 +msgid "" +"Shadowsocks is a tool for securely forwarding network requests to a remote " +"server. It consists of two parts: (1) a Shadowsocks server, and (2) a " +"Shadowsocks client with a SOCKS5 proxy." +msgstr "" + +#: modules/shadowsocks/__init__.py:21 modules/shadowsocksserver/__init__.py:21 +msgid "" +"Shadowsocks can be used to bypass Internet filtering and censorship. This " +"requires that the Shadowsocks server is in a location where it can freely " +"access the Internet, without filtering." +msgstr "" + +#: modules/shadowsocks/__init__.py:26 +#, python-brace-format +msgid "" +"Your {box_name} can run a Shadowsocks client, that can connect to a " +"Shadowsocks server. It will also run a SOCKS5 proxy. Local devices can " +"connect to this proxy, and their data will be encrypted and proxied through " +"the Shadowsocks server." +msgstr "" + +#: modules/shadowsocks/__init__.py:31 +msgid "" +"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, " +"browser or application to http://freedombox_address:1080/" +msgstr "" + +#: modules/shadowsocks/__init__.py:50 +msgid "Shadowsocks Client" +msgstr "" + +#: modules/shadowsocks/forms.py:25 +msgid "Server hostname or IP address" +msgstr "" + +#: modules/shadowsocks/forms.py:29 +msgid "Server port number" +msgstr "" + +#: modules/shadowsocks/forms.py:32 +msgid "Password used to encrypt data. Must match server password." +msgstr "" + +#: modules/shadowsocks/forms.py:37 +msgid "Encryption method. Must match setting on server." +msgstr "" + +#: modules/shadowsocks/manifest.py:20 modules/shadowsocksserver/manifest.py:19 +msgid "Encrypted tunnel" +msgstr "" + +#: modules/shadowsocks/manifest.py:21 +msgid "Entry point" +msgstr "" + +#: modules/shadowsocks/manifest.py:22 modules/shadowsocksserver/manifest.py:21 +msgid "Shadowsocks" +msgstr "" + +#: modules/shadowsocksserver/__init__.py:26 +#, python-brace-format +msgid "" +"Your {box_name} can run a Shadowsocks server, that allows Shadowsocks " +"clients to connect to it. Clients' data will be encrypted and proxied " +"through this server." +msgstr "" + +#: modules/shadowsocksserver/__init__.py:47 +msgid "Shadowsocks Server" +msgstr "" + +#: modules/shadowsocksserver/forms.py:10 modules/shadowsocksserver/forms.py:11 +msgid "Recommended" +msgstr "" + +#: modules/shadowsocksserver/forms.py:38 +msgid "Password used to encrypt data. Clients must use the same password." +msgstr "" + +#: modules/shadowsocksserver/forms.py:43 +msgid "Encryption method. Clients must use the same setting." +msgstr "" + +#: modules/shadowsocksserver/manifest.py:20 +msgid "Exit point" +msgstr "" + +#: modules/sharing/__init__.py:17 +#, python-brace-format +msgid "" +"Sharing allows you to share files and folders on your {box_name} over the " +"web with chosen groups of users." +msgstr "" + +#: modules/sharing/forms.py:17 +msgid "Name of the share" +msgstr "" + +#: modules/sharing/forms.py:19 +msgid "" +"A lowercase alpha-numeric string that uniquely identifies a share. Example: " +"<em>media</em>." +msgstr "" + +#: modules/sharing/forms.py:23 +msgid "Path to share" +msgstr "" + +#: modules/sharing/forms.py:24 +msgid "Disk path to a folder on this server that you intend to share." +msgstr "" + +#: modules/sharing/forms.py:27 +msgid "Public share" +msgstr "" + +#: modules/sharing/forms.py:28 +msgid "Make files in this folder available to anyone with the link." +msgstr "" + +#: modules/sharing/forms.py:33 +msgid "User groups that can read the files in the share:" +msgstr "" + +#: modules/sharing/forms.py:35 +msgid "" +"Users of the selected user groups will be able to read the files in the " +"share." +msgstr "" + +#: modules/sharing/forms.py:51 +msgid "A share with this name already exists." +msgstr "" + +#: modules/sharing/forms.py:62 +msgid "Shares should be either public or shared with at least one group" +msgstr "" + +#: modules/sharing/manifest.py:19 modules/zoph/manifest.py:26 +msgid "Web sharing" +msgstr "" + +#: modules/sharing/templates/sharing.html:18 +#: modules/sharing/templates/sharing.html:21 +msgid "Add share" +msgstr "" + +#: modules/sharing/templates/sharing.html:26 +msgid "No shares currently configured." +msgstr "" + +#: modules/sharing/templates/sharing.html:33 +msgid "Disk Path" +msgstr "" + +#: modules/sharing/templates/sharing.html:34 +msgid "Shared Over" +msgstr "" + +#: modules/sharing/templates/sharing.html:35 +msgid "With Groups" +msgstr "" + +#: modules/sharing/templates/sharing.html:52 +msgid "public access" +msgstr "" + +#: modules/sharing/views.py:39 +msgid "Share added." +msgstr "" + +#: modules/sharing/views.py:44 +msgid "Add Share" +msgstr "" + +#: modules/sharing/views.py:60 +msgid "Share edited." +msgstr "" + +#: modules/sharing/views.py:65 +msgid "Edit Share" +msgstr "" + +#: modules/sharing/views.py:96 +msgid "Share deleted." +msgstr "" + +#: modules/snapshot/__init__.py:18 +msgid "" +"Snapshots allows creating and managing btrfs file system snapshots. These " +"can be used to roll back the system to a previously known good state in case " +"of unwanted changes to the system." +msgstr "" + +#: modules/snapshot/__init__.py:22 +#, no-python-format +msgid "" +"Snapshots are taken periodically (called timeline snapshots) and also before " +"and after a software installation. Older snapshots will be automatically " +"cleaned up according to the settings below." +msgstr "" + +#: modules/snapshot/__init__.py:25 +msgid "" +"Snapshots currently work on btrfs file systems only and on the root " +"partition only. Snapshots are not a replacement for <a href=\"/plinth/sys/" +"backups\">backups</a> since they can only be stored on the same partition. " +msgstr "" + +#: modules/snapshot/__init__.py:50 +msgid "Storage Snapshots" +msgstr "" + +#: modules/snapshot/forms.py:12 +msgid "Free Disk Space to Maintain" +msgstr "" + +#: modules/snapshot/forms.py:13 +msgid "" +"Maintain this percentage of free space on the disk. If free space falls " +"below this value, older snapshots are removed until this much free space is " +"regained. The default value is 30%." +msgstr "" + +#: modules/snapshot/forms.py:20 +msgid "Timeline Snapshots" +msgstr "" + +#: modules/snapshot/forms.py:21 +msgid "" +"Enable or disable timeline snapshots (hourly, daily, monthly and yearly)." +msgstr "" + +#: modules/snapshot/forms.py:26 +msgid "Software Installation Snapshots" +msgstr "" + +#: modules/snapshot/forms.py:27 +msgid "" +"Enable or disable snapshots before and after each software installation and " +"update." +msgstr "" + +#: modules/snapshot/forms.py:32 +msgid "Hourly Snapshots Limit" +msgstr "" + +#: modules/snapshot/forms.py:33 +msgid "Keep a maximum of this many hourly snapshots." +msgstr "" + +#: modules/snapshot/forms.py:36 +msgid "Daily Snapshots Limit" +msgstr "" + +#: modules/snapshot/forms.py:37 +msgid "Keep a maximum of this many daily snapshots." +msgstr "" + +#: modules/snapshot/forms.py:40 +msgid "Weekly Snapshots Limit" +msgstr "" + +#: modules/snapshot/forms.py:41 +msgid "Keep a maximum of this many weekly snapshots." +msgstr "" + +#: modules/snapshot/forms.py:44 +msgid "Monthly Snapshots Limit" +msgstr "" + +#: modules/snapshot/forms.py:45 +msgid "Keep a maximum of this many monthly snapshots." +msgstr "" + +#: modules/snapshot/forms.py:48 +msgid "Yearly Snapshots Limit" +msgstr "" + +#: modules/snapshot/forms.py:49 +msgid "" +"Keep a maximum of this many yearly snapshots. The default value is 0 (keep " +"no yearly snapshot)." +msgstr "" + +#: modules/snapshot/manifest.py:14 +msgid "Periodic" +msgstr "" + +#: modules/snapshot/manifest.py:14 +msgid "Known good state" +msgstr "" + +#: modules/snapshot/manifest.py:14 +msgid "Btrfs" +msgstr "" + +#: modules/snapshot/templates/snapshot_delete_selected.html:12 +msgid "Delete the following snapshots permanently?" +msgstr "" + +#: modules/snapshot/templates/snapshot_delete_selected.html:17 +#: modules/snapshot/templates/snapshot_manage.html:32 +#: modules/snapshot/templates/snapshot_rollback.html:25 +msgid "Number" +msgstr "" + +#: modules/snapshot/templates/snapshot_delete_selected.html:18 +#: modules/snapshot/templates/snapshot_manage.html:33 +#: modules/snapshot/templates/snapshot_rollback.html:26 +msgid "Date" +msgstr "" + +#: modules/snapshot/templates/snapshot_delete_selected.html:42 +#: modules/snapshot/templates/snapshot_manage.html:25 +#: modules/snapshot/views.py:197 +msgid "Delete Snapshots" +msgstr "" + +#: modules/snapshot/templates/snapshot_manage.html:22 +msgid "Create Snapshot" +msgstr "" + +#: modules/snapshot/templates/snapshot_manage.html:35 +msgid "Rollback" +msgstr "" + +#: modules/snapshot/templates/snapshot_manage.html:45 +msgid "will be used at next boot" +msgstr "" + +#: modules/snapshot/templates/snapshot_manage.html:50 +msgid "in use" +msgstr "" + +#: modules/snapshot/templates/snapshot_manage.html:59 +#, python-format +msgid "Rollback to snapshot #%(number)s" +msgstr "" + +#: modules/snapshot/templates/snapshot_not_supported.html:16 +#, python-format +msgid "" +"You have a filesystem of type <strong>%(fs_type)s</strong>. Snapshots are " +"currently only available on <strong>%(types_supported)s</strong> filesystems." +msgstr "" + +#: modules/snapshot/templates/snapshot_rollback.html:12 +msgid "Roll back the system to this snapshot?" +msgstr "" + +#: modules/snapshot/templates/snapshot_rollback.html:15 +msgid "" +"A new snapshot with the current state of the file system will be " +"automatically created. You will be able to undo a rollback by reverting to " +"the newly created snapshot." +msgstr "" + +#: modules/snapshot/templates/snapshot_rollback.html:44 +#, python-format +msgid "Rollback to Snapshot #%(number)s" +msgstr "" + +#: modules/snapshot/views.py:24 +msgid "manually created" +msgstr "" + +#: modules/snapshot/views.py:25 +msgid "timeline" +msgstr "" + +#: modules/snapshot/views.py:26 +msgid "apt" +msgstr "" + +#: modules/snapshot/views.py:36 +msgid "Manage Snapshots" +msgstr "" + +#: modules/snapshot/views.py:96 +msgid "Created snapshot." +msgstr "" + +#: modules/snapshot/views.py:160 +msgid "Configuration update failed." +msgstr "" + +#: modules/snapshot/views.py:184 +msgid "Deleted selected snapshots" +msgstr "" + +#: modules/snapshot/views.py:186 +msgid "Deleting snapshot failed." +msgstr "" + +#: modules/snapshot/views.py:189 +msgid "Snapshot is currently in use. Please try again later." +msgstr "" + +#: modules/snapshot/views.py:208 +#, python-brace-format +msgid "Rolled back to snapshot #{number}." +msgstr "" + +#: modules/snapshot/views.py:211 +msgid "The system must be restarted to complete the rollback." +msgstr "" + +#: modules/snapshot/views.py:221 +msgid "Rollback to Snapshot" +msgstr "" + +#: modules/sogo/__init__.py:21 +msgid "" +"SOGo is a groupware server that provides a rich web interface for email, " +"calendar, tasks, and contacts. Calendar, tasks, and contacts can also be " +"accessed with various mobile and desktop applications using the CalDAV and " +"CardDAV standards." +msgstr "" + +#: modules/sogo/__init__.py:26 +#, python-brace-format +msgid "" +"Webmail works with the <a href=\"{email_url}\">Postfix/Dovecot</a> email " +"server app to retrieve, manage, and send email." +msgstr "" + +#: modules/sogo/__init__.py:30 +#, python-brace-format +msgid "" +"All users on {box_name} can login into and use SOGo. Mails delivered to " +"their mailboxes by the email server app can be read and new mail can be sent " +"out." +msgstr "" + +#: modules/sogo/__init__.py:48 modules/sogo/manifest.py:11 +msgid "SOGo" +msgstr "" + +#: modules/sogo/manifest.py:19 +msgid "Thunderbird + SOGo connector" +msgstr "" + +#: modules/sogo/manifest.py:71 +msgid "Webmail" +msgstr "" + +#: modules/sogo/manifest.py:74 +msgid "Address book" +msgstr "" + +#: modules/ssh/__init__.py:22 +msgid "" +"A Secure Shell server uses the secure shell protocol to accept connections " +"from remote computers. An authorized remote computer can perform " +"administration tasks, copy files or run other services using such " +"connections." +msgstr "" + +#: modules/ssh/__init__.py:42 +msgid "Secure Shell Server" +msgstr "" + +#: modules/ssh/__init__.py:75 +msgid "Remotely login using Secure Shell (SSH)" +msgstr "" + +#: modules/ssh/forms.py:13 +msgid "Disable password authentication" +msgstr "" + +#: modules/ssh/forms.py:14 +msgid "" +"Improves security by preventing password guessing. Ensure that you have " +"setup SSH keys in your administrator user account before enabling this " +"option." +msgstr "" + +#: modules/ssh/forms.py:21 +msgid "Allow all users to login remotely" +msgstr "" + +#: modules/ssh/forms.py:22 +msgid "" +"Allow all users who have a valid account to login remotely via SSH. When " +"disabled, only users of groups root, admin and freedombox-ssh can login via " +"SSH." +msgstr "" + +#: modules/ssh/manifest.py:22 +msgid "SSH" +msgstr "" + +#: modules/ssh/manifest.py:22 +msgid "Remote terminal" +msgstr "" + +#: modules/ssh/manifest.py:22 +msgid "Fingerprints" +msgstr "" + +#: modules/ssh/templates/ssh.html:11 +msgid "Server Fingerprints" +msgstr "" + +#: modules/ssh/templates/ssh.html:14 +msgid "" +"When connecting to the server, ensure that the fingerprint shown by the SSH " +"client matches one of these fingerprints." +msgstr "" + +#: modules/ssh/templates/ssh.html:24 +msgid "Algorithm" +msgstr "" + +#: modules/ssh/templates/ssh.html:25 +msgid "Fingerprint" +msgstr "" + +#: modules/sso/__init__.py:27 +msgid "Single Sign On" +msgstr "" + +#: modules/sso/forms.py:28 +msgid "Enter the letters in the image to proceed to the login page" +msgstr "" + +#: modules/sso/templates/captcha.html:20 +msgid "Proceed to Login" +msgstr "" + +#: modules/sso/templates/login.html:23 +msgid "Login" +msgstr "" + +#: modules/sso/views.py:86 +msgid "Logged out successfully." +msgstr "" + +#: modules/storage/__init__.py:24 +#, python-brace-format +msgid "" +"This module allows you to manage storage media attached to your {box_name}. " +"You can view the storage media currently in use, mount and unmount removable " +"media, expand the root partition etc." +msgstr "" + +#: modules/storage/__init__.py:227 +#, python-brace-format +msgid "{disk_size:.1f} bytes" +msgstr "" + +#: modules/storage/__init__.py:231 +#, python-brace-format +msgid "{disk_size:.1f} KiB" +msgstr "" + +#: modules/storage/__init__.py:235 +#, python-brace-format +msgid "{disk_size:.1f} MiB" +msgstr "" + +#: modules/storage/__init__.py:239 +#, python-brace-format +msgid "{disk_size:.1f} GiB" +msgstr "" + +#: modules/storage/__init__.py:242 +#, python-brace-format +msgid "{disk_size:.1f} TiB" +msgstr "" + +#: modules/storage/__init__.py:254 +msgid "The operation failed." +msgstr "" + +#: modules/storage/__init__.py:256 +msgid "The operation was cancelled." +msgstr "" + +#: modules/storage/__init__.py:258 +msgid "The device is already unmounting." +msgstr "" + +#: modules/storage/__init__.py:260 +msgid "The operation is not supported due to missing driver/tool support." +msgstr "" + +#: modules/storage/__init__.py:263 +msgid "The operation timed out." +msgstr "" + +#: modules/storage/__init__.py:265 +msgid "The operation would wake up a disk that is in a deep-sleep state." +msgstr "" + +#: modules/storage/__init__.py:268 +msgid "Attempting to unmount a device that is busy." +msgstr "" + +#: modules/storage/__init__.py:270 +msgid "The operation has already been cancelled." +msgstr "" + +#: modules/storage/__init__.py:272 modules/storage/__init__.py:274 +#: modules/storage/__init__.py:276 +msgid "Not authorized to perform the requested operation." +msgstr "" + +#: modules/storage/__init__.py:278 +msgid "The device is already mounted." +msgstr "" + +#: modules/storage/__init__.py:280 +msgid "The device is not mounted." +msgstr "" + +#: modules/storage/__init__.py:282 +msgid "Not permitted to use the requested option." +msgstr "" + +#: modules/storage/__init__.py:284 +msgid "The device is mounted by another user." +msgstr "" + +#: modules/storage/__init__.py:314 +#, no-python-format, python-brace-format +msgid "Low space on system partition: {percent_used}% used, {free_space} free." +msgstr "" + +#: modules/storage/__init__.py:316 +msgid "Low disk space" +msgstr "" + +#: modules/storage/__init__.py:344 +msgid "Disk failure imminent" +msgstr "" + +#: modules/storage/__init__.py:346 +#, python-brace-format +msgid "" +"Disk {id} is reporting that it is likely to fail in the near future. Copy " +"any data while you still can and replace the drive." +msgstr "" + +#: modules/storage/__init__.py:390 +#, no-python-format +msgid "" +"You cannot save configuration changes. Try rebooting the system. If the " +"problem persists after a reboot, check the storage device for errors." +msgstr "" + +#: modules/storage/__init__.py:393 +msgid "Read-only root filesystem" +msgstr "" + +#: modules/storage/__init__.py:403 +msgid "Go to Power" +msgstr "" + +#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405 +msgid "grub package is configured" +msgstr "" + +#: modules/storage/forms.py:63 +msgid "Invalid directory name." +msgstr "" + +#: modules/storage/forms.py:73 +msgid "Directory does not exist." +msgstr "" + +#: modules/storage/forms.py:75 +msgid "Path is not a directory." +msgstr "" + +#: modules/storage/forms.py:79 +msgid "Directory is not readable by the user." +msgstr "" + +#: modules/storage/forms.py:82 +msgid "Directory is not writable by the user." +msgstr "" + +#: modules/storage/forms.py:87 +msgid "Directory" +msgstr "" + +#: modules/storage/forms.py:89 +msgid "Subdirectory (optional)" +msgstr "" + +#: modules/storage/forms.py:136 +msgid "Share" +msgstr "" + +#: modules/storage/forms.py:144 +msgid "Other directory (specify below)" +msgstr "" + +#: modules/storage/manifest.py:9 +msgid "Disks" +msgstr "" + +#: modules/storage/manifest.py:9 +msgid "Usage" +msgstr "" + +#: modules/storage/manifest.py:9 +msgid "Auto-mount" +msgstr "" + +#: modules/storage/manifest.py:9 +msgid "Expand partition" +msgstr "" + +#: modules/storage/templates/storage.html:17 +msgid "The following storage devices are in use:" +msgstr "" + +#: modules/storage/templates/storage.html:24 +msgid "Label" +msgstr "" + +#: modules/storage/templates/storage.html:25 +msgid "Mount Point" +msgstr "" + +#: modules/storage/templates/storage.html:27 +msgid "Used" +msgstr "" + +#: modules/storage/templates/storage.html:77 +msgid "Partition Expansion" +msgstr "" + +#: modules/storage/templates/storage.html:79 +#, python-format +msgid "" +"There is %(expandable_root_size)s of unallocated space available after your " +"root partition. Root partition can be expanded to use this space. This " +"will provide you additional free space to store your files." +msgstr "" + +#: modules/storage/templates/storage.html:89 +#: modules/storage/templates/storage_expand.html:24 modules/storage/views.py:55 +msgid "Expand Root Partition" +msgstr "" + +#: modules/storage/templates/storage.html:95 +msgid "" +"Advanced storage operations such as disk partitioning and RAID management " +"are provided by the <a href=\"/_cockpit/storage\">Cockpit</a> app." +msgstr "" + +#: modules/storage/templates/storage_expand.html:14 +#, python-format +msgid "" +"Please backup your data before proceeding. After this operation, " +"%(expandable_root_size)s of additional free space will be available in your " +"root partition." +msgstr "" + +#: modules/storage/views.py:67 +#, python-brace-format +msgid "Error expanding partition: {exception}" +msgstr "" + +#: modules/storage/views.py:70 +msgid "Partition expanded successfully." +msgstr "" + +#: modules/storage/views.py:87 +#, python-brace-format +msgid "{drive_vendor} {drive_model} can be safely unplugged." +msgstr "" + +#: modules/storage/views.py:91 +msgid "Device can be safely unplugged." +msgstr "" + +#: modules/storage/views.py:93 +msgid "Error ejecting device." +msgstr "" + +#: modules/syncthing/__init__.py:23 +msgid "" +"Syncthing is an application to synchronize files across multiple devices, e." +"g. your desktop computer and mobile phone. Creation, modification, or " +"deletion of files on one device will be automatically replicated on all " +"other devices that also run Syncthing." +msgstr "" + +#: modules/syncthing/__init__.py:28 +#, python-brace-format +msgid "" +"Running Syncthing on {box_name} provides an extra synchronization point for " +"your data that is available most of the time, allowing your devices to " +"synchronize more often. {box_name} runs a single instance of Syncthing that " +"may be used by multiple users. Each user's set of devices may be " +"synchronized with a distinct set of folders. The web interface on " +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing-access\" group." +msgstr "" + +#: modules/syncthing/__init__.py:55 +msgid "Administer Syncthing application" +msgstr "" + +#: modules/syncthing/__init__.py:59 modules/syncthing/manifest.py:12 +msgid "Syncthing" +msgstr "" + +#: modules/tiddlywiki/__init__.py:25 +#, python-brace-format +msgid "" +"TiddlyWiki is an interactive application that runs entirely in the web " +"browser. Each wiki is a self-contained HTML file stored on your {box_name}. " +"Instead of writing long wiki pages, TiddlyWiki encourages you to write " +"several short notes called Tiddlers and link them together into a dense " +"graph." +msgstr "" + +#: modules/tiddlywiki/__init__.py:30 +msgid "" +"It is a versatile application with a wide variety of use cases - non-linear " +"notebook, website, personal knowledge base, task and project management " +"system, personal diary etc. Plugins can extend the functionality of " +"TiddlyWiki. Encrypting individual tiddlers or password-protecting a wiki " +"file is possible from within the application." +msgstr "" + +#: modules/tiddlywiki/__init__.py:37 +#, python-brace-format +msgid "" +"TiddlyWiki is downloaded from {box_name} website and not from Debian. Wikis " +"need to be upgraded to newer version manually." +msgstr "" + +#: modules/tiddlywiki/__init__.py:46 +msgid "Create a new wiki or upload your existing wiki file to get started." +msgstr "" + +#: modules/tiddlywiki/__init__.py:64 modules/tiddlywiki/manifest.py:9 +msgid "TiddlyWiki" +msgstr "" + +#: modules/tiddlywiki/forms.py:32 +msgid "A TiddlyWiki file with .html file extension" +msgstr "" + +#: modules/tiddlywiki/forms.py:35 +msgid "TiddlyWiki files must be in HTML format" +msgstr "" + +#: modules/tiddlywiki/forms.py:37 +msgid "Upload an existing TiddlyWiki file from this computer." +msgstr "" + +#: modules/tiddlywiki/manifest.py:22 +msgid "Journal" +msgstr "" + +#: modules/tiddlywiki/manifest.py:23 +msgid "Digital garden" +msgstr "" + +#: modules/tiddlywiki/manifest.py:24 +msgid "Zettelkasten" +msgstr "" + +#: modules/tiddlywiki/templates/tiddlywiki_delete.html:18 +msgid "" +"<strong>Hint</strong>: You can download a copy of this wiki from within " +"TiddlyWiki before deleting it." +msgstr "" + +#: modules/tor/__init__.py:34 modules/torproxy/__init__.py:30 +msgid "" +"Tor is an anonymous communication system. You can learn more about it from " +"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For " +"best protection when web surfing, the Tor Project recommends that you use " +"the <a href=\"https://www.torproject.org/download/download-easy.html." +"en\">Tor Browser</a>." +msgstr "" + +#: modules/tor/__init__.py:40 +msgid "" +"This app provides relay services to contribute to Tor network and help " +"others overcome censorship." +msgstr "" + +#: modules/tor/__init__.py:43 +#, python-brace-format +msgid "" +"This app provides an onion domain to expose {box_name} services via the Tor " +"network. Using Tor browser, one can access {box_name} from the internet even " +"when using an ISP that limits servers at home." +msgstr "" + +#: modules/tor/__init__.py:63 modules/tor/manifest.py:61 +#: modules/torproxy/manifest.py:58 +msgid "Tor" +msgstr "" + +#: modules/tor/__init__.py:77 +msgid "Tor Onion Service" +msgstr "" + +#: modules/tor/__init__.py:82 +msgid "Tor Bridge Relay" +msgstr "" + +#: modules/tor/__init__.py:140 +msgid "Tor relay port available" +msgstr "" + +#: modules/tor/__init__.py:152 +msgid "Obfs3 transport registered" +msgstr "" + +#: modules/tor/__init__.py:163 +msgid "Obfs4 transport registered" +msgstr "" + +#: modules/tor/__init__.py:176 +msgid "Onion service is version 3" +msgstr "" + +#: modules/tor/forms.py:33 +msgid "" +"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]" +msgstr "" + +#: modules/tor/forms.py:76 +msgid "Use upstream bridges to connect to Tor network" +msgstr "" + +#: modules/tor/forms.py:78 +msgid "" +"When enabled, the bridges configured below will be used to connect to the " +"Tor network. Use this option if your Internet Service Provider (ISP) blocks " +"or censors connections to the Tor Network. This will disable relay modes." +msgstr "" + +#: modules/tor/forms.py:83 +msgid "Upstream bridges" +msgstr "" + +#: modules/tor/forms.py:85 +msgid "" +"You can get some bridges from <a href=\"https://bridges.torproject.org/" +"\">https://bridges.torproject.org/</a> and copy/paste the bridge information " +"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit." +msgstr "" + +#: modules/tor/forms.py:95 +msgid "Enable Tor relay" +msgstr "" + +#: modules/tor/forms.py:96 +#, python-brace-format +msgid "" +"When enabled, your {box_name} will run a Tor relay and donate bandwidth to " +"the Tor network. Do this if you have more than 2 megabits/s of upload and " +"download bandwidth." +msgstr "" + +#: modules/tor/forms.py:101 +msgid "Enable Tor bridge relay" +msgstr "" + +#: modules/tor/forms.py:103 +msgid "" +"When enabled, relay information is published in the Tor bridge database " +"instead of public Tor relay database making it harder to censor this node. " +"This helps others circumvent censorship." +msgstr "" + +#: modules/tor/forms.py:108 +msgid "Enable Tor Onion Service" +msgstr "" + +#: modules/tor/forms.py:110 +#, python-brace-format +msgid "" +"An onion service will allow {box_name} to provide selected services (such as " +"wiki or chat) without revealing its location. Do not use this for strong " +"anonymity yet." +msgstr "" + +#: modules/tor/forms.py:125 +msgid "Specify at least one upstream bridge to use upstream bridges." +msgstr "" + +#: modules/tor/manifest.py:15 modules/torproxy/manifest.py:14 +msgid "Tor Browser" +msgstr "" + +#: modules/tor/manifest.py:31 modules/torproxy/manifest.py:30 +msgid "Orbot: Proxy with Tor" +msgstr "" + +#: modules/tor/manifest.py:57 +msgid "Onion services" +msgstr "" + +#: modules/tor/manifest.py:58 +msgid "Relay" +msgstr "" + +#: modules/tor/manifest.py:59 modules/torproxy/manifest.py:56 +msgid "Anonymity network" +msgstr "" + +#: modules/tor/templates/tor.html:23 +msgid "Onion Service" +msgstr "" + +#: modules/tor/views.py:53 modules/torproxy/views.py:51 +msgid "Updating configuration" +msgstr "" + +#: modules/tor/views.py:70 modules/torproxy/views.py:68 +#, python-brace-format +msgid "Error configuring app: {error}" +msgstr "" + +#: modules/torproxy/__init__.py:37 +#, python-brace-format +msgid "" +"This app provides a web proxy on your {box_name} for internal networks on " +"TCP port 9050 using the SOCKS protocol. This can be used by various apps to " +"access the internet via the Tor network. ISP censorship can be circumvented " +"using upstream bridges." +msgstr "" + +#: modules/torproxy/__init__.py:57 +msgid "Tor Proxy" +msgstr "" + +#: modules/torproxy/__init__.py:81 +msgid "Tor Socks Proxy" +msgstr "" + +#: modules/torproxy/__init__.py:154 +#, python-brace-format +msgid "Access URL {url} on tcp{kind} via Tor" +msgstr "" + +#: modules/torproxy/__init__.py:166 +#, python-brace-format +msgid "Confirm Tor usage at {url} on tcp{kind}" +msgstr "" + +#: modules/torproxy/forms.py:15 +msgid "Download software packages over Tor" +msgstr "" + +#: modules/torproxy/forms.py:16 +msgid "" +"When enabled, software will be downloaded over the Tor network for " +"installations and upgrades. This adds a degree of privacy and security " +"during software downloads." +msgstr "" + +#: modules/transmission/__init__.py:25 +msgid "Transmission is a BitTorrent client with a web interface." +msgstr "" + +#: modules/transmission/__init__.py:26 +msgid "" +"BitTorrent is a peer-to-peer file sharing protocol. Note that BitTorrent is " +"not anonymous." +msgstr "" + +#: modules/transmission/__init__.py:28 +msgid "Please do not change the default port of the Transmission daemon." +msgstr "" + +#: modules/transmission/__init__.py:30 +#, python-brace-format +msgid "" +"Compared to <a href=\"{deluge_url}\">Deluge</a>, Transmission is simpler and " +"lightweight but is less customizable." +msgstr "" + +#: modules/transmission/__init__.py:34 +#, python-brace-format +msgid "" +"It can be accessed by <a href=\"{users_url}\">any user</a> on {box_name} " +"belonging to the bit-torrent group." +msgstr "" + +#: modules/transmission/__init__.py:38 +#, python-brace-format +msgid "" +"In addition to the web interface, mobile and desktop apps can also be used " +"to remotely control Transmission on {box_name}. To configure remote control " +"apps, use the URL <a href=\"/transmission-remote/rpc\">/transmission-remote/" +"rpc</a>." +msgstr "" + +#: modules/transmission/__init__.py:44 +#, python-brace-format +msgid "" +"<a href=\"{samba_url}\">Samba</a> shares can be set as the default download " +"directory from the dropdown menu below." +msgstr "" + +#: modules/transmission/__init__.py:48 +#, python-brace-format +msgid "" +"After a download has completed, you can also access your files using the <a " +"href=\"{sharing_url}\">Sharing</a> app." +msgstr "" + +#: modules/transmission/__init__.py:74 modules/transmission/manifest.py:8 +msgid "Transmission" +msgstr "" + +#: modules/transmission/manifest.py:15 +msgid "Tremotesf" +msgstr "" + +#: modules/ttrss/__init__.py:21 +msgid "" +"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to " +"allow reading news from any location, while feeling as close to a real " +"desktop application as possible." +msgstr "" + +#: modules/ttrss/__init__.py:25 +#, python-brace-format +msgid "" +"When enabled, Tiny Tiny RSS can be accessed by <a href=\"{users_url}\">any " +"user</a> belonging to the feed-reader group." +msgstr "" + +#: modules/ttrss/__init__.py:30 +msgid "" +"When using a mobile or desktop application for Tiny Tiny RSS, use the URL <a " +"href=\"/tt-rss/\">/tt-rss</a> or <a href=\"/tt-rss-app/\">/tt-rss-app</a> " +"for connecting." +msgstr "" + +#: modules/ttrss/__init__.py:50 modules/ttrss/manifest.py:34 +msgid "Tiny Tiny RSS" +msgstr "" + +#: modules/ttrss/manifest.py:10 +msgid "TTRSS-Reader" +msgstr "" + +#: modules/ttrss/manifest.py:25 +msgid "Geekttrss" +msgstr "" + +#: modules/upgrades/__init__.py:34 +msgid "Check for and apply the latest software and security updates." +msgstr "" + +#: modules/upgrades/__init__.py:35 +msgid "" +"Updates are run at 06:00 everyday according to local time zone. Set your " +"time zone in Date & Time app. Apps are restarted after update causing them " +"to be unavailable briefly. If system reboot is deemed necessary, it is done " +"automatically at 02:00 causing all apps to be unavailable briefly." +msgstr "" + +#: modules/upgrades/__init__.py:67 modules/upgrades/__init__.py:128 +#: modules/upgrades/__init__.py:146 modules/upgrades/__init__.py:308 +msgid "Software Update" +msgstr "" + +#: modules/upgrades/__init__.py:131 +msgid "FreedomBox Updated" +msgstr "" + +#: modules/upgrades/__init__.py:141 +msgid "Run software update manually" +msgstr "" + +#: modules/upgrades/__init__.py:143 +msgid "" +"Automatic software update runs daily by default. For the first time, " +"manually run it now." +msgstr "" + +#: modules/upgrades/__init__.py:318 +#: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:9 +#: modules/upgrades/templates/upgrades-dist-upgrade.html:11 +#: modules/upgrades/templates/upgrades_configure.html:16 +msgid "Distribution Update" +msgstr "" + +#: modules/upgrades/__init__.py:396 +msgid "Check for package holds" +msgstr "" + +#: modules/upgrades/forms.py:15 +msgid "Enable auto-update" +msgstr "" + +#: modules/upgrades/forms.py:16 +msgid "When enabled, FreedomBox automatically updates once a day." +msgstr "" + +#: modules/upgrades/forms.py:19 +msgid "Enable auto-update to next stable release" +msgstr "" + +#: modules/upgrades/forms.py:20 +msgid "" +"When enabled, FreedomBox will update to the next stable distribution release " +"when it is available." +msgstr "" + +#: modules/upgrades/forms.py:34 +#: modules/upgrades/templates/upgrades_configure.html:100 +msgid "Activate frequent feature updates (recommended)" +msgstr "" + +#: modules/upgrades/manifest.py:10 +msgid "Reboots" +msgstr "" + +#: modules/upgrades/manifest.py:10 +msgid "New features" +msgstr "" + +#: modules/upgrades/templates/backports-firstboot.html:26 +msgid "" +"It is strongly recommended to activate frequent feature updates. If not " +"activated now, they can be activated later." +msgstr "" + +#: modules/upgrades/templates/backports-firstboot.html:38 +msgid "" +"<strong>Note:</strong> Once frequent feature updates are activated, they " +"cannot be deactivated." +msgstr "" + +#: modules/upgrades/templates/backports-firstboot.html:51 +msgid "Next" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:11 +msgid "Confirm Distribution Update?" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:21 +#, python-format +msgid "" +"You are about to update to the next distribution version before it has been " +"released. Proceed only if you wish to help with beta testing of %(box_name)s " +"functionality." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:32 +msgid "" +"Take a full backup of all apps and data before performing a distribution " +"update." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:38 +msgid "" +"The process will take several hours. Most apps will be unavailable during " +"this time." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:44 +msgid "" +"Don't interrupt the process by shutting down or interrupting power to the " +"machine." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:50 +msgid "If the process is interrupted, you should be able to continue it." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:66 +msgid "Confirm & Start Distribution Update" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:15 +msgid "" +"Distribution update has started. This operation may take several hours. Most " +"apps will be unavailable during this period. Don't interrupt the process by " +"shutting down or interrupting power to the machine." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:21 +msgid "Distribution update has completed. Reboot the machine, if necessary." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:25 +#, python-format +msgid "" +"Distribution update will start soon. Take a backup of apps and data before " +"then. See <a href=\"%(dist_upgrade_url)s\">manual</a> page for expected " +"changes and transitions during the distribution upgrade." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:31 +#, python-format +msgid "" +"Distribution update will start in %(in_days)s days. Take a backup of apps " +"and data before then. See <a href=\"%(dist_upgrade_url)s\">manual</a> page " +"for expected changes and transitions during the distribution upgrade." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:42 +msgid "Go to Distribution Update" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:46 +#: modules/upgrades/templates/upgrades-new-release.html:22 +#: templates/notifications.html:50 templates/operation-notification.html:23 +msgid "Dismiss" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:15 +#, python-format +msgid "" +"Your %(box_name)s will receive security updates, important fixes and some " +"selected features with regular software updates. However, to provide a long " +"software life cycle for %(box_name)s, the entire operating system will " +"receive a major distribution update every two years or so. This will bring " +"in major features and changes. Sometimes, old features will stop working. " +"Please consult the <a href=\"%(dist_upgrade_url)s\">manual</a> for expected " +"changes and transitions during a distribution upgrade. If you dislike these " +"changes, you can keep each distribution for at least <a href=\"https://wiki." +"debian.org/LTS\">5 years</a> before updating." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:34 +msgid "" +"Distribution update is currently running. This operation may take several " +"hours. Most apps will be unavailable during this period." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:50 +msgid "Automatic updates are disabled." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:54 +msgid "Distribution upgrades are disabled." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:58 +msgid "" +"You need to have at least 5 GB of free space available on primary disk to " +"perform a distribution update." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:65 +msgid "Your current distribution is mixed or not understood." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:72 +msgid "Current Distribution:" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:74 +msgid "Unknown or mixed" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:77 +msgid "Rolling release distribution" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:84 +#, python-format +msgid "Released: %(date)s." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:91 +msgid "Next Stable Distribution:" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:93 +msgid "Unknown" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:99 +#, python-format +msgid "Likely release: %(date)s." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:107 +msgid "Next stable distribution is not available yet." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:113 +#, python-format +msgid "" +"You are on a rolling release distribution. No distribution update is " +"necessary. Thank you for helping test the %(box_name)s project. Please " +"report any problems you notice." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:121 +msgid "" +"A previous run of distribution update may have been interrupted. Please re-" +"run the distribution update." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:128 +#, python-format +msgid "" +"A new stable distribution is available. Your %(box_name)s will be updated " +"automatically in %(period)s. You may choose to update manually now, if you " +"wish." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:136 +#, python-format +msgid "" +"A new stable distribution is available. Your %(box_name)s will be updated " +"automatically soon. You may choose to update manually now, if you wish." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:144 +#, python-format +msgid "" +"You are on the latest stable distribution. This is recommended. However, if " +"you wish to help beta test %(box_name)s functionality, you may update to " +"next distribution manually. This setup may experience occational app " +"failures until the next stable release." +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:157 +#: modules/upgrades/templates/upgrades-dist-upgrade.html:172 +msgid "Start Distribution Update" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:162 +msgid "Continue Distribution Update" +msgstr "" + +#: modules/upgrades/templates/upgrades-dist-upgrade.html:167 +msgid "Start Distribution Update (for testing)" +msgstr "" + +#: modules/upgrades/templates/upgrades-new-release.html:9 +#, python-format +msgid "%(box_name)s updated" +msgstr "" + +#: modules/upgrades/templates/upgrades-new-release.html:13 +#, python-format +msgid "" +"%(box_name)s has been updated to version %(version)s. See the <a " +"href=\"%(url)s\">release announcement</a>." +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:35 +#: modules/upgrades/templates/upgrades_configure.html:111 +msgid "Updating..." +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:37 +#, python-format +msgid "There is a new %(box_name)s version available." +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:40 +msgid "Your Freedombox needs an update!" +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:52 +msgid "" +"Frequent feature updates can be activated. Activating them is recommended." +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:61 +msgid "" +"Frequent feature updates cannot be activated. They may not be necessary on " +"your distribution." +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:88 +#, python-format +msgid "" +"<strong>Warning!</strong> Once frequent feature updates are activated, they " +"cannot be deactivated. You may wish to take a snapshot using <a " +"href=\"%(snapshot_url)s\">Storage Snapshots</a> before continuing." +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:105 +msgid "Manual Update" +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:125 +msgid "" +"<strong>This may take a long time to complete.</strong> During an update, " +"you cannot install apps. Also, this web interface may be temporarily " +"unavailable and show an error. In that case, refresh the page to continue." +msgstr "" + +#: modules/upgrades/templates/upgrades_configure.html:139 +msgid "Show recent update logs" +msgstr "" + +#: modules/upgrades/views.py:72 +msgid "Error when configuring unattended-upgrades" +msgstr "" + +#: modules/upgrades/views.py:117 +msgid "Started distribution update." +msgstr "" + +#: modules/upgrades/views.py:153 +msgid "Upgrade process started." +msgstr "" + +#: modules/upgrades/views.py:155 +msgid "Starting upgrade failed." +msgstr "" + +#: modules/upgrades/views.py:165 +msgid "Frequent feature updates activated." +msgstr "" + +#: modules/users/__init__.py:33 +msgid "" +"Create and manage user accounts. These accounts serve as centralized " +"authentication mechanism for most apps. Some apps further require a user " +"account to be part of a group to authorize the user to access the app." +msgstr "" + +#: modules/users/__init__.py:38 +#, python-brace-format +msgid "" +"Any user may login to {box_name} web interface to see a list of apps " +"relevant to them in the home page. However, only users of the <em>admin</em> " +"group may alter apps or system settings." +msgstr "" + +#: modules/users/__init__.py:59 +msgid "Users and Groups" +msgstr "" + +#: modules/users/__init__.py:85 +msgid "Access to all services and system settings" +msgstr "" + +#: modules/users/__init__.py:137 +#, python-brace-format +msgid "Check LDAP entry \"{search_item}\"" +msgstr "" + +#: modules/users/__init__.py:152 +#, python-brace-format +msgid "Check nslcd config \"{key} {value}\"" +msgstr "" + +#: modules/users/__init__.py:182 +#, python-brace-format +msgid "Check nsswitch config \"{database}\"" +msgstr "" + +#: modules/users/forms.py:36 +msgid "Username is taken or is reserved." +msgstr "" + +#: modules/users/forms.py:71 +msgid "" +"Optional. Used to send emails to reset password and important notifications." +msgstr "" + +#: modules/users/forms.py:107 +msgid "" +"Select which services should be available to the new user. The user will be " +"able to log in to services that support single sign-on through LDAP, if they " +"are in the appropriate group.<br /><br />Users in the admin group will be " +"able to log in to all services. They can also log in to the system through " +"SSH and have administrative privileges (sudo)." +msgstr "" + +#: modules/users/forms.py:125 +msgid "Enter a valid username." +msgstr "" + +#: modules/users/forms.py:132 +msgid "" +"Required. 150 characters or fewer. English letters, digits and @/./-/_ only." +msgstr "" + +#: modules/users/forms.py:141 +msgid "Authorization Password" +msgstr "" + +#: modules/users/forms.py:148 +#, python-brace-format +msgid "" +"Enter the password for user \"{user}\" to authorize account modifications." +msgstr "" + +#: modules/users/forms.py:157 +msgid "Invalid password." +msgstr "" + +#: modules/users/forms.py:213 modules/users/forms.py:439 +#, python-brace-format +msgid "Creating LDAP user failed: {error}" +msgstr "" + +#: modules/users/forms.py:225 +#, python-brace-format +msgid "Failed to add new user to {group} group: {error}" +msgstr "" + +#: modules/users/forms.py:241 +msgid "Authorized SSH Keys" +msgstr "" + +#: modules/users/forms.py:243 +msgid "" +"Setting an SSH public key will allow this user to securely log in to the " +"system without using a password. You may enter multiple keys, one on each " +"line. Blank lines and lines starting with # will be ignored." +msgstr "" + +#: modules/users/forms.py:252 +msgid "Delete user" +msgstr "" + +#: modules/users/forms.py:254 +msgid "" +"Deleting the user account will also remove all the files related to the " +"user. Deleting files can be avoided by setting the user account as inactive." +msgstr "" + +#: modules/users/forms.py:305 +msgid "Failed to delete user." +msgstr "" + +#: modules/users/forms.py:320 +msgid "Renaming LDAP user failed." +msgstr "" + +#: modules/users/forms.py:331 +msgid "Failed to remove user from group." +msgstr "" + +#: modules/users/forms.py:341 +msgid "Failed to add user to group." +msgstr "" + +#: modules/users/forms.py:348 +msgid "Unable to set SSH keys." +msgstr "" + +#: modules/users/forms.py:361 +msgid "Failed to change user status." +msgstr "" + +#: modules/users/forms.py:402 +msgid "Changing LDAP user password failed." +msgstr "" + +#: modules/users/forms.py:447 +#, python-brace-format +msgid "Failed to add new user to admin group: {error}" +msgstr "" + +#: modules/users/forms.py:470 +msgid "User account created, you are now logged in" +msgstr "" + +#: modules/users/manifest.py:8 +msgid "Manage accounts" +msgstr "" + +#: modules/users/manifest.py:8 +msgid "App permissions" +msgstr "" + +#: modules/users/templates/users_change_password.html:11 +#, python-format +msgid "Change Password for <em>%(username)s</em>" +msgstr "" + +#: modules/users/templates/users_change_password.html:21 +msgid "Save Password" +msgstr "" + +#: modules/users/templates/users_create.html:11 +#: modules/users/templates/users_create.html:19 +#: modules/users/templates/users_list.html:15 +#: modules/users/templates/users_list.html:17 modules/users/views.py:43 +msgid "Create User" +msgstr "" + +#: modules/users/templates/users_firstboot.html:11 +msgid "Administrator Account" +msgstr "" + +#: modules/users/templates/users_firstboot.html:15 +msgid "" +"Choose a username and password to access this web interface. The password " +"can be changed later. This user will be granted administrative privileges. " +"Other users can be added later." +msgstr "" + +#: modules/users/templates/users_firstboot.html:28 +msgid "Create Account" +msgstr "" + +#: modules/users/templates/users_firstboot.html:37 +msgid "An administrator account already exists." +msgstr "" + +#: modules/users/templates/users_firstboot.html:44 +msgid "The following administrator accounts exist in the system." +msgstr "" + +#: modules/users/templates/users_firstboot.html:56 +#, python-format +msgid "" +"Delete these accounts from command line and refresh the page to create an " +"account that is usable with %(box_name)s. On the command line run the " +"command \"echo '{\"args\": [\"USERNAME\", \"PASSWORD\"], \"kwargs\": {}}' | " +"sudo /usr/share/plinth/actions/actions users remove_user\". If an account is " +"already usable with %(box_name)s, skip this step." +msgstr "" + +#: modules/users/templates/users_firstboot.html:69 +msgid "Skip this step" +msgstr "" + +#: modules/users/templates/users_list.html:11 modules/users/views.py:61 +msgid "Users" +msgstr "" + +#: modules/users/templates/users_list.html:28 +#, python-format +msgid "Edit user %(username)s" +msgstr "" + +#: modules/users/templates/users_update.html:17 +#, python-format +msgid "Edit User <em>%(username)s</em>" +msgstr "" + +#: modules/users/templates/users_update.html:25 +#, python-format +msgid "" +"Use the <a href='%(change_password_url)s'>change password form </a> to " +"change the password." +msgstr "" + +#: modules/users/templates/users_update.html:37 +#: templates/language-selection.html:17 +msgid "Save Changes" +msgstr "" + +#: modules/users/templates/users_update.html:46 +#, python-format +msgid "Delete user <em>%(username)s</em> and all the user's files?" +msgstr "" + +#: modules/users/templates/users_update.html:56 +msgid "" +"Deleting a user account also removes all the files user's home directory. If " +"you wish to keep these files, disable the user account instead." +msgstr "" + +#: modules/users/templates/users_update.html:65 +msgid "Delete user and files" +msgstr "" + +#: modules/users/templates/users_update.html:68 +msgid "Cancel" +msgstr "" + +#: modules/users/views.py:41 +#, python-format +msgid "User %(username)s created." +msgstr "" + +#: modules/users/views.py:72 +#, python-format +msgid "User %(username)s updated." +msgstr "" + +#: modules/users/views.py:73 +msgid "Edit User" +msgstr "" + +#: modules/users/views.py:111 +#, python-format +msgid "User %(username)s deleted." +msgstr "" + +#: modules/users/views.py:130 +msgid "Change Password" +msgstr "" + +#: modules/users/views.py:131 +msgid "Password changed successfully." +msgstr "" + +#: modules/wireguard/__init__.py:20 +msgid "WireGuard is a fast, modern, secure VPN tunnel." +msgstr "" + +#: modules/wireguard/__init__.py:22 +#, python-brace-format +msgid "" +"It can be used to connect to a VPN provider which supports WireGuard, and to " +"route all outgoing traffic from {box_name} through the VPN." +msgstr "" + +#: modules/wireguard/__init__.py:26 +#, python-brace-format +msgid "" +"A second use case is to connect a mobile device to {box_name} while " +"travelling. While connected to a public Wi-Fi network, all traffic can be " +"securely relayed through {box_name}." +msgstr "" + +#: modules/wireguard/forms.py:32 +msgid "Invalid key." +msgstr "" + +#: modules/wireguard/forms.py:61 modules/wireguard/templates/wireguard.html:17 +#: modules/wireguard/templates/wireguard.html:77 +#: modules/wireguard/templates/wireguard_delete_server.html:24 +msgid "Public Key" +msgstr "" + +#: modules/wireguard/forms.py:62 +msgid "" +"Public key of the peer. Example: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." +msgstr "" + +#: modules/wireguard/forms.py:70 +msgid "Endpoint of the server" +msgstr "" + +#: modules/wireguard/forms.py:71 +msgid "" +"Domain name and port in the form \"ip:port\". Example: demo.wireguard." +"com:12912 ." +msgstr "" + +#: modules/wireguard/forms.py:76 +msgid "Public key of the server" +msgstr "" + +#: modules/wireguard/forms.py:77 +msgid "" +"Provided by the server operator, a long string of characters. Example: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." +msgstr "" + +#: modules/wireguard/forms.py:82 +msgid "Client IP address provided by server" +msgstr "" + +#: modules/wireguard/forms.py:83 +msgid "" +"IP address assigned to this machine on the VPN after connecting to the " +"endpoint. This value is usually provided by the server operator. Example: " +"192.168.0.10." +msgstr "" + +#: modules/wireguard/forms.py:89 +msgid "Private key of this machine" +msgstr "" + +#: modules/wireguard/forms.py:90 +msgid "" +"Optional. New public/private keys are generated if left blank. Public key " +"can then be provided to the server. This is the recommended way. However, " +"some server operators insist on providing this. Example: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." +msgstr "" + +#: modules/wireguard/forms.py:98 +msgid "Pre-shared key" +msgstr "" + +#: modules/wireguard/forms.py:99 +msgid "" +"Optional. A shared secret key provided by the server to add an additional " +"layer of security. Fill in only if provided. Example: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs=." +msgstr "" + +#: modules/wireguard/forms.py:105 +msgid "Use this connection to send all outgoing traffic" +msgstr "" + +#: modules/wireguard/forms.py:107 +msgid "Typically checked for a VPN service through which all traffic is sent." +msgstr "" + +#: modules/wireguard/manifest.py:45 +msgid "VPN client" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:10 +msgid "As a Server" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:12 +msgid "Peers allowed to connect to this server:" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:18 +msgid "Allowed IPs" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:19 +#: modules/wireguard/templates/wireguard.html:78 +msgid "Last Connected Time" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:38 +#, python-format +msgid "No peers configured to connect to this %(box_name)s yet." +msgstr "" + +#: modules/wireguard/templates/wireguard.html:48 +#, python-format +msgid "Public key for this %(box_name)s:" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:54 +msgid "Not configured yet." +msgstr "" + +#: modules/wireguard/templates/wireguard.html:59 +msgid "Add a new peer" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:63 modules/wireguard/views.py:48 +msgid "Add Allowed Client" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:67 +msgid "As a Client" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:69 +#, python-format +msgid "Servers that %(box_name)s will connect to:" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:76 +#: modules/wireguard/templates/wireguard_delete_server.html:20 +msgid "Endpoint" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:100 +msgid "No connections to remote servers are configured yet." +msgstr "" + +#: modules/wireguard/templates/wireguard.html:110 +msgid "Add a new server" +msgstr "" + +#: modules/wireguard/templates/wireguard.html:114 +#: modules/wireguard/views.py:157 +msgid "Add Connection to Server" +msgstr "" + +#: modules/wireguard/templates/wireguard_add_client.html:19 +msgid "Add Client" +msgstr "" + +#: modules/wireguard/templates/wireguard_delete_client.html:14 +msgid "Are you sure that you want to delete this client?" +msgstr "" + +#: modules/wireguard/templates/wireguard_delete_server.html:14 +msgid "Are you sure that you want to delete this server?" +msgstr "" + +#: modules/wireguard/templates/wireguard_edit_client.html:19 +msgid "Update Client" +msgstr "" + +#: modules/wireguard/templates/wireguard_edit_server.html:19 +msgid "Update Connection" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:12 +#, python-format +msgid "" +"%(box_name)s will allow this client to connect to it. Ensure that the client " +"is configured with the following information." +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:21 +msgid "Client public key:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:25 +msgid "IP address to use for client:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:29 +#: modules/wireguard/templates/wireguard_show_server.html:32 +msgid "Pre-shared key:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:33 +msgid "Server endpoints:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:41 +#: modules/wireguard/templates/wireguard_show_server.html:28 +msgid "Server public key:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:53 +#: modules/wireguard/templates/wireguard_show_server.html:52 +msgid "Data transmitted:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:57 +#: modules/wireguard/templates/wireguard_show_server.html:56 +msgid "Data received:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_client.html:61 +#: modules/wireguard/templates/wireguard_show_server.html:60 +msgid "Latest handshake:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_server.html:14 +#, python-format +msgid "" +"%(box_name)s will attempt to reach a WireGuard server with the following " +"information. Ensure that the server is configured to allow %(box_name)s's " +"public key and IP address." +msgstr "" + +#: modules/wireguard/templates/wireguard_show_server.html:24 +msgid "Server endpoint:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_server.html:36 +msgid "Public key of this machine:" +msgstr "" + +#: modules/wireguard/templates/wireguard_show_server.html:40 +msgid "IP address of this machine:" +msgstr "" + +#: modules/wireguard/views.py:43 +msgid "Added new client." +msgstr "" + +#: modules/wireguard/views.py:58 modules/wireguard/views.py:117 +msgid "Client with public key already exists" +msgstr "" + +#: modules/wireguard/views.py:71 +msgid "Allowed Client" +msgstr "" + +#: modules/wireguard/views.py:93 +msgid "Updated client." +msgstr "" + +#: modules/wireguard/views.py:98 +msgid "Modify Client" +msgstr "" + +#: modules/wireguard/views.py:131 +msgid "Delete Allowed Client" +msgstr "" + +#: modules/wireguard/views.py:140 +msgid "Client deleted." +msgstr "" + +#: modules/wireguard/views.py:142 +msgid "Client not found" +msgstr "" + +#: modules/wireguard/views.py:152 +msgid "Added new server." +msgstr "" + +#: modules/wireguard/views.py:173 +msgid "Connection to Server" +msgstr "" + +#: modules/wireguard/views.py:191 +msgid "Updated server." +msgstr "" + +#: modules/wireguard/views.py:196 +msgid "Modify Connection to Server" +msgstr "" + +#: modules/wireguard/views.py:233 +msgid "Delete Connection to Server" +msgstr "" + +#: modules/wireguard/views.py:253 +msgid "Server deleted." +msgstr "" + +#: modules/wordpress/__init__.py:20 +msgid "" +"WordPress is a popular way to create and manage websites and blogs. Content " +"can be managed using a visual interface. Layout and functionality of the web " +"pages can be customized. Appearance can be chosen using themes. " +"Administration interface and produced web pages are suitable for mobile " +"devices." +msgstr "" + +#: modules/wordpress/__init__.py:26 +#, python-brace-format +msgid "" +"You need to run WordPress setup by visiting the app before making the site " +"publicly available below. Setup must be run when accessing {box_name} with " +"the correct domain name. Enable permalinks in administrator interface for " +"better URLs to your pages and posts." +msgstr "" + +#: modules/wordpress/__init__.py:31 +msgid "" +"WordPress has its own user accounts. First administrator account is created " +"during setup. Bookmark the <a href=\"/wordpress/wp-admin/\">admin page</a> " +"to reach administration interface in the future." +msgstr "" + +#: modules/wordpress/__init__.py:35 +msgid "" +"After a major version upgrade, you need to manually run database upgrade " +"from administrator interface. Additional plugins or themes may be installed " +"and upgraded at your own risk." +msgstr "" + +#: modules/wordpress/__init__.py:53 modules/wordpress/manifest.py:6 +msgid "WordPress" +msgstr "" + +#: modules/wordpress/forms.py:14 +msgid "Public access" +msgstr "" + +#: modules/wordpress/forms.py:15 +msgid "" +"Allow all visitors. Disabling allows only administrators to view the " +"WordPress site or blog. Enable only after performing initial WordPress setup." +msgstr "" + +#: modules/wordpress/manifest.py:26 +msgid "Content management system" +msgstr "" + +#: modules/zoph/__init__.py:25 +#, python-brace-format +msgid "" +"Zoph manages your photo collection. Photos are stored on your {box_name}, " +"under your control. Instead of focusing on galleries for public display, " +"Zoph focuses on managing them for your own use, organizing them by who took " +"them, where they were taken, and who is in them. Photos can be linked to " +"multiple hierarchical albums and categories. It is easy to find all photos " +"containing a person, or photos taken on a date, or photos taken at a " +"location using search, map and calendar views. Individual photos can be " +"shared with others by sending a direct link." +msgstr "" + +#: modules/zoph/__init__.py:36 +#, python-brace-format +msgid "" +"The {box_name} user who setup Zoph will also become the administrator in " +"Zoph. For additional users, accounts must be created both in {box_name} and " +"in Zoph with the same user name." +msgstr "" + +#: modules/zoph/__init__.py:57 modules/zoph/manifest.py:6 +msgid "Zoph" +msgstr "" + +#: modules/zoph/forms.py:14 +msgid "Enable OpenStreetMap for maps" +msgstr "" + +#: modules/zoph/forms.py:15 +msgid "" +"When enabled, requests will be made to OpenStreetMap servers from user's " +"browser. This impacts privacy." +msgstr "" + +#: modules/zoph/manifest.py:26 +msgid "Photo" +msgstr "" + +#: modules/zoph/manifest.py:26 +msgid "Organizer" +msgstr "" + +#: modules/zoph/templates/zoph-pre-setup.html:15 +#: modules/zoph/templates/zoph-pre-setup.html:28 +msgid "Setup" +msgstr "" + +#: modules/zoph/templates/zoph-pre-setup.html:18 +#, python-format +msgid "" +"User account <strong>%(username)s</strong> will become the administrator " +"account for Zoph." +msgstr "" + +#: network.py:31 +msgid "Generic" +msgstr "" + +#: operation.py:120 +#, python-brace-format +msgid "Error: {name}: {exception}" +msgstr "" + +#: operation.py:123 +#, python-brace-format +msgid "Waiting to start: {name}" +msgstr "" + +#: operation.py:129 +#, python-brace-format +msgid "Finished: {name}" +msgstr "" + +#: package.py:213 +#, python-brace-format +msgid "Package {package_expression} is not available for install" +msgstr "" + +#: package.py:233 +#, python-brace-format +msgid "Package {package_name} is the latest version ({latest_version})" +msgstr "" + +#: package.py:427 +msgid "installing" +msgstr "" + +#: package.py:429 +msgid "downloading" +msgstr "" + +#: package.py:431 +msgid "media change" +msgstr "" + +#: package.py:433 +#, python-brace-format +msgid "configuration file: {file}" +msgstr "" + +#: package.py:461 package.py:487 +msgid "Timeout waiting for package manager" +msgstr "" + +#: setup.py:44 +msgid "Installing app" +msgstr "" + +#: setup.py:46 +msgid "Updating app" +msgstr "" + +#: setup.py:80 +#, python-brace-format +msgid "Error installing app: {exception}" +msgstr "" + +#: setup.py:82 +#, python-brace-format +msgid "Error repairing app: {exception}" +msgstr "" + +#: setup.py:84 +#, python-brace-format +msgid "Error updating app: {exception}" +msgstr "" + +#: setup.py:87 +msgid "App installed." +msgstr "" + +#: setup.py:91 +msgid "App updated" +msgstr "" + +#: setup.py:114 +msgid "Repairing app" +msgstr "" + +#: setup.py:145 +#, python-brace-format +msgid "Error running diagnostics: {error}" +msgstr "" + +#: setup.py:158 +msgid "Skipping repair, no failed checks" +msgstr "" + +#: setup.py:166 +#, python-brace-format +msgid "Error repairing app: {error}" +msgstr "" + +#: setup.py:172 +msgid "Re-running setup to complete repairs" +msgstr "" + +#: setup.py:180 +msgid "App repaired." +msgstr "" + +#: setup.py:184 +msgid "App repair completed with errors:\n" +msgstr "" + +#: setup.py:204 +msgid "Uninstalling app" +msgstr "" + +#: setup.py:220 +#, python-brace-format +msgid "Error uninstalling app: {error}" +msgstr "" + +#: setup.py:223 +msgid "App uninstalled." +msgstr "" + +#: setup.py:590 +msgid "Updating app packages" +msgstr "" + +#: templates/403.html:10 +msgid "403 Forbidden" +msgstr "" + +#: templates/403.html:14 +#, python-format +msgid "You don't have permission to access %(request_path)s on this server." +msgstr "" + +#: templates/404.html:10 +#, python-format +msgid "Page not found - %(box_name)s" +msgstr "" + +#: templates/404.html:18 +msgid "404" +msgstr "" + +#: templates/404.html:21 +#, python-format +msgid "Requested page %(request_path)s was not found." +msgstr "" + +#: templates/404.html:27 +msgid "" +"If you believe this missing page should exist, please file a bug at the " +"FreedomBox Service (Plinth) project <a href=\"https://salsa.debian.org/" +"freedombox-team/freedombox/issues\">issue tracker</a>." +msgstr "" + +#: templates/500.html:10 +msgid "500" +msgstr "" + +#: templates/500.html:14 +#, python-format +msgid "" +"This is an internal error and not something you caused or can fix. Please " +"report the error on the <a href=\"https://salsa.debian.org/freedombox-team/" +"freedombox/issues\">bug tracker</a> so we can fix it. Also, please attach " +"the <a href=\"%(status_log_url)s\">status log</a> to the bug report." +msgstr "" + +#: templates/app-header.html:26 +msgid "Installation" +msgstr "" + +#: templates/app.html:34 +#, python-format +msgid "Service <em>%(service_name)s</em> is not running." +msgstr "" + +#: templates/base.html:31 +msgid "" +"FreedomBox is a personal server designed for privacy and data ownership. It " +"is free software that lets you install and manage server apps with ease." +msgstr "" + +#: templates/base.html:117 +msgid " Home" +msgstr "" + +#: templates/base.html:125 +msgid " Apps" +msgstr "" + +#: templates/base.html:134 +msgid " System" +msgstr "" + +#: templates/base.html:173 templates/base.html:174 +msgid "Change password" +msgstr "" + +#: templates/base.html:187 templates/base.html:188 +msgid "Shut down" +msgstr "" + +#: templates/base.html:198 templates/base.html:236 +msgid "Log out" +msgstr "" + +#: templates/base.html:207 templates/base.html:210 +msgid "Select language" +msgstr "" + +#: templates/base.html:225 templates/base.html:227 +msgid "Log in" +msgstr "" + +#: templates/clients-button.html:16 +msgid "Launch web client" +msgstr "" + +#: templates/clients-button.html:25 +msgid "Client Apps" +msgstr "" + +#: templates/clients.html:17 +msgid "Web" +msgstr "" + +#: templates/clients.html:28 +msgid "Launch" +msgstr "" + +#: templates/clients.html:53 +msgid "GNU/Linux" +msgstr "" + +#: templates/clients.html:55 +msgid "Windows" +msgstr "" + +#: templates/clients.html:57 +msgid "macOS" +msgstr "" + +#: templates/clients.html:73 +msgid "Mobile" +msgstr "" + +#: templates/clients.html:84 +msgid "Play Store" +msgstr "" + +#: templates/clients.html:86 +msgid "F-Droid" +msgstr "" + +#: templates/clients.html:88 +msgid "App Store" +msgstr "" + +#: templates/clients.html:104 +msgid "Package" +msgstr "" + +#: templates/clients.html:111 +msgid "Debian:" +msgstr "" + +#: templates/clients.html:114 +msgid "Homebrew:" +msgstr "" + +#: templates/clients.html:117 +msgid "RPM:" +msgstr "" + +#: templates/error.html:10 +msgid "Error" +msgstr "" + +#: templates/index.html:22 +#, python-format +msgid "" +"Enable some <a href=\"%(apps_url)s\">applications</a> to add shortcuts to " +"this page." +msgstr "" + +#: templates/internal-zone.html:17 +#, python-format +msgid "" +"<em>%(service_name)s</em> is available only on internal networks or when the " +"client is connected to %(box_name)s through VPN." +msgstr "" + +#: templates/internal-zone.html:25 +msgid "Currently there are no network interfaces configured as internal." +msgstr "" + +#: templates/internal-zone.html:30 +#, python-format +msgid "" +"Currently the following network interfaces are configured as internal: " +"%(interface_list)s" +msgstr "" + +#: templates/notifications-dropdown.html:11 +msgid "Notifications" +msgstr "" + +#: templates/port-forwarding-info.html:8 +msgid "Port Forwarding" +msgstr "" + +#: templates/port-forwarding-info.html:13 +#, python-format +msgid "" +"Your FreedomBox is <a href=\"%(networks_url)s\">not behind a router</a>. No " +"action is necessary." +msgstr "" + +#: templates/port-forwarding-info.html:21 +#, python-format +msgid "" +"Your FreedomBox is <a href=\"%(networks_url)s\"> behind a router</a> and you " +"are using the DMZ feature to forward all ports. No further router " +"configuration is necessary." +msgstr "" + +#: templates/port-forwarding-info.html:30 +#, python-format +msgid "" +"Your FreedomBox is <a href=\"%(networks_url)s\">behind a router</a> and you " +"are not using the DMZ feature. You will need to set up port forwarding on " +"your router. You should forward the following ports for %(service_name)s:" +msgstr "" + +#: templates/port-forwarding-info.html:42 +msgid "Service Name" +msgstr "" + +#: templates/port-forwarding-info.html:43 +msgid "Protocol" +msgstr "" + +#: templates/port-forwarding-info.html:44 +msgid "From Router/WAN Ports" +msgstr "" + +#: templates/port-forwarding-info.html:45 +#, python-format +msgid "To %(box_name)s Ports" +msgstr "" + +#: templates/setup.html:19 +msgid "Application installed." +msgstr "" + +#: templates/setup.html:26 +msgid "Install this application?" +msgstr "" + +#: templates/setup.html:30 +msgid "This application needs an update. Update now?" +msgstr "" + +#: templates/setup.html:46 +msgid "This application is currently not available in your distribution." +msgstr "" + +#: templates/setup.html:50 +msgid "Check again" +msgstr "" + +#: templates/setup.html:61 +msgid "" +"<strong>Conflicting Packages:</strong> Some packages installed on the system " +"conflict with the installation of this app. The following packages will be " +"removed if you proceed:" +msgstr "" + +#: templates/setup.html:80 +msgid "Update" +msgstr "" + +#: templates/tags.html:24 +msgid "Search with tags" +msgstr "" + +#: templates/tags.html:37 +msgid "Clear all tags" +msgstr "" + +#: templates/toolbar.html:39 templates/toolbar.html:40 +msgid "Backup" +msgstr "" + +#: templates/toolbar.html:53 +msgid "Re-run setup" +msgstr "" + +#: templates/toolbar.html:59 templates/toolbar.html:60 +#: templates/uninstall.html:30 +msgid "Uninstall" +msgstr "" + +#: templates/uninstall.html:11 +#, python-format +msgid "Uninstall App <em>%(app_name)s</em>?" +msgstr "" + +#: templates/uninstall.html:17 +msgid "" +"All app data and configuration will be permanently lost. App may be " +"installed freshly again." +msgstr "" + +#: views.py:84 +msgid "Here" +msgstr "" + +#: views.py:414 +msgid "Setting unchanged" +msgstr "" + +#: views.py:647 +#, python-brace-format +msgid "before uninstall of {app_id}" +msgstr "" + +#: web_framework.py:122 +msgid "Gujarati" +msgstr "" diff -Nru freedombox-25.8/plinth/locale/fr/LC_MESSAGES/django.po freedombox-25.9/plinth/locale/fr/LC_MESSAGES/django.po --- freedombox-25.8/plinth/locale/fr/LC_MESSAGES/django.po 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/plinth/locale/fr/LC_MESSAGES/django.po 2025-05-05 20:29:19.000000000 -0400 @@ -8,8 +8,8 @@ "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-21 20:08-0400\n" -"PO-Revision-Date: 2025-04-01 02:33+0000\n" -"Last-Translator: Soumika Devarakonda <soumikadevarakonda@gmail.com>\n" +"PO-Revision-Date: 2025-04-26 17:46+0000\n" +"Last-Translator: John Doe <thraex@numericable.fr>\n" "Language-Team: French <https://hosted.weblate.org/projects/freedombox/" "freedombox/fr/>\n" "Language: fr\n" @@ -17,7 +17,7 @@ "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.11-dev\n" +"X-Generator: Weblate 5.12-dev\n" #: config.py:103 #, python-brace-format @@ -143,7 +143,7 @@ #: middleware.py:150 msgid "Error running operation." -msgstr "Erreur d’exécution de l’opération" +msgstr "Erreur d’exécution de l’opération." #: middleware.py:152 msgid "Error loading page." @@ -315,7 +315,6 @@ msgstr "Heure de déclenchement des opérations de sauvegarde" #: modules/backups/forms.py:81 -#, fuzzy msgid "" "In 24 hour format. Services may become temporarily unavailable while running " "backup operation at this time of the day." @@ -558,6 +557,7 @@ #: modules/backups/privileged.py:95 msgid "Not enough space left on the disk or remote location." msgstr "" +"Pas assez d'espace libre restant sur le disque ou sur l'emplacement distant." #: modules/backups/repository.py:94 msgid "Existing repository is not encrypted." @@ -1893,16 +1893,16 @@ "This service uses an external service to lookup public IP address. This can " "be configured in the privacy app." msgstr "" +"Ce service utilise un service externe pour rechercher une adresse IP " +"publique. Cela peut être configuré dans l'application de confidentialité." #: modules/dynamicdns/__init__.py:64 msgid "Dynamic DNS Client" msgstr "Client DNS dynamique" #: modules/dynamicdns/__init__.py:77 -#, fuzzy -#| msgid "Dynamic Domain Name" msgid "Dynamic Domain" -msgstr "Nom de domaine dynamique" +msgstr "Domaine dynamique" #: modules/dynamicdns/forms.py:20 msgid "" @@ -2023,10 +2023,8 @@ msgstr "Ce champ est requis." #: modules/dynamicdns/forms.py:138 modules/names/forms.py:125 -#, fuzzy -#| msgid "Content package already exists." msgid "Domain already exists." -msgstr "Le paquet de contenu existe déjà." +msgstr "Le domaine existe déjà." #: modules/dynamicdns/manifest.py:17 #: modules/dynamicdns/templates/dynamicdns.html:25 @@ -2046,10 +2044,8 @@ #: modules/dynamicdns/templates/dynamicdns-domain-delete.html:13 #: modules/names/templates/names-domain-delete.html:13 -#, fuzzy -#| msgid "Tor configuration is being updated" msgid "App configurations will be updated." -msgstr "La configuration de Tor est en cours de mise à jour" +msgstr "Les configurations d'application seront mises à jour." #: modules/dynamicdns/templates/dynamicdns.html:10 #: modules/email/templates/email.html:20 modules/names/manifest.py:11 @@ -2059,10 +2055,8 @@ #: modules/dynamicdns/templates/dynamicdns.html:14 #: modules/dynamicdns/templates/dynamicdns.html:16 -#, fuzzy -#| msgid "Add Domains" msgid "Add Domain" -msgstr "Ajouter des domaines" +msgstr "Ajouter un domaine" #: modules/dynamicdns/templates/dynamicdns.html:26 msgid "Last update" @@ -2080,16 +2074,13 @@ #: modules/dynamicdns/templates/dynamicdns.html:37 #: modules/dynamicdns/templates/dynamicdns.html:72 -#, fuzzy, python-format -#| msgid "Resolve domain name: {domain}" +#, python-format msgid "Edit domain %(domain)s" -msgstr "Résoudre le nom de domaine : {domain}" +msgstr "Éditer le domaine : %(domain)s" #: modules/dynamicdns/templates/dynamicdns.html:47 -#, fuzzy -#| msgid "Not set" msgid "Not yet" -msgstr "Non configuré" +msgstr "Pas encore" #: modules/dynamicdns/templates/dynamicdns.html:53 msgid "Success" @@ -2100,16 +2091,13 @@ msgstr "Échec" #: modules/dynamicdns/templates/dynamicdns.html:79 -#, fuzzy, python-format -#| msgid "Resolve domain name: {domain}" +#, python-format msgid "Delete domain %(domain)s" -msgstr "Résoudre le nom de domaine : {domain}" +msgstr "Effacer le domaine %(domain)s" #: modules/dynamicdns/templates/dynamicdns.html:91 -#, fuzzy -#| msgid "Cannot test: No domains are configured." msgid "No domains configured." -msgstr "Test impossible : aucun domaine n’est configuré." +msgstr "Aucun domaine n’est configuré." #: modules/dynamicdns/views.py:26 modules/dynamicdns/views.py:28 msgid "Connection timed out" @@ -2128,28 +2116,21 @@ msgstr "Déjà à jour" #: modules/dynamicdns/views.py:70 -#, fuzzy -#| msgid "Dynamic Domain Name" msgid "Add Dynamic Domain" -msgstr "Nom de domaine dynamique" +msgstr "Ajouter un domaine dynamique" #: modules/dynamicdns/views.py:72 -#, fuzzy -#| msgid "Dynamic Domain Name" msgid "Edit Dynamic Domain" -msgstr "Nom de domaine dynamique" +msgstr "Éditer le domaine dynamique" #: modules/dynamicdns/views.py:138 modules/names/views.py:137 -#, fuzzy, python-brace-format -#| msgid "Resolve domain name: {domain}" +#, python-brace-format msgid "Delete Domain {domain}?" -msgstr "Résoudre le nom de domaine : {domain}" +msgstr "Effacer le domaine {domain} ?" #: modules/dynamicdns/views.py:145 modules/names/views.py:143 -#, fuzzy -#| msgid "Client deleted." msgid "Domain deleted." -msgstr "Client supprimé." +msgstr "Domaine supprimé." #: modules/ejabberd/__init__.py:29 msgid "" @@ -2398,11 +2379,11 @@ #: modules/email/__init__.py:80 msgid "More emails" -msgstr "" +msgstr "Davantage de courriels" #: modules/email/__init__.py:80 msgid "Same mailbox" -msgstr "" +msgstr "Même boîte aux lettres électronique" #: modules/email/__init__.py:82 msgid "My Email Aliases" @@ -2450,10 +2431,8 @@ msgstr "Thunderbird" #: modules/email/manifest.py:37 -#, fuzzy -#| msgid "Thunderbird" msgid "Thunderbird Mobile" -msgstr "Thunderbird" +msgstr "Thunderbird mobile" #: modules/email/manifest.py:52 msgid "FairEmail" @@ -2490,22 +2469,17 @@ msgstr "Ajouter" #: modules/email/templates/email-dns.html:9 -#, fuzzy -#| msgid "DNS Records" msgid "DNS Records for domain:" -msgstr "Enregistrements DNS" +msgstr "Enregistrements DNS pour le domaine :" #: modules/email/templates/email-dns.html:12 -#, fuzzy -#| msgid "" -#| "The following DNS records must be added manually on your primary domain " -#| "for the mail server to work properly." msgid "" "The following DNS records must be added manually on this domain for the mail " "server to work properly for this domain." msgstr "" -"Les enregistrement DNS suivants doivent être ajoutés manuellement à votre " -"domaine primaire pour que le serveur de courriel fonctionne correctement." +"Les enregistrement DNS suivants doivent être ajoutés manuellement sur ce " +"domaine pour que le serveur de courriel fonctionne correctement pour ce " +"domaine." #: modules/email/templates/email-dns.html:23 #: modules/email/templates/email-dns.html:77 @@ -2535,10 +2509,8 @@ msgstr "Hôte/Cible/Valeur" #: modules/email/templates/email-dns.html:50 -#, fuzzy -#| msgid "Server hostname or IP address" msgid "Reverse DNS Records for IP Addresses" -msgstr "Nom ou adresse IP du serveur" +msgstr "Enregistrements DNS inversés pour les adresses IP" #: modules/email/templates/email-dns.html:53 #, python-format @@ -2552,18 +2524,29 @@ "part. Only one of your domains can have Revese DNS lookup configured unless " "you have multiple public IP addresses." msgstr "" +"Si votre %(box_name)s fonctionne sur une infrastructure de service nuagique, " +"vous devriez configurer <a href=" +"\"https://en.wikipedia.org/wiki/Reverse_DNS_lookup\">la recherche DNS " +"inversée</a>. Ce n'est pas obligatoire, cependant, cela améliore " +"considérablement la possibilité de livrer les courriels. Le DNS inversé " +"n'est pas configuré là où votre DNS habituel l'est. Vous devriez le " +"rechercher dans les réglages de votre VPS/FAI. Certains fournisseurs pré-" +"configurent la partie adresse IP pour vous et vous n'avez qu'à régler la " +"partie domaine. Seul un de vos domaines peut être configurée pour la " +"recherche DNS inversée sauf si vous avez plusieurs adresses IP publiques." #: modules/email/templates/email-dns.html:66 msgid "" "An external service is used to lookup public IP address to show in the " "following section. This can be configured in the privacy app." msgstr "" +"Un service externe est utilisé pour rechercher l'adresse IP publique à " +"afficher dans la section suivante. Cela peut être configuré dans " +"l'application de confidentialité." #: modules/email/templates/email-dns.html:76 -#, fuzzy -#| msgid "Hostname" msgid "Host" -msgstr "Nom de machine" +msgstr "Hôte" #: modules/email/templates/email.html:10 msgid "Manage Spam" @@ -2574,12 +2557,13 @@ "The following domains are configured. View details to see the list of DNS " "entries to be made for the domain." msgstr "" +"Les domaines suivants sont configurés. Visualisez les détails pour voir la " +"liste des entrées DNS à effectuer pour le domaine." #: modules/email/templates/email.html:35 -#, fuzzy, python-format -#| msgid "Resolve domain name: {domain}" +#, python-format msgid "View domain: %(domain)s" -msgstr "Résoudre le nom de domaine : {domain}" +msgstr "Visualiser le domaine : %(domain)s" #: modules/featherwiki/__init__.py:25 #, python-brace-format @@ -3183,6 +3167,8 @@ msgid "" "GNOME is a desktop environment that focuses on simplicity and ease of use." msgstr "" +"GNOME est un environnement de bureau qui se concentre sur la simplicité et " +"la facilité d'utilisation." #: modules/gnome/__init__.py:21 #, python-brace-format @@ -3192,12 +3178,20 @@ "suite, and other basic utilities are available. You may install further " "graphical applications using the software center provided within." msgstr "" +"Cette application transforme votre {box_name} en un ordinateur de bureau si " +"vous y connectez physiquement un moniteur, un clavier et une souris. Un " +"navigateur, une suite bureautique et d'autre utilitaires de base sont " +"disponibles. Vous pouvez installer davantage d'applications graphiques en " +"utilisant le centre de logiciels fourni avec." #: modules/gnome/__init__.py:26 msgid "" "This app is not suitable for low-end hardware. It requires at least 4GiB of " "RAM, 4GiB of disk space and a GPU capable of basic 3D acceleration." msgstr "" +"Cette application n'est pas appropriée pour les matériels bas de gamme. Elle " +"nécessite au moins 4 Gio de mémoire vive, 4 Gio d'espace disque et un " +"processeur graphique capable de fournir une accélération 3D de base." #: modules/gnome/__init__.py:30 #, python-brace-format @@ -3206,40 +3200,37 @@ "need to <a href=\"{power_url}\">restart</a> the machine for changes to take " "effect." msgstr "" +"Après l'installation, l'activation, la désactivation ou la désinstallation " +"de l'application, vous aurez besoin de <a href=\"{power_url}\">redémarrer</" +"a> la machine pour que les modifications soient prises en compte." #: modules/gnome/__init__.py:48 -#, fuzzy -#| msgid "GNOME Files" msgid "GNOME" -msgstr "Fichiers GNOME" +msgstr "GNOME" #: modules/gnome/manifest.py:9 templates/clients.html:42 msgid "Desktop" msgstr "Bureau" #: modules/gnome/manifest.py:10 -#, fuzzy -#| msgid "Tor Browser" msgid "Browser" -msgstr "Navigateur Tor" +msgstr "Navigateur" #: modules/gnome/manifest.py:11 msgid "Office suite" -msgstr "" +msgstr "Suite bureautique" #: modules/gnome/manifest.py:12 -#, fuzzy -#| msgid "Software Update" msgid "Software store" -msgstr "Mise à jour du système" +msgstr "Magasin de logiciels" #: modules/gnome/manifest.py:13 msgid "GUI" -msgstr "" +msgstr "Interface graphique" #: modules/gnome/manifest.py:14 msgid "Graphical apps" -msgstr "" +msgstr "Applications graphiques" #: modules/help/__init__.py:33 modules/help/templates/help_index.html:14 #: templates/help-menu.html:8 templates/help-menu.html:14 @@ -4828,10 +4819,8 @@ msgstr "Mumble" #: modules/mumble/__init__.py:158 -#, fuzzy -#| msgid "Mumble server is running" msgid "Mumble server is configured" -msgstr "Le serveur Mumble est actif" +msgstr "Le serveur Mumble est configuré" #: modules/mumble/forms.py:30 msgid "Set SuperUser Password" @@ -4914,7 +4903,7 @@ #: modules/names/__init__.py:69 msgid "Domain (regular)" -msgstr "" +msgstr "Domaine (habituel)" #: modules/names/__init__.py:178 msgid "Package systemd-resolved is installed" @@ -5092,10 +5081,8 @@ msgstr "Erreur lors de la définition du nom de machine : {exception}" #: modules/names/views.py:117 -#, fuzzy -#| msgid "Domain Name" msgid "Add Domain Name" -msgstr "Nom de domaine" +msgstr "Ajouter un nom de domaine" #: modules/networks/__init__.py:19 msgid "" @@ -6847,6 +6834,12 @@ "provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If " "empty, lookups are disabled and some functionality will fail." msgstr "" +"Valeur optionnelle. Cette URL est utilisée pour déterminer l'adresse IP " +"visible publiquement de votre {box_name}. L'URL devrait simplement renvoyer " +"l'adresse IPv4 ou bien IPv6 d'où vient la requête du client. La valeur par " +"défaut est d'utiliser le service fourni par la Fondation FreedomBox sur " +"https://ddns.freedombox.org/ip/. Si la valeur est vide, les recherches sont " +"désactivées et certaines fonctionnalités échoueront." #: modules/privacy/forms.py:25 msgid "Periodically submit a list of apps used (suggested)" @@ -6888,20 +6881,16 @@ "dans la plupart des cas si la connectivité est stable et fiable." #: modules/privacy/forms.py:45 -#, fuzzy -#| msgid "URL to look up public IP" msgid "URL to look up public IP address" -msgstr "URL pour rechercher l’IP publique" +msgstr "URL pour rechercher l’adresse IP publique" #: modules/privacy/manifest.py:10 msgid "Usage reporting" msgstr "Rapports d’utilisation" #: modules/privacy/manifest.py:10 -#, fuzzy -#| msgid "Enable repro service" msgid "External services" -msgstr "Activer le service repro" +msgstr "Services externes" #: modules/privacy/manifest.py:10 msgid "Fallback DNS" @@ -8134,6 +8123,11 @@ "accessed with various mobile and desktop applications using the CalDAV and " "CardDAV standards." msgstr "" +"SOGo est un serveur de logiciel de travail collaboratif qui fournit une " +"interface Web pour le courriel, l'agenda, les tâches et les contacts. " +"L'agenda, les tâches et les contacts sont également accessibles avec " +"diverses applications mobiles et de bureau utilisant les standard CalDAV et " +"CardDAV." #: modules/sogo/__init__.py:26 #, python-brace-format @@ -8141,6 +8135,9 @@ "Webmail works with the <a href=\"{email_url}\">Postfix/Dovecot</a> email " "server app to retrieve, manage, and send email." msgstr "" +"Le webmail fonctionne avec l'application serveur de courriels <a href=" +"\"{email_url}\">Postfix/Dovecot</a> pour récupérer, gérer et envoyer des " +"courriels." #: modules/sogo/__init__.py:30 #, python-brace-format @@ -8149,26 +8146,26 @@ "their mailboxes by the email server app can be read and new mail can be sent " "out." msgstr "" +"Tous les utilisateurs sur {box_name} peuvent s'identifier avec et utiliser " +"SOGo. Les courriels livrés à leurs boîtes aux lettres électroniques par " +"l'application serveur de courriels peuvent être lus et de nouveaux courriels " +"peuvent être envoyés." #: modules/sogo/__init__.py:48 modules/sogo/manifest.py:11 msgid "SOGo" -msgstr "" +msgstr "SOGo" #: modules/sogo/manifest.py:19 msgid "Thunderbird + SOGo connector" -msgstr "" +msgstr "Connecteur Thunderbird + SOGo" #: modules/sogo/manifest.py:71 -#, fuzzy -#| msgid "Email" msgid "Webmail" -msgstr "Courriel" +msgstr "Webmail" #: modules/sogo/manifest.py:74 -#, fuzzy -#| msgid "Address" msgid "Address book" -msgstr "Adresse" +msgstr "Carnet d'adresses" #: modules/ssh/__init__.py:22 msgid "" @@ -9057,10 +9054,8 @@ #: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:9 #: modules/upgrades/templates/upgrades-dist-upgrade.html:11 #: modules/upgrades/templates/upgrades_configure.html:16 -#, fuzzy -#| msgid "Distribution update started" msgid "Distribution Update" -msgstr "Mise à niveau de la distribution démarrée" +msgstr "Mise à jour de la distribution" #: modules/upgrades/__init__.py:396 msgid "Check for package holds" @@ -9123,10 +9118,8 @@ msgstr "Suivant" #: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:11 -#, fuzzy -#| msgid "Could not start distribution update" msgid "Confirm Distribution Update?" -msgstr "Impossible de lancer la mise à niveau de la distribution" +msgstr "Confirmer la mise à jour de la distribution ?" #: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:21 #, python-format @@ -9135,34 +9128,42 @@ "released. Proceed only if you wish to help with beta testing of %(box_name)s " "functionality." msgstr "" +"Vous êtes sur le point de mettre à jour vers la prochaine version de la " +"distribution avant sa publication. Continuez seulement si vous souhaitez " +"aider à tester les fonctionnalités bêtas de %(box_name)s." #: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:32 msgid "" "Take a full backup of all apps and data before performing a distribution " "update." msgstr "" +"Prenez une sauvegarde complète de toutes les applications et données avant " +"d'effectuer une mise à jour de distribution." #: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:38 msgid "" "The process will take several hours. Most apps will be unavailable during " "this time." msgstr "" +"Le processus prendra plusieurs heures. La plupart des applications seront " +"indisponible durant cette période." #: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:44 msgid "" "Don't interrupt the process by shutting down or interrupting power to the " "machine." msgstr "" +"N'interrompez pas le processus en éteignant la machine ou en coupant son " +"alimentation." #: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:50 msgid "If the process is interrupted, you should be able to continue it." msgstr "" +"Si le processus est interrompu, vous devriez être en mesure de le poursuivre." #: modules/upgrades/templates/upgrades-dist-upgrade-confirm.html:66 -#, fuzzy -#| msgid "Could not start distribution update" msgid "Confirm & Start Distribution Update" -msgstr "Impossible de lancer la mise à niveau de la distribution" +msgstr "Confirmer et démarrer la mise à jour de la distribution" #: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:15 msgid "" @@ -9170,10 +9171,16 @@ "apps will be unavailable during this period. Don't interrupt the process by " "shutting down or interrupting power to the machine." msgstr "" +"La mise à jour de la distribution a démarré. Cette opération peut prendre " +"plusieurs heures. La plupart des applications seront indisponibles pendant " +"cette période. N'interrompez pas le processus en éteignant la machine ou en " +"coupant son alimentation." #: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:21 msgid "Distribution update has completed. Reboot the machine, if necessary." msgstr "" +"La mise à jour de la distribution est terminée. Redémarrez la machine, si " +"nécessaire." #: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:25 #, python-format @@ -9182,6 +9189,10 @@ "then. See <a href=\"%(dist_upgrade_url)s\">manual</a> page for expected " "changes and transitions during the distribution upgrade." msgstr "" +"La mise à jour de la distribution va bientôt commencer. Prenez une " +"sauvegarde des applications et données auparavant. Voyez la page du <a href=" +"\"%(dist_upgrade_url)s\">manuel</a> pour les modifications et transitions " +"attendues pendant la mise à niveau de la distribution." #: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:31 #, python-format @@ -9190,12 +9201,14 @@ "and data before then. See <a href=\"%(dist_upgrade_url)s\">manual</a> page " "for expected changes and transitions during the distribution upgrade." msgstr "" +"La mise à jour de la distribution va démarrer dans %(in_days)s jours. Prenez " +"une sauvegarde des applications et données auparavant. Voyez la page du <a " +"href=\"%(dist_upgrade_url)s\">manuel</a> pour les modifications et " +"transitions attendues pendant la mise à niveau de la distribution." #: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:42 -#, fuzzy -#| msgid "Test Distribution Upgrade" msgid "Go to Distribution Update" -msgstr "Tester la mise à niveau de la distribution" +msgstr "Aller à la mise à jour de la distribution" #: modules/upgrades/templates/upgrades-dist-upgrade-notification.html:46 #: modules/upgrades/templates/upgrades-new-release.html:22 @@ -9216,77 +9229,81 @@ "changes, you can keep each distribution for at least <a href=\"https://wiki." "debian.org/LTS\">5 years</a> before updating." msgstr "" +"Votre %(box_name)s recevra des mises à jour de sécurité, des corrections " +"importantes et certaines fonctionnalités sélectionnées avec les mises à jour " +"logicielles habituelles. Cependant, afin de fournir un long cycle de vie " +"logiciel à %(box_name)s, le système d'exploitation entier recevra une mise à " +"jour majeure de distribution environ tous les deux ans. Cela apportera des " +"fonctionnalités et modifications majeures. Parfois, des fonctionnalités " +"anciennes cesseront de fonctionner. Veuillez consulter le <a href=" +"\"%(dist_upgrade_url)s\">manuel</a> pour les modifications et transitions " +"attendues pendant une mise à niveau de la distribution. Si vous n'appréciez " +"pas ces modifications, vous pouvez continuer à utiliser chaque distribution " +"pour au moins <a href=\"https://wiki.debian.org/LTS\">5 ans</a> avant de " +"mettre à jour." #: modules/upgrades/templates/upgrades-dist-upgrade.html:34 msgid "" "Distribution update is currently running. This operation may take several " "hours. Most apps will be unavailable during this period." msgstr "" +"La mise à jour de la distribution s'exécute en ce moment. Cette opération " +"peut prendre plusieurs heures. La plupart des applications seront " +"indisponibles pendant cette période." #: modules/upgrades/templates/upgrades-dist-upgrade.html:50 -#, fuzzy -#| msgid "Automatic upgrades disabled" msgid "Automatic updates are disabled." -msgstr "Mises à niveau automatiques désactivées" +msgstr "Mises à jour automatiques désactivées." #: modules/upgrades/templates/upgrades-dist-upgrade.html:54 -#, fuzzy -#| msgid "Distribution upgrade disabled" msgid "Distribution upgrades are disabled." -msgstr "Mise à niveau de la distribution désactivée" +msgstr "Mise à niveau de la distribution désactivée." #: modules/upgrades/templates/upgrades-dist-upgrade.html:58 msgid "" "You need to have at least 5 GB of free space available on primary disk to " "perform a distribution update." msgstr "" +"Vous devez avoir au moins 5 Go d'espace libre disponible sur votre disque " +"primaire pour effectuer une mise à jour de la distribution." #: modules/upgrades/templates/upgrades-dist-upgrade.html:65 msgid "Your current distribution is mixed or not understood." -msgstr "" +msgstr "Votre distribution actuelle est mixte ou incomprise." #: modules/upgrades/templates/upgrades-dist-upgrade.html:72 -#, fuzzy -#| msgid "Test Distribution Upgrade" msgid "Current Distribution:" -msgstr "Tester la mise à niveau de la distribution" +msgstr "Distribution actuelle :" #: modules/upgrades/templates/upgrades-dist-upgrade.html:74 -#, fuzzy -#| msgid "unknown error" msgid "Unknown or mixed" -msgstr "erreur inconnue" +msgstr "Inconnue ou mixte" #: modules/upgrades/templates/upgrades-dist-upgrade.html:77 msgid "Rolling release distribution" -msgstr "" +msgstr "Distribution rolling release" #: modules/upgrades/templates/upgrades-dist-upgrade.html:84 -#, fuzzy, python-format -#| msgid "Delete site %(site)s" +#, python-format msgid "Released: %(date)s." -msgstr "Supprimer le site %(site)s" +msgstr "Date de publication : %(date)s." #: modules/upgrades/templates/upgrades-dist-upgrade.html:91 -#, fuzzy -#| msgid "Test Distribution Upgrade" msgid "Next Stable Distribution:" -msgstr "Tester la mise à niveau de la distribution" +msgstr "Prochaine distribution stable :" #: modules/upgrades/templates/upgrades-dist-upgrade.html:93 -#, fuzzy -#| msgid "unknown" msgid "Unknown" -msgstr "inconnu" +msgstr "Inconnu" #: modules/upgrades/templates/upgrades-dist-upgrade.html:99 #, python-format msgid "Likely release: %(date)s." -msgstr "" +msgstr "Date de publication probable : %(date)s." #: modules/upgrades/templates/upgrades-dist-upgrade.html:107 msgid "Next stable distribution is not available yet." -msgstr "" +msgstr "La prochaine distribution stable n'est pas encore disponible." #: modules/upgrades/templates/upgrades-dist-upgrade.html:113 #, python-format @@ -9295,12 +9312,17 @@ "necessary. Thank you for helping test the %(box_name)s project. Please " "report any problems you notice." msgstr "" +"Vous êtes sur une distribution en rolling release. Aucune mise à jour de la " +"distribution n'est nécessaire. Merci d'avoir aidé à tester le projet " +"%(box_name)s. Veuillez signaler tout problème que vous remarquerez." #: modules/upgrades/templates/upgrades-dist-upgrade.html:121 msgid "" "A previous run of distribution update may have been interrupted. Please re-" "run the distribution update." msgstr "" +"Une précédente exécution de la mise à jour de la distribution peut avoir été " +"interrompu. Veuillez ré-exécuter la mise à jour de la distribution." #: modules/upgrades/templates/upgrades-dist-upgrade.html:128 #, python-format @@ -9309,6 +9331,9 @@ "automatically in %(period)s. You may choose to update manually now, if you " "wish." msgstr "" +"Une nouvelle distribution stable est disponible. Votre %(box_name)s sera " +"mise à jour automatiquement dans %(period)s. Vous pouvez choisir de mettre à " +"jour manuellement maintenant, si vous le souhaitez." #: modules/upgrades/templates/upgrades-dist-upgrade.html:136 #, python-format @@ -9316,6 +9341,9 @@ "A new stable distribution is available. Your %(box_name)s will be updated " "automatically soon. You may choose to update manually now, if you wish." msgstr "" +"Une nouvelle distribution stable est disponible. Votre %(box_name)s sera " +"mise à jour automatiquement bientôt. Vous pouvez choisir de mettre à jour " +"manuellement maintenant, si vous le souhaitez." #: modules/upgrades/templates/upgrades-dist-upgrade.html:144 #, python-format @@ -9325,25 +9353,24 @@ "next distribution manually. This setup may experience occational app " "failures until the next stable release." msgstr "" +"Vous êtes sur la distribution stable la plus récente. Cela est recommandé. " +"Cependant, si vous souhaitez aider à tester les fonctionnalités bêtas de " +"%(box_name)s, vous pouvez mettre à jour vers la prochaine distribution " +"manuellement. Cette configuration peut subir des défaillances d'applications " +"jusqu'à la publication de la prochaine version stable." #: modules/upgrades/templates/upgrades-dist-upgrade.html:157 #: modules/upgrades/templates/upgrades-dist-upgrade.html:172 -#, fuzzy -#| msgid "Test Distribution Upgrade" msgid "Start Distribution Update" -msgstr "Tester la mise à niveau de la distribution" +msgstr "Démarrer la mise à jour de la distribution" #: modules/upgrades/templates/upgrades-dist-upgrade.html:162 -#, fuzzy -#| msgid "Test Distribution Upgrade" msgid "Continue Distribution Update" -msgstr "Tester la mise à niveau de la distribution" +msgstr "Poursuivre la mise à jour de la distribution" #: modules/upgrades/templates/upgrades-dist-upgrade.html:167 -#, fuzzy -#| msgid "Starting distribution upgrade test." msgid "Start Distribution Update (for testing)" -msgstr "Démarrage du test de mise à niveau de la distribution." +msgstr "Démarrer la mise à jour de la distribution (pour les tests)" #: modules/upgrades/templates/upgrades-new-release.html:9 #, python-format @@ -9426,10 +9453,8 @@ "« unattended-upgrades »" #: modules/upgrades/views.py:117 -#, fuzzy -#| msgid "Starting distribution upgrade test." msgid "Started distribution update." -msgstr "Démarrage du test de mise à niveau de la distribution." +msgstr "Mise à jour de la distribution démarrée." #: modules/upgrades/views.py:153 msgid "Upgrade process started." diff -Nru freedombox-25.8/plinth/locale/hi/LC_MESSAGES/django.po freedombox-25.9/plinth/locale/hi/LC_MESSAGES/django.po --- freedombox-25.8/plinth/locale/hi/LC_MESSAGES/django.po 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/plinth/locale/hi/LC_MESSAGES/django.po 2025-05-05 20:29:19.000000000 -0400 @@ -8,8 +8,8 @@ "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-21 20:08-0400\n" -"PO-Revision-Date: 2025-04-16 04:54+0000\n" -"Last-Translator: Aryan Raj <aaryanraj2120@gmail.com>\n" +"PO-Revision-Date: 2025-04-29 16:30+0000\n" +"Last-Translator: Thulasi Edhala <thulasiedhala@gmail.com>\n" "Language-Team: Hindi <https://hosted.weblate.org/projects/freedombox/" "freedombox/hi/>\n" "Language: hi\n" @@ -17,7 +17,7 @@ "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.11-dev\n" +"X-Generator: Weblate 5.12-dev\n" #: config.py:103 #, python-brace-format @@ -1756,7 +1756,7 @@ #: modules/diagnostics/__init__.py:222 msgid "You should not install any new apps on this system." -msgstr "" +msgstr "आपको इस सिस्टम पर कोई नया ऐप इंस्टॉल नहीं करना चाहिए।" #: modules/diagnostics/__init__.py:234 #, no-python-format, python-brace-format @@ -1764,10 +1764,12 @@ "System is low on memory: {percent_used}% used, {memory_available} " "{memory_available_unit} free. {advice_message}" msgstr "" +"सिस्टम में मेमोरी कम है: {percent_used}% उपयोग हो चुकी है, {memory_available} " +"{memory_available_unit} खाली है। {advice_message}" #: modules/diagnostics/__init__.py:236 msgid "Low Memory" -msgstr "" +msgstr "कम मेमोरी" #: modules/diagnostics/__init__.py:267 #, fuzzy @@ -9845,6 +9847,8 @@ "Provided by the server operator, a long string of characters. Example: " "MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." msgstr "" +"सर्वर ऑपरेटर द्वारा प्रदान की गई, वर्णों की एक लंबी स्ट्रिंग। उदाहरण: MConEJFIg6+" +"DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ।" #: modules/wireguard/forms.py:82 #, fuzzy @@ -9857,10 +9861,12 @@ "endpoint. This value is usually provided by the server operator. Example: " "192.168.0.10." msgstr "" +"सर्वर ऑपरेटर द्वारा प्रदान की गई, वर्णों की एक लंबी स्ट्रिंग। उदाहरण: MConEJFIg6+" +"DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ।" #: modules/wireguard/forms.py:89 msgid "Private key of this machine" -msgstr "" +msgstr "इस मशीन की निजी कुंजी" #: modules/wireguard/forms.py:90 msgid "" @@ -9869,10 +9875,14 @@ "some server operators insist on providing this. Example: " "MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." msgstr "" +"वैकल्पिक। यदि खाली छोड़ दिया जाए तो नई सार्वजनिक/निजी कुंजियाँ उत्पन्न होती हैं। फिर " +"सार्वजनिक कुंजी सर्वर को प्रदान की जा सकती है। यह अनुशंसित तरीका है। हालाँकि, कुछ सर्वर " +"ऑपरेटर इसे प्रदान करने पर जोर देते हैं। उदाहरण: MConEJFIg6+" +"DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ।" #: modules/wireguard/forms.py:98 msgid "Pre-shared key" -msgstr "" +msgstr "गुप्त कुंजी" #: modules/wireguard/forms.py:99 msgid "" @@ -9880,10 +9890,13 @@ "layer of security. Fill in only if provided. Example: " "MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs=." msgstr "" +"वैकल्पिक। सुरक्षा की एक अतिरिक्त परत जोड़ने के लिए सर्वर द्वारा प्रदान की गई एक साझा गुप्" +"त कुंजी। केवल तभी भरें जब प्रदान की गई हो। उदाहरण: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs=।" #: modules/wireguard/forms.py:105 msgid "Use this connection to send all outgoing traffic" -msgstr "" +msgstr "सभी आउटगोइंग ट्रैफ़िक भेजने के लिए इस कनेक्शन का उपयोग करें" #: modules/wireguard/forms.py:107 msgid "Typically checked for a VPN service through which all traffic is sent." @@ -10595,12 +10608,13 @@ "कुछ<a href=\"%(apps_url)s\">एप्लिकेशनस</a> सक्षम करें, इस पेज पर शॉर्टकटस जोड़ने के लिए." #: templates/internal-zone.html:17 -#, fuzzy, python-format -#| msgid "<em>%(service_name)s</em> is available only on internal networks." +#, python-format msgid "" "<em>%(service_name)s</em> is available only on internal networks or when the " "client is connected to %(box_name)s through VPN." -msgstr "<em>%(service_name)s</em> सिर्फ आंतरिक नेटवर्क्स पर उपलब्ध है. %(box_name)s" +msgstr "" +"<em>%(service_name)s</em> केवल आंतरिक नेटवर्क पर उपलब्ध है या जब क्लाइंट VPN के माध्यम " +"से %(box_name)s से जुड़ा होता है।" #: templates/internal-zone.html:25 msgid "Currently there are no network interfaces configured as internal." @@ -10614,26 +10628,21 @@ msgstr "अभी यह नेटवर्क इंटरफ़ेसस आंतरिक के रूप में कॉंफ़िगर किया गया है:%(interface_list)s" #: templates/notifications-dropdown.html:11 -#, fuzzy -#| msgid "No certificate" msgid "Notifications" -msgstr "कोई प्रमाणपत्र नहीं" +msgstr "सूचनाएं" #: templates/port-forwarding-info.html:8 msgid "Port Forwarding" -msgstr "" +msgstr "अग्रेषण पोर्ट" #: templates/port-forwarding-info.html:13 -#, fuzzy, python-format -#| msgid "" -#| "You may want to check the <a href=\"%(networks_url)s\">network setup</a> " -#| "and modify it if necessary." +#, python-format msgid "" "Your FreedomBox is <a href=\"%(networks_url)s\">not behind a router</a>. No " "action is necessary." msgstr "" -"आप <a href=\"%(networks_url)s\"> नेटवर्क सेटअप </a> जांचना चाह सकते है और अगर जरुरत " -"हू, इससे बदलें." +"आपका फ्रीडमबॉक्स <a href=\"%(networks_url)s\">राउटर के पीछे नहीं है</a>। कोई कार्रवा" +"ई आवश्यक नहीं है।" #: templates/port-forwarding-info.html:21 #, python-format @@ -10650,6 +10659,9 @@ "are not using the DMZ feature. You will need to set up port forwarding on " "your router. You should forward the following ports for %(service_name)s:" msgstr "" +"आपका फ्रीडमबॉक्स <a href=\"%(networks_url)s\">राउटर के पीछे</a> है और आप DMZ सुविधा" +" का उपयोग नहीं कर रहे हैं। आपको अपने राउटर पर पोर्ट फ़ॉरवर्डिंग सेट अप करना होगा। आपको " +"%(service_name)s के लिए निम्नलिखित पोर्ट फ़ॉरवर्ड करने चाहिए:" #: templates/port-forwarding-info.html:42 #, fuzzy @@ -10665,7 +10677,7 @@ #: templates/port-forwarding-info.html:44 msgid "From Router/WAN Ports" -msgstr "" +msgstr "राउटर/WAN पोर्ट से" #: templates/port-forwarding-info.html:45 #, fuzzy, python-format @@ -10691,7 +10703,7 @@ #: templates/setup.html:50 msgid "Check again" -msgstr "" +msgstr "फिर से जाँचो" #: templates/setup.html:61 msgid "" @@ -10699,6 +10711,8 @@ "conflict with the installation of this app. The following packages will be " "removed if you proceed:" msgstr "" +"<strong>विरोधी पैकेज:</strong> सिस्टम पर इंस्टॉल किए गए कुछ पैकेज इस ऐप की स्थापना के " +"साथ संघर्ष करते हैं। यदि आप आगे बढ़ते हैं तो निम्नलिखित पैकेज हटा दिए जाएँगे:" #: templates/setup.html:80 msgid "Update" @@ -10746,10 +10760,12 @@ "All app data and configuration will be permanently lost. App may be " "installed freshly again." msgstr "" +"सभी ऐप डेटा और कॉन्फ़िगरेशन हमेशा के लिए खो जाएंगे। ऐप को फिर से नए सिरे से इंस्टॉल किया " +"जा सकता है।" #: views.py:84 msgid "Here" -msgstr "" +msgstr "यहाँ" #: views.py:414 msgid "Setting unchanged" @@ -10758,7 +10774,7 @@ #: views.py:647 #, python-brace-format msgid "before uninstall of {app_id}" -msgstr "" +msgstr "{app_id} को अनइंस्टॉल करने से पहले" #: web_framework.py:122 msgid "Gujarati" diff -Nru freedombox-25.8/plinth/locale/te/LC_MESSAGES/django.po freedombox-25.9/plinth/locale/te/LC_MESSAGES/django.po --- freedombox-25.8/plinth/locale/te/LC_MESSAGES/django.po 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/plinth/locale/te/LC_MESSAGES/django.po 2025-05-05 20:29:19.000000000 -0400 @@ -10,8 +10,8 @@ "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-21 20:08-0400\n" -"PO-Revision-Date: 2025-04-20 12:08+0000\n" -"Last-Translator: saisankar333 <2300090325@kluniversity.in>\n" +"PO-Revision-Date: 2025-04-30 07:52+0000\n" +"Last-Translator: swaroop02-cse <swarooppersonal00@gmail.com>\n" "Language-Team: Telugu <https://hosted.weblate.org/projects/freedombox/" "freedombox/te/>\n" "Language: te\n" @@ -19,14 +19,15 @@ "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.11.1-dev\n" +"X-Generator: Weblate 5.12-dev\n" #: config.py:103 #, python-brace-format msgid "Static configuration {etc_path} is setup properly" -msgstr "స్టాటిక్ కాన్ఫిగరేషన్ {etc_path} సరిగ్గా సెటప్ చేయబడింది" +msgstr "స్టాటిక్ కాన్ఫిగరేషన్ {etc_path} సరిగ్గా సెటప్ చేయబడింది." #: context_processors.py:21 views.py:168 +#, fuzzy msgid "FreedomBox" msgstr "ఫ్రీడమ్బాక్స్" @@ -36,14 +37,14 @@ msgstr "{service_name} సేవ అమలులో ఉంది" #: daemon.py:222 -#, fuzzy, python-brace-format +#, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" -msgstr "పోర్ట్ లో వింటున్నాను {kind} {listen_address}: {port}" +msgstr "{kind} పోర్ట్ {listen_address}:{port} లో వింటున్నాను" #: daemon.py:225 #, python-brace-format msgid "Listening on {kind} port {port}" -msgstr "{kind} పోర్ట్ {port} లో వినిపిస్తోంది" +msgstr "{kind} port {port} లో వింటున్నాను" #: daemon.py:296 #, python-brace-format @@ -53,11 +54,11 @@ #: daemon.py:304 #, python-brace-format msgid "Cannot connect to {host}:{port}" -msgstr "{host}:{port} కి కనెక్ట్ కాలేదు" +msgstr "{host} కి కనెక్ట్ అవ్వండి:{port}" #: forms.py:36 msgid "Backup app before uninstall" -msgstr "అన్ఇన్స్టాల్ చేయడానికి ముందు యాప్ను బ్యాకప్ చేయండి" +msgstr "అన్ఇన్స్టాల్ చేయడానికి ముందు బ్యాకప్ యాప్" #: forms.py:37 msgid "Restoring from the backup will restore app data." @@ -65,11 +66,11 @@ #: forms.py:39 msgid "Repository to backup to" -msgstr "బబ్యాకప్ చేయడానికి రిపోజిటరీ" +msgstr "బ్యాకప్ చేయడానికి రిపోజిటరీ" #: forms.py:64 msgid "Select a domain name to be used with this application" -msgstr "ఈ అప్లికేషన్ తో ఉపయోగించడానికి ఒక డొమైన్ పేరును ఎంచుకోండి" +msgstr "ఈ అప్లికేషన్ తో ఉపయోగించడానికి ఒక డొమైన్ పేరును ఎంచుకోండి." #: forms.py:66 msgid "" @@ -103,7 +104,7 @@ #: menu.py:116 templates/base.html:120 msgid "Home" -msgstr "ఇల్లు" +msgstr "హొమ్ పేజ్" #: menu.py:117 templates/base.html:129 msgid "Apps" @@ -132,7 +133,7 @@ #: middleware.py:134 msgid "System is possibly under heavy load. Please retry later." -msgstr "సిస్టమ్ బహుశా భారీ లోడ్లో ఉండవచ్చు దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి." +msgstr "సిస్టమ్ బహుశా భారీ లోడ్లో ఉండవచ్చు. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి." #: middleware.py:147 #, python-brace-format @@ -204,7 +205,7 @@ #: modules/avahi/manifest.py:14 msgid "mDNS" -msgstr "మ్దన్స్" +msgstr "mDNS" #: modules/backups/__init__.py:24 msgid "Backups allows creating and managing backup archives." @@ -8248,11 +8249,11 @@ #: modules/tor/__init__.py:77 msgid "Tor Onion Service" -msgstr "టోర్ ఉల్లిపాయ సేవ" +msgstr "టోర్ ఆనియన్ సర్వీస్" #: modules/tor/__init__.py:82 msgid "Tor Bridge Relay" -msgstr "టార్ బ్రిడ్జ్ రిలే" +msgstr "టార్ వంతెన రిలే" #: modules/tor/__init__.py:140 msgid "Tor relay port available" @@ -8268,7 +8269,7 @@ #: modules/tor/__init__.py:176 msgid "Onion service is version 3" -msgstr "ఉల్లిపాయ సేవ వెర్షన్ 3" +msgstr "ఉల్లిపాయ సేవ భ్రూణ వర్తనం 3" #: modules/tor/forms.py:33 msgid "" @@ -8278,7 +8279,8 @@ #: modules/tor/forms.py:76 msgid "Use upstream bridges to connect to Tor network" -msgstr "టార్ నెట్వర్క్కు కనెక్ట్ చేయడానికి అప్స్ట్రీమ్ వారది ఉపయోగించండి" +msgstr "" +"టోర్ నెట్వర్క్కి కనెక్ట్ అవ్వడానికి అప్స్ట్రీమ్ బ్రిడ్జిలను ఉపయోగించండి" #: modules/tor/forms.py:78 msgid "" @@ -8286,13 +8288,13 @@ "Tor network. Use this option if your Internet Service Provider (ISP) blocks " "or censors connections to the Tor Network. This will disable relay modes." msgstr "" -"ఎనేబుల్ అయినప్పుడు, క్రింద కాన్ఫిగర్ చేయబడిన వంతెనలు టార్ నెట్వర్క్కి కనెక్ట్ చేయడానికి ఉపయోగించబడతాయి. మీ " -"ఇంటర్నెట్ సర్వీస్ ప్రొవైడర్ (ISP) టార్ నెట్ వర్క్ కు కనెక్షన్లనుబ్లాక్ చేస్తే లేదా సెన్సార్ చేస్తే ఈ ఎంపికను " -"ఉపయోగించండి. ఇది రిలే మోడ్లను నిలిపివేస్తుంది." +"ప్రారంభించబడినప్పుడు, దిగువ కాన్ఫిగర్ చేయబడిన వంతెనలు Tor నెట్వర్క్కు కనెక్ట్ చేయడానికి ఉపయోగించబడతాయి. మీ" +" ఇంటర్నెట్ సర్వీస్ ప్రొవైడర్ (ISP) Tor నెట్వర్క్కు కనెక్షన్లను బ్లాక్ చేస్తే లేదా సెన్సార్ చేస్తే ఈ ఎంపికను " +"ఉపయోగించండి. ఇది రిలే మోడ్లను నిలిపివేస్తుంది." #: modules/tor/forms.py:83 msgid "Upstream bridges" -msgstr "అప్స్ట్రీమ్ బ్రిడ్జెస్" +msgstr "అప్స్ట్రీమ్ వంతెనలు" #: modules/tor/forms.py:85 msgid "" @@ -8300,12 +8302,13 @@ "\">https://bridges.torproject.org/</a> and copy/paste the bridge information " "here. Currently supported transports are none, obfs3, obfs4 and scamblesuit." msgstr "" -"మీరు కొన్ని వంతెనలను <a href=\"https://bridges.torproject.org/\">https://bridges." -"torproject.org/</a> నుండి పొందవచ్చు మరియు ఇక్కడ వంతెన సమాచారాన్ని కాపీ చేయండి." +"మీరు <a href=\"https://bridges.torproject.org/\">https://" +"bridges.torproject.org/</a> నుండి కొన్ని బ్రిడ్జ్లను పొందవచ్చు మరియు బ్రిడ్జ్ సమాచారాన్ని ఇక్కడ " +"కాపీ/పేస్ట్ చేయవచ్చు. ప్రస్తుతం మద్దతు ఉన్న రవాణాలు none, obfs3, obfs4 మరియు scamblesuit." #: modules/tor/forms.py:95 msgid "Enable Tor relay" -msgstr "టోర్ రిలేని ప్రారంభించండి" +msgstr "టోర్ రిలేను ప్రారంభించండి" #: modules/tor/forms.py:96 #, python-brace-format diff -Nru freedombox-25.8/plinth/modules/minetest/data/usr/lib/systemd/system/minetest-server.service.d/freedombox.conf freedombox-25.9/plinth/modules/minetest/data/usr/lib/systemd/system/minetest-server.service.d/freedombox.conf --- freedombox-25.8/plinth/modules/minetest/data/usr/lib/systemd/system/minetest-server.service.d/freedombox.conf 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/plinth/modules/minetest/data/usr/lib/systemd/system/minetest-server.service.d/freedombox.conf 2025-05-05 20:29:19.000000000 -0400 @@ -1,4 +1,4 @@ # Workaround for Debian bug #1090067 [Service] ExecStart= -ExecStart=/usr/lib/minetest/minetestserver --config /etc/minetest/minetest.conf --logfile /var/log/minetest/minetest.log --gameid minetest_game +ExecStart=/usr/bin/sh -c 'if [ -e /etc/minetest/minetest.conf ] ; then CONFIG_FILE=/etc/minetest/minetest.conf; else CONFIG_FILE=/etc/luanti/default.conf; fi; if [ -x /usr/lib/minetest/minetestserver ] ; then /usr/lib/minetest/minetestserver --config $$CONFIG_FILE --logfile /var/log/minetest/minetest.log --gameid minetest_game; else exec /usr/libexec/luanti/luantiserver --config $$CONFIG_FILE --logfile /var/log/luanti/default/server.log --gameid $LUANTI_GAMEID; fi' diff -Nru freedombox-25.8/plinth/modules/minetest/privileged.py freedombox-25.9/plinth/modules/minetest/privileged.py --- freedombox-25.8/plinth/modules/minetest/privileged.py 2025-04-21 20:27:59.000000000 -0400 +++ freedombox-25.9/plinth/modules/minetest/privileged.py 2025-05-05 20:29:19.000000000 -0400 @@ -1,6 +1,8 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Configure Minetest server.""" +import pathlib + import augeas from plinth import action_utils @@ -15,6 +17,7 @@ creative_mode: bool | None = None, enable_damage: bool | None = None): """Update configuration file and restart daemon if necessary.""" + pathlib.Path(CONFIG_FILE).parent.mkdir(exist_ok=True) aug = load_augeas() if max_players is not None: aug.set(AUG_PATH + '/max_users', str(max_players))
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature