freedombox Debian release 24.9

-----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmYnEkYWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICHloEADAdMjpcwBrOkP64E3s9vRing7b
 hSCSUvkH41gZnGXN4qwWhdnbbgtJcJl1zdU73bVUrvz09g3pBr46uEUsEHel4x8t
 AdWRljWQx4K8x14bPHhWs7HEBfizIrgpAoMIJ5a1EDeKR7HfH3UL1/QJEAxVKl6e
 g2C3yPFMw3Yu1BNtFjU8sA9ydW/AE1/6TRF8JIl+VyR1Ggxwj/Y/GGnk87g3l7/L
 Ryt7d9sRpZ2A0u05NllyKBdaCTtnaG/VYywiiNTfCr2VDbL3afGEhTFlu4wdD+8a
 PjyObEBxbeNXeu4gzQ1A/IX/aZmC/EE3sPwN2j5Mbx3uBw4N/2IQeHn8fqKdCrOB
 HUZ9AdCXaz0FgN5KhOGWsoAjTZ36AMKH0rm3DX0HnjRfoX5rFAoTR/nI7GJtjjFf
 HfBJ9k6DEbob+m1tl5Ea1+VfhA6GTc+FpPnZu+73IGrXuJKOIogSFzU11N2fDJMB
 5Dad+7gmQplxCP3lLR8BBv8YspeuKpAACR21MN9hTfKExHceD7nhObSHES7v6Qm7
 l9+l3oNxz1cUq4qAyjbAD5QvR/vrDYzmv3e4p42svSoQN9vFOdw5DiKZXERde3C2
 HQxDUnUawGg264MPYVd7dJdDaqj9J0CoIkyGTopnsgYzk21qkfEpVRY241CyPEfr
 V3lqCIP6gOU1vde/8Q==
 =+CkF
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmYrmHsWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICHYeEAC/aw2hBMb88qCZ8q4eP/v1eEKc
 SiuNjFBLiNqHTrxvzKvx7S5tNCYS2le4Ysrwv1mUya2ChcaBCYyIOpS1gnk/rO18
 RwPGzZQIRuf78LsKOYCfQe8f22dmdNYTY6uOWHoPx1TGjqhIVlnMU+czOkzEiel9
 Ur83XDTzsbTOMq522gG7HvEgtyTohBbJXrOmFEMDLWB3QOvIH4Gk+VxBY3e1un2R
 6edbiad5VE4hg/dX2s0NH1fv4d80hAkJy9bfQmBfqSqBfslANhwCP/hJ6946xSDJ
 6qap++WdYAdZXcSxuA5RjeELr3bIx8F7ycCNnW3ieoGPt6FEcTsjoZWmo3+vJI68
 vyCpPdpABwEKPES12BsKQYB1vRZKluznAZZN26W/cfDK/lgCpVRs4jpE5zuiQ0EM
 O3XvviDMmkFH7mBstZ2gBZRp+wetkCcBi+DPDnOeoJ8+X+3j2vU/dsk0wHcBoF0l
 iCOru0i3JVBBRm+SgGEVbdWkIV18UsuIYjCR7U2o9VeTmlZkVIsidDJ9Up/apUlh
 CNZEROVTlUxgp/c+QI6rHS0DLbAx+n2yt/IrpNYR0X8plzU12cWNOZkxwd/H/bSb
 WEJbRW140aDKVHEkhtPPFX/LUZ2TMZt01vXqeaNHd9TRcVVylVxhFBWcdi4juErl
 8XuaRcepy3HNu4wWxw==
 =vO+e
 -----END PGP SIGNATURE-----

Merge tag 'v24.9' into debian/bookworm-backports

freedombox Debian release 24.9
This commit is contained in:
James Valleroy 2024-04-26 08:05:03 -04:00
commit 3d14d4a56c
71 changed files with 1864 additions and 1439 deletions

View File

@ -47,58 +47,58 @@ doc-tests:
script:
- make check-doc
app-server-stable:
.app-server-stable:
variables:
LAUNCH_TEMPLATE_NAME: functional-tests-stable
INSTANCE_NAME: app-server-stable
BUILD_JOB_NAME: build-backports
extends: .app-server
run-functional-tests-stable:
.run-functional-tests-stable:
needs:
- job: app-server-stable
artifacts: true
extends: .run-functional-tests
terminate-app-server-stable:
.terminate-app-server-stable:
needs:
- job: run-functional-tests-stable
artifacts: true
extends: .terminate-app-server
app-server-testing:
.app-server-testing:
variables:
LAUNCH_TEMPLATE_NAME: functional-tests-testing
INSTANCE_NAME: app-server-testing
BUILD_JOB_NAME: build
extends: .app-server
run-functional-tests-testing:
.run-functional-tests-testing:
needs:
- job: app-server-testing
artifacts: true
extends: .run-functional-tests
terminate-app-server-testing:
.terminate-app-server-testing:
needs:
- job: run-functional-tests-testing
artifacts: true
extends: .terminate-app-server
app-server-unstable:
.app-server-unstable:
variables:
LAUNCH_TEMPLATE_NAME: functional-tests-unstable
INSTANCE_NAME: app-server-unstable
BUILD_JOB_NAME: build
extends: .app-server
run-functional-tests-unstable:
.run-functional-tests-unstable:
needs:
- job: app-server-unstable
artifacts: true
extends: .run-functional-tests
terminate-app-server-unstable:
.terminate-app-server-unstable:
needs:
- job: run-functional-tests-unstable
artifacts: true

61
debian/changelog vendored
View File

@ -1,3 +1,64 @@
freedombox (24.9) unstable; urgency=medium
[ Burak Yavuz ]
* Translated using Weblate (Turkish)
[ Besnik Bleta ]
* Translated using Weblate (Albanian)
[ gallegonovato ]
* Translated using Weblate (Spanish)
[ 大王叫我来巡山 ]
* Translated using Weblate (Chinese (Simplified))
[ Joseph Nuthalapati ]
* tests: functional: Disable functional tests
[ Ray Kuo ]
* Translated using Weblate (Chinese (Traditional))
[ Sunil Mohan Adapa ]
* nextcloud: Rename the systemd service names
* nextcloud: Add network interface to firewall zone after creating it
* nextcloud: Refactor container creation code
* nextcloud: Fix configuring trusted proxies setting
* nextcloud: Drop a repeated creation of systemd service file
* nextcloud: Connect to mysql using socket instead of TCP
* nextcloud: Fail on errors when configuring the app
* nextcloud: Improve check used to test if installation wizard is done
* nextcloud: Improve setting up LDAP configuration
* nextcloud: Ensure that database is running when running setup
* nextcloud: Don't fail uninstall if DB or user do not exist
* action_utils, nextcloud: Make podman util more generic
* nextcloud: Improve database permission granting
* nextcloud: Connect to redis using Unix socket
* nextcloud: Connect to slapd for LDAP using Unix socket
* nextcloud: Refactor setting admin password
* nextcloud: Don't show incorrect phone region when it is not set
* nextcloud: Minor refactoring
* nextcloud: Retrieve database password in a more robust way
* nextcloud: Don't set password on redis server
* nextcloud: Use a separate DB for redis
* nextcloud: Use secrets module generate passwords
* nextcloud: Minor changes to cron timer units
* nextcloud: When backup fails, unset the maintenance mode
* nextcloud: Remove fail2ban jail, brute force protection present
* nextcloud: Expand on the warning about container usage
* nextcloud: Add warning that the app is experimental
* nextcloud: Minor update to description regarding users' usage
* nextcloud: Allow backup/restore when app is disabled
* config: Handle dropin config files with limited permissions
[ Yurt Page ]
* Translated using Weblate (Russian)
[ James Valleroy ]
* locale: Update translation strings
* doc: Fetch latest manual
-- James Valleroy <jvalleroy@mailbox.org> Mon, 22 Apr 2024 20:29:07 -0400
freedombox (24.8~bpo12+1) bookworm-backports; urgency=medium
* Rebuild for bookworm-backports.

View File

@ -67,7 +67,9 @@ snapshot = tgz
=== External links ===
* User documentation: https://git-scm.com/docs/gitweb
* Upstream project: https://git-scm.com/
* Upstream end user documentation: https://git-scm.com/docs/gitweb
* Debian community wikis: https://wiki.debian.org/CategoryGit
## END_INCLUDE

View File

@ -73,8 +73,10 @@ It is also possible to install user-contributed themes from ikiwiki's Theme Mark
=== External links ===
* Website: https://ikiwiki.info
* Theme Market https://ikiwiki.info/theme_market/
* Upstream project: https://ikiwiki.info
* Upstream project user documentation: https://ikiwiki.info
* Upstream project user forum: https://ikiwiki.info/forum/
* Upstream project theme market https://ikiwiki.info/theme_market/
## END_INCLUDE

View File

@ -25,7 +25,12 @@ If your !FreedomBox is behind a router, you will need to set up port forwarding
=== Extenal links ===
* Website: https://gobby.github.io/libinfinity
* Upstream project: https://gobby.github.io/libinfinity/
* Upstream end user documentation: https://github.com/gobby/gobby/wiki
==== Client apps ====
Client software from the Infinoted team is named, "Gobby." Links to recommended client apps, where applicable, can be found in !FreedomBox by select the Apps page, selecting the application tile, and clicking the > Client Apps button.
* Gobby Client Software: https://gobby.github.io/
* Gobby Wiki: https://github.com/gobby/gobby/wiki

View File

@ -44,9 +44,11 @@ If your !FreedomBox is behind a router and you want to connect to other servers,
=== External links ===
* Website: https://www.jsxc.org
* User documentation: https://www.jsxc.org/manual.html
* !FreedomBox ejabberd server manual: [[FreedomBox/Manual/ejabberd|https://wiki.debian.org/FreedomBox/Manual/ejabberd]]
* Upstream project: https://www.jsxc.org
* Upstream end user documentation: https://www.jsxc.org/manual.html
==== Client apps ====
JSXC is the client app used with [[FreedomBox/Manual/ejabberd|ejabberd server included in FreedomBox.]]
## END_INCLUDE

View File

@ -75,12 +75,15 @@ echo "UPDATE users SET admin=1 WHERE name='@username:domainname'" | sudo sqlite3
=== External links ===
* Matrix Website: https://matrix.org
* Synapse section:https://github.com/element-hq/synapse
* User documentation: https://matrix.org/docs/chat_basics/matrix-for-im/
* Debian Matrix wiki: https://wiki.debian.org/Matrix
* Upstream project: https://matrix.org
* Upstream Synapse matrix server project: https://github.com/element-hq/synapse
* Upstream user documentation: https://matrix.org/docs/chat_basics/matrix-for-im/
* Debian community wiki: https://wiki.debian.org/Matrix
* Video tutorial for setting up Matrix Synapse on a Cloud instance: https://youtu.be/8snpMHHbymI
==== Client apps ====
Links to recommended client apps, where applicable, can be found in FreedomBox by select the Apps page, selecting the application tile, and clicking the > Client Apps button.
* [[https://wiki.debian.org/Matrix#Clients|Clients in Debian community wiki]]
## END_INCLUDE
Back to [[FreedomBox/Features|Features introduction]] or [[FreedomBox/Manual|manual]] pages.

View File

@ -36,11 +36,7 @@ To install/enable the media server you need to navigate at MiniDLNA page and
enable it. The application is intended to be available in the internal (home) network and
therefore it requires a network interface configured for internal traffic.
After installation a web page becomes available on https://<your-freedombox>/_minidlna.
It includes information for how many files the server is detecting, how many connections
exist etc. This is very useful if plugging external disks with media to check
if the new media files are detected properly. If that is not happening, disabling and
enabling the server will fix it.
After installation a web page becomes available in the internal network at http://<your-freedombox-IP-address>:8200 (note that using mDNS name like freedombox.local doesn't work here). The web page includes information for how many files the server is detecting, how many connections exist etc. This is very useful if plugging external disks with media to check if the new media files are detected properly. If that is not happening, disabling and enabling the server will fix it.
=== Using MiniDLNA to play media on your devices ===

View File

@ -99,7 +99,7 @@ The Apps menu can be accessed by clicking the grid icon, next to the !FreedomBox
=== Help menu ===
The Help menu can be accessed by clicking the question mark icon in the top-right corner. It includes helpful links and the !FreedomBox manual.
A drop-down Help menu can be accessed by clicking the question mark icon near the top-right corner. The menu includes helpful links and the !FreedomBox manual.
{{attachment:ui_help.png|Help|width=600}}

View File

@ -8,6 +8,42 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
The following are the release notes for each !FreedomBox version.
== FreedomBox 24.9 (2024-04-22) ==
* action_utils, nextcloud: Make podman util more generic
* config: Handle dropin config files with limited permissions
* locale: Update translations for Albanian, Chinese (Simplified), Chinese (Traditional), Russian, Spanish, Turkish
* nextcloud: (Note that this app is currently disabled, and not available to install.)
* Add network interface to firewall zone after creating it
* Add warning that the app is experimental
* Allow backup/restore when app is disabled
* Connect to mysql using socket instead of TCP
* Connect to redis using Unix socket
* Connect to slapd for LDAP using Unix socket
* Don't fail uninstall if DB or user do not exist
* Don't set password on redis server
* Don't show incorrect phone region when it is not set
* Drop a repeated creation of systemd service file
* Ensure that database is running when running setup
* Expand on the warning about container usage
* Fail on errors when configuring the app
* Fix configuring trusted proxies setting
* Improve check used to test if installation wizard is done
* Improve database permission granting
* Improve setting up LDAP configuration
* Minor changes to cron timer units
* Minor refactoring
* Minor update to description regarding users' usage
* Refactor container creation code
* Refactor setting admin password
* Remove fail2ban jail, brute force protection present
* Rename the systemd service names
* Retrieve database password in a more robust way
* Use a separate DB for redis
* Use secrets module generate passwords
* When backup fails, unset the maintenance mode
* tests: functional: Disable functional tests
== FreedomBox 24.8 (2024-04-08) ==
=== Highlights ===

View File

@ -54,6 +54,13 @@ Password managers that store their databases in files are suitable for synchroni
KeePassXC stores usernames, passwords etc. in files have the .kdbx extension. These kdbx files can be stored in a Syncthing shared folder to keep them synchronized on multiple machines. Free software applications which can read this file format are available for both desktop and mobile. You typically have to just point the application at the .kdbx file and enter the master password to access your stored credentials. For example, the same kdbx file can be accessed by using KeePassXC on desktop and KeePassDX on Android. KeePassXC can also be used to fill credentials into login fields in the browser by installing a browser extension.
==== Note-taking and Journaling ====
Several note-taking applications allow the notes to be stored in text files in plaintext or Markdown format. [[https://logseq.com | logseq]] is one such application that is licensed AGPLv3. It can be used to write a daily journal or discrete pages about various topics which can be linked in the form of a knowledge graph. Please note that the text is not encrypted at rest. logseq can also be used as a note-taking software by teams, instead of hosting a wiki.
A wiki software available on Debian desktops is [[https://zim-wiki.org | Zim]]. You can set the storage for your personal zim wiki to a Syncthing folder.
If your notes are only ever going to be personal, a simpler solution exists. It is called a "quine". A wiki implemented as a [[https://en.wikipedia.org/wiki/Quine_(computing) | quine]] is a single HTML file with enough embedded CSS and !JavaScript in it to make it useful for note-taking, journaling and even documentation. After editing the quine's HTML file in a web browser you can use the "Save as" feature of the browser to overwrite the existing HTML file in your Syncthing folder, each time you want to save it. Quines are the simplest note-taking/personal wiki solution that work on all operating systems with no additional software required, other than a web browser. [[https://tiddlywiki.com | TiddlyWiki]] and [[https://feather.wiki | FeatherWiki]] are popular software in this category.
=== External links ===

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 KiB

After

Width:  |  Height:  |  Size: 394 KiB

View File

@ -27,8 +27,8 @@ DLNA se deriva de UPnP como una forma de estandarizar interoperabilidad entre me
Para instalar/habilitar el servidor multimedia necesitas navegar a la página MiniDLNA y habilitarlo. Se intenta que la aplicación esté disponible en la red interna y por ello requiere asignarle un interfaz de red configurado para tráfico interno.
Tras la instalación queda disponible una página web en https://<tu-freedombox>/_minidlna.
Incluye información de cuántos ficheros detecta el servidor, cuántas conexiones existen etc. Esto resulta muy útil cuando conectas discos externos con contenido para para verificar que detecta los nuevos archivos como debe. Si no ocurre así, desconectar y activar el servidor lo arreglará.
Tras la instalación queda disponible en la red local una página web en http://<dirección_IP_de_tu_freedombox>:8200 (observa que un nombre mDNS como {{{freedombox.local}}} no funciona aquí).
La página web incluye información de cuántos ficheros detecta el servidor, cuántas conexiones existen etc. Esto resulta muy útil cuando conectas discos externos con contenido para para verificar que detecta los nuevos archivos como debe. Si no ocurre así, desconectar y activar el servidor lo arreglará.
=== Usar MiniDLNA para reproducir contenidos multimedia en tus dispositivos ===

View File

@ -8,6 +8,42 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
The following are the release notes for each !FreedomBox version.
== FreedomBox 24.9 (2024-04-22) ==
* action_utils, nextcloud: Make podman util more generic
* config: Handle dropin config files with limited permissions
* locale: Update translations for Albanian, Chinese (Simplified), Chinese (Traditional), Russian, Spanish, Turkish
* nextcloud: (Note that this app is currently disabled, and not available to install.)
* Add network interface to firewall zone after creating it
* Add warning that the app is experimental
* Allow backup/restore when app is disabled
* Connect to mysql using socket instead of TCP
* Connect to redis using Unix socket
* Connect to slapd for LDAP using Unix socket
* Don't fail uninstall if DB or user do not exist
* Don't set password on redis server
* Don't show incorrect phone region when it is not set
* Drop a repeated creation of systemd service file
* Ensure that database is running when running setup
* Expand on the warning about container usage
* Fail on errors when configuring the app
* Fix configuring trusted proxies setting
* Improve check used to test if installation wizard is done
* Improve database permission granting
* Improve setting up LDAP configuration
* Minor changes to cron timer units
* Minor refactoring
* Minor update to description regarding users' usage
* Refactor container creation code
* Refactor setting admin password
* Remove fail2ban jail, brute force protection present
* Rename the systemd service names
* Retrieve database password in a more robust way
* Use a separate DB for redis
* Use secrets module generate passwords
* When backup fails, unset the maintenance mode
* tests: functional: Disable functional tests
== FreedomBox 24.8 (2024-04-08) ==
=== Highlights ===

View File

@ -54,6 +54,13 @@ Los administradores de contraseñas que almacenan sus bases de datos en ficheros
KeePassXC almacena usuarios, contraseñas, etc en ficheros con la extensión .kdbx. Estos ficheros .kdbx se pueden almacenar en una carpeta compartida Syncthing para mantenerlos sincronizados en multiples máquinas. Hay disponibles, tanto para escritorio como para dispositivos móviles, aplicaciones de software libre que pueden leer este formato de fichero. Habitualmente sólo tienes que apuntar la aplicación al fichero .kdbx e introducir la contraseña maestra para acceder a tus credenciales almacenadas. Por ejemplo, el mismo fichero .kdbx se puede consultar empleando KeePassXC en el escritorio y KeePassDX en Android. Instalando una extensión se puede usar también KeePassXC para rellenar credenciales en los campos de ingreso (login) en el navegador.
==== Anotaciones y Bitácoras ====
Varias aplicaciones de notas permiten guardar las notas en ficheros de texto plano o en formato _Markdown_. [[https://logseq.com | logseq]] es una de ellas, con licencia AGPLv3. Se puede usar para escribir una bitácora o páginas sueltas por temas enlazadas formando un esquema. El texto no se guarda cifrado. Un equipo puede usar logseq como software de notas en vez de un wiki.
[[https://zim-wiki.org|Zim]] es un software de wiki disponible en escritorios Debian. Puedes configurar el almacenaje de un wiki Zim personal para que use un carpeta Syncthing.
Si tus notas van a ser siempre personales, hay un solución más simple. Se llama "quine". Un wiki implemented como [[https://en.wikipedia.org/wiki/Quine_(computing)|quine]] es un único fichero HTML con CSS y !JavaScript que lo vuelven útil para tomar notas, llevar un diario o como documentación. Tras editar el fichero HTML de quine en un navegador puedes grabarlo sobreescrbiendo el fichero HTML de tu carpeta Syncthing folder. Los Quines son la solución wiki más simple para anotaciones personales que funciona en todos los sistemas operativos y que solo requiere un navegador web. [[https://tiddlywiki.com|TiddlyWiki]] y [[https://feather.wiki|FeatherWiki]] son muy populares.
=== Enlaces externos ===

View File

@ -3,4 +3,4 @@
Package init file.
"""
__version__ = '24.8'
__version__ = '24.9'

View File

@ -489,69 +489,59 @@ def is_package_manager_busy():
return False
def podman_run(network_name, subnet, bridge_ip, host_port, container_port,
container_ip, volume_name, container_name, image_name,
extra_run_options=None, extra_network_options=None):
def podman_run(network_name: str, subnet: str, bridge_ip: str, host_port: str,
container_port: str, container_ip: str, container_name: str,
image_name: str, extra_run_options: list[str] | None = None,
extra_network_options: list[str] | None = None):
"""Remove, recreate and run a podman container."""
try:
service_stop(container_name)
subprocess.run(['podman', 'network', 'rm', '--force', network_name],
check=False)
finally:
network_create_command = [
'podman', 'network', 'create', '--driver', 'bridge', '--subnet',
subnet, '--gateway', bridge_ip, '--dns', bridge_ip,
'--interface-name', network_name, network_name
]
if extra_network_options:
network_create_command.extend(extra_network_options)
# create bridge network
subprocess.run(network_create_command, check=True)
except subprocess.CalledProcessError:
pass
run_command = [
'podman',
'run',
'--detach',
# Only listen on localhost. This is to prevent
# exposing the host port to the internet
'--publish',
f'127.0.0.1:{host_port}:{container_port}',
'--network',
network_name,
'--ip',
container_ip,
'--volume',
f'{volume_name}:/var/www/html',
'--name',
container_name,
'--restart',
'unless-stopped',
'--quiet',
# enable automatic updates
'--label',
'io.containers.autoupdate=registry',
# If another container with the same name already
# exists, replace and remove it.
'--replace',
] + (extra_run_options or []) + [image_name]
subprocess.run(run_command, check=True)
network_create_command = [
'podman', 'network', 'create', '--driver', 'bridge', '--subnet',
subnet, '--gateway', bridge_ip, '--dns', bridge_ip, '--interface-name',
network_name, network_name
] + (extra_network_options or [])
systemd_content = subprocess.run(
# Create bridge network
subprocess.run(network_create_command, check=True)
args = [
'podman', 'run', '--detach', '--network', network_name, '--ip',
container_ip, '--name', container_name, '--restart', 'unless-stopped',
'--quiet'
]
# Only listen on localhost. This is to prevent exposing the host port to
# the internet.
args += ['--publish', f'127.0.0.1:{host_port}:{container_port}']
# Enable automatic updates.
args += ['--label', 'io.containers.autoupdate=registry']
# If another container with the same name already exists, replace and
# remove it.
args += ['--replace']
args += (extra_run_options or []) + [image_name]
subprocess.run(args, check=True)
# Create service file for starting/stopping container using systemd
service_file = pathlib.Path(
'/etc/systemd/system') / f'{container_name}.service'
with service_file.open('wb') as file_handle:
subprocess.run(
['podman', 'generate', 'systemd', '--new', container_name],
capture_output=True, check=True).stdout.decode()
pathlib.Path('/etc/systemd/system/'
'{container_name}.service').write_text(
systemd_content, encoding='utf-8')
service_daemon_reload()
stdout=file_handle, check=True)
def podman_uninstall(container_name, network_name, volume_name, image_name):
def podman_uninstall(container_name: str, network_name: str, volume_name: str,
image_name: str):
"""Remove a podman container's components and systemd unit."""
components = [('network', network_name), ('volume', volume_name),
('image', image_name)]
for component in components:
subprocess.run(['podman', component[0], 'rm', component[1]],
check=True)
pathlib.Path('/etc/systemd/system/{container_name}.service').unlink(
missing_ok=True)
subprocess.run(['podman', 'network', 'rm', network_name], check=True)
subprocess.run(['podman', 'volume', 'rm', volume_name], check=True)
subprocess.run(['podman', 'image', 'rm', image_name], check=True)
service_file = pathlib.Path(
'/etc/systemd/system/') / f'{container_name}.service'
service_file.unlink(missing_ok=True)
service_daemon_reload()

View File

@ -80,21 +80,9 @@ class DropinConfigs(app_module.FollowerComponent):
def enable(self):
"""Create a symlink or copy in /etc/ of the configuration file."""
for path in self.etc_paths:
etc_path = self._get_etc_path(path)
target = self._get_target_path(path)
if etc_path.exists() or etc_path.is_symlink():
if (not self.copy_only and etc_path.is_symlink()
and etc_path.readlink() == target):
continue
if (self.copy_only and etc_path.is_file()
and etc_path.read_text() == target.read_text()):
continue
logger.warning('Removing dropin configuration: %s', path)
privileged.dropin_unlink(self.app_id, path)
privileged.dropin_link(self.app_id, path, self.copy_only)
if not privileged.dropin_is_valid(
self.app_id, path, self.copy_only, unlink_invalid=True):
privileged.dropin_link(self.app_id, path, self.copy_only)
def disable(self):
"""Remove the links/copies in /etc/ of the configuration files."""
@ -105,15 +93,10 @@ class DropinConfigs(app_module.FollowerComponent):
"""Check all links/copies and return generate diagnostic results."""
results = []
for path in self.etc_paths:
etc_path = self._get_etc_path(path)
target = self._get_target_path(path)
if self.copy_only:
result = (etc_path.is_file()
and etc_path.read_text() == target.read_text())
else:
result = (etc_path.is_symlink()
and etc_path.readlink() == target)
result = privileged.dropin_is_valid(self.app_id, path,
self.copy_only)
etc_path = self.get_etc_path(path)
check_id = f'dropin-config-{etc_path}'
result_string = Result.PASSED if result else Result.FAILED
description = gettext_noop(
@ -126,13 +109,13 @@ class DropinConfigs(app_module.FollowerComponent):
return results
@staticmethod
def _get_target_path(path):
def get_target_path(path):
"""Return Path object for a target path."""
target = pathlib.Path(DropinConfigs.ROOT)
target /= DropinConfigs.DROPIN_CONFIG_ROOT.lstrip('/')
return target / path.lstrip('/')
@staticmethod
def _get_etc_path(path):
def get_etc_path(path):
"""Return Path object for etc path."""
return pathlib.Path(DropinConfigs.ROOT) / path.lstrip('/')

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -20,7 +20,7 @@ msgstr ""
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 5.1\n"
#: config.py:120
#: config.py:103
#, fuzzy, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "تم إعداد التكوين الثابت {etc_path} بشكل صحيح عربي"
@ -1653,7 +1653,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4546,7 +4546,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4555,42 +4555,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4598,11 +4601,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -20,7 +20,7 @@ msgstr ""
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 4.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1652,7 +1652,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4551,7 +4551,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4560,42 +4560,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4603,11 +4606,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1648,7 +1648,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4539,7 +4539,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4548,42 +4548,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4591,11 +4594,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2023-09-18 19:00+0000\n"
"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/freedombox/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.0.2\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1777,7 +1777,7 @@ msgstr "Състояние"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Домейн"
@ -4796,7 +4796,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4805,46 +4805,53 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an exprimental feature."
msgid "This app is experimental."
msgstr "Премахването на приложения е експериментална възможност."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Напред"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Името на хоста е зададено"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Account"
msgid "Administrator password"
msgstr "Профил на администратора"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -4861,11 +4868,11 @@ msgstr ""
"често срещана парола, минималната дължина е <strong>10 знака</strong> . "
"Оставете полето празно, за да запазите текущата парола."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
@ -8341,11 +8348,6 @@ msgstr "Гуджарати"
#~ "от страницата за вход и потребителите могат да четат и изпращат писма "
#~ "само от тази страница {box_name}."
#, fuzzy
#~| msgid "Uninstalling an app is an exprimental feature."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Премахването на приложения е експериментална възможност."
#~ msgid "ChatSecure"
#~ msgstr "ChatSecure"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 4.7-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1666,7 +1666,7 @@ msgstr "অবস্থা"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "ডোমেন"
@ -4575,7 +4575,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4584,42 +4584,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4627,11 +4630,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2023-11-20 05:11+0000\n"
"Last-Translator: Jiří Podhorecký <j.podhorecky@volny.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 5.2\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "Statická konfigurace {etc_path} je nastavena správně"
@ -1832,7 +1832,7 @@ msgstr "Stav"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Doména"
@ -5180,7 +5180,7 @@ msgstr "Připojení {name} smazáno."
msgid "Failed to delete connection: Connection not found."
msgstr "Smazání připojení se nezdařilo: Připojení nenalezeno."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5189,46 +5189,53 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr "Odinstalování aplikace je exprimentální funkce."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Další"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Nastavení názvu stroje"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Heslo k účtu správce"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5245,13 +5252,13 @@ msgstr ""
"běžné a minimální požadovaná délka je <strong>10 znaků</strong>. Chcete-li "
"zachovat aktuální heslo, ponechte toto pole prázdné."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default zone is external"
msgid "Default phone region"
msgstr "Výchozí zóna je externí"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
@ -9051,9 +9058,6 @@ msgstr "gudžarátština"
#~ "stránky odstraněno a uživatelé mohou číst a odesílat e-maily pouze z "
#~ "tohoto {box_name}."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Odinstalování aplikace je exprimentální funkce."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -21,7 +21,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1870,7 +1870,7 @@ msgstr "Status"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domæne"
@ -5189,7 +5189,7 @@ msgstr "Slettede forbindelse {name}."
msgid "Failed to delete connection: Connection not found."
msgstr "Kunne ikke slette forbindelse: Forbindelse ikke fundet."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5198,46 +5198,51 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Næste"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Værtsnavn gemt"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Account"
msgid "Administrator password"
msgstr "Administratorkonto"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -5245,13 +5250,13 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default"
msgid "Default phone region"
msgstr "Standard"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-04-08 07:01+0000\n"
"Last-Translator: Johannes Keyser <joke@fsfe.org>\n"
"Language-Team: German <https://hosted.weblate.org/projects/freedombox/"
@ -21,7 +21,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "Statische Konfiguration {etc_path} ist richtig eingerichtet"
@ -1861,7 +1861,7 @@ msgstr "Status"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domain"
@ -5274,7 +5274,7 @@ msgstr "Verbindung {name} gelöscht."
msgid "Failed to delete connection: Connection not found."
msgstr "Konnte Verbindung nicht löschen: Verbindung nicht gefunden."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5283,46 +5283,53 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr "Das Deinstallieren einer App ist eine experimentelle Funktion."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Weiter"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Hostname gesetzt"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Administrator-Passwort"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5340,13 +5347,13 @@ msgstr ""
"<strong>10 Zeichen</strong> lang sein. Lassen Sie das Feld leer, bleibt das "
"derzeitige Passwort bestehen."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default zone is external"
msgid "Default phone region"
msgstr "Standard-Zone ist extern"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
@ -9227,9 +9234,6 @@ msgstr "Gujarati"
#~ "von der Anmeldeseite entfernt und Benutzer können nur E-Mails von diesem "
#~ "{box_name} lesen und senden."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Das Deinstallieren einer App ist eine experimentelle Funktion."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1649,7 +1649,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4540,7 +4540,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4549,42 +4549,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4592,11 +4595,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1926,7 +1926,7 @@ msgstr "Κατάσταση"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Όνομα διαδικτύου"
@ -5325,7 +5325,7 @@ msgstr "Η σύνδεση {name} διαγράφηκε."
msgid "Failed to delete connection: Connection not found."
msgstr "Απέτυχε η διαγραφή της σύνδεσης: η σύνδεση δεν βρέθηκε."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5334,46 +5334,51 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Επόμενο"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "To όνομα του υπολογιστη ρυθμίστηκε επιτυχώς"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Κωδικός Πρόσβασης Διαχειριστή"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). Leave "
@ -5388,13 +5393,13 @@ msgstr ""
"wiki. Αφήστε αυτό το πεδίο κενό για να διατηρήσετε τον τρέχοντα κωδικό "
"πρόσβασης."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default Skin"
msgid "Default phone region"
msgstr "Προεπιλεγμένη εμφάνιση"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"PO-Revision-Date: 2024-03-28 01:01+0000\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-04-10 04:54+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/freedombox/"
"freedombox/es/>\n"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "La configuración fija {etc_path} está configurada correctamente"
@ -1845,7 +1845,7 @@ msgstr "Estado"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Dominio"
@ -5203,7 +5203,7 @@ msgstr "Conexión {name} eliminada."
msgid "Failed to delete connection: Connection not found."
msgstr "Ha fallado la eliminación de la conexión: no se encontró."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5211,82 +5211,84 @@ msgid ""
"and mobile clients. The Nextcloud server provides a well integrated web "
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
"Nextcloud es una plataforma de productividad autoalojada que ofrece "
"funciones privadas y seguras para compartir archivos, trabajar en "
"colaboración y mucho más. Nextcloud incluye el servidor Nextcloud, "
"aplicaciones cliente para ordenadores de sobremesa y clientes móviles. El "
"servidor Nextcloud proporciona una interfaz web bien integrada."
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
#| msgid "All users of FreedomBox can use Nextcloud."
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr "Todos los usuarios de FreedomBox pueden utilizar Nextcloud."
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr "Desinstalar una aplicación es una función experimental."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Siguiente"
msgstr "Nextcloud"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
msgstr "Almacenamiento de archivos y colaboración"
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Asignar nombre de anfitrión"
#: modules/nextcloud/forms.py:27
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Clave de Administración"
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr "Ejemplos: \"myfreedombox.example.org\" o \"example.onion\"."
#: modules/nextcloud/forms.py:28
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
#| "password cannot be a common one and the minimum required length is "
#| "<strong>10 characters</strong>. Leave this field blank to keep the "
#| "current password."
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr "Contraseña del administrador"
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
"required length is <strong>10 characters</strong>. Leave this field blank to "
"keep the current password."
msgstr ""
"Definir una contraseña nueva para la cuenta de administración de MediaWiki "
"(admin). La contraseña no debe ser trivial y tiene que tener una longitud "
"mínima de <strong>10 caracteres</strong>. Déjala en blanco para conservar la "
"contraseña actual."
"Opcional. Establezca una nueva contraseña para la cuenta de administrador de "
"Nextcloud (nextcloud-admin). La contraseña no puede ser común y la longitud "
"mínima requerida es <strong>10 caracteres</strong>. Deje este campo en "
"blanco para conservar la contraseña actual."
#: modules/nextcloud/forms.py:35
#, fuzzy
#| msgid "Default zone is external"
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr "La zona por defecto es externa"
msgstr "Región telefónica por defecto"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
msgstr ""
"La región telefónica por defecto es necesaria para validar los números de "
"teléfono en la configuración del perfil sin un código del país."
#: modules/nextcloud/views.py:53
#, fuzzy
#| msgid "Password update failed. Please choose a stronger password"
msgid "Password update failed. Please choose a stronger password."
msgstr ""
"Falló la actualización de la contraseña. Use otra contraseña más fuerte"
"Error en la actualización de la contraseña. Elija una contraseña más segura."
#: modules/openvpn/__init__.py:20
#, python-brace-format
@ -9044,6 +9046,21 @@ msgstr "antes de desinstalar {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "To perform administrative actions, use the "
#~ msgstr "Para realizar acciones administrativas, utilice "
#~ msgid "You can set a new password in the \"Configuration\" section below."
#~ msgstr ""
#~ "Puedes establecer una nueva contraseña en la sección \"Configuración\"."
#~ msgid ""
#~ "Please note, that Nextcloud isn't maintained by Debian, which means "
#~ "security and feature updates are applied independently."
#~ msgstr ""
#~ "Por favor, ten en cuenta que Debian no mantiene Nexcloud, lo que "
#~ "significa que las actualizaciones de seguridad y características se "
#~ "aplican de forma independiente."
#~ msgid "Storage snapshots configuration updated"
#~ msgstr "Configuración de instantáneas actualizada"
@ -9095,9 +9112,6 @@ msgstr "Gujarati"
#~ "se elimina de la página de inicio de sesión y los usuarios solo pueden "
#~ "leer y enviar correos desde este {box_name}."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Desinstalar una aplicación es una función experimental."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1868,7 +1868,7 @@ msgstr "وضعیت"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "دامنه"
@ -5089,7 +5089,7 @@ msgstr "اتصال {name} پاک شد."
msgid "Failed to delete connection: Connection not found."
msgstr "پاک‌کردن اتصال شکست خورد: اتصال پیدا نشد."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5098,44 +5098,49 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "نام میزبان تنظیم شد"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Account"
msgid "Administrator password"
msgstr "حساب مدیر"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -5143,13 +5148,13 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default"
msgid "Default phone region"
msgstr "پیش‌فرض"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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."
@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1956,7 +1956,7 @@ msgstr "STATUS"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "DOMAIN"
@ -5252,7 +5252,7 @@ msgstr "CONNECTION {name} DELETED."
msgid "Failed to delete connection: Connection not found."
msgstr "FAILED TO DELETE CONNECTION: CONNECTION NOT FOUND."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5261,46 +5261,51 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "NEXT"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "HOSTNAME SET"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Account"
msgid "Administrator password"
msgstr "ADMINISTRATOR ACCOUNT"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -5308,13 +5313,13 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default"
msgid "Default phone region"
msgstr "DEFAULT"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-04-02 18:01+0000\n"
"Last-Translator: John Doe <thraex@numericable.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "La configuration statique {etc_path} est correctement configurée"
@ -1875,7 +1875,7 @@ msgstr "État"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domaine"
@ -5301,7 +5301,7 @@ msgstr "Connexion {name} supprimée."
msgid "Failed to delete connection: Connection not found."
msgstr "Échec de suppression de la connexion : connexion introuvable."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5310,46 +5310,54 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr ""
"La désinstallation dapplications est une fonctionnalité expérimentale."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Suivant"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Nom de machine configuré"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Mot de passe administrateur"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5367,13 +5375,13 @@ msgstr ""
"requise est de <strong>10 caractères</strong>. Laissez ce champ vide pour "
"conserver le mot de passe actuel."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default zone is external"
msgid "Default phone region"
msgstr "La zone par défaut est externe"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
@ -9274,10 +9282,6 @@ msgstr "Gujarati"
#~ "la page de connexion, et les utilisatrices et utilisateurs ne pourront "
#~ "plus envoyer et recevoir des courriels que depuis cette {box_name}."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr ""
#~ "La désinstallation dapplications est une fonctionnalité expérimentale."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1657,7 +1657,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4560,7 +4560,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4569,44 +4569,47 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Enable application"
msgid "Administrator password"
msgstr "Activar o aplicativo"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4614,11 +4617,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1811,7 +1811,7 @@ msgstr "સ્થિતિ"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4835,7 +4835,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4844,44 +4844,49 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "હોસ્ટનું નામ સ્થાપિત કર્યું"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Server Administration"
msgid "Administrator password"
msgstr "સર્વર સંચાલન"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4889,11 +4894,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.1\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1907,7 +1907,7 @@ msgstr "स्थिति"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "डोमेन"
@ -5195,7 +5195,7 @@ msgstr "कनेक्शन {name} हटाया गया."
msgid "Failed to delete connection: Connection not found."
msgstr "कनेक्शन हटाने में विफल: कनेक्शन नहीं मिला."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5204,44 +5204,49 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "होस्ट नाम सेट हो गया"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "व्यवस्थापक पासवर्ड"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). Leave "
@ -5255,13 +5260,13 @@ msgstr ""
"मीडियाविकी एेडमिन अकाउंट के लिये नया पासवर्ड सेट करें (एेडमिन). वर्तमान पासवर्ड रखने के "
"लिए इस फ़ील्ड को रिक्त छोड़ें."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default app set"
msgid "Default phone region"
msgstr "डिफ़ॉल्ट एेप सेट"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.2-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1873,7 +1873,7 @@ msgstr "Állapot"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domain"
@ -5268,7 +5268,7 @@ msgstr "Kapcsolat törölve: {name}."
msgid "Failed to delete connection: Connection not found."
msgstr "A kapcsolat törlése sikertelen, mivel nem található."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5277,46 +5277,51 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Következő"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Állomásnév beállítva"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Rendszergazdai jelszó"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5334,13 +5339,13 @@ msgstr ""
"karakterből</strong> kell állnia. Hagyd üresen ezt a mezőt, ha meg szeretnéd "
"tartani a jelenlegi jelszót."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default app set"
msgid "Default phone region"
msgstr "Alapértelmezett alkalmazás beállítva"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Indonesian (FreedomBox)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -14,7 +14,7 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1867,7 +1867,7 @@ msgstr "Status"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domain"
@ -5005,7 +5005,7 @@ msgstr "Koneksi {name} dihapus."
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5014,44 +5014,49 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Hostname set"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Kata Sandi Administrator"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -5059,11 +5064,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1841,7 +1841,7 @@ msgstr "Stato"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
#, fuzzy
msgid "Domain"
msgstr "Dominio"
@ -5081,7 +5081,7 @@ msgstr "Connessione {name} cancellata."
msgid "Failed to delete connection: Connection not found."
msgstr "Cancellazione connessione fallita: connessione non trovata."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5090,44 +5090,48 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
msgid "Not set"
msgstr "Imposta hostname"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Password Amministratore"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). Leave "
@ -5141,13 +5145,13 @@ msgstr ""
"Imposta una nuova password per il profilo amministratore (admin) di "
"MediaWiki. Lascia vuoto questo campo per mantenere la password corrente."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default"
msgid "Default phone region"
msgstr "Default"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.18-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1651,7 +1651,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4542,7 +4542,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4551,42 +4551,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4594,11 +4597,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.2-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1651,7 +1651,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4542,7 +4542,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4551,42 +4551,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4594,11 +4597,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -21,7 +21,7 @@ msgstr ""
"1 : 2);\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1653,7 +1653,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4544,7 +4544,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4553,42 +4553,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4596,11 +4599,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -20,7 +20,7 @@ msgstr ""
"19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1652,7 +1652,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4543,7 +4543,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4552,42 +4552,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4595,11 +4598,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-03-28 01:01+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
@ -27,7 +27,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "Statisk oppsett {etc_path} er korrekt satt opp"
@ -1889,7 +1889,7 @@ msgstr "Status"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domene"
@ -5268,7 +5268,7 @@ msgstr "Tilkobling {name} slettet."
msgid "Failed to delete connection: Connection not found."
msgstr "Kunne ikke slette tilkobling: Tilkobling ikke funnet."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5277,46 +5277,51 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Neste"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Vertsnavn satt"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Administratorpassord"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). Leave "
@ -5330,13 +5335,13 @@ msgstr ""
"Sett et nytt passord for MediaWikis administratorkonto (admin). La dette "
"feltet stå tomt for å beholde gjeldende passord."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default app set"
msgid "Default phone region"
msgstr "Forvalgsprogram satt"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-03-30 16:18+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/freedombox/"
@ -21,7 +21,7 @@ msgstr ""
"X-Language: nl_NL\n"
"X-Source-Language: C\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "Statische configuratie {etc_path} is correct ingesteld"
@ -1842,7 +1842,7 @@ msgstr "Status"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domein"
@ -5202,7 +5202,7 @@ msgstr "Verbinding {name} verwijderd."
msgid "Failed to delete connection: Connection not found."
msgstr "Kan verbinding niet verwijderen: Verbinding niet gevonden."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5211,46 +5211,53 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr "Het verwijderen van een toepassing is een experimentele functie."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Volgende"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Hostnaam ingesteld"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Beheerderswachtwoord"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5267,13 +5274,13 @@ msgstr ""
"wachtwoord moet minimaal <strong>10 tekens</strong> zijn, en niet makkelijk "
"te raden. Laat dit veld leeg om het huidige wachtwoord te behouden."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default zone is external"
msgid "Default phone region"
msgstr "Standaardzone is extern"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
@ -9097,9 +9104,6 @@ msgstr "Gujarati"
#~ "de inlogpagina en kunnen gebruikers alleen e-mails lezen en verzenden "
#~ "vanaf deze {box_name}."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Het verwijderen van een toepassing is een experimentele functie."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/freedombox/"
@ -20,7 +20,7 @@ msgstr ""
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1854,7 +1854,7 @@ msgstr "Stan"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domena"
@ -4947,7 +4947,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4956,44 +4956,49 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Nazwa hosta ustawiona"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Account"
msgid "Administrator password"
msgstr "Konto Administratora"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -5001,11 +5006,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.18-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1794,7 +1794,7 @@ msgstr "Estado"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
#, fuzzy
#| msgid "Domain Name"
msgid "Domain"
@ -4847,7 +4847,7 @@ msgstr "Ligação {name} eliminada."
msgid "Failed to delete connection: Connection not found."
msgstr "Falha ao eliminar a ligação: Ligação não encontrada."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4856,44 +4856,49 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Nome de hospedeiro definido"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Account"
msgid "Administrator password"
msgstr "Conta de administrador"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4901,11 +4906,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,23 +7,23 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"PO-Revision-Date: 2022-10-10 18:05+0000\n"
"Last-Translator: Nikita Epifanov <nikgreens@protonmail.com>\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-04-22 17:07+0000\n"
"Last-Translator: Yurt Page <yurtpage@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/freedombox/"
"freedombox/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.14.1\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
msgstr "Статическая конфигурация {etc_path} правильно настроена"
#: context_processors.py:23 views.py:116
msgid "FreedomBox"
@ -110,7 +110,7 @@ msgstr "Публичная видимость"
#: menu.py:108
msgid "Data"
msgstr ""
msgstr "Данные"
#: menu.py:110 templates/base.html:131
msgid "System"
@ -130,6 +130,8 @@ msgstr "Администрирование сервера"
#: middleware.py:131
msgid "System is possibly under heavy load. Please retry later."
msgstr ""
"Система, возможно, находится под большой нагрузкой. Пожалуйста повторите "
"позже."
#: modules/apache/__init__.py:32
msgid "Apache HTTP Server"
@ -1323,17 +1325,19 @@ msgstr "Отключить ведение журнала для обеспече
#: modules/config/forms.py:107
msgid "Keep some in memory until a restart, for performance"
msgstr ""
msgstr "Сохранить некоторые в памяти до перезапуска, для производительности"
#: modules/config/forms.py:110
msgid "Write to disk, useful for debugging"
msgstr ""
msgstr "Записать на диск, полезно для отладки"
#: modules/config/forms.py:112
msgid ""
"Logs contain information about who accessed the system and debug information "
"from various services"
msgstr ""
"Журналы содержат информацию о том, кто получил доступ к системе и "
"отлададочной информацию от различных служб"
#: modules/config/views.py:49
#, python-brace-format
@ -1566,7 +1570,7 @@ msgstr "Запустить диагностику"
#: modules/diagnostics/__init__.py:308
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
msgstr "Найдены {issue_count} проблем во время обычных проверок."
#: modules/diagnostics/__init__.py:309
#, fuzzy
@ -1865,7 +1869,7 @@ msgstr "Статус"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Домен"
@ -2026,7 +2030,7 @@ msgstr "Yaxim"
#: modules/ejabberd/manifest.py:55
msgid "Monal - XMPP Chat"
msgstr ""
msgstr "Monal - XMPP чат"
#: modules/ejabberd/manifest.py:64
msgid "Siskin IM"
@ -2253,11 +2257,11 @@ msgstr "Приложение по умолчанию настроено"
#: modules/firewall/__init__.py:283
msgid "Firewall backend is nftables"
msgstr ""
msgstr "Бекендом фаервола является nftables"
#: modules/firewall/__init__.py:297
msgid "Direct passthrough rules exist"
msgstr ""
msgstr "Существуют правила прямого прохода"
#: modules/firewall/components.py:139
#, python-brace-format
@ -2634,6 +2638,12 @@ msgid ""
"href=\"https://sources.debian.org/\">Debian Sources</a> site, or by running "
"\"apt source <i>package_name</i>\" in a terminal (using Cockpit or SSH)."
msgstr ""
"%(box_name)s - это свободное ПО, лицензированное по лицензии GNU Affero "
"General Public License. <a href=\"http://salsa.debian.org/freedombox-team/"
"freedombox\"> %(box_name)s репозиторий</a>. Кроме того, исходный код любого "
"пакета Debian может быть получен из <a href=\"https://sources.debian.org/"
"\">Debian Sources</a> site, или путем запуска \"apt source <i>package_name</"
"i>\" в терминале (с использованием Cockpit или SSH)."
#: modules/help/templates/help_about.html:82
#, python-format
@ -2700,38 +2710,40 @@ msgstr "Подробнее..."
#: modules/help/templates/help_contribute.html:46
msgid "How can I help?"
msgstr ""
msgstr "Как я могу помочь?"
#: modules/help/templates/help_contribute.html:48
msgid ""
"Below is a list of opportunities for contributing to Debian. It has been "
"filtered to only show packages that are installed on this system."
msgstr ""
"Ниже приведен список возможностей для внесения вклада в Debian. Он был "
"отфильтрован только для показа пакетов, которые установлены на этой системе."
#: modules/help/templates/help_contribute.html:59
msgid "Show issues"
msgstr ""
msgstr "Показать проблемы"
#: modules/help/templates/help_contribute.html:63
msgid "Packages that will be removed from Debian testing"
msgstr ""
msgstr "Пакеты которые будут удалены из Debian testing"
#: modules/help/templates/help_contribute.html:69
#: modules/help/templates/help_contribute.html:85
msgid "source package:"
msgstr ""
msgstr "исходный пакет:"
#: modules/help/templates/help_contribute.html:80
msgid "Packages that are not in Debian testing"
msgstr ""
msgstr "Пакеты которые не находятся в Debian testing"
#: modules/help/templates/help_contribute.html:92
msgid "Good first issues for beginners"
msgstr ""
msgstr "Хорошие первые задачи для начинающих"
#: modules/help/templates/help_contribute.html:104
msgid "Issues for which the package maintainer has requested help"
msgstr ""
msgstr "Проблемы для которых сопровождающий пакета запросил помощь"
#: modules/help/templates/help_feedback.html:12
#, python-format
@ -3186,6 +3198,10 @@ msgid ""
"Wikipedia available without using the internet, but it is potentially "
"suitable for all HTML content. Kiwix packages are in the ZIM file format."
msgstr ""
"Kiwix является офлайн-читателкой для веб-контента. Это программа "
"предназначенная для того,чтобы сделать Википедию доступной автономно без "
"Интернета, но оно потенциально подходит для всего HTML-контента. Пакеты "
"Kiwix находятся в формате ZIM."
#: modules/kiwix/__init__.py:25
msgid ""
@ -3199,6 +3215,14 @@ msgid ""
" <li>Magazines: Low-tech Magazine</li>\n"
" </ul>"
msgstr ""
"Kiwix может хранить различные виды контента:\n"
"<ul>\n"
"<li>Автономные версии веб-сайтов: проекты Wikimedia, Stack Exchange</li>\n"
"<li>Видео контент: Академия Хана, TED Talks, Crash Course</li>\n"
"<li>Обучающие материалы: PHET, TED Ed, Vikidia</li>\n"
"<li>Электронные книги: Проект «Гу́тенберг»</li>\n"
"<li>Журналы: Low-tech Magazine</li>\n"
"</ul>"
#: modules/kiwix/__init__.py:33
#: modules/kiwix/templates/kiwix-add-package.html:14
@ -3208,10 +3232,15 @@ msgid ""
"project or <a href=\"https://openzim.org/wiki/Build_your_ZIM_file\" "
"target=\"_blank\" rel=\"noopener noreferrer\">create</a> your own."
msgstr ""
"Вы можете <a href=\"https://library.kiwix.org\" target=\"_blank\" "
"rel=\"noopener noreferrer\">скачать</a> пакеты контента от проекта Kiwix или "
"<a href=\"https://openzim.org/wiki/Build_your_ZIM_file\" target=\"_blank\" "
"rel=\"noopener noreferrer\">создать</a> свой собственный."
#: modules/kiwix/__init__.py:53
#, fuzzy
msgid "Manage Kiwix content server"
msgstr ""
msgstr "Управление сервером контента Kiwix"
#: modules/kiwix/__init__.py:56 modules/kiwix/manifest.py:8
msgid "Kiwix"
@ -3219,7 +3248,7 @@ msgstr ""
#: modules/kiwix/__init__.py:57
msgid "Offline Wikipedia"
msgstr ""
msgstr "Локальная Википедия"
#: modules/kiwix/forms.py:23
#, fuzzy
@ -3238,7 +3267,7 @@ msgstr ""
#: modules/kiwix/templates/kiwix-add-package.html:24
#, python-format
msgid "You have %(max_filesize)s of free disk space available."
msgstr ""
msgstr "У вас %(max_filesize)s свободного дискового пространства."
#: modules/kiwix/templates/kiwix-add-package.html:36
#, fuzzy
@ -3260,7 +3289,7 @@ msgstr ""
#: modules/kiwix/templates/kiwix.html:11
msgid "Manage Content Packages"
msgstr ""
msgstr "Управление пакетами контента"
#: modules/kiwix/templates/kiwix.html:15
#, fuzzy
@ -3288,7 +3317,7 @@ msgstr "Удаление узла %(site)s"
#: modules/kiwix/views.py:49
msgid "Content package added."
msgstr ""
msgstr "Добавлен пакет контента."
#: modules/kiwix/views.py:54
#, fuzzy
@ -3475,6 +3504,9 @@ msgid ""
"Disabled. This could lead to adversaries registering many spam accounts on "
"your server with automated scripts."
msgstr ""
"Отключено. Это может привести к тому что злоумышленники зарегистрируют много "
"спамных учётных записей на вашем сервере с помощью автоматизированных "
"скриптов."
#: modules/matrixsynapse/forms.py:18
msgid ""
@ -3482,6 +3514,10 @@ msgid ""
"will be created automatically. Pass this token to your potential new users. "
"They will be asked for the token during registration. (recommended)"
msgstr ""
"Требуется чтобы пользователи создающие новую учетную запись использовали "
"регистрационный токен. Токен будет создан автоматически. Передайте этот "
"токен своим потенциальным новым пользователям. Во время регистрации их "
"спросит токен. (рекомендуется)"
#: modules/matrixsynapse/forms.py:27
msgid "Enable Public Registration"
@ -3500,7 +3536,7 @@ msgstr ""
#: modules/matrixsynapse/forms.py:33
msgid "Verification method for registration"
msgstr ""
msgstr "Метод проверки регистрации"
#: modules/matrixsynapse/forms.py:40
#, python-brace-format
@ -3593,6 +3629,8 @@ msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
"Новые пользователи должны использовать один из следующих токенов для "
"проверки во время регистрации учетной записи:"
#: modules/matrixsynapse/templates/matrix-synapse.html:38
#, fuzzy
@ -3620,11 +3658,11 @@ msgstr "Пропустить регистрацию"
#: modules/matrixsynapse/templates/matrix-synapse.html:42
msgid "Expiry Time"
msgstr ""
msgstr "Время истечения"
#: modules/matrixsynapse/templates/matrix-synapse.html:51
msgid "Unlimited"
msgstr ""
msgstr "Неограниченное"
#: modules/matrixsynapse/templates/matrix-synapse.html:75
#, python-format
@ -3641,6 +3679,7 @@ msgstr ""
#: modules/matrixsynapse/views.py:140
msgid "Registration configuration cannot be updated when app is disabled."
msgstr ""
"Конфигурация регистрации не может быть обновлена когда приложение отключено."
#: modules/mediawiki/__init__.py:21
msgid ""
@ -5234,7 +5273,7 @@ msgstr "Подключение {name} удалено."
msgid "Failed to delete connection: Connection not found."
msgstr "Не удалось удалить подключение: соединение не найдено."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5242,47 +5281,59 @@ msgid ""
"and mobile clients. The Nextcloud server provides a well integrated web "
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
"NextCloud это платформа производительности, которая обеспечивает приватные и "
"безопасные функции для обмена файлами, совместной работы и многое другое. "
"NextCloud включает в себя сервер NextCloud, клиентские приложения для "
"настольных компьютеров и мобильных клиентов. Сервер NextCloud предоставляет "
"хорошо интегрированный веб-интерфейс."
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgstr ""
#, fuzzy
#| msgid "All users of FreedomBox can use Nextcloud."
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr "Все пользователи FreedomBox могут использовать NextCloud."
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Следующий"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
msgstr "Хранение файлов и сотрудничество"
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Смена имени хоста"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr "Примеры: «myfreedombox.example.org» или «example.onion»."
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Пароль администратора"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5300,17 +5351,19 @@ msgstr ""
"<strong>10 символов</strong>. Оставьте это поле пустым, чтобы сохранить "
"текущий пароль."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default app set"
msgid "Default phone region"
msgstr "Приложение по умолчанию настроено"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
msgstr ""
"Телефонная область по умолчанию необходима для проверки номера телефонов в "
"настройках профиля без кода страны."
#: modules/nextcloud/views.py:53
#, fuzzy
@ -5699,7 +5752,7 @@ msgstr "Завершить работу сейчас"
#: modules/privacy/__init__.py:15
msgid "Manage system-wide privacy settings."
msgstr ""
msgstr "Управление общесистемными настройками приватности."
#: modules/privacy/__init__.py:32 modules/privacy/__init__.py:70
#, fuzzy
@ -5710,14 +5763,16 @@ msgstr "Privoxy"
#: modules/privacy/__init__.py:68
msgid "Please update privacy settings to match your preferences."
msgstr ""
"Пожалуйста, обновляйте настройки приватности чтобы соответствовать вашим "
"предпочтениям."
#: modules/privacy/__init__.py:73
msgid "Review privacy setting"
msgstr ""
msgstr "Проверьте настройки приватности"
#: modules/privacy/forms.py:15
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
msgstr "Периодически отсылать список используемых приложений (предлагаемых)"
#: modules/privacy/forms.py:17
#, python-brace-format
@ -5729,6 +5784,12 @@ msgid ""
"target=\"_blank\">popcon.debian.org</a>. Submission happens over the Tor "
"network for additional anonymity if Tor app is enabled."
msgstr ""
"Помогите разработчикам Debian/{box_name} участвуя в программе опроса "
"Конкурса Популярности. При включении список приложений используемых в этой "
"системе будет анонимно отсылаться в Debian каждую неделю. Статистика "
"собранных данных доступна на сайте <a href=\"https://popcon.debian.org/\" "
"target=\"_blank\">popcon.debian.org</a>. Отправка происходит через сеть Tor "
"для дополнительной анонимности, если приложение Tor включено."
#: modules/privoxy/__init__.py:25
msgid ""
@ -5982,12 +6043,19 @@ msgid ""
"uncheck this option. When unchecked, a text entry field is added to the "
"login page so the user can specify to which account they wish to connect."
msgstr ""
"При включении пользователи могут только читать и отправлять почту через этот "
"{box_name}. Если вы хотите использовать RoundCube с внешней почтовой учетной "
"записью, такой как Gmail, вы должны отменить эту опцию. При непроверке на "
"страницу входа в систему добавляется поле ввода текста, чтобы пользователь "
"мог указать, к какой учетной записи он хочет подключиться."
#: modules/rssbridge/__init__.py:21
msgid ""
"RSS-Bridge generates RSS and Atom feeds for websites that do not have one. "
"Generated feeds can be consumed by any feed reader."
msgstr ""
"RSS-Bridge генерирует RSS и Atom-каналы для веб-сайтов у которых их нет. "
"Генерированные каналы могут быть прочитаны любой читателкой."
#: modules/rssbridge/__init__.py:24
#, fuzzy, python-brace-format
@ -9126,6 +9194,12 @@ msgstr ""
msgid "Gujarati"
msgstr "Гуджарати"
#~ msgid "To perform administrative actions, use the "
#~ msgstr "Для выполнения административных действий, используйте "
#~ msgid "You can set a new password in the \"Configuration\" section below."
#~ msgstr "Вы можете установить новый пароль в разделе «Конфигурация» ниже."
#~ msgid "Storage snapshots configuration updated"
#~ msgstr "Настройки хранения снапшотов обновлены"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.7-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1651,7 +1651,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4542,7 +4542,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4551,42 +4551,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4594,11 +4597,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -20,7 +20,7 @@ msgstr ""
"n%100==4 ? 2 : 3;\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1812,7 +1812,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4779,7 +4779,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4788,44 +4788,47 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Server Administration"
msgid "Administrator password"
msgstr "Skrbništvo strežnika"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4833,11 +4836,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"PO-Revision-Date: 2024-03-26 11:03+0000\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-04-09 20:35+0000\n"
"Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
"Language-Team: Albanian <https://hosted.weblate.org/projects/freedombox/"
"freedombox/sq/>\n"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "Formësimi statik {etc_path} është ujdisur si duhet"
@ -107,7 +107,7 @@ msgstr "Dukshmëri"
#: menu.py:108
msgid "Data"
msgstr ""
msgstr "Të dhëna"
#: menu.py:110 templates/base.html:131
msgid "System"
@ -1841,7 +1841,7 @@ msgstr "Gjendje"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Përkatësi"
@ -2236,7 +2236,7 @@ msgstr "Mekanizëm firewall-i është nftables"
#: modules/firewall/__init__.py:297
msgid "Direct passthrough rules exist"
msgstr ""
msgstr "Ka rregulla të drejtpërdrejta “passthrough”"
#: modules/firewall/components.py:139
#, python-brace-format
@ -5225,7 +5225,7 @@ msgstr "Lidhja {name} u fshi."
msgid "Failed to delete connection: Connection not found."
msgstr "Su arrit të fshihet lidhje: Su gjet lidhje."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5233,83 +5233,85 @@ msgid ""
"and mobile clients. The Nextcloud server provides a well integrated web "
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
"Nextcloud-i është një platformë e vetëstrehuar prodhimtarie, që furnizon "
"funksione private dhe të siguruara për dhënie kartelash, veprimtari në "
"bashkëpunim, etj. Nextcloud-i përfshin shërbyesin Nextcloud, aplikacione "
"klient për kompjutera desktop dhe klientë celulari. Shërbyesi Nextcloud "
"furnizon një ndërfaqe web të integruar paq."
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
#| msgid "All users of FreedomBox can use Nextcloud."
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr "Nextcloud-in mund ta përdorin krejt përdoruesit e FreedomBox-it."
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr "Çinstalimi i një aplikacioni është një veçori eksperimentale."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Pasuesi"
msgstr "Nextcloud"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
msgstr "Depozitim Kartelash &amp; Bashkëpunim"
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Strehëemri u caktua"
#: modules/nextcloud/forms.py:27
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Fjalëkalim Përgjegjësi"
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr "Shembuj: “myfreedombox.example.org”, ose “example.onion”."
#: modules/nextcloud/forms.py:28
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
#| "password cannot be a common one and the minimum required length is "
#| "<strong>10 characters</strong>. Leave this field blank to keep the "
#| "current password."
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr "Fjalëkalim përgjegjësi"
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
"required length is <strong>10 characters</strong>. Leave this field blank to "
"keep the current password."
msgstr ""
"Caktoni një fjalëkalim të ri për llogarinë e përgjegjësit të MediaWiki-it "
"(admin). Fjalëkalimi smund të jetë i rëndomtë dhe gjatësia më e pakët e "
"domosdoshme është <strong>10 shenja</strong>. Që të mbani fjalëkalimin e "
"tanishëm, lëreni të zbrazët këtë fushë."
"Opsionale. Caktoni një fjalëkalim të ri për llogarinë e përgjegjësit të "
"Nextcloud-it (nextcloud-admin). Fjalëkalimi smund të jetë i rëndomtë dhe "
"gjatësia më e pakët e domosdoshme është <strong>10 shenja</strong>. Që të "
"mbani fjalëkalimin e tanishëm, lëreni të zbrazët këtë fushë."
#: modules/nextcloud/forms.py:35
#, fuzzy
#| msgid "Default zone is external"
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr "Zona parazgjedhje është e jashtme"
msgstr "Zonë telefonike parazgjedhje"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
msgstr ""
"Rajoni telefonik parazgjedhje është i domosdoshëm për të verifikuar numra "
"telefonash te rregullimet e profilit pa një kod vendi."
#: modules/nextcloud/views.py:53
#, fuzzy
#| msgid "Password update failed. Please choose a stronger password"
msgid "Password update failed. Please choose a stronger password."
msgstr ""
"Përditësimi i fjalëkalimit dështoi. Ju lutemi, zgjidhni një fjalëkalim më të "
"fortë"
"fortë."
#: modules/openvpn/__init__.py:20
#, python-brace-format
@ -7884,6 +7886,8 @@ msgstr "Emri i përdoruesit është i zënë, ose i rezervuar."
msgid ""
"Optional. Used to send emails to reset password and important notifications."
msgstr ""
"Opsionale. E përdorur për të dërguar email-e për ricaktim fjalëkalimesh dhe "
"njoftime të rëndësishme."
#: modules/users/forms.py:106
msgid ""
@ -9088,6 +9092,20 @@ msgstr "para çinstalimit të {app_id}"
msgid "Gujarati"
msgstr "Gujaratase"
#~ msgid "To perform administrative actions, use the "
#~ msgstr "Që të kryeni veprime administrative, përdorni "
#~ msgid "You can set a new password in the \"Configuration\" section below."
#~ msgstr "Mund të caktoni një fjalëkalim të ri te pjesa “Formësim” më poshtë."
#~ msgid ""
#~ "Please note, that Nextcloud isn't maintained by Debian, which means "
#~ "security and feature updates are applied independently."
#~ msgstr ""
#~ "Ju lutemi, kini parasysh, se Nextcloud-i smirëmbahet nga Debian-i, që do "
#~ "të thotë se përditësime sigurie dhe veçorish aplikohen në mënyrë të "
#~ "pavarur."
#~ msgid "Storage snapshots configuration updated"
#~ msgstr "U përditësua formësim për depozitim fotografimesh"
@ -9139,9 +9157,6 @@ msgstr "Gujaratase"
#~ "kundrejt shërbyesit dhe përdoruesit mund të lexojnë dhe dërgojnë email-e "
#~ "vetëm prej këtij {box_name}."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Çinstalimi i një aplikacioni është një veçori eksperimentale."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -20,7 +20,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.14.1-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1734,7 +1734,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4663,7 +4663,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4672,44 +4672,47 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Server Administration"
msgid "Administrator password"
msgstr "Administracija Servera"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4717,11 +4720,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-02-02 20:01+0000\n"
"Last-Translator: bittin1ddc447d824349b2 <bittin@reimu.nl>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/freedombox/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "Statisk konfiguration {etc_path} är inställd korrekt"
@ -1832,7 +1832,7 @@ msgstr "Status"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Domän"
@ -5187,7 +5187,7 @@ msgstr "Anslutning {name} borttagen."
msgid "Failed to delete connection: Connection not found."
msgstr "Det gick inte att ta bort anslutning: Anslutning hittades inte."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5196,46 +5196,53 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr "Att avinstallera en app är en experimentell funktion."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Nästa"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Värdnamn inställt"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Administratörs lösenord"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5253,13 +5260,13 @@ msgstr ""
"tecken</strong>. Lämna det här fältet tomt om du vill behålla det nuvarande "
"lösenordet."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default zone is external"
msgid "Default phone region"
msgstr "Standardzonen är extern"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
@ -9073,9 +9080,6 @@ msgstr "Gujarati"
#~ "inloggningssidan och användarna kan endast läsa och skicka e-"
#~ "postmeddelanden från denna {box_name}."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Att avinstallera en app är en experimentell funktion."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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"
@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1650,7 +1650,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4541,7 +4541,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4550,42 +4550,45 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
#: modules/nextcloud/forms.py:19
msgid "Not set"
msgstr ""
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr ""
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4593,11 +4596,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-02-11 20:14+0000\n"
"Last-Translator: Sunil Mohan Adapa <sunil@medhas.org>\n"
"Language-Team: Telugu <https://hosted.weblate.org/projects/freedombox/"
@ -21,7 +21,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "స్టాటిక్ కాన్ఫిగరేషన్ {etc_path} సరిగ్గా సెటప్ చేయబడింది"
@ -1793,7 +1793,7 @@ msgstr "స్థితి"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "డొమైన్"
@ -5025,7 +5025,7 @@ msgstr "{name} అనుసంధానం తొలగించబడింద
msgid "Failed to delete connection: Connection not found."
msgstr "అనుసంధానం తొలగించడం విఫలమైంది: అనుసంధానం దొరకలేదు."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5034,46 +5034,51 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "తర్వాత"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "ఆతిథ్యనామం అమర్చు"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "నిర్వాహకుని రహస్యపదం"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5089,13 +5094,13 @@ msgstr ""
"మీడియావికీ యొక్క అడ్మినిస్ట్రేటర్ ఖాతా (admin) కోసం ఒక కొత్త పాస్వర్డ్ని సెట్ చెయ్యండి. ప్రస్తుత పాస్వర్డ్ని "
"ఉంచాలనుకుంటే ఈ ప్రదేశాన్ని ఖాళీగా వదిలేయండి."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default zone is external"
msgid "Default phone region"
msgstr "డిఫాల్ట్ జోన్ ఐస్ ఎక్స్టర్నల్"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"PO-Revision-Date: 2024-03-26 11:03+0000\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-04-09 20:35+0000\n"
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/freedombox/"
"freedombox/tr/>\n"
@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "Sabit yapılandırma {etc_path} düzgün bir şekilde ayarlanmış"
@ -1824,7 +1824,7 @@ msgstr "Durum"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Etki Alanı"
@ -5190,7 +5190,7 @@ msgstr "{name} bağlantısı silindi."
msgid "Failed to delete connection: Connection not found."
msgstr "Bağlantının silinmesi başarısız oldu: Bağlantı bulunamadı."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5198,80 +5198,83 @@ msgid ""
"and mobile clients. The Nextcloud server provides a well integrated web "
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
"Nextcloud, dosya paylaşımı, ortak çalışma ve daha fazlası için özel ve "
"güvenli işlevler sağlayan, kendi kendine barındırılan bir üretkenlik "
"platformudur. Nextcloud, Nextcloud sunucusunu, masaüstü bilgisayarlar için "
"istemci uygulamalarını ve mobil istemcileri içerir. Nextcloud sunucusu iyi "
"bütünleştirilmiş bir web arayüzü sağlar."
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
#| msgid "All users of FreedomBox can use Nextcloud."
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr "FreedomBox'ın tüm kullanıcıları Nextcloud'u kullanabilir."
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr "Bir uygulamayı kaldırmak, deneysel bir özelliktir."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "İleri"
msgstr "Nextcloud"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
msgstr "Dosya Depolama ve İşbirliği"
#: modules/nextcloud/forms.py:24
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Anamakine adı ayarlandı"
#: modules/nextcloud/forms.py:27
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Yönetici Parolası"
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr "Örnekler: \"freedomboxım.ornek.org\" veya \"ornek.onion\"."
#: modules/nextcloud/forms.py:28
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
#| "password cannot be a common one and the minimum required length is "
#| "<strong>10 characters</strong>. Leave this field blank to keep the "
#| "current password."
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr "Yönetici parolası"
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
"required length is <strong>10 characters</strong>. Leave this field blank to "
"keep the current password."
msgstr ""
"MediaWiki'nin yönetici hesabı (admin) için yeni bir parola ayarlayın. Parola "
"ortak bir parola olamaz ve gereken en az uzunluk <strong>10 karakterdir</"
"strong>. Şu anki parolayı korumak için bu alanı boş bırakın."
"İsteğe bağlı. Nextcloud'un yönetici hesabı (nextcloud-admin) için yeni bir "
"parola ayarlayın. Parola ortak bir parola olamaz ve gereken en az uzunluk "
"<strong>10 karakterdir</strong>. Şu anki parolayı korumak için bu alanı boş "
"bırakın."
#: modules/nextcloud/forms.py:35
#, fuzzy
#| msgid "Default zone is external"
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr "Varsayılan bölge haricidir"
msgstr "Varsayılan telefon bölgesi"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
msgstr ""
"Profil ayarlarındaki telefon numaralarını ülke kodu olmadan doğrulamak için "
"varsayılan telefon bölgesi gereklidir."
#: modules/nextcloud/views.py:53
#, fuzzy
#| msgid "Password update failed. Please choose a stronger password"
msgid "Password update failed. Please choose a stronger password."
msgstr "Parola güncelleme başarısız oldu. Lütfen daha güçlü bir parola seçin"
msgstr "Parola güncelleme başarısız oldu. Lütfen daha güçlü bir parola seçin."
#: modules/openvpn/__init__.py:20
#, python-brace-format
@ -9026,6 +9029,20 @@ msgstr "{app_id} kaldırılmadan önce"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "To perform administrative actions, use the "
#~ msgstr "Yönetimsel eylemleri gerçekleştirmek için şunu kullanın: "
#~ msgid "You can set a new password in the \"Configuration\" section below."
#~ msgstr ""
#~ "Aşağıdaki \"Yapılandırma\" bölümünden yeni bir parola belirleyebilirsiniz."
#~ msgid ""
#~ "Please note, that Nextcloud isn't maintained by Debian, which means "
#~ "security and feature updates are applied independently."
#~ msgstr ""
#~ "Nextcloud'un bakımının Debian tarafından yapılmadığını, yani güvenlik ve "
#~ "özellik güncellemelerinin bağımsız olarak uygulandığını lütfen unutmayın."
#~ msgid "Storage snapshots configuration updated"
#~ msgstr "Depolama anlık görüntü yapılandırması güncellendi"
@ -9077,9 +9094,6 @@ msgstr "Gujarati"
#~ "sayfasından kaldırılır ve kullanıcılar postaları sadece bu {box_name} "
#~ "cihazından okuyabilir ve gönderebilir."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Bir uygulamayı kaldırmak, deneysel bir özelliktir."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-02-05 00:01+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/freedombox/"
@ -20,7 +20,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.4-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr "Статична конфігурація {etc_path} налаштована належним чином"
@ -1840,7 +1840,7 @@ msgstr "Стан"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "Домен"
@ -5202,7 +5202,7 @@ msgstr "Зʼєднання {name} видалено."
msgid "Failed to delete connection: Connection not found."
msgstr "Не вдалося видалити зʼєднання: Зʼєднання не знайдено."
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -5211,46 +5211,53 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
#, fuzzy
#| msgid "Uninstalling an app is an experimental feature."
msgid "This app is experimental."
msgstr "Видалення застосунку — це експериментальна функція."
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
msgid "Nextcloud"
msgstr "Далі"
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Назву компʼютера задано"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Administrator Password"
msgid "Administrator password"
msgstr "Пароль адміністратора"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
#, fuzzy
#| msgid ""
#| "Set a new password for MediaWiki's administrator account (admin). The "
@ -5267,13 +5274,13 @@ msgstr ""
"Пароль не повинен бути поширеним і не повинен бути коротшим за <strong>10 "
"знаків</strong>. Залиште поле порожнім, щоб зберегти поточний пароль."
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
#, fuzzy
#| msgid "Default zone is external"
msgid "Default phone region"
msgstr "Усталена зона зовнішня"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."
@ -9081,9 +9088,6 @@ msgstr "Gujarati"
#~ "поле для введення даних сервера, і користувачі можуть тільки читати і "
#~ "відправляти листи з цієї адреси {box_name}."
#~ msgid "Uninstalling an app is an experimental feature."
#~ msgstr "Видалення застосунку — це експериментальна функція."
#~ msgid ""
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
#~ "your Internet traffic. It can be used to bypass Internet filtering and "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"POT-Creation-Date: 2024-04-22 20:02-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/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.7.2-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1867,7 +1867,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -4810,7 +4810,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4819,44 +4819,49 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "Đã đặt tên máy chủ"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Server Administration"
msgid "Administrator password"
msgstr "Quản trị máy chủ"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4864,11 +4869,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"PO-Revision-Date: 2024-03-26 11:03+0000\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-04-10 04:54+0000\n"
"Last-Translator: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate."
"org>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -1744,7 +1744,7 @@ msgstr "状态"
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr "域名"
@ -4717,7 +4717,7 @@ msgstr "连接 {name} 已删除。"
msgid "Failed to delete connection: Connection not found."
msgstr "删除连接失败: 找不到连接。"
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4726,44 +4726,47 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "主机名设置"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#, fuzzy
#| msgid "Administrator Password"
#: modules/nextcloud/forms.py:30
msgid "Administrator password"
msgstr "管理员密码"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4771,13 +4774,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#, fuzzy
#| msgid "Default zone is external"
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr "默认区域是外部的"
msgstr "默认手机区域"
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-08 20:47-0400\n"
"PO-Revision-Date: 2021-12-23 12:50+0000\n"
"Last-Translator: pesder <j_h_liau@yahoo.com.tw>\n"
"POT-Creation-Date: 2024-04-22 20:02-0400\n"
"PO-Revision-Date: 2024-04-17 08:03+0000\n"
"Last-Translator: Ray Kuo <ray20140811@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"freedombox/freedombox/zh_Hant/>\n"
"Language: zh_Hant\n"
@ -17,9 +17,9 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.10.1\n"
"X-Generator: Weblate 5.5-dev\n"
#: config.py:120
#: config.py:103
#, python-brace-format
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
@ -55,7 +55,7 @@ msgstr "無法連線到 {host}:{port}"
#: forms.py:36
msgid "Backup app before uninstall"
msgstr ""
msgstr "解除安裝前備份應用程式"
#: forms.py:37
msgid "Restoring from the backup will restore app data."
@ -105,16 +105,16 @@ msgstr ""
#: menu.py:108
msgid "Data"
msgstr ""
msgstr "資料"
#: menu.py:110 templates/base.html:131
msgid "System"
msgstr ""
msgstr "系統"
#: menu.py:112 modules/networks/templates/connection_show.html:259
#: modules/security/__init__.py:35
msgid "Security"
msgstr ""
msgstr "安全性"
#: menu.py:114
#, fuzzy
@ -1732,7 +1732,7 @@ msgstr ""
#: modules/dynamicdns/templates/dynamicdns.html:18
#: modules/email/templates/email.html:35
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:23
#: modules/mediawiki/forms.py:64 modules/nextcloud/forms.py:26
msgid "Domain"
msgstr ""
@ -2345,7 +2345,7 @@ msgstr ""
#: modules/help/__init__.py:33
msgid "Documentation"
msgstr ""
msgstr "文件"
#: modules/help/__init__.py:37 templates/help-menu.html:20
#: templates/help-menu.html:21 templates/index.html:124
@ -4667,7 +4667,7 @@ msgstr ""
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: modules/nextcloud/__init__.py:19
#: modules/nextcloud/__init__.py:20
msgid ""
"Nextcloud is a self-hosted productivity platform which provides private and "
"secure functions for file sharing, collaborative work, and more. Nextcloud "
@ -4676,44 +4676,49 @@ msgid ""
"interface."
msgstr ""
#: modules/nextcloud/__init__.py:24
msgid "All users of FreedomBox can use Nextcloud."
msgstr ""
#: modules/nextcloud/__init__.py:25
msgid "To perform administrative actions, use the "
msgid "All users of FreedomBox can use Nextcloud. To perform administrative "
msgstr ""
#: modules/nextcloud/__init__.py:27
msgid "You can set a new password in the \"Configuration\" section below."
msgstr ""
#: modules/nextcloud/__init__.py:28
#: modules/nextcloud/__init__.py:29
#, python-brace-format
msgid ""
"Please note, that Nextcloud isn't maintained by Debian, which means security "
"and feature updates are applied independently."
"Please note that Nextcloud is installed and run inside a container provided "
"by the Nextcloud project. Security, quality, privacy and legal reviews are "
"done by the upstream project and not by Debian/{box_name}. Updates are "
"performed following an independent cycle."
msgstr ""
#: modules/nextcloud/__init__.py:47 modules/nextcloud/manifest.py:11
#: modules/nextcloud/__init__.py:35
msgid "This app is experimental."
msgstr ""
#: modules/nextcloud/__init__.py:53 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
#: modules/nextcloud/__init__.py:49
#: modules/nextcloud/__init__.py:55
msgid "File Storage & Collaboration"
msgstr ""
#: modules/nextcloud/forms.py:24
#: modules/nextcloud/forms.py:19
#, fuzzy
#| msgid "Hostname set"
msgid "Not set"
msgstr "主機名稱設定"
#: modules/nextcloud/forms.py:27
msgid "Examples: \"myfreedombox.example.org\" or \"example.onion\"."
msgstr ""
#: modules/nextcloud/forms.py:27
#: modules/nextcloud/forms.py:30
#, fuzzy
#| msgid "Server Administration"
msgid "Administrator password"
msgstr "伺服器管理"
#: modules/nextcloud/forms.py:28
#: modules/nextcloud/forms.py:31
msgid ""
"Optional. Set a new password for Nextcloud's administrator account "
"(nextcloud-admin). The password cannot be a common one and the minimum "
@ -4721,11 +4726,11 @@ msgid ""
"keep the current password."
msgstr ""
#: modules/nextcloud/forms.py:35
#: modules/nextcloud/forms.py:38
msgid "Default phone region"
msgstr ""
#: modules/nextcloud/forms.py:36
#: modules/nextcloud/forms.py:39
msgid ""
"The default phone region is required to validate phone numbers in the "
"profile settings without a country code."

View File

@ -4,7 +4,7 @@
from django.utils.translation import gettext_lazy as _
from plinth import app as app_module
from plinth import frontpage, menu
from plinth import cfg, frontpage, menu
from plinth.config import DropinConfigs
from plinth.daemon import Daemon, SharedDaemon
from plinth.modules.apache.components import Webserver, diagnose_url
@ -12,6 +12,7 @@ from plinth.modules.backups.components import BackupRestore
from plinth.modules.firewall.components import (Firewall,
FirewallLocalProtection)
from plinth.package import Packages
from plinth.utils import format_lazy
from . import manifest, privileged
@ -21,12 +22,17 @@ _description = [
'and more. Nextcloud includes the Nextcloud server, client applications '
'for desktop computers, and mobile clients. The Nextcloud server '
'provides a well integrated web interface.'),
_('All users of FreedomBox can use Nextcloud.'),
_('To perform administrative actions, use the '
f'<strong>"{privileged.GUI_ADMIN}"</strong> user.'),
_('You can set a new password in the "Configuration" section below.'),
_('Please note, that Nextcloud isn\'t maintained by Debian, which means '
'security and feature updates are applied independently.')
_('All users of FreedomBox can use Nextcloud. To perform administrative '
f'actions, use the <strong>"{privileged.GUI_ADMIN}"</strong> user after '
'setting a password here.'),
format_lazy(
_('Please note that Nextcloud is installed and run inside a container '
'provided by the Nextcloud project. Security, quality, privacy and '
'legal reviews are done by the upstream project and not by '
'Debian/{box_name}. Updates are performed following an independent '
'cycle.'), box_name=_(cfg.box_name)),
format_lazy('<div class="alert alert-warning" role="alert">{}</div>',
_('This app is experimental.')),
]
@ -72,8 +78,7 @@ class NextcloudApp(app_module.App):
dropin_configs = DropinConfigs('dropin-configs-nextcloud', [
'/etc/apache2/conf-available/nextcloud-freedombox.conf',
'/etc/fail2ban/jail.d/nextcloud-freedombox.conf',
'/etc/fail2ban/filter.d/nextcloud-freedombox.conf',
'/etc/redis/conf.d/freedombox.conf',
])
self.add(dropin_configs)
@ -89,12 +94,6 @@ class NextcloudApp(app_module.App):
urls=['https://{host}/nextcloud/login'])
self.add(webserver)
daemon = Daemon('daemon-nextcloud', 'nextcloud-fbx')
self.add(daemon)
daemon = Daemon('daemon-nextcloud-timer', 'nextcloud-cron-fbx.timer')
self.add(daemon)
daemon = SharedDaemon('shared-daemon-podman-auto-update',
'podman-auto-update.timer')
self.add(daemon)
@ -106,6 +105,13 @@ class NextcloudApp(app_module.App):
daemon = SharedDaemon('shared-daemon-nextcloud-mysql', 'mysql')
self.add(daemon)
daemon = Daemon('daemon-nextcloud', 'nextcloud-freedombox')
self.add(daemon)
daemon = Daemon('daemon-nextcloud-timer',
'nextcloud-cron-freedombox.timer')
self.add(daemon)
backup_restore = NextcloudBackupRestore('backup-restore-nextcloud',
**manifest.backup)
self.add(backup_restore)
@ -113,7 +119,17 @@ class NextcloudApp(app_module.App):
def setup(self, old_version):
"""Install and configure the app."""
super().setup(old_version)
privileged.setup()
with self.get_component(
'shared-daemon-nextcloud-redis').ensure_running():
with self.get_component(
'shared-daemon-nextcloud-mysql').ensure_running():
# Database needs to be running for successful initialization or
# upgrade of Nextcloud database.
# Drop-in configs need to be enabled for setup to succeed
self.get_component('dropin-configs-nextcloud').enable()
privileged.setup()
if not old_version:
self.enable()
@ -135,9 +151,23 @@ class NextcloudBackupRestore(BackupRestore):
def backup_pre(self, packet):
"""Save database contents."""
super().backup_pre(packet)
privileged.dump_database()
self.app.get_component('dropin-configs-nextcloud').enable()
mysql = self.app.get_component('shared-daemon-nextcloud-mysql')
redis = self.app.get_component('shared-daemon-nextcloud-redis')
container = self.app.get_component('daemon-nextcloud')
with mysql.ensure_running():
with redis.ensure_running():
with container.ensure_running():
privileged.dump_database()
def restore_post(self, packet):
"""Restore database contents."""
super().restore_post(packet)
privileged.restore_database()
self.app.get_component('dropin-configs-nextcloud').enable()
mysql = self.app.get_component('shared-daemon-nextcloud-mysql')
redis = self.app.get_component('shared-daemon-nextcloud-redis')
container = self.app.get_component('daemon-nextcloud')
with mysql.ensure_running():
with redis.ensure_running():
with container.ensure_running():
privileged.restore_database()

View File

@ -1,7 +0,0 @@
[INCLUDES]
before = common.conf
[Definition]
_daemon = apache-access
prefregex = %(__prefix_line)s
failregex = \S+ <HOST>(?::\d+)? - \S+ \[[^\]]*\] "GET /nextcloud/login\?direct=1&user=\S+ HTTP/\S+" 200

View File

@ -1,4 +0,0 @@
[nextcloud-freedombox]
enabled = true
filter = nextcloud-freedombox
journalmatch = SYSLOG_IDENTIFIER=apache-access

View File

@ -0,0 +1,5 @@
# Listen on Unix socket for incoming connections in addition to listening on a
# TCP address/port.
unixsocket /run/redis/redis-server.sock
# Allow all users to connect to redis server using this socket
unixsocketperm 777

View File

@ -11,9 +11,12 @@ def _get_phone_regions():
from iso3166 import countries # type: ignore
phone_regions = [(country.alpha2, country.name)
for country in countries]
return sorted(phone_regions)
phone_regions = sorted(phone_regions)
except ImportError:
return [('US', 'United States of America')]
# Allow users to set a non-empty value
phone_regions = [('US', 'United States of America')]
return [('', _('Not set'))] + phone_regions
class NextcloudForm(forms.Form):

View File

@ -49,11 +49,8 @@ clients = [{
backup = {
'data': {
'directories': [
'/var/lib/containers/storage/volumes/nextcloud-volume-fbx/'
'/var/lib/containers/storage/volumes/nextcloud-volume-freedombox/'
],
'files': [
'/var/lib/plinth/backups-data/nextcloud-database.sql',
'/etc/redis/redis.conf'
]
'files': ['/var/lib/plinth/backups-data/nextcloud-database.sql']
}
}

View File

@ -1,10 +1,10 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""Configure Nextcloud."""
import os
import contextlib
import json
import pathlib
import random
import re
import secrets
import shutil
import string
import subprocess
@ -18,81 +18,86 @@ from plinth.actions import privileged
NETWORK_NAME = 'nextcloud-fbx'
BRIDGE_IP = '172.16.16.1'
CONTAINER_IP = '172.16.16.2'
CONTAINER_NAME = 'nextcloud-fbx'
VOLUME_NAME = 'nextcloud-volume-fbx'
CONTAINER_NAME = 'nextcloud-freedombox'
SERVICE_NAME = 'nextcloud-freedombox'
VOLUME_NAME = 'nextcloud-volume-freedombox'
IMAGE_NAME = 'docker.io/library/nextcloud:stable-apache'
DB_HOST = 'localhost'
DB_NAME = 'nextcloud_fbx'
DB_USER = 'nextcloud_fbx'
GUI_ADMIN = 'nextcloud-admin'
SOCKET_CONFIG_FILE = pathlib.Path('/etc/mysql/mariadb.conf.d/'
'99-freedombox.cnf')
SYSTEMD_LOCATION = '/etc/systemd/system/'
NEXTCLOUD_CONTAINER_SYSTEMD_FILE = pathlib.Path(
f'{SYSTEMD_LOCATION}{CONTAINER_NAME}.service')
NEXTCLOUD_CRON_SERVICE_FILE = pathlib.Path(
f'{SYSTEMD_LOCATION}nextcloud-cron-fbx.service')
NEXTCLOUD_CRON_TIMER_FILE = pathlib.Path(
f'{SYSTEMD_LOCATION}nextcloud-cron-fbx.timer')
REDIS_DB = 8 # Don't clash with other redis apps
_volume_path = pathlib.Path(
'/var/lib/containers/storage/volumes/') / VOLUME_NAME
_systemd_location = pathlib.Path('/etc/systemd/system/')
_cron_service_file = _systemd_location / 'nextcloud-cron-freedombox.service'
_cron_timer_file = _systemd_location / 'nextcloud-cron-freedombox.timer'
DB_BACKUP_FILE = pathlib.Path(
'/var/lib/plinth/backups-data/nextcloud-database.sql')
REDIS_CONFIG = '/etc/redis/redis.conf'
REDIS_CONFIG_AUG = f'/files{REDIS_CONFIG}'
@privileged
def setup():
"""Setup Nextcloud configuration."""
database_password = _generate_secret_key(16)
administrator_password = _generate_secret_key(16)
_configure_db_socket()
_configure_firewall(action='add', interface_name=NETWORK_NAME)
_create_database(database_password)
# Setup database
_create_database()
_set_database_privileges(database_password)
# Setup redis for caching
_redis_listen_socket()
action_utils.podman_run(
network_name=NETWORK_NAME, subnet='172.16.16.0/24',
bridge_ip=BRIDGE_IP, host_port='8181', container_port='80',
container_ip=CONTAINER_IP, volume_name=VOLUME_NAME,
container_name=CONTAINER_NAME, image_name=IMAGE_NAME,
extra_run_options=[
'--env=TRUSTED_PROXIES={BRIDGE_IP}',
container_ip=CONTAINER_IP, container_name=CONTAINER_NAME,
image_name=IMAGE_NAME, extra_run_options=[
'--volume=/run/mysqld/mysqld.sock:/run/mysqld/mysqld.sock',
'--volume=/run/redis/redis-server.sock:'
'/run/redis/redis-server.sock',
'--volume=/run/slapd/ldapi:/run/slapd/ldapi',
f'--volume={VOLUME_NAME}:/var/www/html',
f'--env=TRUSTED_PROXIES={BRIDGE_IP}',
'--env=OVERWRITEWEBROOT=/nextcloud'
])
_configure_firewall(action='add', interface_name=NETWORK_NAME)
# OCC isn't immediately available after the container is spun up.
# Wait until CAN_INSTALL file is available.
timeout = 300
while timeout > 0:
if os.path.exists('/var/lib/containers/storage/volumes/'
'nextcloud-volume-fbx/_data/config/CAN_INSTALL'):
if (_volume_path / '_data/config/CAN_INSTALL').exists():
break
timeout = timeout - 1
time.sleep(1)
_nextcloud_setup_wizard(database_password, administrator_password)
_bind_redis(f'127.0.0.1 -::1 {BRIDGE_IP}')
_set_redis_password(_generate_secret_key(16))
action_utils.service_restart('redis-server')
_create_redis_config(_get_redis_password())
# Check if LDAP has already been configured. This is necessary because
# if the setup proccess is rerun when updating the FredomBox app another
# redundant LDAP config would be created.
is_ldap_configured = _run_occ('ldap:test-config', 's01',
capture_output=True)
if is_ldap_configured != ('The configuration is valid and the connection '
'could be established!'):
_configure_ldap()
_create_redis_config()
_configure_ldap()
_configure_systemd()
def _run_occ(*args, capture_output: bool = False):
def _run_in_container(
*args, capture_output: bool = False, check: bool = True,
env: dict[str, str] | None = None) -> subprocess.CompletedProcess:
"""Run a command inside the container."""
env_args = [f'--env={key}={value}' for key, value in (env or {}).items()]
command = ['podman', 'exec', '--user', 'www-data'
] + env_args + [CONTAINER_NAME] + list(args)
return subprocess.run(command, capture_output=capture_output, check=check)
def _run_occ(*args, **kwargs) -> subprocess.CompletedProcess:
"""Run the Nextcloud occ command inside the container."""
occ = [
'podman', 'exec', '--user', 'www-data', CONTAINER_NAME, 'php', 'occ'
] + list(args)
return subprocess.run(occ, capture_output=capture_output, check=False)
return _run_in_container('/var/www/html/occ', *args, **kwargs)
@privileged
@ -122,18 +127,14 @@ def set_domain(domain_name: str):
_run_occ('config:system:set', 'overwriteprotocol', '--value', protocol)
# Restart to apply changes immediately
action_utils.service_restart('nextcloud-fbx')
action_utils.service_restart('nextcloud-freedombox')
@privileged
def set_admin_password(password: str):
"""Set password for owncloud-admin"""
subprocess.run([
'podman', 'exec', '--user', 'www-data', f'--env=OC_PASS={password}',
'-it', CONTAINER_NAME, 'sh', '-c',
("/var/www/html/occ "
f"user:resetpassword --password-from-env {GUI_ADMIN}")
], check=True)
_run_occ('user:resetpassword', '--password-from-env', GUI_ADMIN,
env={'OC_PASS': password})
@privileged
@ -162,17 +163,12 @@ def _configure_firewall(action, interface_name):
action_utils.service_restart('firewalld')
def _configure_db_socket():
file_content = f'''## This file is automatically generated by FreedomBox
## Enable database to create a socket for podman's bridge network
[mysqld]
bind-address = {BRIDGE_IP}
'''
SOCKET_CONFIG_FILE.write_text(file_content, encoding='utf-8')
action_utils.service_restart('mariadb')
def _database_query(query: str):
"""Run a database query."""
subprocess.run(['mysql'], input=query.encode(), check=True)
def _create_database(db_password):
def _create_database():
"""Create an empty MySQL database for Nextcloud."""
# SQL injection is avoided due to known input.
_db_file_path = pathlib.Path('/var/lib/mysql/nextcloud_fbx')
@ -182,32 +178,35 @@ def _create_database(db_password):
query = f'''CREATE DATABASE {DB_NAME} CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
'''
subprocess.run(['mysql', '--user', 'root'], input=query.encode(),
check=True)
_set_db_privileges(db_password)
_database_query(query)
def _set_db_privileges(db_password):
def _set_database_privileges(db_password: str):
"""Create user, set password and provide permissions on the database."""
query = f'''GRANT ALL PRIVILEGES ON {DB_NAME}.* TO
'{DB_USER}'@'{CONTAINER_IP}'
IDENTIFIED BY'{db_password}';
FLUSH PRIVILEGES;
'''
subprocess.run(['mysql', '--user', 'root'], input=query.encode(),
check=True)
queries = [
f"CREATE USER IF NOT EXISTS '{DB_USER}'@'localhost';",
f"GRANT ALL PRIVILEGES ON {DB_NAME}.* TO '{DB_USER}'@'localhost';",
f"ALTER USER '{DB_USER}'@'localhost' IDENTIFIED BY '{db_password}';",
]
for query in queries:
_database_query(query)
def _nextcloud_get_status():
"""Return Nextcloud status such installed, in maintenance, etc."""
output = _run_occ('status', '--output=json', capture_output=True)
return json.loads(output.stdout)
def _nextcloud_setup_wizard(db_password, admin_password):
admin_data_dir = pathlib.Path(
'/var/lib/containers/storage/volumes/nextcloud-volume-fbx/'
f'_data/data/{GUI_ADMIN}')
if not admin_data_dir.exists():
"""Run the Nextcloud installation wizard and enable cron jobs."""
if not _nextcloud_get_status()['installed']:
_run_occ('maintenance:install', '--database=mysql',
f'--database-name={DB_NAME}', f'--database-host={BRIDGE_IP}',
'--database-port=3306', f'--database-user={DB_USER}',
'--database-host=localhost:/run/mysqld/mysqld.sock',
f'--database-name={DB_NAME}', f'--database-user={DB_USER}',
f'--database-pass={db_password}', f'--admin-user={GUI_ADMIN}',
f'--admin-pass={admin_password}')
# For the server to work properly, it's important to configure background
# jobs correctly. Cron is the recommended setting.
_run_occ('background:cron')
@ -215,7 +214,14 @@ def _nextcloud_setup_wizard(db_password, admin_password):
def _configure_ldap():
_run_occ('app:enable', 'user_ldap')
_run_occ('ldap:create-empty-config')
# Check if LDAP has already been configured. This is necessary because
# if the setup proccess is rerun when updating the FredomBox app another
# redundant LDAP config would be created.
output = _run_occ('ldap:test-config', 's01', capture_output=True,
check=False)
if 'Invalid configID' in output.stdout.decode():
_run_occ('ldap:create-empty-config')
ldap_settings = {
'ldapBase': 'dc=thisbox',
@ -227,14 +233,12 @@ def _configure_ldap():
'ldapGroupFilterMode': '0',
'ldapGroupFilterObjectclass': 'posixGroup',
'ldapGroupMemberAssocAttr': 'memberUid',
'ldapHost': BRIDGE_IP,
'ldapHost': 'ldapi:///',
'ldapLoginFilter': '(&(|(objectclass=posixAccount))(uid=%uid))',
'ldapLoginFilterEmail': '0',
'ldapLoginFilterMode': '0',
'ldapLoginFilterUsername': '1',
'ldapNestedGroups': '0',
'ldapPort': '389',
'ldapTLS': '0',
'ldapUserDisplayName': 'cn',
'ldapUserFilter': '(|(objectclass=posixAccount))',
'ldapUserFilterMode': '0',
@ -251,75 +255,62 @@ def _configure_ldap():
def _configure_systemd():
systemd_content = subprocess.run(
['podman', 'generate', 'systemd', '--new', CONTAINER_NAME],
capture_output=True, check=True).stdout.decode()
"""Create systemd units files for container and cron jobs."""
# Create service and timer for running periodic php jobs.
NEXTCLOUD_CONTAINER_SYSTEMD_FILE.write_text(systemd_content,
encoding='utf-8')
nextcloud_cron_service_content = '''
doc = 'https://docs.nextcloud.com/server/stable/admin_manual/' \
'configuration_server/background_jobs_configuration.html#systemd'
nextcloud_cron_service_content = f'''
[Unit]
Description=Nextcloud cron.php job
Documentation={doc}
[Service]
ExecCondition=/usr/bin/podman exec --user www-data nextcloud-fbx php occ status -e
ExecStart=/usr/bin/podman exec --user www-data nextcloud-fbx php /var/www/html/cron.php
ExecCondition=/usr/bin/podman exec --user www-data {CONTAINER_NAME} /var/www/html/occ status -e
ExecStart=/usr/bin/podman exec --user www-data {CONTAINER_NAME} php -f /var/www/html/cron.php
KillMode=process
''' # noqa: E501
nextcloud_cron_timer_content = '''[Unit]
Description=Run Nextcloud cron.php every 5 minutes
Documentation={doc}
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
Unit=nextcloud-cron-fbx.service
Unit=nextcloud-cron-freedombox.service
[Install]
WantedBy=timers.target
'''
NEXTCLOUD_CRON_SERVICE_FILE.write_text(nextcloud_cron_service_content)
NEXTCLOUD_CRON_TIMER_FILE.write_text(nextcloud_cron_timer_content)
_cron_service_file.write_text(nextcloud_cron_service_content)
_cron_timer_file.write_text(nextcloud_cron_timer_content)
action_utils.service_daemon_reload()
@privileged
def uninstall():
"""Uninstall Nextcloud"""
# Set bind setting back to default in case other apps
# are still using it
_bind_redis('127.0.0.1 -::1')
action_utils.service_restart('redis-server')
_drop_database()
_remove_db_socket()
_configure_firewall(action='remove', interface_name=NETWORK_NAME)
action_utils.podman_uninstall(container_name=CONTAINER_NAME,
network_name=NETWORK_NAME,
volume_name=VOLUME_NAME,
image_name=IMAGE_NAME)
files = [NEXTCLOUD_CRON_SERVICE_FILE, NEXTCLOUD_CRON_TIMER_FILE]
for file in files:
file.unlink(missing_ok=True)
def _remove_db_socket():
SOCKET_CONFIG_FILE.unlink(missing_ok=True)
action_utils.service_restart('mariadb')
for path in [_cron_service_file, _cron_timer_file]:
path.unlink(missing_ok=True)
def _drop_database():
"""Drop the mysql database that was created during install."""
"""Drop the database that was created during install."""
with action_utils.service_ensure_running('mysql'):
query = f'''DROP DATABASE {DB_NAME};
DROP User '{DB_USER}'@'{CONTAINER_IP}';'''
subprocess.run(['mysql', '--user', 'root'], input=query.encode(),
check=True)
_database_query(f'DROP DATABASE IF EXISTS {DB_NAME};')
_database_query(f"DROP USER IF EXISTS '{DB_USER}'@'localhost';")
def _generate_secret_key(length=64, chars=None):
"""Generate a new random secret key for use with Nextcloud."""
chars = chars or (string.ascii_letters + string.digits)
rand = random.SystemRandom()
return ''.join(rand.choice(chars) for _ in range(length))
return ''.join(secrets.choice(chars) for _ in range(length))
def _set_maintenance_mode(on: bool):
@ -327,12 +318,22 @@ def _set_maintenance_mode(on: bool):
_run_occ('maintenance:mode', '--on' if on else '--off')
@contextlib.contextmanager
def _maintenance_mode():
"""Context to set maintenance mode temporarily."""
try:
_set_maintenance_mode(True)
yield
finally:
_set_maintenance_mode(False)
@privileged
def dump_database():
"""Dump database to file."""
_set_maintenance_mode(True)
DB_BACKUP_FILE.parent.mkdir(parents=True, exist_ok=True)
with action_utils.service_ensure_running('mysql'):
with _maintenance_mode():
with DB_BACKUP_FILE.open('w', encoding='utf-8') as file_handle:
subprocess.run([
'mysqldump', '--add-drop-database', '--add-drop-table',
@ -340,28 +341,32 @@ def dump_database():
'--default-character-set=utf8mb4', '--user', 'root',
'--databases', DB_NAME
], stdout=file_handle, check=True)
_set_maintenance_mode(False)
@privileged
def restore_database():
"""Restore database from file."""
with action_utils.service_ensure_running('mysql'):
with DB_BACKUP_FILE.open('r', encoding='utf-8') as file_handle:
subprocess.run(['mysql', '--user', 'root'], stdin=file_handle,
check=True)
with DB_BACKUP_FILE.open('r', encoding='utf-8') as file_handle:
subprocess.run(['mysql', '--user', 'root'], stdin=file_handle,
check=True)
_set_db_privileges(_get_dbpassword())
subprocess.run(['redis-cli', '-n',
str(REDIS_DB), 'FLUSHDB', 'SYNC'], check=False)
_set_database_privileges(_get_dbpassword())
# After updating the configuration, a restart seems to be required for the
# new DB password be used.
action_utils.service_try_restart(SERVICE_NAME)
action_utils.service_restart('redis-server')
_set_maintenance_mode(False)
# Attempts to update UUIDs of user and group entries. By default,
# the command attempts to update UUIDs that have been invalidated by
# a migration step.
# Attempts to update UUIDs of user and group entries. By default, the
# command attempts to update UUIDs that have been invalidated by a
# migration step.
_run_occ('ldap:update-uuid')
# Update the systems data-fingerprint after a backup is restored
# Update the systems data-fingerprint after a backup is restored.
_run_occ('maintenance:data-fingerprint')
@ -370,32 +375,20 @@ def _get_dbpassword():
OCC cannot run unless Nextcloud can already connect to the database.
"""
config_file = ('/var/lib/containers/storage/volumes/nextcloud-volume-fbx'
'/_data/config/config.php')
with open(config_file, 'r', encoding='utf-8') as config:
config_contents = config.read()
pattern = r"'{}'\s*=>\s*'([^']*)'".format(re.escape('dbpassword'))
match = re.search(pattern, config_contents)
return match.group(1)
code = 'include_once("/var/www/html/config/config.php");' \
'print($CONFIG["dbpassword"]);'
return _run_in_container('php', '-r', code,
capture_output=True).stdout.decode().strip()
def _create_redis_config(password):
def _create_redis_config():
"""Create a php file for Redis configuration."""
config_file = pathlib.Path(
'/var/lib/containers/storage/volumes/nextcloud-volume-fbx/_data/'
'config/freedombox.config.php')
file_content = f'''<?php
config_file = _volume_path / '_data/config/freedombox.config.php'
file_content = fr'''<?php
$CONFIG = [
'filelocking.enabled' => true,
'memcache.locking' => '\\\\OC\\\\Memcache\\\\Redis',
'memcache.distributed' => '\\\\OC\\\\Memcache\\\\Redis',
'redis' => [
'host' => '{BRIDGE_IP}',
'port' => '6379',
'password' => '{password}',
],
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => ['host' => '/run/redis/redis-server.sock', 'dbindex' => {REDIS_DB}],
];
'''
config_file.write_text(file_content)
@ -406,27 +399,19 @@ def _load_augeas():
"""Initialize Augeas."""
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
augeas.Augeas.NO_MODL_AUTOLOAD)
aug.transform('Spacevars', REDIS_CONFIG)
aug.set('/augeas/context', REDIS_CONFIG_AUG)
redis_config = '/etc/redis/redis.conf'
aug.transform('Spacevars', redis_config)
aug.set('/augeas/context', '/files' + redis_config)
aug.load()
return aug
def _bind_redis(ip_address):
"""Configure Redis to listen on the podman bridge adapter."""
def _redis_listen_socket():
"""Configure Redis to listen on a UNIX socket."""
aug = _load_augeas()
aug.set(REDIS_CONFIG_AUG + '/bind', ip_address)
aug.save()
def _set_redis_password(password):
if _get_redis_password() is None:
aug = _load_augeas()
aug.set(REDIS_CONFIG_AUG + '/requirepass', password)
value = '/etc/redis/conf.d/*.conf'
found = any((aug.get(match_) == value for match_ in aug.match('include')))
if not found:
aug.set('include[last() + 1]', value)
aug.save()
def _get_redis_password() -> str:
aug = _load_augeas()
password = aug.get(REDIS_CONFIG_AUG + '/requirepass')
return password
action_utils.service_restart('redis-server')

View File

@ -25,7 +25,7 @@ class NextcloudAppView(AppView):
initial = super().get_initial()
initial.update({
'domain': privileged.get_domain(),
'default_phone_region': privileged.get_default_phone_region()
'default_phone_region': privileged.get_default_phone_region() or ''
})
return initial

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""Package holding all the privileged actions outside of apps."""
from .config import dropin_link, dropin_unlink
from .config import dropin_is_valid, dropin_link, dropin_unlink
from .packages import (filter_conffile_packages, install,
is_package_manager_busy, remove, update)
from .service import (disable, enable, is_enabled, is_running, mask, reload,
@ -11,5 +11,5 @@ __all__ = [
'filter_conffile_packages', 'install', 'is_package_manager_busy', 'remove',
'update', 'disable', 'enable', 'is_enabled', 'is_running', 'mask',
'reload', 'restart', 'start', 'stop', 'try_restart', 'unmask',
'dropin_link', 'dropin_unlink'
'dropin_is_valid', 'dropin_link', 'dropin_unlink'
]

View File

@ -30,13 +30,39 @@ def _assert_managed_dropin_config(app_id: str, path: str):
raise AssertionError('Not a managed drop-in config')
@privileged
def dropin_is_valid(app_id: str, path: str, copy_only: bool,
unlink_invalid: bool = False) -> bool:
"""Check if symlink from /etc/ to /usr/share/freedombox/etc is valid.
Optionally, drop the link if it is invalid.
"""
_assert_managed_dropin_config(app_id, path)
from plinth.config import DropinConfigs
etc_path = DropinConfigs.get_etc_path(path)
target = DropinConfigs.get_target_path(path)
if etc_path.exists() or etc_path.is_symlink():
if (not copy_only and etc_path.is_symlink()
and etc_path.readlink() == target):
return True
if (copy_only and etc_path.is_file()
and etc_path.read_text() == target.read_text()):
return True
if unlink_invalid:
etc_path.unlink(missing_ok=True)
return False
@privileged
def dropin_link(app_id: str, path: str, copy_only: bool):
"""Create a symlink from /etc/ to /usr/share/freedombox/etc."""
_assert_managed_dropin_config(app_id, path)
from plinth.config import DropinConfigs
target = DropinConfigs._get_target_path(path)
etc_path = DropinConfigs._get_etc_path(path)
target = DropinConfigs.get_target_path(path)
etc_path = DropinConfigs.get_etc_path(path)
etc_path.parent.mkdir(parents=True, exist_ok=True)
if copy_only:
shutil.copyfile(target, etc_path)
@ -49,5 +75,5 @@ def dropin_unlink(app_id: str, path: str, missing_ok: bool = False):
"""Remove a symlink in /etc/."""
_assert_managed_dropin_config(app_id, path)
from plinth.config import DropinConfigs
etc_path = DropinConfigs._get_etc_path(path)
etc_path = DropinConfigs.get_etc_path(path)
etc_path.unlink(missing_ok=missing_ok)

View File

@ -95,7 +95,7 @@ def test_dropin_configs_enable_disable_symlinks(dropin_configs, tmp_path):
# Enable when a file already exists
dropin_configs.disable()
etc_path = DropinConfigs._get_etc_path('/etc/test/path1')
etc_path = DropinConfigs.get_etc_path('/etc/test/path1')
etc_path.touch()
dropin_configs.enable()
_assert_symlinks(dropin_configs, tmp_path, should_exist=True)
@ -108,7 +108,7 @@ def test_dropin_configs_enable_disable_symlinks(dropin_configs, tmp_path):
# When symlink already exists to correct location
dropin_configs.disable()
target_path = DropinConfigs._get_target_path('/etc/test/path1')
target_path = DropinConfigs.get_target_path('/etc/test/path1')
etc_path.symlink_to(target_path)
dropin_configs.enable()
_assert_symlinks(dropin_configs, tmp_path, should_exist=True)
@ -119,7 +119,7 @@ def test_dropin_configs_enable_disable_copy_only(dropin_configs, tmp_path):
with patch('plinth.config.DropinConfigs.ROOT', new=tmp_path):
dropin_configs.copy_only = True
for path in ['/etc/test/path1', '/etc/path2']:
target = DropinConfigs._get_target_path(path)
target = DropinConfigs.get_target_path(path)
target.parent.mkdir(parents=True, exist_ok=True)
target.write_text('test-config-content')
@ -135,7 +135,7 @@ def test_dropin_configs_enable_disable_copy_only(dropin_configs, tmp_path):
# Enable when a file already exists with wrong content
dropin_configs.disable()
etc_path = DropinConfigs._get_etc_path('/etc/test/path1')
etc_path = DropinConfigs.get_etc_path('/etc/test/path1')
etc_path.write_text('x-invalid-content')
dropin_configs.enable()
_assert_symlinks(dropin_configs, tmp_path, should_exist=True,
@ -180,7 +180,7 @@ def test_dropin_config_diagnose_symlinks(dropin_configs, tmp_path):
# A file exists instead of symlink
dropin_configs.disable()
etc_path = DropinConfigs._get_etc_path('/etc/test/path1')
etc_path = DropinConfigs.get_etc_path('/etc/test/path1')
etc_path.touch()
results = dropin_configs.diagnose()
assert results[0].result == 'failed'
@ -202,7 +202,7 @@ def test_dropin_config_diagnose_copy_only(dropin_configs, tmp_path):
with patch('plinth.config.DropinConfigs.ROOT', new=tmp_path):
dropin_configs.copy_only = True
for path in ['/etc/test/path1', '/etc/path2']:
target = DropinConfigs._get_target_path(path)
target = DropinConfigs.get_target_path(path)
target.parent.mkdir(parents=True, exist_ok=True)
target.write_text('test-config-content')
@ -219,7 +219,7 @@ def test_dropin_config_diagnose_copy_only(dropin_configs, tmp_path):
# A symlink exists instead of a copied file
dropin_configs.disable()
etc_path = DropinConfigs._get_etc_path('/etc/test/path1')
etc_path = DropinConfigs.get_etc_path('/etc/test/path1')
etc_path.symlink_to('/blah')
results = dropin_configs.diagnose()
assert results[0].result == 'failed'