From 9ca56c728e0d01c8ac183d2d535b3d13c720a2e2 Mon Sep 17 00:00:00 2001 From: nbenedek Date: Thu, 23 Jun 2022 22:08:50 +0200 Subject: [PATCH 01/26] mediawiki: Remove Buster specific code not needed in Bullseye Reviewed-by: Sunil Mohan Adapa --- actions/mediawiki | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/actions/mediawiki b/actions/mediawiki index 7da44c756..c92d07d4d 100755 --- a/actions/mediawiki +++ b/actions/mediawiki @@ -104,7 +104,6 @@ def subcommand_setup(_): subprocess.run(['chmod', '-R', 'o-rwx', data_dir], check=True) subprocess.run(['chown', '-R', 'www-data:www-data', data_dir], check=True) include_custom_config() - _fix_non_private_mode() def include_custom_config(): @@ -134,21 +133,6 @@ def include_custom_config(): conf_file.writelines(lines) -def _fix_non_private_mode(): - """Drop the line that allows editing by anonymous users. - - Remove this fix after the release of Debian 11. - - """ - with open(CONF_FILE, 'r') as conf_file: - lines = conf_file.readlines() - - with open(CONF_FILE, 'w') as conf_file: - for line in lines: - if not line.startswith("$wgGroupPermissions['*']['edit']"): - conf_file.write(line) - - def subcommand_change_password(arguments): """Change the password for a given user""" new_password = ''.join(sys.stdin) From 26f576bb79c16013fafa9a46620a10c428b1b3b2 Mon Sep 17 00:00:00 2001 From: nbenedek Date: Thu, 23 Jun 2022 22:42:48 +0200 Subject: [PATCH 02/26] mediawiki: Remove wgLogo as it is not needed in Bullseye Reviewed-by: Sunil Mohan Adapa --- .../mediawiki/data/etc/mediawiki/FreedomBoxStaticSettings.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/plinth/modules/mediawiki/data/etc/mediawiki/FreedomBoxStaticSettings.php b/plinth/modules/mediawiki/data/etc/mediawiki/FreedomBoxStaticSettings.php index 878c5be7d..f162cf98a 100644 --- a/plinth/modules/mediawiki/data/etc/mediawiki/FreedomBoxStaticSettings.php +++ b/plinth/modules/mediawiki/data/etc/mediawiki/FreedomBoxStaticSettings.php @@ -9,10 +9,7 @@ */ # Default logo -# wgLogos takes precedence over wgLogo. $wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/mediawiki.png" ]; -# TODO wgLogo can be removed from Debian 11 -$wgLogo = "$wgResourceBasePath/resources/assets/mediawiki.png"; # Enable file uploads $wgEnableUploads = true; From 0d37809eb85a0b514e56d7117ad16d8a2b422312 Mon Sep 17 00:00:00 2001 From: nbenedek Date: Thu, 23 Jun 2022 22:56:06 +0200 Subject: [PATCH 03/26] mediawiki: Add regex validator to the domain field Reviewed-by: Sunil Mohan Adapa --- plinth/modules/mediawiki/forms.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plinth/modules/mediawiki/forms.py b/plinth/modules/mediawiki/forms.py index 85372dfc5..eb447d757 100644 --- a/plinth/modules/mediawiki/forms.py +++ b/plinth/modules/mediawiki/forms.py @@ -34,7 +34,8 @@ class MediaWikiForm(forms.Form): # pylint: disable=W0232 label=_('Domain'), required=False, help_text=_( '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".')) + '"myfreedombox.example.org" or "example.onion".'), + validators=[validators.RegexValidator('[$"]', inverse_match=True)]) site_name = forms.CharField( label=_('Site Name'), required=False, From 559ab48e9bd5c1562bfdd60a45f73d0ae3c61fd8 Mon Sep 17 00:00:00 2001 From: Nikita Epifanov Date: Mon, 27 Jun 2022 17:40:37 +0000 Subject: [PATCH 04/26] Translated using Weblate (Russian) Currently translated at 99.7% (1451 of 1455 strings) --- plinth/locale/ru/LC_MESSAGES/django.po | 38 ++++++++++++-------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po index 7b3e0a046..1a1781f9a 100644 --- a/plinth/locale/ru/LC_MESSAGES/django.po +++ b/plinth/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-06-20 20:21-0400\n" -"PO-Revision-Date: 2022-06-13 12:19+0000\n" +"PO-Revision-Date: 2022-06-29 21:17+0000\n" "Last-Translator: Nikita Epifanov \n" "Language-Team: Russian \n" @@ -18,7 +18,7 @@ msgstr "" "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.13-dev\n" +"X-Generator: Weblate 4.13.1-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -1864,8 +1864,6 @@ msgid "Chat Server" msgstr "Чат-сервер" #: plinth/modules/ejabberd/forms.py:19 -#, fuzzy -#| msgid "Domain Names" msgid "Domain names" msgstr "Доменные имена" @@ -1874,6 +1872,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 "" +"Домены, которые будут использоваться ejabberd. Обратите внимание, что " +"учетные записи пользователей уникальны для каждого домена, и перенос " +"пользователей на новое доменное имя пока не реализовано." #: plinth/modules/ejabberd/forms.py:26 msgid "Enable Message Archive Management" @@ -3027,10 +3028,9 @@ msgid "A simple video conference room is included." msgstr "Включает в себя простую комнату видеоконференций." #: plinth/modules/janus/__init__.py:26 -#, fuzzy, python-brace-format -#| msgid "A STUN/TURN server (such as Coturn) is required to use Janus." +#, python-brace-format msgid "Coturn is required to use Janus." -msgstr "Для использования Janus требуется сервер STUN/TURN (например, Coturn)." +msgstr "Coturn необходим для использования Janus." #: plinth/modules/janus/__init__.py:44 msgid "Janus" @@ -3398,7 +3398,9 @@ msgid "" "password." msgstr "" "Установить новый пароль для учетной записи администратора MediaWiki (admin). " -"Оставьте это поле пустым, чтобы сохранить текущий пароль." +"Пароль не может быть общим, а минимальная требуемая длина составляет " +"10 символов. Оставьте это поле пустым, чтобы сохранить " +"текущий пароль." #: plinth/modules/mediawiki/forms.py:35 msgid "" @@ -3411,14 +3413,12 @@ msgstr "" "\"myfreedombox.example.org\" или \"example.onion\"." #: plinth/modules/mediawiki/forms.py:40 -#, fuzzy -#| msgid "Kite name" msgid "Site Name" -msgstr "Имя Kite" +msgstr "Название сайта" #: plinth/modules/mediawiki/forms.py:41 msgid "Name of the site as displayed throughout the wiki." -msgstr "" +msgstr "Название сайта, отображаемое в вики." #: plinth/modules/mediawiki/forms.py:45 msgid "Enable public registrations" @@ -3490,10 +3490,8 @@ msgid "Domain name updated" msgstr "Доменное имя обновлено" #: plinth/modules/mediawiki/views.py:103 -#, fuzzy -#| msgid "Domain name updated" msgid "Site name updated" -msgstr "Доменное имя обновлено" +msgstr "Название сайта обновлено" #: plinth/modules/minetest/__init__.py:35 #, python-brace-format @@ -3675,7 +3673,7 @@ msgstr "" #: plinth/modules/mumble/forms.py:40 msgid "Set a password to join the server" -msgstr "" +msgstr "Установите пароль для подключения к серверу" #: plinth/modules/mumble/forms.py:42 #, fuzzy @@ -3686,8 +3684,8 @@ msgid "" "Set a password that is required to join the server. Leave empty to use the " "current password." msgstr "" -"Установить новый пароль для Coquelicot. Оставьте это поле пустым, чтобы " -"сохранить текущий пароль." +"Установить пароль для подключения к серверу. Оставьте пустым, чтобы " +"использовать текущий пароль." #: plinth/modules/mumble/forms.py:48 msgid "Set the name for the root channel" @@ -3714,10 +3712,8 @@ msgid "SuperUser password successfully updated." msgstr "Пароль суперпользователя успешно обновлён." #: plinth/modules/mumble/views.py:46 -#, fuzzy -#| msgid "Upload password updated" msgid "Join password changed" -msgstr "Пароль загрузки обновлен" +msgstr "Пароль для подключения обновлён" #: plinth/modules/mumble/views.py:51 msgid "Root channel name changed." From 12f157071b01dc29a39a46142eabd30a8c0a4c5e Mon Sep 17 00:00:00 2001 From: 109247019824 Date: Tue, 28 Jun 2022 04:54:19 +0000 Subject: [PATCH 05/26] Translated using Weblate (Bulgarian) Currently translated at 29.3% (427 of 1455 strings) --- plinth/locale/bg/LC_MESSAGES/django.po | 173 +++++++++++++++---------- 1 file changed, 104 insertions(+), 69 deletions(-) diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po index 040a27275..5dcc2ab66 100644 --- a/plinth/locale/bg/LC_MESSAGES/django.po +++ b/plinth/locale/bg/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-06-20 20:21-0400\n" -"PO-Revision-Date: 2022-06-22 17:14+0000\n" +"PO-Revision-Date: 2022-06-29 21:17+0000\n" "Last-Translator: 109247019824 \n" "Language-Team: Bulgarian \n" @@ -824,7 +824,7 @@ msgstr "" #: plinth/modules/bepasty/templates/bepasty.html:30 #: plinth/modules/users/forms.py:108 plinth/modules/users/forms.py:234 msgid "Permissions" -msgstr "" +msgstr "Права" #: plinth/modules/bepasty/forms.py:29 msgid "" @@ -1171,6 +1171,8 @@ msgid "" "Here you can set some general configuration options like hostname, domain " "name, webserver home page etc." msgstr "" +"Тук можете да направите някои общи настройки, като име на хост, име на " +"домейн, начална страница на сървъра и др." #: plinth/modules/config/__init__.py:53 msgid "General Configuration" @@ -1197,15 +1199,15 @@ msgstr "Недопустимо име на домейн" #: plinth/modules/config/forms.py:40 #, python-brace-format msgid "{user}'s website" -msgstr "" +msgstr "Страница на {user}" #: plinth/modules/config/forms.py:42 msgid "Apache Default" -msgstr "" +msgstr "Apache по подразбиране" #: plinth/modules/config/forms.py:43 msgid "FreedomBox Service (Plinth)" -msgstr "" +msgstr "Услуга на FreedomBox (Plinth)" #: plinth/modules/config/forms.py:55 msgid "Hostname" @@ -1222,7 +1224,7 @@ msgstr "" #: plinth/modules/config/forms.py:64 msgid "Invalid hostname" -msgstr "Недействително име на хост" +msgstr "Недопустимо име на хост" #: plinth/modules/config/forms.py:70 #, python-brace-format @@ -1255,47 +1257,47 @@ msgstr "Допълнителни приложения и възможности" #: plinth/modules/config/forms.py:100 msgid "Show apps and features that require more technical knowledge." -msgstr "" +msgstr "Показване на приложения и възможности, изискващи технически познания" #: plinth/modules/config/views.py:46 #, python-brace-format msgid "Error setting hostname: {exception}" -msgstr "" +msgstr "Грешка при задаване на името на хоста: {exception}" #: plinth/modules/config/views.py:49 msgid "Hostname set" -msgstr "" +msgstr "Името на хоста е зададено" #: plinth/modules/config/views.py:58 #, python-brace-format msgid "Error setting domain name: {exception}" -msgstr "" +msgstr "Грешка при задаване на името на домейна: {exception}" #: plinth/modules/config/views.py:61 msgid "Domain name set" -msgstr "" +msgstr "Името на домейна е зададено" #: plinth/modules/config/views.py:69 #, python-brace-format msgid "Error setting webserver home page: {exception}" -msgstr "" +msgstr "Грешка при задаване на началната страница на сървъра: {exception}" #: plinth/modules/config/views.py:72 msgid "Webserver home page set" -msgstr "" +msgstr "Началната страница на сървъра е зададена" #: plinth/modules/config/views.py:80 #, python-brace-format msgid "Error changing advanced mode: {exception}" -msgstr "" +msgstr "Грешка при промяна на разширения режим: {exception}" #: plinth/modules/config/views.py:85 msgid "Showing advanced apps and features" -msgstr "" +msgstr "Разширените приложения и възможности се показват" #: plinth/modules/config/views.py:88 msgid "Hiding advanced apps and features" -msgstr "" +msgstr "Разширените приложения и възможности са скрити" #: plinth/modules/coturn/__init__.py:29 msgid "" @@ -1338,37 +1340,41 @@ msgid "" "Network time server is a program that maintains the system time in " "synchronization with servers on the Internet." msgstr "" +"Сървърът за време по мрежата е приложение, която поддържа системния часовник " +"синхронизиран със сървъри в интернет." #: plinth/modules/datetime/__init__.py:68 msgid "Date & Time" -msgstr "" +msgstr "Дата и час" #: plinth/modules/datetime/__init__.py:117 msgid "Time synchronized to NTP server" -msgstr "" +msgstr "Часовникът се сверява със сървър на NTP" #: plinth/modules/datetime/forms.py:18 msgid "Time Zone" -msgstr "" +msgstr "Часови пояс" #: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" +"Задайте часовия пояс, в който се намирате, за да получавате точно време. " +"Така ще настроите часови пояс на цялата система." #: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" -msgstr "" +msgstr "— не е избран часови пояс —" #: plinth/modules/datetime/views.py:45 #, python-brace-format msgid "Error setting time zone: {exception}" -msgstr "" +msgstr "Грешка при задаване на часовия пояс: {exception}" #: plinth/modules/datetime/views.py:48 msgid "Time zone set" -msgstr "" +msgstr "Часовият пояс е зададен" #: plinth/modules/deluge/__init__.py:22 msgid "Deluge is a BitTorrent client that features a Web UI." @@ -1630,7 +1636,7 @@ msgstr "" #: plinth/modules/dynamicdns/forms.py:88 plinth/modules/networks/forms.py:212 #: plinth/modules/users/forms.py:68 msgid "Username" -msgstr "" +msgstr "Потребителско име" #: plinth/modules/dynamicdns/forms.py:95 plinth/modules/networks/forms.py:215 msgid "Show password" @@ -2100,14 +2106,17 @@ msgid "" "also be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-" "wizard-secret\" on your {box_name}" msgstr "" +"Въведете тайния ключ, създаден по време на инсталацията на FreedomBox. " +"Ключът може да бъде получен и чрез изпълнение на командата „sudo cat /var/" +"lib/plinth/firstboot-wizard-secret“ на устройството {box_name}" #: plinth/modules/first_boot/forms.py:19 msgid "Firstboot Wizard Secret" -msgstr "" +msgstr "Помощник за тайния ключ при първо зареждане" #: plinth/modules/first_boot/templates/firstboot_complete.html:11 msgid "Setup Complete!" -msgstr "" +msgstr "Настройката е завършена!" #: plinth/modules/first_boot/templates/firstboot_complete.html:14 #, python-format @@ -2124,14 +2133,16 @@ msgid "" "You may want to check the network setup and " "modify it if necessary." msgstr "" +"Вероятно ще искате да промените настройките на " +"мрежата и при необходимост, да ги промените." #: plinth/modules/first_boot/templates/firstboot_welcome.html:29 msgid "Start Setup" -msgstr "" +msgstr "Начало на настройката" #: plinth/modules/first_boot/views.py:50 msgid "Setup Complete" -msgstr "" +msgstr "Настройката е завършена" #: plinth/modules/gitweb/__init__.py:26 msgid "" @@ -3996,7 +4007,7 @@ msgstr "" #: plinth/modules/networks/templates/router_configuration_firstboot.html:19 #: plinth/modules/users/templates/users_firstboot.html:63 msgid "Skip this step" -msgstr "" +msgstr "Пропускане на стъпката" #: plinth/modules/networks/templates/internet_connectivity_firstboot.html:21 #: plinth/modules/networks/templates/network_topology_firstboot.html:21 @@ -6461,6 +6472,10 @@ msgid "" "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" +"Създавайте и управлявайте потребителски профили. Те служат като " +"централизиран механизъм за удостоверяване за повечето приложения. За да " +"получи достъп, някои приложения още имат изискване потребителският профил да " +"бъде част от определена група." #: plinth/modules/users/__init__.py:34 #, python-brace-format @@ -6469,46 +6484,53 @@ msgid "" "relevant to them in the home page. However, only users of the admin " "group may alter apps or system settings." msgstr "" +"Всеки потребител може да влезе в {box_name} и на началната страница да види " +"списъка с подходящите за него приложения. Но само потребителите от групата " +"администратори могат да променят приложенията и настройките на " +"системата." #: plinth/modules/users/__init__.py:57 msgid "Users and Groups" -msgstr "" +msgstr "Потребители и групи" #: plinth/modules/users/__init__.py:77 msgid "Access to all services and system settings" -msgstr "" +msgstr "Достъп до всички услуги и системни настройки" #: plinth/modules/users/__init__.py:113 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" -msgstr "" +msgstr "Проверете записа на LDAP „{search_item}“" #: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." -msgstr "" +msgstr "Потребителското име е заето." #: plinth/modules/users/forms.py:63 msgid "Enter a valid username." -msgstr "" +msgstr "Въведете валидно потребителско име." #: plinth/modules/users/forms.py:70 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" +"Задължително. 150 знака или по-малко. Само латински букви, цифри и @/./-/_." #: plinth/modules/users/forms.py:78 msgid "Authorization Password" -msgstr "" +msgstr "Парола за удостоверяване" #: plinth/modules/users/forms.py:84 #, python-brace-format msgid "" "Enter the password for user \"{user}\" to authorize account modifications." msgstr "" +"За да разрешите промяната на профила, въведете паролата на потребителя " +"„{user}“." #: plinth/modules/users/forms.py:93 msgid "Invalid password." -msgstr "" +msgstr "Грешна парола." #: plinth/modules/users/forms.py:110 msgid "" @@ -6522,16 +6544,16 @@ msgstr "" #: plinth/modules/users/forms.py:155 plinth/modules/users/forms.py:399 #, python-brace-format msgid "Creating LDAP user failed: {error}" -msgstr "" +msgstr "Не е създаден потребител в LDAP: {error}" #: plinth/modules/users/forms.py:168 #, python-brace-format msgid "Failed to add new user to {group} group: {error}" -msgstr "" +msgstr "Новият потребител не е добавен към групата {group}: {error}" #: plinth/modules/users/forms.py:182 msgid "Authorized SSH Keys" -msgstr "" +msgstr "Удостоверени ключове на SSH" #: plinth/modules/users/forms.py:184 msgid "" @@ -6539,53 +6561,57 @@ msgid "" "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" +"Задаването на публичен ключ на SSH ще даде възможност на потребителя да " +"влиза сигурно в системата, без да използва парола. Можете да въведете " +"няколко ключа, по един на ред. Празните редове и редовете, започващи с #, ще " +"бъдат пренебрегнати." #: plinth/modules/users/forms.py:269 msgid "Renaming LDAP user failed." -msgstr "" +msgstr "Потребителят на LDAP не е преименуван." #: plinth/modules/users/forms.py:282 msgid "Failed to remove user from group." -msgstr "" +msgstr "Потребителят не е премахнат от групата." #: plinth/modules/users/forms.py:294 msgid "Failed to add user to group." -msgstr "" +msgstr "Потребителят не е добавен към групата." #: plinth/modules/users/forms.py:307 msgid "Unable to set SSH keys." -msgstr "" +msgstr "Ключовете на SSH не са зададени." #: plinth/modules/users/forms.py:325 msgid "Failed to change user status." -msgstr "" +msgstr "Състоянието на потребителя не е променено." #: plinth/modules/users/forms.py:370 msgid "Changing LDAP user password failed." -msgstr "" +msgstr "Паролата на потребителя на LDAP не е променена." #: plinth/modules/users/forms.py:410 #, python-brace-format msgid "Failed to add new user to admin group: {error}" -msgstr "" +msgstr "Новият потребител не е добавен към администраторската група: {error}" #: plinth/modules/users/forms.py:429 #, python-brace-format msgid "Failed to restrict console access: {error}" -msgstr "" +msgstr "Достъпът до конзолата не е ограничен: {error}" #: plinth/modules/users/forms.py:442 msgid "User account created, you are now logged in" -msgstr "" +msgstr "Профилът е създаден и вече сте влезли" #: plinth/modules/users/templates/users_change_password.html:11 #, python-format msgid "Change Password for %(username)s" -msgstr "Смяна на паролата на %(username)s" +msgstr "Промяна на паролата на %(username)s" #: plinth/modules/users/templates/users_change_password.html:21 msgid "Save Password" -msgstr "" +msgstr "Запазване на парола" #: plinth/modules/users/templates/users_create.html:11 #: plinth/modules/users/templates/users_create.html:19 @@ -6593,26 +6619,27 @@ msgstr "" #: plinth/modules/users/templates/users_list.html:17 #: plinth/modules/users/views.py:44 msgid "Create User" -msgstr "" +msgstr "Създаване на потребител" #: plinth/modules/users/templates/users_delete.html:11 #: plinth/modules/users/views.py:134 msgid "Delete User" -msgstr "" +msgstr "Премахване на потребител" #: plinth/modules/users/templates/users_delete.html:14 #, python-format msgid "Delete user %(username)s permanently?" msgstr "" +"Потвърждавате ли премахването на потребителя %(username)s?" #: plinth/modules/users/templates/users_delete.html:23 #, python-format msgid "Delete %(username)s" -msgstr "" +msgstr "Премахване на %(username)s" #: plinth/modules/users/templates/users_firstboot.html:11 msgid "Administrator Account" -msgstr "" +msgstr "Профил на администратора" #: plinth/modules/users/templates/users_firstboot.html:15 msgid "" @@ -6620,6 +6647,9 @@ msgid "" "can be changed later. This user will be granted administrative privileges. " "Other users can be added later." msgstr "" +"Изберете потребителско име и парола за достъп до този интерфейс. Паролата " +"може да бъде променена по-късно. Потребителят ще получи права на " +"администратор. Други потребители могат да бъдат добавени по-късно." #: plinth/modules/users/templates/users_firstboot.html:28 msgid "Create Account" @@ -6627,11 +6657,11 @@ msgstr "Създаване на профил" #: plinth/modules/users/templates/users_firstboot.html:32 msgid "An administrator account already exists." -msgstr "" +msgstr "Вече съществува администраторски профил." #: plinth/modules/users/templates/users_firstboot.html:38 msgid "The following administrator accounts exist in the system." -msgstr "" +msgstr "В системата съществуват следните администраторски профили." #: plinth/modules/users/templates/users_firstboot.html:50 #, python-format, python-brace-format @@ -6642,26 +6672,31 @@ msgid "" "{username}'. If an account is already usable with %(box_name)s, skip this " "step." msgstr "" +"а да създадете профил, който може да се използва с %(box_name)s, премахнете " +"тези профили от командния ред и презаредете страницата. Чрез командния ред " +"изпълнете 'echo \"{password}\" | /usr/share/plinth/actions/users remove-user " +"{username}'. Ако профилът вече може да се използва с %(box_name)s, " +"прескочете тази стъпка." #: plinth/modules/users/templates/users_list.html:11 #: plinth/modules/users/views.py:61 msgid "Users" -msgstr "" +msgstr "Поребители" #: plinth/modules/users/templates/users_list.html:28 #, python-format msgid "Edit user %(username)s" -msgstr "" +msgstr "Промяна на потребителя %(username)s" #: plinth/modules/users/templates/users_list.html:41 #, python-format msgid "Delete user %(username)s" -msgstr "" +msgstr "Премахване на потребителя %(username)s" #: plinth/modules/users/templates/users_update.html:11 #, python-format msgid "Edit User %(username)s" -msgstr "" +msgstr "Променяне на потребителя %(username)s" #: plinth/modules/users/templates/users_update.html:19 #, python-format @@ -6669,44 +6704,44 @@ msgid "" "Use the change password form to " "change the password." msgstr "" -"За да смените паролата, използвайте формуляра за смяна на парола." +"За да промените паролата, използвайте формуляра за промяна на парола." #: plinth/modules/users/templates/users_update.html:31 #: plinth/templates/language-selection.html:17 msgid "Save Changes" -msgstr "" +msgstr "Запазване на промените" #: plinth/modules/users/views.py:42 #, python-format msgid "User %(username)s created." -msgstr "" +msgstr "Потребителят %(username)s е създаден." #: plinth/modules/users/views.py:76 #, python-format msgid "User %(username)s updated." -msgstr "" +msgstr "Потребителят %(username)s е обновен." #: plinth/modules/users/views.py:77 msgid "Edit User" -msgstr "" +msgstr "Промяна на потребител" #: plinth/modules/users/views.py:146 #, python-brace-format msgid "User {user} deleted." -msgstr "" +msgstr "Потребителят {user} е премахнат." #: plinth/modules/users/views.py:153 msgid "Deleting LDAP user failed." -msgstr "" +msgstr "Потребителят на LDAP не е премахнат." #: plinth/modules/users/views.py:180 msgid "Change Password" -msgstr "Смяна на парола" +msgstr "Промяна на парола" #: plinth/modules/users/views.py:181 msgid "Password changed successfully." -msgstr "Паролата е сменена." +msgstr "Паролата е променена." #: plinth/modules/wireguard/__init__.py:20 msgid "WireGuard is a fast, modern, secure VPN tunnel." From 35b50a2c71f127b1ad8d8c7f4964c50c6ccfb292 Mon Sep 17 00:00:00 2001 From: nbenedek Date: Sat, 11 Jun 2022 21:41:33 +0200 Subject: [PATCH 06/26] users: create home directories for newly created users Test I made: Created a few users, then appied the changes and rebooted FreedomBox. After reboot I created another user whose home directory could now be listed. Reviewed-by: Sunil Mohan Adapa --- actions/users | 1 + plinth/modules/users/__init__.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/actions/users b/actions/users index d7f06db71..759b847eb 100755 --- a/actions/users +++ b/actions/users @@ -262,6 +262,7 @@ def configure_ldapscripts(): aug.set('/files' + LDAPSCRIPTS_CONF + '/USUFFIX', '"ou=Users"') aug.set('/files' + LDAPSCRIPTS_CONF + '/GSUFFIX', '"ou=Groups"') aug.set('/files' + LDAPSCRIPTS_CONF + '/PASSWORDGEN', '"true"') + aug.set('/files' + LDAPSCRIPTS_CONF + '/CREATEHOMES', '"yes"') aug.save() diff --git a/plinth/modules/users/__init__.py b/plinth/modules/users/__init__.py index b90b22251..e3a3ee464 100644 --- a/plinth/modules/users/__init__.py +++ b/plinth/modules/users/__init__.py @@ -45,7 +45,7 @@ class UsersApp(app_module.App): app_id = 'users' - _version = 3 + _version = 4 can_be_disabled = False From 77f90372195dccad4fe867c2190524aa3f6b8e3c Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Thu, 30 Jun 2022 18:57:15 +0530 Subject: [PATCH 07/26] tests: functional: Simplify GitLabCI configuration - The GitLab CI Runner no longer directly runs AWS CLI commands - The Runner calls two AWS Lambda functions for running or terminating the app servers - The Lambda functions invoke AWS APIs using the Python boto3 library Signed-off-by: Joseph Nuthalapati Reviewed-by: Sunil Mohan Adapa --- .ci/functional-tests.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.ci/functional-tests.yml b/.ci/functional-tests.yml index 706a8c5d7..841771cb8 100644 --- a/.ci/functional-tests.yml +++ b/.ci/functional-tests.yml @@ -9,14 +9,10 @@ script: - BUILD_JOB_ID=$(curl -s "https://salsa.debian.org/api/v4/projects/$CI_PROJECT_ID/pipelines/$CI_PIPELINE_ID/jobs?scope[]=success" | jq -r '.[] | select(.name==env.BUILD_JOB_NAME) | .id') - export AWS_DEFAULT_REGION=us-east-1 - - LAUNCH_TEMPLATE_ID=$(aws ec2 describe-launch-templates --launch-template-names $LAUNCH_TEMPLATE_NAME | jq -r ".LaunchTemplates[0].LaunchTemplateId") - | - INSTANCE_ID=$(aws ec2 run-instances --launch-template LaunchTemplateId="$LAUNCH_TEMPLATE_ID" --associate-public-ip-address \ - --tag-specifications "ResourceType=instance, Tags=[{Key=salsa:project-id,Value=$CI_PROJECT_ID},{Key=salsa:build-job-id,Value=$BUILD_JOB_ID},{Key=Name,Value=$INSTANCE_NAME}]" | \ - jq -r ".Instances[0].InstanceId") - - APP_SERVER_IP=$(aws ec2 describe-instances --instance-ids $INSTANCE_ID | jq -r ".Reservations[0].Instances[0].PublicIpAddress") - - echo "APP_SERVER_IP=$APP_SERVER_IP" >> app-servers.env - - echo "INSTANCE_ID=$INSTANCE_ID" >> app-servers.env + aws lambda invoke --function-name launch_app_server --payload '{"launch_template_name": "'"$LAUNCH_TEMPLATE_NAME"'", "instance_name": "'"$INSTANCE_NAME"'", "ci_project_id": "'"$CI_PROJECT_ID"'", "build_job_id": "'"$BUILD_JOB_ID"'"}' response.json + - echo "APP_SERVER_IP=$(jq -r '.app_server_ip' response.json)" >> app-servers.env + - echo "INSTANCE_ID=$(jq -r '.instance_id' response.json)" >> app-servers.env tags: - functional-tests artifacts: @@ -58,6 +54,8 @@ .terminate-app-server: stage: functional-tests script: - - aws ec2 --region us-east-1 terminate-instances --instance-ids $INSTANCE_ID > /dev/null + - export AWS_DEFAULT_REGION=us-east-1 + - | + aws lambda invoke --function-name terminate_app_server --payload '{"instance_id": "'"$INSTANCE_ID"'"}' response.json tags: - functional-tests From d7c9c89257e3921424012012a387e1e56063baf3 Mon Sep 17 00:00:00 2001 From: Artem Date: Thu, 30 Jun 2022 18:14:49 +0000 Subject: [PATCH 08/26] Translated using Weblate (Ukrainian) Currently translated at 81.0% (1179 of 1455 strings) --- plinth/locale/uk/LC_MESSAGES/django.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po index 4e47deab4..2cd029173 100644 --- a/plinth/locale/uk/LC_MESSAGES/django.po +++ b/plinth/locale/uk/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-06-20 20:21-0400\n" -"PO-Revision-Date: 2022-05-10 02:10+0000\n" -"Last-Translator: ikmaak \n" +"PO-Revision-Date: 2022-06-30 18:19+0000\n" +"Last-Translator: Artem \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -18,7 +18,7 @@ msgstr "" "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.12.1\n" +"X-Generator: Weblate 4.13.1-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -7447,7 +7447,7 @@ msgstr "Zoph" #: plinth/modules/zoph/__init__.py:59 msgid "Photo Organizer" -msgstr "Організатор фотографій" +msgstr "Організатор світлин" #: plinth/modules/zoph/forms.py:14 msgid "Enable OpenStreetMap for maps" From d7a1ea03a3f62c569dc32da514b800e5ccaa4bac Mon Sep 17 00:00:00 2001 From: Guillermo Lopez Alejos Date: Fri, 15 Apr 2022 13:19:35 +0200 Subject: [PATCH 09/26] backups: Add options to keep sshfs shares responsive Reviewed-by: Sunil Mohan Adapa --- actions/sshfs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/actions/sshfs b/actions/sshfs index b2fb6b5c7..badfc700b 100755 --- a/actions/sshfs +++ b/actions/sshfs @@ -55,10 +55,20 @@ def subcommand_mount(arguments): kwargs = {} # the shell would expand ~/ to the local home directory remote_path = remote_path.replace('~/', '').replace('~', '') + # 'reconnect', 'ServerAliveInternal' and 'ServerAliveCountMax' allow the + # client (FreedomBox) to keep control of the SSH connection even when the + # SSH server misbehaves. Without these options, other commands such as + # '/usr/share/plinth/actions/storage usage-info', 'df', + # '/usr/share/plinth/actions/sshfs is-mounted', or 'mountpoint' might block + # indefinitely (even when manually invoked from the command line). This + # situation has some lateral effects, causing major system instability in + # the course of ~11 days, and leaving the system in such state that the + # only solution is a reboot. cmd = [ 'sshfs', remote_path, arguments.mountpoint, '-o', f'UserKnownHostsFile={arguments.user_known_hosts_file}', '-o', - 'StrictHostKeyChecking=yes' + 'StrictHostKeyChecking=yes', '-o', 'reconnect', '-o', + 'ServerAliveInterval=15', '-o', 'ServerAliveCountMax=3' ] if arguments.ssh_keyfile: cmd += ['-o', 'IdentityFile=' + arguments.ssh_keyfile] From 957ddf5a2d7a66e65304db0661b3adc3c1e2c803 Mon Sep 17 00:00:00 2001 From: Guillermo Lopez Alejos Date: Mon, 2 May 2022 21:33:34 +0200 Subject: [PATCH 10/26] backups: Unmount repositories before and after backup [sunil: Make the umount code specific to SSH repositories] Signed-off-by: Sunil Mohan Adapa Reviewed-by: Sunil Mohan Adapa --- plinth/modules/backups/repository.py | 16 ++++++++++++++++ plinth/modules/backups/schedule.py | 2 ++ 2 files changed, 18 insertions(+) diff --git a/plinth/modules/backups/repository.py b/plinth/modules/backups/repository.py index 4ba462adc..25aca4aef 100644 --- a/plinth/modules/backups/repository.py +++ b/plinth/modules/backups/repository.py @@ -133,6 +133,10 @@ class BaseBorgRepository(abc.ABC): def prepare(): """Prepare the repository for operations.""" + @staticmethod + def cleanup(): + """Cleanup the repository after operations.""" + def get_info(self): """Return Borg information about a repository.""" output = self.run(['info', '--path', self.borg_path]) @@ -393,8 +397,13 @@ class SshBorgRepository(BaseBorgRepository): if not self.is_usable(): raise errors.SshfsError('Remote host not verified') + self._umount_ignore_errors() # In case the connection is stale. self.mount() + def cleanup(self): + """Cleanup the repository after operations by unmounting.""" + self._umount_ignore_errors() + @property def hostname(self): """Return hostname from the remote path.""" @@ -440,6 +449,13 @@ class SshBorgRepository(BaseBorgRepository): self._run('sshfs', ['umount', '--mountpoint', self._mountpoint]) + def _umount_ignore_errors(self): + """Run unmount operation and ignore any exceptions thrown.""" + try: + self.umount() + except Exception as exception: + logger.warning('Unable to unmount repository', exc_info=exception) + def remove(self): """Remove a repository from the kvstore and delete its mountpoint""" self.umount() diff --git a/plinth/modules/backups/schedule.py b/plinth/modules/backups/schedule.py index ee3729719..3a347ef6c 100644 --- a/plinth/modules/backups/schedule.py +++ b/plinth/modules/backups/schedule.py @@ -321,3 +321,5 @@ class Schedule: logger.info('Cleaning up in repository %s backup archive %s', self.repository_uuid, archive['name']) repository.delete_archive(archive['name']) + + repository.cleanup() From c70006d03a70aa4b1279a7ef8998debedc2899dd Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Wed, 29 Jun 2022 09:11:14 -0400 Subject: [PATCH 11/26] upgrades: Re-add workaround for grub For dist-upgrade from buster to bullseye, we had a workaround to avoid grub error during upgrade. The workaround is still needed for dist-upgrade from bullseye to bookworm. Helps #2057. Test: 1. Build freedombox package for bullseye-backports with this fix included. 2. Install package in bullseye vagrant box. 3. Enable automatic updates, and start dist upgrade from action. 4. Check journal to see if there is an error from grub. Signed-off-by: James Valleroy Reviewed-by: Sunil Mohan Adapa --- actions/upgrades | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/actions/upgrades b/actions/upgrades index 49069ce55..4d894782b 100755 --- a/actions/upgrades +++ b/actions/upgrades @@ -84,7 +84,10 @@ DIST_UPGRADE_PACKAGES_WITH_PROMPTS = [ DIST_UPGRADE_PRE_INSTALL_PACKAGES = ['base-files'] -DIST_UPGRADE_PRE_DEBCONF_SELECTIONS: List[str] = [] +DIST_UPGRADE_PRE_DEBCONF_SELECTIONS: List[str] = [ + # Tell grub-pc to continue without installing grub again. + 'grub-pc grub-pc/install_devices_empty boolean true' +] DIST_UPGRADE_REQUIRED_FREE_SPACE = 5000000 From 892deefdcaf597b0c573e4ea4d309c53245016d7 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Wed, 29 Jun 2022 11:11:08 -0400 Subject: [PATCH 12/26] upgrades: Hold packages one at a time `apt-mark hold PACKAGES` accepts a list of packages. But if one of the package is missing from the apt repository, then it will fail to hold any of the listed packages. So it is necessary to try to hold each package by itself. Test: - Run dist-upgrade from bullseye to bookworm. mumble-server package is currently missing from bookworm, but it should not cause an error in dist-upgrade. Signed-off-by: James Valleroy Reviewed-by: Sunil Mohan Adapa --- actions/upgrades | 4 ---- plinth/action_utils.py | 35 ++++++++++++++++++++++++++--------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/actions/upgrades b/actions/upgrades index 4d894782b..e9d4ca96a 100755 --- a/actions/upgrades +++ b/actions/upgrades @@ -522,10 +522,6 @@ def _perform_dist_upgrade(): print( 'Holding packages with conffile prompts: ' + ', '.join(DIST_UPGRADE_PACKAGES_WITH_PROMPTS) + '...', flush=True) - # XXX: If any of these packages have been removed from the - # next stable release, they will causes the hold command to - # fail for all packages. So it would be safer to just hold one - # package at a time. with apt_hold(DIST_UPGRADE_PACKAGES_WITH_PROMPTS): print('Running apt full-upgrade...', flush=True) run_apt_command(['full-upgrade']) diff --git a/plinth/action_utils.py b/plinth/action_utils.py index ccc71a0e6..86042f85a 100644 --- a/plinth/action_utils.py +++ b/plinth/action_utils.py @@ -424,16 +424,33 @@ def run_apt_command(arguments): @contextmanager -def apt_hold(packages, ignore_errors=False): - """Prevent packages from being removed during apt operations.""" - current_hold = subprocess.check_output(['apt-mark', 'showhold'] + packages) - try: - yield current_hold or subprocess.run(['apt-mark', 'hold'] + packages, - check=not ignore_errors) - finally: +def apt_hold(packages): + """Prevent packages from being removed during apt operations. + + `apt-mark hold PACKAGES` accepts a list of packages. But if one of + the package is missing from the apt repository, then it will fail + to hold any of the listed packages. So it is necessary to try to + hold each package by itself. + + Packages held by this context will be unheld when leaving the + context. But if a package was already held beforehand, it will be + ignored (and not unheld). + + """ + held_packages = [] + for package in packages: + current_hold = subprocess.check_output( + ['apt-mark', 'showhold', package]) if not current_hold: - subprocess.run(['apt-mark', 'unhold'] + packages, - check=not ignore_errors) + process = subprocess.run(['apt-mark', 'hold', package], + check=False) + if process.returncode == 0: # success + held_packages.append(package) + + yield held_packages + + for package in held_packages: + subprocess.check_call(['apt-mark', 'unhold', package]) @contextmanager From 05815bc992c949177716cacbe27b91fe9514afe3 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Sat, 2 Jul 2022 17:53:21 +0530 Subject: [PATCH 13/26] ci: Use compatible versions of Selenium and Splinter This is a temporary fix until Splinter addresses the breaking changes in Selenium 4.3.0 Signed-off-by: Joseph Nuthalapati Reviewed-by: James Valleroy --- .ci/functional-tests.yml | 2 +- plinth/tests/functional/install.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.ci/functional-tests.yml b/.ci/functional-tests.yml index 841771cb8..3089ce1ad 100644 --- a/.ci/functional-tests.yml +++ b/.ci/functional-tests.yml @@ -34,7 +34,7 @@ - adduser tester --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password && echo "tester:password" | chpasswd script: - cp -r . /home/tester/freedombox && chown -R tester:tester /home/tester/freedombox - - sudo -u tester bash -c 'pip3 install --user splinter pytest-splinter pytest-reporter-html1' + - sudo -u tester bash -c 'pip3 install --user selenium==4.2.0 splinter==0.17.0 pytest-splinter pytest-reporter-html1' - | sudo FREEDOMBOX_URL="https://$APP_SERVER_IP" -u tester bash -c \ 'cd /home/tester/freedombox && py.test-3 -v --durations=10 --include-functional --splinter-headless --template=html1/index.html --report=functional-tests.html' diff --git a/plinth/tests/functional/install.sh b/plinth/tests/functional/install.sh index 484de4ac6..829274bfb 100755 --- a/plinth/tests/functional/install.sh +++ b/plinth/tests/functional/install.sh @@ -7,7 +7,8 @@ sudo apt-get install -yq --no-install-recommends \ python3-pytest python3-pytest-django python3-pytest-xdist \ python3-pip python3-wheel firefox-esr git smbclient -pip3 install --user splinter pytest-splinter pytest-reporter-html1 +# Use compatible versions of Splinter and Selenium +pip3 install --user selenium==4.2.0 splinter==0.17.0 pytest-splinter pytest-reporter-html1 echo "Installing geckodriver" ( From 3c7bc4a192ae0046a431bcbb15d0a296fd3ca3d2 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 22 Jun 2022 16:30:01 -0700 Subject: [PATCH 14/26] *: pylint: Explicitly specify encoding when open a file This is recommended by PEP-0597: https://peps.python.org/pep-0597/ Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- actions/auth-pubtkt | 6 ++-- actions/bind | 2 +- actions/config | 2 +- actions/deluge | 3 +- actions/ejabberd | 30 +++++++++---------- actions/gitweb | 13 ++++---- actions/ikiwiki | 3 +- actions/infinoted | 4 +-- actions/janus | 4 +-- actions/letsencrypt | 2 +- actions/matrixsynapse | 15 +++++----- actions/mediawiki | 16 +++++----- actions/minidlna | 5 ++-- actions/openvpn | 7 +++-- actions/packages | 2 +- actions/pagekite | 6 ++-- actions/quassel | 2 +- actions/roundcube | 10 +++---- actions/samba | 8 ++--- actions/searx | 4 +-- actions/security | 6 ++-- actions/shadowsocks | 7 +++-- actions/ssh | 4 +-- actions/tor | 14 +++++---- actions/ttrss | 4 +-- actions/upgrades | 26 +++++++++------- actions/wordpress | 8 ++--- actions/zoph | 8 +++-- container | 2 +- plinth/frontpage.py | 2 +- plinth/modules/backups/__init__.py | 2 +- .../modules/backups/tests/test_ssh_remotes.py | 3 +- plinth/modules/backups/views.py | 2 +- plinth/modules/bind/__init__.py | 12 ++++---- plinth/modules/datetime/views.py | 8 +++-- plinth/modules/deluge/utils.py | 3 +- plinth/modules/email/privileged/domain.py | 3 +- plinth/modules/email/privileged/tls.py | 2 +- plinth/modules/first_boot/forms.py | 2 +- plinth/modules/gitweb/__init__.py | 2 +- plinth/modules/matrixsynapse/__init__.py | 4 +-- plinth/modules/mediawiki/__init__.py | 2 +- plinth/modules/openvpn/__init__.py | 3 +- .../openvpn/tests/test_configuration.py | 4 +-- plinth/modules/quassel/__init__.py | 3 +- plinth/modules/security/__init__.py | 4 +-- plinth/modules/upgrades/views.py | 2 +- plinth/tests/test_utils.py | 10 +++---- plinth/utils.py | 7 +++-- 49 files changed, 165 insertions(+), 138 deletions(-) diff --git a/actions/auth-pubtkt b/actions/auth-pubtkt index fb4765946..bdf7f8f9c 100755 --- a/actions/auth-pubtkt +++ b/actions/auth-pubtkt @@ -51,12 +51,12 @@ def subcommand_create_key_pair(_): pkey = crypto.PKey() pkey.generate_key(crypto.TYPE_RSA, 4096) - with open(private_key_file, 'w') as priv_key_file: + with open(private_key_file, 'w', encoding='utf-8') as priv_key_file: priv_key = crypto.dump_privatekey(crypto.FILETYPE_PEM, pkey).decode() priv_key_file.write(priv_key) - with open(public_key_file, 'w') as pub_key_file: + with open(public_key_file, 'w', encoding='utf-8') as pub_key_file: pub_key = crypto.dump_publickey(crypto.FILETYPE_PEM, pkey).decode() pub_key_file.write(pub_key) @@ -93,7 +93,7 @@ def subcommand_generate_ticket(arguments): uid = arguments.uid private_key_file = arguments.private_key_file tokens = arguments.tokens - with open(private_key_file, 'r') as fil: + with open(private_key_file, 'r', encoding='utf-8') as fil: pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, fil.read().encode()) valid_until = minutes_from_now(12 * 60) grace_period = minutes_from_now(11 * 60) diff --git a/actions/bind b/actions/bind index b1a4703b9..c92df72f4 100755 --- a/actions/bind +++ b/actions/bind @@ -34,7 +34,7 @@ def parse_arguments(): def subcommand_setup(arguments): """Setup BIND configuration.""" if arguments.old_version == 0: - with open(CONFIG_FILE, "w") as conf_file: + with open(CONFIG_FILE, 'w', encoding='utf-8') as conf_file: conf_file.write(DEFAULT_CONFIG) Path(ZONES_DIR).mkdir(exist_ok=True, parents=True) diff --git a/actions/config b/actions/config index c8b661d63..31da406ee 100755 --- a/actions/config +++ b/actions/config @@ -40,7 +40,7 @@ def subcommand_set_home_page(arguments): redirect_rule = 'RedirectMatch "^/$" "{}"\n'.format(arguments.homepage) - with open(conf_file_path, 'w') as conf_file: + with open(conf_file_path, 'w', encoding='utf-8') as conf_file: conf_file.write(redirect_rule) action_utils.webserver_enable('freedombox-apache-homepage') diff --git a/actions/deluge b/actions/deluge index 609bd22de..e34437e2f 100755 --- a/actions/deluge +++ b/actions/deluge @@ -135,7 +135,8 @@ def subcommand_set_configuration(arguments): def subcommand_setup(_): """Perform initial setup for deluge.""" - with open(DELUGE_WEB_SYSTEMD_SERVICE_PATH, 'w') as file_handle: + with open(DELUGE_WEB_SYSTEMD_SERVICE_PATH, 'w', + encoding='utf-8') as file_handle: file_handle.write(DELUGE_WEB_SYSTEMD_SERVICE) _set_deluged_daemon_options() diff --git a/actions/ejabberd b/actions/ejabberd index 5ac834066..f9d9aed35 100755 --- a/actions/ejabberd +++ b/actions/ejabberd @@ -107,7 +107,7 @@ def parse_arguments(): def subcommand_get_configuration(_): """Return the current configuration, specifically domains configured.""" - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) print(json.dumps({'domains': conf['hosts']})) @@ -126,7 +126,7 @@ def subcommand_pre_install(arguments): def subcommand_setup(arguments): """Enabled LDAP authentication""" - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) for listen_port in conf['listen']: @@ -140,7 +140,7 @@ def subcommand_setup(arguments): conf['ldap_base'] = scalarstring.DoubleQuotedScalarString( 'ou=users,dc=thisbox') - with open(EJABBERD_CONFIG, 'w') as file_handle: + with open(EJABBERD_CONFIG, 'w', encoding='utf-8') as file_handle: yaml.dump(conf, file_handle) upgrade_config(arguments.domainname) @@ -157,7 +157,7 @@ def upgrade_config(domain): if not current_version: print('Warning: Unable to get ejabberd version.') - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) # Check if `iqdisc` is present and remove it @@ -190,7 +190,7 @@ def upgrade_config(domain): listen_port['certfile'] = cert_file # Write changes back to the file - with open(EJABBERD_CONFIG, 'w') as file_handle: + with open(EJABBERD_CONFIG, 'w', encoding='utf-8') as file_handle: yaml.dump(conf, file_handle) @@ -250,7 +250,7 @@ def subcommand_get_domains(_): print('ejabberdctl not found. Is ejabberd installed?') return - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) print(json.dumps(conf['hosts'])) @@ -268,14 +268,14 @@ def subcommand_add_domain(arguments): domainname = arguments.domainname # Add updated domainname to ejabberd hosts list. - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) conf['hosts'].append(scalarstring.DoubleQuotedScalarString(domainname)) conf['hosts'] = list(set(conf['hosts'])) - with open(EJABBERD_CONFIG, 'w') as file_handle: + with open(EJABBERD_CONFIG, 'w', encoding='utf-8') as file_handle: yaml.dump(conf, file_handle) # Restarting ejabberd is handled by letsencrypt-ejabberd component. @@ -290,19 +290,19 @@ def subcommand_set_domains(arguments): print('ejabberdctl not found. Is ejabberd installed?') return - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) conf['hosts'] = arguments.domains - with open(EJABBERD_CONFIG, 'w') as file_handle: + with open(EJABBERD_CONFIG, 'w', encoding='utf-8') as file_handle: yaml.dump(conf, file_handle) def subcommand_mam(argument): """Enable, disable, or get status of Message Archive Management (MAM).""" - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) if 'modules' not in conf: @@ -340,7 +340,7 @@ def subcommand_mam(argument): print("Unknown command: %s" % argument.command) return - with open(EJABBERD_CONFIG, 'w') as file_handle: + with open(EJABBERD_CONFIG, 'w', encoding='utf-8') as file_handle: yaml.dump(conf, file_handle) if action_utils.service_is_running('ejabberd'): @@ -370,7 +370,7 @@ def _generate_uris(services: list[dict]) -> list[str]: def subcommand_get_turn_config(_): """Get the latest STUN/TURN configuration in JSON format.""" - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) mod_stun_disco_config = conf['modules']['mod_stun_disco'] @@ -405,12 +405,12 @@ def subcommand_configure_turn(arguments): 'services': [_generate_service(uri) for uri in uris] } - with open(EJABBERD_CONFIG, 'r') as file_handle: + with open(EJABBERD_CONFIG, 'r', encoding='utf-8') as file_handle: conf = yaml.load(file_handle) conf['modules']['mod_stun_disco'] = mod_stun_disco_config - with open(EJABBERD_CONFIG, 'w') as file_handle: + with open(EJABBERD_CONFIG, 'w', encoding='utf-8') as file_handle: yaml.dump(conf, file_handle) if arguments.managed: diff --git a/actions/gitweb b/actions/gitweb index 4393d48f8..da0c9eaef 100755 --- a/actions/gitweb +++ b/actions/gitweb @@ -172,7 +172,8 @@ def _clone_with_progress_report(url, repo_dir): elapsed = _clone_status_line_to_percent(line) if elapsed is not None: try: - with open(status_file, 'w') as file_handle: + with open(status_file, 'w', + encoding='utf-8') as file_handle: file_handle.write(elapsed) except OSError as error: errors.append(str(error)) @@ -205,7 +206,7 @@ def _prepare_clone_repo(arguments): try: if arguments.is_private: _set_access_status(repo_name, 'private') - with open(status_file, 'w') as file_handle: + with open(status_file, 'w', encoding='utf-8') as file_handle: file_handle.write('0') except OSError: shutil.rmtree(repo_dir) @@ -289,7 +290,7 @@ def _get_repo_description(repo): """Set description of the repository.""" description_file = os.path.join(GIT_REPO_PATH, repo, 'description') if os.path.exists(description_file): - with open(description_file, 'r') as file_handle: + with open(description_file, 'r', encoding='utf-8') as file_handle: description = file_handle.read() else: description = '' @@ -300,7 +301,7 @@ def _get_repo_description(repo): def _set_repo_description(repo, description): """Set description of the repository.""" description_file = os.path.join(GIT_REPO_PATH, repo, 'description') - with open(description_file, 'w') as file_handle: + with open(description_file, 'w', encoding='utf-8') as file_handle: file_handle.write(description) @@ -326,7 +327,7 @@ def _set_repo_owner(repo, owner): config.add_section('gitweb') config['gitweb']['owner'] = owner - with open(repo_config, 'w') as file_handle: + with open(repo_config, 'w', encoding='utf-8') as file_handle: config.write(file_handle) @@ -343,7 +344,7 @@ def _set_access_status(repo, status): """Set repository as private or public""" private_file = os.path.join(GIT_REPO_PATH, repo, 'private') if status == 'private': - open(private_file, 'a') + open(private_file, 'a', encoding='utf-8') elif status == 'public': if os.path.exists(private_file): os.remove(private_file) diff --git a/actions/ikiwiki b/actions/ikiwiki index 6824f85c9..4080f9bef 100755 --- a/actions/ikiwiki +++ b/actions/ikiwiki @@ -59,7 +59,8 @@ def subcommand_setup(_): def get_title(site): """Get blog or wiki title""" try: - with open(os.path.join(SITE_PATH, site, 'index.html')) as index_file: + with open(os.path.join(SITE_PATH, site, 'index.html'), + encoding='utf-8') as index_file: match = re.search(r'(.*)', index_file.read()) if match: return match[1] diff --git a/actions/infinoted b/actions/infinoted index ebf92a851..aef33246a 100755 --- a/actions/infinoted +++ b/actions/infinoted @@ -130,10 +130,10 @@ def _kill_daemon(): def subcommand_setup(_): """Configure infinoted after install.""" if not os.path.isfile(CONF_PATH): - with open(CONF_PATH, 'w') as file_handle: + with open(CONF_PATH, 'w', encoding='utf-8') as file_handle: file_handle.write(CONF) - with open(SYSTEMD_SERVICE_PATH, 'w') as file_handle: + with open(SYSTEMD_SERVICE_PATH, 'w', encoding='utf-8') as file_handle: file_handle.write(SYSTEMD_SERVICE) subprocess.check_call(['systemctl', 'daemon-reload']) diff --git a/actions/janus b/actions/janus index bb9f76773..107a07141 100755 --- a/actions/janus +++ b/actions/janus @@ -22,10 +22,10 @@ def parse_arguments(): def subcommand_setup(_): """Configure Janus server.""" - with open(JANUS_CONF_PATH, 'r') as config_file: + with open(JANUS_CONF_PATH, 'r', encoding='utf-8') as config_file: config_lines = config_file.readlines() - with open(JANUS_CONF_PATH, 'w') as config_file: + with open(JANUS_CONF_PATH, 'w', encoding='utf-8') as config_file: for line in config_lines: if '#rtp_port_range' in line: config_file.write("\trtp_port_range = \"50176-51199\"\n") diff --git a/actions/letsencrypt b/actions/letsencrypt index 9dec15b97..ed9fb04fc 100755 --- a/actions/letsencrypt +++ b/actions/letsencrypt @@ -473,7 +473,7 @@ def setup_webserver_config(domain, webserver_change): if os.path.isfile(file_name): os.rename(file_name, file_name + '.fbx-bak') - with open(file_name, 'w') as file_handle: + with open(file_name, 'w', encoding='utf-8') as file_handle: file_handle.write(APACHE_CONFIGURATION.format(domain=domain)) webserver_change.enable('freedombox-tls-site-macro', kind='config') diff --git a/actions/matrixsynapse b/actions/matrixsynapse index 4b7acd824..75e22368f 100755 --- a/actions/matrixsynapse +++ b/actions/matrixsynapse @@ -73,11 +73,11 @@ def parse_arguments(): def subcommand_post_install(_): """Perform post installation configuration.""" - with open(STATIC_CONF_PATH, 'w') as static_conf_file: + with open(STATIC_CONF_PATH, 'w', encoding='utf-8') as static_conf_file: yaml.dump(STATIC_CONFIG, static_conf_file) # start with listener config from original homeserver.yaml - with open(ORIG_CONF_PATH) as orig_conf_file: + with open(ORIG_CONF_PATH, encoding='utf-8') as orig_conf_file: orig_config = yaml.load(orig_conf_file) listeners = orig_config['listeners'] @@ -86,7 +86,8 @@ def subcommand_post_install(_): listener['bind_addresses'] = ['::', '0.0.0.0'] listener.pop('bind_address', None) - with open(LISTENERS_CONF_PATH, 'w') as listeners_conf_file: + with open(LISTENERS_CONF_PATH, 'w', + encoding='utf-8') as listeners_conf_file: yaml.dump({'listeners': listeners}, listeners_conf_file) @@ -100,11 +101,11 @@ def subcommand_setup(arguments): def subcommand_public_registration(argument): """Enable/Disable/Status public user registration.""" try: - with open(REGISTRATION_CONF_PATH) as reg_conf_file: + with open(REGISTRATION_CONF_PATH, encoding='utf-8') as reg_conf_file: config = yaml.load(reg_conf_file) except FileNotFoundError: # Check if its set in original conffile. - with open(ORIG_CONF_PATH) as orig_conf_file: + with open(ORIG_CONF_PATH, encoding='utf-8') as orig_conf_file: orig_config = yaml.load(orig_conf_file) config = { 'enable_registration': @@ -123,7 +124,7 @@ def subcommand_public_registration(argument): elif argument.command == 'disable': config['enable_registration'] = False - with open(REGISTRATION_CONF_PATH, 'w') as reg_conf_file: + with open(REGISTRATION_CONF_PATH, 'w', encoding='utf-8') as reg_conf_file: yaml.dump(config, reg_conf_file) action_utils.service_try_restart('matrix-synapse') @@ -156,7 +157,7 @@ def _set_turn_config(conf_file): 'turn_allow_guests': True } - with open(conf_file, 'w+') as turn_config: + with open(conf_file, 'w+', encoding='utf-8') as turn_config: yaml.dump(config, turn_config) diff --git a/actions/mediawiki b/actions/mediawiki index c92d07d4d..bf3fcd9a3 100755 --- a/actions/mediawiki +++ b/actions/mediawiki @@ -108,7 +108,7 @@ def subcommand_setup(_): def include_custom_config(): """Include FreedomBox specific configuration in LocalSettings.php.""" - with open(LOCAL_SETTINGS_CONF, 'r') as conf_file: + with open(LOCAL_SETTINGS_CONF, 'r', encoding='utf-8') as conf_file: lines = conf_file.readlines() static_settings_index = None @@ -129,7 +129,7 @@ def include_custom_config(): settings_index, 'include dirname(__FILE__)."/FreedomBoxStaticSettings.php";\n') - with open(LOCAL_SETTINGS_CONF, 'w') as conf_file: + with open(LOCAL_SETTINGS_CONF, 'w', encoding='utf-8') as conf_file: conf_file.writelines(lines) @@ -154,7 +154,7 @@ def subcommand_update(_): def subcommand_public_registrations(arguments): """Enable or Disable public registrations for MediaWiki.""" - with open(CONF_FILE, 'r') as conf_file: + with open(CONF_FILE, 'r', encoding='utf-8') as conf_file: lines = conf_file.readlines() def is_pub_reg_line(line): @@ -167,7 +167,7 @@ def subcommand_public_registrations(arguments): else: print('disabled') else: - with open(CONF_FILE, 'w') as conf_file: + with open(CONF_FILE, 'w', encoding='utf-8') as conf_file: for line in lines: if is_pub_reg_line(line): words = line.split() @@ -182,7 +182,7 @@ def subcommand_public_registrations(arguments): def subcommand_private_mode(arguments): """Enable or Disable Private mode for wiki""" - with open(CONF_FILE, 'r') as conf_file: + with open(CONF_FILE, 'r', encoding='utf-8') as conf_file: lines = conf_file.readlines() def is_read_line(line): @@ -195,7 +195,7 @@ def subcommand_private_mode(arguments): else: print('disabled') else: - with open(CONF_FILE, 'w') as conf_file: + with open(CONF_FILE, 'w', encoding='utf-8') as conf_file: conf_value = 'false;' if arguments.command == 'enable' else 'true;' for line in lines: if is_read_line(line): @@ -212,7 +212,7 @@ def subcommand_private_mode(arguments): def _update_setting(setting_name, setting_line): """Update the value of one setting in the config file.""" - with open(CONF_FILE, 'r') as conf_file: + with open(CONF_FILE, 'r', encoding='utf-8') as conf_file: lines = conf_file.readlines() inserted = False @@ -225,7 +225,7 @@ def _update_setting(setting_name, setting_line): if not inserted: lines.append(setting_line) - with open(CONF_FILE, 'w') as conf_file: + with open(CONF_FILE, 'w', encoding='utf-8') as conf_file: conf_file.writelines(lines) diff --git a/actions/minidlna b/actions/minidlna index f84135f02..3193f4621 100755 --- a/actions/minidlna +++ b/actions/minidlna @@ -65,7 +65,8 @@ def subcommand_setup(arguments): monitor changes in large media-dirs. """ _undo_old_configuration_changes() - with open('/etc/sysctl.d/50-freedombox-minidlna.conf', 'w') as conf: + with open('/etc/sysctl.d/50-freedombox-minidlna.conf', 'w', + encoding='utf-8') as conf: conf.write(SYSCTL_CONF) subprocess.run(['systemctl', 'restart', 'systemd-sysctl'], check=True) @@ -97,7 +98,7 @@ def replace_in_config_file(file_path, pattern, subst): """ temp_file, temp_file_path = mkstemp() with fdopen(temp_file, 'w') as new_file: - with open(file_path) as old_file: + with open(file_path, encoding='utf-8') as old_file: for line in old_file: new_file.write(line.replace(pattern, subst)) diff --git a/actions/openvpn b/actions/openvpn index df2a1f3dc..088995bc5 100755 --- a/actions/openvpn +++ b/actions/openvpn @@ -141,7 +141,8 @@ def parse_arguments(): def _is_using_ecc(): """Return whether the service is using ECC.""" if os.path.exists(SERVER_CONFIGURATION_PATH): - with open(SERVER_CONFIGURATION_PATH, 'r') as file_handle: + with open(SERVER_CONFIGURATION_PATH, 'r', + encoding='utf-8') as file_handle: for line in file_handle: if line.strip() == 'dh none': return True @@ -169,7 +170,7 @@ def subcommand_setup(_): def _write_server_config(): """Write server configuration.""" - with open(SERVER_CONFIGURATION_PATH, 'w') as file_handle: + with open(SERVER_CONFIGURATION_PATH, 'w', encoding='utf-8') as file_handle: file_handle.write(SERVER_CONFIGURATION) @@ -280,7 +281,7 @@ def set_unique_subject(value): def _read_file(filename): """Return the entire contents of a file as string.""" - with open(filename, 'r') as file_handle: + with open(filename, 'r', encoding='utf-8') as file_handle: return ''.join(file_handle.readlines()) diff --git a/actions/packages b/actions/packages index 48c8e8382..13f93a63b 100755 --- a/actions/packages +++ b/actions/packages @@ -118,7 +118,7 @@ def _assert_managed_packages(module, packages): cfg.read() module_file = os.path.join(cfg.config_dir, 'modules-enabled', module) - with open(module_file, 'r') as file_handle: + with open(module_file, 'r', encoding='utf-8') as file_handle: module_path = file_handle.read().strip() module = import_module(module_path) diff --git a/actions/pagekite b/actions/pagekite index fc3987514..b57ad2cd1 100755 --- a/actions/pagekite +++ b/actions/pagekite @@ -156,7 +156,7 @@ def subcommand_remove_service(arguments): for path in paths: filepath = _convert_augeas_path_to_filepath(path) service_found = False - with open(filepath, 'r') as file: + with open(filepath, 'r', encoding='utf-8') as file: lines = file.readlines() for i, line in enumerate(lines): if line.startswith('service_on') and \ @@ -165,7 +165,7 @@ def subcommand_remove_service(arguments): service_found = True break if service_found: - with open(filepath, 'w') as file: + with open(filepath, 'w', encoding='utf-8') as file: file.writelines(lines) # abort to only allow deleting one service break @@ -192,7 +192,7 @@ def _add_service(service): # TODO: after adding a service, augeas fails writing the config; # so add the service_on entry manually instead path = _convert_augeas_path_to_filepath(root) - with open(path, 'a') as servicefile: + with open(path, 'a', encoding='utf-8') as servicefile: line = "\nservice_on = %s\n" % utils.convert_service_to_string(service) servicefile.write(line) diff --git a/actions/quassel b/actions/quassel index 8da6c8b81..c22e14c5e 100755 --- a/actions/quassel +++ b/actions/quassel @@ -24,7 +24,7 @@ def parse_arguments(): def subcommand_set_domain(arguments): """Write a file containing domain name.""" domain_file = pathlib.Path('/var/lib/quassel/domain-freedombox') - domain_file.write_text(arguments.domain_name) + domain_file.write_text(arguments.domain_name, encoding='utf-8') def main(): diff --git a/actions/roundcube b/actions/roundcube index 02f771d7e..b0d7206fc 100755 --- a/actions/roundcube +++ b/actions/roundcube @@ -42,14 +42,14 @@ def subcommand_pre_install(_): def subcommand_setup(_): """Add FreedomBox configuration and include from main configuration.""" if not _config_file.exists(): - _config_file.write_text(' """ try: - with open(SERVICE_FILE.format(name), 'w') as service_file: + with open(SERVICE_FILE.format(name), 'w', + encoding='utf-8') as service_file: service_file.writelines(lines.format(name, number)) except FileNotFoundError: return diff --git a/actions/ttrss b/actions/ttrss index e54fa6ef3..3ae8caffb 100755 --- a/actions/ttrss +++ b/actions/ttrss @@ -126,7 +126,7 @@ def subcommand_enable_api_access(_): def subcommand_dump_database(_): """Dump database to file.""" os.makedirs(os.path.dirname(DB_BACKUP_FILE), exist_ok=True) - with open(DB_BACKUP_FILE, 'w') as db_backup_file: + with open(DB_BACKUP_FILE, 'w', encoding='utf-8') as db_backup_file: _run_as_postgres(['pg_dump', 'ttrss'], stdout=db_backup_file) @@ -134,7 +134,7 @@ def subcommand_restore_database(_): """Restore database from file.""" _run_as_postgres(['dropdb', 'ttrss']) _run_as_postgres(['createdb', 'ttrss']) - with open(DB_BACKUP_FILE, 'r') as db_restore_file: + with open(DB_BACKUP_FILE, 'r', encoding='utf-8') as db_restore_file: _run_as_postgres(['psql', '--dbname', 'ttrss'], stdin=db_restore_file) diff --git a/actions/upgrades b/actions/upgrades index e9d4ca96a..aba6566ef 100755 --- a/actions/upgrades +++ b/actions/upgrades @@ -197,14 +197,14 @@ def subcommand_check_auto(_): def subcommand_enable_auto(_): """Enable automatic upgrades""" - with open(AUTO_CONF_FILE, 'w') as conffile: + with open(AUTO_CONF_FILE, 'w', encoding='utf-8') as conffile: conffile.write('APT::Periodic::Update-Package-Lists "1";\n') conffile.write('APT::Periodic::Unattended-Upgrade "1";\n') def subcommand_disable_auto(_): """Disable automatic upgrades""" - with open(AUTO_CONF_FILE, 'w') as conffile: + with open(AUTO_CONF_FILE, 'w', encoding='utf-8') as conffile: conffile.write('APT::Periodic::Update-Package-Lists "0";\n') conffile.write('APT::Periodic::Unattended-Upgrade "0";\n') @@ -213,14 +213,14 @@ def subcommand_get_log(_): """Print the automatic upgrades log.""" try: print('==> ' + os.path.basename(LOG_FILE)) - with open(LOG_FILE, 'r') as file_handle: + with open(LOG_FILE, 'r', encoding='utf-8') as file_handle: print(file_handle.read()) except IOError: pass try: print('==> ' + os.path.basename(DPKG_LOG_FILE)) - with open(DPKG_LOG_FILE, 'r') as file_handle: + with open(DPKG_LOG_FILE, 'r', encoding='utf-8') as file_handle: print(file_handle.read()) except IOError: pass @@ -261,7 +261,7 @@ deb {protocol}://deb.debian.org/debian {dist}-backports main deb-src {protocol}://deb.debian.org/debian {dist}-backports main ''' sources = sources.format(protocol=protocol, dist=dist) - with open(sources_list, 'w') as file_handle: + with open(sources_list, 'w', encoding='utf-8') as file_handle: file_handle.write(sources) @@ -276,7 +276,8 @@ def _check_and_backports_sources(develop=False): return try: - with open('/etc/dpkg/origins/default', 'r') as default_origin: + with open('/etc/dpkg/origins/default', 'r', + encoding='utf-8') as default_origin: matches = [ re.match(r'Vendor:\s+Debian', line, flags=re.IGNORECASE) for line in default_origin.readlines() @@ -326,9 +327,11 @@ def _add_apt_preferences(): 'for backports.') else: print(f'Setting apt preferences for {dist}-backports.') - with open(base_path / '50freedombox4.pref', 'w') as file_handle: + with open(base_path / '50freedombox4.pref', 'w', + encoding='utf-8') as file_handle: file_handle.write(APT_PREFERENCES_FREEDOMBOX.format(dist)) - with open(base_path / '51freedombox-apps.pref', 'w') as file_handle: + with open(base_path / '51freedombox-apps.pref', 'w', + encoding='utf-8') as file_handle: file_handle.write(APT_PREFERENCES_APPS) @@ -394,10 +397,10 @@ def _check_dist_upgrade(test_upgrade=False) -> Tuple[bool, str]: return (False, 'not-enough-free-space') logging.info('Upgrading from %s to %s...', dist, codename) - with open(SOURCES_LIST, 'r') as sources_list: + with open(SOURCES_LIST, 'r', encoding='utf-8') as sources_list: lines = sources_list.readlines() - with open(SOURCES_LIST, 'w') as sources_list: + with open(SOURCES_LIST, 'w', encoding='utf-8') as sources_list: for line in lines: # E.g. replace 'buster' with 'bullseye'. new_line = line.replace(dist, codename) @@ -571,7 +574,8 @@ def subcommand_activate_backports(arguments): def _start_dist_upgrade_service(): """Create dist upgrade service and start it.""" - with open(DIST_UPGRADE_SERVICE_PATH, 'w') as service_file: + with open(DIST_UPGRADE_SERVICE_PATH, 'w', + encoding='utf-8') as service_file: service_file.write(DIST_UPGRADE_SERVICE) service_daemon_reload() diff --git a/actions/wordpress b/actions/wordpress index fe9fb2aa0..ba96e8a8d 100755 --- a/actions/wordpress +++ b/actions/wordpress @@ -87,7 +87,7 @@ define('WP_CONTENT_DIR', '/var/lib/wordpress/wp-content'); define('DISABLE_WP_CRON', true); ''' - _config_file_path.write_text(config_contents) + _config_file_path.write_text(config_contents, encoding='utf-8') db_contents = f''' (List[str], str, bool): for file_path, managed in ((OVERRIDDEN_TURN_CONF_PATH, False), (TURN_CONF_PATH, True)): if is_non_empty_file(file_path): - with open(file_path) as config_file: + with open(file_path, encoding='utf-8') as config_file: config, _, _ = load_yaml_guess_indent(config_file) return (TurnConfiguration(None, config['turn_uris'], config['turn_shared_secret']), diff --git a/plinth/modules/mediawiki/__init__.py b/plinth/modules/mediawiki/__init__.py index 6ca1f3c0d..8c2e7f1d7 100644 --- a/plinth/modules/mediawiki/__init__.py +++ b/plinth/modules/mediawiki/__init__.py @@ -128,7 +128,7 @@ def is_private_mode_enabled(): def _get_config_value_in_file(setting_name, config_file): """Return the value of a setting from a config file.""" - with open(config_file, 'r') as config: + with open(config_file, 'r', encoding='utf-8') as config: for line in config: if line.startswith(setting_name): return re.findall(r'["\'][^"\']*["\']', line)[0].strip('"\'') diff --git a/plinth/modules/openvpn/__init__.py b/plinth/modules/openvpn/__init__.py index a3564e2c3..4f7523b6f 100644 --- a/plinth/modules/openvpn/__init__.py +++ b/plinth/modules/openvpn/__init__.py @@ -122,7 +122,8 @@ def is_setup(): def is_using_ecc(): """Return whether the service is using ECC.""" if os.path.exists(SERVER_CONFIGURATION_FILE): - with open(SERVER_CONFIGURATION_FILE, 'r') as file_handle: + with open(SERVER_CONFIGURATION_FILE, 'r', + encoding='utf-8') as file_handle: for line in file_handle: if line.strip() == 'dh none': return True diff --git a/plinth/modules/openvpn/tests/test_configuration.py b/plinth/modules/openvpn/tests/test_configuration.py index 72504ff18..35dd75d1a 100644 --- a/plinth/modules/openvpn/tests/test_configuration.py +++ b/plinth/modules/openvpn/tests/test_configuration.py @@ -34,7 +34,7 @@ def fixture_conf_file(tmp_path): def test_identify_rsa_configuration(conf_file): """Identify RSA configuration based on configuration file.""" with patch('plinth.modules.openvpn.SERVER_CONFIGURATION_FILE', conf_file): - with open(conf_file, 'w') as file_handle: + with open(conf_file, 'w', encoding='utf-8') as file_handle: file_handle.write('dh /etc/openvpn/freedombox-keys/pki/dh.pem') assert not openvpn.is_using_ecc() @@ -42,7 +42,7 @@ def test_identify_rsa_configuration(conf_file): def test_identify_ecc_configuration(conf_file): """Identify ECC configuration based on configuration file.""" with patch('plinth.modules.openvpn.SERVER_CONFIGURATION_FILE', conf_file): - with open(conf_file, 'w') as file_handle: + with open(conf_file, 'w', encoding='utf-8') as file_handle: file_handle.write('dh none') assert openvpn.is_using_ecc() diff --git a/plinth/modules/quassel/__init__.py b/plinth/modules/quassel/__init__.py index dbbbb7024..20772797e 100644 --- a/plinth/modules/quassel/__init__.py +++ b/plinth/modules/quassel/__init__.py @@ -118,7 +118,8 @@ def get_domain(): """Read TLS domain from config file select first available if none.""" domain = None try: - with open('/var/lib/quassel/domain-freedombox') as file_handle: + with open('/var/lib/quassel/domain-freedombox', + encoding='utf-8') as file_handle: domain = file_handle.read().strip() except FileNotFoundError: pass diff --git a/plinth/modules/security/__init__.py b/plinth/modules/security/__init__.py index db834c7d0..d736555cb 100644 --- a/plinth/modules/security/__init__.py +++ b/plinth/modules/security/__init__.py @@ -80,13 +80,13 @@ def enable_fail2ban(): def get_restricted_access_enabled(): """Return whether restricted access is enabled""" - with open(ACCESS_CONF_FILE_OLD, 'r') as conffile: + with open(ACCESS_CONF_FILE_OLD, 'r', encoding='utf-8') as conffile: if any(line.strip() in ACCESS_CONF_SNIPPETS for line in conffile.readlines()): return True try: - with open(ACCESS_CONF_FILE, 'r') as conffile: + with open(ACCESS_CONF_FILE, 'r', encoding='utf-8') as conffile: return any(line.strip() in ACCESS_CONF_SNIPPETS for line in conffile.readlines()) except FileNotFoundError: diff --git a/plinth/modules/upgrades/views.py b/plinth/modules/upgrades/views.py index 911fd3dfa..4958af928 100644 --- a/plinth/modules/upgrades/views.py +++ b/plinth/modules/upgrades/views.py @@ -97,7 +97,7 @@ def is_newer_version_available(): def get_os_release(): """Returns the Debian release number and name.""" output = 'Error: Cannot read PRETTY_NAME in /etc/os-release.' - with open('/etc/os-release', 'r') as release_file: + with open('/etc/os-release', 'r', encoding='utf-8') as release_file: for line in release_file: if 'PRETTY_NAME=' in line: line = line.replace('"', '').strip() diff --git a/plinth/tests/test_utils.py b/plinth/tests/test_utils.py index 2e9e885fa..ff4f0c637 100644 --- a/plinth/tests/test_utils.py +++ b/plinth/tests/test_utils.py @@ -8,8 +8,8 @@ from unittest.mock import MagicMock, Mock import pytest import ruamel.yaml -from ruamel.yaml.compat import StringIO from django.test.client import RequestFactory +from ruamel.yaml.compat import StringIO from plinth.utils import YAMLFile, is_user_admin, is_valid_user_name @@ -105,7 +105,7 @@ class TestYAMLFileUtil: for key in conf: file_conf[key] = conf[key] - with open(test_file.name, 'r') as retrieved_conf: + with open(test_file.name, 'r', encoding='utf-8') as retrieved_conf: buffer = StringIO() self.yaml.dump(conf, buffer) assert retrieved_conf.read() == buffer.getvalue() @@ -116,13 +116,13 @@ class TestYAMLFileUtil: """ test_file = tempfile.NamedTemporaryFile() - with open(test_file.name, 'w') as conf_file: + with open(test_file.name, 'w', encoding='utf-8') as conf_file: self.yaml.dump({'property1': self.kv_pair}, conf_file) with YAMLFile(test_file.name) as file_conf: file_conf['property2'] = self.kv_pair - with open(test_file.name, 'r') as retrieved_conf: + with open(test_file.name, 'r', encoding='utf-8') as retrieved_conf: file_conf = self.yaml.load(retrieved_conf) assert file_conf == { 'property1': self.kv_pair, @@ -138,4 +138,4 @@ class TestYAMLFileUtil: yaml_file['property1'] = 'value1' raise ValueError('Test') - assert open(test_file.name, 'r').read() == '' + assert open(test_file.name, 'r', encoding='utf-8').read() == '' diff --git a/plinth/utils.py b/plinth/utils.py index 948a484a6..f6cb6c749 100644 --- a/plinth/utils.py +++ b/plinth/utils.py @@ -106,7 +106,7 @@ class YAMLFile(object): self.yaml.preserve_quotes = True def __enter__(self): - with open(self.yaml_file, 'r') as intro_conf: + with open(self.yaml_file, 'r', encoding='utf-8') as intro_conf: if not self.is_file_empty(): self.conf = self.yaml.load(intro_conf) else: @@ -116,7 +116,7 @@ class YAMLFile(object): def __exit__(self, type_, value, traceback): if not traceback: - with open(self.yaml_file, 'w') as intro_conf: + with open(self.yaml_file, 'w', encoding='utf-8') as intro_conf: self.yaml.dump(self.conf, intro_conf) def is_file_empty(self): @@ -140,7 +140,8 @@ def generate_password(size=32): def grep(pattern, file_name): """Return lines of a file matching a pattern.""" return [ - line.rstrip() for line in open(file_name) if re.search(pattern, line) + line.rstrip() for line in open(file_name, encoding='utf-8') + if re.search(pattern, line) ] From c73f88b925787891f1fe4534bcf9b0f2513f5a78 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 22 Jun 2022 18:09:40 -0700 Subject: [PATCH 15/26] *: pylint: Suppress unused argument warnings Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- actions/minidlna | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/actions/minidlna b/actions/minidlna index 3193f4621..e742c52af 100755 --- a/actions/minidlna +++ b/actions/minidlna @@ -59,7 +59,7 @@ def _undo_old_configuration_changes(): aug.save() -def subcommand_setup(arguments): +def subcommand_setup(_): """ Increase inotify watches per folder to allow minidlna to monitor changes in large media-dirs. @@ -72,7 +72,7 @@ def subcommand_setup(arguments): subprocess.run(['systemctl', 'restart', 'systemd-sysctl'], check=True) -def subcommand_get_media_dir(arguments): +def subcommand_get_media_dir(_): """Retrieve media directory from minidlna.conf""" line = grep('^media_dir=', CONFIG_PATH) From bfa11beb733b7e664bb63a4e5b50ae85e8a031fb Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 22 Jun 2022 18:38:50 -0700 Subject: [PATCH 16/26] *: pylint: Don't inherit from 'object' - This was required in Python 2 but useless in Python 3. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/action_utils.py | 2 +- plinth/modules/config/tests/test_config.py | 2 +- plinth/modules/users/views.py | 2 +- plinth/package.py | 2 +- plinth/setup.py | 2 +- plinth/utils.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plinth/action_utils.py b/plinth/action_utils.py index 86042f85a..ffaad50d1 100644 --- a/plinth/action_utils.py +++ b/plinth/action_utils.py @@ -207,7 +207,7 @@ def webserver_disable(name, kind='config', apply_changes=True): return action_required -class WebserverChange(object): +class WebserverChange: """Context to restart/reload Apache after configuration changes.""" def __init__(self): diff --git a/plinth/modules/config/tests/test_config.py b/plinth/modules/config/tests/test_config.py index 68115528e..378626a4b 100644 --- a/plinth/modules/config/tests/test_config.py +++ b/plinth/modules/config/tests/test_config.py @@ -120,7 +120,7 @@ def test_homepage_mapping_skip_ci(): assert _home_page_scid2url(uws_scid) is None -class Dict2Obj(object): +class Dict2Obj: """Mock object made out of any dict.""" def __init__(self, a_dict): diff --git a/plinth/modules/users/views.py b/plinth/modules/users/views.py index 3df2f31a7..ede8e0add 100644 --- a/plinth/modules/users/views.py +++ b/plinth/modules/users/views.py @@ -24,7 +24,7 @@ from .forms import (CreateUserForm, FirstBootForm, UserChangePasswordForm, UserUpdateForm) -class ContextMixin(object): +class ContextMixin: """Mixin to add 'title' to the template context.""" def get_context_data(self, **kwargs): diff --git a/plinth/package.py b/plinth/package.py index bb916e017..9ae39d9a2 100644 --- a/plinth/package.py +++ b/plinth/package.py @@ -252,7 +252,7 @@ class PackageException(Exception): .format(self.error_string, self.error_details) -class Transaction(object): +class Transaction: """Information about an ongoing transaction.""" def __init__(self, module_name, package_names): diff --git a/plinth/setup.py b/plinth/setup.py index ae45399e5..1f43fece9 100644 --- a/plinth/setup.py +++ b/plinth/setup.py @@ -28,7 +28,7 @@ _is_shutting_down = False _force_upgrader = None -class Helper(object): +class Helper: """Helper routines for modules to show progress.""" def __init__(self, module_name, module): diff --git a/plinth/utils.py b/plinth/utils.py index f6cb6c749..34b1db425 100644 --- a/plinth/utils.py +++ b/plinth/utils.py @@ -89,7 +89,7 @@ def is_user_admin(request, cached=False): return user_is_admin -class YAMLFile(object): +class YAMLFile: """A context management class for updating YAML files""" def __init__(self, yaml_file): From 22a120d979250109eaa06a9c4515c0da025c7ef9 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 22 Jun 2022 19:45:06 -0700 Subject: [PATCH 17/26] *: pylint: Avoid calling super() with arguments Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/deluge/forms.py | 6 +++--- plinth/modules/networks/forms.py | 6 +++--- plinth/modules/pagekite/forms.py | 4 ++-- plinth/modules/pagekite/views.py | 2 +- plinth/modules/shadowsocks/forms.py | 2 +- plinth/modules/sharing/forms.py | 2 +- plinth/modules/sso/views.py | 7 +++---- plinth/modules/tor/forms.py | 2 +- plinth/modules/transmission/forms.py | 7 +++---- plinth/modules/users/forms.py | 12 ++++++------ plinth/modules/users/views.py | 16 ++++++++-------- plinth/package.py | 2 +- 12 files changed, 33 insertions(+), 35 deletions(-) diff --git a/plinth/modules/deluge/forms.py b/plinth/modules/deluge/forms.py index 825638204..195cfb158 100644 --- a/plinth/modules/deluge/forms.py +++ b/plinth/modules/deluge/forms.py @@ -17,6 +17,6 @@ class DelugeForm(DirectorySelectForm): def __init__(self, *args, **kw): validator = DirectoryValidator(username=SYSTEM_USER, check_creatable=True) - super(DelugeForm, self).__init__(title=_('Download directory'), - default='/var/lib/deluged/Downloads', - validator=validator, *args, **kw) + super().__init__(title=_('Download directory'), + default='/var/lib/deluged/Downloads', + validator=validator, *args, **kw) diff --git a/plinth/modules/networks/forms.py b/plinth/modules/networks/forms.py index 621efad99..20b9260c0 100644 --- a/plinth/modules/networks/forms.py +++ b/plinth/modules/networks/forms.py @@ -167,7 +167,7 @@ class GenericForm(ConnectionForm): def __init__(self, *args, **kwargs): """Initialize the form, populate interface choices.""" - super(GenericForm, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) choices = self._get_interface_choices(nm.DeviceType.GENERIC) self.fields['interface'].choices = choices @@ -183,7 +183,7 @@ class EthernetForm(ConnectionForm): def __init__(self, *args, **kwargs): """Initialize the form, populate interface choices.""" - super(EthernetForm, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) choices = self._get_interface_choices(nm.DeviceType.ETHERNET) self.fields['interface'].choices = choices @@ -278,7 +278,7 @@ requires clients to have the password to connect.'), def __init__(self, *args, **kwargs): """Initialize the form, populate interface choices.""" - super(WifiForm, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) choices = self._get_interface_choices(nm.DeviceType.WIFI) self.fields['interface'].choices = choices diff --git a/plinth/modules/pagekite/forms.py b/plinth/modules/pagekite/forms.py index ff1abf9af..a05c8a6b8 100644 --- a/plinth/modules/pagekite/forms.py +++ b/plinth/modules/pagekite/forms.py @@ -22,7 +22,7 @@ class TrimmedCharField(forms.CharField): if value: value = value.strip() - return super(TrimmedCharField, self).clean(value) + return super().clean(value) class ConfigurationForm(forms.Form): @@ -155,7 +155,7 @@ class AddCustomServiceForm(BaseCustomServiceForm): return match_found def clean(self): - cleaned_data = super(AddCustomServiceForm, self).clean() + cleaned_data = super().clean() try: is_predefined = self.matches_predefined_service(cleaned_data) except KeyError: diff --git a/plinth/modules/pagekite/views.py b/plinth/modules/pagekite/views.py index 02c8dfac4..b5307b9cd 100644 --- a/plinth/modules/pagekite/views.py +++ b/plinth/modules/pagekite/views.py @@ -62,4 +62,4 @@ class ConfigurationView(AppView): def form_valid(self, form): form.save(self.request) - return super(ConfigurationView, self).form_valid(form) + return super().form_valid(form) diff --git a/plinth/modules/shadowsocks/forms.py b/plinth/modules/shadowsocks/forms.py index 849c46fea..188e4caf5 100644 --- a/plinth/modules/shadowsocks/forms.py +++ b/plinth/modules/shadowsocks/forms.py @@ -29,7 +29,7 @@ class TrimmedCharField(forms.CharField): if value: value = value.strip() - return super(TrimmedCharField, self).clean(value) + return super().clean(value) class ShadowsocksForm(forms.Form): diff --git a/plinth/modules/sharing/forms.py b/plinth/modules/sharing/forms.py index b70782d12..e9a50a8c3 100644 --- a/plinth/modules/sharing/forms.py +++ b/plinth/modules/sharing/forms.py @@ -55,7 +55,7 @@ class AddShareForm(forms.Form): def clean(self): """Check that at least one group is added for non-public shares.""" - super(AddShareForm, self).clean() + super().clean() is_public = self.cleaned_data.get('is_public') groups = self.cleaned_data.get('groups') if not is_public and not groups: diff --git a/plinth/modules/sso/views.py b/plinth/modules/sso/views.py index 6415f545a..083d3eea7 100644 --- a/plinth/modules/sso/views.py +++ b/plinth/modules/sso/views.py @@ -53,7 +53,7 @@ class SSOLoginView(LoginView): form_class = AuthenticationForm def dispatch(self, request, *args, **kwargs): - response = super(SSOLoginView, self).dispatch(request, *args, **kwargs) + response = super().dispatch(request, *args, **kwargs) if request.user.is_authenticated: translation.set_language(request, response, request.user.userprofile.language) @@ -65,7 +65,7 @@ class SSOLoginView(LoginView): # axes_form_invalid when axes >= 5.0.0 becomes available in Debian stable. @axes_form_invalid def form_invalid(self, *args, **kwargs): - return super(SSOLoginView, self).form_invalid(*args, **kwargs) + return super().form_invalid(*args, **kwargs) class CaptchaLoginView(LoginView): @@ -74,8 +74,7 @@ class CaptchaLoginView(LoginView): form_class = CaptchaAuthenticationForm def dispatch(self, request, *args, **kwargs): - response = super(CaptchaLoginView, - self).dispatch(request, *args, **kwargs) + response = super().dispatch(request, *args, **kwargs) if not request.POST: return response diff --git a/plinth/modules/tor/forms.py b/plinth/modules/tor/forms.py index 08c67a38e..422456d68 100644 --- a/plinth/modules/tor/forms.py +++ b/plinth/modules/tor/forms.py @@ -24,7 +24,7 @@ class TrimmedCharField(forms.CharField): value = value.strip() value = value.replace('\r\n', '\n') - return super(TrimmedCharField, self).clean(value) + return super().clean(value) def bridges_validator(bridges): diff --git a/plinth/modules/transmission/forms.py b/plinth/modules/transmission/forms.py index 4bac74885..5fcf869b4 100644 --- a/plinth/modules/transmission/forms.py +++ b/plinth/modules/transmission/forms.py @@ -17,7 +17,6 @@ class TransmissionForm(DirectorySelectForm): def __init__(self, *args, **kw): validator = DirectoryValidator(username=SYSTEM_USER, check_creatable=True) - super(TransmissionForm, - self).__init__(title=_('Download directory'), - default='/var/lib/transmission-daemon/downloads', - validator=validator, *args, **kw) + super().__init__(title=_('Download directory'), + default='/var/lib/transmission-daemon/downloads', + validator=validator, *args, **kw) diff --git a/plinth/modules/users/forms.py b/plinth/modules/users/forms.py index 61814b5c5..5dd6b7a74 100644 --- a/plinth/modules/users/forms.py +++ b/plinth/modules/users/forms.py @@ -125,7 +125,7 @@ class CreateUserForm(ValidNewUsernameCheckMixin, def __init__(self, request, *args, **kwargs): """Initialize the form with extra request argument.""" self.request = request - super(CreateUserForm, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.fields['username'].widget.attrs.update({ 'autofocus': 'autofocus', 'autocapitalize': 'none', @@ -134,7 +134,7 @@ class CreateUserForm(ValidNewUsernameCheckMixin, def save(self, commit=True): """Save the user model and create LDAP user if required.""" - user = super(CreateUserForm, self).save(commit) + user = super().save(commit) if commit: user.userprofile.language = self.cleaned_data['language'] @@ -206,7 +206,7 @@ class UserUpdateForm(ValidNewUsernameCheckMixin, PasswordConfirmForm, self.request = request self.username = username - super(UserUpdateForm, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.is_last_admin_user = get_last_admin_user() == self.username self.fields['username'].widget.attrs.update({ 'autofocus': 'autofocus', @@ -243,7 +243,7 @@ class UserUpdateForm(ValidNewUsernameCheckMixin, PasswordConfirmForm, def save(self, commit=True): """Update LDAP user name and groups after saving user model.""" - user = super(UserUpdateForm, self).save(commit=False) + user = super().save(commit=False) # Profile is auto saved with user object user.userprofile.language = self.cleaned_data['language'] auth_username = self.request.user.username @@ -348,13 +348,13 @@ class UserChangePasswordForm(PasswordConfirmForm, SetPasswordForm): def __init__(self, request, *args, **kwargs): """Initialize the form with extra request argument.""" self.request = request - super(UserChangePasswordForm, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.fields['new_password1'].widget.attrs.update( {'autofocus': 'autofocus'}) def save(self, commit=True): """Save the user model and change LDAP password as well.""" - user = super(UserChangePasswordForm, self).save(commit) + user = super().save(commit) auth_username = self.request.user.username if commit: process_input = '{0}\n{1}'.format( diff --git a/plinth/modules/users/views.py b/plinth/modules/users/views.py index ede8e0add..7d25fe518 100644 --- a/plinth/modules/users/views.py +++ b/plinth/modules/users/views.py @@ -29,7 +29,7 @@ class ContextMixin: def get_context_data(self, **kwargs): """Add self.title to template context.""" - context = super(ContextMixin, self).get_context_data(**kwargs) + context = super().get_context_data(**kwargs) context['title'] = getattr(self, 'title', '') return context @@ -45,7 +45,7 @@ class UserCreate(ContextMixin, SuccessMessageMixin, CreateView): def get_form_kwargs(self): """Make the request object available to the form.""" - kwargs = super(UserCreate, self).get_form_kwargs() + kwargs = super().get_form_kwargs() kwargs['request'] = self.request return kwargs @@ -62,7 +62,7 @@ class UserList(AppView, ContextMixin, django.views.generic.ListView): app_id = 'users' def get_context_data(self, *args, **kwargs): - context = super(UserList, self).get_context_data(*args, **kwargs) + context = super().get_context_data(*args, **kwargs) context['last_admin_user'] = get_last_admin_user() return context @@ -86,14 +86,14 @@ class UserUpdate(ContextMixin, SuccessMessageMixin, UpdateView): def get_form_kwargs(self): """Make the request object available to the form.""" - kwargs = super(UserUpdate, self).get_form_kwargs() + kwargs = super().get_form_kwargs() kwargs['request'] = self.request kwargs['username'] = self.object.username return kwargs def get_initial(self): """Return the data for initial form load.""" - initial = super(UserUpdate, self).get_initial() + initial = super().get_initial() try: ssh_keys = actions.superuser_run( 'ssh', ['get-keys', '--username', self.object.username]) @@ -190,7 +190,7 @@ class UserChangePassword(ContextMixin, SuccessMessageMixin, FormView): def get_form_kwargs(self): """Make the user object available to the form.""" - kwargs = super(UserChangePassword, self).get_form_kwargs() + kwargs = super().get_form_kwargs() kwargs['request'] = self.request kwargs['user'] = User.objects.get(username=self.kwargs['slug']) return kwargs @@ -209,7 +209,7 @@ class UserChangePassword(ContextMixin, SuccessMessageMixin, FormView): """ form.save() update_session_auth_hash(self.request, form.user) - return super(UserChangePassword, self).form_valid(form) + return super().form_valid(form) class FirstBootView(django.views.generic.CreateView): @@ -238,7 +238,7 @@ class FirstBootView(django.views.generic.CreateView): def get_form_kwargs(self): """Make request available to the form (to insert messages)""" - kwargs = super(FirstBootView, self).get_form_kwargs() + kwargs = super().get_form_kwargs() kwargs['request'] = self.request return kwargs diff --git a/plinth/package.py b/plinth/package.py index 9ae39d9a2..315b514b6 100644 --- a/plinth/package.py +++ b/plinth/package.py @@ -241,7 +241,7 @@ class PackageException(Exception): def __init__(self, error_string=None, error_details=None, *args, **kwargs): """Store apt-get error string and details.""" - super(PackageException, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.error_string = error_string self.error_details = error_details From eaa3a597914c16e3b0ced6b02fa710210d3e9b24 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 22 Jun 2022 19:57:10 -0700 Subject: [PATCH 18/26] *: pylint: Drop unnecessary 'pass' statements Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/errors.py | 4 ---- plinth/modules/backups/api.py | 1 - plinth/modules/firewall/__init__.py | 2 -- plinth/network.py | 2 -- 4 files changed, 9 deletions(-) diff --git a/plinth/errors.py b/plinth/errors.py index cfd6746d4..32d4387f8 100644 --- a/plinth/errors.py +++ b/plinth/errors.py @@ -6,17 +6,14 @@ Project specific errors class PlinthError(Exception): """Base class for all FreedomBox specific errors.""" - pass class ActionError(PlinthError): """Use this error for exceptions when executing an action.""" - pass class PackageNotInstalledError(PlinthError): """Could not complete module setup due to missing package.""" - pass class DomainNotRegisteredError(PlinthError): @@ -24,7 +21,6 @@ class DomainNotRegisteredError(PlinthError): An action couldn't be performed because this FreedomBox doesn't have a registered domain """ - pass class MissingPackageError(PlinthError): diff --git a/plinth/modules/backups/api.py b/plinth/modules/backups/api.py index 599d885ff..336ad1948 100644 --- a/plinth/modules/backups/api.py +++ b/plinth/modules/backups/api.py @@ -229,7 +229,6 @@ def _lockdown_apps(components, lockdown): def _is_snapshot_available(): """Return whether it is possible to take filesystem snapshots.""" - pass def _take_snapshot(): diff --git a/plinth/modules/firewall/__init__.py b/plinth/modules/firewall/__init__.py index dacb29e57..1fbe71435 100644 --- a/plinth/modules/firewall/__init__.py +++ b/plinth/modules/firewall/__init__.py @@ -131,10 +131,8 @@ def ignore_dbus_error(dbus_error=None, service_error=None): if (dbus_error and parts[1].strip() == 'org.freedesktop.DBus.Error.' + dbus_error): logger.error('Firewalld is not running.') - pass elif (service_error and parts[2].strip() == service_error): logger.warning('Ignoring firewall exception: %s', service_error) - pass else: raise diff --git a/plinth/network.py b/plinth/network.py index ac6296490..d2efa1a9b 100644 --- a/plinth/network.py +++ b/plinth/network.py @@ -33,12 +33,10 @@ CONNECTION_TYPE_NAMES = collections.OrderedDict([ class ConnectionNotFound(Exception): """Network connection with a given name could not be found.""" - pass class DeviceNotFound(Exception): """Network device for specified operation could not be found.""" - pass def ipv4_string_to_int(address): From bb35ddfeaa03887e017aec90f0bd9738d4356cde Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 22 Jun 2022 20:06:01 -0700 Subject: [PATCH 19/26] pyproject.toml: Ignore some refactoring messages with pylint Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- pyproject.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index e1ff06364..3954de651 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,3 +71,10 @@ markers = [ "wordpress", "zoph", ] + +# Useful when pylint is invoked separately instead of flake8 +[tool.pylint.'MESSAGES CONTROL'] +disable = [ + "too-many-arguments", # Has not resulted in a refactoring + "too-many-ancestors", # Easy to hit when using Django +] From d42a07a630e7f99e1c945a252a026819f699d2ab Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Mon, 4 Jul 2022 20:58:21 -0400 Subject: [PATCH 20/26] datetime: Fix typo from pylint fix Signed-off-by: James Valleroy --- plinth/modules/datetime/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plinth/modules/datetime/views.py b/plinth/modules/datetime/views.py index a437ebdfb..d92848245 100644 --- a/plinth/modules/datetime/views.py +++ b/plinth/modules/datetime/views.py @@ -31,7 +31,7 @@ class DateTimeAppView(AppView): def get_current_time_zone(): """Get current time zone.""" path = pathlib.Path('/etc/timezone') - time_zone = path.read_text(encoding='utf-8').rstip() + time_zone = path.read_text(encoding='utf-8').rstrip() return time_zone or 'none' def form_valid(self, form): From a150cd15bd8db3e95feebd39018d15b7f969a00b Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 28 Jun 2022 09:36:59 -0700 Subject: [PATCH 21/26] static: js: css: Make multiple select fields work with Django 4.0 Closes: #2228. - Django 4.0 changed to using
instead of using
    and
  • for multiple choice select fields. Update code for the select-all button to work with the new HTML structure. - Add styling to ensure that multiple choice select field appears similar to previous
      and
    • based style. - This patch assumes that django-bootstrap-form has support for Django 4.0 as seen in https://github.com/tzangms/django-bootstrap-form/pull/110 . Tests: - Radio select seem to have no issues. Checked in networks -> connection type page. - Open Backups -> Create backup page and ensure that select all button works and appears same on testing (Django 3.2) and unstable (Django 4.0). Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- static/themes/default/css/main.css | 4 ++++ static/themes/default/js/main.js | 13 +++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/static/themes/default/css/main.css b/static/themes/default/css/main.css index e607ea96c..c939d0363 100644 --- a/static/themes/default/css/main.css +++ b/static/themes/default/css/main.css @@ -202,6 +202,10 @@ body { list-style-type: none; } +.multiple-checkbox > div { + padding-left: 40px; +} + .navbar .fa:not(.fa-bars) { margin-right: 0.25rem; } diff --git a/static/themes/default/js/main.js b/static/themes/default/js/main.js index 65c723f56..412ad493a 100644 --- a/static/themes/default/js/main.js +++ b/static/themes/default/js/main.js @@ -126,9 +126,14 @@ window.addEventListener('pageshow', function(event) { * Select all option for multiple checkboxes. */ document.addEventListener('DOMContentLoaded', function(event) { - let parents = document.querySelectorAll('ul.has-select-all'); + // Django < 4.0 generates
        and
      • where as Django >= 4.0 generates
        s + let parents = document.querySelectorAll('ul.has-select-all,div.has-select-all'); for (const parent of parents) { - let li = document.createElement('li'); + let childElementType = 'div'; + if (parent.tagName.toLowerCase() == 'ul') + childElementType = 'li'; + + let selectAllItem = document.createElement(childElementType); let label = document.createElement('label'); label.for = "select_all"; @@ -139,9 +144,9 @@ document.addEventListener('DOMContentLoaded', function(event) { checkbox.setAttribute('class', 'select-all'); label.appendChild(checkbox); - li.appendChild(label); + selectAllItem.appendChild(label); - parent.insertBefore(li, parent.childNodes[0]); + parent.insertBefore(selectAllItem, parent.childNodes[0]); setSelectAllValue(parent); checkbox.addEventListener('change', onSelectAllChanged); From 40f4a24e92dc98423428acbd70a2584324208e73 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 28 Jun 2022 09:36:18 -0700 Subject: [PATCH 22/26] views: Add a comment about change in Django 4.0 Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plinth/views.py b/plinth/views.py index 42b86b06a..737df09cc 100644 --- a/plinth/views.py +++ b/plinth/views.py @@ -33,7 +33,7 @@ REDIRECT_FIELD_NAME = 'next' def is_safe_url(url): """Check if the URL is safe to redirect to. - Based on Django internal utility. + Based on Django internal utility removed in Django 4.0. """ if url is not None: From 55bc21b5fcb13b5f501a9f1d4789ca5105a33d36 Mon Sep 17 00:00:00 2001 From: Andrij Mizyk Date: Mon, 4 Jul 2022 08:12:43 +0000 Subject: [PATCH 23/26] Translated using Weblate (Ukrainian) Currently translated at 83.5% (1216 of 1455 strings) --- plinth/locale/uk/LC_MESSAGES/django.po | 258 ++++++++++++++----------- 1 file changed, 147 insertions(+), 111 deletions(-) diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po index 2cd029173..4afb34510 100644 --- a/plinth/locale/uk/LC_MESSAGES/django.po +++ b/plinth/locale/uk/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-06-20 20:21-0400\n" -"PO-Revision-Date: 2022-06-30 18:19+0000\n" -"Last-Translator: Artem \n" +"PO-Revision-Date: 2022-07-05 01:21+0000\n" +"Last-Translator: Andrij Mizyk \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -93,7 +93,7 @@ msgstr "Використовувати мовні налаштування ог #: plinth/middleware.py:38 plinth/templates/setup.html:18 msgid "Application installed." -msgstr "Застосунок установлено." +msgstr "Застосунок встановлено." #: plinth/middleware.py:43 #, python-brace-format @@ -167,9 +167,9 @@ msgid "" "Enable an automatic backup schedule for data safety. Prefer an encrypted " "remote backup location or an extra attached disk." msgstr "" -"Дозволити заплановане автоматичне резервне копіювання, щоб зберегти даних. " +"Дозволити заплановане автоматичне резервне копіювання для зберігання даних. " "Для резервних копій надається перевага віддаленому зашифрованому " -"розташуванні або зовнішньому знімному диску." +"розташуванню або зовнішньому знімному диску." #: plinth/modules/backups/__init__.py:205 msgid "Enable a Backup Schedule" @@ -374,14 +374,14 @@ msgstr "Резервна копія збережеться в каталозі F #: plinth/modules/backups/forms.py:242 msgid "SSH Repository Path" -msgstr "Шляз репозиторію SSH" +msgstr "Шлях репозиторію SSH" #: plinth/modules/backups/forms.py:243 msgid "" "Path of a new or existing repository. Example: user@host:~/path/to/repo/" msgstr "" -"Шлях до нового або існуючого репозиторію. Приклад: user@host:~/path/to/" +"Шлях до нового або наявного репозиторію. Приклад: user@host:~/path/to/" "repo/" #: plinth/modules/backups/forms.py:247 @@ -418,7 +418,7 @@ msgstr "З’єднання відхилено" #: plinth/modules/backups/repository.py:48 msgid "Repository not found" -msgstr "Сховище не знайдено" +msgstr "Репозиторій не знайдено" #: plinth/modules/backups/repository.py:53 msgid "Incorrect encryption passphrase" @@ -435,7 +435,7 @@ msgstr "" #: plinth/modules/backups/repository.py:143 msgid "Existing repository is not encrypted." -msgstr "Існуючий репозиторій не зашифровано." +msgstr "Наявний репозиторій не зашифровано." #: plinth/modules/backups/repository.py:327 #, python-brace-format @@ -559,11 +559,11 @@ msgstr "Відновити" #: plinth/modules/backups/templates/backups_repository.html:109 msgid "No archives currently exist." -msgstr "Поки що нема існуючих архівів." +msgstr "Ще нема наявних архівів." #: plinth/modules/backups/templates/backups_repository_remove.html:13 msgid "Are you sure that you want to remove this repository?" -msgstr "Ви впевнені, що хочете видалити це сховище?" +msgstr "Ви впевнені, що хочете видалити цей репозиторій?" #: plinth/modules/backups/templates/backups_repository_remove.html:19 msgid "" @@ -693,7 +693,7 @@ msgstr "Відновити з вивантаженого файлу" #: plinth/modules/backups/views.py:289 msgid "No additional disks available to add a repository." -msgstr "Не доступно додаткового диска для додавання репозиторію." +msgstr "Нема доступних дисків для додавання репозиторію." #: plinth/modules/backups/views.py:297 msgid "Create backup repository" @@ -737,7 +737,7 @@ msgstr "Репозиторій вилучено." #: plinth/modules/backups/views.py:446 msgid "Remove Repository" -msgstr "Видалити сховище" +msgstr "Видалити репозиторій" #: plinth/modules/backups/views.py:455 msgid "Repository removed. Backups were not deleted." @@ -773,7 +773,7 @@ msgid "" msgstr "" "bepasty не використовує імена користувачів для входу. Використовує лише " "паролі. Для кожного пароля можна вибрати набір дозволів. Створивши пароль, " -"Ви зможете ділитися ним із користувачами, які мають відповідні дозволи." +"Ви зможете поділитися ним із користувачами, які мають відповідні дозволи." #: plinth/modules/bepasty/__init__.py:29 msgid "" @@ -1521,7 +1521,7 @@ msgstr "" #: plinth/modules/diagnostics/__init__.py:219 msgid "You should not install any new apps on this system." -msgstr "Не слід установлювати нових застосунків на цій системі." +msgstr "Не слід встановлювати нові застосунки в цій системі." #: plinth/modules/diagnostics/__init__.py:231 #, no-python-format, python-brace-format @@ -1809,6 +1809,10 @@ msgid "" "target='_blank'>XMPP client. When enabled, ejabberd can be accessed by " "any user with a {box_name} login." msgstr "" +"Для справжнього спілкування Вам потрібен веб-клієнт або будь-який інший клієнт XMPP. Якщо ввімкнено, то отримати доступ до ejabberd " +"зможе будь-який користувач із логіном {box_name}." #: plinth/modules/ejabberd/__init__.py:42 #, python-brace-format @@ -1816,7 +1820,7 @@ msgid "" "ejabberd needs a STUN/TURN server for audio/video calls. Install the Coturn app or configure an external server." msgstr "" -"ejabberd потребує сервера STUN/TURN для звукових/відео дзвінків. Установіть " +"ejabberd потребує сервера STUN/TURN для звукових/відео дзвінків. Встановіть " "застосунок Coturn або налаштуйте зовнішній " "сервер." @@ -1830,8 +1834,6 @@ msgid "Chat Server" msgstr "Сервер чату" #: plinth/modules/ejabberd/forms.py:19 -#, fuzzy -#| msgid "Domain Names" msgid "Domain names" msgstr "Назви доменів" @@ -2084,11 +2086,11 @@ msgstr "" #: plinth/modules/email/templates/email.html:36 msgid "TTL" -msgstr "" +msgstr "TTL" #: plinth/modules/email/templates/email.html:37 msgid "Class" -msgstr "" +msgstr "Клас" #: plinth/modules/email/templates/email.html:39 msgid "Priority" @@ -2185,6 +2187,9 @@ msgid "" "also permitted in the firewall and when you disable a service it is also " "disabled in the firewall." msgstr "" +"Операції фаєрвола автоматичні. Якщо Ви дозволите сервіс, він також буде " +"дозволений у фаєрволі і якщо Ви вимкнете сервіс, він також буде вимкнений у " +"фаєрволі." #: plinth/modules/firewall/templates/firewall.html:102 #: plinth/modules/networks/templates/networks_configuration.html:22 @@ -2223,7 +2228,7 @@ msgstr "Без застосунків Ваш %(box_name)s не зможе баг #: plinth/modules/first_boot/templates/firstboot_complete.html:21 msgid "Install Apps" -msgstr "Установити застосунки" +msgstr "Встановити застосунки" #: plinth/modules/first_boot/templates/firstboot_complete.html:27 #, python-format @@ -2252,14 +2257,21 @@ msgid "" "available graphical clients. And you can share your code with people around " "the world." msgstr "" +"Git — це розподілена система керування версіями для відстежування змін у " +"вихідному коді під час розробки програмного забезпечення. Gitweb надає " +"вебінтерфейс для репозиторіїв Git. Ви можете переглядати історію і вміст " +"вихідного коду, використовувати пошук для пошуку повʼязаних комітів і коду. " +"Ви можете також клонувати репозиторії і відвантажувати зміни коду через " +"термінальний клієнт для Git або через різні доступні графічні клієнти. І Ви " +"можете ділитися своїм кодом із людьми по всьому світу." #: plinth/modules/gitweb/__init__.py:33 msgid "" "To learn more on how to use Git visit Git tutorial." msgstr "" -"Щоб дізнатися більше як користуватися Git відвідайте навчання Git." +"Щоб дізнатися більше про те, як користуватися Git відвідайте навчання Git." #: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" @@ -2540,7 +2552,7 @@ msgid "" "tracker to let our developers know. To report, first check if the issue " "is already reported and then use the \"New issue\" button." msgstr "" -"Якщо Ви знайшли ваду або проблему, використовуйте відстежувач " "помилок, щоб повідомити наших розробників. Перш ніж звітувати, перевірте " "чи хтось вже не звітував про цю проблему, а потім використовуйте кнопку «New " @@ -2640,9 +2652,10 @@ msgid "" "attach this status log to the bug report." msgstr "" "Це останні %(num_lines)s рядків із журналу стану для цього вебінтерфейсу. " -"Якщо Ви бажаєте повідомити про ваду, будь ласка використовуйте сторінку відстеження вад і прикріпіть цей журнал стану до звіту про ваду." +"Якщо Ви бажаєте повідомити про недолік, будь ласка використовуйте сторінку " +"відстеження недоліків і прикріпіть цей журнал стану до звіту про " +"недолік." #: plinth/modules/help/templates/statuslog.html:24 msgid "" @@ -2673,6 +2686,10 @@ msgid "" "anonymity by sending encrypted traffic through a volunteer-run network " "distributed around the world." msgstr "" +"Invisible Internet Project — це анонімний мережевий рівень, призначений для " +"захисту спілкування від цензури та стеження. I2P забезпечує анонімність, " +"надсилаючи зашифрований трафік через волонтерську мережу, розподілену по " +"всьому світу." #: plinth/modules/i2p/__init__.py:26 msgid "" @@ -2896,30 +2913,28 @@ msgstr "" #: plinth/modules/janus/__init__.py:23 msgid "Janus is a lightweight WebRTC server." -msgstr "" +msgstr "Janus — це легкий сервер WebRTC." #: plinth/modules/janus/__init__.py:24 msgid "A simple video conference room is included." -msgstr "" +msgstr "Входить проста кімната для відеоконференцій." #: plinth/modules/janus/__init__.py:26 #, python-brace-format msgid "Coturn is required to use Janus." -msgstr "" +msgstr "Для використання Janus потрібен Coturn." #: plinth/modules/janus/__init__.py:44 msgid "Janus" -msgstr "" +msgstr "Janus" #: plinth/modules/janus/__init__.py:46 -#, fuzzy -#| msgid "Web Server" msgid "WebRTC server" -msgstr "Вебсервер" +msgstr "Сервер WebRTC" #: plinth/modules/janus/manifest.py:7 msgid "Janus Video Room" -msgstr "" +msgstr "Відеокімната Janus" #: plinth/modules/janus/templates/janus_video_room.html:205 #: plinth/modules/jsxc/templates/jsxc_launch.html:117 @@ -2932,7 +2947,7 @@ msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -"JSXC – це вебклієнт для XMPP. Як правило, використовується з запущеним " +"JSXC – це вебклієнт для XMPP. Як правило, використовується зі запущеним " "локальним сервером XMPP." #: plinth/modules/jsxc/__init__.py:44 plinth/modules/jsxc/manifest.py:7 @@ -3222,37 +3237,29 @@ msgid "Administrator Password" msgstr "Пароль адміністратора" #: 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 "" -"Вкажіть новий пароль для обліківки адміністратора (admin) MediaWiki. Залиште " -"поле порожнім, якщо хочете зберегти поточний пароль." +"Вкажіть новий пароль для облікового запису адміністратора (admin) MediaWiki. " +"Пароль не повинен бути поширеним і не повинен бути коротшим за 10 " +"знаків. Залиште поле порожнім, щоб зберегти поточний пароль." #: 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 "" -"Використовується MediaWiki, щоб ґенерувати URL-адреси, які вказують на " -"вікісторінки, наприклад, внизу вебсторінок, у RSS-стрічках чи в ел. листах." +"Використовується в MediaWiki для ґенерування URL-адрес, що вказують на " +"вікісторінки, як-от внизу вебсторінок, у RSS-стрічках або в ел. листах. " +"Наприклад: \"myfreedombox.example.org\" або \"example.onion\"." #: plinth/modules/mediawiki/forms.py:40 -#, fuzzy -#| msgid "Kite name" msgid "Site Name" -msgstr "Назва kite" +msgstr "Назва сайту" #: plinth/modules/mediawiki/forms.py:41 msgid "Name of the site as displayed throughout the wiki." @@ -3299,12 +3306,8 @@ msgid "Password updated" msgstr "Пароль оновлено" #: plinth/modules/mediawiki/views.py:57 -#, fuzzy -#| msgid "Password used to encrypt data. Must match server password." msgid "Password update failed. Please choose a stronger password" -msgstr "" -"Пароль, що використовується для шифрування даних. Має відповідати паролю " -"сервера." +msgstr "Не вдалося оновити пароль. Оберіть сильніший пароль" #: plinth/modules/mediawiki/views.py:67 msgid "Public registrations enabled" @@ -3327,16 +3330,12 @@ msgid "Default skin changed" msgstr "Типову шкурку змінено" #: plinth/modules/mediawiki/views.py:99 -#, fuzzy -#| msgid "Domain name set" msgid "Domain name updated" -msgstr "Доменну назву задано" +msgstr "Доменну назву оновлено" #: plinth/modules/mediawiki/views.py:103 -#, fuzzy -#| msgid "Domain name set" msgid "Site name updated" -msgstr "Доменну назву задано" +msgstr "Назву сайту оновлено" #: plinth/modules/minetest/__init__.py:35 #, python-brace-format @@ -3499,7 +3498,7 @@ msgstr "" #: plinth/modules/mumble/forms.py:40 msgid "Set a password to join the server" -msgstr "" +msgstr "Вкажіть пароль для долучення до сервера" #: plinth/modules/mumble/forms.py:42 msgid "" @@ -3530,10 +3529,8 @@ msgid "SuperUser password successfully updated." msgstr "Пароль суперкористувача успішно оновлено." #: plinth/modules/mumble/views.py:46 -#, fuzzy -#| msgid "Password added." msgid "Join password changed" -msgstr "Пароль додано." +msgstr "Долучення пароля змінено" #: plinth/modules/mumble/views.py:51 msgid "Root channel name changed." @@ -3591,7 +3588,7 @@ msgstr "Мережі" #: plinth/modules/networks/__init__.py:180 #, python-brace-format msgid "Using DNSSEC on IPv{kind}" -msgstr "" +msgstr "Використання DNSSEC на IPv{kind}" #: plinth/modules/networks/forms.py:16 msgid "Connection Type" @@ -3864,6 +3861,13 @@ 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-адресу, яка час від часу змінюватися

        Це означає, що пристрої в Інтернеті можуть звʼязуватися з Вами, коли Ви " +"підключені до Інтернету. Кожного разу, коли Ви підʼєднуєтеся до Інтернету, " +"Ваш постачальник Інтернет-послуг (ISP) може надавати Вам іншу IP-адресу, " +"особливо після тривалого часу без мережі. Багато постачальників пропонують " +"цей тип зʼєднання. Якщо у Вас є публічна IP-адреса, але Ви не впевнені чи " +"змінюється вона час від часу, то буде безпечніше обрати цей пункт.

        " #: plinth/modules/networks/forms.py:368 #, python-brace-format @@ -3876,6 +3880,13 @@ msgid "" "but very few ISPs offer this. You may be able to get this service from your " "ISP by making an additional payment.

        " msgstr "" +"Я маю публічну IP-адресу, яка не змінюється час від часу (рекомендовано)

        Це означає, що пристрої в Інтернеті можуть звʼязуватися " +"з Вами, коли Ви підключені до Інтернету. Кожного разу, коли Ви підключаєтеся " +"до Інтернету через свого постачальника Інтернет-послуг, Ви отримуєте одну і " +"ту саму IP-адресу. Це найбільш безпроблемне налаштування для багатьох " +"сервісів {box_name}, але дуже мало постачальників пропонують це. Ви можете " +"отримати цю послугу від свого постачальника за додаткову оплату.

        " #: plinth/modules/networks/forms.py:381 #, python-brace-format @@ -3888,6 +3899,14 @@ msgid "" "troublesome situation for hosting services at home. {box_name} provides many " "workaround solutions but each solution has some limitations.

        " msgstr "" +"У мене нема публічної IP-адреси

        Це означає, що " +"пристрої в Інтернеті не можуть звʼязуватися з Вами, коли ви " +"підʼєднані до Інтернету. Кожного разу, коли Ви підʼєднуєтеся до Інтернету " +"через свого постачальника Інтернет-послуг (ISP), Ви отримуєте IP-адресу " +"актуальну лише для локальних мереж. Багато постачальників пропонують цей тип " +"зʼєднання. Це найбільш клопітка ситуація для розміщення сервісів у дома. " +"{box_name} надає багато обхідних рішень, але кожне рішення має певні " +"обмеження.

        " #: plinth/modules/networks/forms.py:394 msgid "" @@ -3911,11 +3930,11 @@ msgid "" "static local IP address for your {box_name} in your router's configuration." msgstr "" -"Використовується ДМЗ для перенаправлення всього трафіку (рекомендовано)

        Більшість маршрутизаторів забезпечують налаштування, що " -"називається ДМЗ. Це дозволяє маршрутизатору перенаправляти весь трафік з " -"Інтернету на одну IP-адресу, як-от IP-адресу {box_name}, наприклад. Спочатку " -"не забудьте налаштувати статичну локальну IP-адресу для Вашого {box_name} у " +"називається DMZ. Це дозволяє маршрутизатору перенаправляти весь трафік з " +"Інтернету на одну IP-адресу, як-от IP-адресу {box_name}. Спочатку не " +"забудьте налаштувати статичну локальну IP-адресу для Вашого {box_name} у " "налаштуваннях Вашого маршрутизатора.

        " #: plinth/modules/networks/forms.py:428 @@ -3929,6 +3948,13 @@ msgid "" "443 to work. Each of the other applications will suggest which port(s) need " "to be forwarded for that application to work.

        " msgstr "" +"Перенаправляти певний трафік за потреби до окремої програми

        Ви також можете обрати перенаправлення лише особливого трафіку на " +"Ваш {box_name}. Це ідеально, якщо у Вашій мережі є інші сервери на кшталт " +"{box_name} або Ваш маршрутизатор не підтримує DMZ. Для всіх програм, що " +"надають вебінтерфейс, потрібно перенаправляли трафік із портів 80 і 443. " +"Кожна інша програма запропонує, які порти потрібно перенаправити, щоб ця " +"програма працювала.

        " #: plinth/modules/networks/forms.py:442 msgid "" @@ -3936,10 +3962,9 @@ msgid "" "have not configured or are unable to configure the router currently and wish " "to be reminded later. Some of the other configuration steps may fail.

        " msgstr "" -"Маршрутизатор поки що не налаштовано

        Оберіть цей " -"пункт, якщо маршрутизатор поки що не налаштовано або неможливо налаштувати, " -"і нагадати про це пізніше. Деякі наступні кроки налаштування можуть бути " -"невдалими.

        " +"Маршрутизатор ще не налаштовано

        Оберіть цей пункт, " +"якщо маршрутизатор ще не налаштовано або неможливо налаштувати, та нагадати " +"про це пізніше. Деякі наступні кроки налаштування можуть бути невдалими.

        " #: plinth/modules/networks/templates/connection_show.html:24 #, python-format @@ -4296,9 +4321,9 @@ msgid "" "your network. This information is used to guide you with further setup. It " "can be changed later." msgstr "" -"Оберіть пункт, який найкраще описує зʼєднання Вашого %(box_name)s із " +"Оберіть пункт, який найкраще описує підʼєднання Вашого %(box_name)s із " "мережею. Ця інформація використовується лише для подальших вказівок " -"установлення. Її можна змінити пізніше." +"встановлення. Її можна змінити пізніше." #: plinth/modules/networks/templates/network_topology_main.html:9 #, python-format @@ -5003,8 +5028,8 @@ msgid "" "Are you sure you want to shut down? You will not be able to access this web " "interface after shut down." msgstr "" -"Ви дійсно хочете вимкнути систему? Ви не матимете доступу до вебінтерфейсу " -"після вимкнення." +"Ви дійсно хочете вимкнути систему? Після вимкнення Ви не матимете доступу до " +"вебінтерфейсу." #: plinth/modules/power/templates/power_shutdown.html:33 msgid "" @@ -5625,7 +5650,7 @@ msgstr "" #: plinth/modules/shadowsocks/__init__.py:53 msgid "Socks5 Proxy" -msgstr "" +msgstr "Проксі Socks5" #: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 @@ -5720,7 +5745,7 @@ msgstr "Додати ділянку" #: plinth/modules/sharing/templates/sharing.html:27 msgid "No shares currently configured." -msgstr "Поки що нема налаштованих спільних ділянок." +msgstr "Ще нема налаштованих спільних ділянок." #: plinth/modules/sharing/templates/sharing.html:34 msgid "Disk Path" @@ -6012,6 +6037,9 @@ msgid "" "setup SSH keys in your administrator user account before enabling this " "option." msgstr "" +"Поліпшує безпеку, запобігаючи вгадуванню пароля. Перш ніж увімкнути цю " +"опцію, переконайтеся, що у Вашому обліковому записі адміністратора " +"налаштовано ключі SSH." #: plinth/modules/ssh/templates/ssh.html:11 msgid "Server Fingerprints" @@ -6022,6 +6050,8 @@ msgid "" "When connecting to the server, ensure that the fingerprint shown by the SSH " "client matches one of these fingerprints." msgstr "" +"Під час зʼєднання зі сервером, переконайтеся, що показаний SSH-клієнтом " +"відбиток відповідає одному з цих відбитків." #: plinth/modules/ssh/templates/ssh.html:24 msgid "Algorithm" @@ -6495,18 +6525,17 @@ msgid "" "Compared to Deluge, Transmission is simpler and " "lightweight but is less customizable." msgstr "" +"Порівняно з Deluge, Transmission простіший і " +"легший, але менш налаштовуваний." #: plinth/modules/transmission/__init__.py:32 -#, fuzzy, python-brace-format -#| msgid "" -#| "It can be accessed by any user on {box_name} " -#| "belonging to the admin group." +#, python-brace-format msgid "" "It can be accessed by any user on {box_name} " "belonging to the bit-torrent group." msgstr "" "До нього може мати доступ будь-який користувач " -"на {box_name}, що належить до групи admin." +"на {box_name}, що належить до групи bit-torrent." #: plinth/modules/transmission/__init__.py:36 #, python-brace-format @@ -6538,16 +6567,13 @@ msgstr "" "максимально близьким до стільничної програми, на скільки це можливо." #: plinth/modules/ttrss/__init__.py:27 -#, fuzzy, python-brace-format -#| msgid "" -#| "When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." +#, python-brace-format msgid "" "When enabled, Tiny Tiny RSS can be accessed by any " "user belonging to the feed-reader group." msgstr "" -"Коли дозволено, Tiny Tiny RSS може бути доступним для будь-якого користувача, що може входити у {box_name}." +"Коли дозволено, Tiny Tiny RSS може бути доступним для будь-якого користувача, що належить до групи feed-reader." #: plinth/modules/ttrss/__init__.py:32 msgid "" @@ -6567,7 +6593,7 @@ msgstr "Tiny Tiny RSS" #: plinth/modules/ttrss/__init__.py:54 msgid "News Feed Reader" -msgstr "Читачка новинних стрічок" +msgstr "Читання новинних стрічок" #: plinth/modules/ttrss/manifest.py:9 msgid "Tiny Tiny RSS (Fork)" @@ -6824,7 +6850,7 @@ msgstr "Доступ до всіх сервісів і налаштувань с #: plinth/modules/users/__init__.py:113 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" -msgstr "" +msgstr "Перевірка запису LDAP \"{search_item}\"" #: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." @@ -7432,6 +7458,15 @@ msgid "" "location using search, map and calendar views. Individual photos can be " "shared with others by sending a direct link." msgstr "" +"Zoph керує Вашою колекцією світлин. Світлини зберігаються на Вашому " +"{box_name}, під Вашим контролем. Замість фокусування на публічних галереях, " +"Zoph фокусується на керуванні для власного використання, організовуючи їх за " +"тим, хто їх зробив, місцем, де вони були зроблені та тим, хто на них " +"знаходиться. Світлини можна звʼязувати у кілька ієрархічних альбомів і " +"категорій. Легко знаходити світлини, на яких є особа, або світлини за датою, " +"або світлини зроблені в певному місці за допомогою пошуку, карти і " +"календарного перегляду. Окремими світлинами можна ділитися з іншими, " +"надіславши пряме посилання." #: plinth/modules/zoph/__init__.py:37 #, python-brace-format @@ -7440,6 +7475,9 @@ msgid "" "Zoph. For additional users, accounts must be created both in {box_name} and " "in Zoph with the same user name." msgstr "" +"Користувач {box_name}, що встановив Zoph, також стане адміністратором Zoph. " +"Для додаткових користувачів потрібно створити облікові записи і в {box_name}" +", і в Zoph з тим же іменем користувача." #: plinth/modules/zoph/__init__.py:58 plinth/modules/zoph/manifest.py:6 msgid "Zoph" @@ -7447,7 +7485,7 @@ msgstr "Zoph" #: plinth/modules/zoph/__init__.py:59 msgid "Photo Organizer" -msgstr "Організатор світлин" +msgstr "Упорядник світлин" #: plinth/modules/zoph/forms.py:14 msgid "Enable OpenStreetMap for maps" @@ -7489,15 +7527,15 @@ msgstr "" #: plinth/package.py:201 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" -msgstr "" +msgstr "Пакунок {package_name} має останню версію ({latest_version})" #: plinth/package.py:355 msgid "Error during installation" -msgstr "Помилка під час установлення" +msgstr "Помилка під час встановлення" #: plinth/package.py:377 msgid "installing" -msgstr "установлення" +msgstr "встановлення" #: plinth/package.py:379 msgid "downloading" @@ -7536,9 +7574,9 @@ msgid "" "FreedomBox Service (Plinth) project issue tracker." msgstr "" -"Якщо Ви вірите, що ця сторінка має існувати, будь ласка, надішліть ваду у відстежувач помилок проєкту служби FreedomBox (Plinth)." +"Якщо Ви вірите, що ця сторінка повинна існувати, будь ласка, надішліть " +"недолік у відстежувач помилок проєкту служби FreedomBox (Plinth)." #: plinth/templates/500.html:10 msgid "500" @@ -7554,13 +7592,13 @@ msgid "" msgstr "" "Це внутрішня помилка і не те, що Ви спричинили чи можете виправити. Будь " "ласка, повідомте про помилку на сторінці відстеження вад, щоб ми могли " -"виправити її. Також, будь ласка, прикріпіть до звіту про ваду журнал стану." +"freedombox-team/freedombox/issues\">відстеження недоліків, щоб ми могли " +"виправити її. Також, будь ласка, прикріпіть до звіту про недолік журнал стану." #: plinth/templates/app-header.html:22 msgid "Installation" -msgstr "Установлення" +msgstr "Встановлення" #: plinth/templates/app.html:29 #, python-format @@ -7811,10 +7849,8 @@ msgstr "" "%(service_name)s:" #: plinth/templates/port-forwarding-info.html:37 -#, fuzzy -#| msgid "Service Type" msgid "Service Name" -msgstr "Тип сервісу" +msgstr "Назва сервісу" #: plinth/templates/port-forwarding-info.html:38 msgid "Protocol" @@ -7831,7 +7867,7 @@ msgstr "До портів %(box_name)s" #: plinth/templates/setup.html:24 msgid "Install this application?" -msgstr "Установити цей застосунок?" +msgstr "Встановити цей застосунок?" #: plinth/templates/setup.html:28 msgid "This application needs an update. Update now?" @@ -7865,7 +7901,7 @@ msgstr "" #: plinth/templates/setup.html:71 msgid "Install" -msgstr "Установити" +msgstr "Встановити" #: plinth/templates/setup.html:73 msgid "Update" @@ -7882,7 +7918,7 @@ msgstr "Виконання післяінсталяційних операцій #: plinth/templates/setup.html:94 #, python-format msgid "Installing %(package_names)s: %(status)s" -msgstr "Установлюється %(package_names)s: %(status)s" +msgstr "Встановлюється %(package_names)s: %(status)s" #: plinth/templates/setup.html:104 #, python-format From e7f432f914f8e1b44ba4455321b277f8a54a4bcb Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Mon, 4 Jul 2022 21:23:21 -0400 Subject: [PATCH 24/26] locale: Update translation strings Signed-off-by: James Valleroy --- plinth/locale/ar/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/ar_SA/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/bg/LC_MESSAGES/django.po | 46 +++++++------- plinth/locale/bn/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/cs/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/da/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/de/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/django.pot | 42 ++++++------- plinth/locale/el/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/es/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/fa/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/fake/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/fr/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/gl/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/gu/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/hi/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/hu/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/id/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/it/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/ja/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/kn/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/lt/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/lv/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/nb/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/nl/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/pl/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/pt/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/ru/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/si/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/sl/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/sq/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/sr/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/sv/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/ta/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/te/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/tr/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/uk/LC_MESSAGES/django.po | 66 ++++++++++----------- plinth/locale/vi/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/zh_Hans/LC_MESSAGES/django.po | 42 ++++++------- plinth/locale/zh_Hant/LC_MESSAGES/django.po | 42 ++++++------- 40 files changed, 854 insertions(+), 854 deletions(-) diff --git a/plinth/locale/ar/LC_MESSAGES/django.po b/plinth/locale/ar/LC_MESSAGES/django.po index 63d395214..25b3463aa 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-03-31 09:12+0000\n" "Last-Translator: abidin toumi \n" "Language-Team: Arabic Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3226,7 +3226,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5606,7 +5606,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/ar_SA/LC_MESSAGES/django.po b/plinth/locale/ar_SA/LC_MESSAGES/django.po index fdbf5de18..09baf5844 100644 --- a/plinth/locale/ar_SA/LC_MESSAGES/django.po +++ b/plinth/locale/ar_SA/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2020-06-10 15:41+0000\n" "Last-Translator: aiman an \n" "Language-Team: Arabic (Saudi Arabia) Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3230,7 +3230,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5610,7 +5610,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po index 5dcc2ab66..e6733be74 100644 --- a/plinth/locale/bg/LC_MESSAGES/django.po +++ b/plinth/locale/bg/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-06-29 21:17+0000\n" "Last-Translator: 109247019824 \n" "Language-Team: Bulgarian Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3326,7 +3326,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Паролата на суперпотребителя е обновена." @@ -5727,7 +5727,7 @@ msgstr "" msgid "Login" msgstr "Вход" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" @@ -6704,8 +6704,8 @@ msgid "" "Use the change password form to " "change the password." msgstr "" -"За да промените паролата, използвайте формуляра за промяна на парола." +"За да промените паролата, използвайте формуляра за промяна на парола." #: plinth/modules/users/templates/users_update.html:31 #: plinth/templates/language-selection.html:17 diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po index 6cc44aed6..606af2aab 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-06-16 07:33+0000\n" "Last-Translator: Oymate \n" "Language-Team: Bengali Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3240,7 +3240,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5622,7 +5622,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po index 66d53e22d..8a7287064 100644 --- a/plinth/locale/cs/LC_MESSAGES/django.po +++ b/plinth/locale/cs/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-06-25 00:20+0000\n" "Last-Translator: Jiří Podhorecký \n" "Language-Team: Czech Clients to connect to Mumble from your " @@ -3621,11 +3621,11 @@ msgstr "" "dispozici jsou Klienti pro připojení k " "Mumble z vašeho počítače a mobilních zařízení." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Hlasový chat" @@ -3673,7 +3673,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Heslo SuperUser bylo úspěšně aktualizováno." @@ -6426,7 +6426,7 @@ msgstr "Sdružené přihlášení (SSO)" msgid "Login" msgstr "Přihlášení" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Odhlášení proběhlo úspěšně." diff --git a/plinth/locale/da/LC_MESSAGES/django.po b/plinth/locale/da/LC_MESSAGES/django.po index 8735e1f8e..6641906b2 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-05-10 02:10+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Danish Klienter til computere og Android-enheder " "er tilgængelige." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 #, fuzzy #| msgid "Voice Chat (Mumble)" msgid "Voice Chat" @@ -3726,7 +3726,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 #, fuzzy #| msgid "Password changed successfully." msgid "SuperUser password successfully updated." @@ -6481,7 +6481,7 @@ msgstr "" msgid "Login" msgstr "Log ind" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 #, fuzzy #| msgid "Password changed successfully." msgid "Logged out successfully." diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po index bb88a8b23..8ec12407b 100644 --- a/plinth/locale/de/LC_MESSAGES/django.po +++ b/plinth/locale/de/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-06-22 17:14+0000\n" "Last-Translator: ikmaak \n" "Language-Team: German Clients to connect to Mumble from your " @@ -3697,11 +3697,11 @@ msgstr "" "verbinden. Auf Mumble finden Sie " "Anwendungen, um sich vom Desktop oder Mobil-Gerät mit Mumble zu verbinden." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Sprachkonferenz" @@ -3750,7 +3750,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "SuperUser-Kennwort wurde erfolgreich aktualisiert." @@ -6546,7 +6546,7 @@ msgstr "Einmal-Anmeldung" msgid "Login" msgstr "Anmelden" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Erfolgreich abgemeldet." diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot index a31cb1b07..7ebf41392 100644 --- a/plinth/locale/django.pot +++ b/plinth/locale/django.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -395,11 +395,11 @@ msgstr "" msgid "Repository path is neither empty nor is an existing backups repository." msgstr "" -#: plinth/modules/backups/repository.py:143 +#: plinth/modules/backups/repository.py:147 msgid "Existing repository is not encrypted." msgstr "" -#: plinth/modules/backups/repository.py:327 +#: plinth/modules/backups/repository.py:331 #, python-brace-format msgid "{box_name} storage" msgstr "" @@ -936,7 +936,7 @@ msgstr "" #: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:78 #: plinth/modules/ejabberd/views.py:96 plinth/modules/email/views.py:45 #: plinth/modules/matrixsynapse/views.py:124 -#: plinth/modules/minetest/views.py:69 plinth/modules/mumble/views.py:29 +#: plinth/modules/minetest/views.py:69 plinth/modules/mumble/views.py:35 #: plinth/modules/pagekite/forms.py:78 plinth/modules/quassel/views.py:28 #: plinth/modules/roundcube/views.py:32 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:43 plinth/modules/ttrss/views.py:26 @@ -1295,12 +1295,12 @@ msgstr "" msgid "-- no time zone set --" msgstr "" -#: plinth/modules/datetime/views.py:45 +#: plinth/modules/datetime/views.py:49 #, python-brace-format msgid "Error setting time zone: {exception}" msgstr "" -#: plinth/modules/datetime/views.py:48 +#: plinth/modules/datetime/views.py:52 msgid "Time zone set" msgstr "" @@ -1328,7 +1328,7 @@ msgstr "" msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 msgid "Download directory" msgstr "" @@ -2971,39 +2971,39 @@ msgid "" "\"." msgstr "" -#: plinth/modules/mediawiki/forms.py:40 +#: plinth/modules/mediawiki/forms.py:41 msgid "Site Name" msgstr "" -#: plinth/modules/mediawiki/forms.py:41 +#: plinth/modules/mediawiki/forms.py:42 msgid "Name of the site as displayed throughout the wiki." msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:46 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:46 +#: plinth/modules/mediawiki/forms.py:47 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:50 +#: plinth/modules/mediawiki/forms.py:51 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:51 +#: plinth/modules/mediawiki/forms.py:52 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:56 +#: plinth/modules/mediawiki/forms.py:57 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:57 +#: plinth/modules/mediawiki/forms.py:58 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -3162,24 +3162,24 @@ msgstr "" msgid "Updated media directory" msgstr "" -#: plinth/modules/mumble/__init__.py:26 +#: plinth/modules/mumble/__init__.py:25 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:28 +#: plinth/modules/mumble/__init__.py:27 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3221,7 +3221,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5601,7 +5601,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po index c41c1ed56..f72cf38df 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-04-21 09:08+0000\n" "Last-Translator: Giannis \n" "Language-Team: Greek Πελάτες για να συνδεθείτε με το Mumble από " "τον υπολογιστή και τις συσκευές Android είναι διαθέσιμες." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Φωνητική συνομιλία" @@ -3840,7 +3840,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Ο κωδικός πρόσβασης SuperUser Ενημερώθηκε με επιτυχία." @@ -6647,7 +6647,7 @@ msgstr "Ενιαία είσοδος" msgid "Login" msgstr "Σύνδεση" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 #, fuzzy #| msgid "Password changed successfully." msgid "Logged out successfully." diff --git a/plinth/locale/es/LC_MESSAGES/django.po b/plinth/locale/es/LC_MESSAGES/django.po index 3791f11f9..7e2c6a021 100644 --- a/plinth/locale/es/LC_MESSAGES/django.po +++ b/plinth/locale/es/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-03-10 22:59+0000\n" "Last-Translator: Nathaniel Ramos Alexander \n" "Language-Team: Spanish Clientes para conectar desde " "sus dispositivos de escritorio o Android." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Chat de voz" @@ -3752,7 +3752,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Clave de administración cambiada con éxito." @@ -6514,7 +6514,7 @@ msgstr "Inicio de sesión único" msgid "Login" msgstr "Inicio de sesión" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 #, fuzzy #| msgid "Password changed successfully." msgid "Logged out successfully." diff --git a/plinth/locale/fa/LC_MESSAGES/django.po b/plinth/locale/fa/LC_MESSAGES/django.po index df25de78a..2e6e569c6 100644 --- a/plinth/locale/fa/LC_MESSAGES/django.po +++ b/plinth/locale/fa/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-09-07 11:34+0000\n" "Last-Translator: Seyed mohammad ali Hosseinifard \n" "Language-Team: Persian نرم‌افزارهایی برای اتصال به سرور مامبل برای " "کامپیوتر رومیزی و دستگاه‌های اندروید در دسترس است." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 #, fuzzy #| msgid "Voice Chat (Mumble)" msgid "Voice Chat" @@ -3646,7 +3646,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -6223,7 +6223,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 #, fuzzy #| msgid "Partition expanded successfully." msgid "Logged out successfully." diff --git a/plinth/locale/fake/LC_MESSAGES/django.po b/plinth/locale/fake/LC_MESSAGES/django.po index afc7760bf..a38d4160f 100644 --- a/plinth/locale/fake/LC_MESSAGES/django.po +++ b/plinth/locale/fake/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Plinth 0.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2016-01-31 22:24+0530\n" "Last-Translator: Sunil Mohan Adapa \n" "Language-Team: Plinth Developers CLIENTS TO CONNECT TO MUMBLE FROM YOUR " "DESKTOP AND ANDROID DEVICES ARE AVAILABLE." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 #, fuzzy #| msgid "Voice Chat (Mumble)" msgid "Voice Chat" @@ -3787,7 +3787,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 #, fuzzy #| msgid "Password changed successfully." msgid "SuperUser password successfully updated." @@ -6563,7 +6563,7 @@ msgstr "" msgid "Login" msgstr "LOGIN" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 #, fuzzy #| msgid "Password changed successfully." msgid "Logged out successfully." diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po index f525e916b..e0c7ee411 100644 --- a/plinth/locale/fr/LC_MESSAGES/django.po +++ b/plinth/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-06-17 19:15+0000\n" "Last-Translator: Coucouf \n" "Language-Team: French Clients to connect to Mumble from your " @@ -3719,11 +3719,11 @@ msgstr "" "64738. Utilisez l’un des clients Mumble " "pour vous connecter depuis votre ordinateur ou un appareil mobile." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Tchat vocal" @@ -3774,7 +3774,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Le mot de passe du super utilisateur a été mis à jour." @@ -6592,7 +6592,7 @@ msgstr "Authentification unique" msgid "Login" msgstr "S’identifier" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Déconnecté avec succès." diff --git a/plinth/locale/gl/LC_MESSAGES/django.po b/plinth/locale/gl/LC_MESSAGES/django.po index c6b85f532..15d52bdb6 100644 --- a/plinth/locale/gl/LC_MESSAGES/django.po +++ b/plinth/locale/gl/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-01-18 12:32+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Galician Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5625,7 +5625,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/gu/LC_MESSAGES/django.po b/plinth/locale/gu/LC_MESSAGES/django.po index 8f9920150..ba47563a2 100644 --- a/plinth/locale/gu/LC_MESSAGES/django.po +++ b/plinth/locale/gu/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-01-18 12:32+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Gujarati Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3467,7 +3467,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5888,7 +5888,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po index f8dfb791f..b33b526d4 100644 --- a/plinth/locale/hi/LC_MESSAGES/django.po +++ b/plinth/locale/hi/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-01-18 12:32+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Hindi Clients अापके डेस्कटॉप और एंड्रॉयड डिवाइस से ममबल से कनेक्ट होने के " "लिए उपलब्ध हैं." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "ममबल" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "वॉयस चैट" @@ -3728,7 +3728,7 @@ msgstr "ममबलफ्लाई" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 #, fuzzy #| msgid "Password changed successfully." msgid "SuperUser password successfully updated." @@ -6455,7 +6455,7 @@ msgstr "एकल साइन-ऑन" msgid "Login" msgstr "लॉगिन" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 #, fuzzy #| msgid "Password changed successfully." msgid "Logged out successfully." diff --git a/plinth/locale/hu/LC_MESSAGES/django.po b/plinth/locale/hu/LC_MESSAGES/django.po index ecc291ab0..45bca884a 100644 --- a/plinth/locale/hu/LC_MESSAGES/django.po +++ b/plinth/locale/hu/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-05-10 02:10+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Hungarian Clients to connect to Mumble from your " @@ -3677,11 +3677,11 @@ msgstr "" "kapcsolódhatsz. A Mumble-kliensek " "elérhetők az asztali és mobil eszközökhöz." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Audiókonferencia" @@ -3731,7 +3731,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "A SuperUser jelszava sikeresen frissítve." @@ -6513,7 +6513,7 @@ msgstr "Egyszeri bejelentkezés" msgid "Login" msgstr "Bejelentkezés" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Sikeres kijelentkezés." diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po index e175923b4..3c9032a4f 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-06-24 00:42+0000\n" "Last-Translator: Reza Almanda \n" "Language-Team: Indonesian Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Pesan Suara" @@ -3643,7 +3643,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -6059,7 +6059,7 @@ msgstr "" msgid "Login" msgstr "Masuk" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po index 9b297a489..67e7f9f40 100644 --- a/plinth/locale/it/LC_MESSAGES/django.po +++ b/plinth/locale/it/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-01-06 22:41+0000\n" "Last-Translator: Dietmar \n" "Language-Team: Italian Sono disponibili dei client da " "connettere a Mumble dai tuoi dispositivi desktop e android." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Voice Chat" @@ -3681,7 +3681,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -6182,7 +6182,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/ja/LC_MESSAGES/django.po b/plinth/locale/ja/LC_MESSAGES/django.po index cd199f189..4534c4def 100644 --- a/plinth/locale/ja/LC_MESSAGES/django.po +++ b/plinth/locale/ja/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-05-20 12:32+0000\n" "Last-Translator: Jacque Fresco \n" "Language-Team: Japanese Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3223,7 +3223,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5603,7 +5603,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/kn/LC_MESSAGES/django.po b/plinth/locale/kn/LC_MESSAGES/django.po index b1863aeb3..ea6100156 100644 --- a/plinth/locale/kn/LC_MESSAGES/django.po +++ b/plinth/locale/kn/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2020-07-16 16:41+0000\n" "Last-Translator: Yogesh \n" "Language-Team: Kannada Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3223,7 +3223,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5605,7 +5605,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/lt/LC_MESSAGES/django.po b/plinth/locale/lt/LC_MESSAGES/django.po index d369bcc1f..b085c2ad5 100644 --- a/plinth/locale/lt/LC_MESSAGES/django.po +++ b/plinth/locale/lt/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-02-22 10:50+0000\n" "Last-Translator: Kornelijus Tvarijanavičius \n" "Language-Team: Lithuanian Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3224,7 +3224,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5604,7 +5604,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/lv/LC_MESSAGES/django.po b/plinth/locale/lv/LC_MESSAGES/django.po index ee0b4cd9f..1763bc15a 100644 --- a/plinth/locale/lv/LC_MESSAGES/django.po +++ b/plinth/locale/lv/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -394,11 +394,11 @@ msgstr "" msgid "Repository path is neither empty nor is an existing backups repository." msgstr "" -#: plinth/modules/backups/repository.py:143 +#: plinth/modules/backups/repository.py:147 msgid "Existing repository is not encrypted." msgstr "" -#: plinth/modules/backups/repository.py:327 +#: plinth/modules/backups/repository.py:331 #, python-brace-format msgid "{box_name} storage" msgstr "" @@ -935,7 +935,7 @@ msgstr "" #: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:78 #: plinth/modules/ejabberd/views.py:96 plinth/modules/email/views.py:45 #: plinth/modules/matrixsynapse/views.py:124 -#: plinth/modules/minetest/views.py:69 plinth/modules/mumble/views.py:29 +#: plinth/modules/minetest/views.py:69 plinth/modules/mumble/views.py:35 #: plinth/modules/pagekite/forms.py:78 plinth/modules/quassel/views.py:28 #: plinth/modules/roundcube/views.py:32 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:43 plinth/modules/ttrss/views.py:26 @@ -1294,12 +1294,12 @@ msgstr "" msgid "-- no time zone set --" msgstr "" -#: plinth/modules/datetime/views.py:45 +#: plinth/modules/datetime/views.py:49 #, python-brace-format msgid "Error setting time zone: {exception}" msgstr "" -#: plinth/modules/datetime/views.py:48 +#: plinth/modules/datetime/views.py:52 msgid "Time zone set" msgstr "" @@ -1327,7 +1327,7 @@ msgstr "" msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 msgid "Download directory" msgstr "" @@ -2970,39 +2970,39 @@ msgid "" "\"." msgstr "" -#: plinth/modules/mediawiki/forms.py:40 +#: plinth/modules/mediawiki/forms.py:41 msgid "Site Name" msgstr "" -#: plinth/modules/mediawiki/forms.py:41 +#: plinth/modules/mediawiki/forms.py:42 msgid "Name of the site as displayed throughout the wiki." msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:46 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:46 +#: plinth/modules/mediawiki/forms.py:47 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:50 +#: plinth/modules/mediawiki/forms.py:51 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:51 +#: plinth/modules/mediawiki/forms.py:52 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:56 +#: plinth/modules/mediawiki/forms.py:57 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:57 +#: plinth/modules/mediawiki/forms.py:58 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -3161,24 +3161,24 @@ msgstr "" msgid "Updated media directory" msgstr "" -#: plinth/modules/mumble/__init__.py:26 +#: plinth/modules/mumble/__init__.py:25 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:28 +#: plinth/modules/mumble/__init__.py:27 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3220,7 +3220,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/nb/LC_MESSAGES/django.po b/plinth/locale/nb/LC_MESSAGES/django.po index 35684cdb2..8923da944 100644 --- a/plinth/locale/nb/LC_MESSAGES/django.po +++ b/plinth/locale/nb/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-05-16 14:14+0000\n" "Last-Translator: Petter Reinholdtsen \n" "Language-Team: Norwegian Bokmål Klienter for å koble til Mumble når skrivebordet " "og/eller Android-enheter er tilgjengelige." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Talenettprat" @@ -3760,7 +3760,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 #, fuzzy #| msgid "Password changed successfully." msgid "SuperUser password successfully updated." @@ -6523,7 +6523,7 @@ msgstr "Engangspålogging" msgid "Login" msgstr "Login" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 #, fuzzy #| msgid "Password changed successfully." msgid "Logged out successfully." diff --git a/plinth/locale/nl/LC_MESSAGES/django.po b/plinth/locale/nl/LC_MESSAGES/django.po index 593cdaa7f..68ed02990 100644 --- a/plinth/locale/nl/LC_MESSAGES/django.po +++ b/plinth/locale/nl/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-06-22 17:14+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Dutch Clients to connect to Mumble from your " @@ -3662,11 +3662,11 @@ msgstr "" "programma's waarmee de Mumble dienst gebruikt kan worden. Er zijn " "programma's voor zowel desktop en mobiele apparaten." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Voice Chat" @@ -3714,7 +3714,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Wachtwoord van de SuperGebruiker succesvol gewijzigd." @@ -6478,7 +6478,7 @@ msgstr "Eenmalige aanmelding" msgid "Login" msgstr "Aanmelding" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Succesvol uitgelogd." diff --git a/plinth/locale/pl/LC_MESSAGES/django.po b/plinth/locale/pl/LC_MESSAGES/django.po index b4daf7694..a979b7045 100644 --- a/plinth/locale/pl/LC_MESSAGES/django.po +++ b/plinth/locale/pl/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-05-10 02:10+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Polish Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3566,7 +3566,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -6033,7 +6033,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 #, fuzzy #| msgid "Partition expanded successfully." msgid "Logged out successfully." diff --git a/plinth/locale/pt/LC_MESSAGES/django.po b/plinth/locale/pt/LC_MESSAGES/django.po index 5098c815e..fc5f27f66 100644 --- a/plinth/locale/pt/LC_MESSAGES/django.po +++ b/plinth/locale/pt/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-05-08 22:33+0000\n" "Last-Translator: ssantos \n" "Language-Team: Portuguese Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3429,7 +3429,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5878,7 +5878,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po index 1a1781f9a..752025023 100644 --- a/plinth/locale/ru/LC_MESSAGES/django.po +++ b/plinth/locale/ru/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-06-29 21:17+0000\n" "Last-Translator: Nikita Epifanov \n" "Language-Team: Russian Clients to connect to Mumble from your " @@ -3651,11 +3651,11 @@ msgstr "" "href=\"http://mumble.info\">Клиенты для подключения к Mumble с " "настольных и мобильных устройств так же доступны." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Голосовой чат" @@ -3707,7 +3707,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Пароль суперпользователя успешно обновлён." @@ -6461,7 +6461,7 @@ msgstr "Единый вход" msgid "Login" msgstr "Логин" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Выход выполнен успешно." diff --git a/plinth/locale/si/LC_MESSAGES/django.po b/plinth/locale/si/LC_MESSAGES/django.po index 56e432909..daaa33cdf 100644 --- a/plinth/locale/si/LC_MESSAGES/django.po +++ b/plinth/locale/si/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-04-27 13:32+0000\n" "Last-Translator: HelaBasa \n" "Language-Team: Sinhala Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3223,7 +3223,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5603,7 +5603,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/sl/LC_MESSAGES/django.po b/plinth/locale/sl/LC_MESSAGES/django.po index 34764e305..75f0ae355 100644 --- a/plinth/locale/sl/LC_MESSAGES/django.po +++ b/plinth/locale/sl/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-01-18 12:32+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Slovenian Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3427,7 +3427,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5835,7 +5835,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/sq/LC_MESSAGES/django.po b/plinth/locale/sq/LC_MESSAGES/django.po index cccf4f11d..3ffe3e6f7 100644 --- a/plinth/locale/sq/LC_MESSAGES/django.po +++ b/plinth/locale/sq/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-02-06 23:23+0000\n" "Last-Translator: Besnik Bleta \n" "Language-Team: Albanian Clients to connect to Mumble from your " @@ -3692,11 +3692,11 @@ msgstr "" "64738. Ka klientë klientë të gatshëm për " "t’u lidhur me Mumble-in që nga desktopi apo pajisjet tuaja celulare." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Fjalosje Me Zë" @@ -3741,7 +3741,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Fjalëkalimi i superpërdoruesit u përditësua me sukses." @@ -6512,7 +6512,7 @@ msgstr "Hyrje Njëshe" msgid "Login" msgstr "Hyrje" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "U dol me sukses." diff --git a/plinth/locale/sr/LC_MESSAGES/django.po b/plinth/locale/sr/LC_MESSAGES/django.po index 6c25531f6..67cab624b 100644 --- a/plinth/locale/sr/LC_MESSAGES/django.po +++ b/plinth/locale/sr/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-01-18 12:32+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Serbian Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3324,7 +3324,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5720,7 +5720,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/sv/LC_MESSAGES/django.po b/plinth/locale/sv/LC_MESSAGES/django.po index 26c253598..86736d1b5 100644 --- a/plinth/locale/sv/LC_MESSAGES/django.po +++ b/plinth/locale/sv/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-05-27 17:17+0000\n" "Last-Translator: Michael Breidenbach \n" "Language-Team: Swedish Clients to connect to Mumble from your " @@ -3628,11 +3628,11 @@ msgstr "" "\"http://mumble.info\"> Appar finns för att ansluta till Mumble från din " "dator- och Android-enheter." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Röstchatt" @@ -3683,7 +3683,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "SuperUser lösenord har uppdaterats." @@ -6433,7 +6433,7 @@ msgstr "Enkel inloggning på" msgid "Login" msgstr "Logga in" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Du har loggat ut framgångsrikt." diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po index 4601b82f4..1f6972ab6 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -396,11 +396,11 @@ msgstr "" msgid "Repository path is neither empty nor is an existing backups repository." msgstr "" -#: plinth/modules/backups/repository.py:143 +#: plinth/modules/backups/repository.py:147 msgid "Existing repository is not encrypted." msgstr "" -#: plinth/modules/backups/repository.py:327 +#: plinth/modules/backups/repository.py:331 #, python-brace-format msgid "{box_name} storage" msgstr "" @@ -937,7 +937,7 @@ msgstr "" #: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:78 #: plinth/modules/ejabberd/views.py:96 plinth/modules/email/views.py:45 #: plinth/modules/matrixsynapse/views.py:124 -#: plinth/modules/minetest/views.py:69 plinth/modules/mumble/views.py:29 +#: plinth/modules/minetest/views.py:69 plinth/modules/mumble/views.py:35 #: plinth/modules/pagekite/forms.py:78 plinth/modules/quassel/views.py:28 #: plinth/modules/roundcube/views.py:32 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:43 plinth/modules/ttrss/views.py:26 @@ -1296,12 +1296,12 @@ msgstr "" msgid "-- no time zone set --" msgstr "" -#: plinth/modules/datetime/views.py:45 +#: plinth/modules/datetime/views.py:49 #, python-brace-format msgid "Error setting time zone: {exception}" msgstr "" -#: plinth/modules/datetime/views.py:48 +#: plinth/modules/datetime/views.py:52 msgid "Time zone set" msgstr "" @@ -1329,7 +1329,7 @@ msgstr "" msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 msgid "Download directory" msgstr "" @@ -2972,39 +2972,39 @@ msgid "" "\"." msgstr "" -#: plinth/modules/mediawiki/forms.py:40 +#: plinth/modules/mediawiki/forms.py:41 msgid "Site Name" msgstr "" -#: plinth/modules/mediawiki/forms.py:41 +#: plinth/modules/mediawiki/forms.py:42 msgid "Name of the site as displayed throughout the wiki." msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:46 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:46 +#: plinth/modules/mediawiki/forms.py:47 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:50 +#: plinth/modules/mediawiki/forms.py:51 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:51 +#: plinth/modules/mediawiki/forms.py:52 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:56 +#: plinth/modules/mediawiki/forms.py:57 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:57 +#: plinth/modules/mediawiki/forms.py:58 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -3163,24 +3163,24 @@ msgstr "" msgid "Updated media directory" msgstr "" -#: plinth/modules/mumble/__init__.py:26 +#: plinth/modules/mumble/__init__.py:25 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:28 +#: plinth/modules/mumble/__init__.py:27 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3222,7 +3222,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5602,7 +5602,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/te/LC_MESSAGES/django.po b/plinth/locale/te/LC_MESSAGES/django.po index 6644ae6b7..e4cb5ed51 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-03-02 12:27+0000\n" "Last-Translator: James Valleroy \n" "Language-Team: Telugu Clients to connect to Mumble from your " @@ -3537,11 +3537,11 @@ msgstr "" "పరికరాల నుండి Mumbleకి బంధించడానికి క్లయింట్లు " "అందుబాటులో ఉన్నాయి." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "మంబుల్" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "స్వర సంభాషణ" @@ -3591,7 +3591,7 @@ msgstr "ముంబుల్ ఫ్లై" msgid "Mumla" msgstr "ముంల" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "సూపర్ యూసర్ ర హస్యపదం విజయవంతంగా మార్చబడినది." @@ -6247,7 +6247,7 @@ msgstr "సింగిల్ సైన్ ఆన్" msgid "Login" msgstr "ప్రవేశించు" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "విజయవంతంగా లాగ్ అవుట్ చేయబడింది." diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po index c1556c0f8..be803f17e 100644 --- a/plinth/locale/tr/LC_MESSAGES/django.po +++ b/plinth/locale/tr/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-06-22 17:14+0000\n" "Last-Translator: Burak Yavuz \n" "Language-Team: Turkish Clients to connect to Mumble from your " @@ -3640,11 +3640,11 @@ msgstr "" "bağlanabilirsiniz. Masaüstünüzden ve mobil cihazlarınızdan Mumble'a " "bağlanmak için istemciler mevcuttur." -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Sesli Sohbet" @@ -3692,7 +3692,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Süper Kullanıcı parolası başarılı olarak güncellendi." @@ -6446,7 +6446,7 @@ msgstr "Tek Oturum Açma" msgid "Login" msgstr "Oturum aç" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Başarılı olarak oturumu kapatıldı." diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po index 4afb34510..fcf2a9728 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-07-05 01:21+0000\n" "Last-Translator: Andrij Mizyk \n" "Language-Team: Ukrainian Git tutorial." msgstr "" -"Щоб дізнатися більше про те, як користуватися Git відвідайте навчання Git." +"Щоб дізнатися більше про те, як користуватися Git відвідайте навчання Git." #: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" @@ -2653,8 +2653,8 @@ msgid "" msgstr "" "Це останні %(num_lines)s рядків із журналу стану для цього вебінтерфейсу. " "Якщо Ви бажаєте повідомити про недолік, будь ласка використовуйте сторінку " -"відстеження недоліків і прикріпіть цей журнал стану до звіту про " +"відстеження недоліків і прикріпіть цей журнал стану до звіту про " "недолік." #: plinth/modules/help/templates/statuslog.html:24 @@ -3257,19 +3257,19 @@ msgstr "" "вікісторінки, як-от внизу вебсторінок, у RSS-стрічках або в ел. листах. " "Наприклад: \"myfreedombox.example.org\" або \"example.onion\"." -#: plinth/modules/mediawiki/forms.py:40 +#: plinth/modules/mediawiki/forms.py:41 msgid "Site Name" msgstr "Назва сайту" -#: plinth/modules/mediawiki/forms.py:41 +#: plinth/modules/mediawiki/forms.py:42 msgid "Name of the site as displayed throughout the wiki." msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:46 msgid "Enable public registrations" msgstr "Дозволити публічні реєстрації" -#: plinth/modules/mediawiki/forms.py:46 +#: plinth/modules/mediawiki/forms.py:47 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -3277,11 +3277,11 @@ msgstr "" "Якщо дозволено, будь-хто з Інтернету зможе створити обліківку у Вашому " "екземплярі MediaWiki." -#: plinth/modules/mediawiki/forms.py:50 +#: plinth/modules/mediawiki/forms.py:51 msgid "Enable private mode" msgstr "Дозволити приватний режим" -#: plinth/modules/mediawiki/forms.py:51 +#: plinth/modules/mediawiki/forms.py:52 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -3289,11 +3289,11 @@ msgstr "" "Якщо дозволено, доступ буде обмежено. Лише люди, що мають обліківки можуть " "читати/писати у вікі. Публічна реєстрація також буде вимкнена." -#: plinth/modules/mediawiki/forms.py:56 +#: plinth/modules/mediawiki/forms.py:57 msgid "Default Skin" msgstr "Типова шкурка" -#: plinth/modules/mediawiki/forms.py:57 +#: plinth/modules/mediawiki/forms.py:58 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -3463,7 +3463,7 @@ msgstr "Призначений каталог не існує." msgid "Updated media directory" msgstr "Оновлено каталог медія" -#: plinth/modules/mumble/__init__.py:26 +#: plinth/modules/mumble/__init__.py:25 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3471,18 +3471,18 @@ msgstr "" "Mumble — це високоякісне ПЗ для голосового чату з відкритим кодом, низькою " "затримкою і шифруванням." -#: plinth/modules/mumble/__init__.py:28 +#: plinth/modules/mumble/__init__.py:27 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "Голосовий чат" @@ -3524,7 +3524,7 @@ msgstr "Mumblefly" msgid "Mumla" msgstr "Mumla" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "Пароль суперкористувача успішно оновлено." @@ -3861,8 +3861,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-адресу, " "особливо після тривалого часу без мережі. Багато постачальників пропонують " @@ -6077,7 +6077,7 @@ msgstr "" msgid "Login" msgstr "Вхід" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "Вийшли успішно." @@ -6572,8 +6572,8 @@ msgid "" "When enabled, Tiny Tiny RSS can be accessed by any " "user belonging to the feed-reader group." msgstr "" -"Коли дозволено, Tiny Tiny RSS може бути доступним для будь-якого користувача, що належить до групи feed-reader." +"Коли дозволено, Tiny Tiny RSS може бути доступним для будь-якого користувача, що належить до групи feed-reader." #: plinth/modules/ttrss/__init__.py:32 msgid "" @@ -7476,8 +7476,8 @@ msgid "" "in Zoph with the same user name." msgstr "" "Користувач {box_name}, що встановив Zoph, також стане адміністратором Zoph. " -"Для додаткових користувачів потрібно створити облікові записи і в {box_name}" -", і в Zoph з тим же іменем користувача." +"Для додаткових користувачів потрібно створити облікові записи і в " +"{box_name}, і в Zoph з тим же іменем користувача." #: plinth/modules/zoph/__init__.py:58 plinth/modules/zoph/manifest.py:6 msgid "Zoph" @@ -7593,8 +7593,8 @@ msgstr "" "Це внутрішня помилка і не те, що Ви спричинили чи можете виправити. Будь " "ласка, повідомте про помилку на сторінці відстеження недоліків, щоб ми могли " -"виправити її. Також, будь ласка, прикріпіть до звіту про недолік журнал стану." +"виправити її. Також, будь ласка, прикріпіть до звіту про недолік журнал стану." #: plinth/templates/app-header.html:22 msgid "Installation" diff --git a/plinth/locale/vi/LC_MESSAGES/django.po b/plinth/locale/vi/LC_MESSAGES/django.po index 00cda0ae7..e5172d2fe 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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-07-28 08:34+0000\n" "Last-Translator: bruh \n" "Language-Team: Vietnamese Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3455,7 +3455,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5837,7 +5837,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" diff --git a/plinth/locale/zh_Hans/LC_MESSAGES/django.po b/plinth/locale/zh_Hans/LC_MESSAGES/django.po index a12284135..9f39725d5 100644 --- a/plinth/locale/zh_Hans/LC_MESSAGES/django.po +++ b/plinth/locale/zh_Hans/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Plinth\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2022-06-22 17:14+0000\n" "Last-Translator: Eric \n" "Language-Team: Chinese (Simplified) Clients to connect to Mumble from your " @@ -3343,11 +3343,11 @@ msgstr "" "您可以使用常规端口 64738 连接到您的 Mumble 服务器。您可以从桌面和移动设备连" "接 Mumble 客户端。" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "语音聊天" @@ -3389,7 +3389,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "超级用户密码更新成功。" @@ -5838,7 +5838,7 @@ msgstr "" msgid "Login" msgstr "登录" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "已成功退出登录。" diff --git a/plinth/locale/zh_Hant/LC_MESSAGES/django.po b/plinth/locale/zh_Hant/LC_MESSAGES/django.po index 463c099f9..c09692759 100644 --- a/plinth/locale/zh_Hant/LC_MESSAGES/django.po +++ b/plinth/locale/zh_Hant/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-06-20 20:21-0400\n" +"POT-Creation-Date: 2022-07-04 21:22-0400\n" "PO-Revision-Date: 2021-12-23 12:50+0000\n" "Last-Translator: pesder \n" "Language-Team: Chinese (Traditional) Clients to connect to Mumble from your " "desktop and mobile devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:9 +#: plinth/modules/mumble/__init__.py:47 plinth/modules/mumble/manifest.py:9 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:49 +#: plinth/modules/mumble/__init__.py:48 msgid "Voice Chat" msgstr "" @@ -3334,7 +3334,7 @@ msgstr "" msgid "Mumla" msgstr "" -#: plinth/modules/mumble/views.py:40 +#: plinth/modules/mumble/views.py:41 msgid "SuperUser password successfully updated." msgstr "" @@ -5716,7 +5716,7 @@ msgstr "" msgid "Login" msgstr "" -#: plinth/modules/sso/views.py:101 +#: plinth/modules/sso/views.py:100 msgid "Logged out successfully." msgstr "" From 70f9af7341e317202e4764cae3a29031f1b9b28a Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Mon, 4 Jul 2022 21:42:33 -0400 Subject: [PATCH 25/26] doc: Fetch latest manual Signed-off-by: James Valleroy --- doc/manual/en/ReleaseNotes.raw.wiki | 27 ++++++++++++++++++ doc/manual/es/Janus.raw.wiki | 24 +++++++++++++--- doc/manual/es/ReleaseNotes.raw.wiki | 27 ++++++++++++++++++ doc/manual/es/images/Janus-icon_en_V01.png | Bin 0 -> 27851 bytes .../es/images/freedombox-janus-videoroom.png | Bin 0 -> 295209 bytes 5 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 doc/manual/es/images/Janus-icon_en_V01.png create mode 100644 doc/manual/es/images/freedombox-janus-videoroom.png diff --git a/doc/manual/en/ReleaseNotes.raw.wiki b/doc/manual/en/ReleaseNotes.raw.wiki index 2e0c4dc28..3f7061310 100644 --- a/doc/manual/en/ReleaseNotes.raw.wiki +++ b/doc/manual/en/ReleaseNotes.raw.wiki @@ -8,6 +8,33 @@ 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.15 (2022-07-04) == + +=== Highlights === + + * backups: Add options to keep sshfs shares responsive + * backups: Unmount repositories before and after backup + * users: create home directories for newly created users + +=== Other Changes === + + * *: pylint: Avoid calling super() with arguments + * *: pylint: Don't inherit from 'object' + * *: pylint: Drop unnecessary 'pass' statements + * *: pylint: Explicitly specify encoding when open a file + * *: pylint: Suppress unused argument warnings + * ci: Use compatible versions of Selenium and Splinter + * locale: Update translations for Bulgarian, Russian, Ukrainian + * mediawiki: Add regex validator to the domain field + * mediawiki: Remove Buster specific code not needed in Bullseye + * mediawiki: Remove wgLogo as it is not needed in Bullseye + * pyproject.toml: Ignore some refactoring messages with pylint + * static: js: css: Make multiple select fields work with Django 4.0 + * tests: functional: Simplify GitLabCI configuration + * upgrades: Hold packages one at a time + * upgrades: Re-add workaround for grub + * views: Add a comment about change in Django 4.0 + == FreedomBox 22.14.1 (2022-06-27) == === Highlights === diff --git a/doc/manual/es/Janus.raw.wiki b/doc/manual/es/Janus.raw.wiki index f4b48ddcf..9d14fc16c 100644 --- a/doc/manual/es/Janus.raw.wiki +++ b/doc/manual/es/Janus.raw.wiki @@ -8,18 +8,34 @@ == Janus (servidor WebRTC) == +|| {{attachment:FreedomBox/Manual/Janus/Janus-icon_en_V01.png|Icono de Janus}} || '''Disponible desde''': versión 22.13 Janus es un servidor WebRTC ligero de propósito general. Puede soportar diferentes tipos de aplicaciones de comunicación en tiempo real, como llamdas y retransmisiones de video. -Actualmente !FreedomBox incluye con Janus una sala simple de videoconferencia. En el futuro será reemplazada por [[DebianBug:1005877|Jangouts]], una app de videoconferencia completa. +Actualmente !FreedomBox incluye con Janus una sala simple de videoconferencia. Cualquiera que visite tu !FreedomBox puede acceder a esta sala. No requiere ingresar con una cuenta de usuario. -Para usar Janus se necesita un servidor STUN/TURN (como [[es/FreedomBox/Manual/Coturn|Coturn]]). +En el futuro será reemplazada por [[DebianBug:1005877|Jangouts]], una app de videoconferencia completa. -/* Captura de pantalla */ -/* Usar Janus */ +== Captura de pantalla == + +Para usar Janus se necesita [[es/FreedomBox/Manual/Coturn|Coturn]], así que también debe estar instalado y funcionando en tu !FreedomBox. + + +{{attachment:FreedomBox/Manual/Janus/freedombox-janus-videoroom.png|Sala de video de Janus|width=800}} + + +== Usar Janus == + +El acceso directo a Janus te llevará a la página Sala de Video de Janus. Pulsa aquí el botón Comenzar enla parte superior de la página. + +A continución tendrás que dar un nombre de pantalla. Puede ser cualquiera. Pulsa el botón "Unirse a la sala" para entrar. + +La primera vez que entres a la sala, tu navegador te preguntará si le das permiso a esta página para acceder a tu cámara y micrófono. Pulsa "Permitir" para seguir. + +Se mostrará tu propia imagen en la ventana "Video local". Desde aquí podrás acallar tu sonido o usar despublicar para dejar de compartir tu imagen y/o sonido. Si otra gente entra en la sala aparecerán en las ventanas de "Vídeo remoto". === Enlaces externos === diff --git a/doc/manual/es/ReleaseNotes.raw.wiki b/doc/manual/es/ReleaseNotes.raw.wiki index 2e0c4dc28..3f7061310 100644 --- a/doc/manual/es/ReleaseNotes.raw.wiki +++ b/doc/manual/es/ReleaseNotes.raw.wiki @@ -8,6 +8,33 @@ 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.15 (2022-07-04) == + +=== Highlights === + + * backups: Add options to keep sshfs shares responsive + * backups: Unmount repositories before and after backup + * users: create home directories for newly created users + +=== Other Changes === + + * *: pylint: Avoid calling super() with arguments + * *: pylint: Don't inherit from 'object' + * *: pylint: Drop unnecessary 'pass' statements + * *: pylint: Explicitly specify encoding when open a file + * *: pylint: Suppress unused argument warnings + * ci: Use compatible versions of Selenium and Splinter + * locale: Update translations for Bulgarian, Russian, Ukrainian + * mediawiki: Add regex validator to the domain field + * mediawiki: Remove Buster specific code not needed in Bullseye + * mediawiki: Remove wgLogo as it is not needed in Bullseye + * pyproject.toml: Ignore some refactoring messages with pylint + * static: js: css: Make multiple select fields work with Django 4.0 + * tests: functional: Simplify GitLabCI configuration + * upgrades: Hold packages one at a time + * upgrades: Re-add workaround for grub + * views: Add a comment about change in Django 4.0 + == FreedomBox 22.14.1 (2022-06-27) == === Highlights === diff --git a/doc/manual/es/images/Janus-icon_en_V01.png b/doc/manual/es/images/Janus-icon_en_V01.png new file mode 100644 index 0000000000000000000000000000000000000000..912aad4f7bb20f01024e10f96f268635e724e4e4 GIT binary patch literal 27851 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

        psGzn#Oh@l5>RKBgxbBPsAaL7iC7Z!t^ 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

        @>!Xb-SZttEheV?=U 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�(8G(@&V|Lg?_1TtaCo#VA52UlK> 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 z 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 Vo;15-6eIfDqAw+1 Date: Mon, 4 Jul 2022 21:43:09 -0400 Subject: [PATCH 26/26] Release v22.15 to unstable Signed-off-by: James Valleroy --- debian/changelog | 47 ++++++++++++++++++++++++++++++++++++++++++++++ plinth/__init__.py | 2 +- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 77be4b9f9..5119bc55d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,50 @@ +freedombox (22.15) unstable; urgency=medium + + [ nbenedek ] + * mediawiki: Remove Buster specific code not needed in Bullseye + * mediawiki: Remove wgLogo as it is not needed in Bullseye + * mediawiki: Add regex validator to the domain field + * users: create home directories for newly created users + + [ Nikita Epifanov ] + * Translated using Weblate (Russian) + + [ 109247019824 ] + * Translated using Weblate (Bulgarian) + + [ Joseph Nuthalapati ] + * tests: functional: Simplify GitLabCI configuration + * ci: Use compatible versions of Selenium and Splinter + + [ Artem ] + * Translated using Weblate (Ukrainian) + + [ Guillermo Lopez Alejos ] + * backups: Add options to keep sshfs shares responsive + * backups: Unmount repositories before and after backup + + [ James Valleroy ] + * upgrades: Re-add workaround for grub + * upgrades: Hold packages one at a time + * datetime: Fix typo from pylint fix + * locale: Update translation strings + * doc: Fetch latest manual + + [ Sunil Mohan Adapa ] + * *: pylint: Explicitly specify encoding when open a file + * *: pylint: Suppress unused argument warnings + * *: pylint: Don't inherit from 'object' + * *: pylint: Avoid calling super() with arguments + * *: pylint: Drop unnecessary 'pass' statements + * pyproject.toml: Ignore some refactoring messages with pylint + * static: js: css: Make multiple select fields work with Django 4.0 + * views: Add a comment about change in Django 4.0 + + [ Andrij Mizyk ] + * Translated using Weblate (Ukrainian) + + -- James Valleroy Mon, 04 Jul 2022 21:30:09 -0400 + freedombox (22.14.1) unstable; urgency=medium [ ikmaak ] diff --git a/plinth/__init__.py b/plinth/__init__.py index 7ae377b0f..e686974d5 100644 --- a/plinth/__init__.py +++ b/plinth/__init__.py @@ -3,4 +3,4 @@ Package init file. """ -__version__ = '22.14.1' +__version__ = '22.15'