freedombox Debian release 25.6

-----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmfiynQWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICOiRD/4kAwDwA0u+z6SaDTgYVrze6Xkv
 sLVJ3TLbVm3/vcldnVyLViGoSWcHuFJkcdzN7e2sgS62FamNr8jnQvgMQ4Y+I9ie
 CQ51c55V+f1kN/+UqPaQIvjAxTQM3QP2eteicqFPxi3F3NM06E6g3IZUcM0xyOty
 h4SR16fJwLkQTJ27hM/4YW8IKQs/Q3w65n4YNc34WDbJN4Km2anpQdAnyG9dv17P
 G7BTyeOd5Uud4GzeripWmHzKdWIppaUNzmQDeBKqm0Fgp9LBDP27EY60oUKKlpTm
 bzSHglWv3LwInUeuGPW1Yww2UkOczXhSQ4MdkEbl7+K/Szq9UW+3fT3e2bd582K7
 AMN14qTffEfCYWM5FJV1kBnn0/ah5But87KFiXABXKqiM9cOLRB+Q6RmWnLDWplc
 K7X8p95goKhsX1Z+W+gmOKw5QvYsqlJ9Lm7vRb++Au9wi9WIMz8L248OCyLcWmGS
 Pam/ncbPYOT7DYAOg03HswMPgsjeZyVpXjcjQ5q6jQeK/IvxOVoxgTDv05PDEWqy
 Kabp58NkQ/X1wO6Lauxk40UtaPS2b4Te6oVuYNUjjgmEE/LdP3s9atopu1mm8DgI
 ou9fgZUqHpfj24UJMjMNORNKZj0hEirEsrGN+JZ7QSZbO2BdsNiw4qpLLrBa0BzN
 a9qsKGUZzn3SEaGooQ==
 =j0PS
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmfmkn0WHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICEsREADO3kYGLaEnYd9MhiAPkAF3z5FK
 QUs8tsRQOmjbqVX2ybjKRUT+kHvWIE6zcSXmPyQgrhPNqWcqBJ4+Zsfy2BE8BLc7
 mNXVi+c76zZmTnlYzncm9IlWOoHsVt0kvYMdEe5N6YkUuS3pRR8gronPCj3Cg7uT
 2GHytIzrI1Za1RiGvNsxloPAOs5lsSzzf9YMcVeVsR+BJXIE+cbzSj9vu57Lxd67
 VboPWyEg2VDXmi5Gaf2QXwDSOh6HAizUPfMTrjna3WGqtNuJz7F6R+uh+wVEtQ/p
 WzR67xL9QD/K6HgBxbdJdKUQ7X37ex56Xx7d+FXQz5+URmG0Cah8Dbf932Aw+Y/u
 F+YA9c4j05Ms2tbcv2X6SbzPMuD+2JZ5P4tup/MF/MI2L/qV42QbJXQQjV2LBSi5
 QvTnX3DtA7aXwGIJ3mBQ1ua1kEdQhXq3FspsF7XqrtvxYt0suiyYD/QY2evNqEpQ
 XoAM1wZRdsRAeY6s0OXf0/dQU1VXX7bTu5M+PFasLoaZ6jVRmaMKeL0NLH30xvU0
 +0G+/MMUSlIZeIsuT6GQ85baJtFM1rM6hpmkZbDo/wZzaDXUb3sEFR3eqA9cSROt
 lFpIdKTr7K5wpMku78QZQSzpWwR3hP5UJ6rVX4gx5RvMvXUj6UUIFctW3/j+mk9O
 kfUraqNIQNcUNRB0DQ==
 =F5pc
 -----END PGP SIGNATURE-----

Merge tag 'v25.6' into debian/bookworm-backports

freedombox Debian release 25.6

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
James Valleroy 2025-03-28 08:13:48 -04:00
commit 29936c4ba6
69 changed files with 999 additions and 808 deletions

View File

@ -589,6 +589,19 @@ installed.
$ py.test-3 -n 4 --dist=loadfile --include-functional -m essential
```
#### Enabling all apps
When testing distribution upgrades from a stable release to next stable release
or testing, it is beneficial to install all available FreedomBox applications.
There is a script available to perform operation.
In the VM or container, run the following command:
```
guest$ cd /freedombox
guest$ sudo make build install
guest$ plinth/tests/functional/enable-all-apps
```
[back to index](#hacking)

View File

@ -318,7 +318,7 @@ LIBVIRT_DOMAIN_XML_TEMPLATE = '''<domain type="kvm">
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type="file" device="disk">
<driver name="qemu" type="raw"/>
<driver name="qemu" type="qcow2"/>
<source file="{image_file}"/>
<target dev="vda" bus="virtio"/>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
@ -1356,10 +1356,10 @@ class VM(Machine):
except subprocess.CalledProcessError:
pass
image_file = _get_image_file(self.distribution)
qcow_image = self._create_qcow_image()
domain_xml = LIBVIRT_DOMAIN_XML_TEMPLATE.format(
domain_name=self.machine_name, memory_mib='2048', cpus='4',
image_file=image_file, source_dir=_get_project_folder())
image_file=qcow_image, source_dir=_get_project_folder())
with tempfile.NamedTemporaryFile() as file_handle:
file_handle.write(domain_xml.encode())
@ -1389,12 +1389,22 @@ class VM(Machine):
return
logger.info('Running `virsh destroy %s`', self.machine_name)
self._virsh(['destroy', self.machine_name], stdout=subprocess.DEVNULL)
try:
self._virsh(['undefine', self.machine_name],
stdout=subprocess.DEVNULL)
except subprocess.CalledProcessError:
pass
def destroy(self) -> None:
"""Remove all traces of the VM from the host."""
logger.info('Running `virsh undefine %s`', self.machine_name)
self._virsh(['undefine', self.machine_name], stdout=subprocess.DEVNULL)
try:
self._virsh(['undefine', self.machine_name],
stdout=subprocess.DEVNULL)
except subprocess.CalledProcessError:
pass
self._destroy_qcow_image()
def get_ip_address(self) -> str | None:
"""Return the IP address assigned to the VM."""
@ -1426,6 +1436,27 @@ class VM(Machine):
"""Run virsh to control the virtual machine."""
return subprocess.run(['sudo', 'virsh'] + args, check=check, **kwargs)
def _create_qcow_image(self) -> pathlib.Path:
"""Convert raw image into qcow2 image.
qcow2 image format allows snapshots of VM.
"""
image_file = _get_image_file(self.distribution)
qcow_image = image_file.with_suffix('.qcow2')
logger.info('Creating qcow2 image: %s', qcow_image)
subprocess.run([
'sudo', 'qemu-img', 'convert', '-f', 'raw', '-O', 'qcow2',
image_file, qcow_image
], check=True)
return qcow_image
def _destroy_qcow_image(self) -> None:
"""Delete the qcow image."""
image_file = _get_image_file(self.distribution)
qcow_image = image_file.with_suffix('.qcow2')
logger.info('Removing qcow2 image: %s', qcow_image)
qcow_image.unlink(missing_ok=True)
def subcommand_up(arguments: argparse.Namespace):
"""Download, setup and bring up the container."""

26
debian/changelog vendored
View File

@ -1,3 +1,29 @@
freedombox (25.6) unstable; urgency=medium
[ Sunil Mohan Adapa ]
* setup: Fix a minor flake8 complaint
* doc: Fetch latest manual
* container: Allow taking snapshots of VMs
* upgrades: Run dpkg/apt fixes before dist upgrade
* names: Store domains in kvstore instead of /etc/hosts
* container: Don't remove qcow2 image when terminating VM
* operation: Drop type annotations on enum members
* storage: tests: Fix a test failure for psutils >= 7.0
[ Dietmar ]
* Translated using Weblate (German)
[ James Valleroy ]
* tests: functional: Add enable-all-apps script
* locale: Update translation strings
* doc: Fetch latest manual
[ Benedek Nagy ]
* SOGo: add dpkg-dev to the package list
* syncthing: Extend setup process to recover from manual config errors
-- James Valleroy <jvalleroy@mailbox.org> Tue, 25 Mar 2025 10:09:07 -0400
freedombox (25.5~bpo12+1) bookworm-backports; urgency=medium
* Rebuild for bookworm-backports.

View File

@ -76,7 +76,8 @@ Usually any Unix system, including Linux in all (most) of its flavours and Mac,
Examples:
Connect to !FreedomBox via SSH:
1. (replacing `username` with a valid !FreedomBox user name and `freedombox.local` with your !FreedomBox's domain name or IP): {{{
1. (replacing `username` with a valid !FreedomBox user name and `freedombox.local` with your !FreedomBox's domain name or IP):
{{{
$ ssh username@freedombox.local
}}}
1. If your data is ok and your !FreedomBox reachable, the first time you'll be asked to confirm its signature.
@ -85,36 +86,41 @@ $ ssh username@freedombox.local
1. The prompt changes to `username@freedombox:~$`.
Once connected create your website folder with:
{{{
{{{
username@freedombox:~$ mkdir ~/public_html
}}}
...or one for another user:
1. use the `sudo` prefix like {{{
1. use the `sudo` prefix like
{{{
username@freedombox:~$ sudo mkdir /home/<the_other_user>/public_html
}}}, and introduce your password.
1. When you create a folder, by default it belongs to you no matter where it is created. Thus you'll then need to set its ownership to the other user: {{{
username@freedombox:~$ sudo chown <the_other_user>:<the_other_user> /home/<the_other_user>/public_htm
}}}
1. Better check it before you disconnect that `public_html' is listed among the contents of the other user's home folder.
and introduce your password.
1. When you create a folder, by default it belongs to you no matter where it is created. Thus you'll then need to set its ownership to the other user:
{{{
username@freedombox:~$ sudo chown <the_other_user>:<the_other_user> /home/<the_other_user>/public_html
}}}
1. Better check it before you disconnect that `public_html` is listed among the contents of the other user's home folder.
{{{
username@freedombox:~$ ls -l /home/<the_other_user>
...
drwxr-xr-x 2 <the_other_user> <the_other_user> 4096 jan 29 17:39 public_html
...
}}}. The name of the other user must appear '''twice''' in the `public_html` line and its permissions should be '''`drwxr-xr-x`'''.
}}}
The name of the other user must appear '''twice''' in the `public_html` line and its permissions should be '''`drwxr-xr-x`'''.
Then any user can upload their files to their respective folders with any of the graphical clients. Ask them to check it.
It is a good security practice to exit instead of to just wait for the connection to time out:
{{{
{{{
username@freedombox:~$ exit
}}}
If then you want to also upload the web content through the command line you can
{{{
$ scp path/to/files username@freedombox.local:public_html/
}}}. It will ask your password in !FreedomBox. You should then be able to navigate your browser to the corresponding url and see the files.
}}}
It will ask your password in !FreedomBox. You should then be able to navigate your browser to the corresponding url and see the files.
Learn more about ssh, scp and sftp with `$ man ssh`, `$ man scp` and `$ man sftp`.

View File

@ -8,6 +8,26 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
The following are the release notes for each !FreedomBox version.
== FreedomBox 25.6 (2025-03-25) ==
=== Highlight ===
* names: Store domains in kvstore instead of /etc/hosts
=== Other Changes ===
* container: Allow taking snapshots of VMs
* container: Don't remove qcow2 image when terminating VM
* doc: Fetch latest manual
* locale: Update translations for German
* operation: Drop type annotations on enum members
* setup: Fix a minor flake8 complaint
* SOGo: add dpkg-dev to the package list
* storage: tests: Fix a test failure for psutils >= 7.0
* syncthing: Extend setup process to recover from manual config errors
* tests: functional: Add enable-all-apps script
* upgrades: Run dpkg/apt fixes before dist upgrade
== FreedomBox 25.5 (2025-03-10) ==
=== Highlights ===

View File

@ -59,7 +59,7 @@ If your !FreedomBox is behind a router, you will need to set up port forwarding
* !FreedomBox provides a web client: [[FreedomBox/Manual/JSXC|JSXC]].
* [[https://xmpp.org/software/clients.html|XMPP clients]] are available for various desktop and mobile platforms. !FreedomBox links to the download sources of some of them. Feel free to include more [[https://wiki.debian.org/FreedomBox/Manual/ejabberd?action=edit&editor=text|here]] (needs free registration). We'll notice and might list them in !FreedomBox.
{{attachment:xmpp-clients_en_V01.png|XMPP clients}}
{{attachment:xmpp-clients_en_V02.png|XMPP clients}}
==== FreedomBox webclient ====

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -70,7 +70,8 @@ Normalmente cualquier sistema Unix, incluyendo a Linux en (casi) todos sus sabor
Ejemplos:
Conectar con !FreedomBox mediante SSH:
1. (reemplazando `usuario` por un nombre de usuario válido en !FreedomBox y `freedombox.local` por el nombre de dominio o la IP de tu !FreedomBox): {{{
1. (reemplazando `usuario` por un nombre de usuario válido en !FreedomBox y `freedombox.local` por el nombre de dominio o la IP de tu !FreedomBox):
{{{
$ ssh usuario@freedombox.local
}}}
1. Si tus datos son correctos y tu !FreedomBox está accesible la primera vez se te pedirá confirmar su identificación.
@ -79,15 +80,18 @@ $ ssh usuario@freedombox.local
1. El prompt cambia a `usuario@freedombox:~$`.
Una vez conectado crea la carpeta de tu sitio web mediante:
{{{
{{{
usuario@freedombox:~$ mkdir ~/public_html
}}}
...o crea la del sitio de otro usuario:
1. Usa el prefijo `sudo` así: {{{
1. Usa el prefijo `sudo` así:
{{{
usuario@freedombox:~$ sudo mkdir /home/<el_otro_usuario>/public_html
}}}, e introduce tu contraseña.
1. Al crear una carpeta, por defecto te pertenece a tí la crees donde la crées. Por tanto, necesitarás poner como dueño al otro usuario: {{{
}}}
e introduce tu contraseña.
1. Al crear una carpeta, por defecto te pertenece a tí la crees donde la crées. Por tanto, necesitarás poner como dueño al otro usuario:
{{{
usuario@freedombox:~$ sudo chown <el_otro_usuario>:<el_otro_usuario> /home/<el_otro_usuario>/public_htm
}}}
1. Antes de desconectar mejor verificas que `public_html' se muestra entre los contenidos de la carpeta `home` del otro usuario.
@ -96,19 +100,21 @@ usuario@freedombox:~$ ls -l /home/<el_otro_usuario>
...
drwxr-xr-x 2 <el_otro_usuario> <el_otro_usuario> 4096 jan 29 17:39 public_html
...
}}}. El nombre del otro usuario tiene que aparecer '''por duplicado''' en la línea de `public_html` y sus permisos deben ser '''`drwxr-xr-x`'''.
}}}
El nombre del otro usuario tiene que aparecer '''por duplicado''' en la línea de `public_html` y sus permisos deben ser '''`drwxr-xr-x`'''.
Ahora el otro usuario puede subir sus archivos con cualquiera de los clientes gráficos. Pídeles que lo comprueben.
Es una buena práctica de seguridad salir en vez de esperar simplemente a que la conexión caduque:
{{{
{{{
usuario@freedombox:~$ exit
}}}
Si quieres emplear la linea de órdenes también para subir contenido puedes
{{{
$ scp ruta/a/los/archivos usuario@freedombox.local:public_html/
}}}. Te pedirá tu contraseña en !FreedomBox. A continuación deberías poder ir con tu navegador a la URL correspondiente y ver tus archivos.
}}}
Te pedirá tu contraseña en !FreedomBox. A continuación deberías poder ir con tu navegador a la URL correspondiente y ver tus archivos.
Más acerca de ssh, scp y sftp con `$ man ssh`, `$ man scp` y `$ man sftp`.

View File

@ -8,6 +8,26 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
The following are the release notes for each !FreedomBox version.
== FreedomBox 25.6 (2025-03-25) ==
=== Highlight ===
* names: Store domains in kvstore instead of /etc/hosts
=== Other Changes ===
* container: Allow taking snapshots of VMs
* container: Don't remove qcow2 image when terminating VM
* doc: Fetch latest manual
* locale: Update translations for German
* operation: Drop type annotations on enum members
* setup: Fix a minor flake8 complaint
* SOGo: add dpkg-dev to the package list
* storage: tests: Fix a test failure for psutils >= 7.0
* syncthing: Extend setup process to recover from manual config errors
* tests: functional: Add enable-all-apps script
* upgrades: Run dpkg/apt fixes before dist upgrade
== FreedomBox 25.5 (2025-03-10) ==
=== Highlights ===

View File

@ -69,15 +69,9 @@ General:
* Toma una instantánea del sistema antes de empezar.
* Hay disponibles [[DebianUpgrade|instrucciones]] generales para actualizar la distributción Debian.
* Se sabe que algunos paquetes preguntan al usuario durante la actualización debido a cambios en los ficheros conf. Se recomienda no actualizar estos paquetes manualmente, sino permitir que !FreedomBox trate sus actualizaciones automaticamente. Nos referimos a los siguientes paquetes:
* bind9
* firewalld
* janus
* minetest-server
* minidlna
* mumble-server
* radicale
* roundcube-core
* tt-rss
## END_INCLUDE

View File

@ -57,7 +57,7 @@ Si tu !FreedomBox está detrás de un router tendrás que configurar en él la r
* !FreedomBox proporciona un cliente web: [[es/FreedomBox/Manual/JSXC|JSXC]].
* Hay [[https://xmpp.org/software/clients.html|clientes XMPP]] disponibles para varias plataformas de escritorio y móviles. !FreedomBox enlaza a las fuentes de descarga de algunos. Eres libre de incluir más [[https://wiki.debian.org/FreedomBox/Manual/ejabberd?action=edit&editor=text|aquí]] (requiere registro libre). Nosotros lo notaremos y quizá lo listemos en !FreedomBox.
{{attachment:FreedomBox/Manual/ejabberd/xmpp-clients_en_V01.png|clientes XMPP}}
{{attachment:FreedomBox/Manual/ejabberd/xmpp-clients_en_V02.png|clientes XMPP}}
==== Cliente Web de FreedomBox ====

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -3,4 +3,4 @@
Package init file.
"""
__version__ = '25.5'
__version__ = '25.6'

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2023-10-19 06:18+0000\n"
"Last-Translator: Shaik <arifashaik807@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/freedombox/"
@ -1785,13 +1785,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1812,7 +1812,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4266,7 +4266,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4275,19 +4275,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4304,19 +4304,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4325,11 +4325,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7263,7 +7263,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2020-06-10 15:41+0000\n"
"Last-Translator: aiman an <an1f3@hotmail.com>\n"
"Language-Team: Arabic (Saudi Arabia) <https://hosted.weblate.org/projects/"
@ -1788,13 +1788,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1815,7 +1815,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4287,7 +4287,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4296,19 +4296,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4325,19 +4325,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4346,11 +4346,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7290,7 +7290,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@ -1778,13 +1778,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1805,7 +1805,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4249,7 +4249,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4258,19 +4258,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4287,19 +4287,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4308,11 +4308,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7240,7 +7240,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-02-25 21:04+0000\n"
"Last-Translator: 109247019824 <109247019824@users.noreply.hosted.weblate."
"org>\n"
@ -1888,13 +1888,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Недопустимо име на домейн"
@ -1915,7 +1915,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Домейнът вече съществува."
@ -4449,7 +4449,7 @@ msgstr "Паролата за присъединяване е променена
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4462,19 +4462,19 @@ msgstr ""
"Pagekite. За всеки тип име е показано дали услугите HTTP, HTTPS и SSH са "
"разрешени или забранени за входящи връзки през даденото име."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Услуги за имена"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4491,19 +4491,19 @@ msgstr "Всички приложения за уеб"
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Име на хоста"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4515,11 +4515,11 @@ msgstr ""
"Трябва да започва и завършва с буква или цифра, но може да съдържа и тире. "
"Общата дължина не трябва да надхвърля 63 знака."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Недопустимо име на хост"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7603,7 +7603,7 @@ msgstr "Кореновата файлова система е достъпна
msgid "Go to Power"
msgstr "Към Захранване"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "Пакетът grub е настроен"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2021-06-16 07:33+0000\n"
"Last-Translator: Oymate <dhruboadittya96@gmail.com>\n"
"Language-Team: Bengali <https://hosted.weblate.org/projects/freedombox/"
@ -1800,13 +1800,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1827,7 +1827,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4303,7 +4303,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4312,19 +4312,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4341,19 +4341,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "হোস্ট নাম"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4362,11 +4362,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7306,7 +7306,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-02-27 05:06+0000\n"
"Last-Translator: Jiří Podhorecký <j.podhorecky@volny.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/"
@ -1940,13 +1940,13 @@ msgstr "Přijímat veškeré SSL certifikáty"
msgid "Use HTTP basic authentication"
msgstr "Použít základní HTTP ověřování"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Doménový název"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Neplatný doménový název"
@ -1967,7 +1967,7 @@ msgstr "Použijte IPv6 místo IPv4"
msgid "This field is required."
msgstr "Toto pole je povinné."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Doména již existuje."
@ -4767,7 +4767,7 @@ msgstr "Heslo pro připojení změněno"
msgid "Root channel name changed."
msgstr "Změna názvu kořenového kanálu."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4780,19 +4780,19 @@ msgstr ""
"typu jména je uvedeno, zda jsou služby HTTP, HTTPS a SSH pro příchozí "
"spojení přes dané jméno povoleny nebo zakázány."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Jmenné služby"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr "Doména (běžná)"
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "Balíček systemd-resolved je nainstalován"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "Vyřešit název domény: {domain}"
@ -4809,19 +4809,19 @@ msgstr "Všechny webové aplikace"
msgid "Secure Shell"
msgstr "Zabezpečený shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr "Použít DNS-over-TLS pro překlad domén (globální předvolba)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr "Použít DNSSEC při překladu domén (globální předvolba)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Název stroje"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4834,11 +4834,11 @@ msgstr ""
"písmeno nebo číslici a obsahoval pouze písmena, číslice a spojovníky. "
"Celková délka může být nejvýše 63 znaků."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Neplatný název stroje"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8199,7 +8199,7 @@ msgstr "Kořenový souborový systém pouze pro čtení"
msgid "Go to Power"
msgstr "Přejít na Síť"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "balíček grub je nakonfigurován"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/freedombox/"
@ -2032,13 +2032,13 @@ msgstr "Accepter alle SSL-certifikater"
msgid "Use HTTP basic authentication"
msgstr "Brug basal (\"basic\") HTTP-autentifikation"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domænenavn"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Ugyldigt domænenavn"
@ -2059,7 +2059,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "This service already exists"
msgid "Domain already exists."
@ -4943,7 +4943,7 @@ msgstr "Kodeord"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4952,19 +4952,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Navnetjenester"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4981,19 +4981,19 @@ msgstr ""
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Værtsnavn"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -5006,11 +5006,11 @@ msgstr ""
"derimellem må kun være bogstaver, tal og bindestreger. Den samlede længde "
"skal være 63 tegn eller derunder."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Ugyldigt værtsnavn"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8420,7 +8420,7 @@ msgstr "System"
msgid "Go to Power"
msgstr "Gå til Netværk"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"PO-Revision-Date: 2025-02-27 05:06+0000\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-03-12 15:57+0000\n"
"Last-Translator: Dietmar <sagen@permondes.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/freedombox/"
"freedombox/de/>\n"
@ -19,7 +19,7 @@ msgstr ""
"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.10.2-dev\n"
"X-Generator: Weblate 5.10.3-dev\n"
#: config.py:103
#, python-brace-format
@ -1908,9 +1908,9 @@ msgid ""
"used within the URL. For details see the update URL templates of the example "
"providers."
msgstr ""
"Die Variablen &lt;Benutzer&gt;, &lt;Pass&gt;, &lt;IP&gt;, &lt;Domain&gt; "
"können in der URL verwendet werden. Details finden Sie in den Update-URL-"
"Vorlagen der Beispielanbieter."
"Die Variablen &lt;User&gt;, &lt;Pass&gt;, &lt;Ip&gt;, &lt;Domain&gt; können "
"in der URL verwendet werden. Details finden Sie in den Update-URL-Vorlagen "
"der Beispielanbieter."
#: modules/dynamicdns/forms.py:24
msgid ""
@ -1992,13 +1992,13 @@ msgstr "Alle SSL-Zertifikate akzeptieren"
msgid "Use HTTP basic authentication"
msgstr "HTTP-Basisauthentifizierung verwenden"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domain-Name"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Ungültiger Domain-Name"
@ -2019,7 +2019,7 @@ msgstr "Verwenden Sie IPv6 statt IPv4"
msgid "This field is required."
msgstr "Dieses Feld ist erforderlich."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Domain existiert bereits."
@ -4884,7 +4884,7 @@ msgstr "Beitrittspasswort geändert"
msgid "Root channel name changed."
msgstr "Name des Hauptkanals geändert."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4897,19 +4897,19 @@ msgstr ""
"jeden Namens-Typ wird angezeigt, ob die HTTP-, HTTPS- und SSH-Dienste für "
"eingehende Verbindungen eingeschaltet oder ausgeschaltet ist."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Namen-Dienste"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
msgstr "Domäne (regulär)"
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "Paket systemd-resolved ist installiert"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "Domainname auflösen: {domain}"
@ -4926,20 +4926,20 @@ msgstr "Alle Webanwendungen"
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
"DNS-over-TLS für die Auflösung von Domänen verwenden (globale Präferenz)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr "DNSSEC bei der Auflösung von Domains verwenden (globale Einstellung)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Hostname"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4952,11 +4952,11 @@ msgstr ""
"darf als einziges Sonderzeichen das Minuszeichen enthalten. Die Gesamtlänge "
"darf 63 Zeichen nicht überschreiten."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Ungültiger Hostname"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8382,7 +8382,7 @@ msgstr "Schreibgeschütztes Root-Dateisystem"
msgid "Go to Power"
msgstr "Springe zur Stromversorgung"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "grub-Paket ist konfiguriert"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -1779,13 +1779,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1806,7 +1806,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4250,7 +4250,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4259,19 +4259,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4288,19 +4288,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4309,11 +4309,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7241,7 +7241,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/freedombox/"
@ -2077,13 +2077,13 @@ msgstr "Αποδοχή όλων των πιστοποιητικών SSL"
msgid "Use HTTP basic authentication"
msgstr "Χρήση βασικού ελέγχου ταυτότητας HTTP"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Μη έγκυρο όνομα διαδικτύου"
@ -2104,7 +2104,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Domain already exists."
@ -5058,7 +5058,7 @@ msgstr "Ο κωδικός πρόσβασης ρυθμίστηκε"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -5072,19 +5072,19 @@ msgstr ""
"αν οι υπηρεσίες HTTP, HTTPS και SSH είναι ενεργοποιημένες ή "
"απενεργοποιημένες για εισερχόμενες συνδέσεις μέσω του συγκεκριμένου ονόματος."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Υπηρεσίες ονομάτων"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -5101,19 +5101,19 @@ msgstr "Όλες οι εφαρμογές ιστού"
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Όνομα υπολογιστή"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -5127,11 +5127,11 @@ msgstr ""
"εσωτερικούς χαρακτήρες μόνο ψηφία της αλφαβήτου, νούμερα και παύλες. Το "
"συνολικό μήκος πρέπει να είναι 63 χαρακτήρες ή λιγότεροι."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Μη έγκυρο όνομα υπολογιστή"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8636,7 +8636,7 @@ msgstr ""
msgid "Go to Power"
msgstr "Ισχύς"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2024-11-01 17:00+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/freedombox/"
@ -1999,13 +1999,13 @@ msgstr "Aceptar todos los certificados SSL"
msgid "Use HTTP basic authentication"
msgstr "Usar autenticación básica de HTTP"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nombre de dominio"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nombre de dominio no válido"
@ -2026,7 +2026,7 @@ msgstr "Use IPv6 en vez de IPv4"
msgid "This field is required."
msgstr "Este es un campo obligatorio."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Content package already exists."
msgid "Domain already exists."
@ -4915,7 +4915,7 @@ msgstr "Contraseña de acceso actualizada"
msgid "Root channel name changed."
msgstr "Canal principal renombrado."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4928,19 +4928,19 @@ msgstr ""
"servicio de Tor onion. Para cada tipo de nombre se muestra si los servicios "
"HTTP, HTTPS y SSH están activos o no para las conexiones entrantes."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Servicios de nombres"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "Paquete systemd-resolved está instalado"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "Resolver nombre de dominio: {domain}"
@ -4957,19 +4957,19 @@ msgstr "Todas las apps web"
msgid "Secure Shell"
msgstr "Intérprete de órdenes seguro"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr "Utilizar DNS sobre TLS para resolver dominios (preferencia global)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr "Utilizar DNSSEC al resolver dominios (preferencia global)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Nombre de anfitrión"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4982,11 +4982,11 @@ msgstr ""
"número y solo puede contener letras, números y guiones. Su longitud puede "
"ser de hasta 63 caracteres."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Nombre de anfitrión no válido"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8434,7 +8434,7 @@ msgstr "Sistema de archivos raíz de sólo lectura"
msgid "Go to Power"
msgstr "Ir a la energía"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "el paquete grub está configurado"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/freedombox/"
@ -2019,13 +2019,13 @@ msgstr "همهٔ گواهی‌نامه‌های SSL را بپذیر"
msgid "Use HTTP basic authentication"
msgstr "به‌کاربردن تأیید هویت سادهٔ تحت وب"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "نام دامنه معتبر نیست"
@ -2046,7 +2046,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "No wikis or blogs available."
msgid "Domain already exists."
@ -4791,7 +4791,7 @@ msgstr "رمز"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4800,19 +4800,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "سرویس نام‌ها"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4829,20 +4829,20 @@ msgstr ""
msgid "Secure Shell"
msgstr "پوستهٔ ایمن"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
#, fuzzy
msgid "Hostname"
msgstr "نام میزبان (hostname)"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4855,11 +4855,11 @@ msgstr ""
"نویسه‌های میانی‌اش هم تنها از حرف، رقم، یا خط تیره تشکیل شده باشد. بلندی نام "
"باید ۶۳ نویسه یا کمتر باشد."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "نام میزبان معتبر نیست"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8053,7 +8053,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2016-01-31 22:24+0530\n"
"Last-Translator: Sunil Mohan Adapa <sunil@medhas.org>\n"
"Language-Team: Plinth Developers <freedombox-discuss@lists.alioth.debian."
@ -2105,13 +2105,13 @@ msgstr "ACCEPT ALL SSL CERTIFICATES"
msgid "Use HTTP basic authentication"
msgstr "USE HTTP BASIC AUTHENTICATION"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "DOMAIN NAME"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "INVALID DOMAIN NAME"
@ -2132,7 +2132,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "This service already exists"
msgid "Domain already exists."
@ -4979,7 +4979,7 @@ msgstr "PASSWORD"
msgid "Root channel name changed."
msgstr "DOMAIN NAME IS UNCHANGED"
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4988,19 +4988,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "NAME SERVICES"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -5019,19 +5019,19 @@ msgstr ""
msgid "Secure Shell"
msgstr "SECURE SHELL (SSH)"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "HOSTNAME"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -5044,11 +5044,11 @@ msgstr ""
"AND HAVE AS INTERIOR CHARACTERS ONLY ALPHABETS, DIGITS AND HYPHENS. TOTAL "
"LENGTH MUST BE 63 CHARACTERS OR LESS."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "INVALID HOSTNAME"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8459,7 +8459,7 @@ msgstr "SYSTEM"
msgid "Go to Power"
msgstr "GO TO NETWORKS"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-01-05 16:52+0000\n"
"Last-Translator: Coucouf <coucouf@coucouf.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
@ -1990,13 +1990,13 @@ msgstr "Accepter tous les certificats SSL"
msgid "Use HTTP basic authentication"
msgstr "Utiliser lauthentification HTTP basique"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nom de domaine"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nom de domaine invalide"
@ -2017,7 +2017,7 @@ msgstr "Utiliser IPv6 au lieu dIPv4"
msgid "This field is required."
msgstr "Ce champ est requis."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Content package already exists."
msgid "Domain already exists."
@ -4889,7 +4889,7 @@ msgstr "Mot de passe pour rejoindre modifié"
msgid "Root channel name changed."
msgstr "Nom du canal racine modifié."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4903,19 +4903,19 @@ msgstr ""
"les services HTTP, HTTPS et SSH sont activés ou pas pour les connexions "
"entrantes via le nom en question."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Services de nommage"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "Le paquet systemd-resolved est installé"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "Résoudre le nom de domaine : {domain}"
@ -4932,20 +4932,20 @@ msgstr "Toutes les applications web"
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr "Utiliser DNS-sur-TLS pour résoudre les domaines (préférence globale)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
"Utiliser DNSSEC lors de la résolution des domaines (préférence globale)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Nom de machine"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4959,11 +4959,11 @@ msgstr ""
"lettres de lalphabet, des chiffres ou des traits dunion « - ». Sa longueur "
"maximum est de 63 signes."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Nom de machine invalide"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8403,7 +8403,7 @@ msgstr "Système de fichiers racine en lecture seule"
msgid "Go to Power"
msgstr "Aller à l'alimentation"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "Le paquet grub est configuré"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-12-30 10:51+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Galician <https://hosted.weblate.org/projects/freedombox/"
@ -1793,13 +1793,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1820,7 +1820,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4282,7 +4282,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4291,19 +4291,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4320,19 +4320,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4341,11 +4341,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7291,7 +7291,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2021-01-18 12:32+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Gujarati <https://hosted.weblate.org/projects/freedombox/"
@ -1946,13 +1946,13 @@ msgstr "બધા SSL પ્રમાણપત્રો સ્વીકારો
msgid "Use HTTP basic authentication"
msgstr "HTTP મૂળભૂત પ્રમાણીકરણનો ઉપયોગ કરો"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "અમાન્ય ક્ષેત્રીય નામ"
@ -1973,7 +1973,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Domain name set"
msgid "Domain already exists."
@ -4593,7 +4593,7 @@ msgstr "પાસવર્ડ"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4602,19 +4602,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4631,19 +4631,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "હોસ્ટનું નામ"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4656,11 +4656,11 @@ msgstr ""
"માત્ર મૂળાક્ષરો, આંકડા અને હાયફન હોવા જોઈએ.…તેની કુલ લંબાઈ ૬૩ અક્ષરો કે તેથી ઓછી હોવી "
"જોઈએ."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "અમાન્ય હોસ્ટનું નામ"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7673,7 +7673,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2023-10-19 06:30+0000\n"
"Last-Translator: Shaik <arifashaik807@gmail.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/freedombox/"
@ -2062,13 +2062,13 @@ msgstr "सब एसएसएल सिटिफ़िकट स्वीकर
msgid "Use HTTP basic authentication"
msgstr "एचटिटिपि बेसिकॅ प्रमाणीकरण उपयोग करें"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "अमान्य डोमेन नाम"
@ -2089,7 +2089,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Domain already exists."
@ -4965,7 +4965,7 @@ msgstr "अपलोड पासवर्ड अद्यतन किया
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4974,19 +4974,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "नाम सरविस"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -5003,19 +5003,19 @@ msgstr ""
msgid "Secure Shell"
msgstr "सुरक्षित शेल"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "होस्टनाम"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -5027,11 +5027,11 @@ msgstr ""
"मिल सकते हैं । होस्ट नाम आल्फ़बेट या एक संख्या से शुरु और अंत करना पड़ता है आैर इसमे सिर्फ "
"आल्फ़बेट,संख्या आैर हैफ़ेन होना पड़ता है. कुल अक्षर का लंबाई ६३ या कम होनी पड़ती है।"
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "अमान्य होस्टनाम"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8451,7 +8451,7 @@ msgstr "फ़ाइलसिस्टम"
msgid "Go to Power"
msgstr "पावर"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-10-24 18:39+0000\n"
"Last-Translator: Sunil Mohan Adapa <sunil@medhas.org>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/freedombox/"
@ -2032,13 +2032,13 @@ msgstr "Minden SSL-tanúsítvány elfogadása"
msgid "Use HTTP basic authentication"
msgstr "HTTP alap hitelesítés használata"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domainnév"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Érvénytelen domainnév"
@ -2059,7 +2059,7 @@ msgstr "IPv6 használata IPv4 helyett"
msgid "This field is required."
msgstr "Ezt a mezőt ki kell tölteni."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Client with public key already exists"
msgid "Domain already exists."
@ -4992,7 +4992,7 @@ msgstr "A csatlakozáshoz szükséges jelszó megváltoztatva"
msgid "Root channel name changed."
msgstr "A szerver fő csatornájának neve megváltoztatva."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -5006,19 +5006,19 @@ msgstr ""
"engedélyezettek vagy tiltottak-e az adott néven keresztül bejövő kapcsolatok "
"számára."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Névszolgáltatások"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -5035,19 +5035,19 @@ msgstr "Összes webalkalmazás"
msgid "Secure Shell"
msgstr "Secure Shell (Biztonságos parancsértelmező)"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Állomásnév"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -5060,11 +5060,11 @@ msgstr ""
"végződnie, továbbá csak betűket, számokat és kötőjeleket tartalmazhat. "
"Teljes hossza nem lehet több 63 karakternél."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Érvénytelen állomásnév"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8573,7 +8573,7 @@ msgstr "Gyökérfájlrendszer"
msgid "Go to Power"
msgstr "Leállítás"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Indonesian (FreedomBox)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/freedombox/"
@ -2023,13 +2023,13 @@ msgstr "Terima semua sertifikat SSL"
msgid "Use HTTP basic authentication"
msgstr "Gunakan autentikasi dasar HTTP"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nama domain"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nama Domain Tidak Valid"
@ -2050,7 +2050,7 @@ msgstr "Gunakan IPv6 bukan IPv4"
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -4853,7 +4853,7 @@ msgstr "Kata Sandi"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4862,19 +4862,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Nama Layanan"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4891,19 +4891,19 @@ msgstr "Semua aplikasi web"
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Hostname"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4916,11 +4916,11 @@ msgstr ""
"digit dan memiliki huruf interior saja huruf, digit dan tanda hubung. Total "
"panjang harus 63 karakter atau kurang."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Nama host tidak valid"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7999,7 +7999,7 @@ msgstr ""
msgid "Go to Power"
msgstr "Nyalakan"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/freedombox/"
@ -1988,13 +1988,13 @@ msgstr "Accetta tutti i certificati SSL"
msgid "Use HTTP basic authentication"
msgstr "Usa l'autenticazione HTTP base"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nome dominio"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nome dominio non valido"
@ -2015,7 +2015,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Client with public key already exists"
msgid "Domain already exists."
@ -4874,7 +4874,7 @@ msgstr "Password upload aggiornata"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4883,19 +4883,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Name Services"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4912,19 +4912,19 @@ msgstr ""
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Hostname"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4938,12 +4938,12 @@ msgstr ""
"lettere dell'alfabeto, cifre e trattini. La lunghezza totale non deve essere "
"superiore a 63 caratteri."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
#, fuzzy
msgid "Invalid hostname"
msgstr "Hostname non valido"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8121,7 +8121,7 @@ msgstr ""
msgid "Go to Power"
msgstr "Alimentazione"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2023-05-07 23:50+0000\n"
"Last-Translator: Nobuhiro Iwamatsu <iwamatsu@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/freedombox/"
@ -1783,13 +1783,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1810,7 +1810,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4254,7 +4254,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4263,19 +4263,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4292,19 +4292,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4313,11 +4313,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7245,7 +7245,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2020-07-16 16:41+0000\n"
"Last-Translator: Yogesh <yogesh@karnatakaeducation.org.in>\n"
"Language-Team: Kannada <https://hosted.weblate.org/projects/freedombox/"
@ -1781,13 +1781,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1808,7 +1808,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4252,7 +4252,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4261,19 +4261,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4290,19 +4290,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4311,11 +4311,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7245,7 +7245,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Lithuanian <https://hosted.weblate.org/projects/freedombox/"
@ -1787,13 +1787,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1814,7 +1814,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4270,7 +4270,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4279,19 +4279,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4308,19 +4308,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4329,11 +4329,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7267,7 +7267,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Latvian <https://hosted.weblate.org/projects/freedombox/"
@ -1786,13 +1786,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1813,7 +1813,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4269,7 +4269,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4278,19 +4278,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4307,19 +4307,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4328,11 +4328,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7266,7 +7266,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2024-10-27 23:30+0000\n"
"Last-Translator: Sunil Mohan Adapa <sunil@medhas.org>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
@ -2029,13 +2029,13 @@ msgstr "Godta alle SSL-sertifikater"
msgid "Use HTTP basic authentication"
msgstr "Bruk HTTP-basisgodkjenning"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domenenavn"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Ugyldig domenenavn"
@ -2056,7 +2056,7 @@ msgstr "Bruk IPv6 istedenfor IPv4"
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Client with public key already exists"
msgid "Domain already exists."
@ -4988,7 +4988,7 @@ msgstr "Oppdaterte opplastingspassord"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, fuzzy, python-brace-format
#| msgid ""
#| "Name Services provides an overview of the ways {box_name} can be reached "
@ -5007,19 +5007,19 @@ msgstr ""
"vises det om HTTP, HTTPS, og SSH-tjenester er på- eller avskrudd for "
"innkommende tilkoblinger gjennom gitt navn."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Navnetjenester"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -5036,19 +5036,19 @@ msgstr "Alle nettprogrammer"
msgid "Secure Shell"
msgstr "Secure Shell (SSH)"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Vertsnavn"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -5061,11 +5061,11 @@ msgstr ""
"eller et tall, og inneholde bokstaver tall eller bindrestreker. Lengden må "
"være 63 tegn eller mindre."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Ugyldig vertsnavn"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8528,7 +8528,7 @@ msgstr "Rotfilsystem"
msgid "Go to Power"
msgstr "Gå til nettverk"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-02-07 12:01+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/freedombox/"
@ -1965,13 +1965,13 @@ msgstr "Accepteer alle SSL certificaten"
msgid "Use HTTP basic authentication"
msgstr "Gebruik HTTP-basisverificatie"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domeinnaam"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Foutieve domeinnaam"
@ -1992,7 +1992,7 @@ msgstr "Gebruik IPv6 in plaats van IPv4"
msgid "This field is required."
msgstr "Dit veld is vereist."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Content package already exists."
msgid "Domain already exists."
@ -4779,7 +4779,7 @@ msgstr "Deelnamewachtwoord gewijzigd"
msgid "Root channel name changed."
msgstr "De naam van het hoofdkanaal is gewijzigd."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4793,19 +4793,19 @@ msgstr ""
"services zijn ingeschakeld of uitgeschakeld voor binnenkomende verbindingen "
"via de opgegeven naam."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Domeindiensten"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4822,19 +4822,19 @@ msgstr "Alle webtoepassingen"
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Hostnaam"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4847,11 +4847,11 @@ msgstr ""
"cijfer, er tussenin mogen ook koppeltekens gezet worden. De totale lengte "
"mag niet langer zijn dan 63 tekens."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Foutieve hostnaam"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8230,7 +8230,7 @@ msgstr "Alleen-lezen bestandssysteem"
msgid "Go to Power"
msgstr "Ga naar Power"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "grub pakket is ingesteld"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2024-07-13 12:09+0000\n"
"Last-Translator: Monika <adamdomenek@protonmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/freedombox/"
@ -2014,13 +2014,13 @@ msgstr "Akceptuj wszystkie certyfikaty SSL"
msgid "Use HTTP basic authentication"
msgstr "Użyj podstawowej autentyfikacji HTTP"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nazwa domeny"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Niewłaściwa nazwa domeny"
@ -2041,7 +2041,7 @@ msgstr "Użyj IPv6 zamiast IPv4"
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -4786,7 +4786,7 @@ msgstr "Zmieniono hasło do przesyłania"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4795,19 +4795,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4824,19 +4824,19 @@ msgstr "Wszystkie aplikacje sieciowe"
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Nazwa hosta"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4848,11 +4848,11 @@ msgstr ""
"twój {box_name}. Musi zaczynać się i kończyć literą albo cyfrą i zawierać "
"tylko litery, cyfry i myślnik. Maksymalna długość to 63 znaki."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Niewłaściwa nazwa hosta"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7955,7 +7955,7 @@ msgstr ""
msgid "Go to Power"
msgstr "Zasilanie"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2023-05-22 15:50+0000\n"
"Last-Translator: Frederico Gomes <fefekrzr@gmail.com>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/freedombox/"
@ -1952,13 +1952,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nome de Domínio"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nome de domínio inválido"
@ -1979,7 +1979,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -4646,7 +4646,7 @@ msgstr "Palavra-passe de envio atualizada"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4655,19 +4655,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4684,19 +4684,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Nome do anfitrião"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4709,11 +4709,11 @@ msgstr ""
"letra ou um dígito e ter como carateres interiores apenas letras, dígitos e "
"hífenes. O comprimento deve ser de 63 carateres ou inferior."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Nome de hospedeiro inválido"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7786,7 +7786,7 @@ msgstr "Sistema de Ficheiros Raiz"
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-01-14 01:32+0000\n"
"Last-Translator: gfbdrgng <hnaofegnp@hldrive.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/freedombox/"
@ -1969,13 +1969,13 @@ msgstr "Принимать все SSL-сертификаты"
msgid "Use HTTP basic authentication"
msgstr "Использовать базовую аутентификацию HTTP"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Недопустимое имя домена"
@ -1996,7 +1996,7 @@ msgstr "Использовать IPv6 вместо IPv4"
msgid "This field is required."
msgstr "Это поле обязательно."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Content package already exists."
msgid "Domain already exists."
@ -4843,7 +4843,7 @@ msgstr "Пароль для подключения обновлён"
msgid "Root channel name changed."
msgstr "Имя корневого канала изменено."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4856,19 +4856,19 @@ msgstr ""
"каждого типа имени отображается, включены или отключены службы HTTP, HTTPS и "
"SSH для входящих подключений через данное имя."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Службы имён"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "Пакет systemd-resolved установлен"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "Разрешить доменное имя: {domain}"
@ -4885,20 +4885,20 @@ msgstr "Все веб-приложения"
msgid "Secure Shell"
msgstr "Sеcure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
"Использовать DNS-over-TLS для разрешения доменов (глобальное предпочтение)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr "Использовать DNSSEC при разрешении доменов (глобальное предпочтение)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Имя хоста"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4911,11 +4911,11 @@ msgstr ""
"букв или цифр, внутри так же могут быть цифры, буквы или дефисы. Общая "
"длинна должна быть не более 63 символов."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Недопустимое имя хоста"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8308,7 +8308,7 @@ msgstr "Корневая файловая система, доступная т
msgid "Go to Power"
msgstr "Перейти к питанию"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "Пакет grub сконфигурирован"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2021-04-27 13:32+0000\n"
"Last-Translator: HelaBasa <R45XvezA@protonmail.ch>\n"
"Language-Team: Sinhala <https://hosted.weblate.org/projects/freedombox/"
@ -1781,13 +1781,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1808,7 +1808,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -4252,7 +4252,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4261,19 +4261,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4290,19 +4290,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4311,11 +4311,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7243,7 +7243,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Slovenian <https://hosted.weblate.org/projects/freedombox/"
@ -1957,13 +1957,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Ime domene"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Neveljavno ime domene"
@ -1984,7 +1984,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Create remote backup repository"
msgid "Domain already exists."
@ -4555,7 +4555,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4564,19 +4564,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4593,19 +4593,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Ime gostitelja"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4618,11 +4618,11 @@ msgstr ""
"črko ali številko in je lahko sestavljeno iz črk, številk in vezajev. "
"Skupna dolžina ne sme presegati 63 znakov."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Neveljavno ime gostitelja"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7635,7 +7635,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-02-25 09:20+0000\n"
"Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
"Language-Team: Albanian <https://hosted.weblate.org/projects/freedombox/"
@ -1962,13 +1962,13 @@ msgstr "Prano krejt dëshmitë SSL"
msgid "Use HTTP basic authentication"
msgstr "Përdor mirëfilltësim elementar HTTP"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Emër Përkatësie"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Emër i pavlefshëm përkatësie"
@ -1989,7 +1989,7 @@ msgstr "Përdor IPv6, në vend se IPv4"
msgid "This field is required."
msgstr "Kjo fushë është e domosdoshme."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Përkatësia ekziston tashmë."
@ -4823,7 +4823,7 @@ msgstr "Fjalëkalimi i ardhjes u ndryshua"
msgid "Root channel name changed."
msgstr "Emri i kanalit rrënjë ndryshoi."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4837,19 +4837,19 @@ msgstr ""
"HTTPS, dhe SSH janë të aktivizuara apo të çaktivizuara për lidhje ardhëse "
"përmes emrit të dhënë."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Shërbime Emrash"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr "Përkatësi (e rregullt)"
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "Paketa systemd-resolved është instaluar"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "Ftillo emër përkatësie: {domain}"
@ -4866,19 +4866,19 @@ msgstr "Krejt aplikacionet web"
msgid "Secure Shell"
msgstr "Shell i Sigurt"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr "Përdor DNS-over-TLS për ftillim përkatësish (parapëlqim global)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr "Përdor DNSSEC, kur bëhet ftillim përkatësish (parapëlqim global)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Strehëemër"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4892,11 +4892,11 @@ msgstr ""
"alfabeti, shifra dhe vija ndarëse në mes. Gjatësi gjithsej duhet të jetë 63 "
"ose më pak shenja."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Strehëemër i pavlefshëm"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8284,7 +8284,7 @@ msgstr "Sistem kartelash rrënjë vetëm-për-lexim"
msgid "Go to Power"
msgstr "Kalo te Energjia"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "paketa grub është e formësuar"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Serbian <https://hosted.weblate.org/projects/freedombox/"
@ -1894,13 +1894,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
@ -1921,7 +1921,7 @@ msgstr ""
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -4456,7 +4456,7 @@ msgstr ""
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4465,19 +4465,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4494,19 +4494,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr ""
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4515,11 +4515,11 @@ msgid ""
"length must be 63 characters or less."
msgstr ""
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr ""
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7512,7 +7512,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2024-07-30 01:31+0000\n"
"Last-Translator: bittin1ddc447d824349b2 <bittin@reimu.nl>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/freedombox/"
@ -1993,13 +1993,13 @@ msgstr "Acceptera alla SSL-certifikat"
msgid "Use HTTP basic authentication"
msgstr "Använd grundläggande HTTP-autentisering"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domännamn"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Ogiltigt domännamn"
@ -2020,7 +2020,7 @@ msgstr "Använda IPv6 i stället för IPv4"
msgid "This field is required."
msgstr "Detta fält krävs."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Content package added."
msgid "Domain already exists."
@ -4935,7 +4935,7 @@ msgstr "Lösenordet för anslutning har ändrats"
msgid "Root channel name changed."
msgstr "Namnet på rotkanalen har ändrats."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4948,19 +4948,19 @@ msgstr ""
"typ av namn visas om HTTP-, HTTPS-och SSH-tjänsterna är aktiverade eller "
"inaktiverade för inkommande anslutningar via det angivna namnet."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Namntjänster"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4977,19 +4977,19 @@ msgstr "Alla webbappar"
msgid "Secure Shell"
msgstr "Secure Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Värdnamn"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -5002,11 +5002,11 @@ msgstr ""
"bindestreck, men får inte börja eller sluta med bindestreck. Värdnamn får "
"vara max 63 tecken."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Ogiltigt värdnamn"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8462,7 +8462,7 @@ msgstr "Läs-endast root filsystem"
msgid "Go to Power"
msgstr "Gå till Ström"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2024-12-27 01:03+0000\n"
"Last-Translator: James Valleroy <jvalleroy@mailbox.org>\n"
"Language-Team: Tamil <https://hosted.weblate.org/projects/freedombox/"
@ -1965,13 +1965,13 @@ msgstr "அனைத்து எச்எச்எல் சான்றித
msgid "Use HTTP basic authentication"
msgstr "HTTP அடிப்படை அங்கீகாரத்தைப் பயன்படுத்தவும்"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "தவறான டொமைன் பெயர்"
@ -1992,7 +1992,7 @@ msgstr "IPv4 க்கு பதிலாக IPv6 ஐப் பயன்பட
msgid "This field is required."
msgstr "இந்த புலம் தேவை."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Content package already exists."
msgid "Domain already exists."
@ -4791,7 +4791,7 @@ msgstr "கடவுச்சொல் மாற்றப்பட்டது"
msgid "Root channel name changed."
msgstr "ரூட் சேனல் பெயர் மாற்றப்பட்டது."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4805,19 +4805,19 @@ msgstr ""
"பாஓடு சேவைகள் இயக்கப்பட்டதா அல்லது முடக்கப்பட்டுள்ளதா அல்லது முடக்கப்பட்டுள்ளதா என்பது "
"காட்டப்பட்டுள்ளது."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "பெயர் சேவைகள்"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "தொகுப்பு systemd- தீர்க்கப்பட்ட நிறுவப்பட்டுள்ளது"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "டொமைன் பெயரைத் தீர்க்கவும்: {domain}"
@ -4834,19 +4834,19 @@ msgstr "அனைத்து வலை பயன்பாடுகளும்"
msgid "Secure Shell"
msgstr "பாதுகாப்பான செல்"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr "களங்களைத் தீர்ப்பதற்கு DNS-OVER-TLS ஐப் பயன்படுத்தவும் (உலகளாவிய விருப்பம்)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr "களங்களைத் தீர்க்கும்போது DNSSEC ஐப் பயன்படுத்தவும் (உலகளாவிய விருப்பம்)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "புரவலன்பெயர்"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4859,11 +4859,11 @@ msgstr ""
"உள்துறை எழுத்துக்களாக எழுத்துக்கள், இலக்கங்கள் மற்றும் ஐபன்கள் மட்டுமே இருக்க வேண்டும். மொத்த "
"நீளம் 63 எழுத்துக்கள் அல்லது அதற்கும் குறைவாக இருக்க வேண்டும்."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "தவறான ஓச்ட்பெயர்"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8208,7 +8208,7 @@ msgstr "படிக்க மட்டும் ரூட் கோப்பு
msgid "Go to Power"
msgstr "அதிகாரத்திற்குச் செல்லுங்கள்"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "க்ரப் தொகுப்பு கட்டமைக்கப்பட்டுள்ளது"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-02-22 10:04+0000\n"
"Last-Translator: sai <phanindragvs2002@gmail.com>\n"
"Language-Team: Telugu <https://hosted.weblate.org/projects/freedombox/"
@ -1956,13 +1956,13 @@ msgstr "అన్ని ఎస్.ఎస్.ఎల్ సర్టిఫిక
msgid "Use HTTP basic authentication"
msgstr "HTTP ప్రాథమిక ప్రమాణీకరణ ఉపయోగించు"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "డొమైన్ పేరు చెల్లదు"
@ -1983,7 +1983,7 @@ msgstr "ఇప్ప్4 బదులు ఇప్ప్6 వినియోగ
msgid "This field is required."
msgstr "ఇది అవసరమేయిన్న క్షేత్రం."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Content package added."
msgid "Domain already exists."
@ -4821,7 +4821,7 @@ msgstr "అప్లోడ్ చేయడం కోసమై కేటాయి
msgid "Root channel name changed."
msgstr "రూట్ ఛానెల్ పేరు మార్చబడింది."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4833,19 +4833,19 @@ msgstr ""
"పేరు, టోర్ ఉల్లిపాయ సేవ మరియు పేజ్‌కైట్. ప్రతి రకమైన పేరు కోసం, ఇచ్చిన పేరు ద్వారా ఇన్‌కమింగ్ కనెక్షన్‌ల కోసం "
"HTTP, HTTPS మరియు SSH సేవలు ప్రారంభించబడినా లేదా నిలిపివేయబడినా చూపబడుతుంది."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "పేరు సేవలు"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4862,19 +4862,19 @@ msgstr "అన్నీ వెబ్ యాప్‌లు"
msgid "Secure Shell"
msgstr "సెక్యూర్ షెల్"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "అతిథ్యనామం"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4886,11 +4886,11 @@ msgstr ""
"ఇవ్వబడే పేరు. ఆది అక్షరంతో మొదలై అక్షారంతో ముగింపబడలి. ఆ మధ్యలో అంకెలు కానీ అక్షరాలు కానీ హైఫెన్(-) "
"మాత్రమే ఉండాలి. మొత్తం 63 అక్షరాలు లేదా అంత కన్నా తక్కువ ఉండవలెను."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "ఆతిథ్యనామం చెల్లనిది"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8281,7 +8281,7 @@ msgstr "వ్యవస్థ"
msgid "Go to Power"
msgstr "అల్లిక వైపు వెళ్ళండి"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-02-25 06:15+0000\n"
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/freedombox/"
@ -1944,13 +1944,13 @@ msgstr "Tüm SSL sertifikalarını kabul et"
msgid "Use HTTP basic authentication"
msgstr "HTTP temel kimlik doğrulamasını kullan"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Etki Alanı Adı"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Geçersiz etki alanı adı"
@ -1971,7 +1971,7 @@ msgstr "IPv4 yerine IPv6 kullan"
msgid "This field is required."
msgstr "Bu alan gereklidir."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Etki alanı zaten var."
@ -4791,7 +4791,7 @@ msgstr "Katılma parolası değiştirildi"
msgid "Root channel name changed."
msgstr "Kök kanal adı değişti."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4805,19 +4805,19 @@ msgstr ""
"aracılığıyla gelen bağlantılar için etkinleştirildiği mi yoksa "
"etkisizleştirildiği mi gösterilir."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Ad Hizmetleri"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr "Etki alanı (sıradan)"
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "systemd-resolved paketi yüklendi"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "Etki alanı adını çözümle: {domain}"
@ -4834,20 +4834,20 @@ msgstr "Tüm web uygulamaları"
msgid "Secure Shell"
msgstr "Güvenli Kabuk"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
"Etki alanlarını çözümlemek için TLS üzerinden DNS kullan (genel tercih)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr "Etki alanlarını çözümlerken DNSSEC'yi kullan (genel tercih)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Anamakine Adı"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4860,11 +4860,11 @@ msgstr ""
"zorundadır ve iç karakter olarak sadece harf, rakam ve kısa çizgi "
"içermelidir. Toplam uzunluk 63 karakter veya daha az olmak zorundadır."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Geçersiz anamakine adı"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8236,7 +8236,7 @@ msgstr "Salt okunur kök dosya sistemi"
msgid "Go to Power"
msgstr "Güce Git"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "grub paketi yapılandırıldı"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-03-11 00:06+0000\n"
"Last-Translator: Максим Горпиніч <maksimgorpinic2005a@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/freedombox/"
@ -1954,13 +1954,13 @@ msgstr "Приймати всі SSL-сертифікати"
msgid "Use HTTP basic authentication"
msgstr "Використовувати основну автентифікацію HTTP"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Неправильна доменна назва"
@ -1981,7 +1981,7 @@ msgstr "Використовувати IPv6 замість IPv4"
msgid "This field is required."
msgstr "Це поле обовʼязкове."
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Домен вже існує."
@ -4796,7 +4796,7 @@ msgstr "Долучення пароля змінено"
msgid "Root channel name changed."
msgstr "Змінено назву кореневого каналу."
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4809,19 +4809,19 @@ msgstr ""
"кожного типу імені показано, чи ввімкнено чи вимкнено служби HTTP, HTTPS і "
"SSH для вхідних з’єднань через задане ім’я."
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "Назва сервісів"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr "Домен (звичайний)"
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr "Встановлено пакет systemd-resolved"
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr "Розпізнати доменне ім’я: {domain}"
@ -4838,21 +4838,21 @@ msgstr "Усі вебзастосунки"
msgid "Secure Shell"
msgstr "Захищена оболонка"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
"Використовуйте DNS-over-TLS для визначення доменів (глобальні переваги)"
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
"Використовуйте DNSSEC під час визначення доменів (глобальне налаштування)"
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Назва компʼютера"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4866,11 +4866,11 @@ msgstr ""
"символи алфавіту, цифри чи дефіси. Загальна довжина не повинна перевищувати "
"63 знаки."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Некоректна назва компʼютера"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -8238,7 +8238,7 @@ msgstr "Коренева файлова система лише для чита
msgid "Go to Power"
msgstr "Перейти до живлення"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr "пакет grub налаштовано"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2021-07-28 08:34+0000\n"
"Last-Translator: bruh <quangtrung02hn16@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/freedombox/"
@ -2009,13 +2009,13 @@ msgstr "Chấp nhận tất cả chứng chỉ SSL"
msgid "Use HTTP basic authentication"
msgstr "Sử dụng xác thực HTTP cơ bản"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:107
#: modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Tên miền"
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Tên miền không hợp lệ"
@ -2036,7 +2036,7 @@ msgstr "Sử dụng IPv6 thay vì IPv4"
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -4606,7 +4606,7 @@ msgstr "Đã thêm mật khẩu."
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4615,19 +4615,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4644,19 +4644,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "Tên máy chủ"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4669,11 +4669,11 @@ msgstr ""
"cái hoặc chữ số và các ký tự chỉ có chữ cái, chữ số và dấu gạch ngang. Tổng "
"độ dài phải là 63 ký tự hoặc ít hơn."
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "Tên máy chủ không hợp lệ"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7659,7 +7659,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-02-25 09:20+0000\n"
"Last-Translator: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate."
"org>\n"
@ -1861,13 +1861,13 @@ msgstr "接受所有 SSL 证书"
msgid "Use HTTP basic authentication"
msgstr "使用 HTTP 基本身份验证"
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "无效的域名"
@ -1888,7 +1888,7 @@ msgstr "使用IPv6而不是IPv4"
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
msgid "Domain already exists."
msgstr "域名已存在。"
@ -4398,7 +4398,7 @@ msgstr "加入密码已更改"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4407,19 +4407,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr "名称服务"
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4436,19 +4436,19 @@ msgstr ""
msgid "Secure Shell"
msgstr "安全 Shell"
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "主机名"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4460,11 +4460,11 @@ msgstr ""
"数字结束和开始作为内部字符只有字母、数字和连字符。总长度必须为 63 个字符或更"
"少。"
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "无效的主机名"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7465,7 +7465,7 @@ msgstr "只读根文件系统"
msgid "Go to Power"
msgstr "转到电源"
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-10 20:08-0400\n"
"POT-Creation-Date: 2025-03-25 09:08-0400\n"
"PO-Revision-Date: 2025-02-07 12:01+0000\n"
"Last-Translator: pesder <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Traditional Han script) <https://hosted.weblate.org/"
@ -1891,13 +1891,13 @@ msgstr ""
msgid "Use HTTP basic authentication"
msgstr ""
#: modules/dynamicdns/forms.py:76 modules/names/forms.py:108
#: 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:101
#: modules/names/forms.py:119
#: modules/dynamicdns/forms.py:79 modules/names/forms.py:100
#: modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "無效的網域名稱"
@ -1918,7 +1918,7 @@ msgstr "使用 IPv6 而不是 IPv4"
msgid "This field is required."
msgstr "此欄位為必填項。"
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:126
#: modules/dynamicdns/forms.py:138 modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -4494,7 +4494,7 @@ msgstr "密碼已新增。"
msgid "Root channel name changed."
msgstr ""
#: modules/names/__init__.py:33
#: modules/names/__init__.py:34
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
@ -4503,19 +4503,19 @@ msgid ""
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: modules/names/__init__.py:54
#: modules/names/__init__.py:55
msgid "Name Services"
msgstr ""
#: modules/names/__init__.py:68
#: modules/names/__init__.py:69
msgid "Domain (regular)"
msgstr ""
#: modules/names/__init__.py:175
#: modules/names/__init__.py:178
msgid "Package systemd-resolved is installed"
msgstr ""
#: modules/names/__init__.py:199
#: modules/names/__init__.py:232
#, python-brace-format
msgid "Resolve domain name: {domain}"
msgstr ""
@ -4532,19 +4532,19 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
#: modules/names/forms.py:23
#: modules/names/forms.py:22
msgid "Use DNS-over-TLS for resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:51
#: modules/names/forms.py:50
msgid "Use DNSSEC when resolving domains (global preference)"
msgstr ""
#: modules/names/forms.py:86 modules/names/manifest.py:12
#: modules/names/forms.py:85 modules/names/manifest.py:12
msgid "Hostname"
msgstr "主機名稱"
#: modules/names/forms.py:87
#: modules/names/forms.py:86
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
@ -4556,11 +4556,11 @@ msgstr ""
"須以字母或數字開頭與結尾,內部字元也只能包含字母、數字和連字符。總長度必須低"
"於 63 字元。"
#: modules/names/forms.py:93
#: modules/names/forms.py:92
msgid "Invalid hostname"
msgstr "無效的主機名稱"
#: modules/names/forms.py:109
#: modules/names/forms.py:108
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
@ -7547,7 +7547,7 @@ msgstr ""
msgid "Go to Power"
msgstr ""
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:396
#: modules/storage/__init__.py:447 modules/storage/tests/test_storage.py:405
msgid "grub package is configured"
msgstr ""

View File

@ -3,6 +3,7 @@
FreedomBox app to configure name services.
"""
import json
import logging
import pathlib
import subprocess
@ -12,7 +13,7 @@ from django.utils.translation import gettext_lazy as _
from django.utils.translation import gettext_noop
from plinth import app as app_module
from plinth import cfg, glib, menu, network, setup
from plinth import cfg, glib, kvstore, menu, network, setup
from plinth.daemon import Daemon
from plinth.diagnostic_check import (DiagnosticCheck,
DiagnosticCheckParameters, Result)
@ -43,7 +44,7 @@ class NamesApp(app_module.App):
app_id = 'names'
_version = 3
_version = 4
can_be_disabled = False
@ -85,7 +86,7 @@ class NamesApp(app_module.App):
domain_removed.connect(on_domain_removed)
# Register domain with Name Services module.
for domain in privileged.get_domains():
for domain in domains_list() + privileged.get_old_domains():
domain_added.send_robust(sender='names',
domain_type='domain-type-static',
name=domain, services='__all__')
@ -115,8 +116,10 @@ class NamesApp(app_module.App):
except Exception:
pass
if old_version < 3:
privileged.domains_migrate()
if old_version < 4:
domains = domains_list() + privileged.get_old_domains()
_domains_set(domains)
privileged.domain_delete_all()
if is_resolved_installed():
# Fresh install or upgrading to version 2
@ -179,6 +182,36 @@ class ResolvedDaemon(Daemon):
return super().diagnose()
def domains_list() -> list[str]:
"""Return a list of domains from configuration."""
return json.loads(kvstore.get_default('domains', '[]'))
def domain_add(domain_name: str):
"""Add a domain to configuration."""
domains = domains_list()
if domain_name in domains:
return
domains.append(domain_name)
_domains_set(domains)
def domain_delete(domain_name: str):
"""Remove a domain from configuration."""
domains = domains_list()
if domain_name not in domains:
return
domains.remove(domain_name)
_domains_set(domains)
def _domains_set(domains: list[str]):
"""Set the full list of domains in the configuration."""
kvstore.set('domains', json.dumps(domains))
def install_systemd_resolved(_data):
"""Re-run setup on app to install systemd-resolved."""
if not is_resolved_installed():

View File

@ -9,10 +9,9 @@ from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
from plinth import cfg
from plinth.modules import names
from plinth.utils import format_lazy
from . import privileged
HOSTNAME_REGEX = r'^[a-zA-Z0-9]([-a-zA-Z0-9]{,61}[a-zA-Z0-9])?$'
@ -122,7 +121,7 @@ class DomainAddForm(forms.Form):
def clean_domain_name(self):
"""Check if the name is valid."""
domain_name = self.cleaned_data['domain_name']
if domain_name in privileged.get_domains():
if domain_name in names.domains_list():
raise ValidationError(_('Domain already exists.'))
return domain_name

View File

@ -39,8 +39,8 @@ def _load_augeas_hosts():
return aug
def get_domains(aug=None) -> list[str]:
"""Return the list of domains."""
def get_old_domains(aug=None) -> list[str]:
"""Return the list of domains store in old /etc/hosts format."""
if not aug:
aug = _load_augeas_hosts()
@ -69,55 +69,13 @@ def get_domains(aug=None) -> list[str]:
@privileged
def domain_add(domain_name: str | None = None):
"""Set system's static domain name in /etc/hosts."""
def domain_delete_all():
"""Remove all static domain names from /etc/hosts."""
aug = _load_augeas_hosts()
domains = get_domains(aug)
if domain_name in domains:
return # Domain already present in /etc/hosts
aug.set('./01/ipaddr', HOSTS_LOCAL_IP)
aug.set('./01/canonical', domain_name)
aug.save()
@privileged
def domain_delete(domain_name: str | None = None):
"""Set system's static domain name in /etc/hosts."""
aug = _load_augeas_hosts()
domains = get_domains(aug)
if domain_name not in domains:
return # Domain already not present in /etc/hosts
for match in aug.match('*'):
if aug.get(match + '/ipaddr') == HOSTS_LOCAL_IP and \
aug.get(match + '/canonical') == domain_name:
aug.remove(match)
aug.save()
@privileged
def domains_migrate() -> None:
"""Convert old style of adding domain names to /etc/hosts to new.
Old format:
127.0.1.1 <hostname>.<domain> <hostname>
New format:
127.0.1.1 <domain1>
127.0.1.1 <domain2>
"""
aug = _load_augeas_hosts()
domains = get_domains(aug)
for match in aug.match('*'):
if aug.get(match + '/ipaddr') == HOSTS_LOCAL_IP:
aug.remove(match)
for number, domain in enumerate(domains):
aug.set(f'./0{number}/ipaddr', HOSTS_LOCAL_IP)
aug.set(f'./0{number}/canonical', domain)
aug.save()

View File

@ -163,7 +163,7 @@ def _domain_add(domain_name: str):
domain_name = domain_name.lower()
logger.info('Adding domain name - %s', domain_name)
privileged.domain_add(domain_name)
names.domain_add(domain_name)
domain_added.send_robust(sender='names', domain_type='domain-type-static',
name=domain_name, services='__all__')
@ -176,7 +176,7 @@ def _domain_delete(domain_name: str):
domain_name = domain_name.lower()
logger.info('Removing domain name - %s', domain_name)
privileged.domain_delete(domain_name)
names.domain_delete(domain_name)
# Update domain registered with Name Services module.
domain_removed.send_robust(sender='names',

View File

@ -60,8 +60,11 @@ class SOGoApp(app_module.App):
clients=info.clients, tags=info.tags)
self.add(shortcut)
# dpkg-dev is needed because plget command, part of
# gnustep-base-runtime package, uses dpkg-architecture command but
# there is no dependency on dpkg-dev.
packages = Packages('packages-sogo',
['sogo', 'postgresql', 'memcached'])
['sogo', 'postgresql', 'memcached', 'dpkg-dev'])
self.add(packages)
dropin_configs = DropinConfigs('dropin-configs-sogo', [

View File

@ -375,7 +375,16 @@ def test_validate_directory_creatable(path, error):
@patch('psutil.disk_partitions')
def test_is_partition_read_only(disk_partitions):
"""Test whether checking for ro partition works."""
partition = psutil._common.sdiskpart # pylint: disable=protected-access
def partition(*args):
try:
# psutil <= 5.9.8
# pylint: disable=protected-access
return psutil._common.sdiskpart(*args)
except TypeError:
# psutil >= 7.0
return psutil._common.sdiskpart(*args[:-2])
disk_partitions.return_value = [
partition('/dev/root', '/', 'btrfs', 'rw,nosuid', 42, 42),
partition('/dev/root', '/foo', 'btrfs', 'rw', 321, 321),

View File

@ -73,16 +73,35 @@ def setup_config():
# disable authentication missing notification as FreedomBox itself
# provides authentication
auth_conf = ('/configuration/options/unackedNotificationID'
'[#text="authenticationUserAndPassword"]')
conf_changed = bool(aug.remove('/files' + conf_file_in_use + auth_conf))
# also make sure no authentication is required on top of FreedomBox's
configs_to_remove = (
'options/unackedNotificationID[#text="authenticationUserAndPassword"]',
'gui/user/#text', 'gui/password/#text')
conf_changed = False
for config in configs_to_remove:
removed = bool(
aug.remove('/files' + conf_file_in_use +
f'/configuration/{config}'))
if removed:
conf_changed = True
# disable usage reporting notification by declining reporting
# if the user has not made a choice yet
usage_conf = '/configuration/options/urAccepted/#text'
if aug.get('/files' + conf_file_in_use + usage_conf) == '0':
aug.set('/files' + conf_file_in_use + usage_conf, '-1')
conf_changed = True
configs = {
# disable usage reporting notification by declining reporting
# if the user has not made a choice yet
'options/urAccepted/#text': '-1',
# Set all the values that, misconfigured from the Syncthing UI,
# can make the UI inaccessible. Such misconfigurations can be
# corrected if the user re-runs the setup.
# https://discuss.freedombox.org/t/solved-cant-access-syncthing-administration-panel/2137
'gui/#attribute/tls': 'false',
'gui/#attribute/enabled': 'true',
'gui/address/#text': '127.0.0.1:8384'
}
for key, value in configs.items():
config = f'/configuration/{key}'
if aug.get('/files' + conf_file_in_use + config) != value:
aug.set('/files' + conf_file_in_use + config, value)
conf_changed = True
aug.save()

View File

@ -223,6 +223,13 @@ def _apt_update():
_apt_run(['update'])
def _apt_fix():
"""Try to fix any problems with apt/dpkg before the upgrade."""
logger.info('Fixing any broken apt/dpkg states...')
subprocess.run(['dpkg', '--configure', '-a'], check=False)
_apt_run(['--fix-broken', 'install'])
def _apt_autoremove():
"""Run 'apt autoremove'."""
logger.info('Running apt autoremove...')
@ -298,6 +305,7 @@ def perform():
_services_disable(), \
_apt_hold_packages():
_apt_update()
_apt_fix()
_debconf_set_selections()
_packages_remove_obsolete()
_apt_full_upgrade()

View File

@ -283,6 +283,17 @@ def test_apt_update(apt_run):
apt_run.assert_called_with(['update'])
@patch('plinth.modules.upgrades.distupgrade._apt_run')
@patch('subprocess.run')
def test_apt_fix(run, apt_run):
"""Test that apt fixes work."""
distupgrade._apt_fix()
assert run.call_args_list == [
call(['dpkg', '--configure', '-a'], check=False)
]
assert apt_run.call_args_list == [call(['--fix-broken', 'install'])]
@patch('plinth.modules.upgrades.distupgrade._apt_run')
def test_apt_autoremove(apt_run):
"""Test that apt autoremove works."""

View File

@ -20,9 +20,9 @@ class Operation:
class State(enum.Enum):
"""Various states of an operation."""
WAITING: str = 'waiting'
RUNNING: str = 'running'
COMPLETED: str = 'completed'
WAITING = 'waiting'
RUNNING = 'running'
COMPLETED = 'completed'
def __init__(self, op_id: str, app_id: str, name: str, target: Callable,
args: list | None = None, kwargs: dict | None = None,

View File

@ -647,8 +647,7 @@ class ForceUpgrader():
# App does not implement force upgrade
continue
if (app.get_setup_state() == app_module.App.SetupState.NEEDS_SETUP
):
if app.get_setup_state() == app_module.App.SetupState.NEEDS_SETUP:
# If an app is not installed don't considered it. If an app
# needs an update, it may have to do a force upgrade before
# running app version update. This is because the app version

View File

@ -0,0 +1,31 @@
#!/usr/bin/python3
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Set FREEDOMBOX_URL to the URL of the FreedomBox on which
# all apps will be enabled.
from splinter import Browser
from plinth import app as app_module, module_loader
from plinth.tests.functional import app_enable, install, login
module_loader.load_modules()
app_module.apps_init()
browser = Browser('firefox')
login(browser)
for app in app_module.App.list():
app_name = app.app_id
try:
# Some apps cannot be installed.
install(browser, app_name)
except:
pass
try:
app_enable(browser, app_name)
except:
# Some apps cannot be enabled.
pass

View File

@ -112,7 +112,12 @@ version = {attr = "plinth.__version__"}
include = ["plinth", "plinth.*"]
[tool.setuptools.package-data]
"*" = ["templates/*", "static/**", "locale/*/LC_MESSAGES/*.mo"]
"*" = [
"templates/*",
"static/**",
"locale/*/LC_MESSAGES/*.mo",
"tests/functional/config.ini"
]
[tool.setuptools.exclude-package-data]
"*" = ["*/data/*"]