diff --git a/debian/changelog b/debian/changelog index 15b66921f..7786d49ec 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,25 @@ +freedombox (24.3) unstable; urgency=medium + + [ James Valleroy ] + * diagnostics: Add parameters to DiagnosticCheck + * diagnostics: Add method to translate checks + * diagnostics: Translate descriptions only in view + * diagnostics: Store results of full run in database + * diagnostics: Add option to toggle daily run + * locale: Update translation strings + * doc: Fetch latest manual + + [ Sunil Mohan Adapa ] + * diagnostics: Simplify getting translated description in results + * diagnostics: Safely access results when showing notification + * diagnostics: Fix a potential iteration of None value in error cases + * glib: Change API for repeating an in-thread scheduled task + + [ Benedek Nagy ] + * zoph: Fix failing PHP configuration requirements + + -- James Valleroy Mon, 29 Jan 2024 20:48:12 -0500 + freedombox (24.2~bpo12+1) bookworm-backports; urgency=medium * Rebuild for bookworm-backports. diff --git a/doc/manual/en/ReleaseNotes.raw.wiki b/doc/manual/en/ReleaseNotes.raw.wiki index b5dc55def..4fb589170 100644 --- a/doc/manual/en/ReleaseNotes.raw.wiki +++ b/doc/manual/en/ReleaseNotes.raw.wiki @@ -8,6 +8,24 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f The following are the release notes for each !FreedomBox version. +== FreedomBox 24.3 (2024-01-29) == + +=== Highlights === + + * diagnostics: Add option to toggle daily run + * zoph: Fix failing PHP configuration requirements + +=== Other Changes === + + * diagnostics: Add parameters to !DiagnosticCheck + * diagnostics: Add method to translate checks + * diagnostics: Translate descriptions only in view + * diagnostics: Store results of full run in database + * diagnostics: Simplify getting translated description in results + * diagnostics: Safely access results when showing notification + * diagnostics: Fix a potential iteration of None value in error cases + * glib: Change API for repeating an in-thread scheduled task + == FreedomBox 24.2 (2024-01-15) == * locale: Update translations for Chinese (Simplified), French, Spanish, Swedish, Turkish, Ukrainian diff --git a/doc/manual/es/ReleaseNotes.raw.wiki b/doc/manual/es/ReleaseNotes.raw.wiki index b5dc55def..4fb589170 100644 --- a/doc/manual/es/ReleaseNotes.raw.wiki +++ b/doc/manual/es/ReleaseNotes.raw.wiki @@ -8,6 +8,24 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f The following are the release notes for each !FreedomBox version. +== FreedomBox 24.3 (2024-01-29) == + +=== Highlights === + + * diagnostics: Add option to toggle daily run + * zoph: Fix failing PHP configuration requirements + +=== Other Changes === + + * diagnostics: Add parameters to !DiagnosticCheck + * diagnostics: Add method to translate checks + * diagnostics: Translate descriptions only in view + * diagnostics: Store results of full run in database + * diagnostics: Simplify getting translated description in results + * diagnostics: Safely access results when showing notification + * diagnostics: Fix a potential iteration of None value in error cases + * glib: Change API for repeating an in-thread scheduled task + == FreedomBox 24.2 (2024-01-15) == * locale: Update translations for Chinese (Simplified), French, Spanish, Swedish, Turkish, Ukrainian diff --git a/plinth/__init__.py b/plinth/__init__.py index 471938621..82792750a 100644 --- a/plinth/__init__.py +++ b/plinth/__init__.py @@ -3,4 +3,4 @@ Package init file. """ -__version__ = '24.2' +__version__ = '24.3' diff --git a/plinth/config.py b/plinth/config.py index c01b302f8..1ab32cf0d 100644 --- a/plinth/config.py +++ b/plinth/config.py @@ -3,8 +3,7 @@ import logging import pathlib -from django.utils.text import format_lazy -from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth.privileged import config as privileged @@ -117,10 +116,12 @@ class DropinConfigs(app_module.FollowerComponent): check_id = f'dropin-config-{etc_path}' result_string = Result.PASSED if result else Result.FAILED - template = _('Static configuration {etc_path} is setup properly') - description = format_lazy(template, etc_path=str(etc_path)) + description = gettext_noop( + 'Static configuration {etc_path} is setup properly') + parameters = {'etc_path': str(etc_path)} results.append( - DiagnosticCheck(check_id, description, result_string)) + DiagnosticCheck(check_id, description, result_string, + parameters)) return results diff --git a/plinth/daemon.py b/plinth/daemon.py index 6f2f4e9e6..88750ece0 100644 --- a/plinth/daemon.py +++ b/plinth/daemon.py @@ -5,9 +5,7 @@ import socket import subprocess import psutil -from django.utils.text import format_lazy -from django.utils.translation import gettext as _ -from django.utils.translation import gettext_lazy +from django.utils.translation import gettext_noop from plinth import action_utils, app @@ -104,10 +102,10 @@ class Daemon(app.LeaderComponent): check_id = f'daemon-running-{self.unit}' result = Result.PASSED if self.is_running() else Result.FAILED - template = gettext_lazy('Service {service_name} is running') - description = format_lazy(template, service_name=self.unit) + description = gettext_noop('Service {service_name} is running') + parameters = {'service_name': self.unit} - return DiagnosticCheck(check_id, description, result) + return DiagnosticCheck(check_id, description, result, parameters) class RelatedDaemon(app.FollowerComponent): @@ -158,19 +156,19 @@ def diagnose_port_listening(port, kind='tcp', listen_address=None): result = _check_port(port, kind, listen_address) + parameters = {'kind': kind, 'port': port} if listen_address: + parameters['listen_address'] = listen_address check_id = f'daemon-listening-address-{kind}-{port}-{listen_address}' - template = gettext_lazy( + description = gettext_noop( 'Listening on {kind} port {listen_address}:{port}') - description = format_lazy(template, kind=kind, - listen_address=listen_address, port=port) else: check_id = f'daemon-listening-{kind}-{port}' - template = gettext_lazy('Listening on {kind} port {port}') - description = format_lazy(template, kind=kind, port=port) + description = gettext_noop('Listening on {kind} port {port}') return DiagnosticCheck(check_id, description, - Result.PASSED if result else Result.FAILED) + Result.PASSED if result else Result.FAILED, + parameters) def _check_port(port, kind='tcp', listen_address=None): @@ -235,10 +233,11 @@ def diagnose_netcat(host, port, input='', negate=False): result = Result.FAILED check_id = f'daemon-netcat-{host}-{port}' - description = _('Connect to {host}:{port}') + description = gettext_noop('Connect to {host}:{port}') + parameters = {'host': host, 'port': port, 'negate': negate} if negate: check_id = f'daemon-netcat-negate-{host}-{port}' - description = _('Cannot connect to {host}:{port}') + description = gettext_noop('Cannot connect to {host}:{port}') return DiagnosticCheck(check_id, description.format(host=host, port=port), - result) + result, parameters) diff --git a/plinth/glib.py b/plinth/glib.py index 77721f713..5ef5fbec8 100644 --- a/plinth/glib.py +++ b/plinth/glib.py @@ -65,7 +65,8 @@ def schedule(interval, method, data=None, in_thread=True, repeat=True, def _run_bare_or_thread(_user_data): """Run the target method in thread or directly (if async).""" if not in_thread: - return _runner() + _runner() + return repeat thread = threading.Thread(target=_runner) thread.start() diff --git a/plinth/locale/ar/LC_MESSAGES/django.po b/plinth/locale/ar/LC_MESSAGES/django.po index 29ada04c5..a93082a59 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-10-19 06:18+0000\n" "Last-Translator: Shaik \n" "Language-Team: Arabic Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4903,14 +4918,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4921,15 +4936,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6202,7 +6217,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6211,13 +6226,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6225,31 +6240,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6345,7 +6360,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "خطأ أثناء تثبيت التطبيق: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6354,20 +6369,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6708,14 +6723,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6723,25 +6738,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7320,7 +7335,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7333,7 +7348,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7341,11 +7356,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7394,34 +7409,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/ar_SA/LC_MESSAGES/django.po b/plinth/locale/ar_SA/LC_MESSAGES/django.po index 3a9dd3905..c154ba303 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2020-06-10 15:41+0000\n" "Last-Translator: aiman an \n" "Language-Team: Arabic (Saudi Arabia) Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4908,14 +4923,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4926,15 +4941,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6207,7 +6222,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6216,13 +6231,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6230,31 +6245,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6350,7 +6365,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "خطأ في تثبيت التطبيق:{error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6359,20 +6374,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6713,14 +6728,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6728,25 +6743,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7325,7 +7340,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7338,7 +7353,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7346,11 +7361,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7399,34 +7414,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/be/LC_MESSAGES/django.po b/plinth/locale/be/LC_MESSAGES/django.po index 1f996582c..d35b0bf3b 100644 --- a/plinth/locale/be/LC_MESSAGES/django.po +++ b/plinth/locale/be/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -29,7 +29,7 @@ msgstr "" msgid "FreedomBox" msgstr "" -#: plinth/daemon.py:107 +#: plinth/daemon.py:105 #, python-brace-format msgid "Service {service_name} is running" msgstr "" @@ -39,17 +39,17 @@ msgstr "" msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/daemon.py:169 +#: plinth/daemon.py:167 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/daemon.py:238 +#: plinth/daemon.py:236 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/daemon.py:241 +#: plinth/daemon.py:240 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -122,7 +122,7 @@ msgstr "" msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/modules/apache/components.py:158 +#: plinth/modules/apache/components.py:157 #, python-brace-format msgid "Access URL {url}" msgstr "" @@ -834,10 +834,10 @@ msgstr "" msgid "Admin" msgstr "" -#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35 -#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56 -#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71 -#: plinth/modules/zoph/views.py:74 +#: plinth/modules/bepasty/views.py:88 plinth/modules/diagnostics/views.py:52 +#: plinth/modules/searx/views.py:35 plinth/modules/searx/views.py:46 +#: plinth/modules/security/views.py:56 plinth/modules/tor/views.py:73 +#: plinth/modules/torproxy/views.py:71 plinth/modules/zoph/views.py:74 msgid "Configuration updated." msgstr "" @@ -1269,17 +1269,17 @@ msgstr "" msgid "Use the following shared authentication secret:" msgstr "" -#: plinth/modules/datetime/__init__.py:20 +#: plinth/modules/datetime/__init__.py:21 msgid "" "Network time server is a program that maintains the system time in " "synchronization with servers on the Internet." msgstr "" -#: plinth/modules/datetime/__init__.py:67 +#: plinth/modules/datetime/__init__.py:68 msgid "Date & Time" msgstr "" -#: plinth/modules/datetime/__init__.py:121 +#: plinth/modules/datetime/__init__.py:122 msgid "Time synchronized to NTP server" msgstr "" @@ -1338,88 +1338,99 @@ msgstr "" msgid "Bittorrent client written in Python/PyGTK" msgstr "" -#: plinth/modules/diagnostics/__init__.py:25 +#: plinth/modules/diagnostics/__init__.py:27 msgid "" "The system diagnostic test will run a number of checks on your system to " "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/__init__.py:49 -#: plinth/modules/diagnostics/__init__.py:235 +#: plinth/modules/diagnostics/__init__.py:51 +#: plinth/modules/diagnostics/__init__.py:236 msgid "Diagnostics" msgstr "" -#: plinth/modules/diagnostics/__init__.py:93 +#: plinth/modules/diagnostics/__init__.py:95 msgid "passed" msgstr "" -#: plinth/modules/diagnostics/__init__.py:94 +#: plinth/modules/diagnostics/__init__.py:96 #: plinth/modules/networks/views.py:50 msgid "failed" msgstr "" -#: plinth/modules/diagnostics/__init__.py:95 +#: plinth/modules/diagnostics/__init__.py:97 msgid "error" msgstr "" -#: plinth/modules/diagnostics/__init__.py:96 +#: plinth/modules/diagnostics/__init__.py:98 msgid "warning" msgstr "" #. Translators: This is the unit of computer storage Mebibyte similar to #. Megabyte. -#: plinth/modules/diagnostics/__init__.py:201 +#: plinth/modules/diagnostics/__init__.py:202 msgid "MiB" msgstr "" #. Translators: This is the unit of computer storage Gibibyte similar to #. Gigabyte. -#: plinth/modules/diagnostics/__init__.py:206 +#: plinth/modules/diagnostics/__init__.py:207 msgid "GiB" msgstr "" -#: plinth/modules/diagnostics/__init__.py:213 +#: plinth/modules/diagnostics/__init__.py:214 msgid "You should disable some apps to reduce memory usage." msgstr "" -#: plinth/modules/diagnostics/__init__.py:218 +#: plinth/modules/diagnostics/__init__.py:219 msgid "You should not install any new apps on this system." msgstr "" -#: plinth/modules/diagnostics/__init__.py:230 +#: plinth/modules/diagnostics/__init__.py:231 #, no-python-format, python-brace-format msgid "" "System is low on memory: {percent_used}% used, {memory_available} " "{memory_available_unit} free. {advice_message}" msgstr "" -#: plinth/modules/diagnostics/__init__.py:232 +#: plinth/modules/diagnostics/__init__.py:233 msgid "Low Memory" msgstr "" -#: plinth/modules/diagnostics/__init__.py:254 +#: plinth/modules/diagnostics/__init__.py:264 msgid "Running diagnostics" msgstr "" -#: plinth/modules/diagnostics/__init__.py:295 +#: plinth/modules/diagnostics/__init__.py:307 #, no-python-format, python-brace-format msgid "Found {issue_count} issues during routine tests." msgstr "" -#: plinth/modules/diagnostics/__init__.py:296 +#: plinth/modules/diagnostics/__init__.py:308 msgid "Diagnostics results" msgstr "" -#: plinth/modules/diagnostics/__init__.py:301 +#: plinth/modules/diagnostics/__init__.py:313 msgid "Go to diagnostics results" msgstr "" -#: plinth/modules/diagnostics/templates/diagnostics.html:16 -#: plinth/modules/diagnostics/templates/diagnostics_button.html:11 -msgid "Run Diagnostics" +#: plinth/modules/diagnostics/forms.py:11 +msgid "Enable daily run" msgstr "" -#: plinth/modules/diagnostics/templates/diagnostics.html:21 +#: plinth/modules/diagnostics/forms.py:12 +msgid "When enabled, diagnostic checks will run once a day." +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:11 +msgid "Diagnostics Run" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:17 +msgid "Run Diagnostics Now" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:22 msgid "View Results" msgstr "" @@ -1442,6 +1453,10 @@ msgstr "" msgid "This app does not support diagnostics" msgstr "" +#: plinth/modules/diagnostics/templates/diagnostics_button.html:11 +msgid "Run Diagnostics" +msgstr "" + #: plinth/modules/diagnostics/templates/diagnostics_full.html:17 msgid "Re-run Diagnostics" msgstr "" @@ -1471,7 +1486,7 @@ msgstr "" msgid "Result" msgstr "" -#: plinth/modules/diagnostics/views.py:100 +#: plinth/modules/diagnostics/views.py:107 msgid "Diagnostic Test" msgstr "" @@ -1977,7 +1992,7 @@ msgstr "" msgid "Direct passthrough rules exist" msgstr "" -#: plinth/modules/firewall/components.py:137 +#: plinth/modules/firewall/components.py:136 #, python-brace-format msgid "Port {name} ({details}) available for internal networks" msgstr "" @@ -1987,7 +2002,7 @@ msgstr "" msgid "Port {name} ({details}) available for external networks" msgstr "" -#: plinth/modules/firewall/components.py:154 +#: plinth/modules/firewall/components.py:153 #, python-brace-format msgid "Port {name} ({details}) unavailable for external networks" msgstr "" @@ -2549,8 +2564,8 @@ msgstr "" msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:62 -#: plinth/modules/torproxy/__init__.py:55 +#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:63 +#: plinth/modules/torproxy/__init__.py:56 msgid "Anonymity Network" msgstr "" @@ -2885,7 +2900,7 @@ msgstr "" msgid "Failed to add content package." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:25 +#: plinth/modules/letsencrypt/__init__.py:27 #, python-brace-format msgid "" "A digital certificate allows users of a web service to verify the identity " @@ -2895,7 +2910,7 @@ msgid "" "Encrypt, a certificate authority (CA)." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:31 +#: plinth/modules/letsencrypt/__init__.py:33 msgid "" "Let's Encrypt is a free, automated, and open certificate authority, run for " "the public's benefit by the Internet Security Research Group (ISRG). Please " @@ -2903,15 +2918,15 @@ msgid "" "\">Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4896,14 +4911,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4914,15 +4929,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6195,7 +6210,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6204,13 +6219,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6218,31 +6233,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6337,7 +6352,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6346,20 +6361,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6700,14 +6715,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6715,25 +6730,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7312,7 +7327,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7325,7 +7340,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7333,11 +7348,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7386,34 +7401,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po index da8f05d99..c1283b29e 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-09-18 19:00+0000\n" "Last-Translator: 109247019824 \n" "Language-Team: Bulgarian Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Сертификати" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Не може да бъде извършена проба: Не са настроени домейни." @@ -5162,14 +5186,14 @@ msgstr "" "target=\"_blank\">popcon.debian.org. За допълнителна анонимност данните " "се изпращат през мрежата на Тор, ако приложението Тор е включено." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5180,15 +5204,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6516,7 +6540,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Синхронизиране на файлове" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6525,13 +6549,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6539,31 +6563,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Тор" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Услуга на Тор Onion" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Транспортът Obfs3 е регистриран" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Транспортът Obfs4 е регистриран" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Услугата на Onion е версия 3" @@ -6678,7 +6702,7 @@ msgstr "Запазване на настройки" msgid "Error configuring app: {error}" msgstr "Грешка при настройка на приложението: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6687,20 +6711,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Прокси сървър на Тор" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Прокси сървър на Тор за SOCKS" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Достъп до {url} по tcp{kind} чрез Тор" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -7085,7 +7109,7 @@ msgstr "Честото обновяване на пакети е включен msgid "Starting distribution upgrade test." msgstr "Начало на опит за обновяване на дистрибуцията." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7096,7 +7120,7 @@ msgstr "" "получи достъп, някои приложения още имат изискване потребителският профил да " "бъде част от определена група." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7108,25 +7132,25 @@ msgstr "" "администратори могат да променят приложенията и настройките на " "системата." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Потребители и групи" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Достъп до всички услуги и системни настройки" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Проверете записа на LDAP „{search_item}“" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7724,7 +7748,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7737,7 +7761,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7745,11 +7769,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7800,34 +7824,35 @@ msgstr "Изчакване да започне: {name}" msgid "Finished: {name}" msgstr "Готово: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Пакетът „{expression}“ е недостъпен за инсталиране" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Времето за изчакване на диспечера на пакети е изтекло" diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po index d82bd1a7c..298262cee 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2021-06-16 07:33+0000\n" "Last-Translator: Oymate \n" "Language-Team: Bengali Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "অনুমতিপত্র" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4926,14 +4947,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4944,15 +4965,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6227,7 +6248,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6236,13 +6257,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6250,31 +6271,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6371,7 +6392,7 @@ msgstr "পছন্দসমূহ" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6380,20 +6401,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6734,14 +6755,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6749,25 +6770,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7346,7 +7367,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7359,7 +7380,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7367,11 +7388,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7420,34 +7441,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po index 696dbb65d..2ae388e3a 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-11-20 05:11+0000\n" "Last-Translator: Jiří Podhorecký \n" "Language-Team: Czech Podmínky používání Let's Encrypt." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Certifikáty" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Nelze testovat: Nejsou nakonfigurovány žádné domény." @@ -5581,7 +5604,7 @@ msgstr "" "popcon.debian.org/\" target=\"_blank\">popcon.debian.org. Odesílání " "probíhá přes síť Tor pro další anonymitu, pokud je povolena aplikace Tor." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5591,7 +5614,7 @@ msgstr "" "zlepšujícími soukromí, upravující data webových stánek a HTTP hlaviček, " "řídící přístup a odebírající reklamy a ostatní otravné Internetové smetí. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5608,15 +5631,15 @@ msgstr "" "org\">http://config.privoxy.org/ nebo http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Webová proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Přistupte {url} s proxy {proxy} na tcp{kind}" @@ -7089,7 +7112,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Synchronizace souborů" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7103,7 +7126,7 @@ msgstr "" "prohlížeč Tor Browser." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." @@ -7111,7 +7134,7 @@ msgstr "" "Tato aplikace poskytuje přenosové služby, které přispívají k síti Tor a " "pomáhají ostatním překonat cenzuru." -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7123,31 +7146,31 @@ msgstr "" "z internetu, i když používáte poskytovatele internetového připojení, který " "omezuje servery doma." -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Tor Onion Service" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Předávájící Tor most" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Port Tor předávání k dispozici" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 transport zaregistrován" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 transport zaregistrován" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Onion service je verze 3" @@ -7258,7 +7281,7 @@ msgstr "Aktualizace konfigurace" msgid "Error configuring app: {error}" msgstr "Chyba při konfiguraci aplikace: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7271,20 +7294,20 @@ msgstr "" "aplikace pro přístup k internetu prostřednictvím sítě Tor. Cenzuru " "poskytovatelů internetových služeb lze obejít pomocí upstreamových mostů." -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Tor Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor Socks proxy" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Přistoupit k URL adrese {url} na tcp{kind} prostřednictvím Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Potvrďte použití Tor na adrese {url} na tcp{kind}" @@ -7685,7 +7708,7 @@ msgstr "Aktivovány časté aktualizace funkcí." msgid "Starting distribution upgrade test." msgstr "Zahájení testu aktualizace distribuce." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7696,7 +7719,7 @@ msgstr "" "aby uživatelský účet byl součástí skupiny, která uživatele opravňuje k " "přístupu k aplikaci." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7708,25 +7731,25 @@ msgstr "" "nebo nastavení systému však mohou měnit pouze uživatelé skupiny admin." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Uživatelé a skupiny" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Přístup ke všem službám a nastavení systému" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Zkontrolujte LDAP položku „{search_item}“" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "Zkontrolujte konfiguraci nslcd \"{key} {value}\"" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "Zkontrolujte konfiguraci nsswitch \" {database}\"" @@ -8370,7 +8393,7 @@ msgstr "" "WordPress pouze správcům. Povolte pouze po provedení počátečního nastavení " "WordPressu." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8392,7 +8415,7 @@ msgstr "" "určitém místě. Jednotlivé fotografie lze sdílet s ostatními odesláním " "přímého odkazu." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8403,11 +8426,11 @@ msgstr "" "další uživatele musí být vytvořeny účty jak v {box_name}, tak v Zoph se " "stejným uživatelským jménem." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Organizér fotografií" @@ -8460,34 +8483,35 @@ msgstr "Čeká na spuštění: {name}" msgid "Finished: {name}" msgstr "Dokončeno: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Balíček {expression} není k dispozici pro instalaci" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "Balíček {package_name} je nejnovější verze ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "Instalace" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "stahování" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "změna média" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "soubor s nastaveními: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Časový limit čekání na správce balíčků" diff --git a/plinth/locale/da/LC_MESSAGES/django.po b/plinth/locale/da/LC_MESSAGES/django.po index d054aa01f..b20222276 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:19+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Danish Let's Encrypts abonnementsbetingelser inden tjenesten " "tages i anvendelse." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 #, fuzzy #| msgid "Certificate Status" msgid "Certificates" msgstr "Certifikat Status" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5625,7 +5646,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5636,7 +5657,7 @@ msgstr "" "HTTP-headers, styre adgang og fjerne reklamer og andet vedderstyggeligt " "internetskrald. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5658,19 +5679,19 @@ msgstr "" "på http://config.privoxy.org/ " "eller http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 #, fuzzy #| msgid "Enable Privoxy" msgid "Privoxy" msgstr "Aktiver Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "Web Proxy" msgstr "Privoxy Webproxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Tilgå {url} med proxy {proxy} ved brug af tcp{kind}" @@ -7153,7 +7174,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7167,13 +7188,13 @@ msgstr "" "du bruger Tor-browseren." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7181,33 +7202,33 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "Tor Skjult Tjeneste" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Tor Bridge Relay" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Tor videresendelsesport tilgængelig" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 transport registreret" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 transport registreret" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Hidden Service" msgid "Onion service is version 3" @@ -7319,7 +7340,7 @@ msgstr "Der opstod en fejl under konfigurationen." msgid "Error configuring app: {error}" msgstr "Kunne ikke installere applikation: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7328,22 +7349,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "I2P Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Tilgå URL {url} ved brug af tcp{kind} via Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Bekræft brug af Tor på {url} ved brug af tcp{kind}" @@ -7758,14 +7779,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "Automatisk opdatering aktiveret" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7773,25 +7794,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Brugere og Grupper" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Kontrol af LDAP-konfiguration \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8464,7 +8485,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8477,7 +8498,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8485,11 +8506,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -8542,34 +8563,34 @@ msgstr "" msgid "Finished: {name}" msgstr "Tjeneste ikke aktiv: {name}" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "Installerer" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "downloader" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "medie-ændring" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "konfigurationsfil: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po index f513c7328..263b29b19 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-10-30 10:00+0000\n" "Last-Translator: Ettore Atalan \n" "Language-Team: German Let's " "Encrypt Vetragsvereinbarungen vor der Verwendung dieses Dienstes." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Zertifikate" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Kann nicht testen: Es sind keine Domains konfiguriert." @@ -5703,7 +5727,7 @@ msgstr "" "org. Die Übermittlung erfolgt über das Tor-Netzwerk für zusätzliche " "Anonymität, wenn die Tor-App aktiviert ist." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5714,7 +5738,7 @@ msgstr "" "kontrolliert den Zugang und entfernt Werbung und anderen abscheulichen " "Internet-Müll. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5731,15 +5755,15 @@ msgstr "" "unter http://config.privoxy.org/ " "oder http://p.p einsehen." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Web Proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Zugang auf {url} über Proxy {proxy} auf TCP{kind}" @@ -7245,7 +7269,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Dateisynchronisation" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7259,7 +7283,7 @@ msgstr "" "Sie den Tor Browser verwenden." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." @@ -7267,7 +7291,7 @@ msgstr "" "Diese App bietet Relay-Dienste, um zum Tor-Netzwerk beizutragen und anderen " "zu helfen, die Zensur zu überwinden." -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7279,31 +7303,31 @@ msgstr "" "auf {box_name} zugreifen, auch wenn man einen ISP benutzt, der die Server zu " "Hause begrenzt." -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Tor-Onion-Dienste" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Tor-Bridge-Relay" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Tor-Relay-Port ist verfügbar" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3-Transport registriert" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4-Transport registriert" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Onion-Dienst ist Version 3" @@ -7420,7 +7444,7 @@ msgstr "Aktualisieren der Konfiguration" msgid "Error configuring app: {error}" msgstr "Fehler beim Konfigurieren der App: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7434,20 +7458,20 @@ msgstr "" "Internet zuzugreifen. Die ISP-Zensur kann mit Upstream-Brücken umgangen " "werden." -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Tor-Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor-Socks-Proxy" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Zugangs-URL {url} auf TCP{kind} über Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Tor-Nutzung auf {url} über TCP{kind} bestätigen" @@ -7859,7 +7883,7 @@ msgstr "Häufige Funktions-Updates aktiviert." msgid "Starting distribution upgrade test." msgstr "Start des Tests zur Aktualisierung der Distribution." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7870,7 +7894,7 @@ msgstr "" "muss ein Benutzerkonto Teil einer Gruppe sein, damit ein Benutzer auf die " "App zugreifen kann." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7882,25 +7906,25 @@ msgstr "" "dürfen nur Mitglieder der Gruppe admin Apps oder " "Systemeinstellungen ändern." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Benutzer und Gruppen" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Zugriff auf alle Anwendungen und Systemeinstellungen" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "LDAP-Eintrag „{search_item}“ prüfen" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8565,7 +8589,7 @@ msgstr "" "Administratoren die WordPress-Website oder den Blog aufrufen. Aktivieren Sie " "diese Option erst nach der Ersteinrichtung von WordPress." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8590,7 +8614,7 @@ msgstr "" "Einzelne Fotos können mit anderen geteilt werden, indem ein direkter Link " "gesendet wird." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8601,11 +8625,11 @@ msgstr "" "Administrator in Zoph. Für zusätzliche Benutzer müssen Konten sowohl in " "{box_name} als auch in Zoph mit demselben Benutzernamen erstellt werden." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Foto-Manager" @@ -8659,34 +8683,35 @@ msgstr "Warten auf den Start: {name}" msgid "Finished: {name}" msgstr "Fertig: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Paket {expression} ist nicht verfügbar" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "Paket {package_name} ist die aktuellste Version ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "Installation läuft" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "herunterladen" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "Medienwechsel" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "Konfigurationsdatei: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Zeitüberschreitung beim Warten auf den Paket-Manager" diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot index cf440118a..b1631c008 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,7 +30,7 @@ msgstr "" msgid "FreedomBox" msgstr "" -#: plinth/daemon.py:107 +#: plinth/daemon.py:105 #, python-brace-format msgid "Service {service_name} is running" msgstr "" @@ -40,17 +40,17 @@ msgstr "" msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/daemon.py:169 +#: plinth/daemon.py:167 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/daemon.py:238 +#: plinth/daemon.py:236 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/daemon.py:241 +#: plinth/daemon.py:240 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -123,7 +123,7 @@ msgstr "" msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/modules/apache/components.py:158 +#: plinth/modules/apache/components.py:157 #, python-brace-format msgid "Access URL {url}" msgstr "" @@ -835,10 +835,10 @@ msgstr "" msgid "Admin" msgstr "" -#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35 -#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56 -#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71 -#: plinth/modules/zoph/views.py:74 +#: plinth/modules/bepasty/views.py:88 plinth/modules/diagnostics/views.py:52 +#: plinth/modules/searx/views.py:35 plinth/modules/searx/views.py:46 +#: plinth/modules/security/views.py:56 plinth/modules/tor/views.py:73 +#: plinth/modules/torproxy/views.py:71 plinth/modules/zoph/views.py:74 msgid "Configuration updated." msgstr "" @@ -1270,17 +1270,17 @@ msgstr "" msgid "Use the following shared authentication secret:" msgstr "" -#: plinth/modules/datetime/__init__.py:20 +#: plinth/modules/datetime/__init__.py:21 msgid "" "Network time server is a program that maintains the system time in " "synchronization with servers on the Internet." msgstr "" -#: plinth/modules/datetime/__init__.py:67 +#: plinth/modules/datetime/__init__.py:68 msgid "Date & Time" msgstr "" -#: plinth/modules/datetime/__init__.py:121 +#: plinth/modules/datetime/__init__.py:122 msgid "Time synchronized to NTP server" msgstr "" @@ -1339,88 +1339,99 @@ msgstr "" msgid "Bittorrent client written in Python/PyGTK" msgstr "" -#: plinth/modules/diagnostics/__init__.py:25 +#: plinth/modules/diagnostics/__init__.py:27 msgid "" "The system diagnostic test will run a number of checks on your system to " "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/__init__.py:49 -#: plinth/modules/diagnostics/__init__.py:235 +#: plinth/modules/diagnostics/__init__.py:51 +#: plinth/modules/diagnostics/__init__.py:236 msgid "Diagnostics" msgstr "" -#: plinth/modules/diagnostics/__init__.py:93 +#: plinth/modules/diagnostics/__init__.py:95 msgid "passed" msgstr "" -#: plinth/modules/diagnostics/__init__.py:94 +#: plinth/modules/diagnostics/__init__.py:96 #: plinth/modules/networks/views.py:50 msgid "failed" msgstr "" -#: plinth/modules/diagnostics/__init__.py:95 +#: plinth/modules/diagnostics/__init__.py:97 msgid "error" msgstr "" -#: plinth/modules/diagnostics/__init__.py:96 +#: plinth/modules/diagnostics/__init__.py:98 msgid "warning" msgstr "" #. Translators: This is the unit of computer storage Mebibyte similar to #. Megabyte. -#: plinth/modules/diagnostics/__init__.py:201 +#: plinth/modules/diagnostics/__init__.py:202 msgid "MiB" msgstr "" #. Translators: This is the unit of computer storage Gibibyte similar to #. Gigabyte. -#: plinth/modules/diagnostics/__init__.py:206 +#: plinth/modules/diagnostics/__init__.py:207 msgid "GiB" msgstr "" -#: plinth/modules/diagnostics/__init__.py:213 +#: plinth/modules/diagnostics/__init__.py:214 msgid "You should disable some apps to reduce memory usage." msgstr "" -#: plinth/modules/diagnostics/__init__.py:218 +#: plinth/modules/diagnostics/__init__.py:219 msgid "You should not install any new apps on this system." msgstr "" -#: plinth/modules/diagnostics/__init__.py:230 +#: plinth/modules/diagnostics/__init__.py:231 #, no-python-format, python-brace-format msgid "" "System is low on memory: {percent_used}% used, {memory_available} " "{memory_available_unit} free. {advice_message}" msgstr "" -#: plinth/modules/diagnostics/__init__.py:232 +#: plinth/modules/diagnostics/__init__.py:233 msgid "Low Memory" msgstr "" -#: plinth/modules/diagnostics/__init__.py:254 +#: plinth/modules/diagnostics/__init__.py:264 msgid "Running diagnostics" msgstr "" -#: plinth/modules/diagnostics/__init__.py:295 +#: plinth/modules/diagnostics/__init__.py:307 #, no-python-format, python-brace-format msgid "Found {issue_count} issues during routine tests." msgstr "" -#: plinth/modules/diagnostics/__init__.py:296 +#: plinth/modules/diagnostics/__init__.py:308 msgid "Diagnostics results" msgstr "" -#: plinth/modules/diagnostics/__init__.py:301 +#: plinth/modules/diagnostics/__init__.py:313 msgid "Go to diagnostics results" msgstr "" -#: plinth/modules/diagnostics/templates/diagnostics.html:16 -#: plinth/modules/diagnostics/templates/diagnostics_button.html:11 -msgid "Run Diagnostics" +#: plinth/modules/diagnostics/forms.py:11 +msgid "Enable daily run" msgstr "" -#: plinth/modules/diagnostics/templates/diagnostics.html:21 +#: plinth/modules/diagnostics/forms.py:12 +msgid "When enabled, diagnostic checks will run once a day." +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:11 +msgid "Diagnostics Run" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:17 +msgid "Run Diagnostics Now" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:22 msgid "View Results" msgstr "" @@ -1443,6 +1454,10 @@ msgstr "" msgid "This app does not support diagnostics" msgstr "" +#: plinth/modules/diagnostics/templates/diagnostics_button.html:11 +msgid "Run Diagnostics" +msgstr "" + #: plinth/modules/diagnostics/templates/diagnostics_full.html:17 msgid "Re-run Diagnostics" msgstr "" @@ -1472,7 +1487,7 @@ msgstr "" msgid "Result" msgstr "" -#: plinth/modules/diagnostics/views.py:100 +#: plinth/modules/diagnostics/views.py:107 msgid "Diagnostic Test" msgstr "" @@ -1978,7 +1993,7 @@ msgstr "" msgid "Direct passthrough rules exist" msgstr "" -#: plinth/modules/firewall/components.py:137 +#: plinth/modules/firewall/components.py:136 #, python-brace-format msgid "Port {name} ({details}) available for internal networks" msgstr "" @@ -1988,7 +2003,7 @@ msgstr "" msgid "Port {name} ({details}) available for external networks" msgstr "" -#: plinth/modules/firewall/components.py:154 +#: plinth/modules/firewall/components.py:153 #, python-brace-format msgid "Port {name} ({details}) unavailable for external networks" msgstr "" @@ -2550,8 +2565,8 @@ msgstr "" msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:62 -#: plinth/modules/torproxy/__init__.py:55 +#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:63 +#: plinth/modules/torproxy/__init__.py:56 msgid "Anonymity Network" msgstr "" @@ -2886,7 +2901,7 @@ msgstr "" msgid "Failed to add content package." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:25 +#: plinth/modules/letsencrypt/__init__.py:27 #, python-brace-format msgid "" "A digital certificate allows users of a web service to verify the identity " @@ -2896,7 +2911,7 @@ msgid "" "Encrypt, a certificate authority (CA)." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:31 +#: plinth/modules/letsencrypt/__init__.py:33 msgid "" "Let's Encrypt is a free, automated, and open certificate authority, run for " "the public's benefit by the Internet Security Research Group (ISRG). Please " @@ -2904,15 +2919,15 @@ msgid "" "\">Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4897,14 +4912,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4915,15 +4930,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6196,7 +6211,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6205,13 +6220,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6219,31 +6234,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6338,7 +6353,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6347,20 +6362,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6701,14 +6716,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6716,25 +6731,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7313,7 +7328,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7326,7 +7341,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7334,11 +7349,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7387,34 +7402,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po index b3b48eb76..7f95fea68 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:20+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Greek Συμφωνία Συνδρομητή Lets Encrypt πριν από " "τη χρήση αυτής της υπηρεσίας." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Πιστοποιητικά" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5738,7 +5763,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5750,7 +5775,7 @@ msgstr "" "τον έλεγχο της πρόσβασης και την κατάργηση διαφημίσεων και άλλων " "ανεπιθύμητων μηνυμάτων στο Internet. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5773,15 +5798,15 @@ msgstr "" "href=\"http://config.privoxy.org\">http://config.privoxy.org/ ή http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Διακομιστής μεσολάβησης διαδικτύου" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -7350,7 +7375,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Συγχρονισμός αρχείων" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7364,13 +7389,13 @@ msgstr "" "Project συνιστά να χρησιμοποιήσετε το πρόγραμμα περιήγησης διαδικτύου Tor." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7378,31 +7403,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Υπηρεσία κρεμυδιού Tor" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Γέφυρα/μεσολαβητής Tor" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Θύρα μεσολαβητή Tor διαθέσιμη" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 μεταφορά καταχωρήθηκε" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 μεταφορά καταχωρήθηκε" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Onion Service" msgid "Onion service is version 3" @@ -7530,7 +7555,7 @@ msgstr "Παρουσιάστηκε σφάλμα κατά τη ρύθμιση π msgid "Error configuring app: {error}" msgstr "Σφάλμα κατά την εγκατάσταση της εφαρμογής: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7539,22 +7564,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "Tor Socks Proxy" msgid "Tor Proxy" msgstr "Tor διακομιστής μεσολάβησης τύπου socks5" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor διακομιστής μεσολάβησης τύπου socks5" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Πρόσβαση στη διεύθυνση URL {url} με tcp {kind} μέσω του Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Επιβεβαίωση χρήσης του Tor στο {url} στο προτόκολλο TCP {kind}" @@ -7978,7 +8003,7 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "Oι αυτόματες ενημερώσεις ενεργοποιήθηκαν" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 #, fuzzy #| msgid "" #| "Create and managed user accounts. These accounts serve as centralized " @@ -7995,7 +8020,7 @@ msgstr "" "είναι μέρος μιας ομάδας για να εξουσιοδοτήσουν το χρήστη να αποκτήσει " "πρόσβαση στην εφαρμογή." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -8007,25 +8032,25 @@ msgstr "" "σελίδα. Ωστόσο, μόνο οι χρήστες της ομάδας admin μπορούν να " "τροποποιήσουν τις εφαρμογές ή τις ρυθμίσεις του συστήματος." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Χρήστες και ομάδες" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Πρόσβαση σε όλες τις υπηρεσίες και τις ρυθμίσεις συστήματος" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Ελέγξτε την καταχώρηση LDAP \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8711,7 +8736,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8724,7 +8749,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8732,11 +8757,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -8788,34 +8813,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "Εγκαθίσταται" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "Λήψη" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "Αλλαγή μέσου" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "αρχείο ρυθμίσεων: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/es/LC_MESSAGES/django.po b/plinth/locale/es/LC_MESSAGES/django.po index 09a6d4020..bb1c898d7 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2024-01-03 16:09+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Spanish Acuerdo de suscripción de Let's Encrypt " "antes de usar este servicio." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Certificados" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "No puedo probar: No hay dominios configurados." @@ -5617,7 +5641,7 @@ msgstr "" "target=\"_blank\">popcon.debian.org. La transmisión se realiza a través " "de la red Tor para mayor anonimato cuando la aplicación Tor está habilitada." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5628,7 +5652,7 @@ msgstr "" "cabeceras HTTP, controlar el acceso y eliminar publicidad y otra basura de " "Internet. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5645,15 +5669,15 @@ msgstr "" "config.privoxy.org\">http://config.privoxy.org/ o http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Proxy Web" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Acceso a {url} con proxy {proxy} en tcp {kind}" @@ -7134,7 +7158,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Sincronización de archivos" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7148,7 +7172,7 @@ msgstr "" "download/download-easy.html.en\">Navegador Tor para tener la mejor " "protección cuando navega por la red." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." @@ -7156,7 +7180,7 @@ msgstr "" "Esta aplicación proporciona servicios de retransmisión para contribuir a la " "red Tor y ayudar a otros a superar la censura." -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7168,31 +7192,31 @@ msgstr "" "a {box_name} desde internet incluso cuando se usa un ISP que limita los " "servidores en casa." -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Servicio Tor Onion" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Puente de retransmisión Tor" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Puerto de servidor Tor disponible" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Transporte Obfs3 registrado" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Transporte Obfs4 registrado" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Versión 3 para los servicios de Onion" @@ -7307,7 +7331,7 @@ msgstr "Actualizando la configuración" msgid "Error configuring app: {error}" msgstr "Error al configurar la aplicación: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7320,20 +7344,20 @@ msgstr "" "utilizado por varias aplicaciones para acceder a Internet a través de la red " "Tor. La censura del ISP puede eludirse usando puentes ascendentes." -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Proxy de Tor" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Proxy Socks para Tor" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Acceso a URL {url} sobre tcp {kind} vía Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Confirmar uso de Tor en {url} sobre tcp {kind}" @@ -7742,7 +7766,7 @@ msgstr "Las actualizaciones funcionales frecuentes están activadas." msgid "Starting distribution upgrade test." msgstr "Comenzando la prueba de la actualización de la distribución." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7753,7 +7777,7 @@ msgstr "" "requieren que además la cuenta de usuario conste en un grupo para " "autorizarles a acceder." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7765,25 +7789,25 @@ msgstr "" "sólo los usuarios del grupo admin pueden cambiar configuraciones de " "apps o del sistema." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Usuarias/os y grupos" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Acceso a todos los servicios y configuraciones del sistema" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Comprobar la entrada LDAP \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "Comprobar la configuración de nslcd \"{key} {value}\"" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "Comprueba la configuración del nsswitch \"{database}\"" @@ -8432,7 +8456,7 @@ msgstr "" "WordPress o blog a los administradores. Habilítalo solo después de ejecutar " "la configuración inicial de WordPress." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8454,7 +8478,7 @@ msgstr "" "de mapa y calendario. Se pueden compartir fotos sueltas con otras personas " "enviándoles un enlace directo." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8465,11 +8489,11 @@ msgstr "" "Para añadir más usuarios hay que crear cuentas con el mismo nombre tanto en " "Zoph como en {box_name} ." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Organizador de fotografías" @@ -8521,34 +8545,35 @@ msgstr "Esperando a empezar: {name}" msgid "Finished: {name}" msgstr "Terminó: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "El paquete {expression} no está disponible para instalar" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "El paquete {package_name} es la última versión ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "instalando" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "descargando" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "cambio de medio" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "archivo de configuración: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Tiempo máximo esperando al administrador de paquetes" diff --git a/plinth/locale/fa/LC_MESSAGES/django.po b/plinth/locale/fa/LC_MESSAGES/django.po index 7360d06ee..0f0f5435f 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:19+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Persian قرارداد اشتراک Let's Encrypt بخوانید و آن را بپذیرید." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 #, fuzzy #| msgid "Certificates (Let's Encrypt)" msgid "Let's Encrypt" msgstr "گواهی دیجیتال (Let's Encrypt)" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 #, fuzzy #| msgid "Certificate Status" msgid "Certificates" msgstr "وضعیت گواهی دیجیتال" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5442,14 +5463,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5460,15 +5481,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6852,7 +6873,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6861,13 +6882,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6875,31 +6896,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Service" msgid "Onion service is version 3" @@ -7003,7 +7024,7 @@ msgstr "پیکربندی فعلی شبکه" msgid "Error configuring app: {error}" msgstr "خطا هنگام نصب برنامه: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7012,20 +7033,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -7383,14 +7404,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "برنامه نصب شد." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7398,25 +7419,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8060,7 +8081,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8073,7 +8094,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8081,11 +8102,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -8137,34 +8158,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/fake/LC_MESSAGES/django.po b/plinth/locale/fake/LC_MESSAGES/django.po index f13b898fc..4ef4d3ba6 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2016-01-31 22:24+0530\n" "Last-Translator: Sunil Mohan Adapa \n" "Language-Team: Plinth Developers LET'S ENCRYPT SUBSCRIBER AGREEMENT BEFORE USING THIS SERVICE." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 #, fuzzy #| msgid "Certificates (Let's Encrypt)" msgid "Let's Encrypt" msgstr "CERTIFICATES (LET'S ENCRYPT)" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 #, fuzzy #| msgid "Certificate Status" msgid "Certificates" msgstr "CERTIFICATE STATUS" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5698,7 +5719,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 #, fuzzy #| msgid "" #| "Privoxy is a non-caching web proxy with advanced filtering capabilities " @@ -5713,7 +5734,7 @@ msgstr "" "ENHANCING PRIVACY, MODIFYING WEB PAGE DATA AND HTTP HEADERS, CONTROLLING " "ACCESS, AND REMOVING ADS AND OTHER OBNOXIOUS INTERNET JUNK." -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5735,19 +5756,19 @@ msgstr "" "config.privoxy.org\">HTTP://CONFIG.PRIVOXY.ORG/ OR HTTP://P.P.\"" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 #, fuzzy #| msgid "Enable Privoxy" msgid "Privoxy" msgstr "ENABLE PRIVOXY" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "Web Proxy" msgstr "PRIVOXY WEB PROXY" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "ACCESS {url} WITH PROXY {proxy} ON TCP{kind}" @@ -7225,7 +7246,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 #, fuzzy #| msgid "" #| "Tor is an anonymous communication system. You can learn more about it " @@ -7246,13 +7267,13 @@ msgstr "" "THE " "TOR BROWSER." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7260,33 +7281,33 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "TOR HIDDEN SERVICE" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "TOR BRIDGE RELAY" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "TOR RELAY PORT AVAILABLE" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "OBFS3 TRANSPORT REGISTERED" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "OBFS4 TRANSPORT REGISTERED" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Hidden Service" msgid "Onion service is version 3" @@ -7401,7 +7422,7 @@ msgstr "AN ERROR OCCURRED DURING CONFIGURATION." msgid "Error configuring app: {error}" msgstr "ERROR INSTALLING PACKAGES: {string} {details}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7410,22 +7431,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "Tor Proxy" msgstr "PRIVOXY WEB PROXY" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "ACCESS URL {url} ON TCP{kind} VIA TOR" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "CONFIRM TOR USAGE AT {url} ON TCP{kind}" @@ -7837,14 +7858,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "AUTOMATIC UPGRADES ENABLED" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7852,25 +7873,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "USERS AND GROUPS" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "CHECK LDAP ENTRY \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8542,7 +8563,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8555,7 +8576,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8563,11 +8584,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -8620,39 +8641,39 @@ msgstr "" msgid "Finished: {name}" msgstr "SERVICE DISABLED: {name}" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 #, fuzzy #| msgid "Installation" msgid "installing" msgstr "INSTALLATION" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 #, fuzzy #| msgid "Setting unchanged" msgid "media change" msgstr "SETTING UNCHANGED" -#: plinth/package.py:384 +#: plinth/package.py:388 #, fuzzy, python-brace-format #| msgid "Configuration" msgid "configuration file: {file}" msgstr "CONFIGURATION" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po index 3e5aa1c7a..7901d2ee2 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2024-01-05 07:09+0000\n" "Last-Translator: John Doe \n" "Language-Team: French package_name\" in a terminal (using Cockpit or SSH)." msgstr "" "%(box_name)s est un logiciel libre, couvert par la licence publique générale " -"Affero GNU. Le code source est disponible en ligne sur le dépôt %(box_name)s. En " +"Affero GNU. Le code source est disponible en ligne sur le dépôt %(box_name)s. En " "outre, le code source de tout paquet Debian peut être obtenu depuis le site " "Debian Sources ou bien en " "exécutant « apt source nom_du_paquet » dans un terminal (au moyen de " @@ -2951,8 +2976,8 @@ msgstr "Gestion de l’application I2P" msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:62 -#: plinth/modules/torproxy/__init__.py:55 +#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:63 +#: plinth/modules/torproxy/__init__.py:56 msgid "Anonymity Network" msgstr "Réseau d’anonymisation" @@ -3251,8 +3276,8 @@ msgid "" "project or create your own." msgstr "" -"Vous pouvez télécharger des paquets de contenu depuis le " +"Vous pouvez télécharger des paquets de contenu depuis le " "projet Kiwix ou bien créer les vôtres." @@ -3339,7 +3364,7 @@ msgstr "Ajouter un nouveau paquet de contenu" msgid "Failed to add content package." msgstr "Échec de l’ajout du paquet de contenu." -#: plinth/modules/letsencrypt/__init__.py:25 +#: plinth/modules/letsencrypt/__init__.py:27 #, python-brace-format msgid "" "A digital certificate allows users of a web service to verify the identity " @@ -3354,7 +3379,7 @@ msgstr "" "chaque domaine disponible. Elle le fait en prouvant qu’elle est propriétaire " "du domaine auprès de l’autorité de certification « Let’s Encrypt »." -#: plinth/modules/letsencrypt/__init__.py:31 +#: plinth/modules/letsencrypt/__init__.py:33 msgid "" "Let's Encrypt is a free, automated, and open certificate authority, run for " "the public's benefit by the Internet Security Research Group (ISRG). Please " @@ -3368,15 +3393,15 @@ msgstr "" "fr/repository/\">conditions d’utilisation de Let’s Encrypt avant " "d’utiliser ce service." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let’s Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Certificats de chiffrement" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Test impossible : aucun domaine n’est configuré." @@ -5726,7 +5751,7 @@ msgstr "" "transmission a lieu au travers du réseau Tor pourvu que l’appli Tor soit " "activée." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5738,7 +5763,7 @@ msgstr "" "accès et de retirer les publicités et autres éléments nuisibles de " "l’Internet. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5756,15 +5781,15 @@ msgstr "" "href=\"http://config.privoxy.org\">http://config.privoxy.org/ ou http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Serveur mandataire web" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Accéder à l’URL {url} avec le mandataire {proxy} sur tcp{kind}" @@ -7282,7 +7307,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Synchronisation de fichiers" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7296,7 +7321,7 @@ msgstr "" "recommande l’utilisation du Navigateur Tor." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." @@ -7304,7 +7329,7 @@ msgstr "" "Cette application fournit des services de relais pour contribuer au réseau " "Tor et aider les autres à venir à bout de la censure." -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7316,31 +7341,31 @@ msgstr "" "possible d'accéder à {box_name} depuis Internet même en utilisant un FAI qui " "limite les serveurs à la maison." -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Service onion Tor" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Relais Tor de type pont (« bridge relay »)" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Le port du relais Tor est disponible" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Abonné au transport obfs3" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Abonné au transport obfs4" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Le service Onion est de version 3" @@ -7455,7 +7480,7 @@ msgstr "Mise à jour de la configuration" msgid "Error configuring app: {error}" msgstr "Erreur lors de la configuration de l’application : {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7469,20 +7494,20 @@ msgstr "" "Internet par le réseau Tor. La censure des FAI peut être contourné en " "utilisant des ponts en amont (upstream bridges)." -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Mandataire Tor" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Mandataire Socks Tor" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Accédez à l’URL {url} sur tcp{kind} via Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Confirmez l’utilisation de Tor pour {url} sur tcp{kind}" @@ -7547,8 +7572,8 @@ msgid "" msgstr "" "En plus de l'interface web, des applications mobiles et de bureau peuvent " "également être utilisées pour contrôler Transmission sur {box_name}. Afin de " -"configurer les applications de contrôle à distance, utilisez l'URL /transmission-remote/rpc." +"configurer les applications de contrôle à distance, utilisez l'URL /transmission-remote/rpc." #: plinth/modules/transmission/__init__.py:44 #, python-brace-format @@ -7606,8 +7631,8 @@ msgid "" "for connecting." msgstr "" "Si vous utilisez Tiny Tiny RSS avec une application pour téléphone ou " -"ordinateur, saisissez l’URL /tt-rss ou bien tt-rss-app pour vous connecter." +"ordinateur, saisissez l’URL /tt-rss ou bien tt-rss-app pour vous connecter." #: plinth/modules/ttrss/__init__.py:50 plinth/modules/ttrss/manifest.py:44 msgid "Tiny Tiny RSS" @@ -7901,7 +7926,7 @@ msgstr "Mise à jour régulière des fonctionnalités activée." msgid "Starting distribution upgrade test." msgstr "Démarrage du test de mise à niveau de la distribution." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7912,7 +7937,7 @@ msgstr "" "Certaines applis demandent en outre que les comptes soient membres d’un " "groupe particulier pour pouvoir accéder à l’application." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7924,25 +7949,25 @@ msgstr "" "principale. En revanche, seuls les utilisateurs membres du groupe admin peuvent modifier les applications ou changer les paramètres système." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Utilisateurs et groupes" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Accès à tous les services et à la configuration du système" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Vérification de l’entrée LDAP « {search_item} »" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "Vérifier la configuration nslcd \"{key} {value}\"" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "Vérifier la configuration nsswitch \"{database}\"" @@ -8121,8 +8146,8 @@ msgid "" msgstr "" "Veuillez supprimer ces comptes depuis la ligne de commande et rafraîchir " "cette page pour pouvoir créer un compte utilisable avec la %(box_name)s. " -"Depuis la ligne de commande, exécutez la commande \"echo '{\"args\" : [" -"\"USERNAME\", \"PASSWORD\"], \"kwargs\" : {}}' | sudo /usr/share/plinth/" +"Depuis la ligne de commande, exécutez la commande \"echo '{\"args\" : " +"[\"USERNAME\", \"PASSWORD\"], \"kwargs\" : {}}' | sudo /usr/share/plinth/" "actions/actions users remove_user\". Si vous disposez déjà d’un compte " "utilisable avec la %(box_name)s, vous pouvez passer cette étape." @@ -8605,7 +8630,7 @@ msgstr "" "WordPress. N’activez cette option qu’après avoir réalisé la configuration " "initiale de WordPress." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8628,7 +8653,7 @@ msgstr "" "recherche, de carte et de calendrier. Les photos peuvent être partagées " "unitairement avec d’autres en leur envoyant un lien direct." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8639,11 +8664,11 @@ msgstr "" "l’administrateur Zoph. Pour ajouter des utilisateurs ceux-ci doivent être " "créés à la fois sur la {box_name} et dans Zoph avec le même identifiant." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Photothèque" @@ -8697,34 +8722,35 @@ msgstr "Attente du démarrage de : {name}" msgid "Finished: {name}" msgstr "Terminé : {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Le paquet {expression} n’est pas disponible à l’installation" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "Le paquet {package_name} est à la dernière version ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "installation en cours" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "téléchargement en cours" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "changement de support" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "fichier de configuration : {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Aucune réponse du gestionnaire de paquets" diff --git a/plinth/locale/gl/LC_MESSAGES/django.po b/plinth/locale/gl/LC_MESSAGES/django.po index ee5915ae9..fbe73137f 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-12-30 10:51+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Galician Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4915,14 +4930,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4933,15 +4948,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6220,7 +6235,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6229,13 +6244,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6243,31 +6258,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6363,7 +6378,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "Produciuse un erro ao instalar o aplicativo: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6372,20 +6387,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6732,14 +6747,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6747,25 +6762,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7346,7 +7361,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7359,7 +7374,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7367,11 +7382,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7421,34 +7436,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/gu/LC_MESSAGES/django.po b/plinth/locale/gu/LC_MESSAGES/django.po index 90d8f3aa9..c2b42690e 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2021-01-18 12:32+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Gujarati Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5188,14 +5209,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5206,15 +5227,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6508,7 +6529,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6517,13 +6538,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6531,31 +6552,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Dynamic DNS Service" msgid "Onion service is version 3" @@ -6659,7 +6680,7 @@ msgstr "સામાન્ય ગોઠવણી" msgid "Error configuring app: {error}" msgstr "એપ્લીકેશન પ્રસ્થાપિત કરતાં ભૂલ થઇ છે: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6668,20 +6689,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -7052,14 +7073,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "વપરાશકર્તા રજીસ્ટ્રેશન અક્ષમ છે" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7067,25 +7088,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7692,7 +7713,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7705,7 +7726,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7713,11 +7734,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7769,34 +7790,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po index d09c68f13..f2e401072 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-10-19 06:30+0000\n" "Last-Translator: Shaik \n" "Language-Team: Hindi %(service_name)s is running." msgid "Service {service_name} is running" @@ -43,17 +43,17 @@ msgstr "सर्विस %(service_name)s चल रहा है." msgid "Listening on {kind} port {listen_address}:{port}" msgstr "{kind} में सुन कर पोर्ट {listen_address} :{port}" -#: plinth/daemon.py:169 +#: plinth/daemon.py:167 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "{kind} में सुन कर पोर्ट{port}" -#: plinth/daemon.py:238 +#: plinth/daemon.py:236 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "{host}:{port} से जुड़े" -#: plinth/daemon.py:241 +#: plinth/daemon.py:240 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "{host}:{port} से नहीं जोड़ सखता" @@ -133,7 +133,7 @@ msgstr "{box_name} वेब इंटरफेस (प्लिंथ)" msgid "Access URL {url} on tcp{kind}" msgstr "इस यूआरएल का अपयोग करें {url} टीसीपी पर {kind}" -#: plinth/modules/apache/components.py:158 +#: plinth/modules/apache/components.py:157 #, python-brace-format msgid "Access URL {url}" msgstr "इस यूआरएल का अपयोग करें {url}" @@ -936,10 +936,10 @@ msgstr "हटाईये" msgid "Admin" msgstr "" -#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35 -#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56 -#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71 -#: plinth/modules/zoph/views.py:74 +#: plinth/modules/bepasty/views.py:88 plinth/modules/diagnostics/views.py:52 +#: plinth/modules/searx/views.py:35 plinth/modules/searx/views.py:46 +#: plinth/modules/security/views.py:56 plinth/modules/tor/views.py:73 +#: plinth/modules/torproxy/views.py:71 plinth/modules/zoph/views.py:74 msgid "Configuration updated." msgstr "कॉन्फ़िगरेशन अपडेट किया." @@ -1445,18 +1445,18 @@ msgstr "" msgid "Use the following shared authentication secret:" msgstr "निम्नलिखित डिस्कस उपयोग में है:" -#: plinth/modules/datetime/__init__.py:20 +#: plinth/modules/datetime/__init__.py:21 msgid "" "Network time server is a program that maintains the system time in " "synchronization with servers on the Internet." msgstr "" "नेटवर्क समय सर्वर एक प्रोग्रम है कि सिस्टम समय इंटरनेट सर्वरसॅ के सात में बनाए रखता है." -#: plinth/modules/datetime/__init__.py:67 +#: plinth/modules/datetime/__init__.py:68 msgid "Date & Time" msgstr "तारीख और समय" -#: plinth/modules/datetime/__init__.py:121 +#: plinth/modules/datetime/__init__.py:122 msgid "Time synchronized to NTP server" msgstr "" @@ -1525,7 +1525,7 @@ msgstr "डायरेक्टरी डाउनलोड करें" msgid "Bittorrent client written in Python/PyGTK" msgstr "बिटटोरेंट ग्राहक पाईथोन/पाईजिटिके" -#: plinth/modules/diagnostics/__init__.py:25 +#: plinth/modules/diagnostics/__init__.py:27 msgid "" "The system diagnostic test will run a number of checks on your system to " "confirm that applications and services are working as expected." @@ -1533,92 +1533,109 @@ msgstr "" "पुष्टि करने के लिये कि एप्लिकेशन या सेवाएं अच्छेसे चल रहे है, सिस्टम निदान परिक्षा बहुत सारे " "चेकों करोगे." -#: plinth/modules/diagnostics/__init__.py:49 -#: plinth/modules/diagnostics/__init__.py:235 +#: plinth/modules/diagnostics/__init__.py:51 +#: plinth/modules/diagnostics/__init__.py:236 msgid "Diagnostics" msgstr "निदानिकी" -#: plinth/modules/diagnostics/__init__.py:93 +#: plinth/modules/diagnostics/__init__.py:95 #, fuzzy #| msgid "Quassel" msgid "passed" msgstr "क्वासेल" -#: plinth/modules/diagnostics/__init__.py:94 +#: plinth/modules/diagnostics/__init__.py:96 #: plinth/modules/networks/views.py:50 #, fuzzy #| msgid "Setup failed." msgid "failed" msgstr "सेटअप विफल." -#: plinth/modules/diagnostics/__init__.py:95 +#: plinth/modules/diagnostics/__init__.py:97 msgid "error" msgstr "" -#: plinth/modules/diagnostics/__init__.py:96 +#: plinth/modules/diagnostics/__init__.py:98 msgid "warning" msgstr "" #. Translators: This is the unit of computer storage Mebibyte similar to #. Megabyte. -#: plinth/modules/diagnostics/__init__.py:201 +#: plinth/modules/diagnostics/__init__.py:202 msgid "MiB" msgstr "" #. Translators: This is the unit of computer storage Gibibyte similar to #. Gigabyte. -#: plinth/modules/diagnostics/__init__.py:206 +#: plinth/modules/diagnostics/__init__.py:207 msgid "GiB" msgstr "" -#: plinth/modules/diagnostics/__init__.py:213 +#: plinth/modules/diagnostics/__init__.py:214 msgid "You should disable some apps to reduce memory usage." msgstr "" -#: plinth/modules/diagnostics/__init__.py:218 +#: plinth/modules/diagnostics/__init__.py:219 msgid "You should not install any new apps on this system." msgstr "" -#: plinth/modules/diagnostics/__init__.py:230 +#: plinth/modules/diagnostics/__init__.py:231 #, no-python-format, python-brace-format msgid "" "System is low on memory: {percent_used}% used, {memory_available} " "{memory_available_unit} free. {advice_message}" msgstr "" -#: plinth/modules/diagnostics/__init__.py:232 +#: plinth/modules/diagnostics/__init__.py:233 msgid "Low Memory" msgstr "" -#: plinth/modules/diagnostics/__init__.py:254 +#: plinth/modules/diagnostics/__init__.py:264 #, fuzzy #| msgid "Run Diagnostics" msgid "Running diagnostics" msgstr "निदानिकी चलिये" -#: plinth/modules/diagnostics/__init__.py:295 +#: plinth/modules/diagnostics/__init__.py:307 #, no-python-format, python-brace-format msgid "Found {issue_count} issues during routine tests." msgstr "" -#: plinth/modules/diagnostics/__init__.py:296 +#: plinth/modules/diagnostics/__init__.py:308 #, fuzzy #| msgid "Diagnostic Results" msgid "Diagnostics results" msgstr "निदानिकी का परिणाम" -#: plinth/modules/diagnostics/__init__.py:301 +#: plinth/modules/diagnostics/__init__.py:313 #, fuzzy #| msgid "Diagnostic Results" msgid "Go to diagnostics results" msgstr "निदानिकी का परिणाम" -#: plinth/modules/diagnostics/templates/diagnostics.html:16 -#: plinth/modules/diagnostics/templates/diagnostics_button.html:11 -msgid "Run Diagnostics" +#: plinth/modules/diagnostics/forms.py:11 +#, fuzzy +#| msgid "Enable Subdomains" +msgid "Enable daily run" +msgstr "सबडोमेन सक्षम करें" + +#: plinth/modules/diagnostics/forms.py:12 +msgid "When enabled, diagnostic checks will run once a day." +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:11 +#, fuzzy +#| msgid "Diagnostics" +msgid "Diagnostics Run" +msgstr "निदानिकी" + +#: plinth/modules/diagnostics/templates/diagnostics.html:17 +#, fuzzy +#| msgid "Run Diagnostics" +msgid "Run Diagnostics Now" msgstr "निदानिकी चलिये" -#: plinth/modules/diagnostics/templates/diagnostics.html:21 +#: plinth/modules/diagnostics/templates/diagnostics.html:22 #, fuzzy #| msgid "Results" msgid "View Results" @@ -1647,6 +1664,10 @@ msgstr "सटअप शुरु करें" msgid "This app does not support diagnostics" msgstr "यह मॉड्यूल निदानिकी कि नहीं समर्थन करता है" +#: plinth/modules/diagnostics/templates/diagnostics_button.html:11 +msgid "Run Diagnostics" +msgstr "निदानिकी चलिये" + #: plinth/modules/diagnostics/templates/diagnostics_full.html:17 #, fuzzy #| msgid "Run Diagnostics" @@ -1678,7 +1699,7 @@ msgstr "परीक्षा" msgid "Result" msgstr "परिणाम" -#: plinth/modules/diagnostics/views.py:100 +#: plinth/modules/diagnostics/views.py:107 msgid "Diagnostic Test" msgstr "निदान परिक्षा" @@ -2286,7 +2307,7 @@ msgstr "" msgid "Direct passthrough rules exist" msgstr "" -#: plinth/modules/firewall/components.py:137 +#: plinth/modules/firewall/components.py:136 #, fuzzy, python-brace-format #| msgid "%(service_name)s is available only on internal networks." msgid "Port {name} ({details}) available for internal networks" @@ -2298,7 +2319,7 @@ msgstr "%(service_name)s सिर्फ आंतरिक नेट msgid "Port {name} ({details}) available for external networks" msgstr "%(service_name)s सिर्फ आंतरिक नेटवर्क्स पर उपलब्ध है." -#: plinth/modules/firewall/components.py:154 +#: plinth/modules/firewall/components.py:153 #, python-brace-format msgid "Port {name} ({details}) unavailable for external networks" msgstr "" @@ -2950,8 +2971,8 @@ msgstr "एप्लिकेशन सक्षम करें" msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:62 -#: plinth/modules/torproxy/__init__.py:55 +#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:63 +#: plinth/modules/torproxy/__init__.py:56 msgid "Anonymity Network" msgstr "गुमनामी नेटवर्क" @@ -3326,7 +3347,7 @@ msgstr "नया इंट्रोड्यूसर जोड़ें" msgid "Failed to add content package." msgstr "समूह से यूसर को जोड़ने में विफल." -#: plinth/modules/letsencrypt/__init__.py:25 +#: plinth/modules/letsencrypt/__init__.py:27 #, python-brace-format msgid "" "A digital certificate allows users of a web service to verify the identity " @@ -3340,7 +3361,7 @@ msgstr "" "प्रमाणपत्र सेटअप प्राप्त कर सकता है. {box_name} यह लेटस एंक्रिप्ट का डोमेन का एकमात्र " "मालिक सताबित करके एेसा करता है." -#: plinth/modules/letsencrypt/__init__.py:31 +#: plinth/modules/letsencrypt/__init__.py:33 msgid "" "Let's Encrypt is a free, automated, and open certificate authority, run for " "the public's benefit by the Internet Security Research Group (ISRG). Please " @@ -3352,15 +3373,15 @@ msgstr "" "href=\"https://letsencrypt.org/repository/\"> लेटस एंक्रिप्ट ग्राहक समझौते इस " "सिरविस उपयोग करने से पहले." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "लेटस एंक्रिप्ट" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "प्रमाण पत्र" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5611,7 +5632,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5621,7 +5642,7 @@ msgstr "" "लिए, वेब पेज डेटा और HTTP हेडर को मोडिफाई करने के लिए, ऐकसेस को नियंत्रित करने के लिए " "और एड या दुसरा इंटरनेट का जंक हटाने के लिए. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5643,15 +5664,15 @@ msgstr "" "org\">http://config.privoxy.org/ या http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "प्रिवोक्सी" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "वेब प्रॉक्सी" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "{url} ऐकसेस करें प्रॉक्सी लेकर {proxy} टीसीपी पर{kind}" @@ -7162,7 +7183,7 @@ msgstr "सिंकतिन्ग" msgid "File Synchronization" msgstr "फ़ाइल सिंक्रनाइज़ेशन" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7175,13 +7196,13 @@ msgstr "" "टो प्रोजेक्ट सिफारिश की है कि आप टो ब्राउज़र उपयोग करें." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7189,33 +7210,33 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "टोर" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "टोर हिडन सर्विस" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "टो ब्रिज रीले" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "टोर रीले पोर्ट उपलब्ध है" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 ट्रांसपोर्ट पंजीकृत" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 ट्रांसपोर्ट पंजीकृत" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Hidden Service" msgid "Onion service is version 3" @@ -7338,7 +7359,7 @@ msgstr "कॉंफ़िगरेशन के दौरान कूछ त msgid "Error configuring app: {error}" msgstr "एप्लिकेशन नहीं इंस्टॉल जा सकता: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7347,22 +7368,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "Tor Socks Proxy" msgid "Tor Proxy" msgstr "टोर सोक्स प्रॉक्सी" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "टोर सोक्स प्रॉक्सी" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "यूआरएल एक्सेस करें {url} टीसीपी पर {kind} टोर के माध्यम से" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "टोर उपयोग की पुष्टि करें {url} पर टीसीपी पर {kind}" @@ -7788,14 +7809,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "ऑटोमेटिक अपग्रेडस सक्षम किया गया" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7803,25 +7824,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "यूसरस और समूह" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "सब सर्विसस और सिस्टम सेटिंग्स तक पहुंच" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "एलडीएपी प्रविष्टि चेक करें \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8500,7 +8521,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8513,7 +8534,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8521,11 +8542,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -8578,34 +8599,34 @@ msgstr "" msgid "Finished: {name}" msgstr "सर्विस सक्षम किया गया:{name}" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "इंस्टॉलिंग" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "डाउनलोडिंग" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "मीडिया बदलाव" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "कॉंफ़िगरेशन फ़ाइल: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/hu/LC_MESSAGES/django.po b/plinth/locale/hu/LC_MESSAGES/django.po index e488438a3..137e40e5c 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-10-24 18:39+0000\n" "Last-Translator: Sunil Mohan Adapa \n" "Language-Team: Hungarian Let's Encrypt aláírási megállapodását " "mielőtt használnád ezt a szolgáltatást." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Tanúsítványok" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Sikertelen tesztelés: Nincsenek konfigurált domainek." @@ -5675,7 +5699,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5686,7 +5710,7 @@ msgstr "" "Módosítja a weboldal adatait és HTTP fejléceket, szabályozza a hozzáférést, " "eltávolítja a hirdetéseket és az egyéb nem kívánt internetes szemetet. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5708,15 +5732,15 @@ msgstr "" "a címeken: http://config.privoxy.org/ és http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Web proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -7211,7 +7235,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Fájlszinkronizáció" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7225,13 +7249,13 @@ msgstr "" "torproject.org/download/download-easy.html.en\">Tor böngésző használatát " "javasolja." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7239,31 +7263,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Tor Onion szolgáltatás" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Tor híd relay" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Tor relay port elérhető" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 átvitel regisztrálva" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 átvitel regisztrálva" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Onion Service" msgid "Onion service is version 3" @@ -7386,7 +7410,7 @@ msgstr "Beállítások frissítése" msgid "Error configuring app: {error}" msgstr "Hiba lépett fel az alkalmazás konfigurációja során: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7395,22 +7419,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "Tor Socks Proxy" msgid "Tor Proxy" msgstr "Tor Socks proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor Socks proxy" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Hozzáférés a {url} URL-hez tcp{kind}-on Tor használatával" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Hagyd jóvá a Tor használatát {url} célcímhez tcp{kind} protokollon" @@ -7823,7 +7847,7 @@ msgstr "Gyakori funkciófrissítések aktiválva." msgid "Starting distribution upgrade test." msgstr "Disztribúció frissítés engedélyezve" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7834,7 +7858,7 @@ msgstr "" "alkalmazások megkövetelik továbbá, hogy a felhasználói fiók egy csoport " "tagja legyen, hogy a felhasználó hozzáférhessen az alkalmazáshoz." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7846,25 +7870,25 @@ msgstr "" "az admin csoport felhasználói módosíthatják az alkalmazásokat vagy " "a rendszerbeállításokat." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Felhasználók és csoportok" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Hozzáférés az összes szolgáltatáshoz és rendszerbeállításhoz" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "LDAP-bejegyzés ellenőrzése: \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8523,7 +8547,7 @@ msgstr "" "teszi lehetővé a WordPress webhely vagy blog megtekintését. Csak a WordPress " "kezdeti beállításának elvégzése után engedélyezd." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8545,7 +8569,7 @@ msgstr "" "tartózkodási hely alapján. Az egyes fényképek közvetlen link elküldésével " "megoszthatók másokkal." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8557,11 +8581,11 @@ msgstr "" "rendszerben is létre kell hozni egy-egy fiókot ugyanazzal a " "felhasználónévvel." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Fotó szervező" @@ -8616,34 +8640,34 @@ msgstr "" msgid "Finished: {name}" msgstr "Szolgáltatás letiltva: {name}" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "A(z) {package_name} a legfrissebb verzió ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "telepítés" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "letöltés" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "adathordozó csere" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "konfigurációs fájl: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po index ae815170e..26b06fb4d 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:19+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Indonesian Perjanjian Pelanggan Let's Encrypt sebelum menggunakan " "layanan ini." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Sertifikat" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Tidak dapat menguji: Tidak ada domain yang dikonfigurasi." @@ -5355,14 +5376,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5373,15 +5394,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Proksi Web" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Akses {url} dengan proksi {proxy} pada tcp{kind}" @@ -6703,7 +6724,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6712,13 +6733,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6726,31 +6747,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Service" msgid "Onion service is version 3" @@ -6854,7 +6875,7 @@ msgstr "Terjadi kesalahan selama konfigurasi." msgid "Error configuring app: {error}" msgstr "Kesalahan pemasangan aplikasi: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6863,22 +6884,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "I2p proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -7252,14 +7273,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "Pembaruan distribusi dinonaktifkan" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7267,25 +7288,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7894,7 +7915,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7907,7 +7928,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7915,11 +7936,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7969,34 +7990,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "memasang" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "mengunduh" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po index a6a16c44e..40fc696dc 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:19+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Italian i termini dell'accordo dell'abbonato Let's " "Encrypt prima utilizzare questo servizio." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Certificati" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5482,7 +5503,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5493,7 +5514,7 @@ msgstr "" "header HTTP, controllando gli accessi, rimuovendo pubblicità e altra odiosa " "spazzatura dell'Internet. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5515,15 +5536,15 @@ msgstr "" "documentazione su http://config." "Privoxy.org/ o http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Web Proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Accesso {url} con proxy {proxy} su tcp{kind}" @@ -6837,7 +6858,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6846,13 +6867,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6860,31 +6881,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Onion Service" msgid "Onion service is version 3" @@ -6984,7 +7005,7 @@ msgstr "Aggiornamento della configurazione" msgid "Error configuring app: {error}" msgstr "Errore durante l'installazione dell'applicazione: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6993,22 +7014,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "Proxy I2P" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -7364,14 +7385,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7379,25 +7400,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7976,7 +7997,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7989,7 +8010,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7997,11 +8018,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -8052,34 +8073,34 @@ msgstr "" msgid "Finished: {name}" msgstr "Servizio disabilitato: {name}" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/ja/LC_MESSAGES/django.po b/plinth/locale/ja/LC_MESSAGES/django.po index 5498bb091..7c113dcbe 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-05-07 23:50+0000\n" "Last-Translator: Nobuhiro Iwamatsu \n" "Language-Team: Japanese Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4899,14 +4914,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4917,15 +4932,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6198,7 +6213,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6207,13 +6222,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6221,31 +6236,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6340,7 +6355,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6349,20 +6364,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6703,14 +6718,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6718,25 +6733,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7315,7 +7330,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7328,7 +7343,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7336,11 +7351,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7389,34 +7404,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/kn/LC_MESSAGES/django.po b/plinth/locale/kn/LC_MESSAGES/django.po index 6164d463b..20479dda4 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2020-07-16 16:41+0000\n" "Last-Translator: Yogesh \n" "Language-Team: Kannada Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4899,14 +4914,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4917,15 +4932,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6200,7 +6215,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6209,13 +6224,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6223,31 +6238,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6342,7 +6357,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6351,20 +6366,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6705,14 +6720,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6720,25 +6735,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7317,7 +7332,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7330,7 +7345,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7338,11 +7353,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7391,34 +7406,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/lt/LC_MESSAGES/django.po b/plinth/locale/lt/LC_MESSAGES/django.po index 73003cb5c..0062e31c1 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:19+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Lithuanian Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4901,14 +4916,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4919,15 +4934,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6200,7 +6215,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6209,13 +6224,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6223,31 +6238,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6342,7 +6357,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6351,22 +6366,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "I2P Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6707,14 +6722,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6722,25 +6737,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7319,7 +7334,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7332,7 +7347,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7340,11 +7355,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7393,34 +7408,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/lv/LC_MESSAGES/django.po b/plinth/locale/lv/LC_MESSAGES/django.po index bab6192db..cedb4a4de 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:20+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Latvian Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4900,14 +4915,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4918,15 +4933,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6199,7 +6214,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6208,13 +6223,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6222,31 +6237,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6341,7 +6356,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6350,22 +6365,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "I2P Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6706,14 +6721,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6721,25 +6736,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7318,7 +7333,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7331,7 +7346,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7339,11 +7354,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7392,34 +7407,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/nb/LC_MESSAGES/django.po b/plinth/locale/nb/LC_MESSAGES/django.po index f56324f4b..c2e3eea45 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-08-16 06:52+0000\n" "Last-Translator: Petter Reinholdtsen \n" "Language-Team: Norwegian Bokmål Let's " "Encrypt Subscriber Agreement før tjenesten brukes." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Sertifikater" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5686,7 +5709,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5697,7 +5720,7 @@ msgstr "" "overskrifter, kontrollere tilgang, og fjerne annonser og annet ubehagelig " "Internett-søppel. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5719,15 +5742,15 @@ msgstr "" "href=\"http://config.privoxy.org\">http://config.privoxy.org/ eller http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Mellomtjener for nettet" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Tilgang {url} med mellomtjener {proxy} på tcp{kind}" @@ -7229,7 +7252,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Filsynkronisering" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7243,13 +7266,13 @@ msgstr "" "href=\"https://www.torproject.org/download/download-easy.html.en\">Tor " "Browser." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7257,31 +7280,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Tor-løktjeneste" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Tor bro-stafettvideresendingsoppsett" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Tor relay-port tilgjengelig" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3-transport registrert" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4-transport registrert" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Onion Service" msgid "Onion service is version 3" @@ -7402,7 +7425,7 @@ msgstr "Oppdaterer oppsett" msgid "Error configuring app: {error}" msgstr "Feil ved programinstallering: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7411,22 +7434,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "Tor Socks Proxy" msgid "Tor Proxy" msgstr "Tor Socks-mellomtjener" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor Socks-mellomtjener" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Adgang til URL {url} på tcp{kind} via Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Bekreft Tor-bruk på {url} via tcp{kind}" @@ -7836,7 +7859,7 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "Starter test av distribusjonsoppgradering." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7847,7 +7870,7 @@ msgstr "" "kan kreve at en brukerkonto er medlem av en gruppe for å gi brukeren tilgang " "til programmet." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7858,25 +7881,25 @@ msgstr "" "liste over programmer som er relevante for dem på hjemmesiden. Dog kan kun " "brukere av admin-gruppen endre programmer eller systeminnstillinger." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Brukere og grupper" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Tilgang til alle tjenester og systeminnstillinger" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Sjekk LDAP-oppføring «{search_item}»" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8530,7 +8553,7 @@ msgstr "" "nettstedet eller bloggen. Aktiver kun etter at oppsettet av Wordpress er " "gjennomført." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8543,7 +8566,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8551,11 +8574,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Organiserer fotografier" @@ -8609,34 +8632,35 @@ msgstr "" msgid "Finished: {name}" msgstr "Tjeneste deaktivert: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Pakke {expression} er ikke tilgjengelig for installasjon" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "Pakke {package_name} er siste versjon ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "installering" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "laster ned" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "mediaendring" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "oppsettsfil: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/nl/LC_MESSAGES/django.po b/plinth/locale/nl/LC_MESSAGES/django.po index 235c2b122..4fb579426 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-12-03 21:05+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Dutch Let's Encrypt Subscriber " "Agreement vóór het gebruik van deze dienst." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Certificaten" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Kan niet testen: Er zijn geen domeinen ingesteld." @@ -5620,7 +5645,7 @@ msgstr "" "De insturen gebeurt via het Tor-netwerk voor extra anonimiteit als de Tor-" "app is ingeschakeld." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5630,7 +5655,7 @@ msgstr "" "om privacy te verhogen, webpagina data en HTTP headers te wijzigen, toegang " "te controleren, en advertenties en andere rommel te weren. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5647,15 +5672,15 @@ msgstr "" "href=\"http://config.privoxy.org\">http://config.privoxy.org/ of http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Web Proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Gebruik {url} via proxy {proxy} op tcp{kind}" @@ -7138,7 +7163,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Bestandssynchronisatie" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7152,7 +7177,7 @@ msgstr "" "de Tor " "Browser aan." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." @@ -7160,7 +7185,7 @@ msgstr "" "Deze applicatie biedt relay-diensten om bij te dragen aan het Tor-netwerk en " "anderen te helpen censuur te overwinnen." -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7172,31 +7197,31 @@ msgstr "" "toegang tot {box_name} via internet, zelfs als een ISP die servers vanuit " "thuis beperkt." -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Tor-Onion Dienst" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Tor Bridge Relay" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Tor relay poort beschikbaar" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 transport geregistreerd" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 transport geregistreerd" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Onion service is versie 3" @@ -7313,7 +7338,7 @@ msgstr "Configuratie bijwerken" msgid "Error configuring app: {error}" msgstr "Fout bij het configureren van de toepassing: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7327,20 +7352,20 @@ msgstr "" "krijgen tot internet. ISP-censuur kan worden omzeild door upstream bridges " "te gebruiken." -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Tor Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor Socks Proxy" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Gebruik URL {url} op tcp{kind} via Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Bevestig Tor gebruik met {url} via tcp{kind}" @@ -7744,7 +7769,7 @@ msgstr "Tussentijdse Software Updates zijn ingeschakeld." msgid "Starting distribution upgrade test." msgstr "Start de distributie upgrade test." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7755,7 +7780,7 @@ msgstr "" "apps moet een gebruikersaccount deel uitmaken van een groep om de gebruiker " "toegang te geven tot de toepassing." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7767,25 +7792,25 @@ msgstr "" "die lid zijn van de admin -groep mogen toepassings- of " "systeeminstellingen wijzigen." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Gebruikers en Groepen" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Toegang tot alle diensten en systeeminstellingen" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Zoek LDAP item \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "Controleer nslcd configuratie \"{key} {value}\"" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "Controleer nsswitch config \"{database}\"" @@ -8438,7 +8463,7 @@ msgstr "" "WordPress-site of blog bekijken. Alleen inschakelen na het uitvoeren van de " "eerste WordPress-configuratie." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8460,7 +8485,7 @@ msgstr "" "van zoekwoorden, kaart- en kalenderweergaven. Individuele foto's kunnen met " "anderen worden gedeeld door een directe link te sturen." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8471,11 +8496,11 @@ msgstr "" "Zoph. Voor extra gebruikers moeten zowel in {box_name} als in Zoph accounts " "worden aangemaakt met dezelfde gebruikersnaam." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Foto Organisator" @@ -8529,34 +8554,35 @@ msgstr "Wachten om te starten: {name}" msgid "Finished: {name}" msgstr "Klaar: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Pakket {expression} is niet beschikbaar voor installatie" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "Pakket {package_name} is de nieuwste versie ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "installeren" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "downloaden" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "media wijzigen" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "configuratiebestand: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Time-out wachtend op pakketbeheerder" diff --git a/plinth/locale/pl/LC_MESSAGES/django.po b/plinth/locale/pl/LC_MESSAGES/django.po index ab1bda6d6..41d53a275 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:19+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Polish Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Certyfikaty" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5307,14 +5328,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5325,15 +5346,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6679,7 +6700,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6688,13 +6709,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6702,31 +6723,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Dynamic DNS Service" msgid "Onion service is version 3" @@ -6830,7 +6851,7 @@ msgstr "Podczas konfiguracji wystąpił błąd." msgid "Error configuring app: {error}" msgstr "Błąd podczas instalowania aplikacji: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6839,22 +6860,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "I2P Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -7231,14 +7252,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "Rejestracja użytkowników wyłączona" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7246,25 +7267,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7906,7 +7927,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7919,7 +7940,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7927,11 +7948,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7983,34 +8004,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "plik konfiguracyjny: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/pt/LC_MESSAGES/django.po b/plinth/locale/pt/LC_MESSAGES/django.po index 30e4eea6f..bef74144e 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-05-22 15:50+0000\n" "Last-Translator: Frederico Gomes \n" "Language-Team: Portuguese Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5206,14 +5227,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5224,15 +5245,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Acesse {url} com proxy {proxy} em tcp{kind}" @@ -6534,7 +6555,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6543,13 +6564,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6557,31 +6578,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Service discovery server is running" msgid "Onion service is version 3" @@ -6685,7 +6706,7 @@ msgstr "Configuração Geral" msgid "Error configuring app: {error}" msgstr "Erro a instalar a aplicação: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6694,22 +6715,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "I2P Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -7068,14 +7089,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "A iniciar teste de atualização de distribuição." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7083,25 +7104,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7706,7 +7727,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7719,7 +7740,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7727,11 +7748,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7780,36 +7801,36 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 #, fuzzy #| msgid "Setting unchanged" msgid "media change" msgstr "Definição inalterada" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "ficheiro de configuração: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po index 5feb9dbba..a2d9415b1 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-10-10 18:05+0000\n" "Last-Translator: Nikita Epifanov \n" "Language-Team: Russian Let's Encrypt Subscriber Agreement перед " "использованием этой службы." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Сертификаты" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Невозможно провести тестирование: Не настроены домены." @@ -5637,7 +5661,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5648,7 +5672,7 @@ msgstr "" "HTTP, контроля доступа и удаления рекламы и прочего неприятного мусора в " "интернете. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5670,15 +5694,15 @@ msgstr "" "config.privoxy.org\">http://config.privoxy.org или http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Web-прокси" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Доступ к {url} с прокси {proxy} на tcp{kind}" @@ -7159,7 +7183,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Синхронизация файлов" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7173,13 +7197,13 @@ msgstr "" "href=\"https://www.torproject.org/download/download-easy.html.en\">Tor " "Browser." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7187,31 +7211,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Сервис Tor Onion" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Ретранслятор Tor типа мост" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Доступен порт трансляции Tor" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 транспорт зарегестрирован" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 транспорт зарегистрирован" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Onion Service" msgid "Onion service is version 3" @@ -7335,7 +7359,7 @@ msgstr "Произошла ошибка во время настройки." msgid "Error configuring app: {error}" msgstr "Ошибка при установке приложения: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7344,22 +7368,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "Tor Socks Proxy" msgid "Tor Proxy" msgstr "Tor Socks прокси" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor Socks прокси" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Доступ к {url} по tcp{kind} через Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Подтверждение использования Tor в {url} по tcp {kind}" @@ -7771,7 +7795,7 @@ msgstr "Активированы частые обновления функци msgid "Starting distribution upgrade test." msgstr "Обновление дистрибутива включено" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7783,7 +7807,7 @@ msgstr "" "запись пользователя была частью группы, чтобы разрешить пользователю доступ " "к приложению." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7795,25 +7819,25 @@ msgstr "" "пользователи группы admin могут изменять приложения или системные " "настройки." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Пользователи и группы" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Доступ ко всем сервисам и настройкам системы" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Проверьте запись LDAP \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8469,7 +8493,7 @@ msgstr "" "просматривать сайт или блог WordPress. Включайте только после первоначальной " "настройки WordPress." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8492,7 +8516,7 @@ msgstr "" "месте. Отдельными фотографиями можно поделиться с другими, отправив прямую " "ссылку." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8503,11 +8527,11 @@ msgstr "" "Zoph. Для дополнительных пользователей необходимо создать учетные записи как " "в {box_name}, так и в Zoph с тем же именем пользователя." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Организатор фотографий" @@ -8562,34 +8586,35 @@ msgstr "" msgid "Finished: {name}" msgstr "Служба выключена: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Пакет {expression} недоступен для установки" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "Пакет {package_name} последней версией ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "Установка" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "Загрузка" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "изменение медиа" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "Файл настроек: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/si/LC_MESSAGES/django.po b/plinth/locale/si/LC_MESSAGES/django.po index 261543e4c..e196f5040 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2021-04-27 13:32+0000\n" "Last-Translator: HelaBasa \n" "Language-Team: Sinhala Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4899,14 +4914,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4917,15 +4932,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6198,7 +6213,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6207,13 +6222,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6221,31 +6236,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6340,7 +6355,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6349,20 +6364,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6703,14 +6718,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6718,25 +6733,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7315,7 +7330,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7328,7 +7343,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7336,11 +7351,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7389,34 +7404,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/sl/LC_MESSAGES/django.po b/plinth/locale/sl/LC_MESSAGES/django.po index d78ec8b3d..c1a2c70a6 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:19+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Slovenian Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5136,14 +5151,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5154,15 +5169,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6458,7 +6473,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6467,13 +6482,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6481,31 +6496,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6603,7 +6618,7 @@ msgstr "Konfiguracija je posodobljena" msgid "Error configuring app: {error}" msgstr "Napaka ob nameščanju aplikacije: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6612,22 +6627,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "I2P Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6992,14 +7007,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7007,25 +7022,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7640,7 +7655,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7653,7 +7668,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7661,11 +7676,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7715,34 +7730,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/sq/LC_MESSAGES/django.po b/plinth/locale/sq/LC_MESSAGES/django.po index e1a41b43d..c068ea70c 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-11-03 20:31+0000\n" "Last-Translator: Besnik Bleta \n" "Language-Team: Albanian Marrëveshje " "Pajtimtari Let’s Encrypt before using this service." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Dëshmi" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "S’mund të testojë: S’ka përkatësi të formësuara." @@ -5661,7 +5685,7 @@ msgstr "" "debian.org. Parashtrimi bëhet përmes rrjetit Tor, për anonimitet shtesë, " "nëse është i aktivizuar aplikacioni Tor." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5672,7 +5696,7 @@ msgstr "" "faqesh web dhe kryesh HTTP, kontrollim hyrjesh, dhe heqje reklamash dhe të " "tjera hedhurina të papëlqyeshme Internet. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5689,15 +5713,15 @@ msgstr "" "te http://config.privoxy.org/ ose " "http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Ndërmjetës Web" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Hapni {url} me ndërmjetësin {proxy} në tcp{kind}" @@ -7185,7 +7209,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Njëkohësim Kartelash" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7199,13 +7223,13 @@ msgstr "" "përdorni Shfletuesin Tor." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7213,31 +7237,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Shërbim Onion Tor" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Rele Ure Tor" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Portë releje Tor e gatshme" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "U regjistruar transport Obfs3" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "U regjistruar transport Obfs3" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Onion Service" msgid "Onion service is version 3" @@ -7361,7 +7385,7 @@ msgstr "Po përditësohet formësimi" msgid "Error configuring app: {error}" msgstr "Gabim në formësimin e aplikacionit: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7370,22 +7394,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "Tor Socks Proxy" msgid "Tor Proxy" msgstr "Ndërmjetës SOCKS Tor" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Ndërmjetës SOCKS Tor" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "URL hyrjesh {url} në tcp{kind} përmes Tor-i" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Ripohoni përdorim Tor-i te {url} në tcp{kind}" @@ -7798,7 +7822,7 @@ msgstr "Përditësime të shpeshta veçorish të aktivizuara." msgid "Starting distribution upgrade test." msgstr "Po fillohet provë përmirësimi shpërndarjeje." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7809,7 +7833,7 @@ msgstr "" "aplikacione kërkojnë doemos një llogari përdoruesi, për të qenë pjesë e një " "grupi që autorizon përdoruesin të përdorë aplikacionin." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7821,25 +7845,25 @@ msgstr "" "vetëm përdoruesit e grupit përgjegjës mund të ndryshojnë " "aplikacionet, apo rregullimet e sistemit." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Përdorues dhe Grupe" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Hyrje te krejt shërbimet dhe rregullime të sistemit" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Kontrolloni zërin LDAP \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8494,7 +8518,7 @@ msgstr "" "sajtin ose blogun WordPress. Aktivizojeni vetëm pasi të jetë kryer ujdisja " "fillestare e WordPress-it." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8516,7 +8540,7 @@ msgstr "" "pamjet hartë dhe kalendar. Foto individuale mund të ndahen me të tjerë duke " "dërguar një lidhje të drejtpërdrejtë." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8527,11 +8551,11 @@ msgstr "" "Zoph. Për përdorues të tjerë, llogaritë mund të krijohen si në {box_name}, " "ashtu edhe në Zoph, me të njëjtin emër përdoruesi." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Sistemues Fotografish" @@ -8584,35 +8608,36 @@ msgstr "Po pritet të fillohet: {name}" msgid "Finished: {name}" msgstr "Përfundoi: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Paketa {expression} s’është e gatshme për instalim" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" "Paketa {package_name} gjendet nën versionin më të ri ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "po instalohet" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "po shkarkohet" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "ndryshim media" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "kartelë formësimi: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Mbaroi koha teksa pritej për përgjegjës paketash" diff --git a/plinth/locale/sr/LC_MESSAGES/django.po b/plinth/locale/sr/LC_MESSAGES/django.po index 83639f206..40dcac371 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2022-09-14 17:20+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Serbian Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5018,14 +5033,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5036,15 +5051,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6328,7 +6343,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6337,13 +6352,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6351,31 +6366,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6473,7 +6488,7 @@ msgstr "Konfiguracija sačuvana" msgid "Error configuring app: {error}" msgstr "Greška prilikom instaliranja aplikacije: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6482,22 +6497,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "I2P Proxy" msgid "Tor Proxy" msgstr "I2P Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6848,14 +6863,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6863,25 +6878,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7460,7 +7475,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7473,7 +7488,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7481,11 +7496,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7534,34 +7549,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/sv/LC_MESSAGES/django.po b/plinth/locale/sv/LC_MESSAGES/django.po index c69d836cf..4096c8c0c 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2024-01-03 16:09+0000\n" "Last-Translator: bittin1ddc447d824349b2 \n" "Language-Team: Swedish Let's Encrypt användaravtal innan du använder denna tjänst." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Låt oss kryptera" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Certifikaterna" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Kan inte testa: Inga domäner är konfigurerade." @@ -5602,7 +5625,7 @@ msgstr "" "target=\"_blank\">popcon.debian.org. Inlämningen sker via Tor-nätverket " "för ytterligare anonymitet om Tor-appen är aktiverad." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5612,7 +5635,7 @@ msgstr "" "för att förbättra sekretessen, ändra webbsidan data och HTTP-huvuden, " "kontrollera åtkomst och ta bort annonser och andra avskyvärda Internet Junk. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5628,15 +5651,15 @@ msgstr "" "href=\"http://config.privoxy.org\">http://config.privoxy.org/ eller http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Webbproxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Anslut till {url} med proxy {proxy} på TCP {kind}" @@ -7103,7 +7126,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Filsynkronisering" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7117,7 +7140,7 @@ msgstr "" "använder TOR Browser." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." @@ -7125,7 +7148,7 @@ msgstr "" "Denna app tillhandahåller relätjänster för att bidra till Tor-nätverket och " "hjälpa andra att övervinna censur." -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7137,31 +7160,31 @@ msgstr "" "internet även när man använder en internetleverantör som begränsar servrar " "hemma." -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Tor Onion service" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Tor Bridge Relay" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Tor relä port tillgänglig" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 transport registrerad" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 transport registrerad" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Onion tjänst är version 3" @@ -7275,7 +7298,7 @@ msgstr "Uppdatera konfigurationen" msgid "Error configuring app: {error}" msgstr "Fel vid konfigurering av appen: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7288,20 +7311,20 @@ msgstr "" "appar för att komma åt internet via Tor-nätverket. ISP-censur kan kringgås " "med hjälp av uppströms broar." -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Tor Proxy" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor SOCKS-proxy" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Tillgång URL {url} på TCP {kind} via Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Bekräfta Tor-användning vid {url} på TCP {kind}" @@ -7708,7 +7731,7 @@ msgstr "Frekventa funktionsuppdateringar aktiverade." msgid "Starting distribution upgrade test." msgstr "Startar distributionsuppgraderingstest." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7719,7 +7742,7 @@ msgstr "" "ett användarkonto för att vara en del av en grupp för att auktorisera " "användaren att komma åt appen." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7730,25 +7753,25 @@ msgstr "" "över appar som är relevanta för dem på startsidan. Endast användare av " "gruppen admin kan dock ändra appar eller Systeminställningar." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Användare och grupper" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Tillgång till alla tjänster och systeminställningar" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Kontrollera LDAP-posten \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "Kontrollera nslcd-konfigurationen \"{key}{value}\"" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "Kontrollera nsswitch-konfigurationen \"{database}\"" @@ -8399,7 +8422,7 @@ msgstr "" "WordPress-webbplatsen eller bloggen. Aktivera endast efter den första " "installationen av WordPress." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8420,7 +8443,7 @@ msgstr "" "på en plats med hjälp av sök-, kart- och kalendervyer. Enskilda foton kan " "delas med andra genom att skicka en direktlänk." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8431,11 +8454,11 @@ msgstr "" "i Zoph. För ytterligare användare måste konton skapas både i {box_name} och " "i Zoph med samma användarnamn." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Foto Organizer" @@ -8488,34 +8511,35 @@ msgstr "Väntar på att starta: {name}" msgid "Finished: {name}" msgstr "Avslutad: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Paket {expression} är inte tillgänglig för installation" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "Paketet {package_name} är den senaste versionen ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "Installera" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "ladda ner" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "Mediabyte" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "konfigurationsfil: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Timeout väntar på pakethanteraren" diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po index 90c0abe43..f8721ed53 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,7 +31,7 @@ msgstr "" msgid "FreedomBox" msgstr "" -#: plinth/daemon.py:107 +#: plinth/daemon.py:105 #, python-brace-format msgid "Service {service_name} is running" msgstr "" @@ -41,17 +41,17 @@ msgstr "" msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/daemon.py:169 +#: plinth/daemon.py:167 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/daemon.py:238 +#: plinth/daemon.py:236 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/daemon.py:241 +#: plinth/daemon.py:240 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -124,7 +124,7 @@ msgstr "" msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/modules/apache/components.py:158 +#: plinth/modules/apache/components.py:157 #, python-brace-format msgid "Access URL {url}" msgstr "" @@ -836,10 +836,10 @@ msgstr "" msgid "Admin" msgstr "" -#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35 -#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56 -#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71 -#: plinth/modules/zoph/views.py:74 +#: plinth/modules/bepasty/views.py:88 plinth/modules/diagnostics/views.py:52 +#: plinth/modules/searx/views.py:35 plinth/modules/searx/views.py:46 +#: plinth/modules/security/views.py:56 plinth/modules/tor/views.py:73 +#: plinth/modules/torproxy/views.py:71 plinth/modules/zoph/views.py:74 msgid "Configuration updated." msgstr "" @@ -1271,17 +1271,17 @@ msgstr "" msgid "Use the following shared authentication secret:" msgstr "" -#: plinth/modules/datetime/__init__.py:20 +#: plinth/modules/datetime/__init__.py:21 msgid "" "Network time server is a program that maintains the system time in " "synchronization with servers on the Internet." msgstr "" -#: plinth/modules/datetime/__init__.py:67 +#: plinth/modules/datetime/__init__.py:68 msgid "Date & Time" msgstr "" -#: plinth/modules/datetime/__init__.py:121 +#: plinth/modules/datetime/__init__.py:122 msgid "Time synchronized to NTP server" msgstr "" @@ -1340,88 +1340,99 @@ msgstr "" msgid "Bittorrent client written in Python/PyGTK" msgstr "" -#: plinth/modules/diagnostics/__init__.py:25 +#: plinth/modules/diagnostics/__init__.py:27 msgid "" "The system diagnostic test will run a number of checks on your system to " "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/__init__.py:49 -#: plinth/modules/diagnostics/__init__.py:235 +#: plinth/modules/diagnostics/__init__.py:51 +#: plinth/modules/diagnostics/__init__.py:236 msgid "Diagnostics" msgstr "" -#: plinth/modules/diagnostics/__init__.py:93 +#: plinth/modules/diagnostics/__init__.py:95 msgid "passed" msgstr "" -#: plinth/modules/diagnostics/__init__.py:94 +#: plinth/modules/diagnostics/__init__.py:96 #: plinth/modules/networks/views.py:50 msgid "failed" msgstr "" -#: plinth/modules/diagnostics/__init__.py:95 +#: plinth/modules/diagnostics/__init__.py:97 msgid "error" msgstr "" -#: plinth/modules/diagnostics/__init__.py:96 +#: plinth/modules/diagnostics/__init__.py:98 msgid "warning" msgstr "" #. Translators: This is the unit of computer storage Mebibyte similar to #. Megabyte. -#: plinth/modules/diagnostics/__init__.py:201 +#: plinth/modules/diagnostics/__init__.py:202 msgid "MiB" msgstr "" #. Translators: This is the unit of computer storage Gibibyte similar to #. Gigabyte. -#: plinth/modules/diagnostics/__init__.py:206 +#: plinth/modules/diagnostics/__init__.py:207 msgid "GiB" msgstr "" -#: plinth/modules/diagnostics/__init__.py:213 +#: plinth/modules/diagnostics/__init__.py:214 msgid "You should disable some apps to reduce memory usage." msgstr "" -#: plinth/modules/diagnostics/__init__.py:218 +#: plinth/modules/diagnostics/__init__.py:219 msgid "You should not install any new apps on this system." msgstr "" -#: plinth/modules/diagnostics/__init__.py:230 +#: plinth/modules/diagnostics/__init__.py:231 #, no-python-format, python-brace-format msgid "" "System is low on memory: {percent_used}% used, {memory_available} " "{memory_available_unit} free. {advice_message}" msgstr "" -#: plinth/modules/diagnostics/__init__.py:232 +#: plinth/modules/diagnostics/__init__.py:233 msgid "Low Memory" msgstr "" -#: plinth/modules/diagnostics/__init__.py:254 +#: plinth/modules/diagnostics/__init__.py:264 msgid "Running diagnostics" msgstr "" -#: plinth/modules/diagnostics/__init__.py:295 +#: plinth/modules/diagnostics/__init__.py:307 #, no-python-format, python-brace-format msgid "Found {issue_count} issues during routine tests." msgstr "" -#: plinth/modules/diagnostics/__init__.py:296 +#: plinth/modules/diagnostics/__init__.py:308 msgid "Diagnostics results" msgstr "" -#: plinth/modules/diagnostics/__init__.py:301 +#: plinth/modules/diagnostics/__init__.py:313 msgid "Go to diagnostics results" msgstr "" -#: plinth/modules/diagnostics/templates/diagnostics.html:16 -#: plinth/modules/diagnostics/templates/diagnostics_button.html:11 -msgid "Run Diagnostics" +#: plinth/modules/diagnostics/forms.py:11 +msgid "Enable daily run" msgstr "" -#: plinth/modules/diagnostics/templates/diagnostics.html:21 +#: plinth/modules/diagnostics/forms.py:12 +msgid "When enabled, diagnostic checks will run once a day." +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:11 +msgid "Diagnostics Run" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:17 +msgid "Run Diagnostics Now" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:22 msgid "View Results" msgstr "" @@ -1444,6 +1455,10 @@ msgstr "" msgid "This app does not support diagnostics" msgstr "" +#: plinth/modules/diagnostics/templates/diagnostics_button.html:11 +msgid "Run Diagnostics" +msgstr "" + #: plinth/modules/diagnostics/templates/diagnostics_full.html:17 msgid "Re-run Diagnostics" msgstr "" @@ -1473,7 +1488,7 @@ msgstr "" msgid "Result" msgstr "" -#: plinth/modules/diagnostics/views.py:100 +#: plinth/modules/diagnostics/views.py:107 msgid "Diagnostic Test" msgstr "" @@ -1979,7 +1994,7 @@ msgstr "" msgid "Direct passthrough rules exist" msgstr "" -#: plinth/modules/firewall/components.py:137 +#: plinth/modules/firewall/components.py:136 #, python-brace-format msgid "Port {name} ({details}) available for internal networks" msgstr "" @@ -1989,7 +2004,7 @@ msgstr "" msgid "Port {name} ({details}) available for external networks" msgstr "" -#: plinth/modules/firewall/components.py:154 +#: plinth/modules/firewall/components.py:153 #, python-brace-format msgid "Port {name} ({details}) unavailable for external networks" msgstr "" @@ -2551,8 +2566,8 @@ msgstr "" msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:62 -#: plinth/modules/torproxy/__init__.py:55 +#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:63 +#: plinth/modules/torproxy/__init__.py:56 msgid "Anonymity Network" msgstr "" @@ -2887,7 +2902,7 @@ msgstr "" msgid "Failed to add content package." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:25 +#: plinth/modules/letsencrypt/__init__.py:27 #, python-brace-format msgid "" "A digital certificate allows users of a web service to verify the identity " @@ -2897,7 +2912,7 @@ msgid "" "Encrypt, a certificate authority (CA)." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:31 +#: plinth/modules/letsencrypt/__init__.py:33 msgid "" "Let's Encrypt is a free, automated, and open certificate authority, run for " "the public's benefit by the Internet Security Research Group (ISRG). Please " @@ -2905,15 +2920,15 @@ msgid "" "\">Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -4898,14 +4913,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4916,15 +4931,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6197,7 +6212,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6206,13 +6221,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6220,31 +6235,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6339,7 +6354,7 @@ msgstr "" msgid "Error configuring app: {error}" msgstr "" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6348,20 +6363,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6702,14 +6717,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6717,25 +6732,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7314,7 +7329,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7327,7 +7342,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7335,11 +7350,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7388,34 +7403,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/te/LC_MESSAGES/django.po b/plinth/locale/te/LC_MESSAGES/django.po index 90b139a1b..39428fc2c 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2023-10-24 00:04+0000\n" "Last-Translator: Joseph Nuthalapati \n" "Language-Team: Telugu సభ్యుల ఒప్పందాన్ని ఎన్‌క్రిప్ట్ చేద్దాంని " "చదివి, అంగీకరించండి." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "లెట్స్ ఎన్క్రిప్ట్" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "యోగ్యతాపత్రాలు" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "పరీక్షించడం సాధ్యం కాదు: డొమైన్‌లు ఏవీ కాన్ఫిగర్ చేయబడలేదు." @@ -5463,7 +5486,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5473,7 +5496,7 @@ msgstr "" "నియంత్రించడం మరియు ప్రకటనలను మరియు ఇతర చెడ్డ ఇంటర్నెట్ వ్యర్థాలను తొలగించడం కోసం ఆధునిక ఫిల్టరింగ్ " "సామర్థ్యాలతో ఒక కాని క్యాచింగ్ వెబ్ ప్రాక్సీ. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -5494,15 +5517,15 @@ msgstr "" "డాక్యుమెంటేషన్ http://config.privoxy.org/ లేదా http://p.p లో చూడవచ్చు." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "ప్రివొక్సి" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "వెబ్ ప్రాక్సీ" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "టీసీపీ{kind} పై{proxy} తో యాక్సిస్ {url} చేయండి" @@ -6931,7 +6954,7 @@ msgstr "సింక్ తింగ్" msgid "File Synchronization" msgstr "ఫైళ్ళ సమకాలీకరణ" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6944,13 +6967,13 @@ msgstr "" "టార్ ప్రాజెక్ట్ మీరు టార్ బ్రౌజర్ ను ఉపయోగించాలని సిఫార్సు చేస్తున్నారు." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6958,31 +6981,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "టార్" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "టోర్ ఉల్లిపాయ సేవ" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "టార్ బ్రిడ్జ్ రిలే" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "టార్ రిలే పోర్ట్ అందుబాటులో ఉంది" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 రవాణా నమోదు చేయబడింది" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 రవాణా నమోదు చేయబడింది" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 #, fuzzy #| msgid "Onion Service" msgid "Onion service is version 3" @@ -7098,7 +7121,7 @@ msgstr "అక్రుతీకరణలో ఒక పొరపాటు జర msgid "Error configuring app: {error}" msgstr "అనువర్తనం స్థాపించుటలో దోషం: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7107,22 +7130,22 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 #, fuzzy #| msgid "Tor Socks Proxy" msgid "Tor Proxy" msgstr "టోర్ సాక్స్ ప్రాతినిధ్య" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "టోర్ సాక్స్ ప్రాతినిధ్య" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "టార్ ద్వారా {kind} లో {url} ను ఆక్సెస్ చెయ్యండి" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "టోర్ వాడుకను నిర్ధారించండి{url} టీ సి పి పై{kind}" @@ -7513,7 +7536,7 @@ msgstr "తరచుగా ఫీచర్ అప్‌డేట్‌లు య msgid "Starting distribution upgrade test." msgstr "పంపిణీ మెరుగుపరుచడం ప్రారంభించబడింది" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7523,7 +7546,7 @@ msgstr "" "విధానంగా పనిచేస్తాయి. కొన్ని యాప్‌లకు యాప్‌ను యాక్సెస్ చేయడానికి వినియోగదారుని ప్రామాణీకరించడానికి సమూహంలో భాగంగా " "వినియోగదారు ఖాతా అవసరం" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7534,25 +7557,25 @@ msgstr "" "చేయవచ్చు. అయినప్పటికీ, అడ్మిన్ సమూహం యొక్క వినియోగదారులు మాత్రమే యాప్‌లు లేదా సిస్టమ్ " "సెట్టింగ్‌లను మార్చవచ్చు." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "వినియోగదారులు మరియు సమూహాలు" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "అన్ని సేవలకు మరియు సిస్టమ్ అమరికలకు ప్రాప్యత" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "LDAP నమోదు \"{search_item}\" తనిఖీ" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -8187,7 +8210,7 @@ msgstr "" "సందర్శకులందరినీ అనుమతించండి. నిరుపయోగం చేయడం వలన వర్డుప్రెస్సు సైట్ లేదా బ్లాగును వీక్షించడానికి " "నిర్వాహకులు మాత్రమే అనుమతిస్తుంది. ప్రారంభ వర్డుప్రెస్సు సెటప్ చేసిన తర్వాత మాత్రమే ప్రారంభించండి." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8206,7 +8229,7 @@ msgstr "" "వీక్షణలను ఉపయోగించి ఒక వ్యక్తిని కలిగి ఉన్న అన్ని ఫోటోలు లేదా తేదీలో తీసిన ఫోటోలు లేదా ఒక ప్రదేశంలో తీసిన " "ఫోటోలను కనుగొనడం సులభం. డైరెక్ట్ లింక్‌ని పంపడం ద్వారా వ్యక్తిగత ఫోటోలను ఇతరులతో పంచుకోవచ్చు." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8216,11 +8239,11 @@ msgstr "" "జోఫ్ని సెటప్ చేసిన {box_name} వినియోగదారు కూడా Zophలో నిర్వాహకులు అవుతారు. అదనపు వినియోగదారుల " "కోసం, ఖాతాలు తప్పనిసరిగా {box_name}లో మరియు జోఫ్లో ఒకే వినియోగదారు పేరుతో సృష్టించబడాలి." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "జోఫ్" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "ఫోటో ఆర్గనైజర్" @@ -8272,34 +8295,34 @@ msgstr "" msgid "Finished: {name}" msgstr "సేవ నిలిపివేయబడింది: {name}" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "ప్యాకేజీ {package_name} తాజా వెర్షన్ ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "వ్యవస్థాపిస్తోంది" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "దిగుమతి అవుతోంది" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "ప్రసార మాధ్యమం మార్పు" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "ఆకృతీకరణ ఫైలు: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po index eb54ec779..9c15e3859 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2024-01-03 16:09+0000\n" "Last-Translator: Burak Yavuz \n" "Language-Team: Turkish Let's Encrypt Abone Sözleşmesini okuyun ve kabul edin." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Sertifikalar" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Denenemiyor: Hiçbir etki alanı yapılandırılmamış." @@ -5607,7 +5631,7 @@ msgstr "" "herkese açıktır. Tor uygulaması etkinleştirilirse, ek isimsizlik için " "gönderme Tor ağı üzerinden gerçekleşir." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5618,7 +5642,7 @@ msgstr "" "çöplerini kaldırmak için gelişmiş süzme yeteneklerine sahip, önbelleğe " "alınmayan bir web vekil sunucusudur. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5635,15 +5659,15 @@ msgstr "" "href=\"https://www.privoxy.org\">https://www.privoxy.org adresinde " "görebilirsiniz." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Web Vekil Sunucusu" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Tcp{kind} üzerinde {proxy} vekil sunucusu ile {url} adresine erişin" @@ -7124,7 +7148,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Dosya Eşitleme" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7137,7 +7161,7 @@ msgstr "" "gezinirken en iyi koruma için Tor Projesi, Tor Tarayıcı kullanmanızı önerir." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." @@ -7145,7 +7169,7 @@ msgstr "" "Bu uygulama, Tor ağına katkıda bulunmak ve başkalarının sansürü atlatmasına " "yardımcı olmak için aktarma hizmetleri sağlar." -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7157,31 +7181,31 @@ msgstr "" "sunucuları sınırlayan bir İSS kullanılırken bile internetten {box_name} " "cihazına erişilebilir." -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Tor Onion Hizmeti" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Tor Köprüsü Aktarımı" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Tor aktarımı bağlantı noktası kullanılabilir" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Obfs3 taşıma kayıtlı" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Obfs4 taşıma kayıtlı" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Onion hizmeti sürüm 3'tür" @@ -7295,7 +7319,7 @@ msgstr "Yapılandırma güncelleniyor" msgid "Error configuring app: {error}" msgstr "Uygulama yapılandırılırken hata oldu: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7308,20 +7332,20 @@ msgstr "" "ağı aracılığıyla internete erişmek için çeşitli uygulamalar tarafından " "kullanılabilir. İSS sansürü yukarı akış köprüleri kullanılarak atlatılabilir." -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Tor Vekil Sunucusu" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Tor Socks Vekil Sunucusu" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Tor aracılığıyla tcp{kind} üzerinde erişim URL'si {url}" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Tcp{kind} üzerinde {url} adresinde Tor kullanımını onaylama" @@ -7729,7 +7753,7 @@ msgstr "Sık yapılan özellik güncellemeleri etkinleştirildi." msgid "Starting distribution upgrade test." msgstr "Dağıtım yükseltmesi denemesi başlatılıyor." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7740,7 +7764,7 @@ msgstr "" "kullanıcıya, uygulamaya erişme yetkisi vermek için bir kullanıcı hesabının " "bir grubun parçası olmasını gerektirir." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7752,25 +7776,25 @@ msgstr "" "sadece admin grubunun kullanıcıları uygulamaları veya sistem " "ayarlarını değiştirebilir." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Kullanıcılar ve Gruplar" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Tüm hizmetlere ve sistem ayarlarına erişim" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "LDAP \"{search_item}\" girişini denetleme" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "\"{key} {value}\" nslcd yapılandırmasını denetleme" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "\"{database}\" nsswitch yapılandırmasını denetleme" @@ -8417,7 +8441,7 @@ msgstr "" "WordPress sitesini veya blogunu görüntülemesine izin verir. Sadece ilk " "WordPress kurulumunu gerçekleştirdikten sonra etkinleştirin." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8439,7 +8463,7 @@ msgstr "" "çekilmiş fotoğrafları bulmak kolaydır. Tek tek fotoğraflar, doğrudan bir " "bağlantı gönderilerek başkalarıyla paylaşılabilir." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8450,11 +8474,11 @@ msgstr "" "Ek kullanıcılar için hesaplar hem {box_name} cihazında hem de Zoph'da aynı " "kullanıcı adıyla oluşturulmak zorundadır." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Fotoğraf Düzenleyici" @@ -8507,34 +8531,35 @@ msgstr "Başlamak için bekleniyor: {name}" msgid "Finished: {name}" msgstr "Tamamlandı: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "{expression} paketi yükleme için mevcut değil" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "{package_name} paketi en son sürümdür ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "yükleniyor" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "indiriliyor" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "ortam değiştirme" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "yapılandırma dosyası: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Paket yöneticisini beklerken zaman aşımı oldu" diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po index 2bafde5ec..cebf761da 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2024-01-07 14:06+0000\n" "Last-Translator: Сергій \n" "Language-Team: Ukrainian Угодою підписувача Let's " "Encrypt перед тим, як користуватися цією службою." -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "Сертифікати" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "Тестування не можливе: Нема налаштованих доменів." @@ -5615,7 +5638,7 @@ msgstr "" "org. Передача відбувається через мережу Tor для додаткової анонімності, " "якщо у вас увімкнено програму Tor." -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5625,7 +5648,7 @@ msgstr "" "підвищення приватності, зміни даних вебсторінок і HTTP-заголовків, контролю " "доступу, а також видалення реклами та іншого небажаного інтернет-мотлоху. " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5642,15 +5665,15 @@ msgstr "" "посиланнями http://config.privoxy.org/" " або http://p.p." -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Вебпроксі" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Доступ за адресою {url} через проксі {proxy} по tcp{kind}" @@ -7124,7 +7147,7 @@ msgstr "Syncthing" msgid "File Synchronization" msgstr "Синхронізація файлів" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -7137,7 +7160,7 @@ msgstr "" "під час вебсерфінгу, проєкт Tor радить використовувати Tor Browser." -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." @@ -7145,7 +7168,7 @@ msgstr "" "Цей застосунок надає ретрансляційні послуги, щоб зробити свій внесок у " "мережу Tor і допомогти іншим подолати цензуру." -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -7157,31 +7180,31 @@ msgstr "" "інтернету, навіть якщо ви користуєтеся послугами постачальника інтернету, " "який обмежує доступ до домашніх серверів." -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Сервіс Tor Onion" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Ретранслятор Tor типу міст" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Доступний порт ретрансляції Tor" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "Зареєстровано транспорт Obfs3" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "Зареєстровано транспорт Obfs4" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Служба Onion версії 3" @@ -7294,7 +7317,7 @@ msgstr "Оновлення налаштувань" msgid "Error configuring app: {error}" msgstr "Помилка налаштування застосунку: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -7307,20 +7330,20 @@ msgstr "" "різними застосунками для доступу до інтернету через мережу Tor. Цензурування " "постачальником послуг інтернету може бути обійдене за допомогою мостів." -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Проксі Tor" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "Проксі Tor Socks" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Доступ за адресою {url} на tcp{kind} через Tor" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Підтвердити використання Tor можна за посиланням {url} на tcp{kind}" @@ -7724,7 +7747,7 @@ msgstr "Оновлення частих можливостей активова msgid "Starting distribution upgrade test." msgstr "Запуск тесту оновлення дистрибутиву." -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -7735,7 +7758,7 @@ msgstr "" "застосунки також вимагають, щоб обліковий запис був частиною групи, щоб " "отримати авторизований доступ до застосунку." -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7747,25 +7770,25 @@ msgstr "" "користувачі з групи admin можуть змінювати застосунки або системні " "налаштування." -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "Користувачі і групи" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "Доступ до всіх сервісів і налаштувань системи" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Перевірка запису LDAP \"{search_item}\"" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "Перевірте nslcd конфігурацію \"{key} {value}\"" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "Перевірте nsswitch конфігурацію \"{database}\"" @@ -8410,7 +8433,7 @@ msgstr "" "переглядати сайт або блог WordPress. Увімкнути тільки після виконання " "початкового налаштування WordPress." -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -8432,7 +8455,7 @@ msgstr "" "календарного перегляду. Окремими світлинами можна ділитися з іншими, " "надіславши пряме посилання." -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -8443,11 +8466,11 @@ msgstr "" "Для додаткових користувачів потрібно створити облікові записи і в " "{box_name}, і в Zoph з тим же іменем користувача." -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "Zoph" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "Упорядник світлин" @@ -8500,34 +8523,35 @@ msgstr "Очікування запуску: {name}" msgid "Finished: {name}" msgstr "Завершено: {name}" -#: plinth/package.py:215 -#, python-brace-format -msgid "Package {expression} is not available for install" +#: plinth/package.py:214 +#, fuzzy, python-brace-format +#| msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "Пакунок {expression} недоступний для встановлення" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "Пакунок {package_name} має останню версію ({latest_version})" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "встановлення" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "завантаження" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "зміна медія" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "файл конфіґурації: {file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "Час очікування менеджера пакунків" diff --git a/plinth/locale/vi/LC_MESSAGES/django.po b/plinth/locale/vi/LC_MESSAGES/django.po index 225d78023..1eeb50da4 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2021-07-28 08:34+0000\n" "Last-Translator: bruh \n" "Language-Team: Vietnamese Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5161,14 +5180,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5179,15 +5198,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6468,7 +6487,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6477,13 +6496,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6491,31 +6510,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6613,7 +6632,7 @@ msgstr "Đã xảy ra lỗi trong khi thiết lập." msgid "Error configuring app: {error}" msgstr "Lỗi khi cài đặt ứng dụng: {error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6622,20 +6641,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6986,14 +7005,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -7001,25 +7020,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7598,7 +7617,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7611,7 +7630,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7619,11 +7638,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7673,34 +7692,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/zh_Hans/LC_MESSAGES/django.po b/plinth/locale/zh_Hans/LC_MESSAGES/django.po index 0c23cc957..8117ee9bc 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2024-01-05 07:09+0000\n" "Last-Translator: Eric \n" "Language-Team: Chinese (Simplified) Let's Encypt 订阅者协议。" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "证书" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5093,7 +5114,7 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -5102,7 +5123,7 @@ msgstr "" "Privoxy 是一个非缓存 Web 代理,具有高级过滤功能,用于增强隐私,修改网页数据" "和 HTTP 标头,控制访问,以及删除广告和其他令人讨厌的互联网垃圾。 " -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5117,15 +5138,15 @@ msgstr "" "config.privoxy.org\">http://config.privoxy.org/ 或 http://p.p 中查看其配置详细信息和文档。" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "Web 代理" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "在 tcp{kind} 上通过 {proxy} 访问 {url}" @@ -6431,7 +6452,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6444,13 +6465,13 @@ msgstr "" "href=\"https://www.torproject.org/download/download-easy.html.en\">Tor浏览器" "。" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6458,31 +6479,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "Tor 洋葱服务" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "Tor 网桥中继" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "Tor 中继端口可用" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "已注册 Obfs3 传输" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "已注册 Obfs4 传输" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "Onion 服务版本为 3" @@ -6583,7 +6604,7 @@ msgstr "更新配置" msgid "Error configuring app: {error}" msgstr "配置应用出错:{error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6592,20 +6613,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "Tor 代理" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "在 tcp{kind} 上通过 Tor 访问 {url}" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "确认使用 Tor 通过 tcp{kind} 访问 {url}" @@ -6961,14 +6982,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "启动分发升级测试。" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6976,25 +6997,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "用户和组" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "请检查 LDAP 条目“{search_item}”" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7580,7 +7601,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7593,7 +7614,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7601,11 +7622,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7654,34 +7675,34 @@ msgstr "" msgid "Finished: {name}" msgstr "已完成:{name}" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "安装" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "下载中" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "媒体改变" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "配置文件:{file}" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/locale/zh_Hant/LC_MESSAGES/django.po b/plinth/locale/zh_Hant/LC_MESSAGES/django.po index e8fc819b3..bd4dab074 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: 2024-01-01 20:19-0500\n" +"POT-Creation-Date: 2024-01-29 20:14-0500\n" "PO-Revision-Date: 2021-12-23 12:50+0000\n" "Last-Translator: pesder \n" "Language-Team: Chinese (Traditional) Let's Encrypt Subscriber Agreement before using this service." msgstr "" -#: plinth/modules/letsencrypt/__init__.py:58 +#: plinth/modules/letsencrypt/__init__.py:60 msgid "Let's Encrypt" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:59 +#: plinth/modules/letsencrypt/__init__.py:61 msgid "Certificates" msgstr "" -#: plinth/modules/letsencrypt/__init__.py:100 +#: plinth/modules/letsencrypt/__init__.py:104 msgid "Cannot test: No domains are configured." msgstr "" @@ -5022,14 +5037,14 @@ msgid "" "network for additional anonymity if Tor app is enabled." msgstr "" -#: plinth/modules/privoxy/__init__.py:23 +#: plinth/modules/privoxy/__init__.py:24 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " "access, and removing ads and other obnoxious Internet junk. " msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -5040,15 +5055,15 @@ msgid "" "p\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:51 +#: plinth/modules/privoxy/__init__.py:52 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:52 +#: plinth/modules/privoxy/__init__.py:53 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:117 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" @@ -6326,7 +6341,7 @@ msgstr "" msgid "File Synchronization" msgstr "" -#: plinth/modules/tor/__init__.py:32 plinth/modules/torproxy/__init__.py:27 +#: plinth/modules/tor/__init__.py:33 plinth/modules/torproxy/__init__.py:28 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6335,13 +6350,13 @@ msgid "" "en\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:38 +#: plinth/modules/tor/__init__.py:39 msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" -#: plinth/modules/tor/__init__.py:41 +#: plinth/modules/tor/__init__.py:42 #, python-brace-format msgid "" "This app provides an onion domain to expose {box_name} services via the Tor " @@ -6349,31 +6364,31 @@ msgid "" "when using an ISP that limits servers at home." msgstr "" -#: plinth/modules/tor/__init__.py:61 +#: plinth/modules/tor/__init__.py:62 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:77 +#: plinth/modules/tor/__init__.py:78 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:81 +#: plinth/modules/tor/__init__.py:82 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:137 +#: plinth/modules/tor/__init__.py:138 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:148 +#: plinth/modules/tor/__init__.py:150 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:158 +#: plinth/modules/tor/__init__.py:161 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:170 +#: plinth/modules/tor/__init__.py:174 msgid "Onion service is version 3" msgstr "" @@ -6471,7 +6486,7 @@ msgstr "設置過程中發生錯誤。" msgid "Error configuring app: {error}" msgstr "安裝應用遇到錯誤:{error}" -#: plinth/modules/torproxy/__init__.py:34 +#: plinth/modules/torproxy/__init__.py:35 #, python-brace-format msgid "" "This app provides a web proxy on your {box_name} for internal networks on " @@ -6480,20 +6495,20 @@ msgid "" "using upstream bridges." msgstr "" -#: plinth/modules/torproxy/__init__.py:54 +#: plinth/modules/torproxy/__init__.py:55 msgid "Tor Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:79 +#: plinth/modules/torproxy/__init__.py:80 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/torproxy/__init__.py:139 +#: plinth/modules/torproxy/__init__.py:140 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/torproxy/__init__.py:151 +#: plinth/modules/torproxy/__init__.py:152 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6844,14 +6859,14 @@ msgstr "" msgid "Starting distribution upgrade test." msgstr "" -#: plinth/modules/users/__init__.py:31 +#: plinth/modules/users/__init__.py:32 msgid "" "Create and manage user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:36 +#: plinth/modules/users/__init__.py:37 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6859,25 +6874,25 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:57 +#: plinth/modules/users/__init__.py:58 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:82 +#: plinth/modules/users/__init__.py:83 msgid "Access to all services and system settings" msgstr "" -#: plinth/modules/users/__init__.py:126 +#: plinth/modules/users/__init__.py:127 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/__init__.py:140 +#: plinth/modules/users/__init__.py:141 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" msgstr "" -#: plinth/modules/users/__init__.py:170 +#: plinth/modules/users/__init__.py:171 #, python-brace-format msgid "Check nsswitch config \"{database}\"" msgstr "" @@ -7456,7 +7471,7 @@ msgid "" "WordPress site or blog. Enable only after performing initial WordPress setup." msgstr "" -#: plinth/modules/zoph/__init__.py:22 +#: plinth/modules/zoph/__init__.py:23 #, python-brace-format msgid "" "Zoph manages your photo collection. Photos are stored on your {box_name}, " @@ -7469,7 +7484,7 @@ msgid "" "shared with others by sending a direct link." msgstr "" -#: plinth/modules/zoph/__init__.py:33 +#: plinth/modules/zoph/__init__.py:34 #, python-brace-format msgid "" "The {box_name} user who setup Zoph will also become the administrator in " @@ -7477,11 +7492,11 @@ msgid "" "in Zoph with the same user name." msgstr "" -#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6 +#: plinth/modules/zoph/__init__.py:53 plinth/modules/zoph/manifest.py:6 msgid "Zoph" msgstr "" -#: plinth/modules/zoph/__init__.py:53 +#: plinth/modules/zoph/__init__.py:54 msgid "Photo Organizer" msgstr "" @@ -7531,34 +7546,34 @@ msgstr "" msgid "Finished: {name}" msgstr "" -#: plinth/package.py:215 +#: plinth/package.py:214 #, python-brace-format -msgid "Package {expression} is not available for install" +msgid "Package {package_expression} is not available for install" msgstr "" -#: plinth/package.py:230 +#: plinth/package.py:231 #, python-brace-format msgid "Package {package_name} is the latest version ({latest_version})" msgstr "" -#: plinth/package.py:378 +#: plinth/package.py:382 msgid "installing" msgstr "" -#: plinth/package.py:380 +#: plinth/package.py:384 msgid "downloading" msgstr "" -#: plinth/package.py:382 +#: plinth/package.py:386 msgid "media change" msgstr "" -#: plinth/package.py:384 +#: plinth/package.py:388 #, python-brace-format msgid "configuration file: {file}" msgstr "" -#: plinth/package.py:412 plinth/package.py:437 +#: plinth/package.py:416 plinth/package.py:441 msgid "Timeout waiting for package manager" msgstr "" diff --git a/plinth/modules/apache/components.py b/plinth/modules/apache/components.py index b14c63fdc..4fdce303e 100644 --- a/plinth/modules/apache/components.py +++ b/plinth/modules/apache/components.py @@ -4,8 +4,7 @@ import re import subprocess -from django.utils.text import format_lazy -from django.utils.translation import gettext_lazy +from django.utils.translation import gettext_noop from plinth import action_utils, app from plinth.modules.diagnostics.check import DiagnosticCheck, Result @@ -149,16 +148,15 @@ def diagnose_url(url, kind=None, env=None, check_certificate=True, except FileNotFoundError: result = Result.ERROR + parameters = {'url': url, 'kind': kind} if kind: check_id = f'apache-url-kind-{url}-{kind}' - template = gettext_lazy('Access URL {url} on tcp{kind}') - description = format_lazy(template, url=url, kind=kind) + description = gettext_noop('Access URL {url} on tcp{kind}') else: check_id = f'apache-url-{url}' - template = gettext_lazy('Access URL {url}') - description = format_lazy(template, url=url) + description = gettext_noop('Access URL {url}') - return DiagnosticCheck(check_id, description, result) + return DiagnosticCheck(check_id, description, result, parameters) def diagnose_url_on_all(url, expect_redirects=False, **kwargs): diff --git a/plinth/modules/apache/tests/test_components.py b/plinth/modules/apache/tests/test_components.py index 4c575ad2b..6cbd1c574 100644 --- a/plinth/modules/apache/tests/test_components.py +++ b/plinth/modules/apache/tests/test_components.py @@ -246,17 +246,18 @@ def test_diagnose_url(get_addresses, check): 'wrapper': 'test-wrapper', 'expected_output': 'test-expected' } + parameters = {key: args[key] for key in ['url', 'kind']} check.return_value = True result = diagnose_url(**args) assert result == DiagnosticCheck( 'apache-url-kind-https://localhost/test-4', - 'Access URL https://localhost/test on tcp4', Result.PASSED) + 'Access URL {url} on tcp{kind}', Result.PASSED, parameters) check.return_value = False result = diagnose_url(**args) assert result == DiagnosticCheck( 'apache-url-kind-https://localhost/test-4', - 'Access URL https://localhost/test on tcp4', Result.FAILED) + 'Access URL {url} on tcp{kind}', Result.FAILED, parameters) del args['kind'] args['url'] = 'https://{host}/test' @@ -272,14 +273,24 @@ def test_diagnose_url(get_addresses, check): 'numeric': False, 'url_address': 'test-host-2' }] + parameters = [ + { + 'url': 'https://test-host-1/test', + 'kind': '4' + }, + { + 'url': 'https://test-host-2/test', + 'kind': '6' + }, + ] results = diagnose_url_on_all(**args) assert results == [ DiagnosticCheck('apache-url-kind-https://test-host-1/test-4', - 'Access URL https://test-host-1/test on tcp4', - Result.PASSED), + 'Access URL {url} on tcp{kind}', Result.PASSED, + parameters[0]), DiagnosticCheck('apache-url-kind-https://test-host-2/test-6', - 'Access URL https://test-host-2/test on tcp6', - Result.PASSED), + 'Access URL {url} on tcp{kind}', Result.PASSED, + parameters[1]), ] diff --git a/plinth/modules/datetime/__init__.py b/plinth/modules/datetime/__init__.py index edee893dd..2a8e7b397 100644 --- a/plinth/modules/datetime/__init__.py +++ b/plinth/modules/datetime/__init__.py @@ -6,6 +6,7 @@ FreedomBox app to configure system date and time. import subprocess from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth import app as app_module from plinth import menu @@ -118,4 +119,5 @@ def _diagnose_time_synchronized(): pass return DiagnosticCheck('datetime-ntp-sync', - _('Time synchronized to NTP server'), result) + gettext_noop('Time synchronized to NTP server'), + result) diff --git a/plinth/modules/diagnostics/__init__.py b/plinth/modules/diagnostics/__init__.py index 0285270a2..cdef381a5 100644 --- a/plinth/modules/diagnostics/__init__.py +++ b/plinth/modules/diagnostics/__init__.py @@ -4,22 +4,24 @@ FreedomBox app for system diagnostics. """ import collections +import json import logging import pathlib import threading +from copy import deepcopy import psutil from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_noop from plinth import app as app_module -from plinth import daemon, glib, menu +from plinth import daemon, glib, kvstore, menu from plinth import operation as operation_module from plinth.modules.apache.components import diagnose_url_on_all from plinth.modules.backups.components import BackupRestore from . import manifest -from .check import Result +from .check import CheckJSONDecoder, CheckJSONEncoder, Result _description = [ _('The system diagnostic test will run a number of checks on your ' @@ -66,7 +68,7 @@ class DiagnosticsApp(app_module.App): glib.schedule(3600, _warn_about_low_ram_space) # Run diagnostics once a day - glib.schedule(24 * 3600, start_diagnostics, in_thread=False) + glib.schedule(24 * 3600, _daily_diagnostics_run, in_thread=False) def setup(self, old_version): """Install and configure the app.""" @@ -117,14 +119,13 @@ def _run_on_all_enabled_modules(): continue apps.append((app.app_id, app)) - app_name = app.info.name or app.app_id - current_results['results'][app.app_id] = {'name': app_name} + current_results['results'][app.app_id] = {'id': app.app_id} current_results['apps'] = apps for current_index, (app_id, app) in enumerate(apps): app_results = { - 'diagnosis': None, + 'diagnosis': [], 'exception': None, 'show_rerun_setup': False, } @@ -245,6 +246,15 @@ def _warn_about_low_ram_space(request): actions=actions, data=data, group='admin') +def _daily_diagnostics_run(data: None = None): + """Start daily run if enabled.""" + if is_daily_run_enabled(): + logger.info('Starting daily diagnostics run') + start_diagnostics() + else: + logger.info('Skipping daily diagnostics run (disabled)') + + def start_diagnostics(data: None = None): """Start full diagnostics as a background operation.""" logger.info('Running full diagnostics') @@ -266,20 +276,22 @@ def _run_diagnostics(): _run_on_all_enabled_modules() with results_lock: results = current_results['results'] + # Store the most recent results in the database. + kvstore.set('diagnostics_results', + json.dumps(results, cls=CheckJSONEncoder)) - issue_count = 0 - severity = 'warning' - for _app_id, app_data in results.items(): - if app_data['exception']: - issue_count += 1 - severity = 'error' - else: - for check in app_data['diagnosis']: - if check.result != Result.PASSED: - if check.result != Result.WARNING: - severity = 'error' - - issue_count += 1 + issue_count = 0 + severity = 'warning' + for _app_id, app_data in results.items(): + if app_data['exception']: + issue_count += 1 + severity = 'error' + else: + for check in app_data['diagnosis']: + if check.result != Result.PASSED: + issue_count += 1 + if check.result != Result.WARNING: + severity = 'error' if not issue_count: # Remove any previous notifications if there are no issues. @@ -309,3 +321,44 @@ def _run_diagnostics(): message=message, actions=actions, data=data, group='admin') note.dismiss(False) + + +def are_results_available(): + """Return whether diagnostic results are available.""" + with results_lock: + results = current_results + + if not results: + results = kvstore.get_default('diagnostics_results', '{}') + results = json.loads(results) + + return bool(results) + + +def get_results(): + """Return the latest results of full diagnostics.""" + with results_lock: + results = deepcopy(current_results) + + # If no results are available in memory, then load from database. + if not results: + results = kvstore.get_default('diagnostics_results', '{}') + results = json.loads(results, cls=CheckJSONDecoder) + results = {'results': results, 'progress_percentage': 100} + + # Add a translated name for each app + for app_id in results['results']: + app = app_module.App.get(app_id) + results['results'][app_id]['name'] = app.info.name or app_id + + return results + + +def is_daily_run_enabled() -> bool: + """Return whether daily run is enabled.""" + return kvstore.get_default('diagnostics_daily_run_enabled', True) + + +def set_daily_run_enabled(enabled: bool): + """Enable or disable daily run.""" + kvstore.set('diagnostics_daily_run_enabled', enabled) diff --git a/plinth/modules/diagnostics/check.py b/plinth/modules/diagnostics/check.py index 02a747b78..70afc75fb 100644 --- a/plinth/modules/diagnostics/check.py +++ b/plinth/modules/diagnostics/check.py @@ -1,9 +1,15 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Diagnostic check data type.""" -from dataclasses import dataclass +import dataclasses +import json +from dataclasses import dataclass, field from enum import StrEnum +from django.utils.translation import gettext + +from plinth.utils import SafeFormatter + class Result(StrEnum): """The result of a diagnostic check.""" @@ -14,12 +20,48 @@ class Result(StrEnum): ERROR = 'error' -# TODO: Description should not be translated until we need to display it. - - @dataclass class DiagnosticCheck: - """A diagnostic check and optional result.""" + """A diagnostic check and optional result and parameters.""" check_id: str description: str result: Result = Result.NOT_DONE + parameters: dict = field(default_factory=dict) + + @property + def translated_description(self): + """Return translated string for description.""" + description = gettext(self.description) + if self.parameters: + return SafeFormatter().vformat(description, [], self.parameters) + + return description + + +class CheckJSONEncoder(json.JSONEncoder): + """Encode objects that include DiagnosticChecks.""" + + def default(self, o): + """Add class tag to DiagnosticChecks.""" + if isinstance(o, DiagnosticCheck): + o = dataclasses.asdict(o) + o.update({'__class__': 'DiagnosticCheck'}) + return o + + return super().default(o) + + +class CheckJSONDecoder(json.JSONDecoder): + """Decode objects that include DiagnosticChecks.""" + + def __init__(self): + json.JSONDecoder.__init__(self, object_hook=CheckJSONDecoder.from_dict) + + @staticmethod + def from_dict(data): + """Convert tagged data to DiagnosticCheck.""" + if data.get('__class__') == 'DiagnosticCheck': + return DiagnosticCheck(data['check_id'], data['description'], + data['result'], data['parameters']) + + return data diff --git a/plinth/modules/diagnostics/forms.py b/plinth/modules/diagnostics/forms.py new file mode 100644 index 000000000..21f2ba25a --- /dev/null +++ b/plinth/modules/diagnostics/forms.py @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +"""Forms for configuring diagnostics.""" + +from django import forms +from django.utils.translation import gettext_lazy as _ + + +class ConfigureForm(forms.Form): + """Configuration form to enable/disable daily diagnostics run.""" + daily_run_enabled = forms.BooleanField( + label=_('Enable daily run'), required=False, + help_text=_('When enabled, diagnostic checks will run once a day.')) diff --git a/plinth/modules/diagnostics/templates/diagnostics.html b/plinth/modules/diagnostics/templates/diagnostics.html index ef102596f..b7fd620c0 100644 --- a/plinth/modules/diagnostics/templates/diagnostics.html +++ b/plinth/modules/diagnostics/templates/diagnostics.html @@ -6,17 +6,18 @@ {% load i18n %} {% load static %} -{% block configuration %} +{% block extra_content %} +

{% trans "Diagnostics Run" %}

{% csrf_token %} - +
- {% if results %} + {% if results_available %} {% trans "View Results" %} diff --git a/plinth/modules/diagnostics/templates/diagnostics_results.html b/plinth/modules/diagnostics/templates/diagnostics_results.html index 29b5eb830..62d786ec8 100644 --- a/plinth/modules/diagnostics/templates/diagnostics_results.html +++ b/plinth/modules/diagnostics/templates/diagnostics_results.html @@ -15,7 +15,7 @@ {% for result in results %} - {{ result.description }} + {{ result.translated_description }} {% if result.result == 'passed' %} {% trans result.result %} diff --git a/plinth/modules/diagnostics/tests/test_check.py b/plinth/modules/diagnostics/tests/test_check.py index 3284988a6..734200ca8 100644 --- a/plinth/modules/diagnostics/tests/test_check.py +++ b/plinth/modules/diagnostics/tests/test_check.py @@ -1,9 +1,13 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Tests for diagnostic check data type.""" +import json + import pytest -from plinth.modules.diagnostics.check import DiagnosticCheck, Result +from plinth.modules.diagnostics.check import (CheckJSONDecoder, + CheckJSONEncoder, + DiagnosticCheck, Result) def test_result(): @@ -25,6 +29,40 @@ def test_diagnostic_check(): check = DiagnosticCheck('some-check-id', 'sample check') assert check.check_id == 'some-check-id' assert check.description == 'sample check' + assert check.translated_description == 'sample check' assert check.result == Result.NOT_DONE + assert not check.parameters + check = DiagnosticCheck('some-check-id', 'sample check', Result.PASSED) assert check.result == Result.PASSED + assert not check.parameters + + check = DiagnosticCheck('some-check-id', 'sample check', Result.PASSED, + {'key': 'value'}) + assert check.parameters['key'] == 'value' + + +def test_translate(): + """Test formatting the translated description.""" + check = DiagnosticCheck('some-check-id', 'sample check {key}', + Result.FAILED, {'key': 'value'}) + assert check.translated_description == 'sample check value' + + check = DiagnosticCheck('some-check-id', 'sample check {missing}', + Result.PASSED, {'key': 'value'}) + assert check.translated_description == 'sample check ?missing?' + + +def test_json_encoder_decoder(): + """Test encoding and decoding as JSON.""" + check = DiagnosticCheck('some-check-id', 'sample check', Result.PASSED) + check_json = json.dumps(check, cls=CheckJSONEncoder) + for string in [ + '"check_id": "some-check-id"', '"description": "sample check"', + '"result": "passed"', '"parameters": {}', + '"__class__": "DiagnosticCheck"' + ]: + assert string in check_json + + decoded_check = json.loads(check_json, cls=CheckJSONDecoder) + assert decoded_check == check diff --git a/plinth/modules/diagnostics/views.py b/plinth/modules/diagnostics/views.py index a7006b886..c9bd1ab8b 100644 --- a/plinth/modules/diagnostics/views.py +++ b/plinth/modules/diagnostics/views.py @@ -5,9 +5,9 @@ FreedomBox app for running diagnostics. import logging -from django.http import Http404, HttpResponseRedirect +from django.contrib import messages +from django.http import Http404 from django.template.response import TemplateResponse -from django.urls import reverse from django.utils.translation import gettext_lazy as _ from django.views.decorators.http import require_POST from django.views.generic import TemplateView @@ -18,6 +18,7 @@ from plinth.modules import diagnostics from plinth.views import AppView from .check import Result +from .forms import ConfigureForm logger = logging.getLogger(__name__) @@ -26,23 +27,32 @@ class DiagnosticsView(AppView): """Diagnostics app page.""" app_id = 'diagnostics' + form_class = ConfigureForm template_name = 'diagnostics.html' - def post(self, request): - """Start diagnostics.""" - diagnostics.start_diagnostics() - return HttpResponseRedirect(reverse('diagnostics:index')) - def get_context_data(self, **kwargs): """Return additional context for rendering the template.""" - with diagnostics.results_lock: - results = diagnostics.current_results - context = super().get_context_data(**kwargs) context['has_diagnostics'] = False - context['results'] = results + context['results_available'] = diagnostics.are_results_available() return context + def get_initial(self): + """Return the initial values for the form.""" + status = super().get_initial() + status['daily_run_enabled'] = diagnostics.is_daily_run_enabled() + return status + + def form_valid(self, form): + """Apply the form changes.""" + old_status = form.initial + new_status = form.cleaned_data + if old_status['daily_run_enabled'] != new_status['daily_run_enabled']: + diagnostics.set_daily_run_enabled(new_status['daily_run_enabled']) + messages.success(self.request, _('Configuration updated.')) + + return super().form_valid(form) + class DiagnosticsFullView(TemplateView): """View to run full diagnostics.""" @@ -61,12 +71,9 @@ class DiagnosticsFullView(TemplateView): except KeyError: is_task_running = False - with diagnostics.results_lock: - results = diagnostics.current_results - context = super().get_context_data(**kwargs) context['is_task_running'] = is_task_running - context['results'] = results + context['results'] = diagnostics.get_results() context['refresh_page_sec'] = 3 if is_task_running else None return context diff --git a/plinth/modules/firewall/__init__.py b/plinth/modules/firewall/__init__.py index 5a2828e08..df49e8876 100644 --- a/plinth/modules/firewall/__init__.py +++ b/plinth/modules/firewall/__init__.py @@ -4,8 +4,8 @@ import contextlib import logging -from django.utils.translation import gettext from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth import app as app_module from plinth import cfg, menu @@ -268,7 +268,7 @@ def remove_passthrough(ipv, *args): def _diagnose_default_zone(config): """Diagnose whether the default zone is external.""" check_id = 'firewall-default-zone' - description = gettext('Default zone is external') + description = gettext_noop('Default zone is external') result = Result.PASSED if config[ 'default_zone'] == 'external' else Result.FAILED return DiagnosticCheck(check_id, description, result) @@ -277,7 +277,7 @@ def _diagnose_default_zone(config): def _diagnose_firewall_backend(config): """Diagnose whether the firewall backend is nftables.""" check_id = 'firewall-backend' - description = gettext('Firewall backend is nftables') + description = gettext_noop('Firewall backend is nftables') result = Result.PASSED if config['backend'] == 'nftables' \ else Result.FAILED return DiagnosticCheck(check_id, description, result) @@ -290,7 +290,7 @@ def _diagnose_direct_passthroughs(config): which are the number that are added by firewall's setup. """ check_id = 'firewall-direct-passthroughs' - description = gettext('Direct passthrough rules exist') + description = gettext_noop('Direct passthrough rules exist') result = Result.PASSED if len( config['passthroughs']) >= 12 else Result.FAILED return DiagnosticCheck(check_id, description, result) diff --git a/plinth/modules/firewall/components.py b/plinth/modules/firewall/components.py index fe8744ed4..666292c18 100644 --- a/plinth/modules/firewall/components.py +++ b/plinth/modules/firewall/components.py @@ -7,8 +7,7 @@ import logging import re from typing import ClassVar -from django.utils.text import format_lazy -from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth import app from plinth.modules import firewall @@ -133,29 +132,30 @@ class Firewall(app.FollowerComponent): # Internal zone check_id = f'firewall-port-internal-{port}' result = Result.PASSED if port in internal_ports else Result.FAILED - template = _( + description = gettext_noop( 'Port {name} ({details}) available for internal networks') - description = format_lazy(template, name=port, details=details) - results.append(DiagnosticCheck(check_id, description, result)) + parameters = {'name': port, 'details': details} + results.append( + DiagnosticCheck(check_id, description, result, parameters)) # External zone if self.is_external: check_id = f'firewall-port-external-available-{port}' result = Result.PASSED \ if port in external_ports else Result.FAILED - template = _( + description = gettext_noop( 'Port {name} ({details}) available for external networks') - description = format_lazy(template, name=port, details=details) else: check_id = f'firewall-port-external-unavailable-{port}' result = Result.PASSED \ if port not in external_ports else Result.FAILED - template = _( + description = gettext_noop( 'Port {name} ({details}) unavailable for external networks' ) - description = format_lazy(template, name=port, details=details) - results.append(DiagnosticCheck(check_id, description, result)) + parameters = {'name': port, 'details': details} + results.append( + DiagnosticCheck(check_id, description, result, parameters)) return results diff --git a/plinth/modules/firewall/tests/test_components.py b/plinth/modules/firewall/tests/test_components.py index 61c0d3df9..e4a53f303 100644 --- a/plinth/modules/firewall/tests/test_components.py +++ b/plinth/modules/firewall/tests/test_components.py @@ -157,20 +157,32 @@ def test_diagnose(get_enabled_services, get_port_details): assert results == [ DiagnosticCheck( 'firewall-port-internal-test-port1', - 'Port test-port1 (1234/tcp, 1234/udp) available for internal ' - 'networks', Result.PASSED), + 'Port {name} ({details}) available for internal ' + 'networks', Result.PASSED, { + 'name': 'test-port1', + 'details': '1234/tcp, 1234/udp' + }), DiagnosticCheck( 'firewall-port-external-unavailable-test-port1', - 'Port test-port1 (1234/tcp, 1234/udp) unavailable for external ' - 'networks', Result.PASSED), + 'Port {name} ({details}) unavailable for external ' + 'networks', Result.PASSED, { + 'name': 'test-port1', + 'details': '1234/tcp, 1234/udp' + }), DiagnosticCheck( 'firewall-port-internal-test-port2', - 'Port test-port2 (2345/udp) available for internal networks', - Result.FAILED), + 'Port {name} ({details}) available for internal networks', + Result.FAILED, { + 'name': 'test-port2', + 'details': '2345/udp' + }), DiagnosticCheck( 'firewall-port-external-unavailable-test-port2', - 'Port test-port2 (2345/udp) unavailable for external networks', - Result.FAILED), + 'Port {name} ({details}) unavailable for external networks', + Result.FAILED, { + 'name': 'test-port2', + 'details': '2345/udp' + }), ] firewall = Firewall('test-firewall-1', ports=['test-port3', 'test-port4'], @@ -179,20 +191,32 @@ def test_diagnose(get_enabled_services, get_port_details): assert results == [ DiagnosticCheck( 'firewall-port-internal-test-port3', - 'Port test-port3 (3456/tcp) available for internal networks', - Result.PASSED), + 'Port {name} ({details}) available for internal networks', + Result.PASSED, { + 'name': 'test-port3', + 'details': '3456/tcp' + }), DiagnosticCheck( 'firewall-port-external-available-test-port3', - 'Port test-port3 (3456/tcp) available for external networks', - Result.PASSED), + 'Port {name} ({details}) available for external networks', + Result.PASSED, { + 'name': 'test-port3', + 'details': '3456/tcp' + }), DiagnosticCheck( 'firewall-port-internal-test-port4', - 'Port test-port4 (4567/udp) available for internal networks', - Result.FAILED), + 'Port {name} ({details}) available for internal networks', + Result.FAILED, { + 'name': 'test-port4', + 'details': '4567/udp' + }), DiagnosticCheck( 'firewall-port-external-available-test-port4', - 'Port test-port4 (4567/udp) available for external networks', - Result.FAILED), + 'Port {name} ({details}) available for external networks', + Result.FAILED, { + 'name': 'test-port4', + 'details': '4567/udp' + }), ] diff --git a/plinth/modules/letsencrypt/__init__.py b/plinth/modules/letsencrypt/__init__.py index d3eef5a3b..7098690a5 100644 --- a/plinth/modules/letsencrypt/__init__.py +++ b/plinth/modules/letsencrypt/__init__.py @@ -6,6 +6,7 @@ import logging import pathlib from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth import app as app_module from plinth import cfg, menu @@ -13,6 +14,7 @@ from plinth.config import DropinConfigs from plinth.modules import names from plinth.modules.apache.components import diagnose_url from plinth.modules.backups.components import BackupRestore +from plinth.modules.diagnostics.check import DiagnosticCheck, Result from plinth.modules.names.components import DomainType from plinth.package import Packages from plinth.signals import domain_added, domain_removed, post_app_loading @@ -97,7 +99,10 @@ class LetsEncryptApp(app_module.App): if not results: results.append( - (_('Cannot test: No domains are configured.'), 'warning')) + DiagnosticCheck( + 'letsencrypt-cannot-test', + gettext_noop('Cannot test: No domains are configured.'), + Result.WARNING)) return results diff --git a/plinth/modules/privoxy/__init__.py b/plinth/modules/privoxy/__init__.py index 6366b6a72..364b11e52 100644 --- a/plinth/modules/privoxy/__init__.py +++ b/plinth/modules/privoxy/__init__.py @@ -5,6 +5,7 @@ FreedomBox app to configure Privoxy. from django.urls import reverse_lazy from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth import action_utils from plinth import app as app_module @@ -112,9 +113,9 @@ def diagnose_url_with_proxy(): result = diagnose_url(url, kind=address['kind'], env=env) result.check_id = f'privoxy-url-proxy-kind-{url}-{address["kind"]}' - result.description = _( - 'Access {url} with proxy {proxy} on tcp{kind}') \ - .format(url=url, proxy=proxy, kind=address['kind']) + result.description = gettext_noop( + 'Access {url} with proxy {proxy} on tcp{kind}') + result.parameters['proxy'] = proxy results.append(result) return results diff --git a/plinth/modules/tor/__init__.py b/plinth/modules/tor/__init__.py index bc1166efa..dfc8c48de 100644 --- a/plinth/modules/tor/__init__.py +++ b/plinth/modules/tor/__init__.py @@ -5,6 +5,7 @@ import json import logging from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth import action_utils from plinth import app as app_module @@ -134,7 +135,7 @@ class TorApp(app_module.App): if status['relay_enabled']: results.append( DiagnosticCheck( - 'tor-port-relay', _('Tor relay port available'), + 'tor-port-relay', gettext_noop('Tor relay port available'), Result.PASSED if 'orport' in ports else Result.FAILED)) if 'orport' in ports: results.append( @@ -145,7 +146,8 @@ class TorApp(app_module.App): if status['bridge_relay_enabled']: results.append( DiagnosticCheck( - 'tor-port-obfs3', _('Obfs3 transport registered'), + 'tor-port-obfs3', + gettext_noop('Obfs3 transport registered'), Result.PASSED if 'obfs3' in ports else Result.FAILED)) if 'obfs3' in ports: results.append( @@ -155,7 +157,8 @@ class TorApp(app_module.App): results.append( DiagnosticCheck( - 'tor-port-obfs4', _('Obfs4 transport registered'), + 'tor-port-obfs4', + gettext_noop('Obfs4 transport registered'), Result.PASSED if 'obfs4' in ports else Result.FAILED)) if 'obfs4' in ports: results.append( @@ -167,8 +170,8 @@ class TorApp(app_module.App): hs_hostname = status['hs_hostname'].split('.onion')[0] results.append( DiagnosticCheck( - 'tor-onion-version', _('Onion service is version 3'), - Result.PASSED + 'tor-onion-version', + gettext_noop('Onion service is version 3'), Result.PASSED if len(hs_hostname) == 56 else Result.FAILED)) return results diff --git a/plinth/modules/torproxy/__init__.py b/plinth/modules/torproxy/__init__.py index 4893fbc2b..6e805bb7e 100644 --- a/plinth/modules/torproxy/__init__.py +++ b/plinth/modules/torproxy/__init__.py @@ -6,6 +6,7 @@ import logging from django.urls import reverse_lazy from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth import app as app_module from plinth import cfg, frontpage, kvstore, menu @@ -136,8 +137,7 @@ def _diagnose_url_via_tor(url, kind=None): """Diagnose whether a URL is reachable via Tor.""" result = diagnose_url(url, kind=kind, wrapper='torsocks') result.check_id = 'torproxy-url' - result.description = _('Access URL {url} on tcp{kind} via Tor') \ - .format(url=url, kind=kind) + result.description = gettext_noop('Access URL {url} on tcp{kind} via Tor') return result @@ -148,7 +148,7 @@ def _diagnose_tor_use(url, kind=None): result = diagnose_url(url, kind=kind, wrapper='torsocks', expected_output=expected_output) result.check_id = 'torproxy-using-tor' - result.description = _('Confirm Tor usage at {url} on tcp{kind}') \ - .format(url=url, kind=kind) + result.description = gettext_noop( + 'Confirm Tor usage at {url} on tcp{kind}') return result diff --git a/plinth/modules/users/__init__.py b/plinth/modules/users/__init__.py index 3eb21e0b2..b97bf28a0 100644 --- a/plinth/modules/users/__init__.py +++ b/plinth/modules/users/__init__.py @@ -7,6 +7,7 @@ import subprocess import augeas from django.utils.text import format_lazy from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_noop from plinth import app as app_module from plinth import cfg, menu @@ -123,10 +124,10 @@ def _diagnose_ldap_entry(search_item): except subprocess.CalledProcessError: pass - template = _('Check LDAP entry "{search_item}"') - description = format_lazy(template, search_item=search_item) + description = gettext_noop('Check LDAP entry "{search_item}"') + parameters = {'search_item': search_item} - return DiagnosticCheck(check_id, description, result) + return DiagnosticCheck(check_id, description, result, parameters) def _diagnose_nslcd_config(config, key, value): @@ -137,10 +138,10 @@ def _diagnose_nslcd_config(config, key, value): except KeyError: result = Result.FAILED - template = _('Check nslcd config "{key} {value}"') - description = format_lazy(template, key=key, value=value) + description = gettext_noop('Check nslcd config "{key} {value}"') + parameters = {'key': key, 'value': value} - return DiagnosticCheck(check_id, description, result) + return DiagnosticCheck(check_id, description, result, parameters) def _diagnose_nsswitch_config(): @@ -167,10 +168,11 @@ def _diagnose_nsswitch_config(): break - template = _('Check nsswitch config "{database}"') - description = format_lazy(template, database=database) + description = gettext_noop('Check nsswitch config "{database}"') + parameters = {'database': database} - results.append(DiagnosticCheck(check_id, description, result)) + results.append( + DiagnosticCheck(check_id, description, result, parameters)) return results diff --git a/plinth/modules/zoph/__init__.py b/plinth/modules/zoph/__init__.py index 2dd82f7d7..85aec2b00 100644 --- a/plinth/modules/zoph/__init__.py +++ b/plinth/modules/zoph/__init__.py @@ -7,6 +7,7 @@ from django.utils.translation import gettext_lazy as _ from plinth import app as app_module from plinth import cfg, frontpage, menu +from plinth.config import DropinConfigs from plinth.modules.apache.components import Webserver from plinth.modules.backups.components import BackupRestore from plinth.modules.firewall.components import Firewall @@ -42,7 +43,7 @@ class ZophApp(app_module.App): app_id = 'zoph' - _version = 1 + _version = 2 def __init__(self): """Create components for the app.""" @@ -76,10 +77,18 @@ class ZophApp(app_module.App): ports=['http', 'https'], is_external=True) self.add(firewall) + dropin_configs = DropinConfigs('dropin-configs-zoph', [ + '/etc/apache2/conf-available/zoph-freedombox.conf', + ]) + self.add(dropin_configs) + webserver = Webserver('webserver-zoph', 'zoph', urls=['https://{host}/zoph/']) self.add(webserver) + webserver = Webserver('webserver-zoph-freedombox', 'zoph-freedombox') + self.add(webserver) + backup_restore = ZophBackupRestore('backup-restore-zoph', **manifest.backup) self.add(backup_restore) @@ -91,6 +100,9 @@ class ZophApp(app_module.App): privileged.setup() if not old_version: self.enable() + elif old_version < 2: + if self.get_component('webserver-zoph').is_enabled(): + self.enable() class ZophBackupRestore(BackupRestore): diff --git a/plinth/modules/zoph/data/usr/share/freedombox/etc/apache2/conf-available/zoph-freedombox.conf b/plinth/modules/zoph/data/usr/share/freedombox/etc/apache2/conf-available/zoph-freedombox.conf new file mode 100644 index 000000000..25cf0f72c --- /dev/null +++ b/plinth/modules/zoph/data/usr/share/freedombox/etc/apache2/conf-available/zoph-freedombox.conf @@ -0,0 +1,5 @@ + + + ProxyFCGISetEnvIf true PHP_VALUE "max_execution_time = 100 \n upload_max_filesize = 16M \n post_max_size = 16M" + + diff --git a/plinth/notification.py b/plinth/notification.py index fb63ab89c..07aee714c 100644 --- a/plinth/notification.py +++ b/plinth/notification.py @@ -3,7 +3,6 @@ import copy import logging -import string from django.core.exceptions import ValidationError from django.db.models import Q @@ -12,6 +11,7 @@ from django.template.response import SimpleTemplateResponse from django.utils.translation import gettext from plinth import cfg +from plinth.utils import SafeFormatter from . import db, models @@ -370,14 +370,3 @@ class Notification(models.StoredNotification): notes.append(note_context) return {'notifications': notes, 'max_severity': max_severity} - - -class SafeFormatter(string.Formatter): - """A string.format() handler to deal with missing arguments.""" - - def get_value(self, key, args, kwargs): - """Retrieve a given field value.""" - try: - return super().get_value(key, args, kwargs) - except (IndexError, KeyError): - return f'?{key}?' diff --git a/plinth/package.py b/plinth/package.py index 2919328f3..5de556c60 100644 --- a/plinth/package.py +++ b/plinth/package.py @@ -8,7 +8,7 @@ import time import apt.cache from django.utils.translation import gettext as _ -from django.utils.translation import gettext_lazy +from django.utils.translation import gettext_lazy, gettext_noop import plinth.privileged.packages as privileged from plinth import app as app_module @@ -211,11 +211,12 @@ class Packages(app_module.FollowerComponent): package_name = package_expression.actual() except MissingPackageError: check_id = f'package-available-{package_expression}' - description = _( - 'Package {expression} is not available for ' - 'install').format(expression=package_expression) + description = gettext_noop('Package {package_expression} is ' + 'not available for install') + parameters = {'package_expression': str(package_expression)} results.append( - DiagnosticCheck(check_id, description, Result.FAILED)) + DiagnosticCheck(check_id, description, Result.FAILED, + parameters)) continue result = Result.WARNING @@ -227,11 +228,14 @@ class Packages(app_module.FollowerComponent): result = Result.PASSED check_id = f'package-latest-{package_name}' - description = _('Package {package_name} is the latest version ' - '({latest_version})').format( - package_name=package_name, - latest_version=latest_version) - results.append(DiagnosticCheck(check_id, description, result)) + description = gettext_noop('Package {package_name} is the latest ' + 'version ({latest_version})') + parameters = { + 'package_name': package_name, + 'latest_version': latest_version, + } + results.append( + DiagnosticCheck(check_id, description, result, parameters)) return results diff --git a/plinth/tests/test_config.py b/plinth/tests/test_config.py index c48a0eeb6..08376d358 100644 --- a/plinth/tests/test_config.py +++ b/plinth/tests/test_config.py @@ -164,12 +164,12 @@ def test_dropin_config_diagnose_symlinks(dropin_configs, tmp_path): assert results == [ DiagnosticCheck( f'dropin-config-{tmp_path}/etc/test/path1', - f'Static configuration {tmp_path}/etc/test/path1 is setup ' - 'properly', Result.FAILED), + 'Static configuration {etc_path} is setup properly', + Result.FAILED, {'etc_path': f'{tmp_path}/etc/test/path1'}), DiagnosticCheck( f'dropin-config-{tmp_path}/etc/path2', - f'Static configuration {tmp_path}/etc/path2 is setup properly', - Result.FAILED), + 'Static configuration {etc_path} is setup properly', + Result.FAILED, {'etc_path': f'{tmp_path}/etc/path2'}), ] # Proper symlinks exist diff --git a/plinth/tests/test_daemon.py b/plinth/tests/test_daemon.py index 7f84ee3d0..fd745e8ca 100644 --- a/plinth/tests/test_daemon.py +++ b/plinth/tests/test_daemon.py @@ -151,7 +151,8 @@ def test_diagnose(port_listening, service_is_running, daemon): results = daemon.diagnose() assert results == [ DiagnosticCheck('daemon-running-test-unit', - 'Service test-unit is running', Result.PASSED), + 'Service {service_name} is running', Result.PASSED, + {'service_name': 'test-unit'}), DiagnosticCheck('test-result-8273-tcp4', 'test-result-8273-tcp4', Result.PASSED), DiagnosticCheck('test-result-345-udp', 'test-result-345-udp', @@ -215,22 +216,36 @@ def test_diagnose_port_listening(connections): # Check that message is correct results = diagnose_port_listening(1234) assert results == DiagnosticCheck('daemon-listening-tcp-1234', - 'Listening on tcp port 1234', - Result.PASSED) + 'Listening on {kind} port {port}', + Result.PASSED, { + 'kind': 'tcp', + 'port': 1234 + }) results = diagnose_port_listening(1234, 'tcp', '0.0.0.0') assert results == DiagnosticCheck( 'daemon-listening-address-tcp-1234-0.0.0.0', - 'Listening on tcp port 0.0.0.0:1234', Result.PASSED) + 'Listening on {kind} port {listen_address}:{port}', Result.PASSED, { + 'kind': 'tcp', + 'port': 1234, + 'listen_address': '0.0.0.0' + }) # Failed results results = diagnose_port_listening(4321) assert results == DiagnosticCheck('daemon-listening-tcp-4321', - 'Listening on tcp port 4321', - Result.FAILED) + 'Listening on {kind} port {port}', + Result.FAILED, { + 'kind': 'tcp', + 'port': 4321 + }) results = diagnose_port_listening(4321, 'tcp', '0.0.0.0') assert results == DiagnosticCheck( 'daemon-listening-address-tcp-4321-0.0.0.0', - 'Listening on tcp port 0.0.0.0:4321', Result.FAILED) + 'Listening on {kind} port {listen_address}:{port}', Result.FAILED, { + 'kind': 'tcp', + 'port': 4321, + 'listen_address': '0.0.0.0' + }) # Check if psutil call is being made with right argument results = diagnose_port_listening(1234, 'tcp') @@ -278,29 +293,32 @@ def test_diagnose_netcat(popen): """Test running diagnostic test using netcat.""" popen().returncode = 0 result = diagnose_netcat('test-host', 3300, input='test-input') + parameters = {'host': 'test-host', 'port': 3300, 'negate': False} assert result == DiagnosticCheck('daemon-netcat-test-host-3300', 'Connect to test-host:3300', - Result.PASSED) + Result.PASSED, parameters) assert popen.mock_calls[1][1] == (['nc', 'test-host', '3300'], ) assert popen.mock_calls[2] == call().communicate(input=b'test-input') result = diagnose_netcat('test-host', 3300, input='test-input', negate=True) + parameters2 = parameters.copy() + parameters2['negate'] = True assert result == DiagnosticCheck('daemon-netcat-negate-test-host-3300', 'Cannot connect to test-host:3300', - Result.FAILED) + Result.FAILED, parameters2) popen().returncode = 1 result = diagnose_netcat('test-host', 3300, input='test-input') assert result == DiagnosticCheck('daemon-netcat-test-host-3300', 'Connect to test-host:3300', - Result.FAILED) + Result.FAILED, parameters) result = diagnose_netcat('test-host', 3300, input='test-input', negate=True) assert result == DiagnosticCheck('daemon-netcat-negate-test-host-3300', 'Cannot connect to test-host:3300', - Result.PASSED) + Result.PASSED, parameters2) def test_related_daemon_initialization(): diff --git a/plinth/tests/test_notification.py b/plinth/tests/test_notification.py index 822ec25a3..6af90bc7f 100644 --- a/plinth/tests/test_notification.py +++ b/plinth/tests/test_notification.py @@ -10,7 +10,7 @@ import pytest from django.contrib.auth.models import Group, User from django.core.exceptions import ValidationError -from plinth.notification import Notification, SafeFormatter +from plinth.notification import Notification pytestmark = pytest.mark.django_db @@ -413,15 +413,3 @@ def test_display_context_body_template(note, user, load_cfg, rf): context_note = context['notifications'][0] assert context_note['body'].content == \ b'Test notification body /plinth/help/about/\n' - - -@pytest.mark.parametrize('input_, output', ( - (('', [], {}), ''), - (('{} {}', [10, 20], {}), '10 20'), - (('{1} {0} {key1}', [10, 20], dict(key1='value1')), '20 10 value1'), - (('{2} {1} {key1}', [10, 20], {}), '?2? 20 ?key1?'), -)) -def test_safe_string_formatter(input_, output): - """Test the safe string formatter.""" - formatter = SafeFormatter() - assert output == formatter.vformat(*input_) diff --git a/plinth/tests/test_package.py b/plinth/tests/test_package.py index 633fbb450..76ec16f44 100644 --- a/plinth/tests/test_package.py +++ b/plinth/tests/test_package.py @@ -240,22 +240,35 @@ def test_diagnose(cache): ]) results = component.diagnose() assert results == [ - DiagnosticCheck('package-available-package1', - 'Package package1 is not available for install', - Result.FAILED), - DiagnosticCheck('package-latest-package2', - 'Package package2 is the latest version (2.0)', - Result.PASSED), - DiagnosticCheck('package-latest-package3', - 'Package package3 is the latest version (3.0)', - Result.WARNING), + DiagnosticCheck( + 'package-available-package1', + 'Package {package_expression} is not available for install', + Result.FAILED, {'package_expression': 'package1'}), + DiagnosticCheck( + 'package-latest-package2', + 'Package {package_name} is the latest version ({latest_version})', + Result.PASSED, { + 'package_name': 'package2', + 'latest_version': '2.0' + }), + DiagnosticCheck( + 'package-latest-package3', + 'Package {package_name} is the latest version ({latest_version})', + Result.WARNING, { + 'package_name': 'package3', + 'latest_version': '3.0' + }), DiagnosticCheck( 'package-available-package4 | package5', - 'Package package4 | package5 is not available for install', - Result.FAILED), - DiagnosticCheck('package-latest-package7', - 'Package package7 is the latest version (4.0)', - Result.PASSED), + 'Package {package_expression} is not available for install', + Result.FAILED, {'package_expression': 'package4 | package5'}), + DiagnosticCheck( + 'package-latest-package7', + 'Package {package_name} is the latest version ({latest_version})', + Result.PASSED, { + 'package_name': 'package7', + 'latest_version': '4.0' + }), ] diff --git a/plinth/tests/test_utils.py b/plinth/tests/test_utils.py index c9e220433..0ad26c3b7 100644 --- a/plinth/tests/test_utils.py +++ b/plinth/tests/test_utils.py @@ -11,7 +11,8 @@ import ruamel.yaml from django.test.client import RequestFactory from ruamel.yaml.compat import StringIO -from plinth.utils import YAMLFile, is_user_admin, is_valid_user_name +from plinth.utils import (SafeFormatter, YAMLFile, is_user_admin, + is_valid_user_name) def test_is_valid_user_name(): @@ -139,3 +140,17 @@ class TestYAMLFileUtil: raise ValueError('Test') assert open(test_file.name, 'r', encoding='utf-8').read() == '' + + +@pytest.mark.parametrize('input_, output', ( + (('', [], {}), ''), + (('{} {}', [10, 20], {}), '10 20'), + (('{1} {0} {key1}', [10, 20], { + 'key1': 'value1' + }), '20 10 value1'), + (('{2} {1} {key1}', [10, 20], {}), '?2? 20 ?key1?'), +)) +def test_safe_string_formatter(input_, output): + """Test the safe string formatter.""" + formatter = SafeFormatter() + assert output == formatter.vformat(*input_) diff --git a/plinth/utils.py b/plinth/utils.py index d7804766e..239da8b37 100644 --- a/plinth/utils.py +++ b/plinth/utils.py @@ -174,3 +174,14 @@ def is_authenticated_user(username, password): import pam # Minimize dependencies for running tests pam_authenticator = pam.pam() return bool(pam_authenticator.authenticate(username, password)) + + +class SafeFormatter(string.Formatter): + """A string.format() handler to deal with missing arguments.""" + + def get_value(self, key, args, kwargs): + """Retrieve a given field value.""" + try: + return super().get_value(key, args, kwargs) + except (IndexError, KeyError): + return f'?{key}?'