diff --git a/debian/changelog b/debian/changelog
index b350195ba..c45acb8ef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,34 @@
+freedombox (22.23) unstable; urgency=medium
+
+ [ Michael Breidenbach ]
+ * Translated using Weblate (Swedish)
+
+ [ 109247019824 ]
+ * Translated using Weblate (Bulgarian)
+ * Translated using Weblate (Bulgarian)
+
+ [ James Valleroy ]
+ * upgrades: Allow FreedomBox vendor when adding backports
+ * upgrades: Skip unattended-upgrade in dist-upgrade
+ * locale: Update translation strings
+ * doc: Fetch latest manual
+
+ [ Benedek Nagy ]
+ * Translated using Weblate (Hungarian)
+
+ [ tunebes ]
+ * storage: Handle file systems on non-physical devices
+
+ [ Sunil Mohan Adapa ]
+ * Translated using Weblate (Hungarian)
+ * upgrades: Fix a minor flake8 pipeline failure
+ * letsencrypt: Fix regression with comparing certificate
+
+ [ nbenedek ]
+ * rssbridge: add option to allow public access
+
+ -- James Valleroy Mon, 24 Oct 2022 20:37:54 -0400
+
freedombox (22.22.1~bpo11+1) bullseye-backports; urgency=medium
* Rebuild for bullseye-backports.
diff --git a/doc/manual/en/ReleaseNotes.raw.wiki b/doc/manual/en/ReleaseNotes.raw.wiki
index 1a3350b9e..b813130cd 100644
--- a/doc/manual/en/ReleaseNotes.raw.wiki
+++ b/doc/manual/en/ReleaseNotes.raw.wiki
@@ -8,6 +8,20 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
The following are the release notes for each !FreedomBox version.
+== FreedomBox 22.23 (2022-10-24) ==
+
+=== Highlights ===
+
+ * letsencrypt: Fix regression with comparing certificate
+ * rssbridge: Add option to allow public access
+
+=== Other Changes ===
+
+ * locale: Update translations for Bulgarian, Hungarian, Swedish
+ * storage: Handle file systems on non-physical devices
+ * upgrades: Allow !FreedomBox vendor when adding backports
+ * upgrades: Skip unattended-upgrade in dist-upgrade
+
== FreedomBox 22.22.1 (2022-10-16) ==
* debian: tests: Fix PYTHONPATH
diff --git a/doc/manual/es/ReleaseNotes.raw.wiki b/doc/manual/es/ReleaseNotes.raw.wiki
index 1a3350b9e..b813130cd 100644
--- a/doc/manual/es/ReleaseNotes.raw.wiki
+++ b/doc/manual/es/ReleaseNotes.raw.wiki
@@ -8,6 +8,20 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
The following are the release notes for each !FreedomBox version.
+== FreedomBox 22.23 (2022-10-24) ==
+
+=== Highlights ===
+
+ * letsencrypt: Fix regression with comparing certificate
+ * rssbridge: Add option to allow public access
+
+=== Other Changes ===
+
+ * locale: Update translations for Bulgarian, Hungarian, Swedish
+ * storage: Handle file systems on non-physical devices
+ * upgrades: Allow !FreedomBox vendor when adding backports
+ * upgrades: Skip unattended-upgrade in dist-upgrade
+
== FreedomBox 22.22.1 (2022-10-16) ==
* debian: tests: Fix PYTHONPATH
diff --git a/plinth/__init__.py b/plinth/__init__.py
index 2f13c055b..5359914ed 100644
--- a/plinth/__init__.py
+++ b/plinth/__init__.py
@@ -3,4 +3,4 @@
Package init file.
"""
-__version__ = '22.22.1'
+__version__ = '22.23'
diff --git a/plinth/locale/ar/LC_MESSAGES/django.po b/plinth/locale/ar/LC_MESSAGES/django.po
index 0752eade6..ad58ac097 100644
--- a/plinth/locale/ar/LC_MESSAGES/django.po
+++ b/plinth/locale/ar/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2022-03-31 09:12+0000\n"
"Last-Translator: abidin toumi \n"
"Language-Team: Arabic \n"
"Language-Team: Arabic (Saudi Arabia) \n"
"Language-Team: Bulgarian \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: doc/dev/_templates/layout.html:11
msgid "Page source"
@@ -174,7 +174,7 @@ msgid "Enable a Backup Schedule"
msgstr "Включване на резервни копия по график"
#: plinth/modules/backups/__init__.py:176
-#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:71
+#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:70
#: plinth/modules/storage/__init__.py:313
#, python-brace-format
msgid "Go to {app_name}"
@@ -982,9 +982,9 @@ msgstr ""
#: plinth/modules/minetest/views.py:55 plinth/modules/mumble/views.py:37
#: plinth/modules/pagekite/forms.py:74 plinth/modules/privacy/views.py:36
#: plinth/modules/quassel/views.py:29 plinth/modules/roundcube/views.py:32
-#: plinth/modules/shadowsocks/views.py:53 plinth/modules/ssh/views.py:52
-#: plinth/modules/transmission/views.py:43 plinth/modules/ttrss/views.py:31
-#: plinth/modules/wordpress/views.py:31
+#: plinth/modules/rssbridge/views.py:31 plinth/modules/shadowsocks/views.py:53
+#: plinth/modules/ssh/views.py:52 plinth/modules/transmission/views.py:43
+#: plinth/modules/ttrss/views.py:31 plinth/modules/wordpress/views.py:31
msgid "Configuration updated"
msgstr "Настройките са променени"
@@ -4772,19 +4772,19 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Изключване"
-#: plinth/modules/privacy/__init__.py:15
+#: plinth/modules/privacy/__init__.py:14
msgid "Manage system-wide privacy settings."
msgstr ""
-#: plinth/modules/privacy/__init__.py:32 plinth/modules/privacy/__init__.py:64
+#: plinth/modules/privacy/__init__.py:31 plinth/modules/privacy/__init__.py:63
msgid "Privacy"
msgstr ""
-#: plinth/modules/privacy/__init__.py:62
+#: plinth/modules/privacy/__init__.py:61
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: plinth/modules/privacy/__init__.py:67
+#: plinth/modules/privacy/__init__.py:66
msgid "Review privacy setting"
msgstr ""
@@ -5000,8 +5000,8 @@ 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 на страници, които нямат собствена. "
-"Емисията може да бъде използвана от всеки четец на емисии."
+"RSS-Bridge създава емисии на RSS и на Atom от страници, които нямат "
+"собствена. Емисията може да бъде използвана от всеки четец на емисии."
#: plinth/modules/rssbridge/__init__.py:23
#, python-brace-format
@@ -5036,6 +5036,14 @@ msgstr "RSS-Bridge"
msgid "RSS Feed Generator"
msgstr "Създател на емисии на RSS"
+#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+msgid "Allow Public Access"
+msgstr ""
+
+#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
+msgid "Allow this application to be used by anyone who can reach it."
+msgstr ""
+
#: plinth/modules/samba/__init__.py:23
msgid ""
"Samba allows to share files and folders between FreedomBox and other "
@@ -5227,14 +5235,6 @@ msgstr ""
msgid "Strict"
msgstr ""
-#: plinth/modules/searx/forms.py:17
-msgid "Allow Public Access"
-msgstr ""
-
-#: plinth/modules/searx/forms.py:18
-msgid "Allow this application to be used by anyone who can reach it."
-msgstr ""
-
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr "Ограничаване на влизането през конзолата (препоръчително)"
@@ -6127,7 +6127,7 @@ msgstr ""
#: plinth/modules/tor/__init__.py:147
msgid "Obfs4 transport registered"
-msgstr ""
+msgstr "Транспортът Obfs4 е регистриран"
#: plinth/modules/tor/__init__.py:212
#, python-brace-format
@@ -6175,12 +6175,15 @@ msgid "Enable Tor relay"
msgstr ""
#: plinth/modules/tor/forms.py:92
-#, fuzzy, python-brace-format
+#, python-brace-format
msgid ""
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
"the Tor network. Do this if you have more than 2 megabits/s of upload and "
"download bandwidth."
-msgstr "Когато е отментато, на {box_name} ще работи"
+msgstr ""
+"Когато е отментато, {box_name} ще е участник в мрежата на Тор като дарява "
+"част от пропускателната способност. Направете го ако разполагате с ширина на "
+"канала по-голяма от 2Мбит/сек."
#: plinth/modules/tor/forms.py:97
msgid "Enable Tor bridge relay"
diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po
index 2e8b51b6b..c30382e5c 100644
--- a/plinth/locale/bn/LC_MESSAGES/django.po
+++ b/plinth/locale/bn/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2021-06-16 07:33+0000\n"
"Last-Translator: Oymate \n"
"Language-Team: Bengali \n"
"Language-Team: Czech popcon.debian.org. Odesílání "
+"Statistiky shromážděných dat jsou veřejně dostupné na popcon.debian.org. Odesílání "
"probíhá přes síť Tor pro další anonymitu, pokud je povolena aplikace Tor."
#: plinth/modules/privoxy/__init__.py:23
@@ -5595,6 +5595,15 @@ msgstr "RSS-Bridge"
msgid "RSS Feed Generator"
msgstr "Generátor kanálů RSS"
+#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+msgid "Allow Public Access"
+msgstr "Umožnit veřejný přístup"
+
+#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
+msgid "Allow this application to be used by anyone who can reach it."
+msgstr ""
+"Umožnit, aby tato aplikace byla používána kýmkoli, kdo se k ní může dostat."
+
#: plinth/modules/samba/__init__.py:23
msgid ""
"Samba allows to share files and folders between FreedomBox and other "
@@ -5811,15 +5820,6 @@ msgstr "Střední"
msgid "Strict"
msgstr "Přísný"
-#: plinth/modules/searx/forms.py:17
-msgid "Allow Public Access"
-msgstr "Umožnit veřejný přístup"
-
-#: plinth/modules/searx/forms.py:18
-msgid "Allow this application to be used by anyone who can reach it."
-msgstr ""
-"Umožnit, aby tato aplikace byla používána kýmkoli, kdo se k ní může dostat."
-
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr "Omezit přihlášení na konzoli (doporučeno)"
diff --git a/plinth/locale/da/LC_MESSAGES/django.po b/plinth/locale/da/LC_MESSAGES/django.po
index f10c4e811..10dc03360 100644
--- a/plinth/locale/da/LC_MESSAGES/django.po
+++ b/plinth/locale/da/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Danish \n"
"Language-Team: German \n"
"Language-Team: LANGUAGE \n"
@@ -158,7 +158,7 @@ msgid "Enable a Backup Schedule"
msgstr ""
#: plinth/modules/backups/__init__.py:176
-#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:71
+#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:70
#: plinth/modules/storage/__init__.py:313
#, python-brace-format
msgid "Go to {app_name}"
@@ -915,9 +915,9 @@ msgstr ""
#: plinth/modules/minetest/views.py:55 plinth/modules/mumble/views.py:37
#: plinth/modules/pagekite/forms.py:74 plinth/modules/privacy/views.py:36
#: plinth/modules/quassel/views.py:29 plinth/modules/roundcube/views.py:32
-#: plinth/modules/shadowsocks/views.py:53 plinth/modules/ssh/views.py:52
-#: plinth/modules/transmission/views.py:43 plinth/modules/ttrss/views.py:31
-#: plinth/modules/wordpress/views.py:31
+#: plinth/modules/rssbridge/views.py:31 plinth/modules/shadowsocks/views.py:53
+#: plinth/modules/ssh/views.py:52 plinth/modules/transmission/views.py:43
+#: plinth/modules/ttrss/views.py:31 plinth/modules/wordpress/views.py:31
msgid "Configuration updated"
msgstr ""
@@ -4623,19 +4623,19 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privacy/__init__.py:15
+#: plinth/modules/privacy/__init__.py:14
msgid "Manage system-wide privacy settings."
msgstr ""
-#: plinth/modules/privacy/__init__.py:32 plinth/modules/privacy/__init__.py:64
+#: plinth/modules/privacy/__init__.py:31 plinth/modules/privacy/__init__.py:63
msgid "Privacy"
msgstr ""
-#: plinth/modules/privacy/__init__.py:62
+#: plinth/modules/privacy/__init__.py:61
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: plinth/modules/privacy/__init__.py:67
+#: plinth/modules/privacy/__init__.py:66
msgid "Review privacy setting"
msgstr ""
@@ -4877,6 +4877,14 @@ msgstr ""
msgid "RSS Feed Generator"
msgstr ""
+#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+msgid "Allow Public Access"
+msgstr ""
+
+#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
+msgid "Allow this application to be used by anyone who can reach it."
+msgstr ""
+
#: plinth/modules/samba/__init__.py:23
msgid ""
"Samba allows to share files and folders between FreedomBox and other "
@@ -5068,14 +5076,6 @@ msgstr ""
msgid "Strict"
msgstr ""
-#: plinth/modules/searx/forms.py:17
-msgid "Allow Public Access"
-msgstr ""
-
-#: plinth/modules/searx/forms.py:18
-msgid "Allow this application to be used by anyone who can reach it."
-msgstr ""
-
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr ""
diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po
index 2a9d3eced..583559735 100644
--- a/plinth/locale/el/LC_MESSAGES/django.po
+++ b/plinth/locale/el/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Greek \n"
"Language-Team: Spanish \n"
"Language-Team: Persian \n"
"Language-Team: Plinth Developers \n"
"Language-Team: French \n"
"Language-Team: Galician \n"
"Language-Team: Gujarati \n"
"Language-Team: Hindi \n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
+"PO-Revision-Date: 2022-10-24 18:39+0000\n"
+"Last-Translator: Sunil Mohan Adapa \n"
"Language-Team: Hungarian \n"
"Language: hu\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: doc/dev/_templates/layout.html:11
msgid "Page source"
@@ -54,17 +54,15 @@ msgstr "Nem lehet ide csatlakozni: {host}:{port}"
#: plinth/forms.py:36
msgid "Backup app before uninstall"
-msgstr ""
+msgstr "Biztonsági mentés készítése az alkalmazásról eltávolítás előtt"
#: plinth/forms.py:37
msgid "Restoring from the backup will restore app data."
msgstr ""
#: plinth/forms.py:39
-#, fuzzy
-#| msgid "Repository not found"
msgid "Repository to backup to"
-msgstr "Tároló nem található"
+msgstr "A biztonsági mentés helye"
#: plinth/forms.py:56
msgid "Select a domain name to be used with this application"
@@ -174,7 +172,7 @@ msgid "Enable a Backup Schedule"
msgstr "Ütemezett biztonsági mentés engedélyezése"
#: plinth/modules/backups/__init__.py:176
-#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:71
+#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:70
#: plinth/modules/storage/__init__.py:313
#, python-brace-format
msgid "Go to {app_name}"
@@ -1003,9 +1001,9 @@ msgstr "IP-címek és tartományok frissítése"
#: plinth/modules/minetest/views.py:55 plinth/modules/mumble/views.py:37
#: plinth/modules/pagekite/forms.py:74 plinth/modules/privacy/views.py:36
#: plinth/modules/quassel/views.py:29 plinth/modules/roundcube/views.py:32
-#: plinth/modules/shadowsocks/views.py:53 plinth/modules/ssh/views.py:52
-#: plinth/modules/transmission/views.py:43 plinth/modules/ttrss/views.py:31
-#: plinth/modules/wordpress/views.py:31
+#: plinth/modules/rssbridge/views.py:31 plinth/modules/shadowsocks/views.py:53
+#: plinth/modules/ssh/views.py:52 plinth/modules/transmission/views.py:43
+#: plinth/modules/ttrss/views.py:31 plinth/modules/wordpress/views.py:31
msgid "Configuration updated"
msgstr "A beállítások frissültek"
@@ -1292,28 +1290,28 @@ msgid "Show apps and features that require more technical knowledge."
msgstr "Több műszaki ismeretet igénylő alkalmazások és funkciók megjelenítése."
#: plinth/modules/config/forms.py:104
-#, fuzzy
-#| msgid "System Monitoring"
msgid "System-wide logging"
-msgstr "Rendszerfigyelés"
+msgstr "Rendszerszintű naplózás"
#: plinth/modules/config/forms.py:105
msgid "Disable logging, for privacy"
-msgstr ""
+msgstr "Naplózás letiltása"
#: plinth/modules/config/forms.py:107
msgid "Keep some in memory until a restart, for performance"
-msgstr ""
+msgstr "Naplófájlok megtartása a következő újraindításig (jobb teljesítmény)"
#: plinth/modules/config/forms.py:110
msgid "Write to disk, useful for debugging"
-msgstr ""
+msgstr "Naplófájlok lemezre írása, hibakeresés esetén hasznos"
#: plinth/modules/config/forms.py:112
msgid ""
"Logs contain information about who accessed the system and debug information "
"from various services"
msgstr ""
+"A naplófájlok tárolják, hogy ki kapcsolódott a rendszerhez, illetve "
+"hibakeresési információkkal is szolgálnak számos alkalmazás számára."
#: plinth/modules/config/views.py:49
#, python-brace-format
@@ -1873,6 +1871,9 @@ msgid ""
"Domains to be used by ejabberd. Note that user accounts are unique for each "
"domain, and migrating users to a new domain name is not yet implemented."
msgstr ""
+"Az ejabberd által használható domainek. Kérlek vedd figyelembe, hogy a "
+"felhasználói fiókok egyedien kötődnek egy-egy domainhez és a felhasználói "
+"fiókok átköltöztetése egyik domainről a másikra jelenleg még nem lehetséges."
#: plinth/modules/ejabberd/forms.py:26
msgid "Enable Message Archive Management"
@@ -1999,6 +2000,11 @@ msgid ""
"restrict outgoing email. Some lift the restriction after an explicit "
"request. See manual page for more information."
msgstr ""
+"Az e-mail szerver jelenleg nem működik a legtöbb ingyenes domain "
+"szolgáltatással, ideértve a FreedomBox Foundation által nyújtottakat is. Sok "
+"internetszolgáltató továbbá korlátozza a kimenő e-maileket. Néhány "
+"internetszolgáltató kifejezett kérés után feloldja a korlátozást. További "
+"információkért lásd a kézikönyv oldalát."
#: plinth/modules/email/__init__.py:34
#, python-brace-format
@@ -2607,38 +2613,43 @@ msgstr "Bővebben..."
#: plinth/modules/help/templates/help_contribute.html:46
msgid "How can I help?"
-msgstr ""
+msgstr "Hogyan segíthetek?"
#: plinth/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 ""
+"Az alábbiakban felsoroljuk a Debianhoz való segítségnyújtás lehetőségeit. A "
+"lista csak olyan csomagokat mutat, amelyek telepítve vannak ezen a "
+"rendszeren."
#: plinth/modules/help/templates/help_contribute.html:59
msgid "Show issues"
-msgstr ""
+msgstr "Problémák mutatása"
#: plinth/modules/help/templates/help_contribute.html:63
msgid "Packages that will be removed from Debian testing"
msgstr ""
+"Azon csomagok, amelyek el lesznek távolítva a Debian testing verziójából"
#: plinth/modules/help/templates/help_contribute.html:69
#: plinth/modules/help/templates/help_contribute.html:85
msgid "source package:"
-msgstr ""
+msgstr "forráscsomagok:"
#: plinth/modules/help/templates/help_contribute.html:80
msgid "Packages that are not in Debian testing"
-msgstr ""
+msgstr "Azon csomagok, amelyek nem részei a Debian testing verziójának"
#: plinth/modules/help/templates/help_contribute.html:92
msgid "Good first issues for beginners"
-msgstr ""
+msgstr "Kezdők számára ajánlott problémák"
#: plinth/modules/help/templates/help_contribute.html:104
msgid "Issues for which the package maintainer has requested help"
msgstr ""
+"Olyan problémák, amelyeknél a csomagkarbantartónak segítségre van szüksége"
#: plinth/modules/help/templates/help_feedback.html:12
#, python-format
@@ -3044,16 +3055,18 @@ msgstr ""
#: plinth/modules/janus/__init__.py:22
msgid "Janus is a lightweight WebRTC server."
-msgstr ""
+msgstr "A Janus egy alacsony teljesítményigényű videokonferencia szerver."
#: plinth/modules/janus/__init__.py:23
msgid "A simple video conference room is included."
-msgstr ""
+msgstr "Egy egyszerű videokonferencia-terem rendelkezésre áll."
#: plinth/modules/janus/__init__.py:25
#, python-brace-format
msgid "Coturn is required to use Janus."
msgstr ""
+"A Janus használatához szükség van a Coturn "
+"alkalmazásra."
#: plinth/modules/janus/__init__.py:41
msgid "Janus"
@@ -3061,11 +3074,11 @@ msgstr "Janus"
#: plinth/modules/janus/__init__.py:43
msgid "Video Room"
-msgstr ""
+msgstr "Videószoba"
#: plinth/modules/janus/manifest.py:7
msgid "Janus Video Room"
-msgstr ""
+msgstr "Janus videószoba"
#: plinth/modules/janus/templates/janus_video_room.html:205
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
@@ -3410,31 +3423,26 @@ msgid "Administrator Password"
msgstr "Rendszergazdai jelszó"
#: plinth/modules/mediawiki/forms.py:27
-#, fuzzy
-#| msgid ""
-#| "Set a new password for MediaWiki's administrator account (admin). Leave "
-#| "this field blank to keep the current password."
msgid ""
"Set a new password for MediaWiki's administrator account (admin). The "
"password cannot be a common one and the minimum required length is "
"10 characters. Leave this field blank to keep the current "
"password."
msgstr ""
-"Állíts be új jelszót a MediaWiki rendszergazdai (admin) fiókjának. Hagyd "
-"üresen ezt a mezőt a jelenlegi jelszó megtartásához."
+"Új jelszó beállítása a MediaWiki 'admin' nevű felhasználója számára. A "
+"jelszó nem lehet gyakran használt kifejezés, továbbá legalább 10 "
+"karakterből kell állnia. Hagyd üresen ezt a mezőt, ha meg szeretnéd "
+"tartani a jelenlegi jelszót."
#: plinth/modules/mediawiki/forms.py:35
-#, fuzzy
-#| msgid ""
-#| "Used by MediaWiki to generate URLs that point to the wiki such as in "
-#| "footer, feeds and emails."
msgid ""
"Used by MediaWiki to generate URLs that point to the wiki such as in footer, "
"feeds and emails. Examples: \"myfreedombox.example.org\" or \"example.onion"
"\"."
msgstr ""
"A MediaWiki a wikire mutató URL-ek létrehozására használja, például "
-"láblécben, hírcsatornákban és e-mailekben."
+"láblécben, hírcsatornákban és e-mailekben. Példa: \"freedomboxom.pelda.org\" "
+"or \"pelda.onion\"."
#: plinth/modules/mediawiki/forms.py:41
#, fuzzy
@@ -3444,7 +3452,7 @@ msgstr "Kite név"
#: plinth/modules/mediawiki/forms.py:42
msgid "Name of the site as displayed throughout the wiki."
-msgstr ""
+msgstr "Az oldal neve, ahogyan az a wikiben megjelenik."
#: plinth/modules/mediawiki/forms.py:46
msgid "Enable public registrations"
@@ -3488,11 +3496,8 @@ msgid "Password updated"
msgstr "Jelszó frissítve"
#: plinth/modules/mediawiki/views.py:59
-#, fuzzy
-#| msgid "Password used to encrypt data. Must match server password."
msgid "Password update failed. Please choose a stronger password"
-msgstr ""
-"Az adattitkosításra használt jelszó. A szerver jelszavával meg kell egyeznie."
+msgstr "A jlszó frisítése nem sikerült. Kérlek válassz egy erősebb jelszót"
#: plinth/modules/mediawiki/views.py:68
msgid "Public registrations enabled"
@@ -3515,16 +3520,12 @@ msgid "Default skin changed"
msgstr "Az alapértelmezett felszín megváltozott"
#: plinth/modules/mediawiki/views.py:99
-#, fuzzy
-#| msgid "Domain name set"
msgid "Domain name updated"
-msgstr "Domainnév beállítva"
+msgstr "Domainnév frissítve"
#: plinth/modules/mediawiki/views.py:103
-#, fuzzy
-#| msgid "Domain name set"
msgid "Site name updated"
-msgstr "Domainnév beállítva"
+msgstr "Az oldal neve frissítve"
#: plinth/modules/minetest/__init__.py:33
#, python-brace-format
@@ -3704,29 +3705,28 @@ msgstr ""
#: plinth/modules/mumble/forms.py:40
msgid "Set a password to join the server"
-msgstr ""
+msgstr "A szerverhez való csatlakozáshoz szükséges jelszó"
#: plinth/modules/mumble/forms.py:42
-#, fuzzy
-#| msgid ""
-#| "Set a new upload password for Coquelicot. Leave this field blank to keep "
-#| "the current password."
msgid ""
"Set a password that is required to join the server. Leave empty to use the "
"current password."
msgstr ""
-"Állíts be új feltöltési jelszót a Coquelicot számára. Ha szeretnéd "
-"megtartani a jelenlegi jelszót, hagyd üresen ezt a mezőt."
+"Adj meg egy jelszót, ami majd ahhoz kell, hogy a felhasználók csatlakozni "
+"tudjanak a szerverhez. Hagyd üresen, ha nem akarod megváltoztatni a "
+"jelenlegi jelszót."
#: plinth/modules/mumble/forms.py:48
msgid "Set the name for the root channel"
-msgstr ""
+msgstr "A root csatorna nevének beállítása"
#: plinth/modules/mumble/forms.py:52
msgid ""
"Set the name of the main channel of your mumble server. If the name was "
"never changed, the channel is named Root."
msgstr ""
+"Állítsd be a mumble szerver fő csatornájának nevét. Ha nem változtatod meg, "
+"az alapértelmezett név a 'Root' lesz."
#: plinth/modules/mumble/manifest.py:34
msgid "Mumblefly"
@@ -3741,14 +3741,12 @@ msgid "SuperUser password successfully updated."
msgstr "A SuperUser jelszava sikeresen frissítve."
#: plinth/modules/mumble/views.py:48
-#, fuzzy
-#| msgid "Upload password updated"
msgid "Join password changed"
-msgstr "Feltöltési jelszó frissítve"
+msgstr "A csatlakozáshoz szükséges jelszó megváltoztatva"
#: plinth/modules/mumble/views.py:53
msgid "Root channel name changed."
-msgstr ""
+msgstr "A szerver fő csatornájának neve megváltoztatva."
#: plinth/modules/names/__init__.py:22
#, python-brace-format
@@ -5026,8 +5024,7 @@ msgstr ""
"ajánlott kliensek és a beállítási utasítások megtekintéséhez."
#: plinth/modules/openvpn/templates/openvpn.html:24
-#, fuzzy, python-format
-#| msgid "Profile is specific to each user of %(box_name)s. Keep it a secret."
+#, python-format
msgid "Profile is specific to each user of %(box_name)s. Keep it a secret."
msgstr ""
"A profil a %(box_name)s eszköz minden egyes felhasználójára egyedi. Tartsd "
@@ -5344,23 +5341,25 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Leállítás most"
-#: plinth/modules/privacy/__init__.py:15
+#: plinth/modules/privacy/__init__.py:14
msgid "Manage system-wide privacy settings."
-msgstr ""
+msgstr "Rendszerszintű adatvédelmi beállítások kezelése."
-#: plinth/modules/privacy/__init__.py:32 plinth/modules/privacy/__init__.py:64
+#: plinth/modules/privacy/__init__.py:31 plinth/modules/privacy/__init__.py:63
#, fuzzy
#| msgid "Privoxy"
msgid "Privacy"
msgstr "Privoxy"
-#: plinth/modules/privacy/__init__.py:62
+#: plinth/modules/privacy/__init__.py:61
msgid "Please update privacy settings to match your preferences."
msgstr ""
+"Kérjük, frissítsd az adatvédelmi beállításokat, a preferenciáidnak "
+"megfelelően."
-#: plinth/modules/privacy/__init__.py:67
+#: plinth/modules/privacy/__init__.py:66
msgid "Review privacy setting"
-msgstr ""
+msgstr "Adatvédelmi beállítások kezelése"
#: plinth/modules/privacy/forms.py:15
msgid "Periodically submit a list of apps used (suggested)"
@@ -5668,11 +5667,20 @@ msgstr "Hírcsatornák olvasása és feliratkozás"
#: plinth/modules/rssbridge/__init__.py:48
#: plinth/modules/rssbridge/manifest.py:10
msgid "RSS-Bridge"
-msgstr ""
+msgstr "RSS-Bridge"
#: plinth/modules/rssbridge/__init__.py:49
msgid "RSS Feed Generator"
+msgstr "RSS-hírfolyam generátor"
+
+#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+msgid "Allow Public Access"
+msgstr "Nyilvános hozzáférés engedélyezése"
+
+#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
+msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
+"Engedélyezi ennek az alkalmazásnak a használatát bárkinek, aki el tudja érni."
#: plinth/modules/samba/__init__.py:23
msgid ""
@@ -5892,15 +5900,6 @@ msgstr "Enyhe"
msgid "Strict"
msgstr "Szigorú"
-#: plinth/modules/searx/forms.py:17
-msgid "Allow Public Access"
-msgstr "Nyilvános hozzáférés engedélyezése"
-
-#: plinth/modules/searx/forms.py:18
-msgid "Allow this application to be used by anyone who can reach it."
-msgstr ""
-"Engedélyezi ennek az alkalmazásnak a használatát bárkinek, aki el tudja érni."
-
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr "Konzolon keresztüli bejelentkezések korlátozása (ajánlott)"
@@ -6859,13 +6858,13 @@ msgstr ""
"javasolja."
#: plinth/modules/tor/__init__.py:30
-#, fuzzy, python-brace-format
-#| msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
+#, python-brace-format
msgid ""
"A Tor SOCKS port is available on your {box_name} for internal networks on "
"TCP port 9050."
msgstr ""
-"Egy Tor SOCKS port elérhető a %(box_name)s eszközöd 9050-es TCP-portján."
+"Egy Tor SOCKS port elérhető a {box_name} eszközöd 9050-es TCP-portján a "
+"belső hálózat számára."
#: plinth/modules/tor/__init__.py:48
msgid "Tor"
@@ -7022,16 +7021,13 @@ msgid "Ports"
msgstr "Portok"
#: plinth/modules/tor/views.py:53
-#, fuzzy
-#| msgid "An error occurred during configuration."
msgid "Updating configuration"
-msgstr "Hiba történt a beállítás közben."
+msgstr "Beállítások frissítése"
#: plinth/modules/tor/views.py:70
-#, fuzzy, python-brace-format
-#| msgid "Error installing application: {error}"
+#, python-brace-format
msgid "Error configuring app: {error}"
-msgstr "Hiba lépett fel az alkalmazás telepítésekor: {error}"
+msgstr "Hiba lépett fel az alkalmazás konfigurációja során: {error}"
#: plinth/modules/transmission/__init__.py:23
msgid "Transmission is a BitTorrent client with a web interface."
diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po
index c940700b9..d14df1b64 100644
--- a/plinth/locale/id/LC_MESSAGES/django.po
+++ b/plinth/locale/id/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Indonesian (FreedomBox)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak \n"
"Language-Team: Indonesian \n"
"Language-Team: Italian \n"
"Language-Team: Japanese \n"
"Language-Team: Kannada \n"
"Language-Team: Lithuanian \n"
"Language-Team: Latvian \n"
"Language-Team: Norwegian Bokmål \n"
"Language-Team: Dutch \n"
"Language-Team: Polish \n"
"Language-Team: Portuguese \n"
"Language-Team: Russian \n"
"Language-Team: Sinhala \n"
"Language-Team: Slovenian \n"
"Language-Team: Albanian \n"
"Language-Team: Serbian \n"
"Language-Team: Swedish \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: doc/dev/_templates/layout.html:11
msgid "Page source"
@@ -172,7 +172,7 @@ msgid "Enable a Backup Schedule"
msgstr "Aktivera ett schema för säkerhetskopiering"
#: plinth/modules/backups/__init__.py:176
-#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:71
+#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:70
#: plinth/modules/storage/__init__.py:313
#, python-brace-format
msgid "Go to {app_name}"
@@ -999,9 +999,9 @@ msgstr "Uppdatera IP-adress och domäner"
#: plinth/modules/minetest/views.py:55 plinth/modules/mumble/views.py:37
#: plinth/modules/pagekite/forms.py:74 plinth/modules/privacy/views.py:36
#: plinth/modules/quassel/views.py:29 plinth/modules/roundcube/views.py:32
-#: plinth/modules/shadowsocks/views.py:53 plinth/modules/ssh/views.py:52
-#: plinth/modules/transmission/views.py:43 plinth/modules/ttrss/views.py:31
-#: plinth/modules/wordpress/views.py:31
+#: plinth/modules/rssbridge/views.py:31 plinth/modules/shadowsocks/views.py:53
+#: plinth/modules/ssh/views.py:52 plinth/modules/transmission/views.py:43
+#: plinth/modules/ttrss/views.py:31 plinth/modules/wordpress/views.py:31
msgid "Configuration updated"
msgstr "Konfiguration uppdaterad"
@@ -1613,10 +1613,9 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
"Om du letar efter ett gratis dynamiskt DNS-konto kan du hitta en gratis "
-"GnuDIP-tjänst på ddns.freedombox.org eller så kan du hitta gratis uppdaterings-URL-"
-"baserade tjänster på freedns.afraid.org."
+"GnuDIP-tjänst på ddns.freedombox.org eller så kan "
+"du hitta gratis uppdaterings-URL-baserade tjänster på freedns.afraid.org."
#: plinth/modules/dynamicdns/__init__.py:61
msgid "Dynamic DNS Client"
@@ -4951,12 +4950,7 @@ msgid "Profile"
msgstr "Profil"
#: plinth/modules/openvpn/templates/openvpn.html:15
-#, fuzzy, python-format
-#| msgid ""
-#| "To connect to %(box_name)s's VPN, you need to download a profile and feed "
-#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN "
-#| "Clients are available for most platforms. Click \"Learn more...\" above "
-#| "for recommended clients and instructions on how to configure them."
+#, python-format
msgid ""
"To connect to %(box_name)s's VPN, you need to download a profile and feed it "
"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are "
@@ -4964,17 +4958,16 @@ msgid ""
"clients and instructions on how to configure them."
msgstr ""
"För att ansluta till %(box_name)s VPN måste du ladda ner en profil och mata "
-"den till en OpenVPN-klient på din mobila eller stationära dator. OpenVPN-"
-"klienter är tillgängliga för de flesta plattformar. Klicka på \"Läs mer..."
-"\" ovan för rekommenderade klienter och instruktioner om hur du konfigurerar "
+"den till en OpenVPN-klient på din mobila eller stationära dator. OpenVPN-"
+"klienter är tillgängliga för de flesta plattformar. Klicka på \"Läs mer...\" "
+"ovan för rekommenderade klienter och instruktioner om hur du konfigurerar "
"dem."
#: plinth/modules/openvpn/templates/openvpn.html:24
-#, fuzzy, python-format
-#| msgid "Profile is specific to each user of %(box_name)s. Keep it a secret."
+#, python-format
msgid "Profile is specific to each user of %(box_name)s. Keep it a secret."
msgstr ""
-"Profilen är specifik för varje användare av %(box_name)s Håll det hemligt."
+"Profilen är specifik för varje användare av %(box_name)s. Håll det hemligt."
#: plinth/modules/openvpn/templates/openvpn.html:34
msgid "Download my profile"
@@ -5288,27 +5281,27 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Stäng av nu"
-#: plinth/modules/privacy/__init__.py:15
+#: plinth/modules/privacy/__init__.py:14
msgid "Manage system-wide privacy settings."
-msgstr ""
+msgstr "Hantera systemomfattande sekretessinställningar."
-#: plinth/modules/privacy/__init__.py:32 plinth/modules/privacy/__init__.py:64
-#, fuzzy
-#| msgid "Privoxy"
+#: plinth/modules/privacy/__init__.py:31 plinth/modules/privacy/__init__.py:63
msgid "Privacy"
-msgstr "Privoxy"
+msgstr "Integritet"
-#: plinth/modules/privacy/__init__.py:62
+#: plinth/modules/privacy/__init__.py:61
msgid "Please update privacy settings to match your preferences."
msgstr ""
+"Vänligen uppdatera sekretessinställningar för att matcha dina preferenser."
-#: plinth/modules/privacy/__init__.py:67
+#: plinth/modules/privacy/__init__.py:66
msgid "Review privacy setting"
-msgstr ""
+msgstr "Granska sekretessinställningen"
#: plinth/modules/privacy/forms.py:15
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
+"Skicka med jämna mellanrum en lista över appar som används (föreslagna)"
#: plinth/modules/privacy/forms.py:17
#, python-brace-format
@@ -5320,6 +5313,13 @@ msgid ""
"target=\"_blank\">popcon.debian.org. Submission happens over the Tor "
"network for additional anonymity if Tor app is enabled."
msgstr ""
+"Hjälp Debian/{box_name} -utvecklare genom att delta i "
+"paketundersökningsprogrammet Popularity Contest. När den är aktiverad kommer "
+"en lista över program som används på det här systemet att anonymt skickas in "
+"till Debian varje vecka. Statistik för de insamlade uppgifterna är "
+"offentligt tillgänglig på popcon.debian.org. Inlämningen sker via Tor-nätverket för "
+"ytterligare anonymitet om Tor-appen är aktiverad."
#: plinth/modules/privoxy/__init__.py:23
msgid ""
@@ -5609,6 +5609,14 @@ msgstr "RSS-Bridge"
msgid "RSS Feed Generator"
msgstr "RSS Feed Generator"
+#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+msgid "Allow Public Access"
+msgstr "Tillåt offentlig åtkomst"
+
+#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
+msgid "Allow this application to be used by anyone who can reach it."
+msgstr "Tillåt att det här programmet används av alla som kan nå det."
+
#: plinth/modules/samba/__init__.py:23
msgid ""
"Samba allows to share files and folders between FreedomBox and other "
@@ -5822,14 +5830,6 @@ msgstr "Måttlig"
msgid "Strict"
msgstr "Strikt"
-#: plinth/modules/searx/forms.py:17
-msgid "Allow Public Access"
-msgstr "Tillåt offentlig åtkomst"
-
-#: plinth/modules/searx/forms.py:18
-msgid "Allow this application to be used by anyone who can reach it."
-msgstr "Tillåt att det här programmet används av alla som kan nå det."
-
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr "Begränsa konsol inloggningar (rekommenderas)"
@@ -7503,13 +7503,7 @@ msgid "The following administrator accounts exist in the system."
msgstr "Följande administratörskonton finns i systemet."
#: plinth/modules/users/templates/users_firstboot.html:50
-#, fuzzy, python-format
-#| msgid ""
-#| "Delete these accounts from command line and refresh the page to create an "
-#| "account that is usable with %(box_name)s. On the command line run the "
-#| "command 'echo \"{password}\" | /usr/share/plinth/actions/users remove-"
-#| "user {username}'. If an account is already usable with %(box_name)s, skip "
-#| "this step."
+#, python-format
msgid ""
"Delete these accounts from command line and refresh the page to create an "
"account that is usable with %(box_name)s. On the command line run the "
@@ -7518,10 +7512,10 @@ msgid ""
"already usable with %(box_name)s, skip this step."
msgstr ""
"Ta bort dessa konton från kommandoraden och uppdatera sidan för att skapa "
-"ett konto som är användbart med %(box_name)s. På kommandoraden kör kommandot "
-"'echo \"{password}\" | /usr/share/plinth/actions/users remove-user "
-"{username}'. Om ett konto redan är användbart med %(box_name)s, hoppa över "
-"detta steg."
+"ett konto som kan användas med %(box_name)s. På kommandoraden kör du "
+"kommandot \"echo '{\"args\": [\"USERNAME\", \"PASSWORD\"], \"kwargs\": {}}' "
+"| sudo /usr/share/plinth/actions/actions users remove_user\". Om ett konto "
+"redan kan användas med %(box_name)s, hoppa över detta steg."
#: plinth/modules/users/templates/users_list.html:11
#: plinth/modules/users/views.py:64
@@ -8231,6 +8225,9 @@ msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
"is free software that lets you install and manage server apps with ease."
msgstr ""
+"FreedomBox är en personlig server utformad för integritet och dataägande. "
+"Det är gratis programvara som låter dig enkelt installera och hantera "
+"serverappar."
#: plinth/templates/base.html:110
msgid " Home"
diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po
index e96490446..8c7342f17 100644
--- a/plinth/locale/ta/LC_MESSAGES/django.po
+++ b/plinth/locale/ta/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -159,7 +159,7 @@ msgid "Enable a Backup Schedule"
msgstr ""
#: plinth/modules/backups/__init__.py:176
-#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:71
+#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:70
#: plinth/modules/storage/__init__.py:313
#, python-brace-format
msgid "Go to {app_name}"
@@ -916,9 +916,9 @@ msgstr ""
#: plinth/modules/minetest/views.py:55 plinth/modules/mumble/views.py:37
#: plinth/modules/pagekite/forms.py:74 plinth/modules/privacy/views.py:36
#: plinth/modules/quassel/views.py:29 plinth/modules/roundcube/views.py:32
-#: plinth/modules/shadowsocks/views.py:53 plinth/modules/ssh/views.py:52
-#: plinth/modules/transmission/views.py:43 plinth/modules/ttrss/views.py:31
-#: plinth/modules/wordpress/views.py:31
+#: plinth/modules/rssbridge/views.py:31 plinth/modules/shadowsocks/views.py:53
+#: plinth/modules/ssh/views.py:52 plinth/modules/transmission/views.py:43
+#: plinth/modules/ttrss/views.py:31 plinth/modules/wordpress/views.py:31
msgid "Configuration updated"
msgstr ""
@@ -4624,19 +4624,19 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privacy/__init__.py:15
+#: plinth/modules/privacy/__init__.py:14
msgid "Manage system-wide privacy settings."
msgstr ""
-#: plinth/modules/privacy/__init__.py:32 plinth/modules/privacy/__init__.py:64
+#: plinth/modules/privacy/__init__.py:31 plinth/modules/privacy/__init__.py:63
msgid "Privacy"
msgstr ""
-#: plinth/modules/privacy/__init__.py:62
+#: plinth/modules/privacy/__init__.py:61
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: plinth/modules/privacy/__init__.py:67
+#: plinth/modules/privacy/__init__.py:66
msgid "Review privacy setting"
msgstr ""
@@ -4878,6 +4878,14 @@ msgstr ""
msgid "RSS Feed Generator"
msgstr ""
+#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+msgid "Allow Public Access"
+msgstr ""
+
+#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
+msgid "Allow this application to be used by anyone who can reach it."
+msgstr ""
+
#: plinth/modules/samba/__init__.py:23
msgid ""
"Samba allows to share files and folders between FreedomBox and other "
@@ -5069,14 +5077,6 @@ msgstr ""
msgid "Strict"
msgstr ""
-#: plinth/modules/searx/forms.py:17
-msgid "Allow Public Access"
-msgstr ""
-
-#: plinth/modules/searx/forms.py:18
-msgid "Allow this application to be used by anyone who can reach it."
-msgstr ""
-
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr ""
diff --git a/plinth/locale/te/LC_MESSAGES/django.po b/plinth/locale/te/LC_MESSAGES/django.po
index 0a29552be..4b85b4413 100644
--- a/plinth/locale/te/LC_MESSAGES/django.po
+++ b/plinth/locale/te/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2022-03-02 12:27+0000\n"
"Last-Translator: James Valleroy \n"
"Language-Team: Telugu \n"
"Language-Team: Turkish popcon.debian.org adresinde "
+"gönderilecektir. Toplanan verilere ilişkin istatistikler, popcon.debian.org adresinde "
"herkese açıktır. Tor uygulaması etkinleştirilirse, ek isimsizlik için "
"gönderme Tor ağı üzerinden gerçekleşir."
@@ -5618,6 +5618,15 @@ msgstr "RSS-Bridge"
msgid "RSS Feed Generator"
msgstr "RSS Bildirim Oluşturucu"
+#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+msgid "Allow Public Access"
+msgstr "Herkese Açık Erişime izin ver"
+
+#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
+msgid "Allow this application to be used by anyone who can reach it."
+msgstr ""
+"Bu uygulamanın, ona ulaşabilen herkes tarafından kullanılmasına izin verin."
+
#: plinth/modules/samba/__init__.py:23
msgid ""
"Samba allows to share files and folders between FreedomBox and other "
@@ -5833,15 +5842,6 @@ msgstr "Orta"
msgid "Strict"
msgstr "Sıkı"
-#: plinth/modules/searx/forms.py:17
-msgid "Allow Public Access"
-msgstr "Herkese Açık Erişime izin ver"
-
-#: plinth/modules/searx/forms.py:18
-msgid "Allow this application to be used by anyone who can reach it."
-msgstr ""
-"Bu uygulamanın, ona ulaşabilen herkes tarafından kullanılmasına izin verin."
-
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr "Konsol oturum açmalarını kısıtla (önerilir)"
@@ -7531,8 +7531,8 @@ msgid ""
"already usable with %(box_name)s, skip this step."
msgstr ""
"Bu hesapları komut satırından silin ve %(box_name)s ile kullanılabilen bir "
-"hesap oluşturmak için sayfayı yenileyin. Komut satırında \"echo '{\"args\": ["
-"\"KULLANICIADI\", \"PAROLA\"], \"kwargs\": {}}' | sudo /usr/share/plinth/"
+"hesap oluşturmak için sayfayı yenileyin. Komut satırında \"echo '{\"args\": "
+"[\"KULLANICIADI\", \"PAROLA\"], \"kwargs\": {}}' | sudo /usr/share/plinth/"
"actions/actions users remove_user\" komutunu çalıştırın. Eğer %(box_name)s "
"ile kullanılabilen bir hesap zaten varsa, bu adımı atlayın."
diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po
index 333ef375e..685e9207d 100644
--- a/plinth/locale/uk/LC_MESSAGES/django.po
+++ b/plinth/locale/uk/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2022-10-16 14:35+0000\n"
"Last-Translator: Tymofii Lytvynenko \n"
"Language-Team: Ukrainian %(domain_name)s. "
-"Ідентифікатори користувачів будуть виглядати як @ім'я "
-"користувача:%(domain_name)s. Зміна доменного імені після початкового "
-"налаштування наразі не підтримується."
+"Ідентифікатори користувачів будуть виглядати як @ім'я користувача:"
+"%(domain_name)s. Зміна доменного імені після початкового налаштування "
+"наразі не підтримується."
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:22
msgid ""
@@ -4072,8 +4072,8 @@ msgid ""
"connectivity. If you have a public IP address but are unsure if it changes "
"over time or not, it is safer to choose this option.
"
msgstr ""
-"Я маю публічну IP-адресу, яка час від часу змінюєтьсяЦе означає, що пристрої в Інтернеті можуть звʼязуватися з Вами, коли Ви "
+"Я маю публічну IP-адресу, яка час від часу змінюється
Це означає, що пристрої в Інтернеті можуть звʼязуватися з Вами, коли Ви "
"під'єднані до Інтернету. Кожного разу, коли Ви підʼєднуєтеся до Інтернету, "
"Ваш постачальник Інтернет-послуг (ISP) може надавати Вам іншу IP-адресу, "
"особливо після тривалого часу без мережі. Багато постачальників пропонують "
@@ -5042,8 +5042,8 @@ msgid ""
msgstr ""
"PageKite працює в обхід NAT, фаєрволів і обмежень IP-адрес, використовуючи "
"комбінацію тунелів і зворотних проксі-серверів. Ви можете використовувати "
-"будь-якого постачальника послуг pagekite, наприклад pagekite.net. У майбутньому для цього можна буде "
+"будь-якого постачальника послуг pagekite, наприклад pagekite.net. У майбутньому для цього можна буде "
"використовувати вашого приятеля {box_name}."
#: plinth/modules/pagekite/__init__.py:59
@@ -5292,20 +5292,20 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Вимкнути зараз"
-#: plinth/modules/privacy/__init__.py:15
+#: plinth/modules/privacy/__init__.py:14
msgid "Manage system-wide privacy settings."
msgstr "Керування загальносистемними налаштуваннями приватності."
-#: plinth/modules/privacy/__init__.py:32 plinth/modules/privacy/__init__.py:64
+#: plinth/modules/privacy/__init__.py:31 plinth/modules/privacy/__init__.py:63
msgid "Privacy"
msgstr "Приватність"
-#: plinth/modules/privacy/__init__.py:62
+#: plinth/modules/privacy/__init__.py:61
msgid "Please update privacy settings to match your preferences."
msgstr ""
"Будь ласка, оновіть налаштування приватності відповідно до ваших уподобань."
-#: plinth/modules/privacy/__init__.py:67
+#: plinth/modules/privacy/__init__.py:66
msgid "Review privacy setting"
msgstr "Переогляд налаштувань приватності"
@@ -5622,6 +5622,15 @@ msgstr "RSS-міст"
msgid "RSS Feed Generator"
msgstr "Ґенератор стрічок RSS"
+#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
+msgid "Allow Public Access"
+msgstr "Дозволити публічний доступ"
+
+#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
+msgid "Allow this application to be used by anyone who can reach it."
+msgstr ""
+"Дозволити користуватися цим застосуноком кожному, хто має до нього доступ."
+
#: plinth/modules/samba/__init__.py:23
msgid ""
"Samba allows to share files and folders between FreedomBox and other "
@@ -5640,9 +5649,9 @@ msgid ""
msgstr ""
"Після встановлення ви можете вибрати, які диски використовувати для "
"спільного доступу. Увімкнені загальні ресурси доступні у файловому менеджері "
-"на вашому комп'ютері за адресою \\\\{hostname} (у Windows) або "
-"smb://{hostname}.local (у Linux та Mac). Існує три типи загальних ресурсів, "
-"з яких ви можете вибрати: "
+"на вашому комп'ютері за адресою \\\\{hostname} (у Windows) або smb://"
+"{hostname}.local (у Linux та Mac). Існує три типи загальних ресурсів, з яких "
+"ви можете вибрати: "
#: plinth/modules/samba/__init__.py:31
msgid "Open share - accessible to everyone in your local network."
@@ -5723,9 +5732,9 @@ msgid ""
"\"%(storage_url)s\">storage module page and configure access to the "
"shares on the users module page."
msgstr ""
-"Ознайомитися з подробицями про диски можна на сторінці модуля сховище, а налаштувати доступ до загальних ресурсів - "
-"на сторінці модуля користувачі."
+"Ознайомитися з подробицями про диски можна на сторінці модуля сховище, а налаштувати доступ до загальних ресурсів "
+"- на сторінці модуля користувачі."
#: plinth/modules/samba/templates/samba.html:120
msgid "Users who can currently access group and home shares"
@@ -5838,15 +5847,6 @@ msgstr "Модерований"
msgid "Strict"
msgstr "Строгий"
-#: plinth/modules/searx/forms.py:17
-msgid "Allow Public Access"
-msgstr "Дозволити публічний доступ"
-
-#: plinth/modules/searx/forms.py:18
-msgid "Allow this application to be used by anyone who can reach it."
-msgstr ""
-"Дозволити користуватися цим застосуноком кожному, хто має до нього доступ."
-
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr "Обмежувати вхід до консолі (рекомендовано)"
@@ -5905,8 +5905,8 @@ msgid ""
"community."
msgstr ""
"Часті оновлення функцій дозволяють службі %(box_name)s, а також дуже "
-"обмеженому набору програмного забезпечення, частіше отримувати нові функції ("
-"з репозиторію бекпортів). Це призводить до того, що деякі нові функції "
+"обмеженому набору програмного забезпечення, частіше отримувати нові функції "
+"(з репозиторію бекпортів). Це призводить до того, що деякі нові функції "
"з'являються протягом декількох тижнів, а не лише раз на 2 роки або близько "
"того. Зауважте, що програмне забезпечення з частими оновленнями не "
"підтримується командою безпеки Debian. Замість цього вони підтримуються "
@@ -6053,8 +6053,8 @@ msgid ""
"browser or application to http://freedombox_address:1080/"
msgstr ""
"Щоб використовувати Shadowsocks після налаштування, встановіть URL-адресу "
-"проксі-сервера SOCKS5 у вашому пристрої, браузері або програмі на "
-"http://freedombox_address:1080/"
+"проксі-сервера SOCKS5 у вашому пристрої, браузері або програмі на http://"
+"freedombox_address:1080/"
#: plinth/modules/shadowsocks/__init__.py:46
msgid "Shadowsocks"
@@ -6861,8 +6861,8 @@ msgid ""
"\">https://bridges.torproject.org/ and copy/paste the bridge information "
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
msgstr ""
-"Ви можете отримати деякі мости з https://bridges.torproject.org/ і скопіювати/вставити дані про міст "
+"Ви можете отримати деякі мости з https://bridges.torproject.org/ і скопіювати/вставити дані про міст "
"сюди. Наразі підтримуються такі види транспорту: none, obfs3, obfs4 та "
"scamblesuit."
@@ -7524,8 +7524,8 @@ msgstr ""
"створення облікового запису, який можна використовувати з %(box_name)s. У "
"командному рядку виконайте команду \"echo '{\"args\": [\"USERNAME\", "
"\"PASSWORD\"], \"kwargs\": {}}' | sudo /usr/share/plinth/actions/actions "
-"users remove_user\". Якщо обліковий запис вже використовується на %(box_name)"
-"s, пропустіть цей крок."
+"users remove_user\". Якщо обліковий запис вже використовується на "
+"%(box_name)s, пропустіть цей крок."
#: plinth/modules/users/templates/users_list.html:11
#: plinth/modules/users/views.py:64
@@ -7654,8 +7654,8 @@ msgid ""
"Provided by the server operator, a long string of characters. Example: "
"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ."
msgstr ""
-"Надається оператором сервера, довгий рядок символів. Приклад: MConEJFIg6+"
-"DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ."
+"Надається оператором сервера, довгий рядок символів. Приклад: "
+"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ."
#: plinth/modules/wireguard/forms.py:82
msgid "Client IP address provided by server"
@@ -7668,8 +7668,8 @@ msgid ""
"192.168.0.10."
msgstr ""
"IP-адреса, присвоєна цьому комп'ютеру в VPN після під'єднання до кінцевої "
-"точки. Це значення зазвичай надається оператором сервера. Приклад: 192.168.0."
-"10."
+"точки. Це значення зазвичай надається оператором сервера. Приклад: "
+"192.168.0.10."
#: plinth/modules/wireguard/forms.py:89
msgid "Private key of this machine"
diff --git a/plinth/locale/vi/LC_MESSAGES/django.po b/plinth/locale/vi/LC_MESSAGES/django.po
index 349c16aa5..27006dfe8 100644
--- a/plinth/locale/vi/LC_MESSAGES/django.po
+++ b/plinth/locale/vi/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 21:35-0400\n"
+"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2021-07-28 08:34+0000\n"
"Last-Translator: bruh \n"
"Language-Team: Vietnamese \n"
"Language-Team: Chinese (Simplified) \n"
"Language-Team: Chinese (Traditional)
-
- # Formats: Atom, Json, Mrss and Plaintext
- Include includes/freedombox-auth-ldap.conf
- Require ldap-group cn=admin,ou=groups,dc=thisbox
- Require ldap-group cn=feed-reader,ou=groups,dc=thisbox
-
-
- # Formats: Html and all other pages
- Include includes/freedombox-single-sign-on.conf
-
- TKTAuthToken "feed-reader" "admin"
-
-
+
+
+ # Formats: Atom, Json, Mrss and Plaintext
+ Include includes/freedombox-auth-ldap.conf
+ Require ldap-group cn=admin,ou=groups,dc=thisbox
+ Require ldap-group cn=feed-reader,ou=groups,dc=thisbox
+
+
+ # Formats: Html and all other pages
+ Include includes/freedombox-single-sign-on.conf
+
+ TKTAuthToken "feed-reader" "admin"
+
+
+
+
+ Require all granted
+
diff --git a/plinth/modules/rssbridge/forms.py b/plinth/modules/rssbridge/forms.py
new file mode 100644
index 000000000..69c1be9db
--- /dev/null
+++ b/plinth/modules/rssbridge/forms.py
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+"""Django forms for configuring RSS-Bridge."""
+
+from django import forms
+from django.utils.translation import gettext_lazy as _
+
+
+class RSSBridgeForm(forms.Form):
+ """RSS-Bridge configuration form."""
+
+ is_public = forms.BooleanField(
+ label=_('Allow Public Access'), help_text=_(
+ 'Allow this application to be used by anyone who can reach it.'),
+ required=False)
diff --git a/plinth/modules/rssbridge/privileged.py b/plinth/modules/rssbridge/privileged.py
index 51778f89a..ad31fb541 100644
--- a/plinth/modules/rssbridge/privileged.py
+++ b/plinth/modules/rssbridge/privileged.py
@@ -2,12 +2,32 @@
"""Configure RSS-Bridge."""
import pathlib
+from plinth import action_utils
from plinth.actions import privileged
+PUBLIC_ACCESS_FILE = '/etc/rss-bridge/is_public'
+
@privileged
def setup():
"""Configure RSS-Bridge by enable all bridges."""
enable_list = pathlib.Path('/etc/rss-bridge/whitelist.txt')
enable_list.write_text('*\n', encoding='utf-8')
+
+
+@privileged
+def set_public(enable: bool):
+ """Allow/disallow public access."""
+ public_access_file = pathlib.Path(PUBLIC_ACCESS_FILE)
+ if enable:
+ public_access_file.touch()
+ else:
+ public_access_file.unlink(missing_ok=True)
+
+ action_utils.service_reload('apache2')
+
+
+def is_public() -> bool:
+ """Return whether public access is enabled."""
+ return pathlib.Path(PUBLIC_ACCESS_FILE).exists()
diff --git a/plinth/modules/rssbridge/urls.py b/plinth/modules/rssbridge/urls.py
index 5df049814..03786488d 100644
--- a/plinth/modules/rssbridge/urls.py
+++ b/plinth/modules/rssbridge/urls.py
@@ -5,9 +5,9 @@ URLs for the RSS-Bridge module.
from django.urls import re_path
-from plinth.views import AppView
+from .views import RSSBridgeAppView
urlpatterns = [
- re_path(r'^apps/rssbridge/$', AppView.as_view(app_id='rssbridge'),
+ re_path(r'^apps/rssbridge/$', RSSBridgeAppView.as_view(app_id='rssbridge'),
name='index'),
]
diff --git a/plinth/modules/rssbridge/views.py b/plinth/modules/rssbridge/views.py
new file mode 100644
index 000000000..3b5dc19ad
--- /dev/null
+++ b/plinth/modules/rssbridge/views.py
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+"""FreedomBox app for configuring RSS-Bridge."""
+
+from django.contrib import messages
+from django.utils.translation import gettext as _
+
+from plinth import views
+
+from . import privileged
+from .forms import RSSBridgeForm
+
+
+class RSSBridgeAppView(views.AppView):
+ """Serve configuration page."""
+
+ form_class = RSSBridgeForm
+ app_id = 'rssbridge'
+
+ def get_initial(self):
+ """Get the current RSS-Bridge settings."""
+ status = super().get_initial()
+ status['is_public'] = privileged.is_public()
+ return status
+
+ def form_valid(self, form):
+ """Apply the changes submitted in the form."""
+ old_status = form.initial
+ new_status = form.cleaned_data
+ if old_status['is_public'] != new_status['is_public']:
+ privileged.set_public(new_status['is_public'])
+ messages.success(self.request, _('Configuration updated'))
+
+ return super().form_valid(form)
diff --git a/plinth/modules/storage/__init__.py b/plinth/modules/storage/__init__.py
index 7b29265e6..835170e03 100644
--- a/plinth/modules/storage/__init__.py
+++ b/plinth/modules/storage/__init__.py
@@ -159,7 +159,7 @@ def _get_disks_from_df():
def get_filesystem_type(mount_point='/'):
"""Return the type of the filesystem mounted at mountpoint."""
- for partition in psutil.disk_partitions():
+ for partition in psutil.disk_partitions(all=True):
if partition.mountpoint == mount_point:
return partition.fstype
diff --git a/plinth/modules/upgrades/privileged.py b/plinth/modules/upgrades/privileged.py
index 43a2c2ea3..9d2783373 100644
--- a/plinth/modules/upgrades/privileged.py
+++ b/plinth/modules/upgrades/privileged.py
@@ -249,7 +249,8 @@ def _check_and_backports_sources(develop=False):
with open('/etc/dpkg/origins/default', 'r',
encoding='utf-8') as default_origin:
matches = [
- re.match(r'Vendor:\s+Debian', line, flags=re.IGNORECASE)
+ re.match(r'Vendor:\s+(Debian|FreedomBox)', line,
+ flags=re.IGNORECASE)
for line in default_origin.readlines()
]
except FileNotFoundError:
@@ -492,9 +493,10 @@ def _perform_dist_upgrade():
f'{DIST_UPGRADE_PRE_DEBCONF_SELECTIONS}', flush=True)
debconf_set_selections(DIST_UPGRADE_PRE_DEBCONF_SELECTIONS)
+ # XXX: unattended-upgrade gets stuck here, see #2266.
# This will upgrade most of the packages.
- print('Running unattended-upgrade...', flush=True)
- subprocess.run(['unattended-upgrade', '--verbose'], check=False)
+ # print('Running unattended-upgrade...', flush=True)
+ # subprocess.run(['unattended-upgrade', '--verbose'], check=False)
# Remove obsolete packages that may prevent other packages from
# upgrading.